; RUN: opt -objc-arc -S < %s
; rdar://12277446
; rdar://12480535
; rdar://14590914
; rdar://15377890

; The total number of paths grows exponentially with the number of branches, and a
; computation of this number can overflow any reasonable fixed-sized
; integer. This can occur in both the addition phase when we are adding up the
; total bottomup/topdown paths and when we multiply them together at the end.

target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n32-S32"
target triple = "thumbv7-apple-ios5.0.0"

%struct.NSConstantString = type { i32*, i32, i8*, i32 }
%struct.CGPoint = type { float, float }

@_unnamed_cfstring = external constant %struct.NSConstantString, section "__DATA,__cfstring"
@_unnamed_cfstring_2 = external constant %struct.NSConstantString, section "__DATA,__cfstring"

declare 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(...)
declare i32 @__objc_personality_v0(...)


define hidden void @test1() personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) {
entry:
  br i1 undef, label %msgSend.nullinit, label %msgSend.call

msgSend.call:                                     ; preds = %entry
  br label %msgSend.cont

msgSend.nullinit:                                 ; preds = %entry
  br label %msgSend.cont

msgSend.cont:                                     ; preds = %msgSend.nullinit, %msgSend.call
  %0 = bitcast %struct.NSConstantString* @_unnamed_cfstring to i8*
  %1 = call i8* @objc_retain(i8* %0) nounwind
  br i1 undef, label %msgSend.nullinit33, label %msgSend.call32

msgSend.call32:                                   ; preds = %if.end10
  br label %msgSend.cont34

msgSend.nullinit33:                               ; preds = %if.end10
  br label %msgSend.cont34

msgSend.cont34:                                   ; preds = %msgSend.nullinit33, %msgSend.call32
  br i1 undef, label %msgSend.nullinit38, label %msgSend.call37

msgSend.call37:                                   ; preds = %msgSend.cont34
  br label %msgSend.cont39

msgSend.nullinit38:                               ; preds = %msgSend.cont34
  br label %msgSend.cont39

msgSend.cont39:                                   ; preds = %msgSend.nullinit38, %msgSend.call37
  br i1 undef, label %msgSend.nullinit49, label %msgSend.call48

msgSend.call48:                                   ; preds = %msgSend.cont39
  br label %msgSend.cont50

msgSend.nullinit49:                               ; preds = %msgSend.cont39
  br label %msgSend.cont50

msgSend.cont50:                                   ; preds = %msgSend.nullinit49, %msgSend.call48
  br i1 undef, label %msgSend.nullinit61, label %msgSend.call60

msgSend.call60:                                   ; preds = %msgSend.cont50
  br label %msgSend.cont62

msgSend.nullinit61:                               ; preds = %msgSend.cont50
  br label %msgSend.cont62

msgSend.cont62:                                   ; preds = %msgSend.nullinit61, %msgSend.call60
  br i1 undef, label %msgSend.nullinit67, label %msgSend.call66

msgSend.call66:                                   ; preds = %msgSend.cont62
  br label %msgSend.cont68

msgSend.nullinit67:                               ; preds = %msgSend.cont62
  br label %msgSend.cont68

msgSend.cont68:                                   ; preds = %msgSend.nullinit67, %msgSend.call66
  br i1 undef, label %msgSend.nullinit84, label %msgSend.call83

msgSend.call83:                                   ; preds = %msgSend.cont68
  br label %msgSend.cont85

msgSend.nullinit84:                               ; preds = %msgSend.cont68
  br label %msgSend.cont85

msgSend.cont85:                                   ; preds = %msgSend.nullinit84, %msgSend.call83
  br i1 undef, label %msgSend.nullinit90, label %msgSend.call89

msgSend.call89:                                   ; preds = %msgSend.cont85
  br label %msgSend.cont91

msgSend.nullinit90:                               ; preds = %msgSend.cont85
  br label %msgSend.cont91

msgSend.cont91:                                   ; preds = %msgSend.nullinit90, %msgSend.call89
  br i1 undef, label %msgSend.nullinit104, label %msgSend.call103

msgSend.call103:                                  ; preds = %msgSend.cont91
  br label %msgSend.cont105

msgSend.nullinit104:                              ; preds = %msgSend.cont91
  br label %msgSend.cont105

msgSend.cont105:                                  ; preds = %msgSend.nullinit104, %msgSend.call103
  br i1 undef, label %land.lhs.true, label %if.end123

land.lhs.true:                                    ; preds = %msgSend.cont105
  br i1 undef, label %if.then117, label %if.end123

if.then117:                                       ; preds = %land.lhs.true
  br label %if.end123

if.end123:                                        ; preds = %if.then117, %land.lhs.true, %msgSend.cont105
  br i1 undef, label %msgSend.nullinit132, label %msgSend.call131

msgSend.call131:                                  ; preds = %if.end123
  br label %msgSend.cont133

msgSend.nullinit132:                              ; preds = %if.end123
  br label %msgSend.cont133

msgSend.cont133:                                  ; preds = %msgSend.nullinit132, %msgSend.call131
  br i1 undef, label %msgSend.nullinit139, label %msgSend.call138

msgSend.call138:                                  ; preds = %msgSend.cont133
  br label %msgSend.cont140

msgSend.nullinit139:                              ; preds = %msgSend.cont133
  br label %msgSend.cont140

msgSend.cont140:                                  ; preds = %msgSend.nullinit139, %msgSend.call138
  br i1 undef, label %if.then151, label %if.end157

if.then151:                                       ; preds = %msgSend.cont140
  br label %if.end157

if.end157:                                        ; preds = %if.then151, %msgSend.cont140
  br i1 undef, label %msgSend.nullinit164, label %msgSend.call163

msgSend.call163:                                  ; preds = %if.end157
  br label %msgSend.cont165

msgSend.nullinit164:                              ; preds = %if.end157
  br label %msgSend.cont165

msgSend.cont165:                                  ; preds = %msgSend.nullinit164, %msgSend.call163
  br i1 undef, label %msgSend.nullinit176, label %msgSend.call175

msgSend.call175:                                  ; preds = %msgSend.cont165
  br label %msgSend.cont177

msgSend.nullinit176:                              ; preds = %msgSend.cont165
  br label %msgSend.cont177

msgSend.cont177:                                  ; preds = %msgSend.nullinit176, %msgSend.call175
  br i1 undef, label %land.lhs.true181, label %if.end202

land.lhs.true181:                                 ; preds = %msgSend.cont177
  br i1 undef, label %if.then187, label %if.end202

if.then187:                                       ; preds = %land.lhs.true181
  br i1 undef, label %msgSend.nullinit199, label %msgSend.call198

msgSend.call198:                                  ; preds = %if.then187
  br label %msgSend.cont200

msgSend.nullinit199:                              ; preds = %if.then187
  br label %msgSend.cont200

msgSend.cont200:                                  ; preds = %msgSend.nullinit199, %msgSend.call198
  br label %if.end202

if.end202:                                        ; preds = %msgSend.cont200, %land.lhs.true181, %msgSend.cont177
  br i1 undef, label %msgSend.nullinit236, label %msgSend.call235

msgSend.call235:                                  ; preds = %if.end202
  br label %msgSend.cont237

msgSend.nullinit236:                              ; preds = %if.end202
  br label %msgSend.cont237

msgSend.cont237:                                  ; preds = %msgSend.nullinit236, %msgSend.call235
  br i1 undef, label %msgSend.nullinit254, label %msgSend.call253

msgSend.call253:                                  ; preds = %msgSend.cont237
  br label %msgSend.cont255

msgSend.nullinit254:                              ; preds = %msgSend.cont237
  br label %msgSend.cont255

msgSend.cont255:                                  ; preds = %msgSend.nullinit254, %msgSend.call253
  br i1 undef, label %msgSend.nullinit269, label %msgSend.call268

msgSend.call268:                                  ; preds = %msgSend.cont255
  br label %msgSend.cont270

msgSend.nullinit269:                              ; preds = %msgSend.cont255
  br label %msgSend.cont270

msgSend.cont270:                                  ; preds = %msgSend.nullinit269, %msgSend.call268
  br i1 undef, label %msgSend.nullinit281, label %msgSend.call280

msgSend.call280:                                  ; preds = %msgSend.cont270
  br label %msgSend.cont282

msgSend.nullinit281:                              ; preds = %msgSend.cont270
  br label %msgSend.cont282

msgSend.cont282:                                  ; preds = %msgSend.nullinit281, %msgSend.call280
  br i1 undef, label %msgSend.nullinit287, label %msgSend.call286

msgSend.call286:                                  ; preds = %msgSend.cont282
  br label %msgSend.cont288

msgSend.nullinit287:                              ; preds = %msgSend.cont282
  br label %msgSend.cont288

msgSend.cont288:                                  ; preds = %msgSend.nullinit287, %msgSend.call286
  br i1 undef, label %msgSend.nullinit303, label %msgSend.call302

msgSend.call302:                                  ; preds = %msgSend.cont288
  br label %msgSend.cont304

msgSend.nullinit303:                              ; preds = %msgSend.cont288
  br label %msgSend.cont304

msgSend.cont304:                                  ; preds = %msgSend.nullinit303, %msgSend.call302
  br i1 undef, label %msgSend.nullinit344, label %msgSend.call343

msgSend.call343:                                  ; preds = %msgSend.cont304
  br label %msgSend.cont345

msgSend.nullinit344:                              ; preds = %msgSend.cont304
  br label %msgSend.cont345

msgSend.cont345:                                  ; preds = %msgSend.nullinit344, %msgSend.call343
  br i1 undef, label %msgSend.nullinit350, label %msgSend.call349

msgSend.call349:                                  ; preds = %msgSend.cont345
  br label %msgSend.cont351

msgSend.nullinit350:                              ; preds = %msgSend.cont345
  br label %msgSend.cont351

msgSend.cont351:                                  ; preds = %msgSend.nullinit350, %msgSend.call349
  br i1 undef, label %msgSend.nullinit366, label %msgSend.call365

msgSend.call365:                                  ; preds = %msgSend.cont351
  br label %msgSend.cont367

msgSend.nullinit366:                              ; preds = %msgSend.cont351
  br label %msgSend.cont367

msgSend.cont367:                                  ; preds = %msgSend.nullinit366, %msgSend.call365
  br i1 undef, label %msgSend.nullinit376, label %msgSend.call375

msgSend.call375:                                  ; preds = %msgSend.cont367
  br label %msgSend.cont377

msgSend.nullinit376:                              ; preds = %msgSend.cont367
  br label %msgSend.cont377

msgSend.cont377:                                  ; preds = %msgSend.nullinit376, %msgSend.call375
  br i1 undef, label %if.then384, label %if.else401

if.then384:                                       ; preds = %msgSend.cont377
  br i1 undef, label %msgSend.nullinit392, label %msgSend.call391

msgSend.call391:                                  ; preds = %if.then384
  br label %msgSend.cont393

msgSend.nullinit392:                              ; preds = %if.then384
  br label %msgSend.cont393

msgSend.cont393:                                  ; preds = %msgSend.nullinit392, %msgSend.call391
  br label %if.end418

if.else401:                                       ; preds = %msgSend.cont377
  br i1 undef, label %msgSend.nullinit409, label %msgSend.call408

msgSend.call408:                                  ; preds = %if.else401
  br label %msgSend.cont410

msgSend.nullinit409:                              ; preds = %if.else401
  br label %msgSend.cont410

msgSend.cont410:                                  ; preds = %msgSend.nullinit409, %msgSend.call408
  br label %if.end418

if.end418:                                        ; preds = %msgSend.cont410, %msgSend.cont393
  br i1 undef, label %msgSend.nullinit470, label %msgSend.call469

msgSend.call469:                                  ; preds = %if.end418
  br label %msgSend.cont471

msgSend.nullinit470:                              ; preds = %if.end418
  br label %msgSend.cont471

msgSend.cont471:                                  ; preds = %msgSend.nullinit470, %msgSend.call469
  br i1 undef, label %msgSend.nullinit484, label %msgSend.call483

msgSend.call483:                                  ; preds = %msgSend.cont471
  br label %msgSend.cont485

msgSend.nullinit484:                              ; preds = %msgSend.cont471
  br label %msgSend.cont485

msgSend.cont485:                                  ; preds = %msgSend.nullinit484, %msgSend.call483
  br i1 undef, label %msgSend.nullinit500, label %msgSend.call499

msgSend.call499:                                  ; preds = %msgSend.cont485
  br label %msgSend.cont501

msgSend.nullinit500:                              ; preds = %msgSend.cont485
  br label %msgSend.cont501

msgSend.cont501:                                  ; preds = %msgSend.nullinit500, %msgSend.call499
  br i1 undef, label %msgSend.nullinit506, label %msgSend.call505

msgSend.call505:                                  ; preds = %msgSend.cont501
  br label %msgSend.cont507

msgSend.nullinit506:                              ; preds = %msgSend.cont501
  br label %msgSend.cont507

msgSend.cont507:                                  ; preds = %msgSend.nullinit506, %msgSend.call505
  call void @objc_release(i8* %0) nounwind, !clang.imprecise_release !0
  ret void
}

