[DAGCombiner] Add target hook function to decide folding (mul (add x, c1), c2)
[llvm-project.git] / llvm / test / Transforms / Reassociate / reassociate-landingpad.ll
blob6adfbb0a7d634acc77b2e7de9301038411324e2c
1 ; Reassociate used to move the negation of $time_1_P14.0 above the
2 ; landingpad.
4 ; RUN: opt -reassociate -disable-output < %s
6 ; ModuleID = 'bugpoint-reduced-simplified.bc'
7 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
8 target triple = "x86_64-unknown-linux-gnu"
10 %"lp.2234.4378.7378.12512.15079.17646.20213.22780.25347.27914.40747.53580.74113.76680.86947.89514.92081.94648.115163.130561" = type { i8*, i32 }
11 %__type_info.2235.4379.7379.12513.15080.17647.20214.22781.25348.27915.40748.53581.74114.76681.86948.89515.92082.94649.115162.130560 = type { i64*, i8* }
13 declare i32 @__gxx_personality_v0(...)
15 declare void @b() #0
17 define void @a() #0 personality i32 (...)* @__gxx_personality_v0 {
18 ", bb1":
19   invoke void @b()
20           to label %invoke.cont unwind label %"bb22"
22 ", bb8":                                          ; preds = %invoke.cont
23   invoke void @c()
24           to label %invoke.cont25 unwind label %"bb22"
26 ", bb15":                                         ; preds = %invoke.cont
27   ret void
29 "bb22":     ; preds = %", bb8", %", bb1"
30   %"$time_1_P14.0" = phi i64 [ undef, %", bb8" ], [ undef, %", bb1" ]
31   %0 = landingpad %"lp.2234.4378.7378.12512.15079.17646.20213.22780.25347.27914.40747.53580.74113.76680.86947.89514.92081.94648.115163.130561"
32           cleanup
33           catch %__type_info.2235.4379.7379.12513.15080.17647.20214.22781.25348.27915.40748.53581.74114.76681.86948.89515.92082.94649.115162.130560* null
34   %r79 = sub i64 0, %"$time_1_P14.0"
35   %r81 = add i64 %r79, undef
36   %r93 = add i64 %r81, undef
37   %r95 = sub i64 %r93, %"$time_1_P14.0"
38   %r98 = icmp ult i64 %r95, undef
39   unreachable
41 invoke.cont:                                      ; preds = %", bb1"
42   br i1 undef, label %", bb15", label %", bb8"
44 invoke.cont25:                                    ; preds = %", bb8"
45   unreachable
48 declare void @c() #0
50 attributes #0 = { "frame-pointer"="non-leaf" }
52 !llvm.module.flags = !{!0}
54 !0 = !{i32 1, !"Debug Info Version", i32 3}