| ; RUN: opt -passes=objc-arc -S < %s |
| ; rdar://12277446 |
| ; rdar://12480535 |
| ; rdar://14590914 |
| ; rdar://15377890 |
| |
| ; The total number of paths grows exponentially with the number of branches, and a |
| ; computation of this number can overflow any reasonable fixed-sized |
| ; integer. This can occur in both the addition phase when we are adding up the |
| ; total bottomup/topdown paths and when we multiply them together at the end. |
| |
| target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n32-S32" |
| target triple = "thumbv7-apple-ios5.0.0" |
| |
| %struct.NSConstantString = type { ptr, i32, ptr, i32 } |
| %struct.CGPoint = type { float, float } |
| |
| @_unnamed_cfstring = external constant %struct.NSConstantString, section "__DATA,__cfstring" |
| @_unnamed_cfstring_2 = external constant %struct.NSConstantString, section "__DATA,__cfstring" |
| |
| declare ptr @llvm.objc.retain(ptr) nonlazybind |
| declare ptr @llvm.objc.retainAutoreleasedReturnValue(ptr) nonlazybind |
| declare void @llvm.objc.release(ptr) nonlazybind |
| declare ptr @returner() |
| declare ptr @objc_msgSend(ptr, ptr, ...) nonlazybind |
| declare void @NSLog(ptr, ...) |
| declare void @objc_msgSend_stret(ptr, ptr, ...) |
| declare i32 @__gxx_personality_sj0(...) |
| declare i32 @__objc_personality_v0(...) |
| |
| |
| define hidden void @test1() personality ptr @__gxx_personality_sj0 { |
| entry: |
| br i1 undef, label %msgSend.nullinit, label %msgSend.call |
| |
| msgSend.call: ; preds = %entry |
| br label %msgSend.cont |
| |
| msgSend.nullinit: ; preds = %entry |
| br label %msgSend.cont |
| |
| msgSend.cont: ; preds = %msgSend.nullinit, %msgSend.call |
| %0 = call ptr @llvm.objc.retain(ptr @_unnamed_cfstring) nounwind |
| br i1 undef, label %msgSend.nullinit33, label %msgSend.call32 |
| |
| msgSend.call32: ; preds = %if.end10 |
| br label %msgSend.cont34 |
| |
| msgSend.nullinit33: ; preds = %if.end10 |
| br label %msgSend.cont34 |
| |
| msgSend.cont34: ; preds = %msgSend.nullinit33, %msgSend.call32 |
| br i1 undef, label %msgSend.nullinit38, label %msgSend.call37 |
| |
| msgSend.call37: ; preds = %msgSend.cont34 |
| br label %msgSend.cont39 |
| |
| msgSend.nullinit38: ; preds = %msgSend.cont34 |
| br label %msgSend.cont39 |
| |
| msgSend.cont39: ; preds = %msgSend.nullinit38, %msgSend.call37 |
| br i1 undef, label %msgSend.nullinit49, label %msgSend.call48 |
| |
| msgSend.call48: ; preds = %msgSend.cont39 |
| br label %msgSend.cont50 |
| |
| msgSend.nullinit49: ; preds = %msgSend.cont39 |
| br label %msgSend.cont50 |
| |
| msgSend.cont50: ; preds = %msgSend.nullinit49, %msgSend.call48 |
| br i1 undef, label %msgSend.nullinit61, label %msgSend.call60 |
| |
| msgSend.call60: ; preds = %msgSend.cont50 |
| br label %msgSend.cont62 |
| |
| msgSend.nullinit61: ; preds = %msgSend.cont50 |
| br label %msgSend.cont62 |
| |
| msgSend.cont62: ; preds = %msgSend.nullinit61, %msgSend.call60 |
| br i1 undef, label %msgSend.nullinit67, label %msgSend.call66 |
| |
| msgSend.call66: ; preds = %msgSend.cont62 |
| br label %msgSend.cont68 |
| |
| msgSend.nullinit67: ; preds = %msgSend.cont62 |
| br label %msgSend.cont68 |
| |
| msgSend.cont68: ; preds = %msgSend.nullinit67, %msgSend.call66 |
| br i1 undef, label %msgSend.nullinit84, label %msgSend.call83 |
| |
| msgSend.call83: ; preds = %msgSend.cont68 |
| br label %msgSend.cont85 |
| |
| msgSend.nullinit84: ; preds = %msgSend.cont68 |
| br label %msgSend.cont85 |
| |
| msgSend.cont85: ; preds = %msgSend.nullinit84, %msgSend.call83 |
| br i1 undef, label %msgSend.nullinit90, label %msgSend.call89 |
| |
| msgSend.call89: ; preds = %msgSend.cont85 |
| br label %msgSend.cont91 |
| |
| msgSend.nullinit90: ; preds = %msgSend.cont85 |
| br label %msgSend.cont91 |
| |
| msgSend.cont91: ; preds = %msgSend.nullinit90, %msgSend.call89 |
| br i1 undef, label %msgSend.nullinit104, label %msgSend.call103 |
| |
| msgSend.call103: ; preds = %msgSend.cont91 |
| br label %msgSend.cont105 |
| |
| msgSend.nullinit104: ; preds = %msgSend.cont91 |
| br label %msgSend.cont105 |
| |
| msgSend.cont105: ; preds = %msgSend.nullinit104, %msgSend.call103 |
| br i1 undef, label %land.lhs.true, label %if.end123 |
| |
| land.lhs.true: ; preds = %msgSend.cont105 |
| br i1 undef, label %if.then117, label %if.end123 |
| |
| if.then117: ; preds = %land.lhs.true |
| br label %if.end123 |
| |
| if.end123: ; preds = %if.then117, %land.lhs.true, %msgSend.cont105 |
| br i1 undef, label %msgSend.nullinit132, label %msgSend.call131 |
| |
| msgSend.call131: ; preds = %if.end123 |
| br label %msgSend.cont133 |
| |
| msgSend.nullinit132: ; preds = %if.end123 |
| br label %msgSend.cont133 |
| |
| msgSend.cont133: ; preds = %msgSend.nullinit132, %msgSend.call131 |
| br i1 undef, label %msgSend.nullinit139, label %msgSend.call138 |
| |
| msgSend.call138: ; preds = %msgSend.cont133 |
| br label %msgSend.cont140 |
| |
| msgSend.nullinit139: ; preds = %msgSend.cont133 |
| br label %msgSend.cont140 |
| |
| msgSend.cont140: ; preds = %msgSend.nullinit139, %msgSend.call138 |
| br i1 undef, label %if.then151, label %if.end157 |
| |
| if.then151: ; preds = %msgSend.cont140 |
| br label %if.end157 |
| |
| if.end157: ; preds = %if.then151, %msgSend.cont140 |
| br i1 undef, label %msgSend.nullinit164, label %msgSend.call163 |
| |
| msgSend.call163: ; preds = %if.end157 |
| br label %msgSend.cont165 |
| |
| msgSend.nullinit164: ; preds = %if.end157 |
| br label %msgSend.cont165 |
| |
| msgSend.cont165: ; preds = %msgSend.nullinit164, %msgSend.call163 |
| br i1 undef, label %msgSend.nullinit176, label %msgSend.call175 |
| |
| msgSend.call175: ; preds = %msgSend.cont165 |
| br label %msgSend.cont177 |
| |
| msgSend.nullinit176: ; preds = %msgSend.cont165 |
| br label %msgSend.cont177 |
| |
| msgSend.cont177: ; preds = %msgSend.nullinit176, %msgSend.call175 |
| br i1 undef, label %land.lhs.true181, label %if.end202 |
| |
| land.lhs.true181: ; preds = %msgSend.cont177 |
| br i1 undef, label %if.then187, label %if.end202 |
| |
| if.then187: ; preds = %land.lhs.true181 |
| br i1 undef, label %msgSend.nullinit199, label %msgSend.call198 |
| |
| msgSend.call198: ; preds = %if.then187 |
| br label %msgSend.cont200 |
| |
| msgSend.nullinit199: ; preds = %if.then187 |
| br label %msgSend.cont200 |
| |
| msgSend.cont200: ; preds = %msgSend.nullinit199, %msgSend.call198 |
| br label %if.end202 |
| |
| if.end202: ; preds = %msgSend.cont200, %land.lhs.true181, %msgSend.cont177 |
| br i1 undef, label %msgSend.nullinit236, label %msgSend.call235 |
| |
| msgSend.call235: ; preds = %if.end202 |
| br label %msgSend.cont237 |
| |
| msgSend.nullinit236: ; preds = %if.end202 |
| br label %msgSend.cont237 |
| |
| msgSend.cont237: ; preds = %msgSend.nullinit236, %msgSend.call235 |
| br i1 undef, label %msgSend.nullinit254, label %msgSend.call253 |
| |
| msgSend.call253: ; preds = %msgSend.cont237 |
| br label %msgSend.cont255 |
| |
| msgSend.nullinit254: ; preds = %msgSend.cont237 |
| br label %msgSend.cont255 |
| |
| msgSend.cont255: ; preds = %msgSend.nullinit254, %msgSend.call253 |
| br i1 undef, label %msgSend.nullinit269, label %msgSend.call268 |
| |
| msgSend.call268: ; preds = %msgSend.cont255 |
| br label %msgSend.cont270 |
| |
| msgSend.nullinit269: ; preds = %msgSend.cont255 |
| br label %msgSend.cont270 |
| |
| msgSend.cont270: ; preds = %msgSend.nullinit269, %msgSend.call268 |
| br i1 undef, label %msgSend.nullinit281, label %msgSend.call280 |
| |
| msgSend.call280: ; preds = %msgSend.cont270 |
| br label %msgSend.cont282 |
| |
| msgSend.nullinit281: ; preds = %msgSend.cont270 |
| br label %msgSend.cont282 |
| |
| msgSend.cont282: ; preds = %msgSend.nullinit281, %msgSend.call280 |
| br i1 undef, label %msgSend.nullinit287, label %msgSend.call286 |
| |
| msgSend.call286: ; preds = %msgSend.cont282 |
| br label %msgSend.cont288 |
| |
| msgSend.nullinit287: ; preds = %msgSend.cont282 |
| br label %msgSend.cont288 |
| |
| msgSend.cont288: ; preds = %msgSend.nullinit287, %msgSend.call286 |
| br i1 undef, label %msgSend.nullinit303, label %msgSend.call302 |
| |
| msgSend.call302: ; preds = %msgSend.cont288 |
| br label %msgSend.cont304 |
| |
| msgSend.nullinit303: ; preds = %msgSend.cont288 |
| br label %msgSend.cont304 |
| |
| msgSend.cont304: ; preds = %msgSend.nullinit303, %msgSend.call302 |
| br i1 undef, label %msgSend.nullinit344, label %msgSend.call343 |
| |
| msgSend.call343: ; preds = %msgSend.cont304 |
| br label %msgSend.cont345 |
| |
| msgSend.nullinit344: ; preds = %msgSend.cont304 |
| br label %msgSend.cont345 |
| |
| msgSend.cont345: ; preds = %msgSend.nullinit344, %msgSend.call343 |
| br i1 undef, label %msgSend.nullinit350, label %msgSend.call349 |
| |
| msgSend.call349: ; preds = %msgSend.cont345 |
| br label %msgSend.cont351 |
| |
| msgSend.nullinit350: ; preds = %msgSend.cont345 |
| br label %msgSend.cont351 |
| |
| msgSend.cont351: ; preds = %msgSend.nullinit350, %msgSend.call349 |
| br i1 undef, label %msgSend.nullinit366, label %msgSend.call365 |
| |
| msgSend.call365: ; preds = %msgSend.cont351 |
| br label %msgSend.cont367 |
| |
| msgSend.nullinit366: ; preds = %msgSend.cont351 |
| br label %msgSend.cont367 |
| |
| msgSend.cont367: ; preds = %msgSend.nullinit366, %msgSend.call365 |
| br i1 undef, label %msgSend.nullinit376, label %msgSend.call375 |
| |
| msgSend.call375: ; preds = %msgSend.cont367 |
| br label %msgSend.cont377 |
| |
| msgSend.nullinit376: ; preds = %msgSend.cont367 |
| br label %msgSend.cont377 |
| |
| msgSend.cont377: ; preds = %msgSend.nullinit376, %msgSend.call375 |
| br i1 undef, label %if.then384, label %if.else401 |
| |
| if.then384: ; preds = %msgSend.cont377 |
| br i1 undef, label %msgSend.nullinit392, label %msgSend.call391 |
| |
| msgSend.call391: ; preds = %if.then384 |
| br label %msgSend.cont393 |
| |
| msgSend.nullinit392: ; preds = %if.then384 |
| br label %msgSend.cont393 |
| |
| msgSend.cont393: ; preds = %msgSend.nullinit392, %msgSend.call391 |
| br label %if.end418 |
| |
| if.else401: ; preds = %msgSend.cont377 |
| br i1 undef, label %msgSend.nullinit409, label %msgSend.call408 |
| |
| msgSend.call408: ; preds = %if.else401 |
| br label %msgSend.cont410 |
| |
| msgSend.nullinit409: ; preds = %if.else401 |
| br label %msgSend.cont410 |
| |
| msgSend.cont410: ; preds = %msgSend.nullinit409, %msgSend.call408 |
| br label %if.end418 |
| |
| if.end418: ; preds = %msgSend.cont410, %msgSend.cont393 |
| br i1 undef, label %msgSend.nullinit470, label %msgSend.call469 |
| |
| msgSend.call469: ; preds = %if.end418 |
| br label %msgSend.cont471 |
| |
| msgSend.nullinit470: ; preds = %if.end418 |
| br label %msgSend.cont471 |
| |
| msgSend.cont471: ; preds = %msgSend.nullinit470, %msgSend.call469 |
| br i1 undef, label %msgSend.nullinit484, label %msgSend.call483 |
| |
| msgSend.call483: ; preds = %msgSend.cont471 |
| br label %msgSend.cont485 |
| |
| msgSend.nullinit484: ; preds = %msgSend.cont471 |
| br label %msgSend.cont485 |
| |
| msgSend.cont485: ; preds = %msgSend.nullinit484, %msgSend.call483 |
| br i1 undef, label %msgSend.nullinit500, label %msgSend.call499 |
| |
| msgSend.call499: ; preds = %msgSend.cont485 |
| br label %msgSend.cont501 |
| |
| msgSend.nullinit500: ; preds = %msgSend.cont485 |
| br label %msgSend.cont501 |
| |
| msgSend.cont501: ; preds = %msgSend.nullinit500, %msgSend.call499 |
| br i1 undef, label %msgSend.nullinit506, label %msgSend.call505 |
| |
| msgSend.call505: ; preds = %msgSend.cont501 |
| br label %msgSend.cont507 |
| |
| msgSend.nullinit506: ; preds = %msgSend.cont501 |
| br label %msgSend.cont507 |
| |
| msgSend.cont507: ; preds = %msgSend.nullinit506, %msgSend.call505 |
| call void @llvm.objc.release(ptr @_unnamed_cfstring) nounwind, !clang.imprecise_release !0 |
| ret void |
| } |
| |
| ; Function Attrs: optsize ssp uwtable |
| define void @test2() unnamed_addr align 2 personality ptr @__gxx_personality_sj0 { |
| bb: |
| br i1 undef, label %bb3, label %bb2 |
| |
| bb2: ; preds = %bb |
| br label %bb3 |
| |
| bb3: ; preds = %bb2, %bb |
| br i1 undef, label %bb5, label %bb4 |
| |
| bb4: ; preds = %bb3 |
| br label %bb5 |
| |
| bb5: ; preds = %bb4, %bb3 |
| br i1 undef, label %bb7, label %bb6 |
| |
| bb6: ; preds = %bb5 |
| br label %bb7 |
| |
| bb7: ; preds = %bb6, %bb5 |
| br i1 undef, label %bb9, label %bb8 |
| |
| bb8: ; preds = %bb7 |
| unreachable |
| |
| bb9: ; preds = %bb7 |
| br i1 undef, label %bb11, label %bb10 |
| |
| bb10: ; preds = %bb9 |
| br label %bb11 |
| |
| bb11: ; preds = %bb10, %bb9 |
| br i1 undef, label %bb13, label %bb12 |
| |
| bb12: ; preds = %bb11 |
| br label %bb13 |
| |
| bb13: ; preds = %bb12, %bb11 |
| br i1 undef, label %bb15, label %bb14 |
| |
| bb14: ; preds = %bb13 |
| br label %bb15 |
| |
| bb15: ; preds = %bb14, %bb13 |
| br i1 undef, label %bb17, label %bb16 |
| |
| bb16: ; preds = %bb15 |
| br label %bb17 |
| |
| bb17: ; preds = %bb16, %bb15 |
| br i1 undef, label %bb19, label %bb18 |
| |
| bb18: ; preds = %bb17 |
| br label %bb19 |
| |
| bb19: ; preds = %bb18, %bb17 |
| br i1 undef, label %bb222, label %bb20 |
| |
| bb20: ; preds = %bb19 |
| br i1 undef, label %bb222, label %bb21 |
| |
| bb21: ; preds = %bb20 |
| br i1 undef, label %bb22, label %bb30 |
| |
| bb22: ; preds = %bb21 |
| br i1 undef, label %bb23, label %bb32 |
| |
| bb23: ; preds = %bb22 |
| br i1 undef, label %bb24, label %bb34 |
| |
| bb24: ; preds = %bb23 |
| br i1 undef, label %bb26, label %bb25 |
| |
| bb25: ; preds = %bb24 |
| br label %bb27 |
| |
| bb26: ; preds = %bb24 |
| br label %bb27 |
| |
| bb27: ; preds = %bb26, %bb25 |
| br i1 undef, label %bb28, label %bb42 |
| |
| bb28: ; preds = %bb27 |
| br i1 undef, label %bb36, label %bb29 |
| |
| bb29: ; preds = %bb28 |
| br label %bb36 |
| |
| bb30: ; preds = %bb210, %bb207, %bb203, %bb199, %bb182, %bb176, %bb174, %bb171, %bb136, %bb132, %bb21 |
| br label %bb213 |
| |
| bb32: ; preds = %bb22 |
| unreachable |
| |
| bb34: ; preds = %bb23 |
| unreachable |
| |
| bb36: ; preds = %bb29, %bb28 |
| br i1 undef, label %bb38, label %bb37 |
| |
| bb37: ; preds = %bb36 |
| br label %bb39 |
| |
| bb38: ; preds = %bb36 |
| br label %bb39 |
| |
| bb39: ; preds = %bb38, %bb37 |
| br i1 undef, label %bb41, label %bb40 |
| |
| bb40: ; preds = %bb39 |
| unreachable |
| |
| bb41: ; preds = %bb39 |
| br label %bb42 |
| |
| bb42: ; preds = %bb41, %bb27 |
| br i1 undef, label %bb43, label %bb214 |
| |
| bb43: ; preds = %bb42 |
| br i1 undef, label %bb47, label %bb45 |
| |
| bb45: ; preds = %bb130, %bb128, %bb126, %bb124, %bb122, %bb120, %bb118, %bb116, %bb114, %bb112, %bb110, %bb108, %bb105, %bb102, %bb100, %bb96, %bb94, %bb90, %bb88, %bb84, %bb82, %bb78, %bb76, %bb72, %bb70, %bb66, %bb64, %bb60, %bb58, %bb54, %bb51, %bb43 |
| unreachable |
| |
| bb47: ; preds = %bb43 |
| br i1 undef, label %bb48, label %bb106 |
| |
| bb48: ; preds = %bb47 |
| br i1 undef, label %bb50, label %bb49 |
| |
| bb49: ; preds = %bb48 |
| br label %bb51 |
| |
| bb50: ; preds = %bb48 |
| br label %bb51 |
| |
| bb51: ; preds = %bb50, %bb49 |
| br i1 undef, label %bb53, label %bb45 |
| |
| bb53: ; preds = %bb51 |
| br i1 undef, label %bb54, label %bb134 |
| |
| bb54: ; preds = %bb53 |
| br i1 undef, label %bb55, label %bb45 |
| |
| bb55: ; preds = %bb54 |
| br i1 undef, label %bb57, label %bb56 |
| |
| bb56: ; preds = %bb55 |
| br label %bb58 |
| |
| bb57: ; preds = %bb55 |
| br label %bb58 |
| |
| bb58: ; preds = %bb57, %bb56 |
| br i1 undef, label %bb60, label %bb45 |
| |
| bb60: ; preds = %bb58 |
| br i1 undef, label %bb61, label %bb45 |
| |
| bb61: ; preds = %bb60 |
| br i1 undef, label %bb63, label %bb62 |
| |
| bb62: ; preds = %bb61 |
| br label %bb64 |
| |
| bb63: ; preds = %bb61 |
| br label %bb64 |
| |
| bb64: ; preds = %bb63, %bb62 |
| br i1 undef, label %bb66, label %bb45 |
| |
| bb66: ; preds = %bb64 |
| br i1 undef, label %bb67, label %bb45 |
| |
| bb67: ; preds = %bb66 |
| br i1 undef, label %bb69, label %bb68 |
| |
| bb68: ; preds = %bb67 |
| br label %bb70 |
| |
| bb69: ; preds = %bb67 |
| br label %bb70 |
| |
| bb70: ; preds = %bb69, %bb68 |
| br i1 undef, label %bb72, label %bb45 |
| |
| bb72: ; preds = %bb70 |
| br i1 undef, label %bb73, label %bb45 |
| |
| bb73: ; preds = %bb72 |
| br i1 undef, label %bb75, label %bb74 |
| |
| bb74: ; preds = %bb73 |
| br label %bb76 |
| |
| bb75: ; preds = %bb73 |
| br label %bb76 |
| |
| bb76: ; preds = %bb75, %bb74 |
| br i1 undef, label %bb78, label %bb45 |
| |
| bb78: ; preds = %bb76 |
| br i1 undef, label %bb79, label %bb45 |
| |
| bb79: ; preds = %bb78 |
| br i1 undef, label %bb81, label %bb80 |
| |
| bb80: ; preds = %bb79 |
| br label %bb82 |
| |
| bb81: ; preds = %bb79 |
| br label %bb82 |
| |
| bb82: ; preds = %bb81, %bb80 |
| br i1 undef, label %bb84, label %bb45 |
| |
| bb84: ; preds = %bb82 |
| br i1 undef, label %bb85, label %bb45 |
| |
| bb85: ; preds = %bb84 |
| br i1 undef, label %bb87, label %bb86 |
| |
| bb86: ; preds = %bb85 |
| br label %bb88 |
| |
| bb87: ; preds = %bb85 |
| br label %bb88 |
| |
| bb88: ; preds = %bb87, %bb86 |
| br i1 undef, label %bb90, label %bb45 |
| |
| bb90: ; preds = %bb88 |
| br i1 undef, label %bb91, label %bb45 |
| |
| bb91: ; preds = %bb90 |
| br i1 undef, label %bb93, label %bb92 |
| |
| bb92: ; preds = %bb91 |
| br label %bb94 |
| |
| bb93: ; preds = %bb91 |
| br label %bb94 |
| |
| bb94: ; preds = %bb93, %bb92 |
| br i1 undef, label %bb96, label %bb45 |
| |
| bb96: ; preds = %bb94 |
| br i1 undef, label %bb97, label %bb45 |
| |
| bb97: ; preds = %bb96 |
| br i1 undef, label %bb99, label %bb98 |
| |
| bb98: ; preds = %bb97 |
| br label %bb100 |
| |
| bb99: ; preds = %bb97 |
| br label %bb100 |
| |
| bb100: ; preds = %bb99, %bb98 |
| br i1 undef, label %bb102, label %bb45 |
| |
| bb102: ; preds = %bb100 |
| br i1 undef, label %bb104, label %bb45 |
| |
| bb104: ; preds = %bb102 |
| br i1 undef, label %bb108, label %bb105 |
| |
| bb105: ; preds = %bb104 |
| br i1 undef, label %bb108, label %bb45 |
| |
| bb106: ; preds = %bb47 |
| unreachable |
| |
| bb108: ; preds = %bb105, %bb104 |
| br i1 undef, label %bb110, label %bb45 |
| |
| bb110: ; preds = %bb108 |
| br i1 undef, label %bb112, label %bb45 |
| |
| bb112: ; preds = %bb110 |
| br i1 undef, label %bb114, label %bb45 |
| |
| bb114: ; preds = %bb112 |
| br i1 undef, label %bb116, label %bb45 |
| |
| bb116: ; preds = %bb114 |
| br i1 undef, label %bb118, label %bb45 |
| |
| bb118: ; preds = %bb116 |
| br i1 undef, label %bb120, label %bb45 |
| |
| bb120: ; preds = %bb118 |
| br i1 undef, label %bb122, label %bb45 |
| |
| bb122: ; preds = %bb120 |
| br i1 undef, label %bb124, label %bb45 |
| |
| bb124: ; preds = %bb122 |
| br i1 undef, label %bb126, label %bb45 |
| |
| bb126: ; preds = %bb124 |
| br i1 undef, label %bb128, label %bb45 |
| |
| bb128: ; preds = %bb126 |
| br i1 undef, label %bb130, label %bb45 |
| |
| bb130: ; preds = %bb128 |
| br i1 undef, label %bb132, label %bb45 |
| |
| bb132: ; preds = %bb130 |
| br i1 undef, label %bb135, label %bb30 |
| |
| bb134: ; preds = %bb53 |
| unreachable |
| |
| bb135: ; preds = %bb132 |
| br i1 undef, label %bb139, label %bb136 |
| |
| bb136: ; preds = %bb135 |
| br i1 undef, label %bb138, label %bb30 |
| |
| bb138: ; preds = %bb136 |
| br label %bb139 |
| |
| bb139: ; preds = %bb138, %bb135 |
| br i1 undef, label %bb140, label %bb141 |
| |
| bb140: ; preds = %bb139 |
| unreachable |
| |
| bb141: ; preds = %bb139 |
| br i1 undef, label %bb142, label %bb215 |
| |
| bb142: ; preds = %bb141 |
| br i1 undef, label %bb144, label %bb143 |
| |
| bb143: ; preds = %bb142 |
| br label %bb145 |
| |
| bb144: ; preds = %bb142 |
| br label %bb145 |
| |
| bb145: ; preds = %bb144, %bb143 |
| br i1 undef, label %bb146, label %bb151 |
| |
| bb146: ; preds = %bb145 |
| br i1 undef, label %bb148, label %bb153 |
| |
| bb148: ; preds = %bb146 |
| br i1 undef, label %bb155, label %bb149 |
| |
| bb149: ; preds = %bb148 |
| br i1 undef, label %bb150, label %bb153 |
| |
| bb150: ; preds = %bb149 |
| br label %bb155 |
| |
| bb151: ; preds = %bb145 |
| unreachable |
| |
| bb153: ; preds = %bb158, %bb149, %bb146 |
| unreachable |
| |
| bb155: ; preds = %bb150, %bb148 |
| br i1 undef, label %bb157, label %bb156 |
| |
| bb156: ; preds = %bb155 |
| br label %bb158 |
| |
| bb157: ; preds = %bb155 |
| br label %bb158 |
| |
| bb158: ; preds = %bb157, %bb156 |
| br i1 undef, label %bb160, label %bb153 |
| |
| bb160: ; preds = %bb158 |
| br i1 undef, label %bb162, label %bb161 |
| |
| bb161: ; preds = %bb160 |
| br label %bb163 |
| |
| bb162: ; preds = %bb160 |
| br label %bb163 |
| |
| bb163: ; preds = %bb162, %bb161 |
| br i1 undef, label %bb165, label %bb164 |
| |
| bb164: ; preds = %bb163 |
| br label %bb165 |
| |
| bb165: ; preds = %bb164, %bb163 |
| br i1 undef, label %bb170, label %bb166 |
| |
| bb166: ; preds = %bb165 |
| br i1 undef, label %bb167, label %bb168 |
| |
| bb167: ; preds = %bb166 |
| unreachable |
| |
| bb168: ; preds = %bb166 |
| unreachable |
| |
| bb170: ; preds = %bb165 |
| br i1 undef, label %bb215, label %bb171 |
| |
| bb171: ; preds = %bb170 |
| br i1 undef, label %bb173, label %bb30 |
| |
| bb173: ; preds = %bb171 |
| br i1 undef, label %bb174, label %bb215 |
| |
| bb174: ; preds = %bb173 |
| br i1 undef, label %bb176, label %bb30 |
| |
| bb176: ; preds = %bb174 |
| br i1 undef, label %bb178, label %bb30 |
| |
| bb178: ; preds = %bb176 |
| br i1 undef, label %bb179, label %bb193 |
| |
| bb179: ; preds = %bb178 |
| br i1 undef, label %bb181, label %bb180 |
| |
| bb180: ; preds = %bb179 |
| br label %bb182 |
| |
| bb181: ; preds = %bb179 |
| br label %bb182 |
| |
| bb182: ; preds = %bb181, %bb180 |
| br i1 undef, label %bb184, label %bb30 |
| |
| bb184: ; preds = %bb182 |
| %tmp185 = call ptr @returner() |
| br i1 undef, label %bb186, label %bb195 |
| |
| bb186: ; preds = %bb184 |
| %tmp188 = call ptr @llvm.objc.retainAutoreleasedReturnValue(ptr %tmp185) |
| %tmp189 = call ptr @llvm.objc.retain(ptr %tmp188) |
| call void @llvm.objc.release(ptr %tmp189), !clang.imprecise_release !0 |
| br i1 undef, label %bb197, label %bb190 |
| |
| bb190: ; preds = %bb186 |
| br i1 undef, label %bb192, label %bb195 |
| |
| bb192: ; preds = %bb190 |
| br i1 undef, label %bb197, label %bb195 |
| |
| bb193: ; preds = %bb178 |
| br label %bb213 |
| |
| bb195: ; preds = %bb192, %bb190, %bb184 |
| unreachable |
| |
| bb197: ; preds = %bb192, %bb186 |
| br i1 undef, label %bb198, label %bb215 |
| |
| bb198: ; preds = %bb197 |
| br i1 undef, label %bb202, label %bb199 |
| |
| bb199: ; preds = %bb198 |
| br i1 undef, label %bb201, label %bb30 |
| |
| bb201: ; preds = %bb199 |
| br label %bb202 |
| |
| bb202: ; preds = %bb201, %bb198 |
| br i1 undef, label %bb206, label %bb203 |
| |
| bb203: ; preds = %bb202 |
| br i1 undef, label %bb205, label %bb30 |
| |
| bb205: ; preds = %bb203 |
| br label %bb206 |
| |
| bb206: ; preds = %bb205, %bb202 |
| br i1 undef, label %bb210, label %bb207 |
| |
| bb207: ; preds = %bb206 |
| br i1 undef, label %bb209, label %bb30 |
| |
| bb209: ; preds = %bb207 |
| br label %bb210 |
| |
| bb210: ; preds = %bb209, %bb206 |
| br i1 undef, label %bb212, label %bb30 |
| |
| bb212: ; preds = %bb210 |
| unreachable |
| |
| bb213: ; preds = %bb193, %bb30 |
| resume { ptr, i32 } undef |
| |
| bb214: ; preds = %bb42 |
| br label %bb219 |
| |
| bb215: ; preds = %bb197, %bb173, %bb170, %bb141 |
| br i1 undef, label %bb217, label %bb216 |
| |
| bb216: ; preds = %bb215 |
| br label %bb217 |
| |
| bb217: ; preds = %bb216, %bb215 |
| br i1 undef, label %bb219, label %bb218 |
| |
| bb218: ; preds = %bb217 |
| br label %bb219 |
| |
| bb219: ; preds = %bb218, %bb217, %bb214 |
| br i1 undef, label %bb221, label %bb220 |
| |
| bb220: ; preds = %bb219 |
| unreachable |
| |
| bb221: ; preds = %bb219 |
| unreachable |
| |
| bb222: ; preds = %bb20, %bb19 |
| ret void |
| } |
| |
| ; Function Attrs: ssp |
| define void @test3() #1 personality ptr @__gxx_personality_sj0 { |
| entry: |
| %call2 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont unwind label %lpad |
| |
| invoke.cont: ; preds = %entry |
| %call5 = invoke signext i8 @objc_msgSend(ptr undef, ptr undef) |
| to label %invoke.cont4 unwind label %lpad3 |
| |
| invoke.cont4: ; preds = %invoke.cont |
| br i1 undef, label %land.end, label %land.rhs |
| |
| land.rhs: ; preds = %invoke.cont4 |
| %call7 = invoke i32 @objc_msgSend(ptr undef, ptr undef) |
| to label %land.end unwind label %lpad3 |
| |
| land.end: ; preds = %land.rhs, %invoke.cont4 |
| invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont.i unwind label %lpad.i |
| |
| invoke.cont.i: ; preds = %land.end |
| br i1 undef, label %invoke.cont8, label %if.then.i |
| |
| if.then.i: ; preds = %invoke.cont.i |
| br label %invoke.cont8 |
| |
| lpad.i: ; preds = %land.end |
| %tmp13 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| invoke.cont8: ; preds = %if.then.i, %invoke.cont.i |
| %call18 = invoke ptr (ptr, ptr, ptr, ...) @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring, ptr undef) |
| to label %invoke.cont17 unwind label %lpad16 |
| |
| invoke.cont17: ; preds = %invoke.cont8 |
| %call22 = invoke signext i8 @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont21 unwind label %lpad20 |
| |
| invoke.cont21: ; preds = %invoke.cont17 |
| invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont.i1980 unwind label %lpad.i1982 |
| |
| invoke.cont.i1980: ; preds = %invoke.cont21 |
| br i1 undef, label %invoke.cont24, label %if.then.i1981 |
| |
| if.then.i1981: ; preds = %invoke.cont.i1980 |
| br label %invoke.cont24 |
| |
| lpad.i1982: ; preds = %invoke.cont21 |
| %tmp28 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| invoke.cont24: ; preds = %if.then.i1981, %invoke.cont.i1980 |
| %call37 = invoke signext i8 @objc_msgSend(ptr undef, ptr undef) |
| to label %invoke.cont36 unwind label %lpad35 |
| |
| invoke.cont36: ; preds = %invoke.cont24 |
| br i1 undef, label %land.end43, label %land.rhs39 |
| |
| land.rhs39: ; preds = %invoke.cont36 |
| %call41 = invoke signext i8 @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring) |
| to label %land.end43 unwind label %lpad35 |
| |
| land.end43: ; preds = %land.rhs39, %invoke.cont36 |
| invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont.i1986 unwind label %lpad.i1988 |
| |
| invoke.cont.i1986: ; preds = %land.end43 |
| br i1 undef, label %invoke.cont44, label %if.then.i1987 |
| |
| if.then.i1987: ; preds = %invoke.cont.i1986 |
| br label %invoke.cont44 |
| |
| lpad.i1988: ; preds = %land.end43 |
| %tmp42 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| invoke.cont44: ; preds = %if.then.i1987, %invoke.cont.i1986 |
| %call53 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont52 unwind label %lpad51 |
| |
| invoke.cont52: ; preds = %invoke.cont44 |
| br i1 undef, label %land.end70, label %land.rhs58 |
| |
| land.rhs58: ; preds = %invoke.cont52 |
| %call63 = invoke ptr @objc_msgSend(ptr undef, ptr undef, i32 42) |
| to label %invoke.cont62 unwind label %lpad61 |
| |
| invoke.cont62: ; preds = %land.rhs58 |
| %call68 = invoke signext i8 @objc_msgSend(ptr undef, ptr undef, ptr undef) |
| to label %land.end70 unwind label %lpad66.body.thread |
| |
| land.end70: ; preds = %invoke.cont62, %invoke.cont52 |
| invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont.i1992 unwind label %lpad66.body |
| |
| invoke.cont.i1992: ; preds = %land.end70 |
| br i1 undef, label %invoke.cont71, label %if.then.i1993 |
| |
| if.then.i1993: ; preds = %invoke.cont.i1992 |
| br label %invoke.cont71 |
| |
| invoke.cont71: ; preds = %if.then.i1993, %invoke.cont.i1992 |
| invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont.i1998 unwind label %lpad.i2000 |
| |
| invoke.cont.i1998: ; preds = %invoke.cont71 |
| br i1 undef, label %invoke.cont91, label %if.then.i1999 |
| |
| if.then.i1999: ; preds = %invoke.cont.i1998 |
| br label %invoke.cont91 |
| |
| lpad.i2000: ; preds = %invoke.cont71 |
| %tmp74 = landingpad { ptr, i32 } |
| cleanup |
| br label %ehcleanup102 |
| |
| invoke.cont91: ; preds = %if.then.i1999, %invoke.cont.i1998 |
| %call96 = invoke ptr @objc_msgSend(ptr undef, ptr undef) |
| to label %invoke.cont95 unwind label %lpad94 |
| |
| invoke.cont95: ; preds = %invoke.cont91 |
| %call98 = invoke signext i8 @objc_msgSend(ptr undef, ptr undef, ptr %call96) |
| to label %invoke.cont97 unwind label %lpad94 |
| |
| invoke.cont97: ; preds = %invoke.cont95 |
| invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont.i2004 unwind label %lpad.i2006 |
| |
| invoke.cont.i2004: ; preds = %invoke.cont97 |
| br i1 undef, label %invoke.cont100, label %if.then.i2005 |
| |
| if.then.i2005: ; preds = %invoke.cont.i2004 |
| br label %invoke.cont100 |
| |
| lpad.i2006: ; preds = %invoke.cont97 |
| %tmp82 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| invoke.cont100: ; preds = %if.then.i2005, %invoke.cont.i2004 |
| invoke void @objc_msgSend(ptr undef, ptr undef, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont110 unwind label %lpad109 |
| |
| invoke.cont110: ; preds = %invoke.cont100 |
| invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont.i2010 unwind label %lpad.i2012 |
| |
| invoke.cont.i2010: ; preds = %invoke.cont110 |
| br i1 undef, label %invoke.cont117, label %if.then.i2011 |
| |
| if.then.i2011: ; preds = %invoke.cont.i2010 |
| br label %invoke.cont117 |
| |
| lpad.i2012: ; preds = %invoke.cont110 |
| %tmp98 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| invoke.cont117: ; preds = %if.then.i2011, %invoke.cont.i2010 |
| invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont.i2022 unwind label %lpad156.body |
| |
| lpad: ; preds = %entry |
| %tmp118 = landingpad { ptr, i32 } |
| cleanup |
| br label %ehcleanup |
| |
| lpad3: ; preds = %land.rhs, %invoke.cont |
| %tmp119 = landingpad { ptr, i32 } |
| cleanup |
| br label %ehcleanup |
| |
| ehcleanup: ; preds = %lpad3, %lpad |
| unreachable |
| |
| lpad16: ; preds = %invoke.cont8 |
| %tmp121 = landingpad { ptr, i32 } |
| cleanup |
| br label %ehcleanup26 |
| |
| lpad20: ; preds = %invoke.cont17 |
| %tmp122 = landingpad { ptr, i32 } |
| cleanup |
| br label %ehcleanup26 |
| |
| ehcleanup26: ; preds = %lpad20, %lpad16 |
| unreachable |
| |
| lpad35: ; preds = %land.rhs39, %invoke.cont24 |
| %tmp124 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad51: ; preds = %invoke.cont44 |
| %tmp125 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad61: ; preds = %land.rhs58 |
| %tmp127 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad66.body.thread: ; preds = %invoke.cont62 |
| %tmp128 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad66.body: ; preds = %land.end70 |
| %tmp129 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad94: ; preds = %invoke.cont95, %invoke.cont91 |
| %tmp133 = landingpad { ptr, i32 } |
| cleanup |
| br label %ehcleanup102 |
| |
| ehcleanup102: ; preds = %lpad94, %lpad.i2000 |
| unreachable |
| |
| lpad109: ; preds = %invoke.cont100 |
| %tmp134 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| invoke.cont.i2022: ; preds = %invoke.cont117 |
| br i1 undef, label %invoke.cont157, label %if.then.i2023 |
| |
| if.then.i2023: ; preds = %invoke.cont.i2022 |
| br label %invoke.cont157 |
| |
| invoke.cont157: ; preds = %if.then.i2023, %invoke.cont.i2022 |
| invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont.i2028 unwind label %lpad164.body |
| |
| invoke.cont.i2028: ; preds = %invoke.cont157 |
| br i1 undef, label %invoke.cont165, label %if.then.i2029 |
| |
| if.then.i2029: ; preds = %invoke.cont.i2028 |
| br label %invoke.cont165 |
| |
| invoke.cont165: ; preds = %if.then.i2029, %invoke.cont.i2028 |
| invoke void @objc_msgSend(ptr undef, ptr undef, ptr undef) |
| to label %invoke.cont184 unwind label %lpad183 |
| |
| invoke.cont184: ; preds = %invoke.cont165 |
| %call186 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont185 unwind label %lpad183 |
| |
| invoke.cont185: ; preds = %invoke.cont184 |
| invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont.i2034 unwind label %lpad.i2036 |
| |
| invoke.cont.i2034: ; preds = %invoke.cont185 |
| br i1 undef, label %invoke.cont190, label %if.then.i2035 |
| |
| if.then.i2035: ; preds = %invoke.cont.i2034 |
| br label %invoke.cont190 |
| |
| lpad.i2036: ; preds = %invoke.cont185 |
| %tmp168 = landingpad { ptr, i32 } |
| cleanup |
| br label %lpad183.body |
| |
| invoke.cont190: ; preds = %if.then.i2035, %invoke.cont.i2034 |
| invoke void @objc_msgSend(ptr undef, ptr undef, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont197 unwind label %lpad196 |
| |
| invoke.cont197: ; preds = %invoke.cont190 |
| %call202 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont201 unwind label %lpad200 |
| |
| invoke.cont201: ; preds = %invoke.cont197 |
| %call205 = invoke signext i8 @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont204 unwind label %lpad203 |
| |
| invoke.cont204: ; preds = %invoke.cont201 |
| invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont.i2040 unwind label %lpad.i2042 |
| |
| invoke.cont.i2040: ; preds = %invoke.cont204 |
| br i1 undef, label %invoke.cont207, label %if.then.i2041 |
| |
| if.then.i2041: ; preds = %invoke.cont.i2040 |
| br label %invoke.cont207 |
| |
| lpad.i2042: ; preds = %invoke.cont204 |
| %tmp181 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| invoke.cont207: ; preds = %if.then.i2041, %invoke.cont.i2040 |
| %call209 = invoke ptr @objc_msgSend(ptr undef, ptr undef) |
| to label %invoke.cont208 unwind label %lpad203 |
| |
| invoke.cont208: ; preds = %invoke.cont207 |
| invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont.i2046 unwind label %lpad212.body |
| |
| invoke.cont.i2046: ; preds = %invoke.cont208 |
| br i1 undef, label %invoke.cont213, label %if.then.i2047 |
| |
| if.then.i2047: ; preds = %invoke.cont.i2046 |
| br label %invoke.cont213 |
| |
| invoke.cont213: ; preds = %if.then.i2047, %invoke.cont.i2046 |
| invoke void @objc_msgSend(ptr undef, ptr undef, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont221 unwind label %lpad220 |
| |
| invoke.cont221: ; preds = %invoke.cont213 |
| %call229 = invoke signext i8 @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont228 unwind label %lpad227 |
| |
| invoke.cont228: ; preds = %invoke.cont221 |
| invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont.i2052 unwind label %lpad.i2054 |
| |
| invoke.cont.i2052: ; preds = %invoke.cont228 |
| br i1 undef, label %invoke.cont231, label %if.then.i2053 |
| |
| if.then.i2053: ; preds = %invoke.cont.i2052 |
| br label %invoke.cont231 |
| |
| lpad.i2054: ; preds = %invoke.cont228 |
| %tmp198 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| invoke.cont231: ; preds = %if.then.i2053, %invoke.cont.i2052 |
| %call233 = invoke ptr @objc_msgSend(ptr undef, ptr undef) |
| to label %invoke.cont232 unwind label %lpad227 |
| |
| invoke.cont232: ; preds = %invoke.cont231 |
| invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont.i2058 unwind label %lpad236.body |
| |
| invoke.cont.i2058: ; preds = %invoke.cont232 |
| br i1 undef, label %invoke.cont237, label %if.then.i2059 |
| |
| if.then.i2059: ; preds = %invoke.cont.i2058 |
| br label %invoke.cont237 |
| |
| invoke.cont237: ; preds = %if.then.i2059, %invoke.cont.i2058 |
| %call246 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont245 unwind label %lpad244 |
| |
| invoke.cont245: ; preds = %invoke.cont237 |
| %call248 = invoke ptr @objc_msgSend(ptr undef, ptr undef, i32 13) |
| to label %invoke.cont247 unwind label %lpad244 |
| |
| invoke.cont247: ; preds = %invoke.cont245 |
| %call251 = invoke ptr @objc_msgSend(ptr undef, ptr undef, i32 2) |
| to label %invoke.cont250 unwind label %lpad249 |
| |
| invoke.cont250: ; preds = %invoke.cont247 |
| %call254 = invoke ptr @objc_msgSend(ptr undef, ptr undef, i32 7) |
| to label %invoke.cont253 unwind label %lpad252 |
| |
| invoke.cont253: ; preds = %invoke.cont250 |
| %call257 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr undef, i32 3) |
| to label %invoke.cont256 unwind label %lpad255 |
| |
| invoke.cont256: ; preds = %invoke.cont253 |
| %call260 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr undef, ptr undef) |
| to label %invoke.cont259 unwind label %lpad258 |
| |
| invoke.cont259: ; preds = %invoke.cont256 |
| %call267 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont266 unwind label %lpad265 |
| |
| invoke.cont266: ; preds = %invoke.cont259 |
| %call275 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr undef) |
| to label %invoke.cont274 unwind label %lpad273 |
| |
| invoke.cont274: ; preds = %invoke.cont266 |
| %call279 = invoke i32 @objc_msgSend(ptr undef, ptr undef) |
| to label %invoke.cont278 unwind label %lpad277 |
| |
| invoke.cont278: ; preds = %invoke.cont274 |
| invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont.i2064 unwind label %lpad.i2066 |
| |
| invoke.cont.i2064: ; preds = %invoke.cont278 |
| br i1 undef, label %invoke.cont281, label %if.then.i2065 |
| |
| if.then.i2065: ; preds = %invoke.cont.i2064 |
| br label %invoke.cont281 |
| |
| lpad.i2066: ; preds = %invoke.cont278 |
| %tmp253 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| invoke.cont281: ; preds = %if.then.i2065, %invoke.cont.i2064 |
| %call291 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont290 unwind label %lpad289 |
| |
| invoke.cont290: ; preds = %invoke.cont281 |
| %call303 = invoke ptr @objc_msgSend(ptr undef, ptr undef, i32 8) |
| to label %invoke.cont302 unwind label %lpad301 |
| |
| invoke.cont302: ; preds = %invoke.cont290 |
| %call310 = invoke ptr @objc_msgSend(ptr undef, ptr undef, double 5.000000e-01) |
| to label %invoke.cont309 unwind label %lpad308 |
| |
| invoke.cont309: ; preds = %invoke.cont302 |
| %call313 = invoke ptr @objc_msgSend(ptr undef, ptr undef, i32 42) |
| to label %invoke.cont312 unwind label %lpad311 |
| |
| invoke.cont312: ; preds = %invoke.cont309 |
| %call316 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr undef, ptr undef, i32 2) |
| to label %invoke.cont315 unwind label %lpad314 |
| |
| invoke.cont315: ; preds = %invoke.cont312 |
| %call322 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr undef) |
| to label %invoke.cont321 unwind label %lpad320 |
| |
| invoke.cont321: ; preds = %invoke.cont315 |
| br i1 undef, label %land.end344, label %land.rhs335 |
| |
| land.rhs335: ; preds = %invoke.cont321 |
| %call342 = invoke signext i8 @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring) |
| to label %land.end344 unwind label %lpad340.body.thread |
| |
| land.end344: ; preds = %land.rhs335, %invoke.cont321 |
| invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont.i2070 unwind label %lpad340.body |
| |
| invoke.cont.i2070: ; preds = %land.end344 |
| br i1 undef, label %invoke.cont345, label %if.then.i2071 |
| |
| if.then.i2071: ; preds = %invoke.cont.i2070 |
| br label %invoke.cont345 |
| |
| invoke.cont345: ; preds = %if.then.i2071, %invoke.cont.i2070 |
| %call362 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr undef) |
| to label %invoke.cont361 unwind label %lpad360 |
| |
| invoke.cont361: ; preds = %invoke.cont345 |
| %call365 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont364 unwind label %lpad363 |
| |
| invoke.cont364: ; preds = %invoke.cont361 |
| %call371 = invoke i32 @objc_msgSend(ptr undef, ptr undef) |
| to label %invoke.cont370 unwind label %lpad369 |
| |
| invoke.cont370: ; preds = %invoke.cont364 |
| invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont.i2076 unwind label %lpad.i2078 |
| |
| invoke.cont.i2076: ; preds = %invoke.cont370 |
| br i1 undef, label %invoke.cont373, label %if.then.i2077 |
| |
| if.then.i2077: ; preds = %invoke.cont.i2076 |
| br label %invoke.cont373 |
| |
| lpad.i2078: ; preds = %invoke.cont370 |
| %tmp340 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| invoke.cont373: ; preds = %if.then.i2077, %invoke.cont.i2076 |
| %call377 = invoke ptr @objc_msgSend(ptr undef, ptr undef, i32 42, ptr undef) |
| to label %invoke.cont376 unwind label %lpad363 |
| |
| invoke.cont376: ; preds = %invoke.cont373 |
| invoke void @objc_msgSend(ptr undef, ptr undef, ptr undef, i32 5) |
| to label %invoke.cont382 unwind label %lpad381 |
| |
| invoke.cont382: ; preds = %invoke.cont376 |
| %call384 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont383 unwind label %lpad381 |
| |
| invoke.cont383: ; preds = %invoke.cont382 |
| invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont.i2082 unwind label %lpad.i2084 |
| |
| invoke.cont.i2082: ; preds = %invoke.cont383 |
| br i1 undef, label %invoke.cont392, label %if.then.i2083 |
| |
| if.then.i2083: ; preds = %invoke.cont.i2082 |
| br label %invoke.cont392 |
| |
| lpad.i2084: ; preds = %invoke.cont383 |
| %tmp360 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| invoke.cont392: ; preds = %if.then.i2083, %invoke.cont.i2082 |
| invoke void @objc_msgSend(ptr undef, ptr undef, ptr undef, i32 -2) |
| to label %invoke.cont395 unwind label %lpad381 |
| |
| invoke.cont395: ; preds = %invoke.cont392 |
| %call397 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont396 unwind label %lpad381 |
| |
| invoke.cont396: ; preds = %invoke.cont395 |
| %call400 = invoke ptr @objc_msgSend(ptr undef, ptr undef) |
| to label %invoke.cont399 unwind label %lpad398 |
| |
| invoke.cont399: ; preds = %invoke.cont396 |
| %call403 = invoke i32 @objc_msgSend(ptr undef, ptr undef) |
| to label %invoke.cont402 unwind label %lpad401 |
| |
| invoke.cont402: ; preds = %invoke.cont399 |
| invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont.i2088 unwind label %lpad.i2090 |
| |
| invoke.cont.i2088: ; preds = %invoke.cont402 |
| br i1 undef, label %invoke.cont405, label %if.then.i2089 |
| |
| if.then.i2089: ; preds = %invoke.cont.i2088 |
| br label %invoke.cont405 |
| |
| lpad.i2090: ; preds = %invoke.cont402 |
| %tmp370 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| invoke.cont405: ; preds = %if.then.i2089, %invoke.cont.i2088 |
| invoke void @objc_msgSend(ptr undef, ptr undef, ptr undef, i32 -1) |
| to label %invoke.cont408 unwind label %lpad381 |
| |
| invoke.cont408: ; preds = %invoke.cont405 |
| %call410 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont409 unwind label %lpad381 |
| |
| invoke.cont409: ; preds = %invoke.cont408 |
| %call413 = invoke ptr @objc_msgSend(ptr undef, ptr undef) |
| to label %invoke.cont412 unwind label %lpad411 |
| |
| invoke.cont412: ; preds = %invoke.cont409 |
| invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont.i2094 unwind label %lpad.i2096 |
| |
| invoke.cont.i2094: ; preds = %invoke.cont412 |
| br i1 undef, label %invoke.cont418, label %if.then.i2095 |
| |
| if.then.i2095: ; preds = %invoke.cont.i2094 |
| br label %invoke.cont418 |
| |
| lpad.i2096: ; preds = %invoke.cont412 |
| %tmp380 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| invoke.cont418: ; preds = %if.then.i2095, %invoke.cont.i2094 |
| invoke void @objc_msgSend(ptr undef, ptr undef, ptr undef, i32 0) |
| to label %invoke.cont422 unwind label %lpad381 |
| |
| invoke.cont422: ; preds = %invoke.cont418 |
| %call424 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont423 unwind label %lpad381 |
| |
| invoke.cont423: ; preds = %invoke.cont422 |
| %call427 = invoke ptr @objc_msgSend(ptr undef, ptr undef) |
| to label %invoke.cont426 unwind label %lpad425 |
| |
| invoke.cont426: ; preds = %invoke.cont423 |
| %call430 = invoke i32 @objc_msgSend(ptr undef, ptr undef) |
| to label %invoke.cont429 unwind label %lpad428 |
| |
| invoke.cont429: ; preds = %invoke.cont426 |
| invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont.i2100 unwind label %lpad.i2102 |
| |
| invoke.cont.i2100: ; preds = %invoke.cont429 |
| br i1 undef, label %invoke.cont432, label %if.then.i2101 |
| |
| if.then.i2101: ; preds = %invoke.cont.i2100 |
| br label %invoke.cont432 |
| |
| lpad.i2102: ; preds = %invoke.cont429 |
| %tmp390 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| invoke.cont432: ; preds = %if.then.i2101, %invoke.cont.i2100 |
| %call436 = invoke ptr @objc_msgSend(ptr undef, ptr undef, i32 0) |
| to label %invoke.cont435 unwind label %lpad381 |
| |
| invoke.cont435: ; preds = %invoke.cont432 |
| invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont.i2106 unwind label %lpad.i2108 |
| |
| invoke.cont.i2106: ; preds = %invoke.cont435 |
| %call444 = invoke ptr @objc_msgSend(ptr undef, ptr undef, i32 5) |
| to label %invoke.cont443 unwind label %lpad381 |
| |
| lpad.i2108: ; preds = %invoke.cont435 |
| %tmp396 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| invoke.cont443: ; preds = %invoke.cont.i2106 |
| invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont.i2112 unwind label %lpad.i2114 |
| |
| invoke.cont.i2112: ; preds = %invoke.cont443 |
| br i1 undef, label %invoke.cont449, label %if.then.i2113 |
| |
| if.then.i2113: ; preds = %invoke.cont.i2112 |
| br label %invoke.cont449 |
| |
| lpad.i2114: ; preds = %invoke.cont443 |
| %tmp402 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| invoke.cont449: ; preds = %if.then.i2113, %invoke.cont.i2112 |
| %call453 = invoke ptr @objc_msgSend(ptr undef, ptr undef, i32 -2) |
| to label %invoke.cont452 unwind label %lpad381 |
| |
| invoke.cont452: ; preds = %invoke.cont449 |
| %call456 = invoke i32 @objc_msgSend(ptr undef, ptr undef) |
| to label %invoke.cont455 unwind label %lpad454 |
| |
| invoke.cont455: ; preds = %invoke.cont452 |
| invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont.i2118 unwind label %lpad.i2120 |
| |
| invoke.cont.i2118: ; preds = %invoke.cont455 |
| br i1 undef, label %invoke.cont458, label %if.then.i2119 |
| |
| if.then.i2119: ; preds = %invoke.cont.i2118 |
| br label %invoke.cont458 |
| |
| lpad.i2120: ; preds = %invoke.cont455 |
| %tmp408 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| invoke.cont458: ; preds = %if.then.i2119, %invoke.cont.i2118 |
| %call461 = invoke ptr @objc_msgSend(ptr undef, ptr undef, i32 -1) |
| to label %invoke.cont460 unwind label %lpad381 |
| |
| invoke.cont460: ; preds = %invoke.cont458 |
| invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont.i2124 unwind label %lpad.i2126 |
| |
| invoke.cont.i2124: ; preds = %invoke.cont460 |
| br i1 undef, label %invoke.cont466, label %if.then.i2125 |
| |
| if.then.i2125: ; preds = %invoke.cont.i2124 |
| br label %invoke.cont466 |
| |
| lpad.i2126: ; preds = %invoke.cont460 |
| %tmp414 = landingpad { ptr, i32 } |
| cleanup |
| br label %ehcleanup477 |
| |
| invoke.cont466: ; preds = %if.then.i2125, %invoke.cont.i2124 |
| %call470 = invoke ptr @objc_msgSend(ptr undef, ptr undef, i32 0) |
| to label %invoke.cont469 unwind label %lpad381 |
| |
| invoke.cont469: ; preds = %invoke.cont466 |
| invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont.i2130 unwind label %lpad.i2132 |
| |
| invoke.cont.i2130: ; preds = %invoke.cont469 |
| br i1 undef, label %invoke.cont475, label %if.then.i2131 |
| |
| if.then.i2131: ; preds = %invoke.cont.i2130 |
| br label %invoke.cont475 |
| |
| lpad.i2132: ; preds = %invoke.cont469 |
| %tmp420 = landingpad { ptr, i32 } |
| cleanup |
| br label %ehcleanup477 |
| |
| invoke.cont475: ; preds = %if.then.i2131, %invoke.cont.i2130 |
| %call491 = invoke ptr @objc_msgSend(ptr undef, ptr undef, i32 1) |
| to label %invoke.cont490 unwind label %lpad489 |
| |
| invoke.cont490: ; preds = %invoke.cont475 |
| invoke void @objc_msgSend(ptr undef, ptr undef, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont499 unwind label %lpad498 |
| |
| invoke.cont499: ; preds = %invoke.cont490 |
| %call504 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont503 unwind label %lpad489 |
| |
| invoke.cont503: ; preds = %invoke.cont499 |
| %call507 = invoke ptr @objc_msgSend(ptr undef, ptr undef, i32 3) |
| to label %invoke.cont506 unwind label %lpad505 |
| |
| invoke.cont506: ; preds = %invoke.cont503 |
| invoke void @objc_msgSend(ptr undef, ptr undef, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont509 unwind label %lpad508 |
| |
| invoke.cont509: ; preds = %invoke.cont506 |
| %call513 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont512 unwind label %lpad489 |
| |
| invoke.cont512: ; preds = %invoke.cont509 |
| br i1 undef, label %msgSend.null-receiver, label %msgSend.call |
| |
| msgSend.call: ; preds = %invoke.cont512 |
| invoke void @objc_msgSend_stret(ptr sret(%struct.CGPoint) undef, ptr undef, ptr undef) |
| to label %msgSend.cont unwind label %lpad514 |
| |
| msgSend.null-receiver: ; preds = %invoke.cont512 |
| br label %msgSend.cont |
| |
| msgSend.cont: ; preds = %msgSend.null-receiver, %msgSend.call |
| invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont.i2136 unwind label %lpad.i2138 |
| |
| invoke.cont.i2136: ; preds = %msgSend.cont |
| br i1 undef, label %invoke.cont521, label %if.then.i2137 |
| |
| if.then.i2137: ; preds = %invoke.cont.i2136 |
| br label %invoke.cont521 |
| |
| lpad.i2138: ; preds = %msgSend.cont |
| %tmp468 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| invoke.cont521: ; preds = %if.then.i2137, %invoke.cont.i2136 |
| invoke void @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring, ptr undef) |
| to label %invoke.cont528 unwind label %lpad527 |
| |
| invoke.cont528: ; preds = %invoke.cont521 |
| %call532 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont531 unwind label %lpad489 |
| |
| invoke.cont531: ; preds = %invoke.cont528 |
| %call535 = invoke ptr @objc_msgSend(ptr undef, ptr undef) |
| to label %invoke.cont534 unwind label %lpad533 |
| |
| invoke.cont534: ; preds = %invoke.cont531 |
| invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont.i2142 unwind label %lpad.i2144 |
| |
| invoke.cont.i2142: ; preds = %invoke.cont534 |
| br i1 undef, label %invoke.cont540, label %if.then.i2143 |
| |
| if.then.i2143: ; preds = %invoke.cont.i2142 |
| br label %invoke.cont540 |
| |
| lpad.i2144: ; preds = %invoke.cont534 |
| %tmp486 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| invoke.cont540: ; preds = %if.then.i2143, %invoke.cont.i2142 |
| %call544 = invoke ptr @objc_msgSend(ptr @_unnamed_cfstring, ptr undef, i32 3) |
| to label %invoke.cont543 unwind label %lpad489 |
| |
| invoke.cont543: ; preds = %invoke.cont540 |
| invoke void @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring, ptr undef) |
| to label %invoke.cont546 unwind label %lpad545 |
| |
| invoke.cont546: ; preds = %invoke.cont543 |
| %call549 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont548 unwind label %lpad489 |
| |
| invoke.cont548: ; preds = %invoke.cont546 |
| %call555 = invoke signext i8 @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont554 unwind label %lpad553 |
| |
| invoke.cont554: ; preds = %invoke.cont548 |
| %tmp499 = call ptr @llvm.objc.retain(ptr @_unnamed_cfstring) #3 |
| invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr %tmp499, ptr @_unnamed_cfstring) |
| to label %invoke.cont.i2148 unwind label %lpad.i2150 |
| |
| invoke.cont.i2148: ; preds = %invoke.cont554 |
| call void @llvm.objc.release(ptr %tmp499) #3, !clang.imprecise_release !0 |
| invoke void @objc_msgSend(ptr undef, ptr undef, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont566 unwind label %lpad565 |
| |
| lpad.i2150: ; preds = %invoke.cont554 |
| %tmp500 = landingpad { ptr, i32 } |
| cleanup |
| call void @llvm.objc.release(ptr %tmp499) #3, !clang.imprecise_release !0 |
| unreachable |
| |
| invoke.cont566: ; preds = %invoke.cont.i2148 |
| invoke void @objc_msgSend(ptr undef, ptr undef, ptr undef, ptr @_unnamed_cfstring) |
| to label %invoke.cont572 unwind label %lpad571 |
| |
| invoke.cont572: ; preds = %invoke.cont566 |
| %call582 = invoke ptr @objc_msgSend(ptr undef, ptr undef) |
| to label %invoke.cont581 unwind label %lpad580 |
| |
| invoke.cont581: ; preds = %invoke.cont572 |
| unreachable |
| |
| lpad156.body: ; preds = %invoke.cont117 |
| %tmp1157 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad164.body: ; preds = %invoke.cont157 |
| %tmp1158 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad183: ; preds = %invoke.cont184, %invoke.cont165 |
| %tmp1159 = landingpad { ptr, i32 } |
| cleanup |
| br label %lpad183.body |
| |
| lpad183.body: ; preds = %lpad183, %lpad.i2036 |
| unreachable |
| |
| lpad196: ; preds = %invoke.cont190 |
| %tmp1160 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad200: ; preds = %invoke.cont197 |
| %tmp1161 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad203: ; preds = %invoke.cont207, %invoke.cont201 |
| %tmp1162 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad212.body: ; preds = %invoke.cont208 |
| %tmp1163 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad220: ; preds = %invoke.cont213 |
| %tmp1164 = landingpad { ptr, i32 } |
| cleanup |
| br label %eh.resume |
| |
| lpad227: ; preds = %invoke.cont231, %invoke.cont221 |
| %tmp1166 = landingpad { ptr, i32 } |
| cleanup |
| br label %ehcleanup239 |
| |
| lpad236.body: ; preds = %invoke.cont232 |
| %tmp1167 = landingpad { ptr, i32 } |
| cleanup |
| br label %ehcleanup239 |
| |
| ehcleanup239: ; preds = %lpad236.body, %lpad227 |
| unreachable |
| |
| lpad244: ; preds = %invoke.cont245, %invoke.cont237 |
| %tmp1168 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad249: ; preds = %invoke.cont247 |
| %tmp1169 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad252: ; preds = %invoke.cont250 |
| %tmp1170 = landingpad { ptr, i32 } |
| cleanup |
| br label %ehcleanup263 |
| |
| lpad255: ; preds = %invoke.cont253 |
| %tmp1171 = landingpad { ptr, i32 } |
| cleanup |
| br label %ehcleanup263 |
| |
| lpad258: ; preds = %invoke.cont256 |
| %tmp1172 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| ehcleanup263: ; preds = %lpad255, %lpad252 |
| unreachable |
| |
| lpad265: ; preds = %invoke.cont259 |
| %tmp1173 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad273: ; preds = %invoke.cont266 |
| %tmp1175 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad277: ; preds = %invoke.cont274 |
| %tmp1176 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad289: ; preds = %invoke.cont281 |
| %tmp1177 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad301: ; preds = %invoke.cont290 |
| %tmp1180 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad308: ; preds = %invoke.cont302 |
| %tmp1182 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad311: ; preds = %invoke.cont309 |
| %tmp1183 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad314: ; preds = %invoke.cont312 |
| %tmp1184 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad320: ; preds = %invoke.cont315 |
| %tmp1186 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad340.body.thread: ; preds = %land.rhs335 |
| %tmp1188 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad340.body: ; preds = %land.end344 |
| %tmp1189 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad360: ; preds = %invoke.cont345 |
| %tmp1191 = landingpad { ptr, i32 } |
| cleanup |
| br label %eh.resume |
| |
| lpad363: ; preds = %invoke.cont373, %invoke.cont361 |
| %tmp1192 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad369: ; preds = %invoke.cont364 |
| %tmp1194 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad381: ; preds = %invoke.cont466, %invoke.cont458, %invoke.cont449, %invoke.cont.i2106, %invoke.cont432, %invoke.cont422, %invoke.cont418, %invoke.cont408, %invoke.cont405, %invoke.cont395, %invoke.cont392, %invoke.cont382, %invoke.cont376 |
| %tmp1196 = landingpad { ptr, i32 } |
| cleanup |
| br label %ehcleanup477 |
| |
| lpad398: ; preds = %invoke.cont396 |
| %tmp1199 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad401: ; preds = %invoke.cont399 |
| %tmp1200 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad411: ; preds = %invoke.cont409 |
| %tmp1201 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad425: ; preds = %invoke.cont423 |
| %tmp1203 = landingpad { ptr, i32 } |
| cleanup |
| br label %ehcleanup477 |
| |
| lpad428: ; preds = %invoke.cont426 |
| %tmp1204 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad454: ; preds = %invoke.cont452 |
| %tmp1207 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| ehcleanup477: ; preds = %lpad425, %lpad381, %lpad.i2132, %lpad.i2126 |
| unreachable |
| |
| lpad489: ; preds = %invoke.cont546, %invoke.cont540, %invoke.cont528, %invoke.cont509, %invoke.cont499, %invoke.cont475 |
| %tmp1211 = landingpad { ptr, i32 } |
| cleanup |
| br label %ehcleanup560 |
| |
| lpad498: ; preds = %invoke.cont490 |
| %tmp1214 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad505: ; preds = %invoke.cont503 |
| %tmp1215 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad508: ; preds = %invoke.cont506 |
| %tmp1216 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad514: ; preds = %msgSend.call |
| %tmp1217 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad527: ; preds = %invoke.cont521 |
| %tmp1219 = landingpad { ptr, i32 } |
| cleanup |
| br label %ehcleanup560 |
| |
| lpad533: ; preds = %invoke.cont531 |
| %tmp1220 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad545: ; preds = %invoke.cont543 |
| %tmp1222 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad553: ; preds = %invoke.cont548 |
| %tmp1224 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| ehcleanup560: ; preds = %lpad527, %lpad489 |
| br label %eh.resume |
| |
| lpad565: ; preds = %invoke.cont.i2148 |
| %tmp1225 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad571: ; preds = %invoke.cont566 |
| %tmp1227 = landingpad { ptr, i32 } |
| cleanup |
| unreachable |
| |
| lpad580: ; preds = %invoke.cont572 |
| %tmp1228 = landingpad { ptr, i32 } |
| cleanup |
| br label %eh.resume |
| |
| eh.resume: ; preds = %lpad580, %ehcleanup560, %lpad360, %lpad220 |
| resume { ptr, i32 } undef |
| } |
| |
| @"OBJC_EHTYPE_$_NSException" = external global i8 |
| |
| define void @test4() personality ptr @__objc_personality_v0 { |
| entry: |
| br i1 undef, label %if.end13, label %if.then10 |
| |
| if.then10: ; preds = %entry |
| br label %if.end13 |
| |
| if.end13: ; preds = %if.then10, %entry |
| %0 = call ptr @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring, i64 2, ptr @_unnamed_cfstring_2, i8 signext 0), !clang.arc.no_objc_arc_exceptions !0 |
| br i1 undef, label %if.then17, label %if.end18 |
| |
| if.then17: ; preds = %if.end13 |
| br label %if.end18 |
| |
| if.end18: ; preds = %if.then17, %if.end13 |
| br i1 undef, label %if.then64, label %if.end73 |
| |
| if.then64: ; preds = %if.end18 |
| br i1 undef, label %cond.end71, label %cond.true68 |
| |
| cond.true68: ; preds = %if.then64 |
| br label %cond.end71 |
| |
| cond.end71: ; preds = %cond.true68, %if.then64 |
| br i1 undef, label %cleanup.action, label %cleanup.done |
| |
| cleanup.action: ; preds = %cond.end71 |
| br label %cleanup.done |
| |
| cleanup.done: ; preds = %cleanup.action, %cond.end71 |
| br label %if.end73 |
| |
| if.end73: ; preds = %cleanup.done, %if.end18 |
| br i1 undef, label %forcoll.empty, label %forcoll.loopinit |
| |
| forcoll.loopinit: ; preds = %if.end73 |
| br label %forcoll.loopbody.outer |
| |
| forcoll.loopbody.outer: ; preds = %forcoll.refetch, %forcoll.loopinit |
| br label %forcoll.loopbody |
| |
| forcoll.loopbody: ; preds = %forcoll.notmutated, %forcoll.loopbody.outer |
| br i1 undef, label %forcoll.notmutated, label %forcoll.mutated |
| |
| forcoll.mutated: ; preds = %forcoll.loopbody |
| br label %forcoll.notmutated |
| |
| forcoll.notmutated: ; preds = %forcoll.mutated, %forcoll.loopbody |
| br i1 undef, label %forcoll.loopbody, label %forcoll.refetch |
| |
| forcoll.refetch: ; preds = %forcoll.notmutated |
| br i1 undef, label %forcoll.empty, label %forcoll.loopbody.outer |
| |
| forcoll.empty: ; preds = %forcoll.refetch, %if.end73 |
| br i1 undef, label %if.end85, label %if.then82 |
| |
| if.then82: ; preds = %forcoll.empty |
| br label %if.end85 |
| |
| if.end85: ; preds = %if.then82, %forcoll.empty |
| br i1 undef, label %if.then87, label %if.end102 |
| |
| if.then87: ; preds = %if.end85 |
| br i1 undef, label %if.end94, label %if.then91 |
| |
| if.then91: ; preds = %if.then87 |
| br label %if.end94 |
| |
| if.end94: ; preds = %if.then91, %if.then87 |
| br i1 undef, label %if.end101, label %if.then98 |
| |
| if.then98: ; preds = %if.end94 |
| br label %if.end101 |
| |
| if.end101: ; preds = %if.then98, %if.end94 |
| br label %if.end102 |
| |
| if.end102: ; preds = %if.end101, %if.end85 |
| br i1 undef, label %do.body113, label %if.then107 |
| |
| if.then107: ; preds = %if.end102 |
| br label %do.body113 |
| |
| do.body113: ; preds = %if.then107, %if.end102 |
| br i1 undef, label %if.then116, label %if.end117 |
| |
| if.then116: ; preds = %do.body113 |
| br label %if.end117 |
| |
| if.end117: ; preds = %if.then116, %do.body113 |
| br i1 undef, label %if.then125, label %if.end126 |
| |
| if.then125: ; preds = %if.end117 |
| br label %if.end126 |
| |
| if.end126: ; preds = %if.then125, %if.end117 |
| br i1 undef, label %do.end166, label %cond.true132 |
| |
| cond.true132: ; preds = %if.end126 |
| br i1 undef, label %do.body148, label %cond.true151 |
| |
| do.body148: ; preds = %cond.true132 |
| br i1 undef, label %do.end166, label %cond.true151 |
| |
| cond.true151: ; preds = %do.body148, %cond.true132 |
| br i1 undef, label %if.then162, label %do.end166 |
| |
| if.then162: ; preds = %cond.true151 |
| br label %do.end166 |
| |
| do.end166: ; preds = %if.then162, %cond.true151, %do.body148, %if.end126 |
| br i1 undef, label %if.then304, label %if.then170 |
| |
| if.then170: ; preds = %do.end166 |
| br i1 undef, label %do.end193, label %cond.true179 |
| |
| cond.true179: ; preds = %if.then170 |
| br i1 undef, label %if.then190, label %do.end193 |
| |
| if.then190: ; preds = %cond.true179 |
| br label %do.end193 |
| |
| do.end193: ; preds = %if.then190, %cond.true179, %if.then170 |
| br i1 undef, label %do.body200, label %do.body283 |
| |
| do.body200: ; preds = %do.end193 |
| br i1 undef, label %do.end254, label %cond.true203 |
| |
| cond.true203: ; preds = %do.body200 |
| br i1 undef, label %do.body218, label %cond.true221 |
| |
| do.body218: ; preds = %cond.true203 |
| br i1 undef, label %do.end254, label %cond.true221 |
| |
| cond.true221: ; preds = %do.body218, %cond.true203 |
| br i1 undef, label %if.then232, label %do.body236 |
| |
| if.then232: ; preds = %cond.true221 |
| br label %do.body236 |
| |
| do.body236: ; preds = %if.then232, %cond.true221 |
| br i1 undef, label %do.end254, label %cond.true239 |
| |
| cond.true239: ; preds = %do.body236 |
| br i1 undef, label %if.then250, label %do.end254 |
| |
| if.then250: ; preds = %cond.true239 |
| br label %do.end254 |
| |
| do.end254: ; preds = %if.then250, %cond.true239, %do.body236, %do.body218, %do.body200 |
| br i1 undef, label %do.end277, label %cond.true263 |
| |
| cond.true263: ; preds = %do.end254 |
| br i1 undef, label %if.then274, label %do.end277 |
| |
| if.then274: ; preds = %cond.true263 |
| unreachable |
| |
| do.end277: ; preds = %cond.true263, %do.end254 |
| br i1 undef, label %if.then280, label %do.body283 |
| |
| if.then280: ; preds = %do.end277 |
| br label %do.body283 |
| |
| do.body283: ; preds = %if.then280, %do.end277, %do.end193 |
| br i1 undef, label %if.end301, label %cond.true286 |
| |
| cond.true286: ; preds = %do.body283 |
| br i1 undef, label %if.then297, label %if.end301 |
| |
| if.then297: ; preds = %cond.true286 |
| br label %if.end301 |
| |
| if.end301: ; preds = %if.then297, %cond.true286, %do.body283 |
| br i1 undef, label %if.then304, label %do.body351 |
| |
| if.then304: ; preds = %if.end301, %do.end166 |
| br i1 undef, label %do.body309.lr.ph, label %do.body351 |
| |
| do.body309.lr.ph: ; preds = %if.then304 |
| br label %do.body309 |
| |
| do.body309: ; preds = %for.cond.backedge, %do.body309.lr.ph |
| br i1 undef, label %do.end328, label %cond.true312 |
| |
| cond.true312: ; preds = %do.body309 |
| br i1 undef, label %if.then323, label %do.end328 |
| |
| if.then323: ; preds = %cond.true312 |
| br label %do.end328 |
| |
| do.end328: ; preds = %if.then323, %cond.true312, %do.body309 |
| br i1 undef, label %for.cond.backedge, label %cond.true335 |
| |
| for.cond.backedge: ; preds = %if.then346, %cond.true335, %do.end328 |
| br i1 undef, label %do.body309, label %do.body351 |
| |
| cond.true335: ; preds = %do.end328 |
| br i1 undef, label %if.then346, label %for.cond.backedge |
| |
| if.then346: ; preds = %cond.true335 |
| br label %for.cond.backedge |
| |
| do.body351: ; preds = %for.cond.backedge, %if.then304, %if.end301 |
| br i1 undef, label %if.then354, label %if.end355 |
| |
| if.then354: ; preds = %do.body351 |
| br label %if.end355 |
| |
| if.end355: ; preds = %if.then354, %do.body351 |
| br i1 undef, label %if.else, label %if.then364 |
| |
| if.then364: ; preds = %if.end355 |
| br label %do.body366 |
| |
| if.else: ; preds = %if.end355 |
| br label %do.body366 |
| |
| do.body366: ; preds = %if.else, %if.then364 |
| br i1 undef, label %if.then369, label %if.end377.critedge |
| |
| if.then369: ; preds = %do.body366 |
| br label %if.end377 |
| |
| if.end377.critedge: ; preds = %do.body366 |
| br label %if.end377 |
| |
| if.end377: ; preds = %if.end377.critedge, %if.then369 |
| br i1 undef, label %if.then383, label %if.end392.critedge |
| |
| if.then383: ; preds = %if.end377 |
| br label %if.end392 |
| |
| if.end392.critedge: ; preds = %if.end377 |
| br label %if.end392 |
| |
| if.end392: ; preds = %if.end392.critedge, %if.then383 |
| br i1 undef, label %if.then398, label %if.end399 |
| |
| if.then398: ; preds = %if.end392 |
| br label %if.end399 |
| |
| if.end399: ; preds = %if.then398, %if.end392 |
| invoke void @objc_msgSend(ptr undef, ptr undef) |
| to label %eh.cont unwind label %lpad, !clang.arc.no_objc_arc_exceptions !0 |
| |
| eh.cont: ; preds = %if.end399 |
| br i1 undef, label %if.then430, label %if.end439.critedge |
| |
| if.then430: ; preds = %eh.cont |
| %1 = call ptr @llvm.objc.retain(ptr %0) |
| br label %if.end439 |
| |
| lpad: ; preds = %if.end399 |
| %2 = landingpad { ptr, i32 } |
| catch ptr @"OBJC_EHTYPE_$_NSException" |
| unreachable |
| |
| if.end439.critedge: ; preds = %eh.cont |
| %3 = call ptr @llvm.objc.retain(ptr %0) |
| br label %if.end439 |
| |
| if.end439: ; preds = %if.end439.critedge, %if.then430 |
| call void @llvm.objc.release(ptr %0), !clang.imprecise_release !0 |
| unreachable |
| |
| return: ; No predecessors! |
| ret void |
| } |
| |
| |
| !0 = !{} |