[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