mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 02:33:06 +01:00
[ObjCARC] Use objc_msgSend instead of llvm.objc.msgSend in tests
D55348 replaced @objc_msgSend with @llvm.objc.msgSend in tests together with many other objc intrinsics. However, this is not a recognized objc intrinsic (https://llvm.org/docs/LangRef.html#objective-c-arc-runtime-intrinsics) and does not receive special treatment by LLVM. It's likely that uses of this function were renamed by accident. This came up in D106013, because the address of @llvm.objs.msgSend is taken, something which is normally not allowed for intrinsics. Differential Revision: https://reviews.llvm.org/D106094
This commit is contained in:
parent
1c70f4b1ff
commit
01d9855563
@ -25,7 +25,7 @@ declare void @use_alloca(i8**)
|
||||
|
||||
declare void @llvm.dbg.value(metadata, metadata, metadata)
|
||||
|
||||
declare i8* @llvm.objc.msgSend(i8*, i8*, ...)
|
||||
declare i8* @objc_msgSend(i8*, i8*, ...)
|
||||
|
||||
|
||||
; In the presence of allocas, unconditionally remove retain/release pairs only
|
||||
|
@ -27,7 +27,7 @@ declare void @bar(i32 ()*)
|
||||
|
||||
declare void @llvm.dbg.value(metadata, metadata, metadata)
|
||||
|
||||
declare i8* @llvm.objc.msgSend(i8*, i8*, ...)
|
||||
declare i8* @objc_msgSend(i8*, i8*, ...)
|
||||
|
||||
; Simple retain+release pair deletion, with some intervening control
|
||||
; flow and harmless instructions.
|
||||
@ -2775,7 +2775,7 @@ invoke.cont:
|
||||
; CHECK: define void @loop(i8* %x, i64 %n) {
|
||||
; CHECK: for.body:
|
||||
; CHECK-NOT: @llvm.objc.
|
||||
; CHECK: @llvm.objc.msgSend
|
||||
; CHECK: @objc_msgSend
|
||||
; CHECK-NOT: @llvm.objc.
|
||||
; CHECK: for.end:
|
||||
; CHECK: }
|
||||
@ -2789,7 +2789,7 @@ for.body: ; preds = %entry, %for.body
|
||||
%i.010 = phi i64 [ %inc, %for.body ], [ 0, %entry ]
|
||||
%1 = tail call i8* @llvm.objc.retain(i8* %x) nounwind
|
||||
%tmp5 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_", align 8
|
||||
%call = tail call i8* (i8*, i8*, ...) @llvm.objc.msgSend(i8* %1, i8* %tmp5)
|
||||
%call = tail call i8* (i8*, i8*, ...) @objc_msgSend(i8* %1, i8* %tmp5)
|
||||
tail call void @llvm.objc.release(i8* %1) nounwind, !clang.imprecise_release !0
|
||||
%inc = add nsw i64 %i.010, 1
|
||||
%exitcond = icmp eq i64 %inc, %n
|
||||
@ -2868,17 +2868,17 @@ entry:
|
||||
%tmp2 = load %struct.__CFString*, %struct.__CFString** @kUTTypePlainText, align 8
|
||||
%tmp3 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_19", align 8
|
||||
%tmp4 = bitcast %struct._class_t* %tmp1 to i8*
|
||||
%call5 = call i8* (i8*, i8*, ...) @llvm.objc.msgSend(i8* %tmp4, i8* %tmp3, %struct.__CFString* %tmp2)
|
||||
%call5 = call i8* (i8*, i8*, ...) @objc_msgSend(i8* %tmp4, i8* %tmp3, %struct.__CFString* %tmp2)
|
||||
%tmp5 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_21", align 8
|
||||
%tmp6 = bitcast %3* %pboard to i8*
|
||||
%call76 = call i8* (i8*, i8*, ...) @llvm.objc.msgSend(i8* %tmp6, i8* %tmp5, i8* %call5)
|
||||
%call76 = call i8* (i8*, i8*, ...) @objc_msgSend(i8* %tmp6, i8* %tmp5, i8* %call5)
|
||||
%tmp9 = call i8* @llvm.objc.retain(i8* %call76) nounwind
|
||||
%tobool = icmp eq i8* %tmp9, null
|
||||
br i1 %tobool, label %end, label %land.lhs.true
|
||||
|
||||
land.lhs.true: ; preds = %entry
|
||||
%tmp11 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_23", align 8
|
||||
%call137 = call i8* (i8*, i8*, ...) @llvm.objc.msgSend(i8* %tmp6, i8* %tmp11, i8* %tmp9)
|
||||
%call137 = call i8* (i8*, i8*, ...) @objc_msgSend(i8* %tmp6, i8* %tmp11, i8* %tmp9)
|
||||
%tmp = bitcast i8* %call137 to %1*
|
||||
%tmp10 = call i8* @llvm.objc.retain(i8* %call137) nounwind
|
||||
call void @llvm.objc.release(i8* null) nounwind
|
||||
@ -2889,7 +2889,7 @@ land.lhs.true: ; preds = %entry
|
||||
|
||||
if.then: ; preds = %land.lhs.true
|
||||
%tmp19 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_25", align 8
|
||||
%call21 = call signext i8 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8 (i8*, i8*)*)(i8* %call137, i8* %tmp19)
|
||||
%call21 = call signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*)*)(i8* %call137, i8* %tmp19)
|
||||
%tobool22 = icmp eq i8 %call21, 0
|
||||
br i1 %tobool22, label %if.then44, label %land.lhs.true23
|
||||
|
||||
@ -2897,7 +2897,7 @@ land.lhs.true23: ; preds = %if.then
|
||||
%tmp24 = load %struct._class_t*, %struct._class_t** @"\01L_OBJC_CLASSLIST_REFERENCES_$_26", align 8
|
||||
%tmp26 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_28", align 8
|
||||
%tmp27 = bitcast %struct._class_t* %tmp24 to i8*
|
||||
%call2822 = call i8* (i8*, i8*, ...) @llvm.objc.msgSend(i8* %tmp27, i8* %tmp26, i8* %call137)
|
||||
%call2822 = call i8* (i8*, i8*, ...) @objc_msgSend(i8* %tmp27, i8* %tmp26, i8* %call137)
|
||||
%tmp13 = bitcast i8* %call2822 to %5*
|
||||
%tmp14 = call i8* @llvm.objc.retain(i8* %call2822) nounwind
|
||||
call void @llvm.objc.release(i8* null) nounwind
|
||||
@ -2908,36 +2908,36 @@ if.end: ; preds = %land.lhs.true23
|
||||
%tmp32 = load %struct._class_t*, %struct._class_t** @"\01L_OBJC_CLASSLIST_REFERENCES_$_29", align 8
|
||||
%tmp33 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_31", align 8
|
||||
%tmp34 = bitcast %struct._class_t* %tmp32 to i8*
|
||||
%call35 = call i8* (i8*, i8*, ...) @llvm.objc.msgSend(i8* %tmp34, i8* %tmp33)
|
||||
%call35 = call i8* (i8*, i8*, ...) @objc_msgSend(i8* %tmp34, i8* %tmp33)
|
||||
%tmp37 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_33", align 8
|
||||
%call3923 = call i8* (i8*, i8*, ...) @llvm.objc.msgSend(i8* %call35, i8* %tmp37, i8* %call2822, i32 signext 1, %4** %err)
|
||||
%call3923 = call i8* (i8*, i8*, ...) @objc_msgSend(i8* %call35, i8* %tmp37, i8* %call2822, i32 signext 1, %4** %err)
|
||||
%cmp = icmp eq i8* %call3923, null
|
||||
br i1 %cmp, label %if.then44, label %end
|
||||
|
||||
if.then44: ; preds = %if.end, %land.lhs.true23, %if.then
|
||||
%url.025 = phi %5* [ %tmp13, %if.end ], [ %tmp13, %land.lhs.true23 ], [ null, %if.then ]
|
||||
%tmp49 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_35", align 8
|
||||
%call51 = call %struct._NSRange bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to %struct._NSRange (i8*, i8*, i64, i64)*)(i8* %call137, i8* %tmp49, i64 0, i64 0)
|
||||
%call51 = call %struct._NSRange bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to %struct._NSRange (i8*, i8*, i64, i64)*)(i8* %call137, i8* %tmp49, i64 0, i64 0)
|
||||
%call513 = extractvalue %struct._NSRange %call51, 0
|
||||
%call514 = extractvalue %struct._NSRange %call51, 1
|
||||
%tmp52 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_37", align 8
|
||||
%call548 = call i8* (i8*, i8*, ...) @llvm.objc.msgSend(i8* %call137, i8* %tmp52, i64 %call513, i64 %call514)
|
||||
%call548 = call i8* (i8*, i8*, ...) @objc_msgSend(i8* %call137, i8* %tmp52, i64 %call513, i64 %call514)
|
||||
%tmp55 = load %struct._class_t*, %struct._class_t** @"\01L_OBJC_CLASSLIST_REFERENCES_$_38", align 8
|
||||
%tmp56 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_40", align 8
|
||||
%tmp57 = bitcast %struct._class_t* %tmp55 to i8*
|
||||
%call58 = call i8* (i8*, i8*, ...) @llvm.objc.msgSend(i8* %tmp57, i8* %tmp56)
|
||||
%call58 = call i8* (i8*, i8*, ...) @objc_msgSend(i8* %tmp57, i8* %tmp56)
|
||||
%tmp59 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_42", align 8
|
||||
%call6110 = call i8* (i8*, i8*, ...) @llvm.objc.msgSend(i8* %call548, i8* %tmp59, i8* %call58)
|
||||
%call6110 = call i8* (i8*, i8*, ...) @objc_msgSend(i8* %call548, i8* %tmp59, i8* %call58)
|
||||
%tmp15 = call i8* @llvm.objc.retain(i8* %call6110) nounwind
|
||||
call void @llvm.objc.release(i8* %call137) nounwind
|
||||
%tmp64 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_46", align 8
|
||||
%call66 = call signext i8 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8 (i8*, i8*, %1*)*)(i8* %call6110, i8* %tmp64, %1* bitcast (%struct.NSConstantString* @_unnamed_cfstring_44 to %1*))
|
||||
%call66 = call signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*, %1*)*)(i8* %call6110, i8* %tmp64, %1* bitcast (%struct.NSConstantString* @_unnamed_cfstring_44 to %1*))
|
||||
%tobool67 = icmp eq i8 %call66, 0
|
||||
br i1 %tobool67, label %if.end74, label %if.then68
|
||||
|
||||
if.then68: ; preds = %if.then44
|
||||
%tmp70 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_48", align 8
|
||||
%call7220 = call i8* (i8*, i8*, ...) @llvm.objc.msgSend(i8* %call6110, i8* %tmp70)
|
||||
%call7220 = call i8* (i8*, i8*, ...) @objc_msgSend(i8* %call6110, i8* %tmp70)
|
||||
%tmp16 = call i8* @llvm.objc.retain(i8* %call7220) nounwind
|
||||
call void @llvm.objc.release(i8* %call6110) nounwind
|
||||
br label %if.end74
|
||||
@ -2953,7 +2953,7 @@ if.end74: ; preds = %if.then68, %if.then
|
||||
|
||||
land.lhs.true80: ; preds = %if.end74
|
||||
%tmp82 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_25", align 8
|
||||
%call84 = call signext i8 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8 (i8*, i8*)*)(i8* %filename.0.in, i8* %tmp82)
|
||||
%call84 = call signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*)*)(i8* %filename.0.in, i8* %tmp82)
|
||||
%tobool86 = icmp eq i8 %call84, 0
|
||||
br i1 %tobool86, label %if.then109, label %if.end106
|
||||
|
||||
@ -2961,7 +2961,7 @@ if.end106: ; preds = %land.lhs.true80
|
||||
%tmp88 = load %struct._class_t*, %struct._class_t** @"\01L_OBJC_CLASSLIST_REFERENCES_$_26", align 8
|
||||
%tmp90 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_28", align 8
|
||||
%tmp91 = bitcast %struct._class_t* %tmp88 to i8*
|
||||
%call9218 = call i8* (i8*, i8*, ...) @llvm.objc.msgSend(i8* %tmp91, i8* %tmp90, i8* %filename.0.in)
|
||||
%call9218 = call i8* (i8*, i8*, ...) @objc_msgSend(i8* %tmp91, i8* %tmp90, i8* %filename.0.in)
|
||||
%tmp20 = bitcast i8* %call9218 to %5*
|
||||
%tmp21 = call i8* @llvm.objc.retain(i8* %call9218) nounwind
|
||||
%tmp22 = bitcast %5* %url.025 to i8*
|
||||
@ -2969,9 +2969,9 @@ if.end106: ; preds = %land.lhs.true80
|
||||
%tmp94 = load %struct._class_t*, %struct._class_t** @"\01L_OBJC_CLASSLIST_REFERENCES_$_29", align 8
|
||||
%tmp95 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_31", align 8
|
||||
%tmp96 = bitcast %struct._class_t* %tmp94 to i8*
|
||||
%call97 = call i8* (i8*, i8*, ...) @llvm.objc.msgSend(i8* %tmp96, i8* %tmp95)
|
||||
%call97 = call i8* (i8*, i8*, ...) @objc_msgSend(i8* %tmp96, i8* %tmp95)
|
||||
%tmp99 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_33", align 8
|
||||
%call10119 = call i8* (i8*, i8*, ...) @llvm.objc.msgSend(i8* %call97, i8* %tmp99, i8* %call9218, i32 signext 1, %4** %err)
|
||||
%call10119 = call i8* (i8*, i8*, ...) @objc_msgSend(i8* %call97, i8* %tmp99, i8* %call9218, i32 signext 1, %4** %err)
|
||||
%phitmp = icmp eq i8* %call10119, null
|
||||
br i1 %phitmp, label %if.then109, label %end
|
||||
|
||||
@ -2989,10 +2989,10 @@ if.then112: ; preds = %if.then109
|
||||
%tmp118 = load %1*, %1** @NSFilePathErrorKey, align 8
|
||||
%tmp119 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_53", align 8
|
||||
%tmp120 = bitcast %struct._class_t* %tmp115 to i8*
|
||||
%call12113 = call i8* (i8*, i8*, ...) @llvm.objc.msgSend(i8* %tmp120, i8* %tmp119, %1* %call117, %1* %tmp118, i8* null)
|
||||
%call12113 = call i8* (i8*, i8*, ...) @objc_msgSend(i8* %tmp120, i8* %tmp119, %1* %call117, %1* %tmp118, i8* null)
|
||||
%tmp122 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_55", align 8
|
||||
%tmp123 = bitcast %struct._class_t* %tmp113 to i8*
|
||||
%call12414 = call i8* (i8*, i8*, ...) @llvm.objc.msgSend(i8* %tmp123, i8* %tmp122, %1* %tmp114, i64 258, i8* %call12113)
|
||||
%call12414 = call i8* (i8*, i8*, ...) @objc_msgSend(i8* %tmp123, i8* %tmp122, %1* %tmp114, i64 258, i8* %call12113)
|
||||
%tmp23 = call i8* @llvm.objc.retain(i8* %call12414) nounwind
|
||||
%tmp25 = call i8* @llvm.objc.autorelease(i8* %tmp23) nounwind
|
||||
%tmp28 = bitcast i8* %tmp25 to %4*
|
||||
@ -3004,9 +3004,9 @@ if.end125: ; preds = %if.then112, %if.the
|
||||
%tmp126 = load %struct._class_t*, %struct._class_t** @"\01L_OBJC_CLASSLIST_REFERENCES_$_56", align 8
|
||||
%tmp128 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_58", align 8
|
||||
%tmp129 = bitcast %struct._class_t* %tmp126 to i8*
|
||||
%call13015 = call i8* (i8*, i8*, ...) @llvm.objc.msgSend(i8* %tmp129, i8* %tmp128, %4* %tmp127)
|
||||
%call13015 = call i8* (i8*, i8*, ...) @objc_msgSend(i8* %tmp129, i8* %tmp128, %4* %tmp127)
|
||||
%tmp131 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_60", align 8
|
||||
%call13317 = call i8* (i8*, i8*, ...) @llvm.objc.msgSend(i8* %call13015, i8* %tmp131)
|
||||
%call13317 = call i8* (i8*, i8*, ...) @objc_msgSend(i8* %call13015, i8* %tmp131)
|
||||
br label %end
|
||||
|
||||
end: ; preds = %if.end125, %if.end106, %if.end, %land.lhs.true, %entry
|
||||
|
@ -8,8 +8,8 @@
|
||||
|
||||
declare %0* @"\01-[NSAttributedString(Terminal) pathAtIndex:effectiveRange:]"(%1*, i8* nocapture, i64, %2*) optsize
|
||||
declare i8* @llvm.objc.retainAutoreleasedReturnValue(i8*)
|
||||
declare i8* @llvm.objc.msgSend_fixup(i8*, i8*, ...)
|
||||
declare i8* @llvm.objc.msgSend(i8*, i8*, ...)
|
||||
declare i8* @objc_msgSend_fixup(i8*, i8*, ...)
|
||||
declare i8* @objc_msgSend(i8*, i8*, ...)
|
||||
declare void @llvm.objc.release(i8*)
|
||||
declare %2 @NSUnionRange(i64, i64, i64, i64) optsize
|
||||
declare i8* @llvm.objc.autoreleaseReturnValue(i8*)
|
||||
@ -53,7 +53,7 @@ bb6: ; preds = %bb5, %bb4, %bb4, %b
|
||||
; CHECK: }
|
||||
define void @test1() {
|
||||
bb:
|
||||
%tmp = tail call %0* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to %0* ()*)()
|
||||
%tmp = tail call %0* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to %0* ()*)()
|
||||
%tmp2 = bitcast %0* %tmp to i8*
|
||||
%tmp3 = tail call i8* @llvm.objc.retainAutoreleasedReturnValue(i8* %tmp2) nounwind
|
||||
br i1 undef, label %bb7, label %bb7
|
||||
@ -74,7 +74,7 @@ bb7: ; preds = %bb6, %bb6, %bb5
|
||||
; CHECK: }
|
||||
define void @_Z6doTestP8NSString() personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) {
|
||||
entry:
|
||||
%call = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* ()*)()
|
||||
%call = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* ()*)()
|
||||
to label %invoke.cont unwind label %lpad
|
||||
|
||||
invoke.cont: ; preds = %entry
|
||||
|
@ -39,8 +39,8 @@ entry:
|
||||
%tmp = load %struct._class_t*, %struct._class_t** @"\01L_OBJC_CLASSLIST_REFERENCES_$_", align 8, !dbg !37
|
||||
%tmp1 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_", align 8, !dbg !37, !invariant.load !38
|
||||
%tmp2 = bitcast %struct._class_t* %tmp to i8*, !dbg !37
|
||||
; CHECK: call i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*)*)(i8* %tmp2, i8* %tmp1)
|
||||
%call = call i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*)*)(i8* %tmp2, i8* %tmp1), !dbg !37, !clang.arc.no_objc_arc_exceptions !38
|
||||
; CHECK: call i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* %tmp2, i8* %tmp1)
|
||||
%call = call i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* %tmp2, i8* %tmp1), !dbg !37, !clang.arc.no_objc_arc_exceptions !38
|
||||
call void @llvm.dbg.value(metadata i8* %call, metadata !25, metadata !DIExpression()), !dbg !37
|
||||
; CHECK: call i8* @llvm.objc.retain(i8* %call) [[NUW:#[0-9]+]]
|
||||
%tmp3 = call i8* @llvm.objc.retain(i8* %call) nounwind, !dbg !39
|
||||
@ -74,7 +74,7 @@ if.end: ; preds = %lpad, %eh.cont
|
||||
|
||||
declare void @llvm.dbg.declare(metadata, metadata, metadata) nounwind readnone
|
||||
|
||||
declare i8* @llvm.objc.msgSend(i8*, i8*, ...) nonlazybind
|
||||
declare i8* @objc_msgSend(i8*, i8*, ...) nonlazybind
|
||||
|
||||
declare i8* @llvm.objc.retain(i8*) nonlazybind
|
||||
|
||||
@ -91,7 +91,7 @@ entry:
|
||||
%tmp1 = load %struct._class_t*, %struct._class_t** @"\01L_OBJC_CLASSLIST_REFERENCES_$_1", align 8, !dbg !56
|
||||
%tmp2 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_5", align 8, !dbg !56, !invariant.load !38
|
||||
%tmp3 = bitcast %struct._class_t* %tmp1 to i8*, !dbg !56
|
||||
call void (i8*, i8*, %0*, %0*, ...) bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to void (i8*, i8*, %0*, %0*, ...)*)(i8* %tmp3, i8* %tmp2, %0* bitcast (%struct.NSConstantString* @_unnamed_cfstring_3 to %0*), %0* bitcast (%struct.NSConstantString* @_unnamed_cfstring_3 to %0*)), !dbg !56, !clang.arc.no_objc_arc_exceptions !38
|
||||
call void (i8*, i8*, %0*, %0*, ...) bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, %0*, %0*, ...)*)(i8* %tmp3, i8* %tmp2, %0* bitcast (%struct.NSConstantString* @_unnamed_cfstring_3 to %0*), %0* bitcast (%struct.NSConstantString* @_unnamed_cfstring_3 to %0*)), !dbg !56, !clang.arc.no_objc_arc_exceptions !38
|
||||
call void @llvm.objc.release(i8* %obj) nounwind, !dbg !58, !clang.imprecise_release !38
|
||||
ret void, !dbg !58
|
||||
}
|
||||
|
@ -4,7 +4,7 @@ target triple = "x86_64-unknown-windows-msvc"
|
||||
|
||||
declare i32 @__CxxFrameHandler3(...)
|
||||
|
||||
declare dllimport i8* @llvm.objc.msgSend(i8*, i8*, ...) local_unnamed_addr
|
||||
declare dllimport i8* @objc_msgSend(i8*, i8*, ...) local_unnamed_addr
|
||||
|
||||
declare dllimport i8* @llvm.objc.retain(i8* returned) local_unnamed_addr
|
||||
declare dllimport void @llvm.objc.release(i8*) local_unnamed_addr
|
||||
@ -20,7 +20,7 @@ define void @f(i8* %i) local_unnamed_addr personality i8* bitcast (i32 (...)* @_
|
||||
entry:
|
||||
%0 = tail call i8* @llvm.objc.retain(i8* %i)
|
||||
%1 = load i8*, i8** @llvm.objc.SELECTOR_REFERENCES_, align 8, !invariant.load !0
|
||||
%call = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*)*)(i8* %0, i8* %1)
|
||||
%call = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* %0, i8* %1)
|
||||
to label %invoke.cont unwind label %catch.dispatch, !clang.arc.no_objc_arc_exceptions !0
|
||||
|
||||
catch.dispatch: ; preds = %entry
|
||||
|
@ -3,7 +3,7 @@
|
||||
declare i8* @llvm.objc.retain(i8*)
|
||||
declare void @llvm.objc.release(i8*)
|
||||
declare i8* @llvm.objc.retainAutoreleasedReturnValue(i8*)
|
||||
declare i8* @llvm.objc.msgSend(i8*, i8*, ...)
|
||||
declare i8* @objc_msgSend(i8*, i8*, ...)
|
||||
declare void @use_pointer(i8*)
|
||||
declare void @callee()
|
||||
declare i8* @returner()
|
||||
@ -22,7 +22,7 @@ define void @test0(i8* %zipFile) personality i32 (...)* @__gxx_personality_v0 {
|
||||
entry:
|
||||
call i8* @llvm.objc.retain(i8* %zipFile) nounwind
|
||||
call void @use_pointer(i8* %zipFile)
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to void (i8*)*)(i8* %zipFile)
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*)*)(i8* %zipFile)
|
||||
to label %invoke.cont unwind label %lpad
|
||||
|
||||
invoke.cont: ; preds = %entry
|
||||
@ -54,7 +54,7 @@ define void @test1(i8* %zipFile) personality i32 (...)* @__gxx_personality_v0 {
|
||||
entry:
|
||||
call i8* @llvm.objc.retain(i8* %zipFile) nounwind
|
||||
call void @use_pointer(i8* %zipFile)
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to void (i8*)*)(i8* %zipFile)
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*)*)(i8* %zipFile)
|
||||
to label %invoke.cont unwind label %lpad
|
||||
|
||||
invoke.cont: ; preds = %entry
|
||||
@ -87,12 +87,12 @@ done:
|
||||
; CHECK: }
|
||||
define void @test2() personality i8* bitcast (i32 (...)* @__objc_personality_v0 to i8*) {
|
||||
entry:
|
||||
%call = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* ()*)()
|
||||
%call = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* ()*)()
|
||||
to label %invoke.cont unwind label %finally.rethrow, !clang.arc.no_objc_arc_exceptions !0
|
||||
|
||||
invoke.cont: ; preds = %entry
|
||||
%tmp1 = tail call i8* @llvm.objc.retainAutoreleasedReturnValue(i8* %call) nounwind
|
||||
call void bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to void ()*)(), !clang.arc.no_objc_arc_exceptions !0
|
||||
call void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void ()*)(), !clang.arc.no_objc_arc_exceptions !0
|
||||
invoke void @use_pointer(i8* %call)
|
||||
to label %finally.cont unwind label %finally.rethrow, !clang.arc.no_objc_arc_exceptions !0
|
||||
|
||||
|
@ -68,7 +68,7 @@ target triple = "x86_64-apple-darwin11.0.0"
|
||||
@"\01L_OBJC_SELECTOR_REFERENCES_413" = external hidden global i8*, section "__DATA, __objc_selrefs, literal_pointers, no_dead_strip"
|
||||
@"\01L_OBJC_SELECTOR_REFERENCES_415" = external hidden global i8*, section "__DATA, __objc_selrefs, literal_pointers, no_dead_strip"
|
||||
|
||||
declare i8* @llvm.objc.msgSend(i8*, i8*, ...)
|
||||
declare i8* @objc_msgSend(i8*, i8*, ...)
|
||||
|
||||
declare i8* @llvm.objc.retain(i8*)
|
||||
|
||||
@ -82,16 +82,16 @@ define hidden %14* @foo(%15* %arg, %16* %arg2) {
|
||||
bb:
|
||||
%tmp = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_3725", align 8
|
||||
%tmp4 = bitcast %15* %arg to i8*
|
||||
%tmp5 = tail call %18* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to %18* (i8*, i8*)*)(i8* %tmp4, i8* %tmp)
|
||||
%tmp5 = tail call %18* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to %18* (i8*, i8*)*)(i8* %tmp4, i8* %tmp)
|
||||
%tmp6 = bitcast %18* %tmp5 to i8*
|
||||
%tmp7 = tail call i8* @llvm.objc.retain(i8* %tmp6) nounwind
|
||||
%tmp8 = load %2*, %2** @"\01L_OBJC_CLASSLIST_REFERENCES_$_40", align 8
|
||||
%tmp9 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_4227", align 8
|
||||
%tmp10 = bitcast %2* %tmp8 to i8*
|
||||
%tmp11 = tail call %19* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to %19* (i8*, i8*)*)(i8* %tmp10, i8* %tmp9)
|
||||
%tmp11 = tail call %19* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to %19* (i8*, i8*)*)(i8* %tmp10, i8* %tmp9)
|
||||
%tmp12 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_4631", align 8
|
||||
%tmp13 = bitcast %19* %tmp11 to i8*
|
||||
%tmp14 = tail call signext i8 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8 (i8*, i8*, %13*)*)(i8* %tmp13, i8* %tmp12, %13* bitcast (%12* @_unnamed_cfstring_386 to %13*))
|
||||
%tmp14 = tail call signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*, %13*)*)(i8* %tmp13, i8* %tmp12, %13* bitcast (%12* @_unnamed_cfstring_386 to %13*))
|
||||
%tmp15 = bitcast %16* %arg2 to i8*
|
||||
%tmp16 = load i8*, i8** bitcast (%0* @"\01l_objc_msgSend_fixup_count" to i8**), align 16
|
||||
%tmp17 = bitcast i8* %tmp16 to i64 (i8*, %1*)*
|
||||
@ -111,35 +111,35 @@ bb22: ; preds = %bb
|
||||
bb25: ; preds = %bb22, %bb20
|
||||
%tmp26 = phi i1 [ %tmp21, %bb20 ], [ false, %bb22 ]
|
||||
%tmp27 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_188", align 8
|
||||
%tmp28 = tail call i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*)*)(i8* %tmp7, i8* %tmp27)
|
||||
%tmp28 = tail call i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* %tmp7, i8* %tmp27)
|
||||
%tmp29 = tail call i8* @llvm.objc.explicit_autorelease(i8* %tmp28) nounwind
|
||||
%tmp30 = bitcast i8* %tmp29 to %18*
|
||||
tail call void @llvm.objc.release(i8* %tmp7) nounwind
|
||||
%tmp31 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_389", align 8
|
||||
%tmp32 = tail call %20* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to %20* (i8*, i8*)*)(i8* %tmp29, i8* %tmp31)
|
||||
%tmp32 = tail call %20* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to %20* (i8*, i8*)*)(i8* %tmp29, i8* %tmp31)
|
||||
%tmp33 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_391", align 8
|
||||
%tmp34 = bitcast %20* %tmp32 to i8*
|
||||
tail call void bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to void (i8*, i8*, %16*)*)(i8* %tmp34, i8* %tmp33, %16* %arg2)
|
||||
tail call void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, %16*)*)(i8* %tmp34, i8* %tmp33, %16* %arg2)
|
||||
br i1 %tmp26, label %bb46, label %bb35
|
||||
|
||||
bb35: ; preds = %bb25
|
||||
%tmp36 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_389", align 8
|
||||
%tmp37 = tail call %20* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to %20* (i8*, i8*)*)(i8* %tmp29, i8* %tmp36)
|
||||
%tmp37 = tail call %20* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to %20* (i8*, i8*)*)(i8* %tmp29, i8* %tmp36)
|
||||
%tmp38 = load %2*, %2** @"\01L_OBJC_CLASSLIST_REFERENCES_$_70", align 8
|
||||
%tmp39 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_393", align 8
|
||||
%tmp40 = bitcast %2* %tmp38 to i8*
|
||||
%tmp41 = tail call %21* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to %21* (i8*, i8*, i8)*)(i8* %tmp40, i8* %tmp39, i8 signext 1)
|
||||
%tmp41 = tail call %21* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to %21* (i8*, i8*, i8)*)(i8* %tmp40, i8* %tmp39, i8 signext 1)
|
||||
%tmp42 = bitcast %21* %tmp41 to i8*
|
||||
%tmp43 = load %13*, %13** @NSPrintHeaderAndFooter, align 8
|
||||
%tmp44 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_159", align 8
|
||||
%tmp45 = bitcast %20* %tmp37 to i8*
|
||||
tail call void bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to void (i8*, i8*, i8*, %13*)*)(i8* %tmp45, i8* %tmp44, i8* %tmp42, %13* %tmp43)
|
||||
tail call void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, %13*)*)(i8* %tmp45, i8* %tmp44, i8* %tmp42, %13* %tmp43)
|
||||
br label %bb46
|
||||
|
||||
bb46: ; preds = %bb35, %bb25, %bb22
|
||||
%tmp47 = phi %18* [ %tmp30, %bb35 ], [ %tmp30, %bb25 ], [ %tmp23, %bb22 ]
|
||||
%tmp48 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_328", align 8
|
||||
%tmp49 = tail call %22* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to %22* (i8*, i8*)*)(i8* %tmp4, i8* %tmp48)
|
||||
%tmp49 = tail call %22* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to %22* (i8*, i8*)*)(i8* %tmp4, i8* %tmp48)
|
||||
%tmp50 = bitcast %22* %tmp49 to i8*
|
||||
%tmp51 = load i8*, i8** bitcast (%0* @"\01l_objc_msgSend_fixup_count" to i8**), align 16
|
||||
%tmp52 = bitcast i8* %tmp51 to i64 (i8*, %1*)*
|
||||
@ -149,41 +149,41 @@ bb46: ; preds = %bb35, %bb25, %bb22
|
||||
|
||||
bb55: ; preds = %bb46
|
||||
%tmp56 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_395", align 8
|
||||
tail call void bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to void (i8*, i8*)*)(i8* %tmp4, i8* %tmp56)
|
||||
tail call void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*)*)(i8* %tmp4, i8* %tmp56)
|
||||
br label %bb57
|
||||
|
||||
bb57: ; preds = %bb55, %bb46
|
||||
%tmp58 = load %2*, %2** @"\01L_OBJC_CLASSLIST_REFERENCES_$_396", align 8
|
||||
%tmp59 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_328", align 8
|
||||
%tmp60 = tail call %22* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to %22* (i8*, i8*)*)(i8* %tmp4, i8* %tmp59)
|
||||
%tmp60 = tail call %22* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to %22* (i8*, i8*)*)(i8* %tmp4, i8* %tmp59)
|
||||
%tmp61 = bitcast %22* %tmp60 to i8*
|
||||
%tmp62 = load i8*, i8** bitcast (%0* @"\01l_objc_msgSend_fixup_objectAtIndex_" to i8**), align 16
|
||||
%tmp63 = bitcast i8* %tmp62 to i8* (i8*, %1*, i64)*
|
||||
%tmp64 = tail call i8* %tmp63(i8* %tmp61, %1* bitcast (%0* @"\01l_objc_msgSend_fixup_objectAtIndex_" to %1*), i64 0)
|
||||
%tmp65 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_398", align 8
|
||||
%tmp66 = tail call i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*)*)(i8* %tmp64, i8* %tmp65)
|
||||
%tmp66 = tail call i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* %tmp64, i8* %tmp65)
|
||||
%tmp67 = bitcast i8* %tmp66 to %23*
|
||||
%tmp68 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_400", align 8
|
||||
%tmp69 = bitcast %2* %tmp58 to i8*
|
||||
%tmp70 = tail call %14* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to %14* (i8*, i8*, %23*, %18*)*)(i8* %tmp69, i8* %tmp68, %23* %tmp67, %18* %tmp47)
|
||||
%tmp70 = tail call %14* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to %14* (i8*, i8*, %23*, %18*)*)(i8* %tmp69, i8* %tmp68, %23* %tmp67, %18* %tmp47)
|
||||
%tmp71 = bitcast %14* %tmp70 to i8*
|
||||
; hack to prevent the optimize from using objc_retainAutoreleasedReturnValue.
|
||||
%tmp71x = getelementptr i8, i8* %tmp71, i64 1
|
||||
%tmp72 = tail call i8* @llvm.objc.retain(i8* %tmp71x) nounwind
|
||||
%tmp73 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_402", align 8
|
||||
tail call void bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to void (i8*, i8*, i8)*)(i8* %tmp72, i8* %tmp73, i8 signext 1)
|
||||
tail call void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8)*)(i8* %tmp72, i8* %tmp73, i8 signext 1)
|
||||
%tmp74 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_404", align 8
|
||||
tail call void bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to void (i8*, i8*, i8)*)(i8* %tmp72, i8* %tmp74, i8 signext 1)
|
||||
tail call void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8)*)(i8* %tmp72, i8* %tmp74, i8 signext 1)
|
||||
%tmp75 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_328", align 8
|
||||
%tmp76 = tail call %22* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to %22* (i8*, i8*)*)(i8* %tmp4, i8* %tmp75)
|
||||
%tmp76 = tail call %22* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to %22* (i8*, i8*)*)(i8* %tmp4, i8* %tmp75)
|
||||
%tmp77 = bitcast %22* %tmp76 to i8*
|
||||
%tmp78 = load i8*, i8** bitcast (%0* @"\01l_objc_msgSend_fixup_objectAtIndex_" to i8**), align 16
|
||||
%tmp79 = bitcast i8* %tmp78 to i8* (i8*, %1*, i64)*
|
||||
%tmp80 = tail call i8* %tmp79(i8* %tmp77, %1* bitcast (%0* @"\01l_objc_msgSend_fixup_objectAtIndex_" to %1*), i64 0)
|
||||
%tmp81 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_406", align 8
|
||||
tail call void bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to void (i8*, i8*, i64)*)(i8* %tmp80, i8* %tmp81, i64 9223372036854775807)
|
||||
tail call void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i64)*)(i8* %tmp80, i8* %tmp81, i64 9223372036854775807)
|
||||
%tmp82 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_408", align 8
|
||||
%tmp83 = tail call %24* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to %24* (i8*, i8*)*)(i8* %tmp72, i8* %tmp82)
|
||||
%tmp83 = tail call %24* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to %24* (i8*, i8*)*)(i8* %tmp72, i8* %tmp82)
|
||||
%tmp84 = bitcast %24* %tmp83 to i8*
|
||||
%tmp85 = tail call i8* @llvm.objc.retain(i8* %tmp84) nounwind
|
||||
%tmp86 = load %2*, %2** @"\01L_OBJC_CLASSLIST_REFERENCES_$_409", align 8
|
||||
@ -192,23 +192,23 @@ bb57: ; preds = %bb55, %bb46
|
||||
%tmp89 = bitcast i8* %tmp88 to i8* (i8*, %1*)*
|
||||
%tmp90 = tail call i8* %tmp89(i8* %tmp87, %1* bitcast (%0* @"\01l_objc_msgSend_fixup_alloc" to %1*))
|
||||
%tmp91 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_8", align 8
|
||||
%tmp92 = tail call i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*)*)(i8* %tmp90, i8* %tmp91)
|
||||
%tmp92 = tail call i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* %tmp90, i8* %tmp91)
|
||||
%tmp93 = tail call i8* @llvm.objc.explicit_autorelease(i8* %tmp92) nounwind
|
||||
%tmp94 = bitcast i8* %tmp93 to %25*
|
||||
%tmp95 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_411", align 8
|
||||
tail call void bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to void (i8*, i8*, %25*)*)(i8* %tmp85, i8* %tmp95, %25* %tmp94)
|
||||
tail call void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, %25*)*)(i8* %tmp85, i8* %tmp95, %25* %tmp94)
|
||||
tail call void @llvm.objc.release(i8* %tmp93) nounwind
|
||||
%tmp96 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_148", align 8
|
||||
%tmp97 = tail call signext i8 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8 (i8*, i8*)*)(i8* %tmp4, i8* %tmp96)
|
||||
%tmp97 = tail call signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*)*)(i8* %tmp4, i8* %tmp96)
|
||||
%tmp98 = icmp eq i8 %tmp97, 0
|
||||
br i1 %tmp98, label %bb99, label %bb104
|
||||
|
||||
bb99: ; preds = %bb57
|
||||
%tmp100 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_413", align 8
|
||||
%tmp101 = tail call i64 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i64 (i8*, i8*)*)(i8* %tmp85, i8* %tmp100)
|
||||
%tmp101 = tail call i64 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i64 (i8*, i8*)*)(i8* %tmp85, i8* %tmp100)
|
||||
%tmp102 = or i64 %tmp101, 12
|
||||
%tmp103 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_415", align 8
|
||||
tail call void bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to void (i8*, i8*, i64)*)(i8* %tmp85, i8* %tmp103, i64 %tmp102)
|
||||
tail call void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i64)*)(i8* %tmp85, i8* %tmp103, i64 %tmp102)
|
||||
br label %bb104
|
||||
|
||||
bb104: ; preds = %bb99, %bb57
|
||||
|
@ -25,7 +25,7 @@ target triple = "x86_64-apple-darwin11.0.0"
|
||||
@"\01L_OBJC_SELECTOR_REFERENCES_624" = external hidden global i8*, section "__DATA, __objc_selrefs, literal_pointers, no_dead_strip"
|
||||
@"\01L_OBJC_SELECTOR_REFERENCES_626" = external hidden global i8*, section "__DATA, __objc_selrefs, literal_pointers, no_dead_strip"
|
||||
|
||||
declare i8* @llvm.objc.msgSend(i8*, i8*, ...)
|
||||
declare i8* @objc_msgSend(i8*, i8*, ...)
|
||||
|
||||
declare i8* @llvm.objc.retain(i8*)
|
||||
|
||||
@ -37,10 +37,10 @@ define hidden %0* @foo(%1* %arg, %3* %arg3) {
|
||||
bb:
|
||||
%tmp16 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_620", align 8
|
||||
%tmp17 = bitcast %3* %arg3 to i8*
|
||||
%tmp18 = call %4* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to %4* (i8*, i8*)*)(i8* %tmp17, i8* %tmp16)
|
||||
%tmp18 = call %4* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to %4* (i8*, i8*)*)(i8* %tmp17, i8* %tmp16)
|
||||
%tmp19 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_622", align 8
|
||||
%tmp20 = bitcast %4* %tmp18 to i8*
|
||||
%tmp21 = call %5* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to %5* (i8*, i8*)*)(i8* %tmp20, i8* %tmp19)
|
||||
%tmp21 = call %5* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to %5* (i8*, i8*)*)(i8* %tmp20, i8* %tmp19)
|
||||
%tmp22 = bitcast %5* %tmp21 to i8*
|
||||
%tmp23 = call i8* @llvm.objc.retain(i8* %tmp22) nounwind
|
||||
%tmp24 = bitcast i8* %tmp23 to %5*
|
||||
@ -50,10 +50,10 @@ bb:
|
||||
bb27: ; preds = %bb
|
||||
%tmp29 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_11", align 8
|
||||
%tmp30 = bitcast %1* %arg to i8*
|
||||
%tmp31 = call i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*)*)(i8* %tmp30, i8* %tmp29)
|
||||
%tmp31 = call i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* %tmp30, i8* %tmp29)
|
||||
%tmp34 = call i8* @llvm.objc.retain(i8* %tmp31) nounwind
|
||||
%tmp37 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_421455", align 8
|
||||
%tmp39 = call %0* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to %0* (i8*, i8*)*)(i8* %tmp34, i8* %tmp37)
|
||||
%tmp39 = call %0* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to %0* (i8*, i8*)*)(i8* %tmp34, i8* %tmp37)
|
||||
%tmp40 = bitcast %0* %tmp39 to i8*
|
||||
%tmp41 = call i8* @llvm.objc.retain(i8* %tmp40) nounwind
|
||||
%tmp42 = bitcast i8* %tmp41 to %0*
|
||||
@ -62,7 +62,7 @@ bb27: ; preds = %bb
|
||||
|
||||
bb45: ; preds = %bb27
|
||||
%tmp47 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_624", align 8
|
||||
%tmp49 = call %0* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to %0* (i8*, i8*)*)(i8* %tmp34, i8* %tmp47)
|
||||
%tmp49 = call %0* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to %0* (i8*, i8*)*)(i8* %tmp34, i8* %tmp47)
|
||||
%tmp51 = bitcast %0* %tmp49 to i8*
|
||||
%tmp52 = call i8* @llvm.objc.retain(i8* %tmp51) nounwind
|
||||
call void @llvm.objc.release(i8* %tmp41) nounwind
|
||||
@ -76,14 +76,14 @@ bb55: ; preds = %bb27, %bb45
|
||||
bb58: ; preds = %bb55
|
||||
%tmp60 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_598", align 8
|
||||
%tmp61 = bitcast %0* %tmp13.0 to i8*
|
||||
%tmp62 = call signext i8 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8 (i8*, i8*)*)(i8* %tmp61, i8* %tmp60)
|
||||
%tmp62 = call signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*)*)(i8* %tmp61, i8* %tmp60)
|
||||
%tmp64 = icmp eq i8 %tmp62, 0
|
||||
br i1 %tmp64, label %bb76, label %bb65
|
||||
|
||||
bb65: ; preds = %bb58
|
||||
%tmp68 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_626", align 8
|
||||
%tmp69 = bitcast %0* %tmp13.0 to i8*
|
||||
%tmp70 = call %0* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to %0* (i8*, i8*, %5*)*)(i8* %tmp69, i8* %tmp68, %5* %tmp24)
|
||||
%tmp70 = call %0* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to %0* (i8*, i8*, %5*)*)(i8* %tmp69, i8* %tmp68, %5* %tmp24)
|
||||
%tmp72 = bitcast %0* %tmp70 to i8*
|
||||
%tmp73 = call i8* @llvm.objc.retain(i8* %tmp72) nounwind
|
||||
br label %bb76
|
||||
|
@ -13,7 +13,7 @@ declare i8* @llvm.objc.retainAutoreleasedReturnValue(i8*)
|
||||
declare i8* @llvm.objc.retain(i8*)
|
||||
declare void @llvm.objc.enumerationMutation(i8*)
|
||||
declare void @llvm.memset.p0i8.i64(i8* nocapture, i8, i64, i1) nounwind
|
||||
declare i8* @llvm.objc.msgSend(i8*, i8*, ...) nonlazybind
|
||||
declare i8* @objc_msgSend(i8*, i8*, ...) nonlazybind
|
||||
declare void @use(i8*)
|
||||
declare void @llvm.objc.release(i8*)
|
||||
declare i8* @def()
|
||||
@ -38,7 +38,7 @@ entry:
|
||||
call void @llvm.memset.p0i8.i64(i8* align 8 %tmp, i8 0, i64 64, i1 false)
|
||||
%1 = call i8* @llvm.objc.retain(i8* %0) nounwind
|
||||
%tmp2 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_", align 8
|
||||
%call = call i64 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %1, i8* %tmp2, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%call = call i64 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %1, i8* %tmp2, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%iszero = icmp eq i64 %call, 0
|
||||
br i1 %iszero, label %forcoll.empty, label %forcoll.loopinit
|
||||
|
||||
@ -77,7 +77,7 @@ forcoll.notmutated:
|
||||
|
||||
forcoll.refetch:
|
||||
%tmp5 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_", align 8
|
||||
%call6 = call i64 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %1, i8* %tmp5, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%call6 = call i64 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %1, i8* %tmp5, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%5 = icmp eq i64 %call6, 0
|
||||
br i1 %5, label %forcoll.empty, label %forcoll.loopbody.outer
|
||||
|
||||
@ -103,7 +103,7 @@ entry:
|
||||
call void @llvm.memset.p0i8.i64(i8* align 8 %tmp, i8 0, i64 64, i1 false)
|
||||
%1 = call i8* @llvm.objc.retain(i8* %0) nounwind
|
||||
%tmp2 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_", align 8
|
||||
%call3 = call i64 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %1, i8* %tmp2, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%call3 = call i64 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %1, i8* %tmp2, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%iszero = icmp eq i64 %call3, 0
|
||||
br i1 %iszero, label %forcoll.empty, label %forcoll.loopinit
|
||||
|
||||
@ -142,7 +142,7 @@ forcoll.notmutated:
|
||||
|
||||
forcoll.refetch:
|
||||
%tmp6 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_", align 8
|
||||
%call7 = call i64 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %1, i8* %tmp6, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%call7 = call i64 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %1, i8* %tmp6, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%5 = icmp eq i64 %call7, 0
|
||||
br i1 %5, label %forcoll.empty, label %forcoll.loopbody.outer
|
||||
|
||||
@ -168,7 +168,7 @@ entry:
|
||||
call void @llvm.memset.p0i8.i64(i8* align 8 %tmp2, i8 0, i64 64, i1 false)
|
||||
%1 = call i8* @llvm.objc.retain(i8* %0) nounwind
|
||||
%tmp4 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_", align 8
|
||||
%call = call i64 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %1, i8* %tmp4, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%call = call i64 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %1, i8* %tmp4, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%iszero = icmp eq i64 %call, 0
|
||||
br i1 %iszero, label %forcoll.empty, label %forcoll.loopinit
|
||||
|
||||
@ -207,7 +207,7 @@ forcoll.notmutated:
|
||||
|
||||
forcoll.refetch:
|
||||
%tmp7 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_", align 8
|
||||
%call8 = call i64 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %1, i8* %tmp7, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%call8 = call i64 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %1, i8* %tmp7, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%5 = icmp eq i64 %call8, 0
|
||||
br i1 %5, label %forcoll.empty, label %forcoll.loopbody.outer
|
||||
|
||||
@ -233,7 +233,7 @@ entry:
|
||||
call void @llvm.memset.p0i8.i64(i8* align 8 %tmp, i8 0, i64 64, i1 false)
|
||||
%1 = call i8* @llvm.objc.retain(i8* %0) nounwind
|
||||
%tmp2 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_", align 8
|
||||
%call3 = call i64 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %1, i8* %tmp2, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%call3 = call i64 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %1, i8* %tmp2, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%iszero = icmp eq i64 %call3, 0
|
||||
br i1 %iszero, label %forcoll.empty, label %forcoll.loopinit
|
||||
|
||||
@ -272,7 +272,7 @@ forcoll.notmutated:
|
||||
|
||||
forcoll.refetch:
|
||||
%tmp6 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_", align 8
|
||||
%call7 = call i64 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %1, i8* %tmp6, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%call7 = call i64 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %1, i8* %tmp6, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%5 = icmp eq i64 %call7, 0
|
||||
br i1 %5, label %forcoll.empty, label %forcoll.loopbody.outer
|
||||
|
||||
@ -299,7 +299,7 @@ entry:
|
||||
call void @llvm.memset.p0i8.i64(i8* align 8 %tmp, i8 0, i64 64, i1 false)
|
||||
%1 = call i8* @llvm.objc.retain(i8* %0) nounwind
|
||||
%tmp2 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_", align 8
|
||||
%call3 = call i64 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %1, i8* %tmp2, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%call3 = call i64 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %1, i8* %tmp2, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%iszero = icmp eq i64 %call3, 0
|
||||
br i1 %iszero, label %forcoll.empty, label %forcoll.loopinit
|
||||
|
||||
@ -338,7 +338,7 @@ forcoll.notmutated:
|
||||
|
||||
forcoll.refetch:
|
||||
%tmp6 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_", align 8
|
||||
%call7 = call i64 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %1, i8* %tmp6, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%call7 = call i64 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %1, i8* %tmp6, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%5 = icmp eq i64 %call7, 0
|
||||
br i1 %5, label %forcoll.empty, label %forcoll.loopbody.outer
|
||||
|
||||
@ -368,7 +368,7 @@ entry:
|
||||
call void @llvm.memset.p0i8.i64(i8* align 8 %tmp, i8 0, i64 64, i1 false)
|
||||
%1 = call i8* @llvm.objc.retain(i8* %0) nounwind
|
||||
%tmp2 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_", align 8
|
||||
%call3 = call i64 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %1, i8* %tmp2, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%call3 = call i64 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %1, i8* %tmp2, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%iszero = icmp eq i64 %call3, 0
|
||||
br i1 %iszero, label %forcoll.empty, label %forcoll.loopinit
|
||||
|
||||
@ -407,7 +407,7 @@ forcoll.notmutated:
|
||||
|
||||
forcoll.refetch:
|
||||
%tmp6 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_", align 8
|
||||
%call7 = call i64 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %1, i8* %tmp6, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%call7 = call i64 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %1, i8* %tmp6, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%5 = icmp eq i64 %call7, 0
|
||||
br i1 %5, label %forcoll.empty, label %forcoll.loopbody.outer
|
||||
|
||||
@ -434,7 +434,7 @@ entry:
|
||||
call void @llvm.memset.p0i8.i64(i8* align 8 %tmp, i8 0, i64 64, i1 false)
|
||||
%1 = call i8* @llvm.objc.retain(i8* %0) nounwind
|
||||
%tmp2 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_", align 8
|
||||
%call3 = call i64 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %1, i8* %tmp2, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%call3 = call i64 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %1, i8* %tmp2, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%iszero = icmp eq i64 %call3, 0
|
||||
br i1 %iszero, label %forcoll.empty, label %forcoll.loopinit
|
||||
|
||||
@ -480,7 +480,7 @@ forcoll.next:
|
||||
|
||||
forcoll.refetch:
|
||||
%tmp6 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_", align 8
|
||||
%call7 = call i64 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %1, i8* %tmp6, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%call7 = call i64 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %1, i8* %tmp6, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%5 = icmp eq i64 %call7, 0
|
||||
br i1 %5, label %forcoll.empty, label %forcoll.loopbody.outer
|
||||
|
||||
@ -511,7 +511,7 @@ entry:
|
||||
call void @llvm.memset.p0i8.i64(i8* align 8 %tmp, i8 0, i64 64, i1 false)
|
||||
%2 = call i8* @llvm.objc.retain(i8* %0) nounwind
|
||||
%tmp3 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_", align 8
|
||||
%call4 = call i64 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %2, i8* %tmp3, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%call4 = call i64 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %2, i8* %tmp3, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%iszero = icmp eq i64 %call4, 0
|
||||
br i1 %iszero, label %forcoll.empty, label %forcoll.loopinit
|
||||
|
||||
@ -548,7 +548,7 @@ forcoll.notmutated.forcoll.loopbody_crit_edge:
|
||||
|
||||
forcoll.refetch:
|
||||
%tmp6 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_", align 8
|
||||
%call7 = call i64 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %2, i8* %tmp6, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%call7 = call i64 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %2, i8* %tmp6, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%4 = icmp eq i64 %call7, 0
|
||||
br i1 %4, label %forcoll.empty, label %forcoll.loopbody.outer
|
||||
|
||||
@ -578,7 +578,7 @@ entry:
|
||||
call void @llvm.memset.p0i8.i64(i8* align 8 %tmp, i8 0, i64 64, i1 false)
|
||||
%2 = call i8* @llvm.objc.retain(i8* %0) nounwind
|
||||
%tmp3 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_", align 8
|
||||
%call4 = call i64 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %2, i8* %tmp3, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%call4 = call i64 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %2, i8* %tmp3, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%iszero = icmp eq i64 %call4, 0
|
||||
br i1 %iszero, label %forcoll.empty, label %forcoll.loopinit
|
||||
|
||||
@ -612,7 +612,7 @@ forcoll.notmutated:
|
||||
|
||||
forcoll.refetch:
|
||||
%tmp6 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_", align 8
|
||||
%call7 = call i64 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %2, i8* %tmp6, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%call7 = call i64 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %2, i8* %tmp6, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%4 = icmp eq i64 %call7, 0
|
||||
br i1 %4, label %forcoll.empty, label %forcoll.loopbody.outer
|
||||
|
||||
@ -645,7 +645,7 @@ entry:
|
||||
call void @llvm.memset.p0i8.i64(i8* align 8 %tmp, i8 0, i64 64, i1 false)
|
||||
%2 = call i8* @llvm.objc.retain(i8* %0) nounwind
|
||||
%tmp3 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_", align 8
|
||||
%call4 = call i64 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %2, i8* %tmp3, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%call4 = call i64 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %2, i8* %tmp3, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%iszero = icmp eq i64 %call4, 0
|
||||
br i1 %iszero, label %forcoll.empty, label %forcoll.loopinit
|
||||
|
||||
@ -682,7 +682,7 @@ forcoll.notmutated.forcoll.loopbody_crit_edge:
|
||||
|
||||
forcoll.refetch:
|
||||
%tmp6 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_", align 8
|
||||
%call7 = call i64 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %2, i8* %tmp6, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%call7 = call i64 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %2, i8* %tmp6, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%4 = icmp eq i64 %call7, 0
|
||||
br i1 %4, label %forcoll.empty, label %forcoll.loopbody.outer
|
||||
|
||||
@ -713,7 +713,7 @@ entry:
|
||||
call void @llvm.memset.p0i8.i64(i8* align 8 %tmp, i8 0, i64 64, i1 false)
|
||||
%2 = call i8* @llvm.objc.retain(i8* %0) nounwind
|
||||
%tmp3 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_", align 8
|
||||
%call4 = call i64 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %2, i8* %tmp3, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%call4 = call i64 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %2, i8* %tmp3, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%iszero = icmp eq i64 %call4, 0
|
||||
br i1 %iszero, label %forcoll.empty, label %forcoll.loopinit
|
||||
|
||||
@ -747,7 +747,7 @@ forcoll.notmutated:
|
||||
|
||||
forcoll.refetch:
|
||||
%tmp6 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_", align 8
|
||||
%call7 = call i64 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %2, i8* %tmp6, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%call7 = call i64 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i64 (i8*, i8*, %struct.__objcFastEnumerationState*, [16 x i8*]*, i64)*)(i8* %2, i8* %tmp6, %struct.__objcFastEnumerationState* %state.ptr, [16 x i8*]* %items.ptr, i64 16)
|
||||
%4 = icmp eq i64 %call7, 0
|
||||
br i1 %4, label %forcoll.empty, label %forcoll.loopbody.outer
|
||||
|
||||
|
@ -22,9 +22,9 @@ declare i8* @llvm.objc.retain(i8*) nonlazybind
|
||||
declare i8* @llvm.objc.retainAutoreleasedReturnValue(i8*) nonlazybind
|
||||
declare void @llvm.objc.release(i8*) nonlazybind
|
||||
declare i8* @returner()
|
||||
declare i8* @llvm.objc.msgSend(i8*, i8*, ...) nonlazybind
|
||||
declare i8* @objc_msgSend(i8*, i8*, ...) nonlazybind
|
||||
declare void @NSLog(i8*, ...)
|
||||
declare void @llvm.objc.msgSend_stret(i8*, i8*, ...)
|
||||
declare void @objc_msgSend_stret(i8*, i8*, ...)
|
||||
declare i32 @__gxx_personality_sj0(...)
|
||||
declare i32 @__objc_personality_v0(...)
|
||||
|
||||
@ -866,18 +866,18 @@ bb222: ; preds = %bb20, %bb19
|
||||
; Function Attrs: ssp
|
||||
define void @test3() #1 personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) {
|
||||
entry:
|
||||
%call2 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
%call2 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
to label %invoke.cont unwind label %lpad
|
||||
|
||||
invoke.cont: ; preds = %entry
|
||||
%call5 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8 (i8*, i8*)*)(i8* undef, i8* undef)
|
||||
%call5 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*)*)(i8* undef, i8* 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 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i32 (i8*, i8*)*)(i8* undef, i8* undef)
|
||||
%call7 = invoke i32 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i32 (i8*, i8*)*)(i8* undef, i8* undef)
|
||||
to label %land.end unwind label %lpad3
|
||||
|
||||
land.end: ; preds = %land.rhs, %invoke.cont4
|
||||
@ -896,11 +896,11 @@ lpad.i: ; preds = %land.end
|
||||
unreachable
|
||||
|
||||
invoke.cont8: ; preds = %if.then.i, %invoke.cont.i
|
||||
%call18 = invoke i8* (i8*, i8*, i8*, ...) bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i8*, ...)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef)
|
||||
%call18 = invoke i8* (i8*, i8*, i8*, ...) bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*, ...)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef)
|
||||
to label %invoke.cont17 unwind label %lpad16
|
||||
|
||||
invoke.cont17: ; preds = %invoke.cont8
|
||||
%call22 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8 (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
%call22 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
to label %invoke.cont21 unwind label %lpad20
|
||||
|
||||
invoke.cont21: ; preds = %invoke.cont17
|
||||
@ -919,14 +919,14 @@ lpad.i1982: ; preds = %invoke.cont21
|
||||
unreachable
|
||||
|
||||
invoke.cont24: ; preds = %if.then.i1981, %invoke.cont.i1980
|
||||
%call37 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8 (i8*, i8*)*)(i8* undef, i8* undef)
|
||||
%call37 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*)*)(i8* undef, i8* 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 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8 (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
%call41 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
to label %land.end43 unwind label %lpad35
|
||||
|
||||
land.end43: ; preds = %land.rhs39, %invoke.cont36
|
||||
@ -945,18 +945,18 @@ lpad.i1988: ; preds = %land.end43
|
||||
unreachable
|
||||
|
||||
invoke.cont44: ; preds = %if.then.i1987, %invoke.cont.i1986
|
||||
%call53 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
%call53 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
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 i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 42)
|
||||
%call63 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 42)
|
||||
to label %invoke.cont62 unwind label %lpad61
|
||||
|
||||
invoke.cont62: ; preds = %land.rhs58
|
||||
%call68 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8 (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef)
|
||||
%call68 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef)
|
||||
to label %land.end70 unwind label %lpad66.body.thread
|
||||
|
||||
land.end70: ; preds = %invoke.cont62, %invoke.cont52
|
||||
@ -985,11 +985,11 @@ lpad.i2000: ; preds = %invoke.cont71
|
||||
br label %ehcleanup102
|
||||
|
||||
invoke.cont91: ; preds = %if.then.i1999, %invoke.cont.i1998
|
||||
%call96 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*)*)(i8* undef, i8* undef)
|
||||
%call96 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* undef, i8* undef)
|
||||
to label %invoke.cont95 unwind label %lpad94
|
||||
|
||||
invoke.cont95: ; preds = %invoke.cont91
|
||||
%call98 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8 (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* %call96)
|
||||
%call98 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* %call96)
|
||||
to label %invoke.cont97 unwind label %lpad94
|
||||
|
||||
invoke.cont97: ; preds = %invoke.cont95
|
||||
@ -1008,7 +1008,7 @@ lpad.i2006: ; preds = %invoke.cont97
|
||||
unreachable
|
||||
|
||||
invoke.cont100: ; preds = %if.then.i2005, %invoke.cont.i2004
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
to label %invoke.cont110 unwind label %lpad109
|
||||
|
||||
invoke.cont110: ; preds = %invoke.cont100
|
||||
@ -1111,11 +1111,11 @@ if.then.i2029: ; preds = %invoke.cont.i2028
|
||||
br label %invoke.cont165
|
||||
|
||||
invoke.cont165: ; preds = %if.then.i2029, %invoke.cont.i2028
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to void (i8*, i8*, void (i8*, i8*)*)*)(i8* undef, i8* undef, void (i8*, i8*)* undef)
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, void (i8*, i8*)*)*)(i8* undef, i8* undef, void (i8*, i8*)* undef)
|
||||
to label %invoke.cont184 unwind label %lpad183
|
||||
|
||||
invoke.cont184: ; preds = %invoke.cont165
|
||||
%call186 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
%call186 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
to label %invoke.cont185 unwind label %lpad183
|
||||
|
||||
invoke.cont185: ; preds = %invoke.cont184
|
||||
@ -1134,15 +1134,15 @@ lpad.i2036: ; preds = %invoke.cont185
|
||||
br label %lpad183.body
|
||||
|
||||
invoke.cont190: ; preds = %if.then.i2035, %invoke.cont.i2034
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
to label %invoke.cont197 unwind label %lpad196
|
||||
|
||||
invoke.cont197: ; preds = %invoke.cont190
|
||||
%call202 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
%call202 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
to label %invoke.cont201 unwind label %lpad200
|
||||
|
||||
invoke.cont201: ; preds = %invoke.cont197
|
||||
%call205 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8 (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
%call205 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
to label %invoke.cont204 unwind label %lpad203
|
||||
|
||||
invoke.cont204: ; preds = %invoke.cont201
|
||||
@ -1161,7 +1161,7 @@ lpad.i2042: ; preds = %invoke.cont204
|
||||
unreachable
|
||||
|
||||
invoke.cont207: ; preds = %if.then.i2041, %invoke.cont.i2040
|
||||
%call209 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*)*)(i8* undef, i8* undef)
|
||||
%call209 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* undef, i8* undef)
|
||||
to label %invoke.cont208 unwind label %lpad203
|
||||
|
||||
invoke.cont208: ; preds = %invoke.cont207
|
||||
@ -1175,11 +1175,11 @@ if.then.i2047: ; preds = %invoke.cont.i2046
|
||||
br label %invoke.cont213
|
||||
|
||||
invoke.cont213: ; preds = %if.then.i2047, %invoke.cont.i2046
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
to label %invoke.cont221 unwind label %lpad220
|
||||
|
||||
invoke.cont221: ; preds = %invoke.cont213
|
||||
%call229 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8 (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
%call229 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
to label %invoke.cont228 unwind label %lpad227
|
||||
|
||||
invoke.cont228: ; preds = %invoke.cont221
|
||||
@ -1198,7 +1198,7 @@ lpad.i2054: ; preds = %invoke.cont228
|
||||
unreachable
|
||||
|
||||
invoke.cont231: ; preds = %if.then.i2053, %invoke.cont.i2052
|
||||
%call233 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*)*)(i8* undef, i8* undef)
|
||||
%call233 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* undef, i8* undef)
|
||||
to label %invoke.cont232 unwind label %lpad227
|
||||
|
||||
invoke.cont232: ; preds = %invoke.cont231
|
||||
@ -1212,39 +1212,39 @@ if.then.i2059: ; preds = %invoke.cont.i2058
|
||||
br label %invoke.cont237
|
||||
|
||||
invoke.cont237: ; preds = %if.then.i2059, %invoke.cont.i2058
|
||||
%call246 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
%call246 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
to label %invoke.cont245 unwind label %lpad244
|
||||
|
||||
invoke.cont245: ; preds = %invoke.cont237
|
||||
%call248 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 13)
|
||||
%call248 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 13)
|
||||
to label %invoke.cont247 unwind label %lpad244
|
||||
|
||||
invoke.cont247: ; preds = %invoke.cont245
|
||||
%call251 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 2)
|
||||
%call251 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 2)
|
||||
to label %invoke.cont250 unwind label %lpad249
|
||||
|
||||
invoke.cont250: ; preds = %invoke.cont247
|
||||
%call254 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 7)
|
||||
%call254 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 7)
|
||||
to label %invoke.cont253 unwind label %lpad252
|
||||
|
||||
invoke.cont253: ; preds = %invoke.cont250
|
||||
%call257 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i8**, i32)*)(i8* undef, i8* undef, i8** undef, i32 3)
|
||||
%call257 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8**, i32)*)(i8* undef, i8* undef, i8** undef, i32 3)
|
||||
to label %invoke.cont256 unwind label %lpad255
|
||||
|
||||
invoke.cont256: ; preds = %invoke.cont253
|
||||
%call260 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef, i8* undef)
|
||||
%call260 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef, i8* undef)
|
||||
to label %invoke.cont259 unwind label %lpad258
|
||||
|
||||
invoke.cont259: ; preds = %invoke.cont256
|
||||
%call267 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
%call267 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
to label %invoke.cont266 unwind label %lpad265
|
||||
|
||||
invoke.cont266: ; preds = %invoke.cont259
|
||||
%call275 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef)
|
||||
%call275 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef)
|
||||
to label %invoke.cont274 unwind label %lpad273
|
||||
|
||||
invoke.cont274: ; preds = %invoke.cont266
|
||||
%call279 = invoke i32 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i32 (i8*, i8*)*)(i8* undef, i8* undef)
|
||||
%call279 = invoke i32 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i32 (i8*, i8*)*)(i8* undef, i8* undef)
|
||||
to label %invoke.cont278 unwind label %lpad277
|
||||
|
||||
invoke.cont278: ; preds = %invoke.cont274
|
||||
@ -1263,34 +1263,34 @@ lpad.i2066: ; preds = %invoke.cont278
|
||||
unreachable
|
||||
|
||||
invoke.cont281: ; preds = %if.then.i2065, %invoke.cont.i2064
|
||||
%call291 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
%call291 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
to label %invoke.cont290 unwind label %lpad289
|
||||
|
||||
invoke.cont290: ; preds = %invoke.cont281
|
||||
%call303 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 8)
|
||||
%call303 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 8)
|
||||
to label %invoke.cont302 unwind label %lpad301
|
||||
|
||||
invoke.cont302: ; preds = %invoke.cont290
|
||||
%call310 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, double)*)(i8* undef, i8* undef, double 5.000000e-01)
|
||||
%call310 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, double)*)(i8* undef, i8* undef, double 5.000000e-01)
|
||||
to label %invoke.cont309 unwind label %lpad308
|
||||
|
||||
invoke.cont309: ; preds = %invoke.cont302
|
||||
%call313 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 42)
|
||||
%call313 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 42)
|
||||
to label %invoke.cont312 unwind label %lpad311
|
||||
|
||||
invoke.cont312: ; preds = %invoke.cont309
|
||||
%call316 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i8**, i8**, i32)*)(i8* undef, i8* undef, i8** undef, i8** undef, i32 2)
|
||||
%call316 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8**, i8**, i32)*)(i8* undef, i8* undef, i8** undef, i8** undef, i32 2)
|
||||
to label %invoke.cont315 unwind label %lpad314
|
||||
|
||||
invoke.cont315: ; preds = %invoke.cont312
|
||||
%call322 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef)
|
||||
%call322 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* 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 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8 (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
%call342 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
to label %land.end344 unwind label %lpad340.body.thread
|
||||
|
||||
land.end344: ; preds = %land.rhs335, %invoke.cont321
|
||||
@ -1304,15 +1304,15 @@ if.then.i2071: ; preds = %invoke.cont.i2070
|
||||
br label %invoke.cont345
|
||||
|
||||
invoke.cont345: ; preds = %if.then.i2071, %invoke.cont.i2070
|
||||
%call362 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef)
|
||||
%call362 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef)
|
||||
to label %invoke.cont361 unwind label %lpad360
|
||||
|
||||
invoke.cont361: ; preds = %invoke.cont345
|
||||
%call365 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
%call365 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
to label %invoke.cont364 unwind label %lpad363
|
||||
|
||||
invoke.cont364: ; preds = %invoke.cont361
|
||||
%call371 = invoke i32 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i32 (i8*, i8*)*)(i8* undef, i8* undef)
|
||||
%call371 = invoke i32 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i32 (i8*, i8*)*)(i8* undef, i8* undef)
|
||||
to label %invoke.cont370 unwind label %lpad369
|
||||
|
||||
invoke.cont370: ; preds = %invoke.cont364
|
||||
@ -1331,15 +1331,15 @@ lpad.i2078: ; preds = %invoke.cont370
|
||||
unreachable
|
||||
|
||||
invoke.cont373: ; preds = %if.then.i2077, %invoke.cont.i2076
|
||||
%call377 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i32, i8*)*)(i8* undef, i8* undef, i32 42, i8* undef)
|
||||
%call377 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32, i8*)*)(i8* undef, i8* undef, i32 42, i8* undef)
|
||||
to label %invoke.cont376 unwind label %lpad363
|
||||
|
||||
invoke.cont376: ; preds = %invoke.cont373
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to void (i8*, i8*, i8*, i32)*)(i8* undef, i8* undef, i8* undef, i32 5)
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i32)*)(i8* undef, i8* undef, i8* undef, i32 5)
|
||||
to label %invoke.cont382 unwind label %lpad381
|
||||
|
||||
invoke.cont382: ; preds = %invoke.cont376
|
||||
%call384 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
%call384 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
to label %invoke.cont383 unwind label %lpad381
|
||||
|
||||
invoke.cont383: ; preds = %invoke.cont382
|
||||
@ -1358,19 +1358,19 @@ lpad.i2084: ; preds = %invoke.cont383
|
||||
unreachable
|
||||
|
||||
invoke.cont392: ; preds = %if.then.i2083, %invoke.cont.i2082
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to void (i8*, i8*, i8*, i32)*)(i8* undef, i8* undef, i8* undef, i32 -2)
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i32)*)(i8* undef, i8* undef, i8* undef, i32 -2)
|
||||
to label %invoke.cont395 unwind label %lpad381
|
||||
|
||||
invoke.cont395: ; preds = %invoke.cont392
|
||||
%call397 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
%call397 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
to label %invoke.cont396 unwind label %lpad381
|
||||
|
||||
invoke.cont396: ; preds = %invoke.cont395
|
||||
%call400 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*)*)(i8* undef, i8* undef)
|
||||
%call400 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* undef, i8* undef)
|
||||
to label %invoke.cont399 unwind label %lpad398
|
||||
|
||||
invoke.cont399: ; preds = %invoke.cont396
|
||||
%call403 = invoke i32 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i32 (i8*, i8*)*)(i8* undef, i8* undef)
|
||||
%call403 = invoke i32 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i32 (i8*, i8*)*)(i8* undef, i8* undef)
|
||||
to label %invoke.cont402 unwind label %lpad401
|
||||
|
||||
invoke.cont402: ; preds = %invoke.cont399
|
||||
@ -1389,15 +1389,15 @@ lpad.i2090: ; preds = %invoke.cont402
|
||||
unreachable
|
||||
|
||||
invoke.cont405: ; preds = %if.then.i2089, %invoke.cont.i2088
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to void (i8*, i8*, i8*, i32)*)(i8* undef, i8* undef, i8* undef, i32 -1)
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i32)*)(i8* undef, i8* undef, i8* undef, i32 -1)
|
||||
to label %invoke.cont408 unwind label %lpad381
|
||||
|
||||
invoke.cont408: ; preds = %invoke.cont405
|
||||
%call410 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
%call410 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
to label %invoke.cont409 unwind label %lpad381
|
||||
|
||||
invoke.cont409: ; preds = %invoke.cont408
|
||||
%call413 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*)*)(i8* undef, i8* undef)
|
||||
%call413 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* undef, i8* undef)
|
||||
to label %invoke.cont412 unwind label %lpad411
|
||||
|
||||
invoke.cont412: ; preds = %invoke.cont409
|
||||
@ -1416,19 +1416,19 @@ lpad.i2096: ; preds = %invoke.cont412
|
||||
unreachable
|
||||
|
||||
invoke.cont418: ; preds = %if.then.i2095, %invoke.cont.i2094
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to void (i8*, i8*, i8*, i32)*)(i8* undef, i8* undef, i8* undef, i32 0)
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i32)*)(i8* undef, i8* undef, i8* undef, i32 0)
|
||||
to label %invoke.cont422 unwind label %lpad381
|
||||
|
||||
invoke.cont422: ; preds = %invoke.cont418
|
||||
%call424 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
%call424 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
to label %invoke.cont423 unwind label %lpad381
|
||||
|
||||
invoke.cont423: ; preds = %invoke.cont422
|
||||
%call427 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*)*)(i8* undef, i8* undef)
|
||||
%call427 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* undef, i8* undef)
|
||||
to label %invoke.cont426 unwind label %lpad425
|
||||
|
||||
invoke.cont426: ; preds = %invoke.cont423
|
||||
%call430 = invoke i32 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i32 (i8*, i8*)*)(i8* undef, i8* undef)
|
||||
%call430 = invoke i32 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i32 (i8*, i8*)*)(i8* undef, i8* undef)
|
||||
to label %invoke.cont429 unwind label %lpad428
|
||||
|
||||
invoke.cont429: ; preds = %invoke.cont426
|
||||
@ -1447,7 +1447,7 @@ lpad.i2102: ; preds = %invoke.cont429
|
||||
unreachable
|
||||
|
||||
invoke.cont432: ; preds = %if.then.i2101, %invoke.cont.i2100
|
||||
%call436 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 0)
|
||||
%call436 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 0)
|
||||
to label %invoke.cont435 unwind label %lpad381
|
||||
|
||||
invoke.cont435: ; preds = %invoke.cont432
|
||||
@ -1455,7 +1455,7 @@ invoke.cont435: ; preds = %invoke.cont432
|
||||
to label %invoke.cont.i2106 unwind label %lpad.i2108
|
||||
|
||||
invoke.cont.i2106: ; preds = %invoke.cont435
|
||||
%call444 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 5)
|
||||
%call444 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 5)
|
||||
to label %invoke.cont443 unwind label %lpad381
|
||||
|
||||
lpad.i2108: ; preds = %invoke.cont435
|
||||
@ -1479,11 +1479,11 @@ lpad.i2114: ; preds = %invoke.cont443
|
||||
unreachable
|
||||
|
||||
invoke.cont449: ; preds = %if.then.i2113, %invoke.cont.i2112
|
||||
%call453 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 -2)
|
||||
%call453 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 -2)
|
||||
to label %invoke.cont452 unwind label %lpad381
|
||||
|
||||
invoke.cont452: ; preds = %invoke.cont449
|
||||
%call456 = invoke i32 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i32 (i8*, i8*)*)(i8* undef, i8* undef)
|
||||
%call456 = invoke i32 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i32 (i8*, i8*)*)(i8* undef, i8* undef)
|
||||
to label %invoke.cont455 unwind label %lpad454
|
||||
|
||||
invoke.cont455: ; preds = %invoke.cont452
|
||||
@ -1502,7 +1502,7 @@ lpad.i2120: ; preds = %invoke.cont455
|
||||
unreachable
|
||||
|
||||
invoke.cont458: ; preds = %if.then.i2119, %invoke.cont.i2118
|
||||
%call461 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 -1)
|
||||
%call461 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 -1)
|
||||
to label %invoke.cont460 unwind label %lpad381
|
||||
|
||||
invoke.cont460: ; preds = %invoke.cont458
|
||||
@ -1521,7 +1521,7 @@ lpad.i2126: ; preds = %invoke.cont460
|
||||
br label %ehcleanup477
|
||||
|
||||
invoke.cont466: ; preds = %if.then.i2125, %invoke.cont.i2124
|
||||
%call470 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 0)
|
||||
%call470 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 0)
|
||||
to label %invoke.cont469 unwind label %lpad381
|
||||
|
||||
invoke.cont469: ; preds = %invoke.cont466
|
||||
@ -1540,34 +1540,34 @@ lpad.i2132: ; preds = %invoke.cont469
|
||||
br label %ehcleanup477
|
||||
|
||||
invoke.cont475: ; preds = %if.then.i2131, %invoke.cont.i2130
|
||||
%call491 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 1)
|
||||
%call491 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 1)
|
||||
to label %invoke.cont490 unwind label %lpad489
|
||||
|
||||
invoke.cont490: ; preds = %invoke.cont475
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
to label %invoke.cont499 unwind label %lpad498
|
||||
|
||||
invoke.cont499: ; preds = %invoke.cont490
|
||||
%call504 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
%call504 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
to label %invoke.cont503 unwind label %lpad489
|
||||
|
||||
invoke.cont503: ; preds = %invoke.cont499
|
||||
%call507 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 3)
|
||||
%call507 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 3)
|
||||
to label %invoke.cont506 unwind label %lpad505
|
||||
|
||||
invoke.cont506: ; preds = %invoke.cont503
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
to label %invoke.cont509 unwind label %lpad508
|
||||
|
||||
invoke.cont509: ; preds = %invoke.cont506
|
||||
%call513 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
%call513 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
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 bitcast (void (i8*, i8*, ...)* @llvm.objc.msgSend_stret to void (%struct.CGPoint*, i8*, i8*)*)(%struct.CGPoint* sret(%struct.CGPoint) undef, i8* undef, i8* undef)
|
||||
invoke void bitcast (void (i8*, i8*, ...)* @objc_msgSend_stret to void (%struct.CGPoint*, i8*, i8*)*)(%struct.CGPoint* sret(%struct.CGPoint) undef, i8* undef, i8* undef)
|
||||
to label %msgSend.cont unwind label %lpad514
|
||||
|
||||
msgSend.null-receiver: ; preds = %invoke.cont512
|
||||
@ -1589,15 +1589,15 @@ lpad.i2138: ; preds = %msgSend.cont
|
||||
unreachable
|
||||
|
||||
invoke.cont521: ; preds = %if.then.i2137, %invoke.cont.i2136
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef)
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef)
|
||||
to label %invoke.cont528 unwind label %lpad527
|
||||
|
||||
invoke.cont528: ; preds = %invoke.cont521
|
||||
%call532 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
%call532 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
to label %invoke.cont531 unwind label %lpad489
|
||||
|
||||
invoke.cont531: ; preds = %invoke.cont528
|
||||
%call535 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*)*)(i8* undef, i8* undef)
|
||||
%call535 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* undef, i8* undef)
|
||||
to label %invoke.cont534 unwind label %lpad533
|
||||
|
||||
invoke.cont534: ; preds = %invoke.cont531
|
||||
@ -1616,19 +1616,19 @@ lpad.i2144: ; preds = %invoke.cont534
|
||||
unreachable
|
||||
|
||||
invoke.cont540: ; preds = %if.then.i2143, %invoke.cont.i2142
|
||||
%call544 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i32)*)(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i32 3)
|
||||
%call544 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i32 3)
|
||||
to label %invoke.cont543 unwind label %lpad489
|
||||
|
||||
invoke.cont543: ; preds = %invoke.cont540
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef)
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef)
|
||||
to label %invoke.cont546 unwind label %lpad545
|
||||
|
||||
invoke.cont546: ; preds = %invoke.cont543
|
||||
%call549 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
%call549 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
to label %invoke.cont548 unwind label %lpad489
|
||||
|
||||
invoke.cont548: ; preds = %invoke.cont546
|
||||
%call555 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8 (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
%call555 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
to label %invoke.cont554 unwind label %lpad553
|
||||
|
||||
invoke.cont554: ; preds = %invoke.cont548
|
||||
@ -1638,7 +1638,7 @@ invoke.cont554: ; preds = %invoke.cont548
|
||||
|
||||
invoke.cont.i2148: ; preds = %invoke.cont554
|
||||
call void @llvm.objc.release(i8* %tmp499) #3, !clang.imprecise_release !0
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
to label %invoke.cont566 unwind label %lpad565
|
||||
|
||||
lpad.i2150: ; preds = %invoke.cont554
|
||||
@ -1648,11 +1648,11 @@ lpad.i2150: ; preds = %invoke.cont554
|
||||
unreachable
|
||||
|
||||
invoke.cont566: ; preds = %invoke.cont.i2148
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
|
||||
to label %invoke.cont572 unwind label %lpad571
|
||||
|
||||
invoke.cont572: ; preds = %invoke.cont566
|
||||
%call582 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*)*)(i8* undef, i8* undef)
|
||||
%call582 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* undef, i8* undef)
|
||||
to label %invoke.cont581 unwind label %lpad580
|
||||
|
||||
invoke.cont581: ; preds = %invoke.cont572
|
||||
@ -1927,7 +1927,7 @@ if.then10: ; preds = %entry
|
||||
br label %if.end13
|
||||
|
||||
if.end13: ; preds = %if.then10, %entry
|
||||
%0 = call i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*, i8*, i8*, i64, i8*, i8)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i64 2, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring_2 to i8*), i8 signext 0), !clang.arc.no_objc_arc_exceptions !0
|
||||
%0 = call i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*, i64, i8*, i8)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i64 2, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring_2 to i8*), i8 signext 0), !clang.arc.no_objc_arc_exceptions !0
|
||||
br i1 undef, label %if.then17, label %if.end18
|
||||
|
||||
if.then17: ; preds = %if.end13
|
||||
@ -2162,7 +2162,7 @@ if.then398: ; preds = %if.end392
|
||||
br label %if.end399
|
||||
|
||||
if.end399: ; preds = %if.then398, %if.end392
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to void (i8*, i8*)*)(i8* undef, i8* undef)
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*)*)(i8* undef, i8* undef)
|
||||
to label %eh.cont unwind label %lpad, !clang.arc.no_objc_arc_exceptions !0
|
||||
|
||||
eh.cont: ; preds = %if.end399
|
||||
|
@ -4,7 +4,7 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3
|
||||
declare i8* @llvm.objc.unretainedObject(i8*)
|
||||
declare i8* @llvm.objc.retainAutoreleasedReturnValue(i8*)
|
||||
declare i8* @llvm.objc.autoreleaseReturnValue(i8*)
|
||||
declare i8* @llvm.objc.msgSend(i8*, i8*, ...)
|
||||
declare i8* @objc_msgSend(i8*, i8*, ...)
|
||||
declare void @llvm.objc.release(i8*)
|
||||
|
||||
; Test that the optimizer can create an objc_retainAutoreleaseReturnValue
|
||||
@ -37,13 +37,13 @@ entry:
|
||||
define void @test1(i8* %call88) nounwind personality i32 (...)* @__gxx_personality_v0 {
|
||||
entry:
|
||||
%tmp1 = call i8* @llvm.objc.retainAutoreleasedReturnValue(i8* %call88) nounwind
|
||||
%call94 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to i8* (i8*)*)(i8* %tmp1)
|
||||
%call94 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*)*)(i8* %tmp1)
|
||||
to label %invoke.cont93 unwind label %lpad91
|
||||
|
||||
invoke.cont93: ; preds = %entry
|
||||
%tmp2 = call i8* @llvm.objc.retainAutoreleasedReturnValue(i8* %call94) nounwind
|
||||
call void @llvm.objc.release(i8* %tmp1) nounwind
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @llvm.objc.msgSend to void (i8*)*)(i8* %tmp2)
|
||||
invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*)*)(i8* %tmp2)
|
||||
to label %invoke.cont102 unwind label %lpad100
|
||||
|
||||
invoke.cont102: ; preds = %invoke.cont93
|
||||
|
Loading…
Reference in New Issue
Block a user