make GVN try to rename inputs to the resultant replaced values, which
[oota-llvm.git] / test / Transforms / GVN / 2007-07-26-InterlockingLoops.ll
1 ; RUN: llvm-as < %s | opt -gvn | llvm-dis | grep {tmp17625 = phi i32. }
2 ; RUN: llvm-as < %s | opt -gvn | llvm-dis | grep {tmp17631.* = phi i32. }
3
4 @last = external global [65 x i32*]             ; <[65 x i32*]*> [#uses=1]
5
6 define i32 @NextRootMove(i32 %wtm) {
7 cond_next95:            ; preds = %cond_true85, %cond_true79, %cond_true73, %bb68
8         %tmp17618 = load i32** getelementptr ([65 x i32*]* @last, i32 0, i32 1), align 4                ; <i32*> [#uses=0]
9         br label %cond_true116
10
11 cond_true116:           ; preds = %cond_true111
12         br i1 false, label %cond_true128, label %cond_true145
13
14 cond_true128:           ; preds = %cond_true121
15         %tmp17625 = load i32** getelementptr ([65 x i32*]* @last, i32 0, i32 1), align 4                ; <i32*> [#uses=0]
16         br i1 false, label %bb98.backedge, label %return.loopexit
17
18 bb98.backedge:          ; preds = %bb171, %cond_true145, %cond_true128
19         br label %cond_true116
20
21 cond_true145:           ; preds = %cond_false
22         %tmp17631 = load i32** getelementptr ([65 x i32*]* @last, i32 0, i32 1), align 4                ; <i32*> [#uses=0]
23         br i1 false, label %bb98.backedge, label %return.loopexit
24
25 return.loopexit:                ; preds = %bb171, %cond_true145, %cond_true128
26         br label %return
27
28 return:         ; preds = %return.loopexit, %cond_next95, %cond_true85
29         ret i32 0
30 }