* Use simplified interface to constant propogation stuff.
[oota-llvm.git] / test / exprtest.ll
1 implementation
2 int "testExpressions"(int %N, int* %A)
3 begin
4         %N1 = add int %N, 12
5         %N2 = mul int %N, 7
6         %N3 = add int %N1, %N2    ;; Should equal 8*N+12
7         %N4 = shl int %N3, ubyte 3      ;; Should equal 64*N + 96
8         %N5 = mul int %N4, 0      ;; 0
9         br label %1
10
11         %C  = cast int 264 to ubyte  ;; 8
12         %C1 = add ubyte 252, %C      ;; 4
13         %C2 = cast ubyte %C1 to ulong ;; 4
14         %C3 = add ulong 12345678901, %C2 ;; 12345678905
15         %C4 = cast ulong %C3 to sbyte * ;; 12345678905
16         br label %2
17
18         %A1 = cast int 4 to int *
19         %A2 = add int *%A, %A1    ;; %A+4
20         %A3 = cast int 8 to int *
21         %A4 = add int *%A, %A3    ;; %A+8
22         %X  = sub int *%A4, %A2   ;; Should equal 4
23         br label %3
24
25         %Z1 = cast int 400 to int *
26         %Z2 = cast sbyte 2 to int *
27         %Z3 = add int* %Z1, %Z2
28         %Z4 = cast int* %Z3 to ubyte
29
30         ret int %N4
31 end
32