; Function Attrs: optsize ssp uwtable
define void @test2() unnamed_addr align 2 personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) {
bb:
  br i1 undef, label %bb3, label %bb2

bb2:                                              ; preds = %bb
  br label %bb3

bb3:                                              ; preds = %bb2, %bb
  br i1 undef, label %bb5, label %bb4

bb4:                                              ; preds = %bb3
  br label %bb5

bb5:                                              ; preds = %bb4, %bb3
  br i1 undef, label %bb7, label %bb6

bb6:                                              ; preds = %bb5
  br label %bb7

bb7:                                              ; preds = %bb6, %bb5
  br i1 undef, label %bb9, label %bb8

bb8:                                              ; preds = %bb7
  unreachable

bb9:                                              ; preds = %bb7
  br i1 undef, label %bb11, label %bb10

bb10:                                             ; preds = %bb9
  br label %bb11

bb11:                                             ; preds = %bb10, %bb9
  br i1 undef, label %bb13, label %bb12

bb12:                                             ; preds = %bb11
  br label %bb13

bb13:                                             ; preds = %bb12, %bb11
  br i1 undef, label %bb15, label %bb14

bb14:                                             ; preds = %bb13
  br label %bb15

bb15:                                             ; preds = %bb14, %bb13
  br i1 undef, label %bb17, label %bb16

bb16:                                             ; preds = %bb15
  br label %bb17

bb17:                                             ; preds = %bb16, %bb15
  br i1 undef, label %bb19, label %bb18

bb18:                                             ; preds = %bb17
  br label %bb19

bb19:                                             ; preds = %bb18, %bb17
  br i1 undef, label %bb222, label %bb20

bb20:                                             ; preds = %bb19
  br i1 undef, label %bb222, label %bb21

bb21:                                             ; preds = %bb20
  br i1 undef, label %bb22, label %bb30

bb22:                                             ; preds = %bb21
  br i1 undef, label %bb23, label %bb32

bb23:                                             ; preds = %bb22
  br i1 undef, label %bb24, label %bb34

bb24:                                             ; preds = %bb23
  br i1 undef, label %bb26, label %bb25

bb25:                                             ; preds = %bb24
  br label %bb27

bb26:                                             ; preds = %bb24
  br label %bb27

bb27:                                             ; preds = %bb26, %bb25
  br i1 undef, label %bb28, label %bb42

bb28:                                             ; preds = %bb27
  br i1 undef, label %bb36, label %bb29

bb29:                                             ; preds = %bb28
  br label %bb36

bb30:                                             ; preds = %bb210, %bb207, %bb203, %bb199, %bb182, %bb176, %bb174, %bb171, %bb136, %bb132, %bb21
  br label %bb213

bb32:                                             ; preds = %bb22
  unreachable

bb34:                                             ; preds = %bb23
  unreachable

bb36:                                             ; preds = %bb29, %bb28
  br i1 undef, label %bb38, label %bb37

bb37:                                             ; preds = %bb36
  br label %bb39

bb38:                                             ; preds = %bb36
  br label %bb39

bb39:                                             ; preds = %bb38, %bb37
  br i1 undef, label %bb41, label %bb40

bb40:                                             ; preds = %bb39
  unreachable

bb41:                                             ; preds = %bb39
  br label %bb42

bb42:                                             ; preds = %bb41, %bb27
  br i1 undef, label %bb43, label %bb214

bb43:                                             ; preds = %bb42
  br i1 undef, label %bb47, label %bb45

bb45:                                             ; preds = %bb130, %bb128, %bb126, %bb124, %bb122, %bb120, %bb118, %bb116, %bb114, %bb112, %bb110, %bb108, %bb105, %bb102, %bb100, %bb96, %bb94, %bb90, %bb88, %bb84, %bb82, %bb78, %bb76, %bb72, %bb70, %bb66, %bb64, %bb60, %bb58, %bb54, %bb51, %bb43
  unreachable

bb47:                                             ; preds = %bb43
  br i1 undef, label %bb48, label %bb106

bb48:                                             ; preds = %bb47
  br i1 undef, label %bb50, label %bb49

bb49:                                             ; preds = %bb48
  br label %bb51

bb50:                                             ; preds = %bb48
  br label %bb51

bb51:                                             ; preds = %bb50, %bb49
  br i1 undef, label %bb53, label %bb45

bb53:                                             ; preds = %bb51
  br i1 undef, label %bb54, label %bb134

bb54:                                             ; preds = %bb53
  br i1 undef, label %bb55, label %bb45

bb55:                                             ; preds = %bb54
  br i1 undef, label %bb57, label %bb56

bb56:                                             ; preds = %bb55
  br label %bb58

bb57:                                             ; preds = %bb55
  br label %bb58

bb58:                                             ; preds = %bb57, %bb56
  br i1 undef, label %bb60, label %bb45

bb60:                                             ; preds = %bb58
  br i1 undef, label %bb61, label %bb45

bb61:                                             ; preds = %bb60
  br i1 undef, label %bb63, label %bb62

bb62:                                             ; preds = %bb61
  br label %bb64

bb63:                                             ; preds = %bb61
  br label %bb64

bb64:                                             ; preds = %bb63, %bb62
  br i1 undef, label %bb66, label %bb45

bb66:                                             ; preds = %bb64
  br i1 undef, label %bb67, label %bb45

bb67:                                             ; preds = %bb66
  br i1 undef, label %bb69, label %bb68

bb68:                                             ; preds = %bb67
  br label %bb70

bb69:                                             ; preds = %bb67
  br label %bb70

bb70:                                             ; preds = %bb69, %bb68
  br i1 undef, label %bb72, label %bb45

bb72:                                             ; preds = %bb70
  br i1 undef, label %bb73, label %bb45

bb73:                                             ; preds = %bb72
  br i1 undef, label %bb75, label %bb74

bb74:                                             ; preds = %bb73
  br label %bb76

bb75:                                             ; preds = %bb73
  br label %bb76

bb76:                                             ; preds = %bb75, %bb74
  br i1 undef, label %bb78, label %bb45

bb78:                                             ; preds = %bb76
  br i1 undef, label %bb79, label %bb45

bb79:                                             ; preds = %bb78
  br i1 undef, label %bb81, label %bb80

bb80:                                             ; preds = %bb79
  br label %bb82

bb81:                                             ; preds = %bb79
  br label %bb82

bb82:                                             ; preds = %bb81, %bb80
  br i1 undef, label %bb84, label %bb45

bb84:                                             ; preds = %bb82
  br i1 undef, label %bb85, label %bb45

bb85:                                             ; preds = %bb84
  br i1 undef, label %bb87, label %bb86

bb86:                                             ; preds = %bb85
  br label %bb88

bb87:                                             ; preds = %bb85
  br label %bb88

bb88:                                             ; preds = %bb87, %bb86
  br i1 undef, label %bb90, label %bb45

bb90:                                             ; preds = %bb88
  br i1 undef, label %bb91, label %bb45

bb91:                                             ; preds = %bb90
  br i1 undef, label %bb93, label %bb92

bb92:                                             ; preds = %bb91
  br label %bb94

bb93:                                             ; preds = %bb91
  br label %bb94

bb94:                                             ; preds = %bb93, %bb92
  br i1 undef, label %bb96, label %bb45

bb96:                                             ; preds = %bb94
  br i1 undef, label %bb97, label %bb45

bb97:                                             ; preds = %bb96
  br i1 undef, label %bb99, label %bb98

bb98:                                             ; preds = %bb97
  br label %bb100

bb99:                                             ; preds = %bb97
  br label %bb100

bb100:                                            ; preds = %bb99, %bb98
  br i1 undef, label %bb102, label %bb45

bb102:                                            ; preds = %bb100
  br i1 undef, label %bb104, label %bb45

bb104:                                            ; preds = %bb102
  br i1 undef, label %bb108, label %bb105

bb105:                                            ; preds = %bb104
  br i1 undef, label %bb108, label %bb45

bb106:                                            ; preds = %bb47
  unreachable

bb108:                                            ; preds = %bb105, %bb104
  br i1 undef, label %bb110, label %bb45

bb110:                                            ; preds = %bb108
  br i1 undef, label %bb112, label %bb45

bb112:                                            ; preds = %bb110
  br i1 undef, label %bb114, label %bb45

bb114:                                            ; preds = %bb112
  br i1 undef, label %bb116, label %bb45

bb116:                                            ; preds = %bb114
  br i1 undef, label %bb118, label %bb45

bb118:                                            ; preds = %bb116
  br i1 undef, label %bb120, label %bb45

bb120:                                            ; preds = %bb118
  br i1 undef, label %bb122, label %bb45

bb122:                                            ; preds = %bb120
  br i1 undef, label %bb124, label %bb45

bb124:                                            ; preds = %bb122
  br i1 undef, label %bb126, label %bb45

bb126:                                            ; preds = %bb124
  br i1 undef, label %bb128, label %bb45

bb128:                                            ; preds = %bb126
  br i1 undef, label %bb130, label %bb45

bb130:                                            ; preds = %bb128
  br i1 undef, label %bb132, label %bb45

bb132:                                            ; preds = %bb130
  br i1 undef, label %bb135, label %bb30

bb134:                                            ; preds = %bb53
  unreachable

bb135:                                            ; preds = %bb132
  br i1 undef, label %bb139, label %bb136

bb136:                                            ; preds = %bb135
  br i1 undef, label %bb138, label %bb30

bb138:                                            ; preds = %bb136
  br label %bb139

bb139:                                            ; preds = %bb138, %bb135
  br i1 undef, label %bb140, label %bb141

bb140:                                            ; preds = %bb139
  unreachable

bb141:                                            ; preds = %bb139
  br i1 undef, label %bb142, label %bb215

bb142:                                            ; preds = %bb141
  br i1 undef, label %bb144, label %bb143

bb143:                                            ; preds = %bb142
  br label %bb145

bb144:                                            ; preds = %bb142
  br label %bb145

bb145:                                            ; preds = %bb144, %bb143
  br i1 undef, label %bb146, label %bb151

bb146:                                            ; preds = %bb145
  br i1 undef, label %bb148, label %bb153

bb148:                                            ; preds = %bb146
  br i1 undef, label %bb155, label %bb149

bb149:                                            ; preds = %bb148
  br i1 undef, label %bb150, label %bb153

bb150:                                            ; preds = %bb149
  br label %bb155

bb151:                                            ; preds = %bb145
  unreachable

bb153:                                            ; preds = %bb158, %bb149, %bb146
  unreachable

bb155:                                            ; preds = %bb150, %bb148
  br i1 undef, label %bb157, label %bb156

bb156:                                            ; preds = %bb155
  br label %bb158

bb157:                                            ; preds = %bb155
  br label %bb158

bb158:                                            ; preds = %bb157, %bb156
  br i1 undef, label %bb160, label %bb153

bb160:                                            ; preds = %bb158
  br i1 undef, label %bb162, label %bb161

bb161:                                            ; preds = %bb160
  br label %bb163

bb162:                                            ; preds = %bb160
  br label %bb163

bb163:                                            ; preds = %bb162, %bb161
  br i1 undef, label %bb165, label %bb164

bb164:                                            ; preds = %bb163
  br label %bb165

bb165:                                            ; preds = %bb164, %bb163
  br i1 undef, label %bb170, label %bb166

bb166:                                            ; preds = %bb165
  br i1 undef, label %bb167, label %bb168

bb167:                                            ; preds = %bb166
  unreachable

bb168:                                            ; preds = %bb166
  unreachable

bb170:                                            ; preds = %bb165
  br i1 undef, label %bb215, label %bb171

bb171:                                            ; preds = %bb170
  br i1 undef, label %bb173, label %bb30

bb173:                                            ; preds = %bb171
  br i1 undef, label %bb174, label %bb215

bb174:                                            ; preds = %bb173
  br i1 undef, label %bb176, label %bb30

bb176:                                            ; preds = %bb174
  br i1 undef, label %bb178, label %bb30

bb178:                                            ; preds = %bb176
  br i1 undef, label %bb179, label %bb193

bb179:                                            ; preds = %bb178
  br i1 undef, label %bb181, label %bb180

bb180:                                            ; preds = %bb179
  br label %bb182

bb181:                                            ; preds = %bb179
  br label %bb182

bb182:                                            ; preds = %bb181, %bb180
  br i1 undef, label %bb184, label %bb30

bb184:                                            ; preds = %bb182
  %tmp185 = call i8* @returner()
  br i1 undef, label %bb186, label %bb195

bb186:                                            ; preds = %bb184
  %tmp188 = call i8* @objc_retainAutoreleasedReturnValue(i8* %tmp185)
  %tmp189 = call i8* @objc_retain(i8* %tmp188)
  call void @objc_release(i8* %tmp189), !clang.imprecise_release !0
  br i1 undef, label %bb197, label %bb190

bb190:                                            ; preds = %bb186
  br i1 undef, label %bb192, label %bb195

bb192:                                            ; preds = %bb190
  br i1 undef, label %bb197, label %bb195

bb193:                                            ; preds = %bb178
  br label %bb213

bb195:                                            ; preds = %bb192, %bb190, %bb184
  unreachable

bb197:                                            ; preds = %bb192, %bb186
  br i1 undef, label %bb198, label %bb215

bb198:                                            ; preds = %bb197
  br i1 undef, label %bb202, label %bb199

bb199:                                            ; preds = %bb198
  br i1 undef, label %bb201, label %bb30

bb201:                                            ; preds = %bb199
  br label %bb202

bb202:                                            ; preds = %bb201, %bb198
  br i1 undef, label %bb206, label %bb203

bb203:                                            ; preds = %bb202
  br i1 undef, label %bb205, label %bb30

bb205:                                            ; preds = %bb203
  br label %bb206

bb206:                                            ; preds = %bb205, %bb202
  br i1 undef, label %bb210, label %bb207

bb207:                                            ; preds = %bb206
  br i1 undef, label %bb209, label %bb30

bb209:                                            ; preds = %bb207
  br label %bb210

bb210:                                            ; preds = %bb209, %bb206
  br i1 undef, label %bb212, label %bb30

bb212:                                            ; preds = %bb210
  unreachable

bb213:                                            ; preds = %bb193, %bb30
  resume { i8*, i32 } undef

bb214:                                            ; preds = %bb42
  br label %bb219

bb215:                                            ; preds = %bb197, %bb173, %bb170, %bb141
  br i1 undef, label %bb217, label %bb216

bb216:                                            ; preds = %bb215
  br label %bb217

bb217:                                            ; preds = %bb216, %bb215
  br i1 undef, label %bb219, label %bb218

bb218:                                            ; preds = %bb217
  br label %bb219

bb219:                                            ; preds = %bb218, %bb217, %bb214
  br i1 undef, label %bb221, label %bb220

bb220:                                            ; preds = %bb219
  unreachable

bb221:                                            ; preds = %bb219
  unreachable

bb222:                                            ; preds = %bb20, %bb19
  ret void
}

