| Index: test/NaCl/Bitcode/forward-ref-pointer-intrinsic.ll
|
| diff --git a/test/NaCl/Bitcode/forward-ref-pointer-intrinsic.ll b/test/NaCl/Bitcode/forward-ref-pointer-intrinsic.ll
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..ccb88ecd82a450e8fd10994ef3d76f686528b6a3
|
| --- /dev/null
|
| +++ b/test/NaCl/Bitcode/forward-ref-pointer-intrinsic.ll
|
| @@ -0,0 +1,32 @@
|
| +; Test forward reference of a pointer-typed intrinsic result.
|
| +
|
| +; RUN: llvm-as < %s | pnacl-freeze -allow-local-symbol-tables \
|
| +; RUN: | pnacl-thaw -allow-local-symbol-tables \
|
| +; RUN: | llvm-dis - | FileCheck %s -check-prefix=TD2
|
| +
|
| +declare i8* @llvm.nacl.read.tp()
|
| +
|
| +define i32 @forward_ref() {
|
| + br label %block1
|
| +
|
| +block2:
|
| + %1 = load i8* %3
|
| + %2 = ptrtoint i8* %3 to i32
|
| + ret i32 %2
|
| +
|
| +block1:
|
| + %3 = call i8* @llvm.nacl.read.tp()
|
| + br label %block2
|
| +}
|
| +
|
| +; TD2: define i32 @forward_ref() {
|
| +; TD2-NEXT: br label %block1
|
| +; TD2: block2:
|
| +; TD2-NEXT: %1 = inttoptr i32 %4 to i8*
|
| +; TD2-NEXT: %2 = load i8* %1
|
| +; TD2-NEXT: ret i32 %4
|
| +; TD2: block1:
|
| +; TD2-NEXT: %3 = call i8* @llvm.nacl.read.tp()
|
| +; TD2-NEXT: %4 = ptrtoint i8* %3 to i32
|
| +; TD2-NEXT: br label %block2
|
| +; TD2-NEXT: }
|
|
|