mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-11-04 05:17:07 +00:00 
			
		
		
		
	Due to the previously added overflow checks, we can have a retain/release relation that is one directional. This occurs specifically when we run into an additive overflow causing us to drop state in only one direction. If that occurs, we should bail and not optimize that retain/release instead of asserting. Apologies for the size of the testcase. It is necessary to cause the additive cfg overflow to trigger. rdar://15377890 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194083 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			2194 lines
		
	
	
		
			99 KiB
		
	
	
	
		
			LLVM
		
	
	
	
	
	
			
		
		
	
	
			2194 lines
		
	
	
		
			99 KiB
		
	
	
	
		
			LLVM
		
	
	
	
	
	
; 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() {
 | 
						|
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 {
 | 
						|
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 {
 | 
						|
entry:
 | 
						|
  %call2 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont unwind label %lpad
 | 
						|
 | 
						|
invoke.cont:                                      ; preds = %entry
 | 
						|
  %call5 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*)*)(i8* undef, i8* undef)
 | 
						|
          to label %invoke.cont4 unwind label %lpad3
 | 
						|
 | 
						|
invoke.cont4:                                     ; preds = %invoke.cont
 | 
						|
  br i1 undef, label %land.end, label %land.rhs
 | 
						|
 | 
						|
land.rhs:                                         ; preds = %invoke.cont4
 | 
						|
  %call7 = invoke i32 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i32 (i8*, i8*)*)(i8* undef, i8* undef)
 | 
						|
          to label %land.end unwind label %lpad3
 | 
						|
 | 
						|
land.end:                                         ; preds = %land.rhs, %invoke.cont4
 | 
						|
  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont.i unwind label %lpad.i
 | 
						|
 | 
						|
invoke.cont.i:                                    ; preds = %land.end
 | 
						|
  br i1 undef, label %invoke.cont8, label %if.then.i
 | 
						|
 | 
						|
if.then.i:                                        ; preds = %invoke.cont.i
 | 
						|
  br label %invoke.cont8
 | 
						|
 | 
						|
lpad.i:                                           ; preds = %land.end
 | 
						|
  %tmp13 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
invoke.cont8:                                     ; preds = %if.then.i, %invoke.cont.i
 | 
						|
  %call18 = invoke i8* (i8*, i8*, i8*, ...)* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*, ...)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef)
 | 
						|
          to label %invoke.cont17 unwind label %lpad16
 | 
						|
 | 
						|
invoke.cont17:                                    ; preds = %invoke.cont8
 | 
						|
  %call22 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont21 unwind label %lpad20
 | 
						|
 | 
						|
invoke.cont21:                                    ; preds = %invoke.cont17
 | 
						|
  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont.i1980 unwind label %lpad.i1982
 | 
						|
 | 
						|
invoke.cont.i1980:                                ; preds = %invoke.cont21
 | 
						|
  br i1 undef, label %invoke.cont24, label %if.then.i1981
 | 
						|
 | 
						|
if.then.i1981:                                    ; preds = %invoke.cont.i1980
 | 
						|
  br label %invoke.cont24
 | 
						|
 | 
						|
lpad.i1982:                                       ; preds = %invoke.cont21
 | 
						|
  %tmp28 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
invoke.cont24:                                    ; preds = %if.then.i1981, %invoke.cont.i1980
 | 
						|
  %call37 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*)*)(i8* undef, i8* undef)
 | 
						|
          to label %invoke.cont36 unwind label %lpad35
 | 
						|
 | 
						|
invoke.cont36:                                    ; preds = %invoke.cont24
 | 
						|
  br i1 undef, label %land.end43, label %land.rhs39
 | 
						|
 | 
						|
land.rhs39:                                       ; preds = %invoke.cont36
 | 
						|
  %call41 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %land.end43 unwind label %lpad35
 | 
						|
 | 
						|
land.end43:                                       ; preds = %land.rhs39, %invoke.cont36
 | 
						|
  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont.i1986 unwind label %lpad.i1988
 | 
						|
 | 
						|
invoke.cont.i1986:                                ; preds = %land.end43
 | 
						|
  br i1 undef, label %invoke.cont44, label %if.then.i1987
 | 
						|
 | 
						|
if.then.i1987:                                    ; preds = %invoke.cont.i1986
 | 
						|
  br label %invoke.cont44
 | 
						|
 | 
						|
lpad.i1988:                                       ; preds = %land.end43
 | 
						|
  %tmp42 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
invoke.cont44:                                    ; preds = %if.then.i1987, %invoke.cont.i1986
 | 
						|
  %call53 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont52 unwind label %lpad51
 | 
						|
 | 
						|
invoke.cont52:                                    ; preds = %invoke.cont44
 | 
						|
  br i1 undef, label %land.end70, label %land.rhs58
 | 
						|
 | 
						|
land.rhs58:                                       ; preds = %invoke.cont52
 | 
						|
  %call63 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 42)
 | 
						|
          to label %invoke.cont62 unwind label %lpad61
 | 
						|
 | 
						|
invoke.cont62:                                    ; preds = %land.rhs58
 | 
						|
  %call68 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef)
 | 
						|
          to label %land.end70 unwind label %lpad66.body.thread
 | 
						|
 | 
						|
land.end70:                                       ; preds = %invoke.cont62, %invoke.cont52
 | 
						|
  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont.i1992 unwind label %lpad66.body
 | 
						|
 | 
						|
invoke.cont.i1992:                                ; preds = %land.end70
 | 
						|
  br i1 undef, label %invoke.cont71, label %if.then.i1993
 | 
						|
 | 
						|
