[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