OLD | NEW |
(Empty) | |
| 1 ; Test forward reference of a pointer-typed intrinsic result. |
| 2 |
| 3 ; RUN: llvm-as < %s | pnacl-freeze -allow-local-symbol-tables \ |
| 4 ; RUN: | pnacl-thaw -allow-local-symbol-tables \ |
| 5 ; RUN: | llvm-dis - | FileCheck %s -check-prefix=TD2 |
| 6 |
| 7 declare i8* @llvm.nacl.read.tp() |
| 8 |
| 9 define i32 @forward_ref() { |
| 10 br label %block1 |
| 11 |
| 12 block2: |
| 13 %1 = load i8* %3 |
| 14 %2 = ptrtoint i8* %3 to i32 |
| 15 ret i32 %2 |
| 16 |
| 17 block1: |
| 18 %3 = call i8* @llvm.nacl.read.tp() |
| 19 br label %block2 |
| 20 } |
| 21 |
| 22 ; TD2: define i32 @forward_ref() { |
| 23 ; TD2-NEXT: br label %block1 |
| 24 ; TD2: block2: |
| 25 ; TD2-NEXT: %1 = inttoptr i32 %4 to i8* |
| 26 ; TD2-NEXT: %2 = load i8* %1 |
| 27 ; TD2-NEXT: ret i32 %4 |
| 28 ; TD2: block1: |
| 29 ; TD2-NEXT: %3 = call i8* @llvm.nacl.read.tp() |
| 30 ; TD2-NEXT: %4 = ptrtoint i8* %3 to i32 |
| 31 ; TD2-NEXT: br label %block2 |
| 32 ; TD2-NEXT: } |
OLD | NEW |