if.then.i1993:                                    ; preds = %invoke.cont.i1992
 | 
						|
  br label %invoke.cont71
 | 
						|
 | 
						|
invoke.cont71:                                    ; preds = %if.then.i1993, %invoke.cont.i1992
 | 
						|
  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont.i1998 unwind label %lpad.i2000
 | 
						|
 | 
						|
invoke.cont.i1998:                                ; preds = %invoke.cont71
 | 
						|
  br i1 undef, label %invoke.cont91, label %if.then.i1999
 | 
						|
 | 
						|
if.then.i1999:                                    ; preds = %invoke.cont.i1998
 | 
						|
  br label %invoke.cont91
 | 
						|
 | 
						|
lpad.i2000:                                       ; preds = %invoke.cont71
 | 
						|
  %tmp74 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  br label %ehcleanup102
 | 
						|
 | 
						|
invoke.cont91:                                    ; preds = %if.then.i1999, %invoke.cont.i1998
 | 
						|
  %call96 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* undef, i8* undef)
 | 
						|
          to label %invoke.cont95 unwind label %lpad94
 | 
						|
 | 
						|
invoke.cont95:                                    ; preds = %invoke.cont91
 | 
						|
  %call98 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* %call96)
 | 
						|
          to label %invoke.cont97 unwind label %lpad94
 | 
						|
 | 
						|
invoke.cont97:                                    ; preds = %invoke.cont95
 | 
						|
  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont.i2004 unwind label %lpad.i2006
 | 
						|
 | 
						|
invoke.cont.i2004:                                ; preds = %invoke.cont97
 | 
						|
  br i1 undef, label %invoke.cont100, label %if.then.i2005
 | 
						|
 | 
						|
if.then.i2005:                                    ; preds = %invoke.cont.i2004
 | 
						|
  br label %invoke.cont100
 | 
						|
 | 
						|
lpad.i2006:                                       ; preds = %invoke.cont97
 | 
						|
  %tmp82 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
invoke.cont100:                                   ; preds = %if.then.i2005, %invoke.cont.i2004
 | 
						|
  invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont110 unwind label %lpad109
 | 
						|
 | 
						|
invoke.cont110:                                   ; preds = %invoke.cont100
 | 
						|
  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont.i2010 unwind label %lpad.i2012
 | 
						|
 | 
						|
invoke.cont.i2010:                                ; preds = %invoke.cont110
 | 
						|
  br i1 undef, label %invoke.cont117, label %if.then.i2011
 | 
						|
 | 
						|
if.then.i2011:                                    ; preds = %invoke.cont.i2010
 | 
						|
  br label %invoke.cont117
 | 
						|
 | 
						|
lpad.i2012:                                       ; preds = %invoke.cont110
 | 
						|
  %tmp98 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
invoke.cont117:                                   ; preds = %if.then.i2011, %invoke.cont.i2010
 | 
						|
  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont.i2022 unwind label %lpad156.body
 | 
						|
 | 
						|
lpad:                                             ; preds = %entry
 | 
						|
  %tmp118 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  br label %ehcleanup
 | 
						|
 | 
						|
lpad3:                                            ; preds = %land.rhs, %invoke.cont
 | 
						|
  %tmp119 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  br label %ehcleanup
 | 
						|
 | 
						|
ehcleanup:                                        ; preds = %lpad3, %lpad
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad16:                                           ; preds = %invoke.cont8
 | 
						|
  %tmp121 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  br label %ehcleanup26
 | 
						|
 | 
						|
lpad20:                                           ; preds = %invoke.cont17
 | 
						|
  %tmp122 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  br label %ehcleanup26
 | 
						|
 | 
						|
ehcleanup26:                                      ; preds = %lpad20, %lpad16
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad35:                                           ; preds = %land.rhs39, %invoke.cont24
 | 
						|
  %tmp124 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad51:                                           ; preds = %invoke.cont44
 | 
						|
  %tmp125 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad61:                                           ; preds = %land.rhs58
 | 
						|
  %tmp127 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad66.body.thread:                               ; preds = %invoke.cont62
 | 
						|
  %tmp128 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad66.body:                                      ; preds = %land.end70
 | 
						|
  %tmp129 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad94:                                           ; preds = %invoke.cont95, %invoke.cont91
 | 
						|
  %tmp133 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  br label %ehcleanup102
 | 
						|
 | 
						|
ehcleanup102:                                     ; preds = %lpad94, %lpad.i2000
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad109:                                          ; preds = %invoke.cont100
 | 
						|
  %tmp134 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
invoke.cont.i2022:                                ; preds = %invoke.cont117
 | 
						|
  br i1 undef, label %invoke.cont157, label %if.then.i2023
 | 
						|
 | 
						|
if.then.i2023:                                    ; preds = %invoke.cont.i2022
 | 
						|
  br label %invoke.cont157
 | 
						|
 | 
						|
invoke.cont157:                                   ; preds = %if.then.i2023, %invoke.cont.i2022
 | 
						|
  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont.i2028 unwind label %lpad164.body
 | 
						|
 | 
						|
invoke.cont.i2028:                                ; preds = %invoke.cont157
 | 
						|
  br i1 undef, label %invoke.cont165, label %if.then.i2029
 | 
						|
 | 
						|
if.then.i2029:                                    ; preds = %invoke.cont.i2028
 | 
						|
  br label %invoke.cont165
 | 
						|
 | 
						|
invoke.cont165:                                   ; preds = %if.then.i2029, %invoke.cont.i2028
 | 
						|
  invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, void (i8*, i8*)*)*)(i8* undef, i8* undef, void (i8*, i8*)* undef)
 | 
						|
          to label %invoke.cont184 unwind label %lpad183
 | 
						|
 | 
						|
