[RS4GC] Fix rematerialization of bitcast of bitcast.
[oota-llvm.git] / test / Transforms / Util / flattencfg.ll
1 ; RUN: opt -flattencfg -S < %s | FileCheck %s
2
3
4 ; This test checks whether the pass completes without a crash.
5 ; The code is not transformed in any way
6 ;
7 ; CHECK-LABEL: @test_not_crash
8 define void @test_not_crash(i32 %in_a) #0 {
9 entry:
10   %cmp0 = icmp eq i32 %in_a, -1
11   %cmp1 = icmp ne i32 %in_a, 0
12   %cond0 = and i1 %cmp0, %cmp1
13   br i1 %cond0, label %b0, label %b1
14
15 b0:                                ; preds = %entry
16   %cmp2 = icmp eq i32 %in_a, 0
17   %cmp3 = icmp ne i32 %in_a, 1
18   %cond1 = or i1 %cmp2, %cmp3
19   br i1 %cond1, label %exit, label %b1
20
21 b1:                                       ; preds = %entry, %b0
22   br label %exit
23
24 exit:                               ; preds = %entry, %b0, %b1
25   ret void
26 }