llvm-mirror/test/Feature/alignment.ll
Charles Davis d69c12ecc6 Add a new function attribute, 'alignstack'. It will indicate (when the backends
implement support for it) that the stack should be forcibly realigned in the
prologue (and the process reversed in the epilogue).

llvm-svn: 95945
2010-02-12 00:31:15 +00:00

26 lines
785 B
LLVM

; RUN: llvm-as < %s | llvm-dis > %t1.ll
; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
; RUN: diff %t1.ll %t2.ll
@X = global i32 4, align 16 ; <i32*> [#uses=0]
define i32* @test() align 32 {
%X = alloca i32, align 4 ; <i32*> [#uses=1]
%Y = alloca i32, i32 42, align 16 ; <i32*> [#uses=0]
%Z = alloca i32 ; <i32*> [#uses=0]
ret i32* %X
}
define i32* @test2() {
%X = malloc i32, align 4 ; <i32*> [#uses=1]
%Y = malloc i32, i32 42, align 16 ; <i32*> [#uses=0]
%Z = malloc i32 ; <i32*> [#uses=0]
%T = malloc i32, align 256 ; <i32*> [#uses=0]
ret i32* %X
}
define void @test3() alignstack(16) {
ret void
}