invoke.cont184:                                   ; preds = %invoke.cont165
 | 
						|
  %call186 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont185 unwind label %lpad183
 | 
						|
 | 
						|
invoke.cont185:                                   ; preds = %invoke.cont184
 | 
						|
  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont.i2034 unwind label %lpad.i2036
 | 
						|
 | 
						|
invoke.cont.i2034:                                ; preds = %invoke.cont185
 | 
						|
  br i1 undef, label %invoke.cont190, label %if.then.i2035
 | 
						|
 | 
						|
if.then.i2035:                                    ; preds = %invoke.cont.i2034
 | 
						|
  br label %invoke.cont190
 | 
						|
 | 
						|
lpad.i2036:                                       ; preds = %invoke.cont185
 | 
						|
  %tmp168 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  br label %lpad183.body
 | 
						|
 | 
						|
invoke.cont190:                                   ; preds = %if.then.i2035, %invoke.cont.i2034
 | 
						|
  invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont197 unwind label %lpad196
 | 
						|
 | 
						|
invoke.cont197:                                   ; preds = %invoke.cont190
 | 
						|
  %call202 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont201 unwind label %lpad200
 | 
						|
 | 
						|
invoke.cont201:                                   ; preds = %invoke.cont197
 | 
						|
  %call205 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont204 unwind label %lpad203
 | 
						|
 | 
						|
invoke.cont204:                                   ; preds = %invoke.cont201
 | 
						|
  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont.i2040 unwind label %lpad.i2042
 | 
						|
 | 
						|
invoke.cont.i2040:                                ; preds = %invoke.cont204
 | 
						|
  br i1 undef, label %invoke.cont207, label %if.then.i2041
 | 
						|
 | 
						|
if.then.i2041:                                    ; preds = %invoke.cont.i2040
 | 
						|
  br label %invoke.cont207
 | 
						|
 | 
						|
lpad.i2042:                                       ; preds = %invoke.cont204
 | 
						|
  %tmp181 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
invoke.cont207:                                   ; preds = %if.then.i2041, %invoke.cont.i2040
 | 
						|
  %call209 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* undef, i8* undef)
 | 
						|
          to label %invoke.cont208 unwind label %lpad203
 | 
						|
 | 
						|
invoke.cont208:                                   ; preds = %invoke.cont207
 | 
						|
  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont.i2046 unwind label %lpad212.body
 | 
						|
 | 
						|
invoke.cont.i2046:                                ; preds = %invoke.cont208
 | 
						|
  br i1 undef, label %invoke.cont213, label %if.then.i2047
 | 
						|
 | 
						|
if.then.i2047:                                    ; preds = %invoke.cont.i2046
 | 
						|
  br label %invoke.cont213
 | 
						|
 | 
						|
invoke.cont213:                                   ; preds = %if.then.i2047, %invoke.cont.i2046
 | 
						|
  invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont221 unwind label %lpad220
 | 
						|
 | 
						|
invoke.cont221:                                   ; preds = %invoke.cont213
 | 
						|
  %call229 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont228 unwind label %lpad227
 | 
						|
 | 
						|
invoke.cont228:                                   ; preds = %invoke.cont221
 | 
						|
  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont.i2052 unwind label %lpad.i2054
 | 
						|
 | 
						|
invoke.cont.i2052:                                ; preds = %invoke.cont228
 | 
						|
  br i1 undef, label %invoke.cont231, label %if.then.i2053
 | 
						|
 | 
						|
if.then.i2053:                                    ; preds = %invoke.cont.i2052
 | 
						|
  br label %invoke.cont231
 | 
						|
 | 
						|
lpad.i2054:                                       ; preds = %invoke.cont228
 | 
						|
  %tmp198 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
invoke.cont231:                                   ; preds = %if.then.i2053, %invoke.cont.i2052
 | 
						|
  %call233 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* undef, i8* undef)
 | 
						|
          to label %invoke.cont232 unwind label %lpad227
 | 
						|
 | 
						|
invoke.cont232:                                   ; preds = %invoke.cont231
 | 
						|
  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont.i2058 unwind label %lpad236.body
 | 
						|
 | 
						|
invoke.cont.i2058:                                ; preds = %invoke.cont232
 | 
						|
  br i1 undef, label %invoke.cont237, label %if.then.i2059
 | 
						|
 | 
						|
if.then.i2059:                                    ; preds = %invoke.cont.i2058
 | 
						|
  br label %invoke.cont237
 | 
						|
 | 
						|
invoke.cont237:                                   ; preds = %if.then.i2059, %invoke.cont.i2058
 | 
						|
  %call246 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont245 unwind label %lpad244
 | 
						|
 | 
						|
invoke.cont245:                                   ; preds = %invoke.cont237
 | 
						|
  %call248 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 13)
 | 
						|
          to label %invoke.cont247 unwind label %lpad244
 | 
						|
 | 
						|
invoke.cont247:                                   ; preds = %invoke.cont245
 | 
						|
  %call251 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 2)
 | 
						|
          to label %invoke.cont250 unwind label %lpad249
 | 
						|
 | 
						|
invoke.cont250:                                   ; preds = %invoke.cont247
 | 
						|
  %call254 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 7)
 | 
						|
          to label %invoke.cont253 unwind label %lpad252
 | 
						|
 | 
						|
invoke.cont253:                                   ; preds = %invoke.cont250
 | 
						|
  %call257 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8**, i32)*)(i8* undef, i8* undef, i8** undef, i32 3)
 | 
						|
          to label %invoke.cont256 unwind label %lpad255
 | 
						|
 | 
						|