; Function Attrs: ssp
define void @test3() #1 personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) {
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 }
          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 }
          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 }
          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 }
          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 }
          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 }
          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 }
          cleanup
  br label %ehcleanup

lpad3:                                            ; preds = %land.rhs, %invoke.cont
  %tmp119 = landingpad { i8*, i32 }
          cleanup
  br label %ehcleanup

ehcleanup:                                        ; preds = %lpad3, %lpad
  unreachable

lpad16:                                           ; preds = %invoke.cont8
  %tmp121 = landingpad { i8*, i32 }
          cleanup
  br label %ehcleanup26

lpad20:                                           ; preds = %invoke.cont17
  %tmp122 = landingpad { i8*, i32 }
          cleanup
  br label %ehcleanup26

ehcleanup26:                                      ; preds = %lpad20, %lpad16
  unreachable

lpad35:                                           ; preds = %land.rhs39, %invoke.cont24
  %tmp124 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad51:                                           ; preds = %invoke.cont44
  %tmp125 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad61:                                           ; preds = %land.rhs58
  %tmp127 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad66.body.thread:                               ; preds = %invoke.cont62
  %tmp128 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad66.body:                                      ; preds = %land.end70
  %tmp129 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad94:                                           ; preds = %invoke.cont95, %invoke.cont91
  %tmp133 = landingpad { i8*, i32 }
          cleanup
  br label %ehcleanup102

