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         | 

