Removing Makefiles. Regression tests are now run by QMTest.
[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 }
22
23 void %testhard(int %i) {
24         br label %Loop
25 Loop:
26         %X1 = getelementptr int* %X, long 0
27         %A = load int* %X1 ; Aliases X, needs to be rewritten
28         %V = add int %A, 1
29         %X2 = getelementptr int* %X, long 0
30         store int %V, int* %X2
31         br bool false, label %Loop, label %Exit
32
33 Exit:
34         ret void
35
36 }