From 450ab3e38e0301dabb2f1bd996715c7944165479 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 28 Nov 2024 04:25:15 +0000 Subject: [PATCH] pre-commit: Update --- .../optimized/schur_complement_solver.cc.ll | 5 +- bench/jq/optimized/decNumber.ll | 277 +++++++++--------- bench/linux/optimized/drbg.ll | 9 +- bench/llama.cpp/optimized/ggml.c.ll | 230 ++++++++------- .../optimized/color_yuv.dispatch.cpp.ll | 19 +- .../wireshark/optimized/packet-gsm_a_rr.c.ll | 12 +- 6 files changed, 282 insertions(+), 270 deletions(-) diff --git a/bench/ceres/optimized/schur_complement_solver.cc.ll b/bench/ceres/optimized/schur_complement_solver.cc.ll index 28d8e06e4dc..7b2f5ca893f 100644 --- a/bench/ceres/optimized/schur_complement_solver.cc.ll +++ b/bench/ceres/optimized/schur_complement_solver.cc.ll @@ -4839,8 +4839,9 @@ _ZNSt6vectorIN5ceres8internal27SchurEliminatorForOneFBlockILi2ELi3ELi6EE5ChunkES %135 = ptrtoint ptr %127 to i64 %136 = ptrtoint ptr %126 to i64 %137 = sub i64 %135, %136 - %138 = ashr exact i64 %137, 3 - %139 = mul i64 %138, 9 + %.fr = freeze i64 %137 + %138 = ashr exact i64 %.fr, 3 + %139 = add i64 %138, %.fr %140 = getelementptr inbounds i8, ptr %0, i64 48 %141 = load ptr, ptr %140, align 8 %142 = load ptr, ptr %134, align 8 diff --git a/bench/jq/optimized/decNumber.ll b/bench/jq/optimized/decNumber.ll index 4ddf848e669..84678f1810f 100644 --- a/bench/jq/optimized/decNumber.ll +++ b/bench/jq/optimized/decNumber.ll @@ -1131,8 +1131,8 @@ define noundef ptr @decNumberFromString(ptr noundef returned %0, ptr noundef %1, %.0166 = phi i8 [ 0, %3 ], [ %.1167, %24 ] %8 = load i8, ptr %.0176, align 1 %9 = add i8 %8, -48 - %or.cond248 = icmp ult i8 %9, 10 - br i1 %or.cond248, label %10, label %12 + %or.cond247 = icmp ult i8 %9, 10 + br i1 %or.cond247, label %10, label %12 10: ; preds = %7 %11 = add nsw i32 %.0191, 1 @@ -1187,7 +1187,7 @@ define noundef ptr @decNumberFromString(ptr noundef returned %0, ptr noundef %1, %29 = icmp eq i8 %8, 0 %30 = icmp ne ptr %.0189, null %or.cond3 = select i1 %29, i1 true, i1 %30 - br i1 %or.cond3, label %.thread277, label %31 + br i1 %or.cond3, label %.thread276, label %31 31: ; preds = %28 %32 = getelementptr inbounds i8, ptr %0, i64 8 @@ -1211,7 +1211,7 @@ define noundef ptr @decNumberFromString(ptr noundef returned %0, ptr noundef %1, 38: ; preds = %35 %39 = load i8, ptr %.0.i, align 1 %.not12.i = icmp eq i8 %36, %39 - br i1 %.not12.i, label %40, label %.preheader282 + br i1 %.not12.i, label %40, label %.preheader281 40: ; preds = %38, %35 %41 = icmp eq i8 %36, 0 @@ -1223,34 +1223,34 @@ define noundef ptr @decNumberFromString(ptr noundef returned %0, ptr noundef %1, %45 = getelementptr inbounds i8, ptr %.0.i, i64 1 br label %35 -.preheader282: ; preds = %38, %52 - %.09.i255 = phi ptr [ %53, %52 ], [ %.0176.lcssa, %38 ] - %.08.i256 = phi ptr [ %54, %52 ], [ @.str.2, %38 ] - %.0.i257 = phi ptr [ %55, %52 ], [ @.str.3, %38 ] - %46 = load i8, ptr %.09.i255, align 1 - %47 = load i8, ptr %.08.i256, align 1 - %.not.i258 = icmp eq i8 %46, %47 - br i1 %.not.i258, label %50, label %48 - -48: ; preds = %.preheader282 - %49 = load i8, ptr %.0.i257, align 1 - %.not12.i259 = icmp eq i8 %46, %49 - br i1 %.not12.i259, label %50, label %57 - -50: ; preds = %48, %.preheader282 +.preheader281: ; preds = %38, %52 + %.09.i254 = phi ptr [ %53, %52 ], [ %.0176.lcssa, %38 ] + %.08.i255 = phi ptr [ %54, %52 ], [ @.str.2, %38 ] + %.0.i256 = phi ptr [ %55, %52 ], [ @.str.3, %38 ] + %46 = load i8, ptr %.09.i254, align 1 + %47 = load i8, ptr %.08.i255, align 1 + %.not.i257 = icmp eq i8 %46, %47 + br i1 %.not.i257, label %50, label %48 + +48: ; preds = %.preheader281 + %49 = load i8, ptr %.0.i256, align 1 + %.not12.i258 = icmp eq i8 %46, %49 + br i1 %.not12.i258, label %50, label %57 + +50: ; preds = %48, %.preheader281 %51 = icmp eq i8 %46, 0 br i1 %51, label %decBiStr.exit, label %52 52: ; preds = %50 - %53 = getelementptr inbounds i8, ptr %.09.i255, i64 1 - %54 = getelementptr inbounds i8, ptr %.08.i256, i64 1 - %55 = getelementptr inbounds i8, ptr %.0.i257, i64 1 - br label %.preheader282 + %53 = getelementptr inbounds i8, ptr %.09.i254, i64 1 + %54 = getelementptr inbounds i8, ptr %.08.i255, i64 1 + %55 = getelementptr inbounds i8, ptr %.0.i256, i64 1 + br label %.preheader281 decBiStr.exit: ; preds = %40, %50 %56 = or i8 %.0166, 64 store i8 %56, ptr %32, align 4 - br label %.thread.thread274 + br label %.thread.thread273 57: ; preds = %48 %58 = or i8 %.0166, 32 @@ -1300,38 +1300,38 @@ decBiStr.exit: ; preds = %40, %50 74: ; preds = %77, %72 %.2185 = phi ptr [ %73, %72 ], [ %78, %77 ] %75 = load i8, ptr %.2185, align 1 - switch i8 %75, label %.preheader281 [ + switch i8 %75, label %.preheader280 [ i8 48, label %77 - i8 0, label %.thread.thread274 + i8 0, label %.thread.thread273 ] -.preheader281: ; preds = %74 +.preheader280: ; preds = %74 %76 = add i8 %75, -58 - %or.cond249297 = icmp ult i8 %76, -10 - br i1 %or.cond249297, label %._crit_edge301, label %.lr.ph300 + %or.cond248296 = icmp ult i8 %76, -10 + br i1 %or.cond248296, label %._crit_edge300, label %.lr.ph299 77: ; preds = %74 %78 = getelementptr inbounds i8, ptr %.2185, i64 1 br label %74, !llvm.loop !13 -.lr.ph300: ; preds = %.preheader281, %.lr.ph300 - %.2178299 = phi ptr [ %79, %.lr.ph300 ], [ %.2185, %.preheader281 ] - %.2193298 = phi i32 [ %80, %.lr.ph300 ], [ %.0191, %.preheader281 ] - %79 = getelementptr inbounds i8, ptr %.2178299, i64 1 - %80 = add nsw i32 %.2193298, 1 - %.pr268 = load i8, ptr %79, align 1 - %81 = add i8 %.pr268, -58 - %or.cond249 = icmp ult i8 %81, -10 - br i1 %or.cond249, label %._crit_edge301, label %.lr.ph300 - -._crit_edge301: ; preds = %.lr.ph300, %.preheader281 - %.lcssa285 = phi i8 [ %75, %.preheader281 ], [ %.pr268, %.lr.ph300 ] - %.2193.lcssa = phi i32 [ %.0191, %.preheader281 ], [ %80, %.lr.ph300 ] - %.2181.lcssa = phi ptr [ null, %.preheader281 ], [ %.2178299, %.lr.ph300 ] - %.not238 = icmp eq i8 %.lcssa285, 0 +.lr.ph299: ; preds = %.preheader280, %.lr.ph299 + %.2178298 = phi ptr [ %79, %.lr.ph299 ], [ %.2185, %.preheader280 ] + %.2193297 = phi i32 [ %80, %.lr.ph299 ], [ %.0191, %.preheader280 ] + %79 = getelementptr inbounds i8, ptr %.2178298, i64 1 + %80 = add nsw i32 %.2193297, 1 + %.pr267 = load i8, ptr %79, align 1 + %81 = add i8 %.pr267, -58 + %or.cond248 = icmp ult i8 %81, -10 + br i1 %or.cond248, label %._crit_edge300, label %.lr.ph299 + +._crit_edge300: ; preds = %.lr.ph299, %.preheader280 + %.lcssa284 = phi i8 [ %75, %.preheader280 ], [ %.pr267, %.lr.ph299 ] + %.2193.lcssa = phi i32 [ %.0191, %.preheader280 ], [ %80, %.lr.ph299 ] + %.2181.lcssa = phi ptr [ null, %.preheader280 ], [ %.2178298, %.lr.ph299 ] + %.not238 = icmp eq i8 %.lcssa284, 0 br i1 %.not238, label %82, label %.thread -82: ; preds = %._crit_edge301 +82: ; preds = %._crit_edge300 %83 = load i32, ptr %2, align 4 %.not239 = icmp slt i32 %.2193.lcssa, %83 br i1 %.not239, label %.sink.split, label %84 @@ -1341,8 +1341,8 @@ decBiStr.exit: ; preds = %40, %50 %86 = load i8, ptr %85, align 4 %.not240 = icmp ne i8 %86, 0 %87 = icmp sgt i32 %.2193.lcssa, %83 - %or.cond250 = select i1 %.not240, i1 true, i1 %87 - br i1 %or.cond250, label %.thread, label %.sink.split + %or.cond249 = select i1 %.not240, i1 true, i1 %87 + br i1 %or.cond249, label %.thread, label %.sink.split 88: ; preds = %26 %.not = icmp eq i8 %8, 0 @@ -1350,7 +1350,7 @@ decBiStr.exit: ; preds = %40, %50 89: ; preds = %88 store i32 1, ptr %6, align 4 - switch i8 %8, label %.thread277 [ + switch i8 %8, label %.thread276 [ i8 101, label %90 i8 69, label %90 ] @@ -1365,57 +1365,57 @@ decBiStr.exit: ; preds = %40, %50 %.3 = select i1 %95, ptr %93, ptr %91 %96 = load i8, ptr %.3, align 1 %97 = icmp eq i8 %96, 0 - br i1 %97, label %.thread, label %.preheader284 + br i1 %97, label %.thread, label %.preheader283 -.preheader284: ; preds = %90, %100 +.preheader283: ; preds = %90, %100 %98 = phi i8 [ %102, %100 ], [ %96, %90 ] %.4 = phi ptr [ %101, %100 ], [ %.3, %90 ] %99 = icmp eq i8 %98, 48 br i1 %99, label %100, label %.critedge -100: ; preds = %.preheader284 +100: ; preds = %.preheader283 %101 = getelementptr inbounds i8, ptr %.4, i64 1 %102 = load i8, ptr %101, align 1 %.not224 = icmp eq i8 %102, 0 - br i1 %.not224, label %.critedge, label %.preheader284, !llvm.loop !14 + br i1 %.not224, label %.critedge, label %.preheader283, !llvm.loop !14 -.critedge: ; preds = %.preheader284, %100 +.critedge: ; preds = %.preheader283, %100 %103 = load i8, ptr %.4, align 1 %104 = add i8 %103, -58 - %or.cond252292 = icmp ult i8 %104, -10 - br i1 %or.cond252292, label %._crit_edge, label %.lr.ph + %or.cond251291 = icmp ult i8 %104, -10 + br i1 %or.cond251291, label %._crit_edge, label %.lr.ph .lr.ph: ; preds = %.critedge, %.lr.ph %105 = phi i8 [ %110, %.lr.ph ], [ %103, %.critedge ] - %.0164294 = phi i32 [ %109, %.lr.ph ], [ 0, %.critedge ] - %.5.idx293 = phi i64 [ %.5.add, %.lr.ph ], [ 0, %.critedge ] + %.0164293 = phi i32 [ %109, %.lr.ph ], [ 0, %.critedge ] + %.5.idx292 = phi i64 [ %.5.add, %.lr.ph ], [ 0, %.critedge ] %106 = zext nneg i8 %105 to i32 - %107 = mul i32 %.0164294, 10 + %107 = mul i32 %.0164293, 10 %108 = add i32 %107, -48 %109 = add i32 %108, %106 - %.5.add = add nuw nsw i64 %.5.idx293, 1 + %.5.add = add nuw nsw i64 %.5.idx292, 1 %.5.ptr = getelementptr inbounds i8, ptr %.4, i64 %.5.add %110 = load i8, ptr %.5.ptr, align 1 %111 = add i8 %110, -58 - %or.cond252 = icmp ult i8 %111, -10 - br i1 %or.cond252, label %._crit_edge, label %.lr.ph + %or.cond251 = icmp ult i8 %111, -10 + br i1 %or.cond251, label %._crit_edge, label %.lr.ph ._crit_edge: ; preds = %.lr.ph, %.critedge %.5.idx.lcssa = phi i64 [ 0, %.critedge ], [ %.5.add, %.lr.ph ] %.0164.lcssa = phi i32 [ 0, %.critedge ], [ %109, %.lr.ph ] - %.lcssa289 = phi i8 [ %103, %.critedge ], [ %110, %.lr.ph ] - %.not225 = icmp eq i8 %.lcssa289, 0 + %.lcssa288 = phi i8 [ %103, %.critedge ], [ %110, %.lr.ph ] + %.not225 = icmp eq i8 %.lcssa288, 0 br i1 %.not225, label %112, label %.thread 112: ; preds = %._crit_edge %.not226 = icmp samesign ult i64 %.5.idx.lcssa, 10 %.not227 = icmp ne i64 %.5.idx.lcssa, 10 %113 = icmp sgt i8 %98, 49 - %or.cond279 = or i1 %113, %.not227 - %spec.select280 = select i1 %or.cond279, i32 1999999998, i32 %.0164.lcssa - %.1165 = select i1 %.not226, i32 %.0164.lcssa, i32 %spec.select280 + %or.cond278 = or i1 %113, %.not227 + %spec.select279 = select i1 %or.cond278, i32 1999999998, i32 %.0164.lcssa + %.1165 = select i1 %.not226, i32 %.0164.lcssa, i32 %spec.select279 %114 = sub nsw i32 0, %.1165 - %spec.select253 = select i1 %.not229, i32 %114, i32 %.1165 + %spec.select252 = select i1 %.not229, i32 %114, i32 %.1165 br label %.sink.split .sink.split: ; preds = %82, %84, %112 @@ -1423,7 +1423,7 @@ decBiStr.exit: ; preds = %40, %50 %.3186.ph = phi ptr [ %.0183, %112 ], [ %.2185, %84 ], [ %.2185, %82 ] %.3182.ph = phi ptr [ %.0179, %112 ], [ %.2181.lcssa, %84 ], [ %.2181.lcssa, %82 ] %.2168.ph = phi i8 [ %.0166, %112 ], [ %64, %84 ], [ %64, %82 ] - %.0.ph = phi i32 [ %spec.select253, %112 ], [ 0, %84 ], [ 0, %82 ] + %.0.ph = phi i32 [ %spec.select252, %112 ], [ 0, %84 ], [ 0, %82 ] store i32 0, ptr %6, align 4 br label %115 @@ -1433,48 +1433,48 @@ decBiStr.exit: ; preds = %40, %50 %.3182 = phi ptr [ %.0179, %88 ], [ %.3182.ph, %.sink.split ] %.2168 = phi i8 [ %.0166, %88 ], [ %.2168.ph, %.sink.split ] %.0 = phi i32 [ 0, %88 ], [ %.0.ph, %.sink.split ] - %.3182324 = ptrtoint ptr %.3182 to i64 + %.3182323 = ptrtoint ptr %.3182 to i64 %116 = load i8, ptr %.3186, align 1 %117 = icmp eq i8 %116, 48 %118 = icmp ult ptr %.3186, %.3182 - %or.cond314 = and i1 %117, %118 - br i1 %or.cond314, label %.lr.ph308.preheader, label %.loopexit + %or.cond313 = and i1 %117, %118 + br i1 %or.cond313, label %.lr.ph307.preheader, label %.loopexit -.lr.ph308.preheader: ; preds = %115 - %.3186325 = ptrtoint ptr %.3186 to i64 - %119 = sub i64 %.3182324, %.3186325 +.lr.ph307.preheader: ; preds = %115 + %.3186324 = ptrtoint ptr %.3186 to i64 + %119 = sub i64 %.3182323, %.3186324 %scevgep = getelementptr i8, ptr %.3186, i64 %119 - br label %.lr.ph308 + br label %.lr.ph307 -.lr.ph308: ; preds = %.lr.ph308.preheader, %123 - %.6307 = phi ptr [ %124, %123 ], [ %.3186, %.lr.ph308.preheader ] - %.5196305 = phi i32 [ %.6197, %123 ], [ %.3194, %.lr.ph308.preheader ] - %120 = load i8, ptr %.6307, align 1 +.lr.ph307: ; preds = %.lr.ph307.preheader, %123 + %.6306 = phi ptr [ %124, %123 ], [ %.3186, %.lr.ph307.preheader ] + %.5196304 = phi i32 [ %.6197, %123 ], [ %.3194, %.lr.ph307.preheader ] + %120 = load i8, ptr %.6306, align 1 switch i8 %120, label %.loopexit [ i8 46, label %123 i8 48, label %121 ] -121: ; preds = %.lr.ph308 - %122 = add nsw i32 %.5196305, -1 +121: ; preds = %.lr.ph307 + %122 = add nsw i32 %.5196304, -1 br label %123 -123: ; preds = %.lr.ph308, %121 - %.6197 = phi i32 [ %.5196305, %.lr.ph308 ], [ %122, %121 ] - %124 = getelementptr i8, ptr %.6307, i64 1 +123: ; preds = %.lr.ph307, %121 + %.6197 = phi i32 [ %.5196304, %.lr.ph307 ], [ %122, %121 ] + %124 = getelementptr i8, ptr %.6306, i64 1 %exitcond.not = icmp eq ptr %124, %scevgep - br i1 %exitcond.not, label %.loopexit, label %.lr.ph308, !llvm.loop !15 + br i1 %exitcond.not, label %.loopexit, label %.lr.ph307, !llvm.loop !15 -.loopexit: ; preds = %123, %.lr.ph308, %115 - %.4195 = phi i32 [ %.3194, %115 ], [ %.6197, %123 ], [ %.5196305, %.lr.ph308 ] - %.4187 = phi ptr [ %.3186, %115 ], [ %scevgep, %123 ], [ %.6307, %.lr.ph308 ] +.loopexit: ; preds = %123, %.lr.ph307, %115 + %.4195 = phi i32 [ %.3194, %115 ], [ %.6197, %123 ], [ %.5196304, %.lr.ph307 ] + %.4187 = phi ptr [ %.3186, %115 ], [ %scevgep, %123 ], [ %.6306, %.lr.ph307 ] %.not242 = icmp ne ptr %.0189, null %125 = icmp ult ptr %.0189, %.3182 - %or.cond254 = and i1 %.not242, %125 + %or.cond253 = and i1 %.not242, %125 %126 = ptrtoint ptr %.0189 to i64 - %.neg = sub i64 %126, %.3182324 + %.neg = sub i64 %126, %.3182323 %127 = trunc i64 %.neg to i32 - %128 = select i1 %or.cond254, i32 %127, i32 0 + %128 = select i1 %or.cond253, i32 %127, i32 0 %.2 = add i32 %128, %.0 %129 = load i32, ptr %2, align 4 %.not243 = icmp sgt i32 %.4195, %129 @@ -1486,9 +1486,9 @@ decBiStr.exit: ; preds = %40, %50 132: ; preds = %.loopexit %133 = icmp slt i32 %.4195, 50 - br i1 %133, label %136, label %.thread326 + br i1 %133, label %136, label %.thread325 -.thread326: ; preds = %132 +.thread325: ; preds = %132 %134 = add nuw nsw i32 %.4195, 2 %135 = udiv i32 %134, 3 br label %143 @@ -1500,25 +1500,25 @@ decBiStr.exit: ; preds = %40, %50 %140 = zext i8 %139 to i32 %141 = add nsw i64 %137, -46 %142 = icmp ult i64 %141, 4 - br i1 %142, label %143, label %.thread327 + br i1 %142, label %143, label %.thread326 -143: ; preds = %.thread326, %136 - %144 = phi i32 [ %135, %.thread326 ], [ %140, %136 ] +143: ; preds = %.thread325, %136 + %144 = phi i32 [ %135, %.thread325 ], [ %140, %136 ] %145 = shl nuw nsw i32 %144, 1 %146 = zext nneg i32 %145 to i64 %147 = tail call noalias ptr @malloc(i64 noundef %146) #19 %148 = icmp eq ptr %147, null - br i1 %148, label %.thread277, label %149 + br i1 %148, label %.thread276, label %149 149: ; preds = %143, %130 %.0200 = phi ptr [ %131, %130 ], [ %147, %143 ] %.1199 = phi ptr [ null, %130 ], [ %147, %143 ] %150 = icmp slt i32 %.4195, 50 - br i1 %150, label %.thread327, label %155 + br i1 %150, label %.thread326, label %155 -.thread327: ; preds = %136, %149 - %.1199333 = phi ptr [ %.1199, %149 ], [ null, %136 ] - %.0200331 = phi ptr [ %.0200, %149 ], [ %4, %136 ] +.thread326: ; preds = %136, %149 + %.1199332 = phi ptr [ %.1199, %149 ], [ null, %136 ] + %.0200330 = phi ptr [ %.0200, %149 ], [ %4, %136 ] %151 = sext i32 %.4195 to i64 %152 = getelementptr inbounds [50 x i8], ptr @d2utable, i64 0, i64 %151 %153 = load i8, ptr %152, align 1 @@ -1530,20 +1530,21 @@ decBiStr.exit: ; preds = %40, %50 %157 = udiv i32 %156, 3 br label %158 -158: ; preds = %155, %.thread327 - %.1199332 = phi ptr [ %.1199333, %.thread327 ], [ %.1199, %155 ] - %.0200330 = phi ptr [ %.0200331, %.thread327 ], [ %.0200, %155 ] - %159 = phi i32 [ %154, %.thread327 ], [ %157, %155 ] +158: ; preds = %155, %.thread326 + %.1199331 = phi ptr [ %.1199332, %.thread326 ], [ %.1199, %155 ] + %.0200329 = phi ptr [ %.0200330, %.thread326 ], [ %.0200, %155 ] + %159 = phi i32 [ %154, %.thread326 ], [ %157, %155 ] %160 = zext nneg i32 %159 to i64 - %161 = getelementptr inbounds i16, ptr %.0200330, i64 %160 + %161 = getelementptr inbounds i16, ptr %.0200329, i64 %160 %162 = getelementptr inbounds i8, ptr %161, i64 -2 %163 = ptrtoint ptr %162 to i64 - %164 = ptrtoint ptr %.0200330 to i64 + %164 = ptrtoint ptr %.0200329 to i64 %165 = sub i64 %163, %164 - %166 = lshr exact i64 %165, 1 - %167 = trunc i64 %166 to i32 - %168 = mul i32 %167, -3 - %169 = add i32 %168, %.4195 + %.fr = freeze i64 %165 + %166 = lshr exact i64 %.fr, 1 + %167 = add i64 %166, %.fr + %168 = trunc i64 %167 to i32 + %169 = sub i32 %.4195, %168 br label %170 170: ; preds = %185, %158 @@ -1595,15 +1596,15 @@ decBiStr.exit: ; preds = %40, %50 193: ; preds = %187 store i32 0, ptr %5, align 4 - call fastcc void @decSetCoeff(ptr noundef nonnull %0, ptr noundef nonnull %2, ptr noundef nonnull %.0200330, i32 noundef %.4195, ptr noundef %5, ptr noundef %6) - br label %.sink.split346 + call fastcc void @decSetCoeff(ptr noundef nonnull %0, ptr noundef nonnull %2, ptr noundef nonnull %.0200329, i32 noundef %.4195, ptr noundef %5, ptr noundef %6) + br label %.sink.split345 194: ; preds = %187 %195 = getelementptr inbounds i8, ptr %2, i64 8 %196 = load i32, ptr %195, align 4 %197 = sub nsw i32 %196, %.4195 - %.not245 = icmp sgt i32 %.2, %197 - br i1 %.not245, label %198, label %204 + %.not244 = icmp sgt i32 %.2, %197 + br i1 %.not244, label %198, label %204 198: ; preds = %194 %199 = add nsw i32 %.2, -1 @@ -1615,41 +1616,41 @@ decBiStr.exit: ; preds = %40, %50 204: ; preds = %198, %194 store i32 0, ptr %5, align 4 - br label %.sink.split346 + br label %.sink.split345 -.sink.split346: ; preds = %204, %193 +.sink.split345: ; preds = %204, %193 call fastcc void @decFinalize(ptr noundef nonnull %0, ptr noundef nonnull %2, ptr noundef %5, ptr noundef %6) br label %205 -205: ; preds = %.sink.split346, %198 - %.not246 = icmp eq ptr %.1199332, null - br i1 %.not246, label %.thread, label %206 +205: ; preds = %.sink.split345, %198 + %.not245 = icmp eq ptr %.1199331, null + br i1 %.not245, label %.thread, label %206 206: ; preds = %205 - call void @free(ptr noundef nonnull %.1199332) #18 + call void @free(ptr noundef nonnull %.1199331) #18 br label %.thread -.thread: ; preds = %69, %66, %63, %._crit_edge, %90, %84, %._crit_edge301, %206, %205 - %.pr271 = load i32, ptr %6, align 4 - %.not247 = icmp eq i32 %.pr271, 0 - br i1 %.not247, label %.thread.thread274, label %.thread.thread +.thread: ; preds = %69, %66, %63, %._crit_edge, %90, %84, %._crit_edge300, %206, %205 + %.pr270 = load i32, ptr %6, align 4 + %.not246 = icmp eq i32 %.pr270, 0 + br i1 %.not246, label %.thread.thread273, label %.thread.thread .thread.thread: ; preds = %.thread - %207 = and i32 %.pr271, 221 - %.not.i262 = icmp eq i32 %207, 0 - br i1 %.not.i262, label %decStatus.exit, label %208 + %207 = and i32 %.pr270, 221 + %.not.i261 = icmp eq i32 %207, 0 + br i1 %.not.i261, label %decStatus.exit, label %208 208: ; preds = %.thread.thread - %209 = and i32 %.pr271, 1073741824 + %209 = and i32 %.pr270, 1073741824 %.not6.i = icmp eq i32 %209, 0 - br i1 %.not6.i, label %.thread277, label %210 + br i1 %.not6.i, label %.thread276, label %210 210: ; preds = %208 - %211 = and i32 %.pr271, -1073741825 + %211 = and i32 %.pr270, -1073741825 br label %decStatus.exit -.thread277: ; preds = %143, %28, %89, %208 - %212 = phi i32 [ %.pr271, %208 ], [ 1, %89 ], [ 1, %28 ], [ 16, %143 ] +.thread276: ; preds = %143, %28, %89, %208 + %212 = phi i32 [ %.pr270, %208 ], [ 1, %89 ], [ 1, %28 ], [ 16, %143 ] %213 = getelementptr inbounds i8, ptr %0, i64 8 %214 = getelementptr inbounds i8, ptr %0, i64 4 store i32 0, ptr %214, align 4 @@ -1659,12 +1660,12 @@ decBiStr.exit: ; preds = %40, %50 store i8 32, ptr %213, align 4 br label %decStatus.exit -decStatus.exit: ; preds = %.thread.thread, %210, %.thread277 - %.0.i263 = phi i32 [ %211, %210 ], [ %212, %.thread277 ], [ %.pr271, %.thread.thread ] - %216 = call ptr @decContextSetStatus(ptr noundef %2, i32 noundef %.0.i263) #18 - br label %.thread.thread274 +decStatus.exit: ; preds = %.thread.thread, %210, %.thread276 + %.0.i262 = phi i32 [ %211, %210 ], [ %212, %.thread276 ], [ %.pr270, %.thread.thread ] + %216 = call ptr @decContextSetStatus(ptr noundef %2, i32 noundef %.0.i262) #18 + br label %.thread.thread273 -.thread.thread274: ; preds = %74, %decBiStr.exit, %decStatus.exit, %.thread +.thread.thread273: ; preds = %74, %decBiStr.exit, %decStatus.exit, %.thread ret ptr %0 } diff --git a/bench/linux/optimized/drbg.ll b/bench/linux/optimized/drbg.ll index 38c215ceb89..a7d502cbe54 100644 --- a/bench/linux/optimized/drbg.ll +++ b/bench/linux/optimized/drbg.ll @@ -816,6 +816,7 @@ define internal fastcc i32 @drbg_seed(ptr noundef %0, ptr noundef %1, i1 noundef %switch.select = select i1 %switch.selectcmp, i32 24, i32 32 %switch.selectcmp1 = icmp eq i32 %10, 8 %switch.select2 = select i1 %switch.selectcmp1, i32 16, i32 %switch.select + %switch.select2.fr = freeze i32 %switch.select2 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #12 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %6) #12 store ptr %6, ptr %6, align 8 @@ -845,9 +846,9 @@ define internal fastcc i32 @drbg_seed(ptr noundef %0, ptr noundef %1, i1 noundef br label %45 26: ; preds = %17 - %27 = lshr exact i32 %switch.select2, 1 - %28 = mul nuw nsw i32 %27, 3 - %29 = select i1 %2, i32 %switch.select2, i32 %28 + %27 = lshr exact i32 %switch.select2.fr, 1 + %28 = select i1 %2, i32 0, i32 %27 + %29 = add nuw nsw i32 %28, %switch.select2.fr %30 = call zeroext i1 @rng_is_initialized() #12 %31 = select i1 %30, i32 2, i32 1 %32 = zext nneg i32 %29 to i64 @@ -872,7 +873,7 @@ define internal fastcc i32 @drbg_seed(ptr noundef %0, ptr noundef %1, i1 noundef %.sink8 = phi ptr [ %4, %36 ], [ %23, %21 ], [ %4, %26 ] %.sink = phi i64 [ %38, %36 ], [ %25, %21 ], [ %32, %26 ] %46 = phi i32 [ %31, %36 ], [ 2, %21 ], [ %31, %26 ] - %47 = phi i32 [ %29, %36 ], [ %switch.select2, %21 ], [ %29, %26 ] + %47 = phi i32 [ %29, %36 ], [ %switch.select2.fr, %21 ], [ %29, %26 ] store ptr %.sink8, ptr %5, align 8 %48 = getelementptr inbounds i8, ptr %5, i64 8 store i64 %.sink, ptr %48, align 8 diff --git a/bench/llama.cpp/optimized/ggml.c.ll b/bench/llama.cpp/optimized/ggml.c.ll index 6495fcbc35e..9fcbed1e7ae 100644 --- a/bench/llama.cpp/optimized/ggml.c.ll +++ b/bench/llama.cpp/optimized/ggml.c.ll @@ -58077,9 +58077,10 @@ entry: if.end: ; preds = %entry %arrayidx = getelementptr inbounds i8, ptr %dst, i64 88 %1 = load i32, ptr %arrayidx, align 4 + %.fr = freeze i32 %1 %arrayidx5 = getelementptr inbounds i8, ptr %dst, i64 92 %2 = load i32, ptr %arrayidx5, align 4 - %.fr = freeze i32 %2 + %.fr489 = freeze i32 %2 %arrayidx8 = getelementptr inbounds i8, ptr %dst, i64 96 %3 = load i32, ptr %arrayidx8, align 4 %arrayidx11 = getelementptr inbounds i8, ptr %dst, i64 100 @@ -58107,7 +58108,7 @@ if.end: ; preds = %entry %8 = load i64, ptr %arrayidx42, align 8 %ne43 = getelementptr inbounds i8, ptr %dst, i64 16 %9 = load i64, ptr %ne43, align 8 - %.fr489 = freeze i64 %9 + %.fr490 = freeze i64 %9 %arrayidx46 = getelementptr inbounds i8, ptr %dst, i64 24 %10 = load i64, ptr %arrayidx46, align 8 %arrayidx48 = getelementptr inbounds i8, ptr %dst, i64 32 @@ -58142,8 +58143,8 @@ do.end: ; preds = %if.end %mul.i = mul nsw i64 %11, %10 %mul5.i = mul nsw i64 %mul.i, %12 %conv = trunc i64 %mul5.i to i32 - %conv67 = sext i32 %1 to i64 - %cmp68.not = icmp slt i64 %.fr489, %conv67 + %conv67 = sext i32 %.fr to i64 + %cmp68.not = icmp slt i64 %.fr490, %conv67 br i1 %cmp68.not, label %if.then70, label %do.body75 if.then70: ; preds = %do.end @@ -58156,7 +58157,7 @@ if.then70: ; preds = %do.end unreachable do.body75: ; preds = %do.end - %23 = and i32 %1, 1 + %23 = and i32 %.fr, 1 %cmp76 = icmp eq i32 %23, 0 br i1 %cmp76, label %do.end82, label %if.then78 @@ -58176,11 +58177,11 @@ do.end82: ; preds = %do.body75 %mul = mul nsw i32 %div, %19 %add83 = add nsw i32 %mul, %div %cond = tail call i32 @llvm.smin.i32(i32 %add83, i32 %conv) - %conv87 = sitofp i32 %1 to float + %conv87 = sitofp i32 %.fr to float %div88 = fdiv float -2.000000e+00, %conv87 %call89 = tail call float @powf(float noundef %freq_base.0.copyload, float noundef %div88) #45 %div91 = fdiv float -1.000000e+00, %conv87 - call void @ggml_rope_yarn_corr_dims(i32 noundef %1, i32 noundef %4, float noundef %freq_base.0.copyload, float noundef %beta_fast.0.copyload, float noundef %beta_slow.0.copyload, ptr noundef nonnull %corr_dims) + call void @ggml_rope_yarn_corr_dims(i32 noundef %.fr, i32 noundef %4, float noundef %freq_base.0.copyload, float noundef %beta_fast.0.copyload, float noundef %beta_slow.0.copyload, ptr noundef nonnull %corr_dims) %cond99 = select i1 %forward, float 1.000000e+00, float -1.000000e+00 %data = getelementptr inbounds i8, ptr %src1, i64 280 %26 = load ptr, ptr %data, align 8 @@ -58188,20 +58189,20 @@ do.end82: ; preds = %do.body75 br i1 %cmp100406, label %for.cond102.preheader.lr.ph, label %for.end392 for.cond102.preheader.lr.ph: ; preds = %do.end82 - %and = and i32 %.fr, 2 + %and = and i32 %.fr489, 2 %tobool.not = icmp eq i32 %and, 0 %cmp103349 = icmp sgt i64 %11, 0 %sub123 = add nsw i32 %3, -2 %conv124 = sext i32 %sub123 to i64 - %div148 = sdiv i64 %.fr489, 4 - %cmp149223 = icmp sgt i64 %.fr489, 3 + %div148 = sdiv i64 %.fr490, 4 + %cmp149223 = icmp sgt i64 %.fr490, 3 %data160 = getelementptr inbounds i8, ptr %src0, i64 280 %data169 = getelementptr inbounds i8, ptr %dst, i64 280 - %div180 = ashr exact i32 %1, 1 + %div180 = ashr exact i32 %.fr, 1 %idxprom = sext i32 %div180 to i64 - %mul187 = mul nsw i32 %div180, 3 + %mul187 = add nsw i32 %div180, %.fr %idxprom188 = sext i32 %mul187 to i64 - %cmp307227 = icmp sgt i32 %1, 0 + %cmp307227 = icmp sgt i32 %.fr, 0 %cmp.i182 = fcmp une float %ext_factor.0.copyload.fr, 0.000000e+00 %27 = getelementptr inbounds i8, ptr %corr_dims, i64 4 %corr_dims.val168 = load float, ptr %27, align 4 @@ -58210,13 +58211,13 @@ for.cond102.preheader.lr.ph: ; preds = %do.end82 %cmp.i.i195 = fcmp olt float %sub1.i.i194, 0x3F50624DE0000000 %cond.i.i196 = select i1 %cmp.i.i195, float 0x3F50624DE0000000, float %sub1.i.i194 %div.i206 = fdiv float 1.000000e+00, %freq_scale.0.copyload - %cmp239272 = icmp sgt i64 %.fr489, 0 + %cmp239272 = icmp sgt i64 %.fr490, 0 %cmp109275 = icmp sgt i64 %10, 0 %or.cond = select i1 %cmp103349, i1 %cmp109275, i1 false br i1 %or.cond, label %for.cond102.preheader.lr.ph.split.us.split.us, label %for.end392 for.cond102.preheader.lr.ph.split.us.split.us: ; preds = %for.cond102.preheader.lr.ph - %and94 = and i32 %.fr, 4 + %and94 = and i32 %.fr489, 4 %tobool95.not = icmp eq i32 %and94, 0 br i1 %tobool95.not, label %for.cond102.preheader.lr.ph.split.us.split.us.split.us, label %for.cond102.preheader.lr.ph.split.us.split.us.split @@ -58255,8 +58256,8 @@ for.body105.us.us.us.us.us.us.us.us.us.us.us: ; preds = %for.inc387.us.us.us for.inc387.us.us.us.us.us.us.us.us.us.us.us: ; preds = %for.inc384.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, %if.end115.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us %inc.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.lcssa = phi i32 [ %31, %for.inc384.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us ], [ %inc.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, %if.end115.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us ] %inc388.us.us.us.us.us.us.us.us.us.us.us = add nuw nsw i64 %i2.0350.us.us.us.us.us.us.us.us.us.us.us, 1 - %exitcond512.not = icmp eq i64 %inc388.us.us.us.us.us.us.us.us.us.us.us, %11 - br i1 %exitcond512.not, label %for.cond102.for.inc390_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us.us.us.us, label %for.body105.us.us.us.us.us.us.us.us.us.us.us, !llvm.loop !843 + %exitcond513.not = icmp eq i64 %inc388.us.us.us.us.us.us.us.us.us.us.us, %11 + br i1 %exitcond513.not, label %for.cond102.for.inc390_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us.us.us.us, label %for.body105.us.us.us.us.us.us.us.us.us.us.us, !llvm.loop !843 for.body111.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us: ; preds = %for.inc384.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, %for.body105.us.us.us.us.us.us.us.us.us.us.us %ir.2277.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us = phi i32 [ %ir.1351.us.us.us.us.us.us.us.us.us.us.us, %for.body105.us.us.us.us.us.us.us.us.us.us.us ], [ %inc.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, %for.inc384.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us ] @@ -58276,8 +58277,8 @@ if.end119.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us: ; preds = %if.end115.us. for.inc384.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us: ; preds = %for.body241.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, %for.body111.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us %inc385.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us = add nuw nsw i64 %i1.0276.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, 1 - %exitcond511.not = icmp eq i64 %inc385.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, %10 - br i1 %exitcond511.not, label %for.inc387.us.us.us.us.us.us.us.us.us.us.us, label %for.body111.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, !llvm.loop !844 + %exitcond512.not = icmp eq i64 %inc385.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, %10 + br i1 %exitcond512.not, label %for.inc387.us.us.us.us.us.us.us.us.us.us.us, label %for.body111.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, !llvm.loop !844 for.body241.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us: ; preds = %for.body241.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, %if.end119.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us %theta_base.1274.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us = phi float [ %conv120.us.us.us.us.us.us.us.us.us.us.us, %if.end119.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us ], [ %mul246.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, %for.body241.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us ] @@ -58342,13 +58343,13 @@ for.body241.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us: ; preds = %for.body %arrayidx293.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us = getelementptr inbounds i8, ptr %add.ptr266.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, i64 2 store i16 %vecext292.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, ptr %arrayidx293.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, align 2 %add295.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us = add nuw nsw i64 %i0237.0273.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, 2 - %cmp239.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us = icmp slt i64 %add295.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, %.fr489 + %cmp239.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us = icmp slt i64 %add295.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, %.fr490 br i1 %cmp239.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, label %for.body241.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, label %for.inc384.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, !llvm.loop !845 for.cond102.for.inc390_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us.us.us.us: ; preds = %for.inc387.us.us.us.us.us.us.us.us.us.us.us %inc391.us.us.us.us.us.us = add nuw nsw i64 %i3.0407.us.us.us.us.us.us, 1 - %exitcond513.not = icmp eq i64 %inc391.us.us.us.us.us.us, %12 - br i1 %exitcond513.not, label %for.end392, label %for.cond102.preheader.us.us.us.us.us.us, !llvm.loop !846 + %exitcond514.not = icmp eq i64 %inc391.us.us.us.us.us.us, %12 + br i1 %exitcond514.not, label %for.end392, label %for.cond102.preheader.us.us.us.us.us.us, !llvm.loop !846 for.cond102.preheader.us.us.us.us.us: ; preds = %for.cond102.preheader.lr.ph.split.us.split.us.split.us.split.us.split.us, %for.cond102.for.inc390_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us483.us %ir.0408.us.us.us.us.us = phi i32 [ %inc.us.us.us.us.us.us.us.us438.us.us.us.us.lcssa, %for.cond102.for.inc390_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us483.us ], [ 0, %for.cond102.preheader.lr.ph.split.us.split.us.split.us.split.us.split.us ] @@ -58371,8 +58372,8 @@ for.body105.us.us.us.us.us.us.us.us472.us: ; preds = %for.cond102.prehead for.inc387.us.us.us.us.us.us.us.us479.us: ; preds = %for.inc384.us.us.us.us.us.us.us.us445.us.us.us.us, %if.end115.us.us.us.us.us.us.us.us440.us.us.us.us %inc.us.us.us.us.us.us.us.us438.us.us.us.us.lcssa = phi i32 [ %46, %for.inc384.us.us.us.us.us.us.us.us445.us.us.us.us ], [ %inc.us.us.us.us.us.us.us.us438.us.us.us.us, %if.end115.us.us.us.us.us.us.us.us440.us.us.us.us ] %inc388.us.us.us.us.us.us.us.us481.us = add nuw nsw i64 %i2.0350.us.us.us.us.us.us.us.us474.us, 1 - %exitcond509.not = icmp eq i64 %inc388.us.us.us.us.us.us.us.us481.us, %11 - br i1 %exitcond509.not, label %for.cond102.for.inc390_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us483.us, label %for.body105.us.us.us.us.us.us.us.us472.us, !llvm.loop !843 + %exitcond510.not = icmp eq i64 %inc388.us.us.us.us.us.us.us.us481.us, %11 + br i1 %exitcond510.not, label %for.cond102.for.inc390_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us483.us, label %for.body105.us.us.us.us.us.us.us.us472.us, !llvm.loop !843 for.body111.us.us.us.us.us.us.us.us435.us.us.us.us: ; preds = %for.inc384.us.us.us.us.us.us.us.us445.us.us.us.us, %for.body105.us.us.us.us.us.us.us.us472.us %ir.2277.us.us.us.us.us.us.us.us436.us.us.us.us = phi i32 [ %ir.1351.us.us.us.us.us.us.us.us473.us, %for.body105.us.us.us.us.us.us.us.us472.us ], [ %inc.us.us.us.us.us.us.us.us438.us.us.us.us, %for.inc384.us.us.us.us.us.us.us.us445.us.us.us.us ] @@ -58436,18 +58437,18 @@ for.body241.us.us.us311.us.us.us.us.us.us.us.us.us: ; preds = %for.body241.us.us %arrayidx293.us.us.us342.us.us.us.us.us.us.us.us.us = getelementptr inbounds i8, ptr %add.ptr266.us.us.us330.us.us.us.us.us.us.us.us.us, i64 2 store i16 %vecext292.us.us.us341.us.us.us.us.us.us.us.us.us, ptr %arrayidx293.us.us.us342.us.us.us.us.us.us.us.us.us, align 2 %add295.us.us.us343.us.us.us.us.us.us.us.us.us = add nuw nsw i64 %i0237.0273.us.us.us313.us.us.us.us.us.us.us.us.us, 2 - %cmp239.us.us.us344.us.us.us.us.us.us.us.us.us = icmp slt i64 %add295.us.us.us343.us.us.us.us.us.us.us.us.us, %.fr489 + %cmp239.us.us.us344.us.us.us.us.us.us.us.us.us = icmp slt i64 %add295.us.us.us343.us.us.us.us.us.us.us.us.us, %.fr490 br i1 %cmp239.us.us.us344.us.us.us.us.us.us.us.us.us, label %for.body241.us.us.us311.us.us.us.us.us.us.us.us.us, label %for.inc384.us.us.us.us.us.us.us.us445.us.us.us.us, !llvm.loop !845 for.inc384.us.us.us.us.us.us.us.us445.us.us.us.us: ; preds = %for.body241.us.us.us311.us.us.us.us.us.us.us.us.us, %for.body111.us.us.us.us.us.us.us.us435.us.us.us.us %inc385.us.us.us.us.us.us.us.us446.us.us.us.us = add nuw nsw i64 %i1.0276.us.us.us.us.us.us.us.us437.us.us.us.us, 1 - %exitcond508.not = icmp eq i64 %inc385.us.us.us.us.us.us.us.us446.us.us.us.us, %10 - br i1 %exitcond508.not, label %for.inc387.us.us.us.us.us.us.us.us479.us, label %for.body111.us.us.us.us.us.us.us.us435.us.us.us.us, !llvm.loop !844 + %exitcond509.not = icmp eq i64 %inc385.us.us.us.us.us.us.us.us446.us.us.us.us, %10 + br i1 %exitcond509.not, label %for.inc387.us.us.us.us.us.us.us.us479.us, label %for.body111.us.us.us.us.us.us.us.us435.us.us.us.us, !llvm.loop !844 for.cond102.for.inc390_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us483.us: ; preds = %for.inc387.us.us.us.us.us.us.us.us479.us %inc391.us.us.us.us.us = add nuw nsw i64 %i3.0407.us.us.us.us.us, 1 - %exitcond510.not = icmp eq i64 %inc391.us.us.us.us.us, %12 - br i1 %exitcond510.not, label %for.end392, label %for.cond102.preheader.us.us.us.us.us, !llvm.loop !846 + %exitcond511.not = icmp eq i64 %inc391.us.us.us.us.us, %12 + br i1 %exitcond511.not, label %for.end392, label %for.cond102.preheader.us.us.us.us.us, !llvm.loop !846 for.cond102.preheader.us.us.us: ; preds = %for.cond102.preheader.us.us.us.preheader, %for.cond102.for.inc390_crit_edge.split.us.us.us.split.us.us.split %ir.0408.us.us.us = phi i32 [ %inc.us.us372.us.us.us.us.lcssa, %for.cond102.for.inc390_crit_edge.split.us.us.us.split.us.us.split ], [ 0, %for.cond102.preheader.us.us.us.preheader ] @@ -58471,8 +58472,8 @@ for.body105.us.us.us.us.us: ; preds = %for.inc387.us.us.us for.inc387.us.us.us.us.us: ; preds = %for.inc384.us.us377.us.us.us.us, %if.end115.us.us374.us.us.us.us %inc.us.us372.us.us.us.us.lcssa = phi i32 [ %59, %for.inc384.us.us377.us.us.us.us ], [ %inc.us.us372.us.us.us.us, %if.end115.us.us374.us.us.us.us ] %inc388.us.us.us.us.us = add nuw nsw i64 %i2.0350.us.us.us.us.us, 1 - %exitcond505.not = icmp eq i64 %inc388.us.us.us.us.us, %11 - br i1 %exitcond505.not, label %for.cond102.for.inc390_crit_edge.split.us.us.us.split.us.us.split, label %for.body105.us.us.us.us.us, !llvm.loop !843 + %exitcond506.not = icmp eq i64 %inc388.us.us.us.us.us, %11 + br i1 %exitcond506.not, label %for.cond102.for.inc390_crit_edge.split.us.us.us.split.us.us.split, label %for.body105.us.us.us.us.us, !llvm.loop !843 for.body111.us.us369.us.us.us.us: ; preds = %for.body105.us.us.us.us.us, %for.inc384.us.us377.us.us.us.us %ir.2277.us.us370.us.us.us.us = phi i32 [ %ir.1351.us.us.us.us.us, %for.body105.us.us.us.us.us ], [ %inc.us.us372.us.us.us.us, %for.inc384.us.us377.us.us.us.us ] @@ -58486,14 +58487,14 @@ if.end115.us.us374.us.us.us.us: ; preds = %for.body111.us.us36 br i1 %cmp116.not.us.us375.us.us.us.us, label %if.end119.us.us376.us.us.us.us, label %for.inc387.us.us.us.us.us if.end119.us.us376.us.us.us.us: ; preds = %if.end115.us.us374.us.us.us.us - %div301.us.us.us.us.us.us = sdiv i64 %.fr489, %conv67 + %div301.us.us.us.us.us.us = sdiv i64 %.fr490, %conv67 %cmp302230.us.us.us.us.us.us = icmp sgt i64 %div301.us.us.us.us.us.us, 0 br i1 %cmp302230.us.us.us.us.us.us, label %for.cond305.preheader.lr.ph.us.us.us.us.us.us, label %for.inc384.us.us377.us.us.us.us for.inc384.us.us377.us.us.us.us: ; preds = %for.cond305.for.inc379_crit_edge.split.us269.us.us.us.us.us.us, %for.cond305.for.inc379_crit_edge.split.us.us.us.us.us.us.us.us.us, %for.cond305.preheader.lr.ph.us.us.us.us.us.us, %if.end119.us.us376.us.us.us.us, %for.body111.us.us369.us.us.us.us %inc385.us.us378.us.us.us.us = add nuw nsw i64 %i1.0276.us.us371.us.us.us.us, 1 - %exitcond504.not = icmp eq i64 %inc385.us.us378.us.us.us.us, %10 - br i1 %exitcond504.not, label %for.inc387.us.us.us.us.us, label %for.body111.us.us369.us.us.us.us, !llvm.loop !844 + %exitcond505.not = icmp eq i64 %inc385.us.us378.us.us.us.us, %10 + br i1 %exitcond505.not, label %for.inc387.us.us.us.us.us, label %for.body111.us.us369.us.us.us.us, !llvm.loop !844 for.cond305.preheader.lr.ph.us.us.us.us.us.us: ; preds = %if.end119.us.us376.us.us.us.us %mul331.us.us.us.us.us.us = mul i64 %i1.0276.us.us371.us.us.us.us, %6 @@ -58562,8 +58563,8 @@ for.body309.us233.us.us.us.us.us.us: ; preds = %for.body309.us233.u for.cond305.for.inc379_crit_edge.split.us269.us.us.us.us.us.us: ; preds = %for.body309.us233.us.us.us.us.us.us %inc380.us.us289.us.us.us.us.us = add nuw nsw i64 %ib.0231.us.us287.us.us.us.us.us, 1 - %exitcond502.not = icmp eq i64 %inc380.us.us289.us.us.us.us.us, %div301.us.us.us.us.us.us - br i1 %exitcond502.not, label %for.inc384.us.us377.us.us.us.us, label %for.cond305.preheader.us.us285.us.us.us.us.us, !llvm.loop !848 + %exitcond503.not = icmp eq i64 %inc380.us.us289.us.us.us.us.us, %div301.us.us.us.us.us.us + br i1 %exitcond503.not, label %for.inc384.us.us377.us.us.us.us, label %for.cond305.preheader.us.us285.us.us.us.us.us, !llvm.loop !848 for.cond305.preheader.us.us.us.us.us.us.us.us: ; preds = %for.cond305.preheader.lr.ph.split.us.us.us.us.us.us.us, %for.cond305.for.inc379_crit_edge.split.us.us.us.us.us.us.us.us.us %theta_base.2232.us.us.us.us.us.us.us.us = phi float [ %mul319.us.us.us.us.us.us.us.us.us, %for.cond305.for.inc379_crit_edge.split.us.us.us.us.us.us.us.us.us ], [ %mul298.us.us.us.us.us, %for.cond305.preheader.lr.ph.split.us.us.us.us.us.us.us ] @@ -58646,13 +58647,13 @@ for.body309.us.us.us.us.us.us.us.us.us: ; preds = %for.body309.us.us.u for.cond305.for.inc379_crit_edge.split.us.us.us.us.us.us.us.us.us: ; preds = %for.body309.us.us.us.us.us.us.us.us.us %inc380.us.us.us.us.us.us.us.us = add nuw nsw i64 %ib.0231.us.us.us.us.us.us.us.us, 1 - %exitcond503.not = icmp eq i64 %inc380.us.us.us.us.us.us.us.us, %div301.us.us.us.us.us.us - br i1 %exitcond503.not, label %for.inc384.us.us377.us.us.us.us, label %for.cond305.preheader.us.us.us.us.us.us.us.us, !llvm.loop !848 + %exitcond504.not = icmp eq i64 %inc380.us.us.us.us.us.us.us.us, %div301.us.us.us.us.us.us + br i1 %exitcond504.not, label %for.inc384.us.us377.us.us.us.us, label %for.cond305.preheader.us.us.us.us.us.us.us.us, !llvm.loop !848 for.cond102.for.inc390_crit_edge.split.us.us.us.split.us.us.split: ; preds = %for.inc387.us.us.us.us.us %inc391.us.us.us = add nuw nsw i64 %i3.0407.us.us.us, 1 - %exitcond506.not = icmp eq i64 %inc391.us.us.us, %12 - br i1 %exitcond506.not, label %for.end392, label %for.cond102.preheader.us.us.us, !llvm.loop !846 + %exitcond507.not = icmp eq i64 %inc391.us.us.us, %12 + br i1 %exitcond507.not, label %for.end392, label %for.cond102.preheader.us.us.us, !llvm.loop !846 for.cond102.preheader.lr.ph.split.us.split.us.split: ; preds = %for.cond102.preheader.lr.ph.split.us.split.us br i1 %cmp149223, label %for.cond102.preheader.us.us.us453.preheader, label %for.end392 @@ -58687,8 +58688,8 @@ for.body105.us.us.us.us415.us: ; preds = %for.inc387.us.us.us for.inc387.us.us.us.us427.us: ; preds = %for.inc384.us302.us.us.us.us.us, %if.end115.us299.us.us.us.us.us %inc.us297.us.us.us.us.us.lcssa = phi i32 [ %87, %for.inc384.us302.us.us.us.us.us ], [ %inc.us297.us.us.us.us.us, %if.end115.us299.us.us.us.us.us ] %inc388.us.us.us.us429.us = add nuw nsw i64 %i2.0350.us.us.us.us417.us, 1 - %exitcond500.not = icmp eq i64 %inc388.us.us.us.us429.us, %11 - br i1 %exitcond500.not, label %for.cond102.for.inc390_crit_edge.split.us.us.us.split.split.us.us, label %for.body105.us.us.us.us415.us, !llvm.loop !843 + %exitcond501.not = icmp eq i64 %inc388.us.us.us.us429.us, %11 + br i1 %exitcond501.not, label %for.cond102.for.inc390_crit_edge.split.us.us.us.split.split.us.us, label %for.body105.us.us.us.us415.us, !llvm.loop !843 for.body111.us294.us.us.us.us.us: ; preds = %for.inc384.us302.us.us.us.us.us, %for.body105.us.us.us.us415.us %ir.2277.us295.us.us.us.us.us = phi i32 [ %ir.1351.us.us.us.us416.us, %for.body105.us.us.us.us415.us ], [ %inc.us297.us.us.us.us.us, %for.inc384.us302.us.us.us.us.us ] @@ -58784,13 +58785,13 @@ for.body151.us.us.us.us.us.us: ; preds = %for.body151.us.us.u for.inc384.us302.us.us.us.us.us: ; preds = %for.body151.us.us.us.us.us.us, %for.body111.us294.us.us.us.us.us %inc385.us303.us.us.us.us.us = add nuw nsw i64 %i1.0276.us296.us.us.us.us.us, 1 - %exitcond499.not = icmp eq i64 %inc385.us303.us.us.us.us.us, %10 - br i1 %exitcond499.not, label %for.inc387.us.us.us.us427.us, label %for.body111.us294.us.us.us.us.us, !llvm.loop !844 + %exitcond500.not = icmp eq i64 %inc385.us303.us.us.us.us.us, %10 + br i1 %exitcond500.not, label %for.inc387.us.us.us.us427.us, label %for.body111.us294.us.us.us.us.us, !llvm.loop !844 for.cond102.for.inc390_crit_edge.split.us.us.us.split.split.us.us: ; preds = %for.inc387.us.us.us.us427.us %inc391.us.us.us458 = add nuw nsw i64 %i3.0407.us.us.us455, 1 - %exitcond501.not = icmp eq i64 %inc391.us.us.us458, %12 - br i1 %exitcond501.not, label %for.end392, label %for.cond102.preheader.us.us.us453, !llvm.loop !846 + %exitcond502.not = icmp eq i64 %inc391.us.us.us458, %12 + br i1 %exitcond502.not, label %for.end392, label %for.cond102.preheader.us.us.us453, !llvm.loop !846 for.end392: ; preds = %for.cond102.for.inc390_crit_edge.split.us.us.us.split.split.us.us, %for.cond102.for.inc390_crit_edge.split.us.us.us.split.us.us.split, %for.cond102.for.inc390_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us483.us, %for.cond102.for.inc390_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us.us.us.us, %for.cond102.preheader.lr.ph.split.us.split.us.split, %for.cond102.preheader.lr.ph.split.us.split.us.split.us.split.us, %for.cond102.preheader.lr.ph, %do.end82, %entry, %entry ret void @@ -58809,9 +58810,10 @@ entry: if.end: ; preds = %entry %arrayidx = getelementptr inbounds i8, ptr %dst, i64 88 %1 = load i32, ptr %arrayidx, align 4 + %.fr = freeze i32 %1 %arrayidx5 = getelementptr inbounds i8, ptr %dst, i64 92 %2 = load i32, ptr %arrayidx5, align 4 - %.fr = freeze i32 %2 + %.fr692 = freeze i32 %2 %arrayidx8 = getelementptr inbounds i8, ptr %dst, i64 96 %3 = load i32, ptr %arrayidx8, align 4 %arrayidx11 = getelementptr inbounds i8, ptr %dst, i64 100 @@ -58844,7 +58846,7 @@ if.end: ; preds = %entry %8 = load i64, ptr %arrayidx48, align 8 %ne49 = getelementptr inbounds i8, ptr %dst, i64 16 %9 = load i64, ptr %ne49, align 8 - %.fr692 = freeze i64 %9 + %.fr693 = freeze i64 %9 %arrayidx52 = getelementptr inbounds i8, ptr %dst, i64 24 %10 = load i64, ptr %arrayidx52, align 8 %arrayidx54 = getelementptr inbounds i8, ptr %dst, i64 32 @@ -58879,8 +58881,8 @@ do.end: ; preds = %if.end %mul.i = mul nsw i64 %11, %10 %mul5.i = mul nsw i64 %mul.i, %12 %conv = trunc i64 %mul5.i to i32 - %conv73 = sext i32 %1 to i64 - %cmp74.not = icmp slt i64 %.fr692, %conv73 + %conv73 = sext i32 %.fr to i64 + %cmp74.not = icmp slt i64 %.fr693, %conv73 br i1 %cmp74.not, label %if.then76, label %do.body81 if.then76: ; preds = %do.end @@ -58893,7 +58895,7 @@ if.then76: ; preds = %do.end unreachable do.body81: ; preds = %do.end - %23 = and i32 %1, 1 + %23 = and i32 %.fr, 1 %cmp82 = icmp eq i32 %23, 0 br i1 %cmp82, label %do.end88, label %if.then84 @@ -58913,11 +58915,11 @@ do.end88: ; preds = %do.body81 %mul = mul nsw i32 %div, %19 %add89 = add nsw i32 %mul, %div %cond = tail call i32 @llvm.smin.i32(i32 %add89, i32 %conv) - %conv93 = sitofp i32 %1 to float + %conv93 = sitofp i32 %.fr to float %div94 = fdiv float -2.000000e+00, %conv93 %call95 = tail call float @powf(float noundef %freq_base.0.copyload, float noundef %div94) #45 %div97 = fdiv float -1.000000e+00, %conv93 - call void @ggml_rope_yarn_corr_dims(i32 noundef %1, i32 noundef %4, float noundef %freq_base.0.copyload, float noundef %beta_fast.0.copyload, float noundef %beta_slow.0.copyload, ptr noundef nonnull %corr_dims) + call void @ggml_rope_yarn_corr_dims(i32 noundef %.fr, i32 noundef %4, float noundef %freq_base.0.copyload, float noundef %beta_fast.0.copyload, float noundef %beta_slow.0.copyload, ptr noundef nonnull %corr_dims) %cond105 = select i1 %forward, float 1.000000e+00, float -1.000000e+00 %data = getelementptr inbounds i8, ptr %src1, i64 280 %26 = load ptr, ptr %data, align 8 @@ -58925,20 +58927,20 @@ do.end88: ; preds = %do.body81 br i1 %cmp106398, label %for.cond108.preheader.lr.ph, label %for.end361 for.cond108.preheader.lr.ph: ; preds = %do.end88 - %and = and i32 %.fr, 2 + %and = and i32 %.fr692, 2 %tobool.not = icmp eq i32 %and, 0 %cmp109341 = icmp sgt i64 %11, 0 %sub129 = add nsw i32 %3, -2 %conv130 = sext i32 %sub129 to i64 - %div154 = sdiv i64 %.fr692, 4 - %cmp155219 = icmp sgt i64 %.fr692, 3 + %div154 = sdiv i64 %.fr693, 4 + %cmp155219 = icmp sgt i64 %.fr693, 3 %data166 = getelementptr inbounds i8, ptr %src0, i64 280 %data175 = getelementptr inbounds i8, ptr %dst, i64 280 - %div185 = ashr exact i32 %1, 1 + %div185 = ashr exact i32 %.fr, 1 %idxprom = sext i32 %div185 to i64 - %mul190 = mul nsw i32 %div185, 3 + %mul190 = add nsw i32 %div185, %.fr %idxprom191 = sext i32 %mul190 to i64 - %cmp292223 = icmp sgt i32 %1, 0 + %cmp292223 = icmp sgt i32 %.fr, 0 %cmp.i183 = fcmp une float %ext_factor.0.copyload.fr, 0.000000e+00 %27 = getelementptr inbounds i8, ptr %corr_dims, i64 4 %corr_dims.val180 = load float, ptr %27, align 4 @@ -58947,9 +58949,9 @@ for.cond108.preheader.lr.ph: ; preds = %do.end88 %cmp.i.i196 = fcmp olt float %sub1.i.i195, 0x3F50624DE0000000 %cond.i.i197 = select i1 %cmp.i.i196, float 0x3F50624DE0000000, float %sub1.i.i195 %div.i207 = fdiv float 1.000000e+00, %freq_scale.0.copyload - %cmp217260 = icmp sgt i64 %.fr692, 0 + %cmp217260 = icmp sgt i64 %.fr693, 0 %cmp224 = fcmp une float %xpos_base.0.copyload.fr, 0.000000e+00 - %conv228 = sitofp i64 %.fr692 to float + %conv228 = sitofp i64 %.fr693 to float %mul231 = fmul float %conv228, 0x3FF6666660000000 %xpos_down.0.copyload.fr = freeze i8 %xpos_down.0.copyload %tobool239 = trunc i8 %xpos_down.0.copyload.fr to i1 @@ -58958,7 +58960,7 @@ for.cond108.preheader.lr.ph: ; preds = %do.end88 br i1 %or.cond, label %for.cond108.preheader.lr.ph.split.us.split.us, label %for.end361 for.cond108.preheader.lr.ph.split.us.split.us: ; preds = %for.cond108.preheader.lr.ph - %and100 = and i32 %.fr, 4 + %and100 = and i32 %.fr692, 4 %tobool101.not = icmp eq i32 %and100, 0 br i1 %tobool101.not, label %for.cond108.preheader.lr.ph.split.us.split.us.split.us, label %for.cond108.preheader.lr.ph.split.us.split.us.split @@ -59001,8 +59003,8 @@ for.body111.us.us.us.us.us.us.us.us.us.us.us.us.us: ; preds = %for.inc356.us.us. for.inc356.us.us.us.us.us.us.us.us.us.us.us.us.us: ; preds = %for.inc353.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, %if.end121.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us %inc.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.lcssa = phi i32 [ %31, %for.inc353.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us ], [ %inc.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, %if.end121.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us ] %inc357.us.us.us.us.us.us.us.us.us.us.us.us.us = add nuw nsw i64 %i2.0342.us.us.us.us.us.us.us.us.us.us.us.us.us, 1 - %exitcond727.not = icmp eq i64 %inc357.us.us.us.us.us.us.us.us.us.us.us.us.us, %11 - br i1 %exitcond727.not, label %for.cond108.for.inc359_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us.us.us.split.us.us.us, label %for.body111.us.us.us.us.us.us.us.us.us.us.us.us.us, !llvm.loop !850 + %exitcond728.not = icmp eq i64 %inc357.us.us.us.us.us.us.us.us.us.us.us.us.us, %11 + br i1 %exitcond728.not, label %for.cond108.for.inc359_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us.us.us.split.us.us.us, label %for.body111.us.us.us.us.us.us.us.us.us.us.us.us.us, !llvm.loop !850 for.body117.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us: ; preds = %for.inc353.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, %for.body111.us.us.us.us.us.us.us.us.us.us.us.us.us %ir.2265.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us = phi i32 [ %ir.1343.us.us.us.us.us.us.us.us.us.us.us.us.us, %for.body111.us.us.us.us.us.us.us.us.us.us.us.us.us ], [ %inc.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, %for.inc353.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us ] @@ -59022,8 +59024,8 @@ if.end125.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us: ; preds = %if.e for.inc353.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us: ; preds = %for.body219.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, %for.body117.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us %inc354.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us = add nuw nsw i64 %i1.0264.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, 1 - %exitcond726.not = icmp eq i64 %inc354.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, %10 - br i1 %exitcond726.not, label %for.inc356.us.us.us.us.us.us.us.us.us.us.us.us.us, label %for.body117.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, !llvm.loop !851 + %exitcond727.not = icmp eq i64 %inc354.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, %10 + br i1 %exitcond727.not, label %for.inc356.us.us.us.us.us.us.us.us.us.us.us.us.us, label %for.body117.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, !llvm.loop !851 for.body219.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us: ; preds = %for.body219.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, %if.end125.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us %theta_base.1262.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us = phi float [ %conv126.us.us.us.us.us.us.us.us.us.us.us.us.us, %if.end125.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us ], [ %mul243.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, %for.body219.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us ] @@ -59086,13 +59088,13 @@ for.body219.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us: ; preds %arrayidx278.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us = getelementptr inbounds i8, ptr %add.ptr263.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, i64 4 store float %41, ptr %arrayidx278.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, align 4 %add280.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us = add nuw nsw i64 %i0215.0261.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, 2 - %cmp217.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us = icmp slt i64 %add280.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, %.fr692 + %cmp217.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us = icmp slt i64 %add280.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, %.fr693 br i1 %cmp217.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, label %for.body219.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, label %for.inc353.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, !llvm.loop !852 for.cond108.for.inc359_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us.us.us.split.us.us.us: ; preds = %for.inc356.us.us.us.us.us.us.us.us.us.us.us.us.us %inc360.us.us.us.us.us.us.us = add nuw nsw i64 %i3.0399.us.us.us.us.us.us.us, 1 - %exitcond728.not = icmp eq i64 %inc360.us.us.us.us.us.us.us, %12 - br i1 %exitcond728.not, label %for.end361, label %for.cond108.preheader.us.us.us.us.us.us.us, !llvm.loop !853 + %exitcond729.not = icmp eq i64 %inc360.us.us.us.us.us.us.us, %12 + br i1 %exitcond729.not, label %for.end361, label %for.cond108.preheader.us.us.us.us.us.us.us, !llvm.loop !853 for.cond108.preheader.us.us.us.us.us.us: ; preds = %for.cond108.preheader.lr.ph.split.us.split.us.split.us.split.us.split.us.split.us, %for.cond108.for.inc359_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us.us.us.split.us678 %ir.0400.us.us.us.us.us.us = phi i32 [ %inc.us.us.us.us.us.us.us.us.us.us.us.us591.us.us.us.lcssa, %for.cond108.for.inc359_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us.us.us.split.us678 ], [ 0, %for.cond108.preheader.lr.ph.split.us.split.us.split.us.split.us.split.us.split.us ] @@ -59115,8 +59117,8 @@ for.body111.us.us.us.us.us.us.us.us.us.us.us667: ; preds = %for.cond108.prehead for.inc356.us.us.us.us.us.us.us.us.us.us.us674: ; preds = %for.inc353.us.us.us.us.us.us.us.us.us.us.us.us598.us.us.us, %if.end121.us.us.us.us.us.us.us.us.us.us.us.us593.us.us.us %inc.us.us.us.us.us.us.us.us.us.us.us.us591.us.us.us.lcssa = phi i32 [ %43, %for.inc353.us.us.us.us.us.us.us.us.us.us.us.us598.us.us.us ], [ %inc.us.us.us.us.us.us.us.us.us.us.us.us591.us.us.us, %if.end121.us.us.us.us.us.us.us.us.us.us.us.us593.us.us.us ] %inc357.us.us.us.us.us.us.us.us.us.us.us676 = add nuw nsw i64 %i2.0342.us.us.us.us.us.us.us.us.us.us.us669, 1 - %exitcond724.not = icmp eq i64 %inc357.us.us.us.us.us.us.us.us.us.us.us676, %11 - br i1 %exitcond724.not, label %for.cond108.for.inc359_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us.us.us.split.us678, label %for.body111.us.us.us.us.us.us.us.us.us.us.us667, !llvm.loop !850 + %exitcond725.not = icmp eq i64 %inc357.us.us.us.us.us.us.us.us.us.us.us676, %11 + br i1 %exitcond725.not, label %for.cond108.for.inc359_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us.us.us.split.us678, label %for.body111.us.us.us.us.us.us.us.us.us.us.us667, !llvm.loop !850 for.body117.us.us.us.us.us.us.us.us.us.us.us.us588.us.us.us: ; preds = %for.inc353.us.us.us.us.us.us.us.us.us.us.us.us598.us.us.us, %for.body111.us.us.us.us.us.us.us.us.us.us.us667 %ir.2265.us.us.us.us.us.us.us.us.us.us.us.us589.us.us.us = phi i32 [ %ir.1343.us.us.us.us.us.us.us.us.us.us.us668, %for.body111.us.us.us.us.us.us.us.us.us.us.us667 ], [ %inc.us.us.us.us.us.us.us.us.us.us.us.us591.us.us.us, %for.inc353.us.us.us.us.us.us.us.us.us.us.us.us598.us.us.us ] @@ -59136,8 +59138,8 @@ if.end125.us.us.us.us.us.us.us.us.us.us.us.us595.us.us.us: ; preds = %if.end121. for.inc353.us.us.us.us.us.us.us.us.us.us.us.us598.us.us.us: ; preds = %for.body219.us.us.us.us.us.us.us.us.us.us445.us.us.us.us.us.us, %for.body117.us.us.us.us.us.us.us.us.us.us.us.us588.us.us.us %inc354.us.us.us.us.us.us.us.us.us.us.us.us599.us.us.us = add nuw nsw i64 %i1.0264.us.us.us.us.us.us.us.us.us.us.us.us590.us.us.us, 1 - %exitcond723.not = icmp eq i64 %inc354.us.us.us.us.us.us.us.us.us.us.us.us599.us.us.us, %10 - br i1 %exitcond723.not, label %for.inc356.us.us.us.us.us.us.us.us.us.us.us674, label %for.body117.us.us.us.us.us.us.us.us.us.us.us.us588.us.us.us, !llvm.loop !851 + %exitcond724.not = icmp eq i64 %inc354.us.us.us.us.us.us.us.us.us.us.us.us599.us.us.us, %10 + br i1 %exitcond724.not, label %for.inc356.us.us.us.us.us.us.us.us.us.us.us674, label %for.body117.us.us.us.us.us.us.us.us.us.us.us.us588.us.us.us, !llvm.loop !851 for.body219.us.us.us.us.us.us.us.us.us.us445.us.us.us.us.us.us: ; preds = %for.body219.us.us.us.us.us.us.us.us.us.us445.us.us.us.us.us.us, %if.end125.us.us.us.us.us.us.us.us.us.us.us.us595.us.us.us %theta_base.1262.us.us.us.us.us.us.us.us.us.us446.us.us.us.us.us.us = phi float [ %conv126.us.us.us.us.us.us.us.us.us.us.us671, %if.end125.us.us.us.us.us.us.us.us.us.us.us.us595.us.us.us ], [ %mul243.us.us.us.us.us.us.us.us.us.us469.us.us.us.us.us.us, %for.body219.us.us.us.us.us.us.us.us.us.us445.us.us.us.us.us.us ] @@ -59191,13 +59193,13 @@ for.body219.us.us.us.us.us.us.us.us.us.us445.us.us.us.us.us.us: ; preds = %for.b %arrayidx278.us.us.us.us.us.us.us.us.us.us486.us.us.us.us.us.us = getelementptr inbounds i8, ptr %add.ptr263.us.us.us.us.us.us.us.us.us.us479.us.us.us.us.us.us, i64 4 store float %52, ptr %arrayidx278.us.us.us.us.us.us.us.us.us.us486.us.us.us.us.us.us, align 4 %add280.us.us.us.us.us.us.us.us.us.us487.us.us.us.us.us.us = add nuw nsw i64 %i0215.0261.us.us.us.us.us.us.us.us.us.us447.us.us.us.us.us.us, 2 - %cmp217.us.us.us.us.us.us.us.us.us.us488.us.us.us.us.us.us = icmp slt i64 %add280.us.us.us.us.us.us.us.us.us.us487.us.us.us.us.us.us, %.fr692 + %cmp217.us.us.us.us.us.us.us.us.us.us488.us.us.us.us.us.us = icmp slt i64 %add280.us.us.us.us.us.us.us.us.us.us487.us.us.us.us.us.us, %.fr693 br i1 %cmp217.us.us.us.us.us.us.us.us.us.us488.us.us.us.us.us.us, label %for.body219.us.us.us.us.us.us.us.us.us.us445.us.us.us.us.us.us, label %for.inc353.us.us.us.us.us.us.us.us.us.us.us.us598.us.us.us, !llvm.loop !852 for.cond108.for.inc359_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us.us.us.split.us678: ; preds = %for.inc356.us.us.us.us.us.us.us.us.us.us.us674 %inc360.us.us.us.us.us.us = add nuw nsw i64 %i3.0399.us.us.us.us.us.us, 1 - %exitcond725.not = icmp eq i64 %inc360.us.us.us.us.us.us, %12 - br i1 %exitcond725.not, label %for.end361, label %for.cond108.preheader.us.us.us.us.us.us, !llvm.loop !853 + %exitcond726.not = icmp eq i64 %inc360.us.us.us.us.us.us, %12 + br i1 %exitcond726.not, label %for.end361, label %for.cond108.preheader.us.us.us.us.us.us, !llvm.loop !853 for.cond108.preheader.lr.ph.split.us.split.us.split.us.split.us.split.us.split: ; preds = %for.cond108.preheader.lr.ph.split.us.split.us.split.us.split.us.split.us br i1 %cmp224, label %for.cond108.preheader.lr.ph.split.us.split.us.split.us.split.us.split.us.split.split.us, label %for.cond108.preheader.us.us.us.us.us @@ -59227,8 +59229,8 @@ for.body111.us.us.us.us.us.us.us.us617.us.us.us.us.us: ; preds = %for.inc356.us. for.inc356.us.us.us.us.us.us.us.us625.us.us.us.us.us: ; preds = %for.inc353.us.us.us.us.us.us.us.us437.us.us.us.us.us.us.us.us.us.us, %if.end121.us.us.us.us.us.us.us.us432.us.us.us.us.us.us.us.us.us.us %inc.us.us.us.us.us.us.us.us430.us.us.us.us.us.us.us.us.us.us.lcssa = phi i32 [ %54, %for.inc353.us.us.us.us.us.us.us.us437.us.us.us.us.us.us.us.us.us.us ], [ %inc.us.us.us.us.us.us.us.us430.us.us.us.us.us.us.us.us.us.us, %if.end121.us.us.us.us.us.us.us.us432.us.us.us.us.us.us.us.us.us.us ] %inc357.us.us.us.us.us.us.us.us627.us.us.us.us.us = add nuw nsw i64 %i2.0342.us.us.us.us.us.us.us.us619.us.us.us.us.us, 1 - %exitcond721.not = icmp eq i64 %inc357.us.us.us.us.us.us.us.us627.us.us.us.us.us, %11 - br i1 %exitcond721.not, label %for.cond108.for.inc359_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us629.split.us.us.us.split.us.us, label %for.body111.us.us.us.us.us.us.us.us617.us.us.us.us.us, !llvm.loop !850 + %exitcond722.not = icmp eq i64 %inc357.us.us.us.us.us.us.us.us627.us.us.us.us.us, %11 + br i1 %exitcond722.not, label %for.cond108.for.inc359_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us629.split.us.us.us.split.us.us, label %for.body111.us.us.us.us.us.us.us.us617.us.us.us.us.us, !llvm.loop !850 for.body117.us.us.us.us.us.us.us.us427.us.us.us.us.us.us.us.us.us.us: ; preds = %for.inc353.us.us.us.us.us.us.us.us437.us.us.us.us.us.us.us.us.us.us, %for.body111.us.us.us.us.us.us.us.us617.us.us.us.us.us %ir.2265.us.us.us.us.us.us.us.us428.us.us.us.us.us.us.us.us.us.us = phi i32 [ %ir.1343.us.us.us.us.us.us.us.us618.us.us.us.us.us, %for.body111.us.us.us.us.us.us.us.us617.us.us.us.us.us ], [ %inc.us.us.us.us.us.us.us.us430.us.us.us.us.us.us.us.us.us.us, %for.inc353.us.us.us.us.us.us.us.us437.us.us.us.us.us.us.us.us.us.us ] @@ -59248,8 +59250,8 @@ if.end125.us.us.us.us.us.us.us.us434.us.us.us.us.us.us.us.us.us.us: ; preds = %i for.inc353.us.us.us.us.us.us.us.us437.us.us.us.us.us.us.us.us.us.us: ; preds = %for.body219.us.us.us299.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, %for.body117.us.us.us.us.us.us.us.us427.us.us.us.us.us.us.us.us.us.us %inc354.us.us.us.us.us.us.us.us438.us.us.us.us.us.us.us.us.us.us = add nuw nsw i64 %i1.0264.us.us.us.us.us.us.us.us429.us.us.us.us.us.us.us.us.us.us, 1 - %exitcond720.not = icmp eq i64 %inc354.us.us.us.us.us.us.us.us438.us.us.us.us.us.us.us.us.us.us, %10 - br i1 %exitcond720.not, label %for.inc356.us.us.us.us.us.us.us.us625.us.us.us.us.us, label %for.body117.us.us.us.us.us.us.us.us427.us.us.us.us.us.us.us.us.us.us, !llvm.loop !851 + %exitcond721.not = icmp eq i64 %inc354.us.us.us.us.us.us.us.us438.us.us.us.us.us.us.us.us.us.us, %10 + br i1 %exitcond721.not, label %for.inc356.us.us.us.us.us.us.us.us625.us.us.us.us.us, label %for.body117.us.us.us.us.us.us.us.us427.us.us.us.us.us.us.us.us.us.us, !llvm.loop !851 for.body219.us.us.us299.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us: ; preds = %for.body219.us.us.us299.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, %if.end125.us.us.us.us.us.us.us.us434.us.us.us.us.us.us.us.us.us.us %theta_base.1262.us.us.us300.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us = phi float [ %conv126.us.us.us.us.us.us.us.us621.us.us.us.us.us, %if.end125.us.us.us.us.us.us.us.us434.us.us.us.us.us.us.us.us.us.us ], [ %mul243.us.us.us316.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, %for.body219.us.us.us299.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us ] @@ -59294,13 +59296,13 @@ for.body219.us.us.us299.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us: ; pr %arrayidx278.us.us.us334.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us = getelementptr inbounds i8, ptr %add.ptr263.us.us.us326.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, i64 4 store float %62, ptr %arrayidx278.us.us.us334.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, align 4 %add280.us.us.us335.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us = add nuw nsw i64 %i0215.0261.us.us.us301.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, 2 - %cmp217.us.us.us336.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us = icmp slt i64 %add280.us.us.us335.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, %.fr692 + %cmp217.us.us.us336.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us = icmp slt i64 %add280.us.us.us335.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, %.fr693 br i1 %cmp217.us.us.us336.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, label %for.body219.us.us.us299.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us.us, label %for.inc353.us.us.us.us.us.us.us.us437.us.us.us.us.us.us.us.us.us.us, !llvm.loop !852 for.cond108.for.inc359_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us629.split.us.us.us.split.us.us: ; preds = %for.inc356.us.us.us.us.us.us.us.us625.us.us.us.us.us %inc360.us.us.us.us.us.us686.us = add nuw nsw i64 %i3.0399.us.us.us.us.us.us683.us, 1 - %exitcond722.not = icmp eq i64 %inc360.us.us.us.us.us.us686.us, %12 - br i1 %exitcond722.not, label %for.end361, label %for.cond108.preheader.us.us.us.us.us.us681.us, !llvm.loop !853 + %exitcond723.not = icmp eq i64 %inc360.us.us.us.us.us.us686.us, %12 + br i1 %exitcond723.not, label %for.end361, label %for.cond108.preheader.us.us.us.us.us.us681.us, !llvm.loop !853 for.cond108.preheader.us.us.us.us.us.us681: ; preds = %for.cond108.preheader.lr.ph.split.us.split.us.split.us.split.us.split.us.split.split.us, %for.cond108.for.inc359_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us629.split.us.us.us.split %ir.0400.us.us.us.us.us.us682 = phi i32 [ %inc.us.us.us.us.us.us.us.us430.us.us.us.us.us636.us.us.lcssa, %for.cond108.for.inc359_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us629.split.us.us.us.split ], [ 0, %for.cond108.preheader.lr.ph.split.us.split.us.split.us.split.us.split.us.split.split.us ] @@ -59324,8 +59326,8 @@ for.body111.us.us.us.us.us.us.us.us617.us.us.us: ; preds = %for.inc356.us.us.us for.inc356.us.us.us.us.us.us.us.us625.us.us.us: ; preds = %for.inc353.us.us.us.us.us.us.us.us437.us.us.us.us.us643.us.us, %if.end121.us.us.us.us.us.us.us.us432.us.us.us.us.us638.us.us %inc.us.us.us.us.us.us.us.us430.us.us.us.us.us636.us.us.lcssa = phi i32 [ %64, %for.inc353.us.us.us.us.us.us.us.us437.us.us.us.us.us643.us.us ], [ %inc.us.us.us.us.us.us.us.us430.us.us.us.us.us636.us.us, %if.end121.us.us.us.us.us.us.us.us432.us.us.us.us.us638.us.us ] %inc357.us.us.us.us.us.us.us.us627.us.us.us = add nuw nsw i64 %i2.0342.us.us.us.us.us.us.us.us619.us.us.us, 1 - %exitcond718.not = icmp eq i64 %inc357.us.us.us.us.us.us.us.us627.us.us.us, %11 - br i1 %exitcond718.not, label %for.cond108.for.inc359_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us629.split.us.us.us.split, label %for.body111.us.us.us.us.us.us.us.us617.us.us.us, !llvm.loop !850 + %exitcond719.not = icmp eq i64 %inc357.us.us.us.us.us.us.us.us627.us.us.us, %11 + br i1 %exitcond719.not, label %for.cond108.for.inc359_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us629.split.us.us.us.split, label %for.body111.us.us.us.us.us.us.us.us617.us.us.us, !llvm.loop !850 for.body117.us.us.us.us.us.us.us.us427.us.us.us.us.us633.us.us: ; preds = %for.body111.us.us.us.us.us.us.us.us617.us.us.us, %for.inc353.us.us.us.us.us.us.us.us437.us.us.us.us.us643.us.us %ir.2265.us.us.us.us.us.us.us.us428.us.us.us.us.us634.us.us = phi i32 [ %ir.1343.us.us.us.us.us.us.us.us618.us.us.us, %for.body111.us.us.us.us.us.us.us.us617.us.us.us ], [ %inc.us.us.us.us.us.us.us.us430.us.us.us.us.us636.us.us, %for.inc353.us.us.us.us.us.us.us.us437.us.us.us.us.us643.us.us ] @@ -59345,8 +59347,8 @@ if.end125.us.us.us.us.us.us.us.us434.us.us.us.us.us640.us.us: ; preds = %if.end1 for.inc353.us.us.us.us.us.us.us.us437.us.us.us.us.us643.us.us: ; preds = %for.body219.us.us.us299.us.us.us.us.us.us.us.us.us549.us.us.us.us, %for.body117.us.us.us.us.us.us.us.us427.us.us.us.us.us633.us.us %inc354.us.us.us.us.us.us.us.us438.us.us.us.us.us644.us.us = add nuw nsw i64 %i1.0264.us.us.us.us.us.us.us.us429.us.us.us.us.us635.us.us, 1 - %exitcond717.not = icmp eq i64 %inc354.us.us.us.us.us.us.us.us438.us.us.us.us.us644.us.us, %10 - br i1 %exitcond717.not, label %for.inc356.us.us.us.us.us.us.us.us625.us.us.us, label %for.body117.us.us.us.us.us.us.us.us427.us.us.us.us.us633.us.us, !llvm.loop !851 + %exitcond718.not = icmp eq i64 %inc354.us.us.us.us.us.us.us.us438.us.us.us.us.us644.us.us, %10 + br i1 %exitcond718.not, label %for.inc356.us.us.us.us.us.us.us.us625.us.us.us, label %for.body117.us.us.us.us.us.us.us.us427.us.us.us.us.us633.us.us, !llvm.loop !851 for.body219.us.us.us299.us.us.us.us.us.us.us.us.us549.us.us.us.us: ; preds = %for.body219.us.us.us299.us.us.us.us.us.us.us.us.us549.us.us.us.us, %if.end125.us.us.us.us.us.us.us.us434.us.us.us.us.us640.us.us %theta_base.1262.us.us.us300.us.us.us.us.us.us.us.us.us550.us.us.us.us = phi float [ %conv126.us.us.us.us.us.us.us.us621.us.us.us, %if.end125.us.us.us.us.us.us.us.us434.us.us.us.us.us640.us.us ], [ %mul243.us.us.us316.us.us.us.us.us.us.us.us.us561.us.us.us.us, %for.body219.us.us.us299.us.us.us.us.us.us.us.us.us549.us.us.us.us ] @@ -59390,13 +59392,13 @@ for.body219.us.us.us299.us.us.us.us.us.us.us.us.us549.us.us.us.us: ; preds = %fo %arrayidx278.us.us.us334.us.us.us.us.us.us.us.us.us579.us.us.us.us = getelementptr inbounds i8, ptr %add.ptr263.us.us.us326.us.us.us.us.us.us.us.us.us571.us.us.us.us, i64 4 store float %72, ptr %arrayidx278.us.us.us334.us.us.us.us.us.us.us.us.us579.us.us.us.us, align 4 %add280.us.us.us335.us.us.us.us.us.us.us.us.us580.us.us.us.us = add nuw nsw i64 %i0215.0261.us.us.us301.us.us.us.us.us.us.us.us.us551.us.us.us.us, 2 - %cmp217.us.us.us336.us.us.us.us.us.us.us.us.us581.us.us.us.us = icmp slt i64 %add280.us.us.us335.us.us.us.us.us.us.us.us.us580.us.us.us.us, %.fr692 + %cmp217.us.us.us336.us.us.us.us.us.us.us.us.us581.us.us.us.us = icmp slt i64 %add280.us.us.us335.us.us.us.us.us.us.us.us.us580.us.us.us.us, %.fr693 br i1 %cmp217.us.us.us336.us.us.us.us.us.us.us.us.us581.us.us.us.us, label %for.body219.us.us.us299.us.us.us.us.us.us.us.us.us549.us.us.us.us, label %for.inc353.us.us.us.us.us.us.us.us437.us.us.us.us.us643.us.us, !llvm.loop !852 for.cond108.for.inc359_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us629.split.us.us.us.split: ; preds = %for.inc356.us.us.us.us.us.us.us.us625.us.us.us %inc360.us.us.us.us.us.us686 = add nuw nsw i64 %i3.0399.us.us.us.us.us.us683, 1 - %exitcond719.not = icmp eq i64 %inc360.us.us.us.us.us.us686, %12 - br i1 %exitcond719.not, label %for.end361, label %for.cond108.preheader.us.us.us.us.us.us681, !llvm.loop !853 + %exitcond720.not = icmp eq i64 %inc360.us.us.us.us.us.us686, %12 + br i1 %exitcond720.not, label %for.end361, label %for.cond108.preheader.us.us.us.us.us.us681, !llvm.loop !853 for.cond108.preheader.us.us.us.us.us: ; preds = %for.cond108.preheader.lr.ph.split.us.split.us.split.us.split.us.split.us.split, %for.cond108.for.inc359_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us629.split.us664 %ir.0400.us.us.us.us.us = phi i32 [ %inc.us.us.us.us.us.us.us.us430.us.us534.us.us.lcssa, %for.cond108.for.inc359_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us629.split.us664 ], [ 0, %for.cond108.preheader.lr.ph.split.us.split.us.split.us.split.us.split.us.split ] @@ -59419,8 +59421,8 @@ for.body111.us.us.us.us.us.us.us.us617.us653: ; preds = %for.cond108.prehead for.inc356.us.us.us.us.us.us.us.us625.us660: ; preds = %for.inc353.us.us.us.us.us.us.us.us437.us.us541.us.us, %if.end121.us.us.us.us.us.us.us.us432.us.us536.us.us %inc.us.us.us.us.us.us.us.us430.us.us534.us.us.lcssa = phi i32 [ %74, %for.inc353.us.us.us.us.us.us.us.us437.us.us541.us.us ], [ %inc.us.us.us.us.us.us.us.us430.us.us534.us.us, %if.end121.us.us.us.us.us.us.us.us432.us.us536.us.us ] %inc357.us.us.us.us.us.us.us.us627.us662 = add nuw nsw i64 %i2.0342.us.us.us.us.us.us.us.us619.us655, 1 - %exitcond715.not = icmp eq i64 %inc357.us.us.us.us.us.us.us.us627.us662, %11 - br i1 %exitcond715.not, label %for.cond108.for.inc359_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us629.split.us664, label %for.body111.us.us.us.us.us.us.us.us617.us653, !llvm.loop !850 + %exitcond716.not = icmp eq i64 %inc357.us.us.us.us.us.us.us.us627.us662, %11 + br i1 %exitcond716.not, label %for.cond108.for.inc359_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us629.split.us664, label %for.body111.us.us.us.us.us.us.us.us617.us653, !llvm.loop !850 for.body117.us.us.us.us.us.us.us.us427.us.us531.us.us: ; preds = %for.inc353.us.us.us.us.us.us.us.us437.us.us541.us.us, %for.body111.us.us.us.us.us.us.us.us617.us653 %ir.2265.us.us.us.us.us.us.us.us428.us.us532.us.us = phi i32 [ %ir.1343.us.us.us.us.us.us.us.us618.us654, %for.body111.us.us.us.us.us.us.us.us617.us653 ], [ %inc.us.us.us.us.us.us.us.us430.us.us534.us.us, %for.inc353.us.us.us.us.us.us.us.us437.us.us541.us.us ] @@ -59473,18 +59475,18 @@ for.body219.us.us.us299.us.us.us.us.us.us498.us.us.us: ; preds = %for.body219.us %arrayidx278.us.us.us334.us.us.us.us.us.us524.us.us.us = getelementptr inbounds i8, ptr %add.ptr263.us.us.us326.us.us.us.us.us.us517.us.us.us, i64 4 store float %81, ptr %arrayidx278.us.us.us334.us.us.us.us.us.us524.us.us.us, align 4 %add280.us.us.us335.us.us.us.us.us.us525.us.us.us = add nuw nsw i64 %i0215.0261.us.us.us301.us.us.us.us.us.us500.us.us.us, 2 - %cmp217.us.us.us336.us.us.us.us.us.us526.us.us.us = icmp slt i64 %add280.us.us.us335.us.us.us.us.us.us525.us.us.us, %.fr692 + %cmp217.us.us.us336.us.us.us.us.us.us526.us.us.us = icmp slt i64 %add280.us.us.us335.us.us.us.us.us.us525.us.us.us, %.fr693 br i1 %cmp217.us.us.us336.us.us.us.us.us.us526.us.us.us, label %for.body219.us.us.us299.us.us.us.us.us.us498.us.us.us, label %for.inc353.us.us.us.us.us.us.us.us437.us.us541.us.us, !llvm.loop !852 for.inc353.us.us.us.us.us.us.us.us437.us.us541.us.us: ; preds = %for.body219.us.us.us299.us.us.us.us.us.us498.us.us.us, %for.body117.us.us.us.us.us.us.us.us427.us.us531.us.us %inc354.us.us.us.us.us.us.us.us438.us.us542.us.us = add nuw nsw i64 %i1.0264.us.us.us.us.us.us.us.us429.us.us533.us.us, 1 - %exitcond714.not = icmp eq i64 %inc354.us.us.us.us.us.us.us.us438.us.us542.us.us, %10 - br i1 %exitcond714.not, label %for.inc356.us.us.us.us.us.us.us.us625.us660, label %for.body117.us.us.us.us.us.us.us.us427.us.us531.us.us, !llvm.loop !851 + %exitcond715.not = icmp eq i64 %inc354.us.us.us.us.us.us.us.us438.us.us542.us.us, %10 + br i1 %exitcond715.not, label %for.inc356.us.us.us.us.us.us.us.us625.us660, label %for.body117.us.us.us.us.us.us.us.us427.us.us531.us.us, !llvm.loop !851 for.cond108.for.inc359_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us629.split.us664: ; preds = %for.inc356.us.us.us.us.us.us.us.us625.us660 %inc360.us.us.us.us.us = add nuw nsw i64 %i3.0399.us.us.us.us.us, 1 - %exitcond716.not = icmp eq i64 %inc360.us.us.us.us.us, %12 - br i1 %exitcond716.not, label %for.end361, label %for.cond108.preheader.us.us.us.us.us, !llvm.loop !853 + %exitcond717.not = icmp eq i64 %inc360.us.us.us.us.us, %12 + br i1 %exitcond717.not, label %for.end361, label %for.cond108.preheader.us.us.us.us.us, !llvm.loop !853 for.cond108.preheader.us.us.us: ; preds = %for.cond108.preheader.us.us.us.preheader, %for.cond108.for.inc359_crit_edge.split.us.us.us.split.us.us.split %ir.0400.us.us.us = phi i32 [ %inc.us.us364.us.us.us.us.lcssa, %for.cond108.for.inc359_crit_edge.split.us.us.us.split.us.us.split ], [ 0, %for.cond108.preheader.us.us.us.preheader ] @@ -59508,8 +59510,8 @@ for.body111.us.us.us.us.us: ; preds = %for.inc356.us.us.us for.inc356.us.us.us.us.us: ; preds = %for.inc353.us.us369.us.us.us.us, %if.end121.us.us366.us.us.us.us %inc.us.us364.us.us.us.us.lcssa = phi i32 [ %83, %for.inc353.us.us369.us.us.us.us ], [ %inc.us.us364.us.us.us.us, %if.end121.us.us366.us.us.us.us ] %inc357.us.us.us.us.us = add nuw nsw i64 %i2.0342.us.us.us.us.us, 1 - %exitcond711.not = icmp eq i64 %inc357.us.us.us.us.us, %11 - br i1 %exitcond711.not, label %for.cond108.for.inc359_crit_edge.split.us.us.us.split.us.us.split, label %for.body111.us.us.us.us.us, !llvm.loop !850 + %exitcond712.not = icmp eq i64 %inc357.us.us.us.us.us, %11 + br i1 %exitcond712.not, label %for.cond108.for.inc359_crit_edge.split.us.us.us.split.us.us.split, label %for.body111.us.us.us.us.us, !llvm.loop !850 for.body117.us.us361.us.us.us.us: ; preds = %for.body111.us.us.us.us.us, %for.inc353.us.us369.us.us.us.us %ir.2265.us.us362.us.us.us.us = phi i32 [ %ir.1343.us.us.us.us.us, %for.body111.us.us.us.us.us ], [ %inc.us.us364.us.us.us.us, %for.inc353.us.us369.us.us.us.us ] @@ -59523,14 +59525,14 @@ if.end121.us.us366.us.us.us.us: ; preds = %for.body117.us.us36 br i1 %cmp122.not.us.us367.us.us.us.us, label %if.end125.us.us368.us.us.us.us, label %for.inc356.us.us.us.us.us if.end125.us.us368.us.us.us.us: ; preds = %if.end121.us.us366.us.us.us.us - %div286.us.us.us.us.us.us = sdiv i64 %.fr692, %conv73 + %div286.us.us.us.us.us.us = sdiv i64 %.fr693, %conv73 %cmp287226.us.us.us.us.us.us = icmp sgt i64 %div286.us.us.us.us.us.us, 0 br i1 %cmp287226.us.us.us.us.us.us, label %for.cond290.preheader.lr.ph.us.us.us.us.us.us, label %for.inc353.us.us369.us.us.us.us for.inc353.us.us369.us.us.us.us: ; preds = %for.cond290.for.inc348_crit_edge.split.us257.us.us.us.us.us.us, %for.cond290.for.inc348_crit_edge.split.us.us.us.us.us.us.us.us.us, %for.cond290.preheader.lr.ph.us.us.us.us.us.us, %if.end125.us.us368.us.us.us.us, %for.body117.us.us361.us.us.us.us %inc354.us.us370.us.us.us.us = add nuw nsw i64 %i1.0264.us.us363.us.us.us.us, 1 - %exitcond710.not = icmp eq i64 %inc354.us.us370.us.us.us.us, %10 - br i1 %exitcond710.not, label %for.inc356.us.us.us.us.us, label %for.body117.us.us361.us.us.us.us, !llvm.loop !851 + %exitcond711.not = icmp eq i64 %inc354.us.us370.us.us.us.us, %10 + br i1 %exitcond711.not, label %for.inc356.us.us.us.us.us, label %for.body117.us.us361.us.us.us.us, !llvm.loop !851 for.cond290.preheader.lr.ph.us.us.us.us.us.us: ; preds = %if.end125.us.us368.us.us.us.us %mul316.us.us.us.us.us.us = mul i64 %i1.0264.us.us363.us.us.us.us, %6 @@ -59587,8 +59589,8 @@ for.body294.us229.us.us.us.us.us.us: ; preds = %for.body294.us229.u for.cond290.for.inc348_crit_edge.split.us257.us.us.us.us.us.us: ; preds = %for.body294.us229.us.us.us.us.us.us %inc349.us.us277.us.us.us.us.us = add nuw nsw i64 %ib.0227.us.us275.us.us.us.us.us, 1 - %exitcond708.not = icmp eq i64 %inc349.us.us277.us.us.us.us.us, %div286.us.us.us.us.us.us - br i1 %exitcond708.not, label %for.inc353.us.us369.us.us.us.us, label %for.cond290.preheader.us.us273.us.us.us.us.us, !llvm.loop !855 + %exitcond709.not = icmp eq i64 %inc349.us.us277.us.us.us.us.us, %div286.us.us.us.us.us.us + br i1 %exitcond709.not, label %for.inc353.us.us369.us.us.us.us, label %for.cond290.preheader.us.us273.us.us.us.us.us, !llvm.loop !855 for.cond290.preheader.us.us.us.us.us.us.us.us: ; preds = %for.cond290.preheader.lr.ph.split.us.us.us.us.us.us.us, %for.cond290.for.inc348_crit_edge.split.us.us.us.us.us.us.us.us.us %theta_base.2228.us.us.us.us.us.us.us.us = phi float [ %mul304.us.us.us.us.us.us.us.us.us, %for.cond290.for.inc348_crit_edge.split.us.us.us.us.us.us.us.us.us ], [ %mul283.us.us.us.us.us, %for.cond290.preheader.lr.ph.split.us.us.us.us.us.us.us ] @@ -59659,13 +59661,13 @@ for.body294.us.us.us.us.us.us.us.us.us: ; preds = %for.body294.us.us.u for.cond290.for.inc348_crit_edge.split.us.us.us.us.us.us.us.us.us: ; preds = %for.body294.us.us.us.us.us.us.us.us.us %inc349.us.us.us.us.us.us.us.us = add nuw nsw i64 %ib.0227.us.us.us.us.us.us.us.us, 1 - %exitcond709.not = icmp eq i64 %inc349.us.us.us.us.us.us.us.us, %div286.us.us.us.us.us.us - br i1 %exitcond709.not, label %for.inc353.us.us369.us.us.us.us, label %for.cond290.preheader.us.us.us.us.us.us.us.us, !llvm.loop !855 + %exitcond710.not = icmp eq i64 %inc349.us.us.us.us.us.us.us.us, %div286.us.us.us.us.us.us + br i1 %exitcond710.not, label %for.inc353.us.us369.us.us.us.us, label %for.cond290.preheader.us.us.us.us.us.us.us.us, !llvm.loop !855 for.cond108.for.inc359_crit_edge.split.us.us.us.split.us.us.split: ; preds = %for.inc356.us.us.us.us.us %inc360.us.us.us = add nuw nsw i64 %i3.0399.us.us.us, 1 - %exitcond712.not = icmp eq i64 %inc360.us.us.us, %12 - br i1 %exitcond712.not, label %for.end361, label %for.cond108.preheader.us.us.us, !llvm.loop !853 + %exitcond713.not = icmp eq i64 %inc360.us.us.us, %12 + br i1 %exitcond713.not, label %for.end361, label %for.cond108.preheader.us.us.us, !llvm.loop !853 for.cond108.preheader.lr.ph.split.us.split.us.split: ; preds = %for.cond108.preheader.lr.ph.split.us.split.us br i1 %cmp155219, label %for.cond108.preheader.us.us.us491.preheader, label %for.end361 @@ -59700,8 +59702,8 @@ for.body111.us.us.us.us407.us: ; preds = %for.inc356.us.us.us for.inc356.us.us.us.us419.us: ; preds = %for.inc353.us290.us.us.us.us.us, %if.end121.us287.us.us.us.us.us %inc.us285.us.us.us.us.us.lcssa = phi i32 [ %103, %for.inc353.us290.us.us.us.us.us ], [ %inc.us285.us.us.us.us.us, %if.end121.us287.us.us.us.us.us ] %inc357.us.us.us.us421.us = add nuw nsw i64 %i2.0342.us.us.us.us409.us, 1 - %exitcond706.not = icmp eq i64 %inc357.us.us.us.us421.us, %11 - br i1 %exitcond706.not, label %for.cond108.for.inc359_crit_edge.split.us.us.us.split.split.us.us, label %for.body111.us.us.us.us407.us, !llvm.loop !850 + %exitcond707.not = icmp eq i64 %inc357.us.us.us.us421.us, %11 + br i1 %exitcond707.not, label %for.cond108.for.inc359_crit_edge.split.us.us.us.split.split.us.us, label %for.body111.us.us.us.us407.us, !llvm.loop !850 for.body117.us282.us.us.us.us.us: ; preds = %for.inc353.us290.us.us.us.us.us, %for.body111.us.us.us.us407.us %ir.2265.us283.us.us.us.us.us = phi i32 [ %ir.1343.us.us.us.us408.us, %for.body111.us.us.us.us407.us ], [ %inc.us285.us.us.us.us.us, %for.inc353.us290.us.us.us.us.us ] @@ -59773,13 +59775,13 @@ for.body157.us.us.us.us.us.us: ; preds = %for.body157.us.us.u for.inc353.us290.us.us.us.us.us: ; preds = %for.body157.us.us.us.us.us.us, %for.body117.us282.us.us.us.us.us %inc354.us291.us.us.us.us.us = add nuw nsw i64 %i1.0264.us284.us.us.us.us.us, 1 - %exitcond705.not = icmp eq i64 %inc354.us291.us.us.us.us.us, %10 - br i1 %exitcond705.not, label %for.inc356.us.us.us.us419.us, label %for.body117.us282.us.us.us.us.us, !llvm.loop !851 + %exitcond706.not = icmp eq i64 %inc354.us291.us.us.us.us.us, %10 + br i1 %exitcond706.not, label %for.inc356.us.us.us.us419.us, label %for.body117.us282.us.us.us.us.us, !llvm.loop !851 for.cond108.for.inc359_crit_edge.split.us.us.us.split.split.us.us: ; preds = %for.inc356.us.us.us.us419.us %inc360.us.us.us496 = add nuw nsw i64 %i3.0399.us.us.us493, 1 - %exitcond707.not = icmp eq i64 %inc360.us.us.us496, %12 - br i1 %exitcond707.not, label %for.end361, label %for.cond108.preheader.us.us.us491, !llvm.loop !853 + %exitcond708.not = icmp eq i64 %inc360.us.us.us496, %12 + br i1 %exitcond708.not, label %for.end361, label %for.cond108.preheader.us.us.us491, !llvm.loop !853 for.end361: ; preds = %for.cond108.for.inc359_crit_edge.split.us.us.us.split.split.us.us, %for.cond108.for.inc359_crit_edge.split.us.us.us.split.us.us.split, %for.cond108.for.inc359_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us629.split.us664, %for.cond108.for.inc359_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us629.split.us.us.us.split, %for.cond108.for.inc359_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us629.split.us.us.us.split.us.us, %for.cond108.for.inc359_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us.us.us.split.us678, %for.cond108.for.inc359_crit_edge.split.us.us.us.split.us.us.split.us.split.us.split.us.us.us.split.us.us.us, %for.cond108.preheader.lr.ph.split.us.split.us.split, %for.cond108.preheader.lr.ph.split.us.split.us.split.us.split.us, %for.cond108.preheader.lr.ph, %do.end88, %entry, %entry ret void diff --git a/bench/opencv/optimized/color_yuv.dispatch.cpp.ll b/bench/opencv/optimized/color_yuv.dispatch.cpp.ll index 9ef61979609..125f0995702 100644 --- a/bench/opencv/optimized/color_yuv.dispatch.cpp.ll +++ b/bench/opencv/optimized/color_yuv.dispatch.cpp.ll @@ -6417,9 +6417,16 @@ _ZNK2cv11_InputArray6getMatEi.exit.i: ; preds = %62, %60 %70 = getelementptr inbounds i8, ptr %69, i64 4 %71 = load i32, ptr %70, align 4 %72 = load i32, ptr %69, align 4 - %73 = and i32 %71, 1 - %74 = icmp eq i32 %73, 0 - %75 = and i32 %72, 1 + %.sroa.2.0.insert.ext.i.i = zext i32 %72 to i64 + %.sroa.2.0.insert.shift.i.i = shl nuw i64 %.sroa.2.0.insert.ext.i.i, 32 + %.sroa.0.0.insert.ext.i.i = zext i32 %71 to i64 + %.sroa.0.0.insert.insert.i.i = or disjoint i64 %.sroa.2.0.insert.shift.i.i, %.sroa.0.0.insert.ext.i.i + %.fr.i = freeze i64 %.sroa.0.0.insert.insert.i.i + %.sroa.3.0.extract.shift.i = lshr i64 %.fr.i, 32 + %.sroa.3.0.extract.trunc.i = trunc nuw i64 %.sroa.3.0.extract.shift.i to i32 + %73 = and i64 %.fr.i, 1 + %74 = icmp eq i64 %73, 0 + %75 = and i32 %.sroa.3.0.extract.trunc.i, 1 %76 = icmp eq i32 %75, 0 %or.cond.i = select i1 %74, i1 %76, i1 false br i1 %or.cond.i, label %85, label %77 @@ -6453,11 +6460,11 @@ _ZNK2cv11_InputArray6getMatEi.exit.i: ; preds = %62, %60 br label %common.resume 85: ; preds = %67 - %86 = ashr exact i32 %72, 1 - %87 = mul nsw i32 %86, 3 + %86 = ashr exact i32 %.sroa.3.0.extract.trunc.i, 1 + %87 = add nsw i32 %86, %.sroa.3.0.extract.trunc.i %.sroa.2.0.insert.ext.i = zext i32 %87 to i64 %.sroa.2.0.insert.shift.i = shl nuw i64 %.sroa.2.0.insert.ext.i, 32 - %.sroa.0.0.insert.ext.i = zext i32 %71 to i64 + %.sroa.0.0.insert.ext.i = and i64 %.fr.i, 4294967294 %.sroa.0.0.insert.insert.i = or disjoint i64 %.sroa.2.0.insert.shift.i, %.sroa.0.0.insert.ext.i store i64 %.sroa.0.0.insert.insert.i, ptr %15, align 8 %88 = load i32, ptr %37, align 8 diff --git a/bench/wireshark/optimized/packet-gsm_a_rr.c.ll b/bench/wireshark/optimized/packet-gsm_a_rr.c.ll index ee6018e0a2c..986a0f2566a 100644 --- a/bench/wireshark/optimized/packet-gsm_a_rr.c.ll +++ b/bench/wireshark/optimized/packet-gsm_a_rr.c.ll @@ -4051,7 +4051,7 @@ greatest_power_of_2_lesser_or_equal_to.exit29: ; preds = %14 %17 = shl i32 %.033, 1 %18 = or disjoint i32 %17, 1 %19 = shl nuw i32 %.02531, 1 - %20 = mul i32 %16, 3 + %20 = add i32 %16, %15 %21 = icmp slt i32 %19, %20 br i1 %21, label %22, label %30 @@ -5010,7 +5010,7 @@ greatest_power_of_2_lesser_or_equal_to.exit29.i: ; preds = %139 %142 = shl i32 %.033.i, 1 %143 = or disjoint i32 %142, 1 %144 = shl nuw i32 %.02531.i, 1 - %145 = mul i32 %141, 3 + %145 = add i32 %141, %140 %146 = icmp slt i32 %144, %145 br i1 %146, label %147, label %155 @@ -5247,7 +5247,7 @@ greatest_power_of_2_lesser_or_equal_to.exit29.i285: ; preds = %275 %278 = shl i32 %.033.i280, 1 %279 = or disjoint i32 %278, 1 %280 = shl nuw i32 %.02531.i282, 1 - %281 = mul i32 %277, 3 + %281 = add i32 %277, %276 %282 = icmp slt i32 %280, %281 br i1 %282, label %283, label %291 @@ -11913,7 +11913,7 @@ greatest_power_of_2_lesser_or_equal_to.exit29.i: ; preds = %75 %78 = shl i32 %.033.i, 1 %79 = or disjoint i32 %78, 1 %80 = shl nuw i32 %.02531.i, 1 - %81 = mul i32 %77, 3 + %81 = add i32 %77, %76 %82 = icmp slt i32 %80, %81 br i1 %82, label %83, label %91 @@ -13336,7 +13336,7 @@ greatest_power_of_2_lesser_or_equal_to.exit29.i: ; preds = %96 %99 = shl i32 %.033.i, 1 %100 = or disjoint i32 %99, 1 %101 = shl nuw i32 %.02531.i, 1 - %102 = mul i32 %98, 3 + %102 = add i32 %98, %97 %103 = icmp slt i32 %101, %102 br i1 %103, label %104, label %112 @@ -13574,7 +13574,7 @@ greatest_power_of_2_lesser_or_equal_to.exit29.i: ; preds = %97 %100 = shl i32 %.033.i, 1 %101 = or disjoint i32 %100, 1 %102 = shl nuw i32 %.02531.i, 1 - %103 = mul i32 %99, 3 + %103 = add i32 %99, %98 %104 = icmp slt i32 %102, %103 br i1 %104, label %105, label %113