comparison test/CodeGen/SPARC/exception.ll @ 95:afa8332a0e37 LLVM3.8

LLVM 3.8
author Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
date Tue, 13 Oct 2015 17:48:58 +0900
parents 54457678186b
children
comparison
equal deleted inserted replaced
84:f3e34b893a5f 95:afa8332a0e37
69 ; V9PIC: .word %r_disp32(.L_ZTIi.DW.stub) 69 ; V9PIC: .word %r_disp32(.L_ZTIi.DW.stub)
70 ; V9PIC: .data 70 ; V9PIC: .data
71 ; V9PIC: .L_ZTIi.DW.stub: 71 ; V9PIC: .L_ZTIi.DW.stub:
72 ; V9PIC-NEXT: .xword _ZTIi 72 ; V9PIC-NEXT: .xword _ZTIi
73 73
74 define i32 @main(i32 %argc, i8** nocapture readnone %argv) unnamed_addr #0 { 74 define i32 @main(i32 %argc, i8** nocapture readnone %argv) unnamed_addr #0 personality i32 (i32, i64, i8*, i8*)* @__gxx_personality_v0 {
75 entry: 75 entry:
76 %0 = icmp eq i32 %argc, 2 76 %0 = icmp eq i32 %argc, 2
77 %1 = tail call i8* @__cxa_allocate_exception(i32 4) #1 77 %1 = tail call i8* @__cxa_allocate_exception(i32 4) #1
78 br i1 %0, label %"3", label %"4" 78 br i1 %0, label %"3", label %"4"
79 79
100 "5": ; preds = %"13", %"11" 100 "5": ; preds = %"13", %"11"
101 %6 = phi i32 [ 2, %"13" ], [ 0, %"11" ] 101 %6 = phi i32 [ 2, %"13" ], [ 0, %"11" ]
102 ret i32 %6 102 ret i32 %6
103 103
104 "8": ; preds = %"4", %"3" 104 "8": ; preds = %"4", %"3"
105 %exc = landingpad { i8*, i32 } personality i32 (i32, i64, i8*, i8*)* @__gxx_personality_v0 105 %exc = landingpad { i8*, i32 }
106 catch %struct.__fundamental_type_info_pseudo* @_ZTIi 106 catch %struct.__fundamental_type_info_pseudo* @_ZTIi
107 catch %struct.__fundamental_type_info_pseudo* @_ZTIf 107 catch %struct.__fundamental_type_info_pseudo* @_ZTIf
108 %exc_ptr12 = extractvalue { i8*, i32 } %exc, 0 108 %exc_ptr12 = extractvalue { i8*, i32 } %exc, 0
109 %filter13 = extractvalue { i8*, i32 } %exc, 1 109 %filter13 = extractvalue { i8*, i32 } %exc, 1
110 %typeid = tail call i32 @llvm.eh.typeid.for(i8* bitcast (%struct.__fundamental_type_info_pseudo* @_ZTIi to i8*)) 110 %typeid = tail call i32 @llvm.eh.typeid.for(i8* bitcast (%struct.__fundamental_type_info_pseudo* @_ZTIi to i8*))
119 "9": ; preds = %8 119 "9": ; preds = %8
120 resume { i8*, i32 } %exc 120 resume { i8*, i32 } %exc
121 121
122 "11": ; preds = %"8" 122 "11": ; preds = %"8"
123 %10 = tail call i8* @__cxa_begin_catch(i8* %exc_ptr12) #1 123 %10 = tail call i8* @__cxa_begin_catch(i8* %exc_ptr12) #1
124 %11 = tail call i32 @puts(i8* getelementptr inbounds ([12 x i8]* @.cst, i32 0, i32 0)) 124 %11 = tail call i32 @puts(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.cst, i32 0, i32 0))
125 tail call void @__cxa_end_catch() #1 125 tail call void @__cxa_end_catch() #1
126 br label %"5" 126 br label %"5"
127 127
128 "13": ; preds = %8 128 "13": ; preds = %8
129 %12 = tail call i8* @__cxa_begin_catch(i8* %exc_ptr12) #1 129 %12 = tail call i8* @__cxa_begin_catch(i8* %exc_ptr12) #1
130 %13 = tail call i32 @puts(i8* getelementptr inbounds ([14 x i8]* @.cst1, i32 0, i32 0)) 130 %13 = tail call i32 @puts(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.cst1, i32 0, i32 0))
131 tail call void @__cxa_end_catch() #1 131 tail call void @__cxa_end_catch() #1
132 br label %"5" 132 br label %"5"
133 } 133 }
134 134
135 ; Function Attrs: nounwind 135 ; Function Attrs: nounwind