blob: 9af93325f1422b79e89084c68d64c0fb74e0ae71 [file] [log] [blame]
Dan Gohmanf2f6ce62009-09-11 18:01:28 +00001; RUN: opt < %s -inline -disable-output
Chris Lattner21c61582003-09-22 21:58:46 +00002
Tanya Lattnerec9a35a2008-03-01 09:15:35 +00003define i32 @main() {
Chris Lattner21c61582003-09-22 21:58:46 +00004entry:
Tanya Lattnerec9a35a2008-03-01 09:15:35 +00005 invoke void @__main( )
6 to label %Call2Invoke unwind label %LongJmpBlkPre
Chris Lattner21c61582003-09-22 21:58:46 +00007
Tanya Lattnerec9a35a2008-03-01 09:15:35 +00008Call2Invoke: ; preds = %entry
Bill Wendling65088e72011-09-01 01:08:21 +00009 br label %exit
Chris Lattner21c61582003-09-22 21:58:46 +000010
Tanya Lattnerec9a35a2008-03-01 09:15:35 +000011LongJmpBlkPre: ; preds = %Call2Invoke, %entry
12 %i.3 = phi i32 [ 0, %entry ], [ 0, %Call2Invoke ] ; <i32> [#uses=0]
Bill Wendling65088e72011-09-01 01:08:21 +000013 %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
14 cleanup
15 br label %exit
16
17exit:
Tanya Lattnerec9a35a2008-03-01 09:15:35 +000018 ret i32 0
Chris Lattner21c61582003-09-22 21:58:46 +000019}
20
Tanya Lattnerec9a35a2008-03-01 09:15:35 +000021define void @__main() {
22 call void @__llvm_getGlobalCtors( )
23 call void @__llvm_getGlobalDtors( )
24 ret void
Chris Lattner21c61582003-09-22 21:58:46 +000025}
26
Bill Wendling65088e72011-09-01 01:08:21 +000027declare i32 @__gxx_personality_v0(...)
28
Tanya Lattnerec9a35a2008-03-01 09:15:35 +000029declare void @__llvm_getGlobalCtors()
Chris Lattner21c61582003-09-22 21:58:46 +000030
Tanya Lattnerec9a35a2008-03-01 09:15:35 +000031declare void @__llvm_getGlobalDtors()
32