invoke.cont256:                                   ; preds = %invoke.cont253
 | 
						|
  %call260 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef, i8* undef)
 | 
						|
          to label %invoke.cont259 unwind label %lpad258
 | 
						|
 | 
						|
invoke.cont259:                                   ; preds = %invoke.cont256
 | 
						|
  %call267 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont266 unwind label %lpad265
 | 
						|
 | 
						|
invoke.cont266:                                   ; preds = %invoke.cont259
 | 
						|
  %call275 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef)
 | 
						|
          to label %invoke.cont274 unwind label %lpad273
 | 
						|
 | 
						|
invoke.cont274:                                   ; preds = %invoke.cont266
 | 
						|
  %call279 = invoke i32 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i32 (i8*, i8*)*)(i8* undef, i8* undef)
 | 
						|
          to label %invoke.cont278 unwind label %lpad277
 | 
						|
 | 
						|
invoke.cont278:                                   ; preds = %invoke.cont274
 | 
						|
  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont.i2064 unwind label %lpad.i2066
 | 
						|
 | 
						|
invoke.cont.i2064:                                ; preds = %invoke.cont278
 | 
						|
  br i1 undef, label %invoke.cont281, label %if.then.i2065
 | 
						|
 | 
						|
if.then.i2065:                                    ; preds = %invoke.cont.i2064
 | 
						|
  br label %invoke.cont281
 | 
						|
 | 
						|
lpad.i2066:                                       ; preds = %invoke.cont278
 | 
						|
  %tmp253 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
invoke.cont281:                                   ; preds = %if.then.i2065, %invoke.cont.i2064
 | 
						|
  %call291 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont290 unwind label %lpad289
 | 
						|
 | 
						|
invoke.cont290:                                   ; preds = %invoke.cont281
 | 
						|
  %call303 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 8)
 | 
						|
          to label %invoke.cont302 unwind label %lpad301
 | 
						|
 | 
						|
invoke.cont302:                                   ; preds = %invoke.cont290
 | 
						|
  %call310 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, double)*)(i8* undef, i8* undef, double 5.000000e-01)
 | 
						|
          to label %invoke.cont309 unwind label %lpad308
 | 
						|
 | 
						|
invoke.cont309:                                   ; preds = %invoke.cont302
 | 
						|
  %call313 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 42)
 | 
						|
          to label %invoke.cont312 unwind label %lpad311
 | 
						|
 | 
						|
invoke.cont312:                                   ; preds = %invoke.cont309
 | 
						|
  %call316 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8**, i8**, i32)*)(i8* undef, i8* undef, i8** undef, i8** undef, i32 2)
 | 
						|
          to label %invoke.cont315 unwind label %lpad314
 | 
						|
 | 
						|
invoke.cont315:                                   ; preds = %invoke.cont312
 | 
						|
  %call322 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef)
 | 
						|
          to label %invoke.cont321 unwind label %lpad320
 | 
						|
 | 
						|
invoke.cont321:                                   ; preds = %invoke.cont315
 | 
						|
  br i1 undef, label %land.end344, label %land.rhs335
 | 
						|
 | 
						|
land.rhs335:                                      ; preds = %invoke.cont321
 | 
						|
  %call342 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %land.end344 unwind label %lpad340.body.thread
 | 
						|
 | 
						|
land.end344:                                      ; preds = %land.rhs335, %invoke.cont321
 | 
						|
  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont.i2070 unwind label %lpad340.body
 | 
						|
 | 
						|
invoke.cont.i2070:                                ; preds = %land.end344
 | 
						|
  br i1 undef, label %invoke.cont345, label %if.then.i2071
 | 
						|
 | 
						|
if.then.i2071:                                    ; preds = %invoke.cont.i2070
 | 
						|
  br label %invoke.cont345
 | 
						|
 | 
						|
invoke.cont345:                                   ; preds = %if.then.i2071, %invoke.cont.i2070
 | 
						|
  %call362 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef)
 | 
						|
          to label %invoke.cont361 unwind label %lpad360
 | 
						|
 | 
						|
invoke.cont361:                                   ; preds = %invoke.cont345
 | 
						|
  %call365 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont364 unwind label %lpad363
 | 
						|
 | 
						|
invoke.cont364:                                   ; preds = %invoke.cont361
 | 
						|
  %call371 = invoke i32 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i32 (i8*, i8*)*)(i8* undef, i8* undef)
 | 
						|
          to label %invoke.cont370 unwind label %lpad369
 | 
						|
 | 
						|
invoke.cont370:                                   ; preds = %invoke.cont364
 | 
						|
  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont.i2076 unwind label %lpad.i2078
 | 
						|
 | 
						|
invoke.cont.i2076:                                ; preds = %invoke.cont370
 | 
						|
  br i1 undef, label %invoke.cont373, label %if.then.i2077
 | 
						|
 | 
						|
if.then.i2077:                                    ; preds = %invoke.cont.i2076
 | 
						|
  br label %invoke.cont373
 | 
						|
 | 
						|
lpad.i2078:                                       ; preds = %invoke.cont370
 | 
						|
  %tmp340 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
invoke.cont373:                                   ; preds = %if.then.i2077, %invoke.cont.i2076
 | 
						|
  %call377 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32, i8*)*)(i8* undef, i8* undef, i32 42, i8* undef)
 | 
						|
          to label %invoke.cont376 unwind label %lpad363
 | 
						|
 | 
						|