ehcleanup102:                                     ; preds = %lpad94, %lpad.i2000
  unreachable

lpad109:                                          ; preds = %invoke.cont100
  %tmp134 = landingpad { i8*, i32 }
          cleanup
  unreachable

invoke.cont.i2022:                                ; preds = %invoke.cont117
  br i1 undef, label %invoke.cont157, label %if.then.i2023

if.then.i2023:                                    ; preds = %invoke.cont.i2022
  br label %invoke.cont157

invoke.cont157:                                   ; preds = %if.then.i2023, %invoke.cont.i2022
  invoke void (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 }
          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 }
          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 }
          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 }
          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 }
          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 }
          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 }
          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 }
          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 }
          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 }
          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 }
          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 }
          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 }
          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 }
          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 }
          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 }
          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 }
          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 }
          cleanup
  unreachable

lpad164.body:                                     ; preds = %invoke.cont157
  %tmp1158 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad183:                                          ; preds = %invoke.cont184, %invoke.cont165
  %tmp1159 = landingpad { i8*, i32 }
          cleanup
  br label %lpad183.body

lpad183.body:                                     ; preds = %lpad183, %lpad.i2036
  unreachable

lpad196:                                          ; preds = %invoke.cont190
  %tmp1160 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad200:                                          ; preds = %invoke.cont197
  %tmp1161 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad203:                                          ; preds = %invoke.cont207, %invoke.cont201
  %tmp1162 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad212.body:                                     ; preds = %invoke.cont208
  %tmp1163 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad220:                                          ; preds = %invoke.cont213
  %tmp1164 = landingpad { i8*, i32 }
          cleanup
  br label %eh.resume

