Lines Matching full:inner
6 ; We need to move %tmp4 from the inner loop pre header to the outer loop header
19 ; CHECK: inner.ph:
20 ; CHECK-NEXT: br label [[INNER:%.*]]
21 ; CHECK: inner:
25 ; CHECK: inner.split1:
32 ; CHECK: inner.split:
36 ; CHECK-NEXT: br i1 [[TMP1]], label [[EXIT:%.*]], label [[INNER]]
50 br label %inner.ph
52 inner.ph: ; preds = %bb1
54 br label %inner
56 inner: ; preds = %bb5, %bb3
57 %inner.iv = phi i64 [ 0, %inner.ph ], [ %inner.iv.next, %inner ]
58 %inner.red = phi i32 [ %outer.red, %inner.ph ], [ %red.next, %inner ]
59 %ptr = getelementptr inbounds [400 x [400 x i32]], ptr @global, i64 0, i64 %inner.iv, i64 %tmp4
61 %red.next = or i32 %inner.red, 20
62 %inner.iv.next = add nsw i64 %inner.iv, 1
63 %ec.1 = icmp eq i64 %inner.iv.next, 400
64 br i1 %ec.1, label %outer.latch, label %inner
67 %red.next.lcssa = phi i32 [ %red.next, %inner ]
78 ; Cannot interchange, as the inner loop preheader contains a call to a function
89 ; CHECK: inner.ph:
92 ; CHECK-NEXT: br label [[INNER:%.*]]
93 ; CHECK: inner:
94 ; CHECK-NEXT: [[INNER_IV:%.*]] = phi i64 [ 0, [[INNER_PH]] ], [ [[INNER_IV_NEXT:%.*]], [[INNER]]…
95 …XT: [[INNER_RED:%.*]] = phi i32 [ [[OUTER_RED]], [[INNER_PH]] ], [ [[RED_NEXT:%.*]], [[INNER]] ]
101 ; CHECK-NEXT: br i1 [[EC_1]], label [[OUTER_LATCH]], label [[INNER]]
103 ; CHECK-NEXT: [[RED_NEXT_LCSSA]] = phi i32 [ [[RED_NEXT]], [[INNER]] ]
116 br label %inner.ph
118 inner.ph: ; preds = %bb1
121 br label %inner
123 inner: ; preds = %bb5, %bb3
124 %inner.iv = phi i64 [ 0, %inner.ph ], [ %inner.iv.next, %inner ]
125 %inner.red = phi i32 [ %outer.red, %inner.ph ], [ %red.next, %inner ]
126 %ptr = getelementptr inbounds [400 x [400 x i32]], ptr @global, i64 0, i64 %inner.iv, i64 %tmp4
128 %red.next = or i32 %inner.red, 20
129 %inner.iv.next = add nsw i64 %inner.iv, 1
130 %ec.1 = icmp eq i64 %inner.iv.next, 400
131 br i1 %ec.1, label %outer.latch, label %inner
134 %red.next.lcssa = phi i32 [ %red.next, %inner ]