Use the llvm-upgrade program to upgrade llvm assembly.
[oota-llvm.git] / test / Transforms / ADCE / 2005-02-17-PHI-Invoke-Crash.ll
1 ; RUN: llvm-upgrade < %s | llvm-as | opt -adce -disable-output
2
3 implementation   ; Functions:
4
5 declare {  }* %llvm.dbg.region.end({  }*)
6
7 declare void %strlen()
8
9 declare void %_ZN10QByteArray6resizeEi()
10
11 declare void %q_atomic_decrement()
12
13 void %_ZNK10QByteArray13leftJustifiedEicb() {
14 entry:
15         invoke void %strlen( )
16                         to label %tmp.3.i.noexc unwind label %invoke_catch.0
17
18 tmp.3.i.noexc:          ; preds = %entry
19         br bool false, label %then.0, label %else.0
20
21 invoke_catch.0:         ; preds = %entry
22         invoke void %q_atomic_decrement( )
23                         to label %tmp.1.i.i183.noexc unwind label %terminate
24
25 tmp.1.i.i183.noexc:             ; preds = %invoke_catch.0
26         unwind
27
28 then.0:         ; preds = %tmp.3.i.noexc
29         invoke void %_ZN10QByteArray6resizeEi( )
30                         to label %invoke_cont.1 unwind label %invoke_catch.1
31
32 invoke_catch.1:         ; preds = %then.0
33         invoke void %q_atomic_decrement( )
34                         to label %tmp.1.i.i162.noexc unwind label %terminate
35
36 tmp.1.i.i162.noexc:             ; preds = %invoke_catch.1
37         ret void
38
39 invoke_cont.1:          ; preds = %then.0
40         ret void
41
42 else.0:         ; preds = %tmp.3.i.noexc
43         ret void
44
45 terminate:              ; preds = %invoke_catch.1, %invoke_catch.0
46         %dbg.0.1 = phi {  }* [ null, %invoke_catch.1 ], [ null, %invoke_catch.0 ]               ; <{  }*> [#uses=1]
47         %dbg.tmp.43 = call {  }* %llvm.dbg.region.end( {  }* %dbg.0.1 )         ; <{  }*> [#uses=0]
48         unreachable
49 }