lpad227:                                          ; preds = %invoke.cont231, %invoke.cont221
  %tmp1166 = landingpad { i8*, i32 }
          cleanup
  br label %ehcleanup239

lpad236.body:                                     ; preds = %invoke.cont232
  %tmp1167 = landingpad { i8*, i32 }
          cleanup
  br label %ehcleanup239

ehcleanup239:                                     ; preds = %lpad236.body, %lpad227
  unreachable

lpad244:                                          ; preds = %invoke.cont245, %invoke.cont237
  %tmp1168 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad249:                                          ; preds = %invoke.cont247
  %tmp1169 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad252:                                          ; preds = %invoke.cont250
  %tmp1170 = landingpad { i8*, i32 }
          cleanup
  br label %ehcleanup263

lpad255:                                          ; preds = %invoke.cont253
  %tmp1171 = landingpad { i8*, i32 }
          cleanup
  br label %ehcleanup263

lpad258:                                          ; preds = %invoke.cont256
  %tmp1172 = landingpad { i8*, i32 }
          cleanup
  unreachable

ehcleanup263:                                     ; preds = %lpad255, %lpad252
  unreachable

lpad265:                                          ; preds = %invoke.cont259
  %tmp1173 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad273:                                          ; preds = %invoke.cont266
  %tmp1175 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad277:                                          ; preds = %invoke.cont274
  %tmp1176 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad289:                                          ; preds = %invoke.cont281
  %tmp1177 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad301:                                          ; preds = %invoke.cont290
  %tmp1180 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad308:                                          ; preds = %invoke.cont302
  %tmp1182 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad311:                                          ; preds = %invoke.cont309
  %tmp1183 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad314:                                          ; preds = %invoke.cont312
  %tmp1184 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad320:                                          ; preds = %invoke.cont315
  %tmp1186 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad340.body.thread:                              ; preds = %land.rhs335
  %tmp1188 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad340.body:                                     ; preds = %land.end344
  %tmp1189 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad360:                                          ; preds = %invoke.cont345
  %tmp1191 = landingpad { i8*, i32 }
          cleanup
  br label %eh.resume

