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
+ }



_______________________________________________
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Reply via email to