invoke.cont376:                                   ; preds = %invoke.cont373
 | 
						|
  invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i32)*)(i8* undef, i8* undef, i8* undef, i32 5)
 | 
						|
          to label %invoke.cont382 unwind label %lpad381
 | 
						|
 | 
						|
invoke.cont382:                                   ; preds = %invoke.cont376
 | 
						|
  %call384 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont383 unwind label %lpad381
 | 
						|
 | 
						|
invoke.cont383:                                   ; preds = %invoke.cont382
 | 
						|
  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont.i2082 unwind label %lpad.i2084
 | 
						|
 | 
						|
invoke.cont.i2082:                                ; preds = %invoke.cont383
 | 
						|
  br i1 undef, label %invoke.cont392, label %if.then.i2083
 | 
						|
 | 
						|
if.then.i2083:                                    ; preds = %invoke.cont.i2082
 | 
						|
  br label %invoke.cont392
 | 
						|
 | 
						|
lpad.i2084:                                       ; preds = %invoke.cont383
 | 
						|
  %tmp360 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
invoke.cont392:                                   ; preds = %if.then.i2083, %invoke.cont.i2082
 | 
						|
  invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i32)*)(i8* undef, i8* undef, i8* undef, i32 -2)
 | 
						|
          to label %invoke.cont395 unwind label %lpad381
 | 
						|
 | 
						|
invoke.cont395:                                   ; preds = %invoke.cont392
 | 
						|
  %call397 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont396 unwind label %lpad381
 | 
						|
 | 
						|
invoke.cont396:                                   ; preds = %invoke.cont395
 | 
						|
  %call400 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* undef, i8* undef)
 | 
						|
          to label %invoke.cont399 unwind label %lpad398
 | 
						|
 | 
						|
invoke.cont399:                                   ; preds = %invoke.cont396
 | 
						|
  %call403 = invoke i32 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i32 (i8*, i8*)*)(i8* undef, i8* undef)
 | 
						|
          to label %invoke.cont402 unwind label %lpad401
 | 
						|
 | 
						|
invoke.cont402:                                   ; preds = %invoke.cont399
 | 
						|
  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont.i2088 unwind label %lpad.i2090
 | 
						|
 | 
						|
invoke.cont.i2088:                                ; preds = %invoke.cont402
 | 
						|
  br i1 undef, label %invoke.cont405, label %if.then.i2089
 | 
						|
 | 
						|
if.then.i2089:                                    ; preds = %invoke.cont.i2088
 | 
						|
  br label %invoke.cont405
 | 
						|
 | 
						|
lpad.i2090:                                       ; preds = %invoke.cont402
 | 
						|
  %tmp370 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
invoke.cont405:                                   ; preds = %if.then.i2089, %invoke.cont.i2088
 | 
						|
  invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i32)*)(i8* undef, i8* undef, i8* undef, i32 -1)
 | 
						|
          to label %invoke.cont408 unwind label %lpad381
 | 
						|
 | 
						|
invoke.cont408:                                   ; preds = %invoke.cont405
 | 
						|
  %call410 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont409 unwind label %lpad381
 | 
						|
 | 
						|
invoke.cont409:                                   ; preds = %invoke.cont408
 | 
						|
  %call413 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* undef, i8* undef)
 | 
						|
          to label %invoke.cont412 unwind label %lpad411
 | 
						|
 | 
						|
invoke.cont412:                                   ; preds = %invoke.cont409
 | 
						|
  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont.i2094 unwind label %lpad.i2096
 | 
						|
 | 
						|
invoke.cont.i2094:                                ; preds = %invoke.cont412
 | 
						|
  br i1 undef, label %invoke.cont418, label %if.then.i2095
 | 
						|
 | 
						|
if.then.i2095:                                    ; preds = %invoke.cont.i2094
 | 
						|
  br label %invoke.cont418
 | 
						|
 | 
						|
lpad.i2096:                                       ; preds = %invoke.cont412
 | 
						|
  %tmp380 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
invoke.cont418:                                   ; preds = %if.then.i2095, %invoke.cont.i2094
 | 
						|
  invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i32)*)(i8* undef, i8* undef, i8* undef, i32 0)
 | 
						|
          to label %invoke.cont422 unwind label %lpad381
 | 
						|
 | 
						|
invoke.cont422:                                   ; preds = %invoke.cont418
 | 
						|
  %call424 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont423 unwind label %lpad381
 | 
						|
 | 
						|
invoke.cont423:                                   ; preds = %invoke.cont422
 | 
						|
  %call427 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* undef, i8* undef)
 | 
						|
          to label %invoke.cont426 unwind label %lpad425
 | 
						|
 | 
						|
invoke.cont426:                                   ; preds = %invoke.cont423
 | 
						|
  %call430 = invoke i32 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i32 (i8*, i8*)*)(i8* undef, i8* undef)
 | 
						|
          to label %invoke.cont429 unwind label %lpad428
 | 
						|
 | 
						|
invoke.cont429:                                   ; preds = %invoke.cont426
 | 
						|
  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont.i2100 unwind label %lpad.i2102
 | 
						|
 | 
						|
invoke.cont.i2100:                                ; preds = %invoke.cont429
 | 
						|
  br i1 undef, label %invoke.cont432, label %if.then.i2101
 | 
						|
 | 
						|
if.then.i2101:                                    ; preds = %invoke.cont.i2100
 | 
						|
  br label %invoke.cont432
 | 
						|
 | 
						|
lpad.i2102:                                       ; preds = %invoke.cont429
 | 
						|
  %tmp390 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
invoke.cont432:                                   ; preds = %if.then.i2101, %invoke.cont.i2100
 | 
						|
  %call436 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 0)
 | 
						|
          to label %invoke.cont435 unwind label %lpad381
 | 
						|
 | 
						|