lpad363:                                          ; preds = %invoke.cont373, %invoke.cont361
  %tmp1192 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad369:                                          ; preds = %invoke.cont364
  %tmp1194 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad381:                                          ; preds = %invoke.cont466, %invoke.cont458, %invoke.cont449, %invoke.cont.i2106, %invoke.cont432, %invoke.cont422, %invoke.cont418, %invoke.cont408, %invoke.cont405, %invoke.cont395, %invoke.cont392, %invoke.cont382, %invoke.cont376
  %tmp1196 = landingpad { i8*, i32 }
          cleanup
  br label %ehcleanup477

lpad398:                                          ; preds = %invoke.cont396
  %tmp1199 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad401:                                          ; preds = %invoke.cont399
  %tmp1200 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad411:                                          ; preds = %invoke.cont409
  %tmp1201 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad425:                                          ; preds = %invoke.cont423
  %tmp1203 = landingpad { i8*, i32 }
          cleanup
  br label %ehcleanup477

lpad428:                                          ; preds = %invoke.cont426
  %tmp1204 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad454:                                          ; preds = %invoke.cont452
  %tmp1207 = landingpad { i8*, i32 }
          cleanup
  unreachable

ehcleanup477:                                     ; preds = %lpad425, %lpad381, %lpad.i2132, %lpad.i2126
  unreachable

