diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2008-06-09 09:52:31 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2008-06-09 09:52:31 +0000 |
commit | e0ac18d8d51c038d250c6009f5fadb6672204a72 (patch) | |
tree | ed8d9768127a9fa4c9c232bda3b3ad5eb180c56e /test/CodeGen | |
parent | a365b9b4b6eba5d40876e35aa2850c7f9d71d8fe (diff) | |
download | external_llvm-e0ac18d8d51c038d250c6009f5fadb6672204a72.zip external_llvm-e0ac18d8d51c038d250c6009f5fadb6672204a72.tar.gz external_llvm-e0ac18d8d51c038d250c6009f5fadb6672204a72.tar.bz2 |
add support for PIC on linux x86-64
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52139 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen')
-rw-r--r-- | test/CodeGen/X86/x86-64-pic-1.ll | 11 | ||||
-rw-r--r-- | test/CodeGen/X86/x86-64-pic-10.ll | 13 | ||||
-rw-r--r-- | test/CodeGen/X86/x86-64-pic-11.ll | 9 | ||||
-rw-r--r-- | test/CodeGen/X86/x86-64-pic-2.ll | 12 | ||||
-rw-r--r-- | test/CodeGen/X86/x86-64-pic-3.ll | 15 | ||||
-rw-r--r-- | test/CodeGen/X86/x86-64-pic-4.ll | 11 | ||||
-rw-r--r-- | test/CodeGen/X86/x86-64-pic-5.ll | 12 | ||||
-rw-r--r-- | test/CodeGen/X86/x86-64-pic-6.ll | 12 | ||||
-rw-r--r-- | test/CodeGen/X86/x86-64-pic-7.ll | 10 | ||||
-rw-r--r-- | test/CodeGen/X86/x86-64-pic-8.ll | 11 | ||||
-rw-r--r-- | test/CodeGen/X86/x86-64-pic-9.ll | 14 |
11 files changed, 130 insertions, 0 deletions
diff --git a/test/CodeGen/X86/x86-64-pic-1.ll b/test/CodeGen/X86/x86-64-pic-1.ll new file mode 100644 index 0000000..f5303c6 --- /dev/null +++ b/test/CodeGen/X86/x86-64-pic-1.ll @@ -0,0 +1,11 @@ +; RUN: llvm-as < %s | \ +; RUN: llc -mtriple=x86_64-pc-linux -relocation-model=pic -o %t1 -f +; RUN: grep {call f@PLT} %t1 + +define void @g() { +entry: + call void @f( ) + ret void +} + +declare void @f() diff --git a/test/CodeGen/X86/x86-64-pic-10.ll b/test/CodeGen/X86/x86-64-pic-10.ll new file mode 100644 index 0000000..bc0d0c0 --- /dev/null +++ b/test/CodeGen/X86/x86-64-pic-10.ll @@ -0,0 +1,13 @@ +; RUN: llvm-as < %s | \ +; RUN: llc -mtriple=x86_64-pc-linux -relocation-model=pic -o %t1 -f +; RUN: grep {call g@PLT} %t1 + +@g = alias weak i32 ()* @f + +define void @g() { +entry: + %tmp31 = call i32 @g() + ret void +} + +declare extern_weak i32 @f() diff --git a/test/CodeGen/X86/x86-64-pic-11.ll b/test/CodeGen/X86/x86-64-pic-11.ll new file mode 100644 index 0000000..f7e0def --- /dev/null +++ b/test/CodeGen/X86/x86-64-pic-11.ll @@ -0,0 +1,9 @@ +; RUN: llvm-as < %s | \ +; RUN: llc -mtriple=x86_64-pc-linux -relocation-model=pic -o %t1 -f +; RUN: grep {call __fixunsxfti@PLT} %t1 + +define i128 @f(x86_fp80 %a) { +entry: + %tmp78 = fptoui x86_fp80 %a to i128 + ret i128 %tmp78 +} diff --git a/test/CodeGen/X86/x86-64-pic-2.ll b/test/CodeGen/X86/x86-64-pic-2.ll new file mode 100644 index 0000000..39aecba --- /dev/null +++ b/test/CodeGen/X86/x86-64-pic-2.ll @@ -0,0 +1,12 @@ +; RUN: llvm-as < %s | \ +; RUN: llc -mtriple=x86_64-pc-linux -relocation-model=pic -o %t1 -f +; RUN: grep {call f} %t1 +; RUN: not grep {call f@PLT} %t1 + +define void @g() { +entry: + call void @f( ) + ret void +} + +declare hidden void @f() diff --git a/test/CodeGen/X86/x86-64-pic-3.ll b/test/CodeGen/X86/x86-64-pic-3.ll new file mode 100644 index 0000000..0f5f4b7 --- /dev/null +++ b/test/CodeGen/X86/x86-64-pic-3.ll @@ -0,0 +1,15 @@ +; RUN: llvm-as < %s | \ +; RUN: llc -mtriple=x86_64-pc-linux -relocation-model=pic -o %t1 -f +; RUN: grep {call f} %t1 +; RUN: not grep {call f@PLT} %t1 + +define void @g() { +entry: + call void @f( ) + ret void +} + +define internal void @f() { +entry: + ret void +} diff --git a/test/CodeGen/X86/x86-64-pic-4.ll b/test/CodeGen/X86/x86-64-pic-4.ll new file mode 100644 index 0000000..f8dfa92 --- /dev/null +++ b/test/CodeGen/X86/x86-64-pic-4.ll @@ -0,0 +1,11 @@ +; RUN: llvm-as < %s | \ +; RUN: llc -mtriple=x86_64-pc-linux -relocation-model=pic -o %t1 -f +; RUN: grep {movq a@GOTPCREL(%rip),} %t1 + +@a = global i32 0 + +define i32 @get_a() { +entry: + %tmp1 = load i32* @a, align 4 + ret i32 %tmp1 +} diff --git a/test/CodeGen/X86/x86-64-pic-5.ll b/test/CodeGen/X86/x86-64-pic-5.ll new file mode 100644 index 0000000..694755d --- /dev/null +++ b/test/CodeGen/X86/x86-64-pic-5.ll @@ -0,0 +1,12 @@ +; RUN: llvm-as < %s | \ +; RUN: llc -mtriple=x86_64-pc-linux -relocation-model=pic -o %t1 -f +; RUN: grep {movl a(%rip),} %t1 +; RUN: not grep GOTPCREL %t1 + +@a = hidden global i32 0 + +define i32 @get_a() { +entry: + %tmp1 = load i32* @a, align 4 + ret i32 %tmp1 +} diff --git a/test/CodeGen/X86/x86-64-pic-6.ll b/test/CodeGen/X86/x86-64-pic-6.ll new file mode 100644 index 0000000..b8a91f1 --- /dev/null +++ b/test/CodeGen/X86/x86-64-pic-6.ll @@ -0,0 +1,12 @@ +; RUN: llvm-as < %s | \ +; RUN: llc -mtriple=x86_64-pc-linux -relocation-model=pic -o %t1 -f +; RUN: grep {movl a(%rip),} %t1 +; RUN: not grep GOTPCREL %t1 + +@a = internal global i32 0 + +define i32 @get_a() { +entry: + %tmp1 = load i32* @a, align 4 + ret i32 %tmp1 +} diff --git a/test/CodeGen/X86/x86-64-pic-7.ll b/test/CodeGen/X86/x86-64-pic-7.ll new file mode 100644 index 0000000..6339790 --- /dev/null +++ b/test/CodeGen/X86/x86-64-pic-7.ll @@ -0,0 +1,10 @@ +; RUN: llvm-as < %s | \ +; RUN: llc -mtriple=x86_64-pc-linux -relocation-model=pic -o %t1 -f +; RUN: grep {movq f@GOTPCREL(%rip),} %t1 + +define void ()* @g() { +entry: + ret void ()* @f +} + +declare void @f() diff --git a/test/CodeGen/X86/x86-64-pic-8.ll b/test/CodeGen/X86/x86-64-pic-8.ll new file mode 100644 index 0000000..369e0cf --- /dev/null +++ b/test/CodeGen/X86/x86-64-pic-8.ll @@ -0,0 +1,11 @@ +; RUN: llvm-as < %s | \ +; RUN: llc -mtriple=x86_64-pc-linux -relocation-model=pic -o %t1 -f +; RUN: grep {leaq f(%rip),} %t1 +; RUN: not grep GOTPCREL %t1 + +define void ()* @g() { +entry: + ret void ()* @f +} + +declare hidden void @f() diff --git a/test/CodeGen/X86/x86-64-pic-9.ll b/test/CodeGen/X86/x86-64-pic-9.ll new file mode 100644 index 0000000..eacfcc1 --- /dev/null +++ b/test/CodeGen/X86/x86-64-pic-9.ll @@ -0,0 +1,14 @@ +; RUN: llvm-as < %s | \ +; RUN: llc -mtriple=x86_64-pc-linux -relocation-model=pic -o %t1 -f +; RUN: grep {leaq f(%rip),} %t1 +; RUN: not grep GOTPCREL %t1 + +define void ()* @g() { +entry: + ret void ()* @f +} + +define internal void @f() { +entry: + ret void +} |