In some rare cases, the register allocator can spill registers but end up not utilizi...
[llvm/msp430.git] / test / Transforms / SCCP / apint-basictest3.ll
blob6e86764bf2cff84c8a96630f41dbf7207484f5d0
1 ; This is a basic sanity check for constant propogation.  It tests the basic 
2 ; arithmatic operations.
5 ; RUN: llvm-as < %s | opt -sccp | llvm-dis | not grep mul
6 ; RUN: llvm-as < %s | opt -sccp | llvm-dis | not grep umod
8 define i128 @test(i1 %B) {
9         br i1 %B, label %BB1, label %BB2
10 BB1:
11         %t1 = add i128 0, 1
12         %t2 = sub i128 0, %t1
13         %t3 = mul i128 %t2, -1
14         br label %BB3
15 BB2:
16         %f1 = udiv i128 -1, 1
17         %f2 = add i128 %f1, 1
18         %f3 = urem i128 %f2, 2121
19         br label %BB3
20 BB3:
21         %Ret = phi i128 [%t3, %BB1], [%f3, %BB2]
22         ret i128 %Ret