invoke.cont435:                                   ; preds = %invoke.cont432
 | 
						|
  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont.i2106 unwind label %lpad.i2108
 | 
						|
 | 
						|
invoke.cont.i2106:                                ; preds = %invoke.cont435
 | 
						|
  %call444 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 5)
 | 
						|
          to label %invoke.cont443 unwind label %lpad381
 | 
						|
 | 
						|
lpad.i2108:                                       ; preds = %invoke.cont435
 | 
						|
  %tmp396 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
invoke.cont443:                                   ; preds = %invoke.cont.i2106
 | 
						|
  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont.i2112 unwind label %lpad.i2114
 | 
						|
 | 
						|
invoke.cont.i2112:                                ; preds = %invoke.cont443
 | 
						|
  br i1 undef, label %invoke.cont449, label %if.then.i2113
 | 
						|
 | 
						|
if.then.i2113:                                    ; preds = %invoke.cont.i2112
 | 
						|
  br label %invoke.cont449
 | 
						|
 | 
						|
lpad.i2114:                                       ; preds = %invoke.cont443
 | 
						|
  %tmp402 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
invoke.cont449:                                   ; preds = %if.then.i2113, %invoke.cont.i2112
 | 
						|
  %call453 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 -2)
 | 
						|
          to label %invoke.cont452 unwind label %lpad381
 | 
						|
 | 
						|
invoke.cont452:                                   ; preds = %invoke.cont449
 | 
						|
  %call456 = invoke i32 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i32 (i8*, i8*)*)(i8* undef, i8* undef)
 | 
						|
          to label %invoke.cont455 unwind label %lpad454
 | 
						|
 | 
						|
invoke.cont455:                                   ; preds = %invoke.cont452
 | 
						|
  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont.i2118 unwind label %lpad.i2120
 | 
						|
 | 
						|
invoke.cont.i2118:                                ; preds = %invoke.cont455
 | 
						|
  br i1 undef, label %invoke.cont458, label %if.then.i2119
 | 
						|
 | 
						|
if.then.i2119:                                    ; preds = %invoke.cont.i2118
 | 
						|
  br label %invoke.cont458
 | 
						|
 | 
						|
lpad.i2120:                                       ; preds = %invoke.cont455
 | 
						|
  %tmp408 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
invoke.cont458:                                   ; preds = %if.then.i2119, %invoke.cont.i2118
 | 
						|
  %call461 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 -1)
 | 
						|
          to label %invoke.cont460 unwind label %lpad381
 | 
						|
 | 
						|
invoke.cont460:                                   ; preds = %invoke.cont458
 | 
						|
  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont.i2124 unwind label %lpad.i2126
 | 
						|
 | 
						|
invoke.cont.i2124:                                ; preds = %invoke.cont460
 | 
						|
  br i1 undef, label %invoke.cont466, label %if.then.i2125
 | 
						|
 | 
						|
if.then.i2125:                                    ; preds = %invoke.cont.i2124
 | 
						|
  br label %invoke.cont466
 | 
						|
 | 
						|
lpad.i2126:                                       ; preds = %invoke.cont460
 | 
						|
  %tmp414 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  br label %ehcleanup477
 | 
						|
 | 
						|
invoke.cont466:                                   ; preds = %if.then.i2125, %invoke.cont.i2124
 | 
						|
  %call470 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 0)
 | 
						|
          to label %invoke.cont469 unwind label %lpad381
 | 
						|
 | 
						|
invoke.cont469:                                   ; preds = %invoke.cont466
 | 
						|
  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont.i2130 unwind label %lpad.i2132
 | 
						|
 | 
						|
invoke.cont.i2130:                                ; preds = %invoke.cont469
 | 
						|
  br i1 undef, label %invoke.cont475, label %if.then.i2131
 | 
						|
 | 
						|
if.then.i2131:                                    ; preds = %invoke.cont.i2130
 | 
						|
  br label %invoke.cont475
 | 
						|
 | 
						|
lpad.i2132:                                       ; preds = %invoke.cont469
 | 
						|
  %tmp420 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  br label %ehcleanup477
 | 
						|
 | 
						|
invoke.cont475:                                   ; preds = %if.then.i2131, %invoke.cont.i2130
 | 
						|
  %call491 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 1)
 | 
						|
          to label %invoke.cont490 unwind label %lpad489
 | 
						|
 | 
						|
invoke.cont490:                                   ; preds = %invoke.cont475
 | 
						|
  invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont499 unwind label %lpad498
 | 
						|
 | 
						|
invoke.cont499:                                   ; preds = %invoke.cont490
 | 
						|
  %call504 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont503 unwind label %lpad489
 | 
						|
 | 
						|
invoke.cont503:                                   ; preds = %invoke.cont499
 | 
						|
  %call507 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 3)
 | 
						|
          to label %invoke.cont506 unwind label %lpad505
 | 
						|
 | 
						|
invoke.cont506:                                   ; preds = %invoke.cont503
 | 
						|
  invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont509 unwind label %lpad508
 | 
						|
 | 
						|
invoke.cont509:                                   ; preds = %invoke.cont506
 | 
						|
  %call513 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont512 unwind label %lpad489
 | 
						|
 | 
						|
invoke.cont512:                                   ; preds = %invoke.cont509
 | 
						|
  br i1 undef, label %msgSend.null-receiver, label %msgSend.call
 | 
						|
 | 
						|
