blob: afb03a22900475d76c6911a6a55c2a887b780c6e [file] [log] [blame]
Sanjoy Das664c9252017-03-03 18:19:15 +00001; RUN: opt < %s -S -loop-unroll | FileCheck %s
2
3define i32 @invariant_backedge_1(i32 %a, i32 %b) {
4; CHECK-LABEL: @invariant_backedge_1
5; CHECK-NOT: %plus = phi
6; CHECK: loop.peel:
7; CHECK: loop:
8; CHECK: %i = phi
9; CHECK: %sum = phi
10entry:
11 br label %loop
12
13loop:
14 %i = phi i32 [ 0, %entry ], [ %inc, %loop ]
15 %sum = phi i32 [ 0, %entry ], [ %incsum, %loop ]
16 %plus = phi i32 [ %a, %entry ], [ %b, %loop ]
17
18 %incsum = add i32 %sum, %plus
19 %inc = add i32 %i, 1
20 %cmp = icmp slt i32 %i, 1000
21 br i1 %cmp, label %loop, label %exit
22
23exit:
24 ret i32 %sum
25}