140 lines · plain
1; RUN: llc -mtriple=thumbv7-apple-ios -mcpu=cortex-a8 -verify-machineinstrs < %s2 3; Teach taildup to update livein set to appease verifier.4; rdar://115383655 6%struct.__CFString.2 = type opaque7 8declare void @CFRelease(ptr)9 10define hidden fastcc i32 @t() ssp {11entry:12 %mylocale.i.i = alloca [256 x i8], align 113 br i1 undef, label %return, label %CFStringIsHyphenationAvailableForLocale.exit14 15CFStringIsHyphenationAvailableForLocale.exit: ; preds = %entry16 br i1 undef, label %return, label %if.end17 18if.end: ; preds = %CFStringIsHyphenationAvailableForLocale.exit19 br i1 undef, label %if.end8.thread.i, label %if.then.i20 21if.then.i: ; preds = %if.end22 br i1 undef, label %if.end8.thread.i, label %if.end8.i23 24if.end8.thread.i: ; preds = %if.then.i, %if.end25 unreachable26 27if.end8.i: ; preds = %if.then.i28 br i1 undef, label %if.then11.i, label %__CFHyphenationPullTokenizer.exit29 30if.then11.i: ; preds = %if.end8.i31 unreachable32 33__CFHyphenationPullTokenizer.exit: ; preds = %if.end8.i34 br i1 undef, label %if.end68, label %if.then335 36if.then3: ; preds = %__CFHyphenationPullTokenizer.exit37 br i1 undef, label %cond.end, label %cond.false38 39cond.false: ; preds = %if.then340 br label %cond.end41 42cond.end: ; preds = %cond.false, %if.then343 br i1 undef, label %while.end, label %while.body44 45while.body: ; preds = %cond.end46 unreachable47 48while.end: ; preds = %cond.end49 br i1 undef, label %if.end5.i, label %if.then.i1650 51if.then.i16: ; preds = %while.end52 br i1 undef, label %if.then4.i, label %if.end5.i53 54if.then4.i: ; preds = %if.then.i1655 br i1 false, label %cleanup.thread, label %if.end.i2056 57if.end5.i: ; preds = %if.then.i16, %while.end58 unreachable59 60if.end.i20: ; preds = %if.then4.i61 br label %for.body.i146.i62 63for.body.i146.i: ; preds = %for.body.i146.i, %if.end.i2064 br i1 undef, label %if.end20.i, label %for.body.i146.i65 66if.end20.i: ; preds = %for.body.i146.i67 br i1 undef, label %cleanup.thread, label %if.end23.i68 69if.end23.i: ; preds = %if.end20.i70 br label %for.body.i94.i71 72for.body.i94.i: ; preds = %for.body.i94.i, %if.end23.i73 br i1 undef, label %if.then28.i, label %for.body.i94.i74 75if.then28.i: ; preds = %for.body.i94.i76 br i1 undef, label %cond.true.i26, label %land.lhs.true77 78cond.true.i26: ; preds = %if.then28.i79 br label %land.lhs.true80 81land.lhs.true: ; preds = %cond.true.i26, %if.then28.i82 br i1 false, label %cleanup.thread, label %if.end3583 84if.end35: ; preds = %land.lhs.true85 br i1 undef, label %cleanup.thread, label %if.end4586 87if.end45: ; preds = %if.end3588 br i1 undef, label %if.then50, label %if.end.i3789 90if.end.i37: ; preds = %if.end4591 br label %if.then5092 93if.then50: ; preds = %if.end.i37, %if.end4594 br i1 undef, label %__CFHyphenationGetHyphensForString.exit, label %if.end.i95 96if.end.i: ; preds = %if.then5097 br i1 undef, label %cleanup.i, label %cond.true.i98 99cond.true.i: ; preds = %if.end.i100 br i1 undef, label %for.cond16.preheader.i, label %for.cond57.preheader.i101 102for.cond16.preheader.i: ; preds = %cond.true.i103 %cmp1791.i = icmp sgt i32 undef, 1104 br i1 %cmp1791.i, label %for.body18.i, label %for.cond57.preheader.i105 106for.cond57.preheader.i: ; preds = %for.cond16.preheader.i, %cond.true.i107 %sub69.i = add i32 undef, -2108 br label %cleanup.i109 110for.body18.i: ; preds = %for.cond16.preheader.i111 store i16 0, ptr undef, align 2112 br label %while.body.i113 114while.body.i: ; preds = %while.body.i, %for.body18.i115 br label %while.body.i116 117cleanup.i: ; preds = %for.cond57.preheader.i, %if.end.i118 br label %__CFHyphenationGetHyphensForString.exit119 120__CFHyphenationGetHyphensForString.exit: ; preds = %cleanup.i, %if.then50121 %retval.1.i = phi i32 [ 0, %cleanup.i ], [ -1, %if.then50 ]122 br label %if.end68123 124cleanup.thread: ; preds = %if.end35, %land.lhs.true, %if.end20.i, %if.then4.i125 call void @llvm.stackrestore(ptr null)126 br label %return127 128if.end68: ; preds = %__CFHyphenationGetHyphensForString.exit, %__CFHyphenationPullTokenizer.exit129 %hyphenCount.2 = phi i32 [ %retval.1.i, %__CFHyphenationGetHyphensForString.exit ], [ 0, %__CFHyphenationPullTokenizer.exit ]130 %_token.1 = phi ptr [ null, %__CFHyphenationGetHyphensForString.exit ], [ undef, %__CFHyphenationPullTokenizer.exit ]131 call void @CFRelease(ptr %_token.1)132 br label %return133 134return: ; preds = %if.end68, %cleanup.thread, %CFStringIsHyphenationAvailableForLocale.exit, %entry135 %retval.1 = phi i32 [ %hyphenCount.2, %if.end68 ], [ -1, %CFStringIsHyphenationAvailableForLocale.exit ], [ -1, %cleanup.thread ], [ -1, %entry ]136 ret i32 %retval.1137}138 139declare void @llvm.stackrestore(ptr) nounwind140