[llvm-commits] CVS: llvm/test/CodeGen/ARM/vargs_align.ll

Lauro Ramos Venancio lauro.venancio at gmail.com
Fri Feb 23 12:33:21 PST 2007



Changes in directory llvm/test/CodeGen/ARM:

vargs_align.ll added (r1.1)
---
Log message:

Fix stack alignment in functions with varargs.


---
Diffs of the changes:  (+20 -0)

 vargs_align.ll |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+)


Index: llvm/test/CodeGen/ARM/vargs_align.ll
diff -c /dev/null llvm/test/CodeGen/ARM/vargs_align.ll:1.1
*** /dev/null	Fri Feb 23 14:33:07 2007
--- llvm/test/CodeGen/ARM/vargs_align.ll	Fri Feb 23 14:32:57 2007
***************
*** 0 ****
--- 1,20 ----
+ ; RUN: llvm-as < %s | llc -march=arm &&
+ ; RUN: llvm-as < %s | llc -march=arm -mtriple=arm-linux-gnueabi -disable-fp-elim | grep "add sp, sp, #16" &&
+ ; RUN: llvm-as < %s | llc -march=arm -mtriple=arm-linux-gnu -disable-fp-elim | grep "add sp, sp, #12"
+ 
+ define i32 @f(i32 %a, ...) {
+ entry:
+ 	%a_addr = alloca i32		; <i32*> [#uses=1]
+ 	%retval = alloca i32, align 4		; <i32*> [#uses=2]
+ 	%tmp = alloca i32, align 4		; <i32*> [#uses=2]
+ 	"alloca point" = bitcast i32 0 to i32		; <i32> [#uses=0]
+ 	store i32 %a, i32* %a_addr
+ 	store i32 0, i32* %tmp
+ 	%tmp1 = load i32* %tmp		; <i32> [#uses=1]
+ 	store i32 %tmp1, i32* %retval
+ 	br label %return
+ 
+ return:		; preds = %entry
+ 	%retval2 = load i32* %retval		; <i32> [#uses=1]
+ 	ret i32 %retval2
+ }






More information about the llvm-commits mailing list