diff options
Diffstat (limited to 'llvm/test/Transforms')
| -rw-r--r-- | llvm/test/Transforms/ObjCARC/path-overflow.ll | 1066 | 
1 files changed, 1063 insertions, 3 deletions
diff --git a/llvm/test/Transforms/ObjCARC/path-overflow.ll b/llvm/test/Transforms/ObjCARC/path-overflow.ll index 605e8605897..e62a70da20a 100644 --- a/llvm/test/Transforms/ObjCARC/path-overflow.ll +++ b/llvm/test/Transforms/ObjCARC/path-overflow.ll @@ -1,6 +1,7 @@  ; RUN: opt -objc-arc -S < %s  ; rdar://12277446  ; rdar://12480535 +; rdar://14590914  ; The total number of paths grows exponentially with the number of branches, and a  ; computation of this number can overflow any reasonable fixed-sized @@ -10,14 +11,20 @@  target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n32-S32"  target triple = "thumbv7-apple-ios5.0.0" -%struct.NSConstantString.11.33.55.77.99.121.143.332.1130.1340.2768 = type { i32*, i32, i8*, i32 } +%struct.NSConstantString = type { i32*, i32, i8*, i32 } +%struct.CGPoint = type { float, float } -@_unnamed_cfstring_591 = external constant %struct.NSConstantString.11.33.55.77.99.121.143.332.1130.1340.2768, section "__DATA,__cfstring" +@_unnamed_cfstring = external constant %struct.NSConstantString, section "__DATA,__cfstring"  declare i8* @objc_retain(i8*) nonlazybind  declare i8* @objc_retainAutoreleasedReturnValue(i8*) nonlazybind  declare void @objc_release(i8*) nonlazybind  declare i8* @returner() +declare i8* @objc_msgSend(i8*, i8*, ...) nonlazybind +declare void @NSLog(i8*, ...) +declare void @objc_msgSend_stret(i8*, i8*, ...) +declare i32 @__gxx_personality_sj0(...) +  define hidden void @test1() {  entry: @@ -30,7 +37,7 @@ msgSend.nullinit:                                 ; preds = %entry    br label %msgSend.cont  msgSend.cont:                                     ; preds = %msgSend.nullinit, %msgSend.call -  %0 = bitcast %struct.NSConstantString.11.33.55.77.99.121.143.332.1130.1340.2768* @_unnamed_cfstring_591 to i8* +  %0 = bitcast %struct.NSConstantString* @_unnamed_cfstring to i8*    %1 = call i8* @objc_retain(i8* %0) nounwind    br i1 undef, label %msgSend.nullinit33, label %msgSend.call32 @@ -853,5 +860,1058 @@ bb222:                                            ; preds = %bb20, %bb19    ret void  } +; Function Attrs: ssp +define void @test3() #1 { +entry: +  %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*, ...)* @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*, ...)* @objc_msgSend to i32 (i8*, i8*)*)(i8* undef, i8* undef) +          to label %land.end unwind label %lpad3 + +land.end:                                         ; preds = %land.rhs, %invoke.cont4 +  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*)) +          to label %invoke.cont.i unwind label %lpad.i + +invoke.cont.i:                                    ; preds = %land.end +  br i1 undef, label %invoke.cont8, label %if.then.i + +if.then.i:                                        ; preds = %invoke.cont.i +  br label %invoke.cont8 + +lpad.i:                                           ; preds = %land.end +  %tmp13 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +invoke.cont8:                                     ; preds = %if.then.i, %invoke.cont.i +  %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*, ...)* @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 +  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*)) +          to label %invoke.cont.i1980 unwind label %lpad.i1982 + +invoke.cont.i1980:                                ; preds = %invoke.cont21 +  br i1 undef, label %invoke.cont24, label %if.then.i1981 + +if.then.i1981:                                    ; preds = %invoke.cont.i1980 +  br label %invoke.cont24 + +lpad.i1982:                                       ; preds = %invoke.cont21 +  %tmp28 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +invoke.cont24:                                    ; preds = %if.then.i1981, %invoke.cont.i1980 +  %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*, ...)* @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 +  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*)) +          to label %invoke.cont.i1986 unwind label %lpad.i1988 + +invoke.cont.i1986:                                ; preds = %land.end43 +  br i1 undef, label %invoke.cont44, label %if.then.i1987 + +if.then.i1987:                                    ; preds = %invoke.cont.i1986 +  br label %invoke.cont44 + +lpad.i1988:                                       ; preds = %land.end43 +  %tmp42 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +invoke.cont44:                                    ; preds = %if.then.i1987, %invoke.cont.i1986 +  %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*, ...)* @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*, ...)* @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 +  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*)) +          to label %invoke.cont.i1992 unwind label %lpad66.body + +invoke.cont.i1992:                                ; preds = %land.end70 +  br i1 undef, label %invoke.cont71, label %if.then.i1993 + +if.then.i1993:                                    ; preds = %invoke.cont.i1992 +  br label %invoke.cont71 + +invoke.cont71:                                    ; preds = %if.then.i1993, %invoke.cont.i1992 +  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*)) +          to label %invoke.cont.i1998 unwind label %lpad.i2000 + +invoke.cont.i1998:                                ; preds = %invoke.cont71 +  br i1 undef, label %invoke.cont91, label %if.then.i1999 + +if.then.i1999:                                    ; preds = %invoke.cont.i1998 +  br label %invoke.cont91 + +lpad.i2000:                                       ; preds = %invoke.cont71 +  %tmp74 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  br label %ehcleanup102 + +invoke.cont91:                                    ; preds = %if.then.i1999, %invoke.cont.i1998 +  %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*, ...)* @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 +  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*)) +          to label %invoke.cont.i2004 unwind label %lpad.i2006 + +invoke.cont.i2004:                                ; preds = %invoke.cont97 +  br i1 undef, label %invoke.cont100, label %if.then.i2005 + +if.then.i2005:                                    ; preds = %invoke.cont.i2004 +  br label %invoke.cont100 + +lpad.i2006:                                       ; preds = %invoke.cont97 +  %tmp82 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +invoke.cont100:                                   ; preds = %if.then.i2005, %invoke.cont.i2004 +  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 +  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*)) +          to label %invoke.cont.i2010 unwind label %lpad.i2012 + +invoke.cont.i2010:                                ; preds = %invoke.cont110 +  br i1 undef, label %invoke.cont117, label %if.then.i2011 + +if.then.i2011:                                    ; preds = %invoke.cont.i2010 +  br label %invoke.cont117 + +lpad.i2012:                                       ; preds = %invoke.cont110 +  %tmp98 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +invoke.cont117:                                   ; preds = %if.then.i2011, %invoke.cont.i2010 +  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*)) +          to label %invoke.cont.i2022 unwind label %lpad156.body + +lpad:                                             ; preds = %entry +  %tmp118 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  br label %ehcleanup + +lpad3:                                            ; preds = %land.rhs, %invoke.cont +  %tmp119 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  br label %ehcleanup + +ehcleanup:                                        ; preds = %lpad3, %lpad +  unreachable + +lpad16:                                           ; preds = %invoke.cont8 +  %tmp121 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  br label %ehcleanup26 + +lpad20:                                           ; preds = %invoke.cont17 +  %tmp122 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  br label %ehcleanup26 + +ehcleanup26:                                      ; preds = %lpad20, %lpad16 +  unreachable + +lpad35:                                           ; preds = %land.rhs39, %invoke.cont24 +  %tmp124 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad51:                                           ; preds = %invoke.cont44 +  %tmp125 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad61:                                           ; preds = %land.rhs58 +  %tmp127 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad66.body.thread:                               ; preds = %invoke.cont62 +  %tmp128 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad66.body:                                      ; preds = %land.end70 +  %tmp129 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad94:                                           ; preds = %invoke.cont95, %invoke.cont91 +  %tmp133 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  br label %ehcleanup102 + +ehcleanup102:                                     ; preds = %lpad94, %lpad.i2000 +  unreachable + +lpad109:                                          ; preds = %invoke.cont100 +  %tmp134 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +invoke.cont.i2022:                                ; preds = %invoke.cont117 +  br i1 undef, label %invoke.cont157, label %if.then.i2023 + +if.then.i2023:                                    ; preds = %invoke.cont.i2022 +  br label %invoke.cont157 + +invoke.cont157:                                   ; preds = %if.then.i2023, %invoke.cont.i2022 +  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*)) +          to label %invoke.cont.i2028 unwind label %lpad164.body + +invoke.cont.i2028:                                ; preds = %invoke.cont157 +  br i1 undef, label %invoke.cont165, label %if.then.i2029 + +if.then.i2029:                                    ; preds = %invoke.cont.i2028 +  br label %invoke.cont165 + +invoke.cont165:                                   ; preds = %if.then.i2029, %invoke.cont.i2028 +  invoke void 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*, ...)* @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 +  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*)) +          to label %invoke.cont.i2034 unwind label %lpad.i2036 + +invoke.cont.i2034:                                ; preds = %invoke.cont185 +  br i1 undef, label %invoke.cont190, label %if.then.i2035 + +if.then.i2035:                                    ; preds = %invoke.cont.i2034 +  br label %invoke.cont190 + +lpad.i2036:                                       ; preds = %invoke.cont185 +  %tmp168 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  br label %lpad183.body + +invoke.cont190:                                   ; preds = %if.then.i2035, %invoke.cont.i2034 +  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*, ...)* @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*, ...)* @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 +  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*)) +          to label %invoke.cont.i2040 unwind label %lpad.i2042 + +invoke.cont.i2040:                                ; preds = %invoke.cont204 +  br i1 undef, label %invoke.cont207, label %if.then.i2041 + +if.then.i2041:                                    ; preds = %invoke.cont.i2040 +  br label %invoke.cont207 + +lpad.i2042:                                       ; preds = %invoke.cont204 +  %tmp181 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +invoke.cont207:                                   ; preds = %if.then.i2041, %invoke.cont.i2040 +  %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 +  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*)) +          to label %invoke.cont.i2046 unwind label %lpad212.body + +invoke.cont.i2046:                                ; preds = %invoke.cont208 +  br i1 undef, label %invoke.cont213, label %if.then.i2047 + +if.then.i2047:                                    ; preds = %invoke.cont.i2046 +  br label %invoke.cont213 + +invoke.cont213:                                   ; preds = %if.then.i2047, %invoke.cont.i2046 +  invoke void 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*, ...)* @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 +  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*)) +          to label %invoke.cont.i2052 unwind label %lpad.i2054 + +invoke.cont.i2052:                                ; preds = %invoke.cont228 +  br i1 undef, label %invoke.cont231, label %if.then.i2053 + +if.then.i2053:                                    ; preds = %invoke.cont.i2052 +  br label %invoke.cont231 + +lpad.i2054:                                       ; preds = %invoke.cont228 +  %tmp198 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +invoke.cont231:                                   ; preds = %if.then.i2053, %invoke.cont.i2052 +  %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 +  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*)) +          to label %invoke.cont.i2058 unwind label %lpad236.body + +invoke.cont.i2058:                                ; preds = %invoke.cont232 +  br i1 undef, label %invoke.cont237, label %if.then.i2059 + +if.then.i2059:                                    ; preds = %invoke.cont.i2058 +  br label %invoke.cont237 + +invoke.cont237:                                   ; preds = %if.then.i2059, %invoke.cont.i2058 +  %call246 = invoke 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*, ...)* @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*, ...)* @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*, ...)* @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*, ...)* @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*, ...)* @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*, ...)* @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*, ...)* @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*, ...)* @objc_msgSend to i32 (i8*, i8*)*)(i8* undef, i8* undef) +          to label %invoke.cont278 unwind label %lpad277 + +invoke.cont278:                                   ; preds = %invoke.cont274 +  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*)) +          to label %invoke.cont.i2064 unwind label %lpad.i2066 + +invoke.cont.i2064:                                ; preds = %invoke.cont278 +  br i1 undef, label %invoke.cont281, label %if.then.i2065 + +if.then.i2065:                                    ; preds = %invoke.cont.i2064 +  br label %invoke.cont281 + +lpad.i2066:                                       ; preds = %invoke.cont278 +  %tmp253 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +invoke.cont281:                                   ; preds = %if.then.i2065, %invoke.cont.i2064 +  %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*, ...)* @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*, ...)* @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*, ...)* @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*, ...)* @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*, ...)* @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*, ...)* @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 +  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*)) +          to label %invoke.cont.i2070 unwind label %lpad340.body + +invoke.cont.i2070:                                ; preds = %land.end344 +  br i1 undef, label %invoke.cont345, label %if.then.i2071 + +if.then.i2071:                                    ; preds = %invoke.cont.i2070 +  br label %invoke.cont345 + +invoke.cont345:                                   ; preds = %if.then.i2071, %invoke.cont.i2070 +  %call362 = invoke 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*, ...)* @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*, ...)* @objc_msgSend to i32 (i8*, i8*)*)(i8* undef, i8* undef) +          to label %invoke.cont370 unwind label %lpad369 + +invoke.cont370:                                   ; preds = %invoke.cont364 +  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*)) +          to label %invoke.cont.i2076 unwind label %lpad.i2078 + +invoke.cont.i2076:                                ; preds = %invoke.cont370 +  br i1 undef, label %invoke.cont373, label %if.then.i2077 + +if.then.i2077:                                    ; preds = %invoke.cont.i2076 +  br label %invoke.cont373 + +lpad.i2078:                                       ; preds = %invoke.cont370 +  %tmp340 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +invoke.cont373:                                   ; preds = %if.then.i2077, %invoke.cont.i2076 +  %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*, ...)* @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*, ...)* @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 +  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*)) +          to label %invoke.cont.i2082 unwind label %lpad.i2084 + +invoke.cont.i2082:                                ; preds = %invoke.cont383 +  br i1 undef, label %invoke.cont392, label %if.then.i2083 + +if.then.i2083:                                    ; preds = %invoke.cont.i2082 +  br label %invoke.cont392 + +lpad.i2084:                                       ; preds = %invoke.cont383 +  %tmp360 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +invoke.cont392:                                   ; preds = %if.then.i2083, %invoke.cont.i2082 +  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*, ...)* @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*, ...)* @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*, ...)* @objc_msgSend to i32 (i8*, i8*)*)(i8* undef, i8* undef) +          to label %invoke.cont402 unwind label %lpad401 + +invoke.cont402:                                   ; preds = %invoke.cont399 +  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*)) +          to label %invoke.cont.i2088 unwind label %lpad.i2090 + +invoke.cont.i2088:                                ; preds = %invoke.cont402 +  br i1 undef, label %invoke.cont405, label %if.then.i2089 + +if.then.i2089:                                    ; preds = %invoke.cont.i2088 +  br label %invoke.cont405 + +lpad.i2090:                                       ; preds = %invoke.cont402 +  %tmp370 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +invoke.cont405:                                   ; preds = %if.then.i2089, %invoke.cont.i2088 +  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*, ...)* @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*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* undef, i8* undef) +          to label %invoke.cont412 unwind label %lpad411 + +invoke.cont412:                                   ; preds = %invoke.cont409 +  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*)) +          to label %invoke.cont.i2094 unwind label %lpad.i2096 + +invoke.cont.i2094:                                ; preds = %invoke.cont412 +  br i1 undef, label %invoke.cont418, label %if.then.i2095 + +if.then.i2095:                                    ; preds = %invoke.cont.i2094 +  br label %invoke.cont418 + +lpad.i2096:                                       ; preds = %invoke.cont412 +  %tmp380 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +invoke.cont418:                                   ; preds = %if.then.i2095, %invoke.cont.i2094 +  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*, ...)* @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*, ...)* @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*, ...)* @objc_msgSend to i32 (i8*, i8*)*)(i8* undef, i8* undef) +          to label %invoke.cont429 unwind label %lpad428 + +invoke.cont429:                                   ; preds = %invoke.cont426 +  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*)) +          to label %invoke.cont.i2100 unwind label %lpad.i2102 + +invoke.cont.i2100:                                ; preds = %invoke.cont429 +  br i1 undef, label %invoke.cont432, label %if.then.i2101 + +if.then.i2101:                                    ; preds = %invoke.cont.i2100 +  br label %invoke.cont432 + +lpad.i2102:                                       ; preds = %invoke.cont429 +  %tmp390 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +invoke.cont432:                                   ; preds = %if.then.i2101, %invoke.cont.i2100 +  %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 +  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*)) +          to label %invoke.cont.i2106 unwind label %lpad.i2108 + +invoke.cont.i2106:                                ; preds = %invoke.cont435 +  %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 +  %tmp396 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +invoke.cont443:                                   ; preds = %invoke.cont.i2106 +  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*)) +          to label %invoke.cont.i2112 unwind label %lpad.i2114 + +invoke.cont.i2112:                                ; preds = %invoke.cont443 +  br i1 undef, label %invoke.cont449, label %if.then.i2113 + +if.then.i2113:                                    ; preds = %invoke.cont.i2112 +  br label %invoke.cont449 + +lpad.i2114:                                       ; preds = %invoke.cont443 +  %tmp402 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +invoke.cont449:                                   ; preds = %if.then.i2113, %invoke.cont.i2112 +  %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*, ...)* @objc_msgSend to i32 (i8*, i8*)*)(i8* undef, i8* undef) +          to label %invoke.cont455 unwind label %lpad454 + +invoke.cont455:                                   ; preds = %invoke.cont452 +  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*)) +          to label %invoke.cont.i2118 unwind label %lpad.i2120 + +invoke.cont.i2118:                                ; preds = %invoke.cont455 +  br i1 undef, label %invoke.cont458, label %if.then.i2119 + +if.then.i2119:                                    ; preds = %invoke.cont.i2118 +  br label %invoke.cont458 + +lpad.i2120:                                       ; preds = %invoke.cont455 +  %tmp408 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +invoke.cont458:                                   ; preds = %if.then.i2119, %invoke.cont.i2118 +  %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 +  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*)) +          to label %invoke.cont.i2124 unwind label %lpad.i2126 + +invoke.cont.i2124:                                ; preds = %invoke.cont460 +  br i1 undef, label %invoke.cont466, label %if.then.i2125 + +if.then.i2125:                                    ; preds = %invoke.cont.i2124 +  br label %invoke.cont466 + +lpad.i2126:                                       ; preds = %invoke.cont460 +  %tmp414 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  br label %ehcleanup477 + +invoke.cont466:                                   ; preds = %if.then.i2125, %invoke.cont.i2124 +  %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 +  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*)) +          to label %invoke.cont.i2130 unwind label %lpad.i2132 + +invoke.cont.i2130:                                ; preds = %invoke.cont469 +  br i1 undef, label %invoke.cont475, label %if.then.i2131 + +if.then.i2131:                                    ; preds = %invoke.cont.i2130 +  br label %invoke.cont475 + +lpad.i2132:                                       ; preds = %invoke.cont469 +  %tmp420 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  br label %ehcleanup477 + +invoke.cont475:                                   ; preds = %if.then.i2131, %invoke.cont.i2130 +  %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*, ...)* @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*, ...)* @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*, ...)* @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*, ...)* @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*, ...)* @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*, ...)* @objc_msgSend_stret to void (%struct.CGPoint*, i8*, i8*)*)(%struct.CGPoint* sret undef, i8* undef, i8* undef) +          to label %msgSend.cont unwind label %lpad514 + +msgSend.null-receiver:                            ; preds = %invoke.cont512 +  br label %msgSend.cont + +msgSend.cont:                                     ; preds = %msgSend.null-receiver, %msgSend.call +  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*)) +          to label %invoke.cont.i2136 unwind label %lpad.i2138 + +invoke.cont.i2136:                                ; preds = %msgSend.cont +  br i1 undef, label %invoke.cont521, label %if.then.i2137 + +if.then.i2137:                                    ; preds = %invoke.cont.i2136 +  br label %invoke.cont521 + +lpad.i2138:                                       ; preds = %msgSend.cont +  %tmp468 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +invoke.cont521:                                   ; preds = %if.then.i2137, %invoke.cont.i2136 +  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*, ...)* @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*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* undef, i8* undef) +          to label %invoke.cont534 unwind label %lpad533 + +invoke.cont534:                                   ; preds = %invoke.cont531 +  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*)) +          to label %invoke.cont.i2142 unwind label %lpad.i2144 + +invoke.cont.i2142:                                ; preds = %invoke.cont534 +  br i1 undef, label %invoke.cont540, label %if.then.i2143 + +if.then.i2143:                                    ; preds = %invoke.cont.i2142 +  br label %invoke.cont540 + +lpad.i2144:                                       ; preds = %invoke.cont534 +  %tmp486 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +invoke.cont540:                                   ; preds = %if.then.i2143, %invoke.cont.i2142 +  %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*, ...)* @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*, ...)* @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*, ...)* @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 +  %tmp499 = call i8* @objc_retain(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*)) #3 +  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* %tmp499, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*)) +          to label %invoke.cont.i2148 unwind label %lpad.i2150 + +invoke.cont.i2148:                                ; preds = %invoke.cont554 +  call void @objc_release(i8* %tmp499) #3, !clang.imprecise_release !0 +  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 +  %tmp500 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  call void @objc_release(i8* %tmp499) #3, !clang.imprecise_release !0 +  unreachable + +invoke.cont566:                                   ; preds = %invoke.cont.i2148 +  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*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* undef, i8* undef) +          to label %invoke.cont581 unwind label %lpad580 + +invoke.cont581:                                   ; preds = %invoke.cont572 +  unreachable + +lpad156.body:                                     ; preds = %invoke.cont117 +  %tmp1157 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad164.body:                                     ; preds = %invoke.cont157 +  %tmp1158 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad183:                                          ; preds = %invoke.cont184, %invoke.cont165 +  %tmp1159 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  br label %lpad183.body + +lpad183.body:                                     ; preds = %lpad183, %lpad.i2036 +  unreachable + +lpad196:                                          ; preds = %invoke.cont190 +  %tmp1160 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad200:                                          ; preds = %invoke.cont197 +  %tmp1161 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad203:                                          ; preds = %invoke.cont207, %invoke.cont201 +  %tmp1162 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad212.body:                                     ; preds = %invoke.cont208 +  %tmp1163 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad220:                                          ; preds = %invoke.cont213 +  %tmp1164 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  br label %eh.resume + +lpad227:                                          ; preds = %invoke.cont231, %invoke.cont221 +  %tmp1166 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  br label %ehcleanup239 + +lpad236.body:                                     ; preds = %invoke.cont232 +  %tmp1167 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  br label %ehcleanup239 + +ehcleanup239:                                     ; preds = %lpad236.body, %lpad227 +  unreachable + +lpad244:                                          ; preds = %invoke.cont245, %invoke.cont237 +  %tmp1168 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad249:                                          ; preds = %invoke.cont247 +  %tmp1169 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad252:                                          ; preds = %invoke.cont250 +  %tmp1170 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  br label %ehcleanup263 + +lpad255:                                          ; preds = %invoke.cont253 +  %tmp1171 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  br label %ehcleanup263 + +lpad258:                                          ; preds = %invoke.cont256 +  %tmp1172 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +ehcleanup263:                                     ; preds = %lpad255, %lpad252 +  unreachable + +lpad265:                                          ; preds = %invoke.cont259 +  %tmp1173 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad273:                                          ; preds = %invoke.cont266 +  %tmp1175 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad277:                                          ; preds = %invoke.cont274 +  %tmp1176 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad289:                                          ; preds = %invoke.cont281 +  %tmp1177 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad301:                                          ; preds = %invoke.cont290 +  %tmp1180 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad308:                                          ; preds = %invoke.cont302 +  %tmp1182 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad311:                                          ; preds = %invoke.cont309 +  %tmp1183 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad314:                                          ; preds = %invoke.cont312 +  %tmp1184 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad320:                                          ; preds = %invoke.cont315 +  %tmp1186 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad340.body.thread:                              ; preds = %land.rhs335 +  %tmp1188 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad340.body:                                     ; preds = %land.end344 +  %tmp1189 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad360:                                          ; preds = %invoke.cont345 +  %tmp1191 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  br label %eh.resume + +lpad363:                                          ; preds = %invoke.cont373, %invoke.cont361 +  %tmp1192 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad369:                                          ; preds = %invoke.cont364 +  %tmp1194 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad381:                                          ; preds = %invoke.cont466, %invoke.cont458, %invoke.cont449, %invoke.cont.i2106, %invoke.cont432, %invoke.cont422, %invoke.cont418, %invoke.cont408, %invoke.cont405, %invoke.cont395, %invoke.cont392, %invoke.cont382, %invoke.cont376 +  %tmp1196 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  br label %ehcleanup477 + +lpad398:                                          ; preds = %invoke.cont396 +  %tmp1199 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad401:                                          ; preds = %invoke.cont399 +  %tmp1200 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad411:                                          ; preds = %invoke.cont409 +  %tmp1201 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad425:                                          ; preds = %invoke.cont423 +  %tmp1203 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  br label %ehcleanup477 + +lpad428:                                          ; preds = %invoke.cont426 +  %tmp1204 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad454:                                          ; preds = %invoke.cont452 +  %tmp1207 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +ehcleanup477:                                     ; preds = %lpad425, %lpad381, %lpad.i2132, %lpad.i2126 +  unreachable + +lpad489:                                          ; preds = %invoke.cont546, %invoke.cont540, %invoke.cont528, %invoke.cont509, %invoke.cont499, %invoke.cont475 +  %tmp1211 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  br label %ehcleanup560 + +lpad498:                                          ; preds = %invoke.cont490 +  %tmp1214 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad505:                                          ; preds = %invoke.cont503 +  %tmp1215 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad508:                                          ; preds = %invoke.cont506 +  %tmp1216 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad514:                                          ; preds = %msgSend.call +  %tmp1217 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad527:                                          ; preds = %invoke.cont521 +  %tmp1219 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  br label %ehcleanup560 + +lpad533:                                          ; preds = %invoke.cont531 +  %tmp1220 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad545:                                          ; preds = %invoke.cont543 +  %tmp1222 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad553:                                          ; preds = %invoke.cont548 +  %tmp1224 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +ehcleanup560:                                     ; preds = %lpad527, %lpad489 +  br label %eh.resume + +lpad565:                                          ; preds = %invoke.cont.i2148 +  %tmp1225 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad571:                                          ; preds = %invoke.cont566 +  %tmp1227 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  unreachable + +lpad580:                                          ; preds = %invoke.cont572 +  %tmp1228 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) +          cleanup +  br label %eh.resume + +eh.resume:                                        ; preds = %lpad580, %ehcleanup560, %lpad360, %lpad220 +  resume { i8*, i32 } undef +}  !0 = metadata !{}  | 

