[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / CodeGen / X86 / bb_rotate.ll
blob55a7b0138026328402fe0866e185b0b7d600c4a8
1 ; RUN: llc -mtriple=i686-linux < %s | FileCheck %s
3 define i1 @no_viable_top_fallthrough() {
4 ; CHECK-LABEL: no_viable_top_fallthrough
5 ; CHECK: %.entry
6 ; CHECK: %.bb1
7 ; CHECK: %.bb2
8 ; CHECK: %.middle
9 ; CHECK: %.backedge
10 ; CHECK: %.bb3
11 ; CHECK: %.header
12 ; CHECK: %.exit
13 ; CHECK: %.stop
14 .entry:
15   %val1 = call i1 @foo()
16   br i1 %val1, label %.bb1, label %.header, !prof !10
18 .bb1:
19   %val2 = call i1 @foo()
20   br i1 %val2, label %.stop, label %.exit, !prof !10
22 .header:
23   %val3 = call i1 @foo()
24   br i1 %val3, label %.bb2, label %.exit
26 .bb2:
27   %val4 = call i1 @foo()
28   br i1 %val4, label %.middle, label %.bb3, !prof !10
30 .middle:
31   %val5 = call i1 @foo()
32   br i1 %val5, label %.header, label %.backedge
34 .backedge:
35   %val6 = call i1 @foo()
36   br label %.header
38 .bb3:
39   %val7 = call i1 @foo()
40   br label %.middle
42 .exit:
43   %val8 = call i1 @foo()
44   br label %.stop
46 .stop:
47   %result = call i1 @foo()
48   ret i1 %result
51 declare i1 @foo()
53 !10 = !{!"branch_weights", i32 90, i32 10}