diff options
Diffstat (limited to 'test/CodeGen/X86/test-pic-4.ll')
-rw-r--r-- | test/CodeGen/X86/test-pic-4.ll | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/test/CodeGen/X86/test-pic-4.ll b/test/CodeGen/X86/test-pic-4.ll new file mode 100644 index 0000000..13abb2e --- /dev/null +++ b/test/CodeGen/X86/test-pic-4.ll @@ -0,0 +1,21 @@ +; RUN: llvm-as < %s | llc -mtriple=i686-pc-linux-gnu -relocation-model=pic && +; RUN: llvm-as < %s | llc -mtriple=i686-pc-linux-gnu -relocation-model=pic | grep _GLOBAL_OFFSET_TABLE_ && +; RUN: llvm-as < %s | llc -mtriple=i686-pc-linux-gnu -relocation-model=pic | grep piclabel | wc -l | grep 3 && +; RUN: llvm-as < %s | llc -mtriple=i686-pc-linux-gnu -relocation-model=pic | grep PLT | wc -l | grep 1 && +; RUN: llvm-as < %s | llc -mtriple=i686-pc-linux-gnu -relocation-model=pic | grep "GOT" | wc -l | grep 1 && +; RUN: llvm-as < %s | llc -mtriple=i686-pc-linux-gnu -relocation-model=pic | grep "GOTOFF" | wc -l | grep 0 + +%pfoo = external global void(...)* + +define void %bar() { +entry: + %tmp = call void(...)*(...)* %afoo() + store void(...)* %tmp, void(...)** %pfoo + %tmp1 = load void(...)** %pfoo + call void(...)* %tmp1() + br label %return +return: + ret void +} + +declare void(...)* %afoo(...) |