183 lines · plain
1; RUN: opt -passes=loop-deletion -disable-output < %s2 3target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"4 5%0 = type { %"class.llvm::SmallVectorImpl", [1 x %"union.llvm::SmallVectorBase::U"] }6%"class.clang::SourceLocation" = type { i32 }7%"class.clang::driver::Arg" = type { ptr, ptr, i32, i8, %0 }8%"class.clang::driver::Option" = type { ptr, i32, %"class.clang::SourceLocation", ptr, ptr, ptr, i8 }9%"class.clang::driver::OptionGroup" = type { %"class.clang::driver::Option" }10%"class.llvm::SmallVectorBase" = type { ptr, ptr, ptr, %"union.llvm::SmallVectorBase::U" }11%"class.llvm::SmallVectorImpl" = type { %"class.llvm::SmallVectorTemplateBase" }12%"class.llvm::SmallVectorTemplateBase" = type { %"class.llvm::SmallVectorTemplateCommon" }13%"class.llvm::SmallVectorTemplateCommon" = type { %"class.llvm::SmallVectorBase" }14%"union.llvm::SmallVectorBase::U" = type { x86_fp80 }15 16define void @_ZNK5clang6driver7ArgList20AddAllArgsTranslatedERN4llvm11SmallVectorIPKcLj16EEENS0_12OptSpecifierES5_b(i1 zeroext %Joined, i1 %arg) nounwind align 2 {17entry:18 br i1 %arg, label %entry.split.us, label %entry.entry.split_crit_edge19 20entry.entry.split_crit_edge: ; preds = %entry21 br label %entry.split22 23entry.split.us: ; preds = %entry24 br label %for.cond.i14.us25 26for.cond.i14.us: ; preds = %for.inc.i38.us, %entry.split.us27 br i1 true, label %for.cond.i50.us-lcssa.us, label %if.end.i23.us28 29for.inc.i38.us: ; preds = %if.end.i23.us30 br label %for.cond.i14.us31 32if.end.i23.us: ; preds = %for.cond.i14.us33 br i1 true, label %for.cond.i50.us-lcssa.us, label %for.inc.i38.us34 35for.cond.i50.us-lcssa.us: ; preds = %if.end.i23.us, %for.cond.i14.us36 br label %for.cond.i5037 38entry.split: ; preds = %entry.entry.split_crit_edge39 br label %for.cond.i1440 41for.cond.i14: ; preds = %for.inc.i38, %entry.split42 br i1 %arg, label %for.cond.i50.us-lcssa, label %if.end.i2343 44if.end.i23: ; preds = %for.cond.i1445 br i1 %arg, label %for.cond.i50.us-lcssa, label %for.inc.i3846 47for.inc.i38: ; preds = %if.end.i2348 br label %for.cond.i1449 50for.cond.i50.us-lcssa: ; preds = %if.end.i23, %for.cond.i1451 br label %for.cond.i5052 53for.cond.i50: ; preds = %for.cond.i50.us-lcssa, %for.cond.i50.us-lcssa.us54 br label %for.cond55 56for.cond.loopexit.us-lcssa: ; preds = %if.end.i, %for.cond.i57 br label %for.cond.loopexit58 59for.cond.loopexit: ; preds = %for.cond.loopexit.us-lcssa.us, %for.cond.loopexit.us-lcssa60 br label %for.cond61 62for.cond: ; preds = %for.cond.loopexit, %for.cond.i5063 br i1 %arg, label %for.end, label %for.body64 65for.body: ; preds = %for.cond66 br i1 %Joined, label %if.then, label %if.else67 68if.then: ; preds = %for.body69 br i1 %arg, label %cond.false.i.i, label %_ZN4llvm9StringRefC1EPKc.exit70 71cond.false.i.i: ; preds = %if.then72 unreachable73 74_ZN4llvm9StringRefC1EPKc.exit: ; preds = %if.then75 br i1 %arg, label %_ZNK5clang6driver3Arg8getValueERKNS0_7ArgListEj.exit, label %cond.false.i.i9176 77cond.false.i.i91: ; preds = %_ZN4llvm9StringRefC1EPKc.exit78 unreachable79 80_ZNK5clang6driver3Arg8getValueERKNS0_7ArgListEj.exit: ; preds = %_ZN4llvm9StringRefC1EPKc.exit81 br i1 %arg, label %cond.false.i.i.i, label %if.end13.i.i.i.i82 83if.end13.i.i.i.i: ; preds = %_ZNK5clang6driver3Arg8getValueERKNS0_7ArgListEj.exit84 br i1 %arg, label %land.lhs.true16.i.i.i.i, label %if.end19.i.i.i.i85 86land.lhs.true16.i.i.i.i: ; preds = %if.end13.i.i.i.i87 br i1 %arg, label %cond.false.i.i.i, label %_ZNK4llvm5Twine8isBinaryEv.exit8.i.i.i.i88 89_ZNK4llvm5Twine8isBinaryEv.exit8.i.i.i.i: ; preds = %land.lhs.true16.i.i.i.i90 br i1 %arg, label %cond.false.i.i.i, label %if.end19.i.i.i.i91 92if.end19.i.i.i.i: ; preds = %_ZNK4llvm5Twine8isBinaryEv.exit8.i.i.i.i, %if.end13.i.i.i.i93 br i1 %arg, label %land.lhs.true22.i.i.i.i, label %_ZN4llvmplERKNS_9StringRefEPKc.exit94 95land.lhs.true22.i.i.i.i: ; preds = %if.end19.i.i.i.i96 br i1 %arg, label %cond.false.i.i.i, label %_ZNK4llvm5Twine8isBinaryEv.exit.i.i.i.i97 98_ZNK4llvm5Twine8isBinaryEv.exit.i.i.i.i: ; preds = %land.lhs.true22.i.i.i.i99 br i1 %arg, label %cond.false.i.i.i, label %_ZN4llvmplERKNS_9StringRefEPKc.exit100 101cond.false.i.i.i: ; preds = %_ZNK4llvm5Twine8isBinaryEv.exit.i.i.i.i, %land.lhs.true22.i.i.i.i, %_ZNK4llvm5Twine8isBinaryEv.exit8.i.i.i.i, %land.lhs.true16.i.i.i.i, %_ZNK5clang6driver3Arg8getValueERKNS0_7ArgListEj.exit102 unreachable103 104_ZN4llvmplERKNS_9StringRefEPKc.exit: ; preds = %_ZNK4llvm5Twine8isBinaryEv.exit.i.i.i.i, %if.end19.i.i.i.i105 br i1 %arg, label %Retry.i, label %if.end.i99106 107Retry.i: ; preds = %if.end.i99, %_ZN4llvmplERKNS_9StringRefEPKc.exit108 br i1 %arg, label %_ZN4llvm15SmallVectorImplIPKcE9push_backERKS2_.exit, label %new.notnull.i109 110new.notnull.i: ; preds = %Retry.i111 br label %_ZN4llvm15SmallVectorImplIPKcE9push_backERKS2_.exit112 113if.end.i99: ; preds = %_ZN4llvmplERKNS_9StringRefEPKc.exit114 br label %Retry.i115 116_ZN4llvm15SmallVectorImplIPKcE9push_backERKS2_.exit: ; preds = %new.notnull.i, %Retry.i117 br label %for.cond.i.preheader118 119if.else: ; preds = %for.body120 br i1 %arg, label %Retry.i108, label %if.end.i113121 122Retry.i108: ; preds = %if.end.i113, %if.else123 br i1 %arg, label %_ZN4llvm15SmallVectorImplIPKcE9push_backERKS2_.exit114, label %new.notnull.i110124 125new.notnull.i110: ; preds = %Retry.i108126 br label %_ZN4llvm15SmallVectorImplIPKcE9push_backERKS2_.exit114127 128if.end.i113: ; preds = %if.else129 br label %Retry.i108130 131_ZN4llvm15SmallVectorImplIPKcE9push_backERKS2_.exit114: ; preds = %new.notnull.i110, %Retry.i108132 br i1 %arg, label %_ZNK5clang6driver3Arg8getValueERKNS0_7ArgListEj.exit125, label %cond.false.i.i123133 134cond.false.i.i123: ; preds = %_ZN4llvm15SmallVectorImplIPKcE9push_backERKS2_.exit114135 unreachable136 137_ZNK5clang6driver3Arg8getValueERKNS0_7ArgListEj.exit125: ; preds = %_ZN4llvm15SmallVectorImplIPKcE9push_backERKS2_.exit114138 br i1 %arg, label %Retry.i134, label %if.end.i139139 140Retry.i134: ; preds = %if.end.i139, %_ZNK5clang6driver3Arg8getValueERKNS0_7ArgListEj.exit125141 br i1 %arg, label %_ZN4llvm15SmallVectorImplIPKcE9push_backERKS2_.exit140, label %new.notnull.i136142 143new.notnull.i136: ; preds = %Retry.i134144 br label %_ZN4llvm15SmallVectorImplIPKcE9push_backERKS2_.exit140145 146if.end.i139: ; preds = %_ZNK5clang6driver3Arg8getValueERKNS0_7ArgListEj.exit125147 br label %Retry.i134148 149_ZN4llvm15SmallVectorImplIPKcE9push_backERKS2_.exit140: ; preds = %new.notnull.i136, %Retry.i134150 br label %for.cond.i.preheader151 152for.cond.i.preheader: ; preds = %_ZN4llvm15SmallVectorImplIPKcE9push_backERKS2_.exit140, %_ZN4llvm15SmallVectorImplIPKcE9push_backERKS2_.exit153 br i1 %arg, label %for.cond.i.preheader.split.us, label %for.cond.i.preheader.for.cond.i.preheader.split_crit_edge154 155for.cond.i.preheader.for.cond.i.preheader.split_crit_edge: ; preds = %for.cond.i.preheader156 br label %for.cond.i.preheader.split157 158for.cond.i.preheader.split.us: ; preds = %for.cond.i.preheader159 br label %for.cond.i.us160 161for.cond.i.us: ; preds = %if.end.i.us, %for.cond.i.preheader.split.us162 br i1 true, label %for.cond.loopexit.us-lcssa.us, label %if.end.i.us163 164if.end.i.us: ; preds = %for.cond.i.us165 br i1 true, label %for.cond.loopexit.us-lcssa.us, label %for.cond.i.us166 167for.cond.loopexit.us-lcssa.us: ; preds = %if.end.i.us, %for.cond.i.us168 %tmp178218.us.lcssa = phi ptr [ undef, %if.end.i.us ], [ undef, %for.cond.i.us ]169 br label %for.cond.loopexit170 171for.cond.i.preheader.split: ; preds = %for.cond.i.preheader.for.cond.i.preheader.split_crit_edge172 br label %for.cond.i173 174for.cond.i: ; preds = %if.end.i, %for.cond.i.preheader.split175 br i1 %arg, label %for.cond.loopexit.us-lcssa, label %if.end.i176 177if.end.i: ; preds = %for.cond.i178 br i1 %arg, label %for.cond.loopexit.us-lcssa, label %for.cond.i179 180for.end: ; preds = %for.cond181 ret void182}183