Serguei Katkov | 66182d6 | 2018-02-08 07:16:29 +0000 | [diff] [blame] | 1 | ; RUN: opt < %s -simplifycfg -S | FileCheck %s |
2 | |||||
3 | ; Check that we can get rid of empty block leading to header | ||||
4 | ; if it does not introduce new edge. | ||||
5 | define i32 @test(i32 %c) { | ||||
6 | entry: | ||||
7 | br label %header | ||||
8 | header: | ||||
9 | %i = phi i32 [0, %entry], [%i.1, %backedge] | ||||
10 | %i.1 = add i32 %i, 1 | ||||
11 | %cmp = icmp slt i32 %i.1, %c | ||||
12 | br i1 %cmp, label %backedge, label %exit | ||||
13 | ; CHECK-NOT: backedge: | ||||
14 | backedge: | ||||
15 | br label %header | ||||
16 | exit: | ||||
17 | ret i32 %i | ||||
18 | } |