blob: 6af413b49cd998219d078ab88e44d1826decd606 [file] [log] [blame]
Cameron Zwarichc4f3d512011-02-22 22:25:39 +00001; RUN: opt < %s -loop-deletion -S | FileCheck %s
2
3; Checks whether dead loops with multiple exits can be eliminated
4
5; CHECK: entry:
6; CHECK-NEXT: br label %return
7
8; CHECK: return:
9; CHECK-NEXT: ret void
10
11define void @foo(i64 %n, i64 %m) nounwind {
12entry:
13 br label %bb
14
15bb:
16 %x.0 = phi i64 [ 0, %entry ], [ %t0, %bb2 ]
17 %t0 = add i64 %x.0, 1
18 %t1 = icmp slt i64 %x.0, %n
19 br i1 %t1, label %bb2, label %return
20bb2:
21 %t2 = icmp slt i64 %x.0, %m
22 br i1 %t1, label %bb, label %return
23
24return:
25 ret void
26}