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