In some rare cases, the register allocator can spill registers but end up not utilizi...
[llvm/msp430.git] / test / ExecutionEngine / 2003-01-15-AlignmentTest.ll
blob7529eb4770a0b4ea892c60637892b500b384319d
1 ; RUN: llvm-as %s -f -o %t.bc
2 ; RUN: lli %t.bc > /dev/null
4 define i32 @bar(i8* %X) {
5         ; pointer should be 4 byte aligned!
6         %P = alloca double              ; <double*> [#uses=1]
7         %R = ptrtoint double* %P to i32         ; <i32> [#uses=1]
8         %A = and i32 %R, 3              ; <i32> [#uses=1]
9         ret i32 %A
12 define i32 @main() {
13         %SP = alloca i8         ; <i8*> [#uses=1]
14         %X = add i32 0, 0               ; <i32> [#uses=1]
15         alloca i8, i32 %X               ; <i8*>:1 [#uses=0]
16         call i32 @bar( i8* %SP )                ; <i32>:2 [#uses=1]
17         ret i32 %2