817492e2d99fab69014c7065b9ba3879fb035ba1
[oota-llvm.git] / test / Transforms / LICM / scalar_promote.ll
1 ; RUN: as < %s | opt  -licm -stats 2>&1 | grep "memory locations promoted to register"
2
3 %X = global int 7
4
5 void %testfunc(int %i) {
6         br label %Loop
7
8 Loop:
9         %j = phi uint [0, %0], [%Next, %Loop]
10
11         %x = load int* %X  ; Should promote this to a register inside of loop!
12         %x2 = add int %x, 1
13         store int %x2, int* %X
14
15         %Next = add uint %j, 1
16         %cond = seteq uint %Next, 0
17         br bool %cond, label %Out, label %Loop
18
19 Out:
20         ret void
21 }