blob: 10fb7d497de31572cc2533bf227972b7b463b0bd [file] [log] [blame]
Nadav Rotem5ba1c6c2013-11-10 04:13:31 +00001; RUN: opt < %s -simplifycfg -S | FileCheck %s
2
3;CHECK: @foo
4;CHECK: and i32 %c1, %k
5;CHECK: icmp eq i32
6;CHECK: and i32 %c2, %k
7;CHECK: icmp eq i32
8;CHECK: or i1
9;CHECK: ret
10define i32 @foo(i32 %k, i32 %c1, i32 %c2) {
11 %1 = and i32 %c1, %k
12 %2 = icmp eq i32 %1, 0
13 br i1 %2, label %8, label %3
14
15; <label>:3 ; preds = %0
16 %4 = and i32 %c2, %k
17 %5 = icmp eq i32 %4, 0
18 br i1 %5, label %8, label %6
19
20; <label>:6 ; preds = %3
21 %7 = tail call i32 (...)* @bar() nounwind
22 br label %8
23
24; <label>:8 ; preds = %3, %0, %6
25 ret i32 undef
26}
27
28declare i32 @bar(...)