remove a trivial test, make some other tests less trivial.
[oota-llvm.git] / test / Transforms / GVN / 2007-07-26-InterlockingLoops.ll
1 ; RUN: opt < %s -basicaa -gvn -S | FileCheck %s
2
3 @last = external global [65 x i32*]
4
5 define i32 @NextRootMove(i32 %wtm) {
6 entry:
7         %A = alloca i32*
8         %tmp17618 = load i32** getelementptr ([65 x i32*]* @last, i32 0, i32 1), align 4
9         store i32* %tmp17618, i32** %A
10 ; CHECK: entry:
11 ; CHECK-NEXT: alloca i32
12 ; CHECK-NEXT: %tmp17618 = load
13 ; CHECK-NOT: load
14 ; CHECK-NOT: phi
15         br label %cond_true116
16
17 cond_true116:
18         br i1 false, label %cond_true128, label %cond_true145
19
20 cond_true128:
21         %tmp17625 = load i32** getelementptr ([65 x i32*]* @last, i32 0, i32 1), align 4
22         store i32* %tmp17625, i32** %A
23         br i1 false, label %bb98.backedge, label %return.loopexit
24
25 bb98.backedge:
26         br label %cond_true116
27
28 cond_true145:
29         %tmp17631 = load i32** getelementptr ([65 x i32*]* @last, i32 0, i32 1), align 4
30         store i32* %tmp17631, i32** %A
31         br i1 false, label %bb98.backedge, label %return.loopexit
32
33 return.loopexit:
34         br label %return
35
36 return:
37         ret i32 0
38 }