[DAGCombiner] Add target hook function to decide folding (mul (add x, c1), c2)
[llvm-project.git] / llvm / test / Transforms / ADCE / 2005-02-17-PHI-Invoke-Crash.ll
blob068ad2bc1d8659e3d468bab040d2b7904e0e59e6
1 ; RUN: opt < %s -adce -disable-output
3 declare void @strlen()
5 declare void @_ZN10QByteArray6resizeEi()
7 declare void @q_atomic_decrement()
9 define void @_ZNK10QByteArray13leftJustifiedEicb() personality i32 (...)* @__gxx_personality_v0 {
10 entry:
11         invoke void @strlen( )
12                         to label %tmp.3.i.noexc unwind label %invoke_catch.0
14 tmp.3.i.noexc:          ; preds = %entry
15         br i1 false, label %then.0, label %else.0
17 invoke_catch.0:         ; preds = %entry
18         %exn.0 = landingpad {i8*, i32}
19                  cleanup
20         invoke void @q_atomic_decrement( )
21                         to label %tmp.1.i.i183.noexc unwind label %terminate
23 tmp.1.i.i183.noexc:             ; preds = %invoke_catch.0
24         ret void
26 then.0:         ; preds = %tmp.3.i.noexc
27         invoke void @_ZN10QByteArray6resizeEi( )
28                         to label %invoke_cont.1 unwind label %invoke_catch.1
30 invoke_catch.1:         ; preds = %then.0
31         %exn.1 = landingpad {i8*, i32}
32                  cleanup
33         invoke void @q_atomic_decrement( )
34                         to label %tmp.1.i.i162.noexc unwind label %terminate
36 tmp.1.i.i162.noexc:             ; preds = %invoke_catch.1
37         ret void
39 invoke_cont.1:          ; preds = %then.0
40         ret void
42 else.0:         ; preds = %tmp.3.i.noexc
43         ret void
45 terminate:              ; preds = %invoke_catch.1, %invoke_catch.0
46         %dbg.0.1 = phi {  }* [ null, %invoke_catch.1 ], [ null, %invoke_catch.0 ]               ; <{  }*> [#uses=0]
47         %exn = landingpad {i8*, i32}
48                  cleanup
49         unreachable
52 declare i32 @__gxx_personality_v0(...)