[DAGCombiner] Add target hook function to decide folding (mul (add x, c1), c2)
[llvm-project.git] / llvm / test / Transforms / ADCE / blocks-with-dead-term-nondeterministic.ll
blob48cdccaab1e991749a0003efd0cbfe3938695c8d
1 ; RUN: opt < %s -adce --preserve-ll-uselistorder -S | FileCheck %s
3 target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
4 target triple = "x86_64-apple-macosx10.10.0"
6 ; CHECK: uselistorder label %bb16, { 1, 0 }
7 ; Function Attrs: noinline nounwind ssp uwtable
8 define void @ham() local_unnamed_addr #0 {
9 bb:
10   br i1 false, label %bb1, label %bb22
12 bb1:                                              ; preds = %bb
13   br i1 undef, label %bb2, label %bb20
15 bb2:                                              ; preds = %bb1
16   br label %bb5
18 bb5:                                              ; preds = %bb16, %bb2
19   br i1 undef, label %bb6, label %bb17
21 bb6:                                              ; preds = %bb5
22   br i1 undef, label %bb7, label %bb16
24 bb7:                                              ; preds = %bb6
25   br i1 undef, label %bb9, label %bb8
27 bb8:                                              ; preds = %bb7
28   br i1 undef, label %bb9, label %bb10
30 bb9:                                              ; preds = %bb8, %bb7
31   br label %bb13
33 bb10:                                             ; preds = %bb8
34   br label %bb12
36 bb12:                                             ; preds = %bb10
37   br label %bb13
39 bb13:                                             ; preds = %bb12, %bb9
40   br label %bb14
42 bb14:                                             ; preds = %bb13
43   br label %bb15
45 bb15:                                             ; preds = %bb14
46   br label %bb16
48 bb16:                                             ; preds = %bb15, %bb6
49   br label %bb5
51 bb17:                                             ; preds = %bb5
52   br label %bb19
54 bb19:                                             ; preds = %bb17
55   br label %bb21
57 bb20:                                             ; preds = %bb1
58   br label %bb21
60 bb21:                                             ; preds = %bb20, %bb19
61   br label %bb22
63 bb22:                                             ; preds = %bb21, %bb
64   ret void
67 attributes #0 = { noinline nounwind ssp uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "frame-pointer"="all" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="core2" "target-features"="+cx16,+fxsr,+mmx,+sse,+sse2,+sse3,+ssse3,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
69 !llvm.module.flags = !{!0}
71 !0 = !{i32 7, !"PIC Level", i32 2}