lpad489:                                          ; preds = %invoke.cont546, %invoke.cont540, %invoke.cont528, %invoke.cont509, %invoke.cont499, %invoke.cont475
  %tmp1211 = landingpad { i8*, i32 }
          cleanup
  br label %ehcleanup560

lpad498:                                          ; preds = %invoke.cont490
  %tmp1214 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad505:                                          ; preds = %invoke.cont503
  %tmp1215 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad508:                                          ; preds = %invoke.cont506
  %tmp1216 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad514:                                          ; preds = %msgSend.call
  %tmp1217 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad527:                                          ; preds = %invoke.cont521
  %tmp1219 = landingpad { i8*, i32 }
          cleanup
  br label %ehcleanup560

lpad533:                                          ; preds = %invoke.cont531
  %tmp1220 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad545:                                          ; preds = %invoke.cont543
  %tmp1222 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad553:                                          ; preds = %invoke.cont548
  %tmp1224 = landingpad { i8*, i32 }
          cleanup
  unreachable

ehcleanup560:                                     ; preds = %lpad527, %lpad489
  br label %eh.resume

lpad565:                                          ; preds = %invoke.cont.i2148
  %tmp1225 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad571:                                          ; preds = %invoke.cont566
  %tmp1227 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad580:                                          ; preds = %invoke.cont572
  %tmp1228 = landingpad { i8*, i32 }
          cleanup
  br label %eh.resume

eh.resume:                                        ; preds = %lpad580, %ehcleanup560, %lpad360, %lpad220
  resume { i8*, i32 } undef
}

@"OBJC_EHTYPE_$_NSException" = external global i8