msgSend.call:                                     ; preds = %invoke.cont512
 | 
						|
  invoke void bitcast (void (i8*, i8*, ...)* @objc_msgSend_stret to void (%struct.CGPoint*, i8*, i8*)*)(%struct.CGPoint* sret undef, i8* undef, i8* undef)
 | 
						|
          to label %msgSend.cont unwind label %lpad514
 | 
						|
 | 
						|
msgSend.null-receiver:                            ; preds = %invoke.cont512
 | 
						|
  br label %msgSend.cont
 | 
						|
 | 
						|
msgSend.cont:                                     ; preds = %msgSend.null-receiver, %msgSend.call
 | 
						|
  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont.i2136 unwind label %lpad.i2138
 | 
						|
 | 
						|
invoke.cont.i2136:                                ; preds = %msgSend.cont
 | 
						|
  br i1 undef, label %invoke.cont521, label %if.then.i2137
 | 
						|
 | 
						|
if.then.i2137:                                    ; preds = %invoke.cont.i2136
 | 
						|
  br label %invoke.cont521
 | 
						|
 | 
						|
lpad.i2138:                                       ; preds = %msgSend.cont
 | 
						|
  %tmp468 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
invoke.cont521:                                   ; preds = %if.then.i2137, %invoke.cont.i2136
 | 
						|
  invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef)
 | 
						|
          to label %invoke.cont528 unwind label %lpad527
 | 
						|
 | 
						|
invoke.cont528:                                   ; preds = %invoke.cont521
 | 
						|
  %call532 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont531 unwind label %lpad489
 | 
						|
 | 
						|
invoke.cont531:                                   ; preds = %invoke.cont528
 | 
						|
  %call535 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* undef, i8* undef)
 | 
						|
          to label %invoke.cont534 unwind label %lpad533
 | 
						|
 | 
						|
invoke.cont534:                                   ; preds = %invoke.cont531
 | 
						|
  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont.i2142 unwind label %lpad.i2144
 | 
						|
 | 
						|
invoke.cont.i2142:                                ; preds = %invoke.cont534
 | 
						|
  br i1 undef, label %invoke.cont540, label %if.then.i2143
 | 
						|
 | 
						|
if.then.i2143:                                    ; preds = %invoke.cont.i2142
 | 
						|
  br label %invoke.cont540
 | 
						|
 | 
						|
lpad.i2144:                                       ; preds = %invoke.cont534
 | 
						|
  %tmp486 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
invoke.cont540:                                   ; preds = %if.then.i2143, %invoke.cont.i2142
 | 
						|
  %call544 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i32 3)
 | 
						|
          to label %invoke.cont543 unwind label %lpad489
 | 
						|
 | 
						|
invoke.cont543:                                   ; preds = %invoke.cont540
 | 
						|
  invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef)
 | 
						|
          to label %invoke.cont546 unwind label %lpad545
 | 
						|
 | 
						|
invoke.cont546:                                   ; preds = %invoke.cont543
 | 
						|
  %call549 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont548 unwind label %lpad489
 | 
						|
 | 
						|
invoke.cont548:                                   ; preds = %invoke.cont546
 | 
						|
  %call555 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont554 unwind label %lpad553
 | 
						|
 | 
						|
invoke.cont554:                                   ; preds = %invoke.cont548
 | 
						|
  %tmp499 = call i8* @objc_retain(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*)) #3
 | 
						|
  invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* %tmp499, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont.i2148 unwind label %lpad.i2150
 | 
						|
 | 
						|
invoke.cont.i2148:                                ; preds = %invoke.cont554
 | 
						|
  call void @objc_release(i8* %tmp499) #3, !clang.imprecise_release !0
 | 
						|
  invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont566 unwind label %lpad565
 | 
						|
 | 
						|
lpad.i2150:                                       ; preds = %invoke.cont554
 | 
						|
  %tmp500 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  call void @objc_release(i8* %tmp499) #3, !clang.imprecise_release !0
 | 
						|
  unreachable
 | 
						|
 | 
						|
invoke.cont566:                                   ; preds = %invoke.cont.i2148
 | 
						|
  invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
 | 
						|
          to label %invoke.cont572 unwind label %lpad571
 | 
						|
 | 
						|
invoke.cont572:                                   ; preds = %invoke.cont566
 | 
						|
  %call582 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* undef, i8* undef)
 | 
						|
          to label %invoke.cont581 unwind label %lpad580
 | 
						|
 | 
						|
invoke.cont581:                                   ; preds = %invoke.cont572
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad156.body:                                     ; preds = %invoke.cont117
 | 
						|
  %tmp1157 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad164.body:                                     ; preds = %invoke.cont157
 | 
						|
  %tmp1158 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad183:                                          ; preds = %invoke.cont184, %invoke.cont165
 | 
						|
  %tmp1159 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  br label %lpad183.body
 | 
						|
 | 
						|
lpad183.body:                                     ; preds = %lpad183, %lpad.i2036
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad196:                                          ; preds = %invoke.cont190
 | 
						|
  %tmp1160 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad200:                                          ; preds = %invoke.cont197
 | 
						|
  %tmp1161 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad203:                                          ; preds = %invoke.cont207, %invoke.cont201
 | 
						|
  %tmp1162 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad212.body:                                     ; preds = %invoke.cont208
 | 
						|
  %tmp1163 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad220:                                          ; preds = %invoke.cont213
 | 
						|
  %tmp1164 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  br label %eh.resume
 | 
						|
 | 
						|
lpad227:                                          ; preds = %invoke.cont231, %invoke.cont221
 | 
						|
  %tmp1166 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  br label %ehcleanup239
 | 
						|
 | 
						|
