mirror of
https://github.com/RPCSX/llvm.git
synced 2025-01-09 05:31:19 +00:00
7b70b8ae64
Because screen space is precious, if an optimization (vectorization, for example) never happens, don't leave empty space for the associated markers on every line of the output. This makes the output much more compact, and allows for the later inclusion of markers for more (although perhaps rare) optimizations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@283626 91177308-0d34-0410-b5e6-96231b3b80d8
40 lines
1.9 KiB
Plaintext
40 lines
1.9 KiB
Plaintext
RUN: llvm-opt-report -r %p %p/Inputs/sr2.yaml | FileCheck -strict-whitespace %s
|
|
|
|
; CHECK: < {{.*[/\]}}sr2.c
|
|
; CHECK-NEXT: 1 | /*
|
|
; CHECK-NEXT: 2 | ** Write a 64-bit variable-length integer to memory starting at p[0].
|
|
; CHECK-NEXT: 3 | ** The length of data write will be between 1 and 9 bytes. The number
|
|
; CHECK-NEXT: 4 | ** of bytes written is returned.
|
|
; CHECK-NEXT: 5 | **
|
|
; CHECK-NEXT: 6 | ** A variable-length integer consists of the lower 7 bits of each byte
|
|
; CHECK-NEXT: 7 | ** for all bytes that have the 8th bit set and one byte with the 8th
|
|
; CHECK-NEXT: 8 | ** bit clear. Except, if we get to the 9th byte, it stores the full
|
|
; CHECK-NEXT: 9 | ** 8 bits and is the last byte.
|
|
; CHECK-NEXT: 10 | */
|
|
; CHECK-NEXT: 11 | SQLITE_PRIVATE int sqlite3PutVarint(unsigned char *p, u64 v){
|
|
; CHECK-NEXT: 12 | int i, j, n;
|
|
; CHECK-NEXT: 13 | u8 buf[10];
|
|
; CHECK-NEXT: 14 | if( v & (((u64)0xff000000)<<32) ){
|
|
; CHECK-NEXT: 15 | p[8] = v;
|
|
; CHECK-NEXT: 16 | v >>= 8;
|
|
; CHECK-NEXT: 17 | for(i=7; i>=0; i--){
|
|
; CHECK-NEXT: 18 | p[i] = (v & 0x7f) | 0x80;
|
|
; CHECK-NEXT: 19 | v >>= 7;
|
|
; CHECK-NEXT: 20 | }
|
|
; CHECK-NEXT: 21 | return 9;
|
|
; CHECK-NEXT: 22 | }
|
|
; CHECK-NEXT: 23 | n = 0;
|
|
; CHECK-NEXT: 24 | do{
|
|
; CHECK-NEXT: 25 | buf[n++] = (v & 0x7f) | 0x80;
|
|
; CHECK-NEXT: 26 | v >>= 7;
|
|
; CHECK-NEXT: 27 | }while( v!=0 );
|
|
; CHECK-NEXT: 28 | buf[0] &= 0x7f;
|
|
; CHECK-NEXT: 29 | assert( n<=9 );
|
|
; CHECK-NEXT: 30 U2V16,2 | for(i=0, j=n-1; j>=0; j--, i++){
|
|
; CHECK-NEXT: 31 | p[i] = buf[j];
|
|
; CHECK-NEXT: 32 | }
|
|
; CHECK-NEXT: 33 | return n;
|
|
; CHECK-NEXT: 34 | }
|
|
; CHECK-NEXT: 35 |
|
|
|