define void @test4() personality i8* bitcast (i32 (...)* @__objc_personality_v0 to i8*) {
entry:
  br i1 undef, label %if.end13, label %if.then10

if.then10:                                        ; preds = %entry
  br label %if.end13

if.end13:                                         ; preds = %if.then10, %entry
  %0 = call 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
  br label %if.end18

if.end18:                                         ; preds = %if.then17, %if.end13
  br i1 undef, label %if.then64, label %if.end73

if.then64:                                        ; preds = %if.end18
  br i1 undef, label %cond.end71, label %cond.true68

cond.true68:                                      ; preds = %if.then64
  br label %cond.end71

cond.end71:                                       ; preds = %cond.true68, %if.then64
  br i1 undef, label %cleanup.action, label %cleanup.done

cleanup.action:                                   ; preds = %cond.end71
  br label %cleanup.done

cleanup.done:                                     ; preds = %cleanup.action, %cond.end71
  br label %if.end73

if.end73:                                         ; preds = %cleanup.done, %if.end18
  br i1 undef, label %forcoll.empty, label %forcoll.loopinit

forcoll.loopinit:                                 ; preds = %if.end73
  br label %forcoll.loopbody.outer

forcoll.loopbody.outer:                           ; preds = %forcoll.refetch, %forcoll.loopinit
  br label %forcoll.loopbody

forcoll.loopbody:                                 ; preds = %forcoll.notmutated, %forcoll.loopbody.outer
  br i1 undef, label %forcoll.notmutated, label %forcoll.mutated

forcoll.mutated:                                  ; preds = %forcoll.loopbody
  br label %forcoll.notmutated

forcoll.notmutated:                               ; preds = %forcoll.mutated, %forcoll.loopbody
  br i1 undef, label %forcoll.loopbody, label %forcoll.refetch

forcoll.refetch:                                  ; preds = %forcoll.notmutated
  br i1 undef, label %forcoll.empty, label %forcoll.loopbody.outer

forcoll.empty:                                    ; preds = %forcoll.refetch, %if.end73
  br i1 undef, label %if.end85, label %if.then82

if.then82:                                        ; preds = %forcoll.empty
  br label %if.end85

if.end85:                                         ; preds = %if.then82, %forcoll.empty
  br i1 undef, label %if.then87, label %if.end102

if.then87:                                        ; preds = %if.end85
  br i1 undef, label %if.end94, label %if.then91

if.then91:                                        ; preds = %if.then87
  br label %if.end94

if.end94:                                         ; preds = %if.then91, %if.then87
  br i1 undef, label %if.end101, label %if.then98

if.then98:                                        ; preds = %if.end94
  br label %if.end101

if.end101:                                        ; preds = %if.then98, %if.end94
  br label %if.end102

if.end102:                                        ; preds = %if.end101, %if.end85
  br i1 undef, label %do.body113, label %if.then107

if.then107:                                       ; preds = %if.end102
  br label %do.body113

do.body113:                                       ; preds = %if.then107, %if.end102
  br i1 undef, label %if.then116, label %if.end117

if.then116:                                       ; preds = %do.body113
  br label %if.end117

if.end117:                                        ; preds = %if.then116, %do.body113
  br i1 undef, label %if.then125, label %if.end126

if.then125:                                       ; preds = %if.end117
  br label %if.end126

if.end126:                                        ; preds = %if.then125, %if.end117
  br i1 undef, label %do.end166, label %cond.true132

cond.true132:                                     ; preds = %if.end126
  br i1 undef, label %do.body148, label %cond.true151

do.body148:                                       ; preds = %cond.true132
  br i1 undef, label %do.end166, label %cond.true151

cond.true151:                                     ; preds = %do.body148, %cond.true132
  br i1 undef, label %if.then162, label %do.end166

if.then162:                                       ; preds = %cond.true151
  br label %do.end166

do.end166:                                        ; preds = %if.then162, %cond.true151, %do.body148, %if.end126
  br i1 undef, label %if.then304, label %if.then170

if.then170:                                       ; preds = %do.end166
  br i1 undef, label %do.end193, label %cond.true179

cond.true179:                                     ; preds = %if.then170
  br i1 undef, label %if.then190, label %do.end193

if.then190:                                       ; preds = %cond.true179
  br label %do.end193

do.end193:                                        ; preds = %if.then190, %cond.true179, %if.then170
  br i1 undef, label %do.body200, label %do.body283

do.body200:                                       ; preds = %do.end193
  br i1 undef, label %do.end254, label %cond.true203

cond.true203:                                     ; preds = %do.body200
  br i1 undef, label %do.body218, label %cond.true221

do.body218:                                       ; preds = %cond.true203
  br i1 undef, label %do.end254, label %cond.true221

cond.true221:                                     ; preds = %do.body218, %cond.true203
  br i1 undef, label %if.then232, label %do.body236

if.then232:                                       ; preds = %cond.true221
  br label %do.body236

do.body236:                                       ; preds = %if.then232, %cond.true221
  br i1 undef, label %do.end254, label %cond.true239

cond.true239:                                     ; preds = %do.body236
  br i1 undef, label %if.then250, label %do.end254

if.then250:                                       ; preds = %cond.true239
  br label %do.end254

do.end254:                                        ; preds = %if.then250, %cond.true239, %do.body236, %do.body218, %do.body200
  br i1 undef, label %do.end277, label %cond.true263

cond.true263:                                     ; preds = %do.end254
  br i1 undef, label %if.then274, label %do.end277

if.then274:                                       ; preds = %cond.true263
  unreachable

do.end277:                                        ; preds = %cond.true263, %do.end254
  br i1 undef, label %if.then280, label %do.body283

if.then280:                                       ; preds = %do.end277
  br label %do.body283

do.body283:                                       ; preds = %if.then280, %do.end277, %do.end193
  br i1 undef, label %if.end301, label %cond.true286

cond.true286:                                     ; preds = %do.body283
  br i1 undef, label %if.then297, label %if.end301

if.then297:                                       ; preds = %cond.true286
  br label %if.end301

if.end301:                                        ; preds = %if.then297, %cond.true286, %do.body283
  br i1 undef, label %if.then304, label %do.body351

if.then304:                                       ; preds = %if.end301, %do.end166
  br i1 undef, label %do.body309.lr.ph, label %do.body351

do.body309.lr.ph:                                 ; preds = %if.then304
  br label %do.body309

do.body309:                                       ; preds = %for.cond.backedge, %do.body309.lr.ph
  br i1 undef, label %do.end328, label %cond.true312

cond.true312:                                     ; preds = %do.body309
  br i1 undef, label %if.then323, label %do.end328

if.then323:                                       ; preds = %cond.true312
  br label %do.end328

do.end328:                                        ; preds = %if.then323, %cond.true312, %do.body309
  br i1 undef, label %for.cond.backedge, label %cond.true335

for.cond.backedge:                                ; preds = %if.then346, %cond.true335, %do.end328
  br i1 undef, label %do.body309, label %do.body351

cond.true335:                                     ; preds = %do.end328
  br i1 undef, label %if.then346, label %for.cond.backedge

if.then346:                                       ; preds = %cond.true335
  br label %for.cond.backedge

do.body351:                                       ; preds = %for.cond.backedge, %if.then304, %if.end301
  br i1 undef, label %if.then354, label %if.end355

if.then354:                                       ; preds = %do.body351
  br label %if.end355

if.end355:                                        ; preds = %if.then354, %do.body351
  br i1 undef, label %if.else, label %if.then364

if.then364:                                       ; preds = %if.end355
  br label %do.body366

if.else:                                          ; preds = %if.end355
  br label %do.body366

do.body366:                                       ; preds = %if.else, %if.then364
  br i1 undef, label %if.then369, label %if.end377.critedge

if.then369:                                       ; preds = %do.body366
  br label %if.end377

if.end377.critedge:                               ; preds = %do.body366
  br label %if.end377

if.end377:                                        ; preds = %if.end377.critedge, %if.then369
  br i1 undef, label %if.then383, label %if.end392.critedge

if.then383:                                       ; preds = %if.end377
  br label %if.end392

if.end392.critedge:                               ; preds = %if.end377
  br label %if.end392

if.end392:                                        ; preds = %if.end392.critedge, %if.then383
  br i1 undef, label %if.then398, label %if.end399

if.then398:                                       ; preds = %if.end392
  br label %if.end399

if.end399:                                        ; preds = %if.then398, %if.end392
  invoke void 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
  br i1 undef, label %if.then430, label %if.end439.critedge

if.then430:                                       ; preds = %eh.cont
  %1 = call i8* @objc_retain(i8* %0)
  br label %if.end439

lpad:                                             ; preds = %if.end399
  %2 = landingpad { i8*, i32 }
          catch i8* @"OBJC_EHTYPE_$_NSException"
  unreachable

if.end439.critedge:                               ; preds = %eh.cont
  %3 = call i8* @objc_retain(i8* %0)
  br label %if.end439

if.end439:                                        ; preds = %if.end439.critedge, %if.then430
  call void @objc_release(i8* %0), !clang.imprecise_release !0
  unreachable

return:                                           ; No predecessors!
  ret void
}


!0 = !{}
