[llvm-commits] CVS: llvm/test/CodeGen/X86/test-pic-6.ll
Anton Korobeynikov
asl at math.spbu.ru
Wed Jan 17 02:33:30 PST 2007
Changes in directory llvm/test/CodeGen/X86:
test-pic-6.ll added (r1.1)
---
Log message:
* Fix one more bug in PIC codegen: extra load is needed for *all*
non-statics.
* Introduce new option to output zero-initialized data to .bss section.
This can reduce size of binaries. Enable it by default for ELF &
Cygwin/Mingw targets. Probably, Darwin should be also added.
---
Diffs of the changes: (+17 -0)
test-pic-6.ll | 17 +++++++++++++++++
1 files changed, 17 insertions(+)
Index: llvm/test/CodeGen/X86/test-pic-6.ll
diff -c /dev/null llvm/test/CodeGen/X86/test-pic-6.ll:1.1
*** /dev/null Wed Jan 17 04:33:18 2007
--- llvm/test/CodeGen/X86/test-pic-6.ll Wed Jan 17 04:33:08 2007
***************
*** 0 ****
--- 1,17 ----
+ ; 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 GOT | wc -l | grep 3
+
+ %ptr = global i32* null
+ %dst = global i32 0
+ %src = global i32 0
+
+ define void %foo() {
+ entry:
+ store i32* %dst, i32** %ptr
+ %tmp.s = load i32* %src
+ store i32 %tmp.s, i32* %dst
+ ret void
+ }
+
More information about the llvm-commits
mailing list