lpad236.body:                                     ; preds = %invoke.cont232
 | 
						|
  %tmp1167 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  br label %ehcleanup239
 | 
						|
 | 
						|
ehcleanup239:                                     ; preds = %lpad236.body, %lpad227
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad244:                                          ; preds = %invoke.cont245, %invoke.cont237
 | 
						|
  %tmp1168 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad249:                                          ; preds = %invoke.cont247
 | 
						|
  %tmp1169 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad252:                                          ; preds = %invoke.cont250
 | 
						|
  %tmp1170 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  br label %ehcleanup263
 | 
						|
 | 
						|
lpad255:                                          ; preds = %invoke.cont253
 | 
						|
  %tmp1171 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  br label %ehcleanup263
 | 
						|
 | 
						|
lpad258:                                          ; preds = %invoke.cont256
 | 
						|
  %tmp1172 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
ehcleanup263:                                     ; preds = %lpad255, %lpad252
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad265:                                          ; preds = %invoke.cont259
 | 
						|
  %tmp1173 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad273:                                          ; preds = %invoke.cont266
 | 
						|
  %tmp1175 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad277:                                          ; preds = %invoke.cont274
 | 
						|
  %tmp1176 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad289:                                          ; preds = %invoke.cont281
 | 
						|
  %tmp1177 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad301:                                          ; preds = %invoke.cont290
 | 
						|
  %tmp1180 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad308:                                          ; preds = %invoke.cont302
 | 
						|
  %tmp1182 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad311:                                          ; preds = %invoke.cont309
 | 
						|
  %tmp1183 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad314:                                          ; preds = %invoke.cont312
 | 
						|
  %tmp1184 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad320:                                          ; preds = %invoke.cont315
 | 
						|
  %tmp1186 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad340.body.thread:                              ; preds = %land.rhs335
 | 
						|
  %tmp1188 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad340.body:                                     ; preds = %land.end344
 | 
						|
  %tmp1189 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad360:                                          ; preds = %invoke.cont345
 | 
						|
  %tmp1191 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  br label %eh.resume
 | 
						|
 | 
						|
lpad363:                                          ; preds = %invoke.cont373, %invoke.cont361
 | 
						|
  %tmp1192 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad369:                                          ; preds = %invoke.cont364
 | 
						|
  %tmp1194 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad381:                                          ; preds = %invoke.cont466, %invoke.cont458, %invoke.cont449, %invoke.cont.i2106, %invoke.cont432, %invoke.cont422, %invoke.cont418, %invoke.cont408, %invoke.cont405, %invoke.cont395, %invoke.cont392, %invoke.cont382, %invoke.cont376
 | 
						|
  %tmp1196 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  br label %ehcleanup477
 | 
						|
 | 
						|
lpad398:                                          ; preds = %invoke.cont396
 | 
						|
  %tmp1199 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad401:                                          ; preds = %invoke.cont399
 | 
						|
  %tmp1200 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad411:                                          ; preds = %invoke.cont409
 | 
						|
  %tmp1201 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad425:                                          ; preds = %invoke.cont423
 | 
						|
  %tmp1203 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  br label %ehcleanup477
 | 
						|
 | 
						|
lpad428:                                          ; preds = %invoke.cont426
 | 
						|
  %tmp1204 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad454:                                          ; preds = %invoke.cont452
 | 
						|
  %tmp1207 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
ehcleanup477:                                     ; preds = %lpad425, %lpad381, %lpad.i2132, %lpad.i2126
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad489:                                          ; preds = %invoke.cont546, %invoke.cont540, %invoke.cont528, %invoke.cont509, %invoke.cont499, %invoke.cont475
 | 
						|
  %tmp1211 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  br label %ehcleanup560
 | 
						|
 | 
						|
lpad498:                                          ; preds = %invoke.cont490
 | 
						|
  %tmp1214 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad505:                                          ; preds = %invoke.cont503
 | 
						|
  %tmp1215 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad508:                                          ; preds = %invoke.cont506
 | 
						|
  %tmp1216 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad514:                                          ; preds = %msgSend.call
 | 
						|
  %tmp1217 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad527:                                          ; preds = %invoke.cont521
 | 
						|
  %tmp1219 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  br label %ehcleanup560
 | 
						|
 | 
						|
lpad533:                                          ; preds = %invoke.cont531
 | 
						|
  %tmp1220 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad545:                                          ; preds = %invoke.cont543
 | 
						|
  %tmp1222 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad553:                                          ; preds = %invoke.cont548
 | 
						|
  %tmp1224 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
ehcleanup560:                                     ; preds = %lpad527, %lpad489
 | 
						|
  br label %eh.resume
 | 
						|
 | 
						|
lpad565:                                          ; preds = %invoke.cont.i2148
 | 
						|
  %tmp1225 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad571:                                          ; preds = %invoke.cont566
 | 
						|
  %tmp1227 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  unreachable
 | 
						|
 | 
						|
lpad580:                                          ; preds = %invoke.cont572
 | 
						|
  %tmp1228 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
 | 
						|
          cleanup
 | 
						|
  br label %eh.resume
 | 
						|
 | 
						|
eh.resume:                                        ; preds = %lpad580, %ehcleanup560, %lpad360, %lpad220
 | 
						|
  resume { i8*, i32 } undef
 | 
						|
}
 | 
						|
 | 
						|
@"OBJC_EHTYPE_$_NSException" = external global i8
 | 
						|
 | 
						|
define void @test4() {
 | 
						|
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 } personality i8* bitcast (i32 (...)* @__objc_personality_v0 to i8*)
 | 
						|
          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 = metadata !{}
 |