diff --git a/bench/cmake/optimized/mprintf.c.ll b/bench/cmake/optimized/mprintf.c.ll index 3ec8838db70..877f35e068f 100644 --- a/bench/cmake/optimized/mprintf.c.ll +++ b/bench/cmake/optimized/mprintf.c.ll @@ -1117,981 +1117,6 @@ formatf.specialized.2.exit: ; preds = %.loopexit, %.loopex ret i32 %.0 } -; Function Attrs: nounwind uwtable -define internal fastcc void @formatf(ptr noundef %0, ptr nocapture noundef readonly %1, ptr noundef %2, ptr nocapture noundef %3) unnamed_addr #1 { - %5 = alloca i32, align 4 - %6 = alloca i32, align 4 - %7 = alloca [128 x %struct.outsegment], align 16 - %8 = alloca [128 x %struct.va_input], align 16 - %9 = alloca [326 x i8], align 16 - %10 = alloca [32 x i8], align 16 - store i32 0, ptr %5, align 4 - store i32 0, ptr %6, align 4 - %11 = call fastcc i32 @parsefmt(ptr noundef %2, ptr noundef %7, ptr noundef %8, ptr noundef %5, ptr noundef %6, ptr noundef %3) - %.not = icmp eq i32 %11, 0 - %12 = load i32, ptr %5, align 4 - %13 = icmp sgt i32 %12, 0 - %or.cond664 = select i1 %.not, i1 %13, i1 false - br i1 %or.cond664, label %.lr.ph661, label %.loopexit500 - -.lr.ph661: ; preds = %4 - %14 = getelementptr inbounds i8, ptr %10, i64 1 - %15 = getelementptr inbounds i8, ptr %10, i64 2 - br label %16 - -16: ; preds = %.lr.ph661, %.loopexit - %indvars.iv = phi i64 [ 0, %.lr.ph661 ], [ %indvars.iv.next, %.loopexit ] - %.0351660 = phi ptr [ @lower_digits, %.lr.ph661 ], [ %.1352, %.loopexit ] - %.0354659 = phi i32 [ 0, %.lr.ph661 ], [ %.3357, %.loopexit ] - %17 = getelementptr inbounds [128 x %struct.outsegment], ptr %7, i64 0, i64 %indvars.iv - %18 = getelementptr inbounds i8, ptr %17, i64 24 - %19 = load i64, ptr %18, align 8 - %20 = getelementptr inbounds i8, ptr %17, i64 8 - %21 = load i32, ptr %20, align 8 - %.not391 = icmp eq i64 %19, 0 - br i1 %.not391, label %36, label %22 - -22: ; preds = %16 - %23 = getelementptr inbounds i8, ptr %17, i64 16 - %24 = load ptr, ptr %23, align 16 - %25 = trunc i64 %19 to i32 - %26 = add i32 %.0354659, %25 - br label %27 - -27: ; preds = %22, %31 - %.0318564 = phi ptr [ %24, %22 ], [ %32, %31 ] - %.0323563 = phi i64 [ %19, %22 ], [ %34, %31 ] - %.2356562 = phi i32 [ %.0354659, %22 ], [ %33, %31 ] - %28 = load i8, ptr %.0318564, align 1 - %.not393 = icmp eq i8 %28, 0 - br i1 %.not393, label %.critedge, label %29 - -29: ; preds = %27 - %30 = call i32 %1(i8 noundef zeroext %28, ptr noundef %0) #12, !callees !24 - %.not469 = icmp eq i32 %30, 0 - br i1 %.not469, label %31, label %.loopexit500 - -31: ; preds = %29 - %32 = getelementptr inbounds i8, ptr %.0318564, i64 1 - %33 = add nsw i32 %.2356562, 1 - %34 = add i64 %.0323563, -1 - %.not392 = icmp eq i64 %34, 0 - br i1 %.not392, label %.critedge, label %27, !llvm.loop !5 - -.critedge: ; preds = %31, %27 - %.2356.lcssa = phi i32 [ %26, %31 ], [ %.2356562, %27 ] - %35 = and i32 %21, 1048576 - %.not394 = icmp eq i32 %35, 0 - br i1 %.not394, label %36, label %.loopexit - -36: ; preds = %.critedge, %16 - %.1355 = phi i32 [ %.2356.lcssa, %.critedge ], [ %.0354659, %16 ] - %37 = and i32 %21, 16384 - %.not395 = icmp eq i32 %37, 0 - %38 = load i32, ptr %17, align 16 - br i1 %.not395, label %50, label %39 - -39: ; preds = %36 - %40 = sext i32 %38 to i64 - %41 = getelementptr inbounds [128 x %struct.va_input], ptr %8, i64 0, i64 %40, i32 1 - %42 = load i64, ptr %41, align 8 - %43 = trunc i64 %42 to i32 - %44 = icmp slt i32 %43, 0 - br i1 %44, label %45, label %50 - -45: ; preds = %39 - %46 = icmp eq i32 %43, -2147483648 - %47 = sub nsw i32 0, %43 - %.0341 = select i1 %46, i32 2147483647, i32 %47 - %48 = and i32 %21, -261 - %49 = or disjoint i32 %48, 4 - br label %50 - -50: ; preds = %36, %39, %45 - %.1342 = phi i32 [ %.0341, %45 ], [ %43, %39 ], [ %38, %36 ] - %.0319 = phi i32 [ %49, %45 ], [ %21, %39 ], [ %21, %36 ] - %51 = and i32 %.0319, 65536 - %.not396 = icmp eq i32 %51, 0 - br i1 %.not396, label %59, label %52 - -52: ; preds = %50 - %53 = getelementptr inbounds i8, ptr %17, i64 4 - %54 = load i32, ptr %53, align 4 - %55 = sext i32 %54 to i64 - %56 = getelementptr inbounds [128 x %struct.va_input], ptr %8, i64 0, i64 %55, i32 1 - %57 = load i64, ptr %56, align 8 - %58 = trunc i64 %57 to i32 - %spec.store.select = call i32 @llvm.smax.i32(i32 %58, i32 -1) - br label %64 - -59: ; preds = %50 - %60 = and i32 %.0319, 32768 - %.not397 = icmp eq i32 %60, 0 - br i1 %.not397, label %64, label %61 - -61: ; preds = %59 - %62 = getelementptr inbounds i8, ptr %17, i64 4 - %63 = load i32, ptr %62, align 4 - br label %64 - -64: ; preds = %59, %61, %52 - %.0337 = phi i32 [ %spec.store.select, %52 ], [ %63, %61 ], [ -1, %59 ] - %65 = and i32 %.0319, 8 - %.not398 = icmp eq i32 %65, 0 - %66 = icmp ne i32 %65, 0 - %67 = getelementptr inbounds i8, ptr %17, i64 12 - %68 = load i32, ptr %67, align 4 - %69 = zext i32 %68 to i64 - %70 = getelementptr inbounds [128 x %struct.va_input], ptr %8, i64 0, i64 %69 - %71 = load i32, ptr %70, align 16 - switch i32 %71, label %.loopexit [ - i32 6, label %72 - i32 7, label %72 - i32 8, label %72 - i32 3, label %74 - i32 4, label %74 - i32 5, label %74 - i32 0, label %210 - i32 1, label %266 - i32 9, label %297 - i32 2, label %368 - ] - -72: ; preds = %64, %64, %64 - %73 = or i32 %.0319, 512 - br label %74 - -74: ; preds = %72, %64, %64, %64 - %.1320 = phi i32 [ %.0319, %64 ], [ %.0319, %64 ], [ %.0319, %64 ], [ %73, %72 ] - %75 = getelementptr inbounds i8, ptr %70, i64 8 - %76 = load i64, ptr %75, align 8 - %77 = and i32 %.1320, 131072 - %.not433 = icmp eq i32 %77, 0 - br i1 %.not433, label %98, label %78 - -78: ; preds = %74 - %79 = and i32 %.1320, 4 - %.not465 = icmp ne i32 %79, 0 - br i1 %.not465, label %.loopexit518, label %.preheader517 - -.preheader517: ; preds = %78 - %80 = add i32 %.1342, -1 - %81 = icmp sgt i32 %.1342, 1 - br i1 %81, label %.lr.ph599.preheader, label %.loopexit518 - -.lr.ph599.preheader: ; preds = %.preheader517 - %82 = add i32 %80, %.1355 - br label %.lr.ph599 - -.lr.ph599: ; preds = %.lr.ph599.preheader, %85 - %83 = phi i32 [ %86, %85 ], [ %80, %.lr.ph599.preheader ] - %84 = call i32 %1(i8 noundef zeroext 32, ptr noundef %0) #12, !callees !24 - %.not466 = icmp eq i32 %84, 0 - br i1 %.not466, label %85, label %.loopexit500 - -85: ; preds = %.lr.ph599 - %86 = add nsw i32 %83, -1 - %87 = icmp sgt i32 %83, 1 - br i1 %87, label %.lr.ph599, label %.loopexit518, !llvm.loop !7 - -.loopexit518: ; preds = %85, %.preheader517, %78 - %.5359 = phi i32 [ %.1355, %78 ], [ %.1355, %.preheader517 ], [ %82, %85 ] - %.3344 = phi i32 [ %.1342, %78 ], [ %80, %.preheader517 ], [ 0, %85 ] - %88 = trunc i64 %76 to i8 - %89 = call i32 %1(i8 noundef zeroext %88, ptr noundef %0) #12, !callees !24 - %.not467 = icmp eq i32 %89, 0 - br i1 %.not467, label %90, label %.loopexit500 - -90: ; preds = %.loopexit518 - %91 = add nsw i32 %.5359, 1 - %92 = icmp sgt i32 %.3344, 1 - %or.cond666 = select i1 %.not465, i1 %92, i1 false - br i1 %or.cond666, label %.lr.ph603.preheader, label %.loopexit - -.lr.ph603.preheader: ; preds = %90 - %93 = add i32 %.3344, %.5359 - br label %.lr.ph603 - -.lr.ph603: ; preds = %.lr.ph603.preheader, %95 - %.in674 = phi i32 [ %96, %95 ], [ %.3344, %.lr.ph603.preheader ] - %94 = call i32 %1(i8 noundef zeroext 32, ptr noundef %0) #12, !callees !24 - %.not468 = icmp eq i32 %94, 0 - br i1 %.not468, label %95, label %.loopexit500 - -95: ; preds = %.lr.ph603 - %96 = add nsw i32 %.in674, -1 - %97 = icmp sgt i32 %.in674, 2 - br i1 %97, label %.lr.ph603, label %.loopexit, !llvm.loop !8 - -98: ; preds = %74 - %99 = and i32 %.1320, 1024 - %.not434.not = icmp eq i32 %99, 0 - br i1 %.not434.not, label %100, label %.preheader511 - -100: ; preds = %98 - %101 = and i32 %.1320, 2048 - %.not435 = icmp eq i32 %101, 0 - br i1 %.not435, label %.preheader509, label %102 - -102: ; preds = %100 - %103 = and i32 %.1320, 4096 - %.not438 = icmp eq i32 %103, 0 - %104 = select i1 %.not438, ptr @lower_digits, ptr @upper_digits - br label %.preheader511 - -.preheader511: ; preds = %98, %269, %102 - %.2321490.ph = phi i32 [ %.1320, %102 ], [ %.0319, %269 ], [ %.1320, %98 ] - %.0335488.ph = phi i64 [ 16, %102 ], [ 16, %269 ], [ 8, %98 ] - %.ph = phi i1 [ true, %102 ], [ true, %269 ], [ false, %98 ] - %.ph512 = phi i1 [ false, %102 ], [ false, %269 ], [ true, %98 ] - %.0350483.ph = phi i1 [ %66, %102 ], [ true, %269 ], [ %66, %98 ] - %.2353480.ph = phi ptr [ %104, %102 ], [ %271, %269 ], [ %.0351660, %98 ] - %.2334.ph = phi i64 [ %76, %102 ], [ %272, %269 ], [ %76, %98 ] - %105 = icmp eq i32 %.0337, -1 - %spec.store.select1 = select i1 %105, i32 1, i32 %.0337 - %.not439605 = icmp eq i64 %.2334.ph, 0 - br i1 %.not439605, label %.loopexit510, label %.lr.ph608.preheader - -.lr.ph608.preheader: ; preds = %.preheader511 - %106 = add nsw i64 %.0335488.ph, -1 - br label %.lr.ph608 - -.preheader509: ; preds = %100 - %107 = and i32 %.1320, 512 - %.not436 = icmp eq i32 %107, 0 - %108 = icmp slt i64 %76, 0 - %spec.select = call i64 @llvm.abs.i64(i64 %76, i1 false) - %.0336487.ph = select i1 %.not436, i1 %108, i1 false - %.1333.ph = select i1 %.not436, i64 %spec.select, i64 %76 - %109 = icmp eq i32 %.0337, -1 - %spec.store.select1735 = select i1 %109, i32 1, i32 %.0337 - %.not440610 = icmp eq i64 %.1333.ph, 0 - br i1 %.not440610, label %.loopexit510.thread, label %.lr.ph613 - -.lr.ph613: ; preds = %.preheader509, %.lr.ph613 - %.0324.idx612 = phi i64 [ %.0324.add, %.lr.ph613 ], [ 324, %.preheader509 ] - %.1333611 = phi i64 [ %113, %.lr.ph613 ], [ %.1333.ph, %.preheader509 ] - %.0324.ptr = getelementptr inbounds i8, ptr %9, i64 %.0324.idx612 - %110 = urem i64 %.1333611, 10 - %111 = trunc nuw nsw i64 %110 to i8 - %112 = or disjoint i8 %111, 48 - %.0324.add = add nsw i64 %.0324.idx612, -1 - store i8 %112, ptr %.0324.ptr, align 1 - %113 = udiv i64 %.1333611, 10 - %.not440 = icmp ult i64 %.1333611, 10 - br i1 %.not440, label %.loopexit510.thread, label %.lr.ph613, !llvm.loop !9 - -.lr.ph608: ; preds = %.lr.ph608.preheader, %.lr.ph608 - %.2326.idx607 = phi i64 [ %.2326.add, %.lr.ph608 ], [ 324, %.lr.ph608.preheader ] - %.2334606 = phi i64 [ %117, %.lr.ph608 ], [ %.2334.ph, %.lr.ph608.preheader ] - %.2326.ptr = getelementptr inbounds i8, ptr %9, i64 %.2326.idx607 - %114 = and i64 %.2334606, %106 - %115 = getelementptr inbounds i8, ptr %.2353480.ph, i64 %114 - %116 = load i8, ptr %115, align 1 - %.2326.add = add nsw i64 %.2326.idx607, -1 - store i8 %116, ptr %.2326.ptr, align 1 - %117 = udiv i64 %.2334606, %.0335488.ph - %.not439 = icmp ugt i64 %.0335488.ph, %.2334606 - br i1 %.not439, label %.loopexit510, label %.lr.ph608, !llvm.loop !10 - -.loopexit510.thread: ; preds = %.lr.ph613, %.preheader509 - %.1325.idx.ph = phi i64 [ 324, %.preheader509 ], [ %.0324.add, %.lr.ph613 ] - %118 = trunc i64 %.1325.idx.ph to i32 - %119 = sub i32 324, %118 - %120 = sub nsw i32 %.1342, %119 - %121 = sub nsw i32 %spec.store.select1735, %119 - br label %128 - -.loopexit510: ; preds = %.lr.ph608, %.preheader511 - %.1325.idx = phi i64 [ 324, %.preheader511 ], [ %.2326.add, %.lr.ph608 ] - %122 = trunc i64 %.1325.idx to i32 - %123 = sub i32 324, %122 - %124 = sub nsw i32 %.1342, %123 - %125 = sub nsw i32 %spec.store.select1, %123 - %or.cond = and i1 %.ph512, %.0350483.ph - %126 = icmp slt i32 %125, 1 - %or.cond4 = select i1 %or.cond, i1 %126, i1 false - br i1 %or.cond4, label %.thread, label %128 - -.thread: ; preds = %.loopexit510 - %.1325.ptr = getelementptr inbounds i8, ptr %9, i64 %.1325.idx - %.1325.add = add nsw i64 %.1325.idx, -1 - store i8 48, ptr %.1325.ptr, align 1 - %127 = add nsw i32 %124, -1 - br label %.loopexit508 - -128: ; preds = %.loopexit510.thread, %.loopexit510 - %129 = phi i32 [ %121, %.loopexit510.thread ], [ %125, %.loopexit510 ] - %130 = phi i32 [ %120, %.loopexit510.thread ], [ %124, %.loopexit510 ] - %131 = phi i32 [ %118, %.loopexit510.thread ], [ %122, %.loopexit510 ] - %.1325.idx753 = phi i64 [ %.1325.idx.ph, %.loopexit510.thread ], [ %.1325.idx, %.loopexit510 ] - %.2353479752 = phi ptr [ %.0351660, %.loopexit510.thread ], [ %.2353480.ph, %.loopexit510 ] - %.0350482750 = phi i1 [ %66, %.loopexit510.thread ], [ %.0350483.ph, %.loopexit510 ] - %.0336485748 = phi i1 [ %.0336487.ph, %.loopexit510.thread ], [ false, %.loopexit510 ] - %132 = phi i1 [ false, %.loopexit510.thread ], [ %.ph, %.loopexit510 ] - %.2321489746 = phi i32 [ %.1320, %.loopexit510.thread ], [ %.2321490.ph, %.loopexit510 ] - %spec.store.select1492744 = phi i32 [ %spec.store.select1735, %.loopexit510.thread ], [ %spec.store.select1, %.loopexit510 ] - %133 = icmp sgt i32 %129, 0 - br i1 %133, label %134, label %.loopexit508 - -134: ; preds = %128 - %135 = sub nsw i32 %130, %129 - %136 = icmp sgt i64 %.1325.idx753, -1 - br i1 %136, label %.lr.ph618.preheader, label %.loopexit508 - -.lr.ph618.preheader: ; preds = %134 - %137 = add i32 %spec.store.select1492744, -325 - %138 = add i32 %137, %131 - %139 = zext i32 %138 to i64 - %umin = call i64 @llvm.umin.i64(i64 %.1325.idx753, i64 %139) - %140 = sub nsw i64 %.1325.idx753, %umin - %scevgep = getelementptr i8, ptr %9, i64 %140 - %141 = add nuw nsw i64 %umin, 1 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(1) %scevgep, i8 48, i64 %141, i1 false) - %142 = xor i64 %umin, -1 - %143 = add nsw i64 %.1325.idx753, %142 - br label %.loopexit508 - -.loopexit508: ; preds = %.lr.ph618.preheader, %134, %.thread, %128 - %.2353479751 = phi ptr [ %.2353479752, %128 ], [ %.2353480.ph, %.thread ], [ %.2353479752, %134 ], [ %.2353479752, %.lr.ph618.preheader ] - %.0350482749 = phi i1 [ %.0350482750, %128 ], [ %.0350483.ph, %.thread ], [ %.0350482750, %134 ], [ %.0350482750, %.lr.ph618.preheader ] - %.0336485747 = phi i1 [ %.0336485748, %128 ], [ false, %.thread ], [ %.0336485748, %134 ], [ %.0336485748, %.lr.ph618.preheader ] - %144 = phi i1 [ %132, %128 ], [ %.ph, %.thread ], [ %132, %134 ], [ %132, %.lr.ph618.preheader ] - %.2321489745 = phi i32 [ %.2321489746, %128 ], [ %.2321490.ph, %.thread ], [ %.2321489746, %134 ], [ %.2321489746, %.lr.ph618.preheader ] - %.6347 = phi i32 [ %130, %128 ], [ %127, %.thread ], [ %135, %134 ], [ %135, %.lr.ph618.preheader ] - %.4328.idx = phi i64 [ %.1325.idx753, %128 ], [ %.1325.add, %.thread ], [ %.1325.idx753, %134 ], [ %143, %.lr.ph618.preheader ] - %or.cond6 = and i1 %144, %.0350482749 - %145 = add nsw i32 %.6347, -2 - %spec.select470 = select i1 %or.cond6, i32 %145, i32 %.6347 - %146 = and i32 %.2321489745, 2 - %.not441 = icmp eq i32 %146, 0 - %147 = and i32 %.2321489745, 1 - %.not442 = icmp eq i32 %147, 0 - %148 = and i32 %.2321489745, 3 - %149 = icmp ne i32 %148, 0 - %or.cond473.not = or i1 %149, %.0336485747 - %150 = sext i1 %or.cond473.not to i32 - %.8349 = add nsw i32 %spec.select470, %150 - %151 = and i32 %.2321489745, 4 - %.not443.not = icmp ne i32 %151, 0 - %152 = and i32 %.2321489745, 260 - %or.cond474 = icmp eq i32 %152, 0 - br i1 %or.cond474, label %.preheader505, label %.loopexit506 - -.preheader505: ; preds = %.loopexit508 - %153 = add nsw i32 %.8349, -1 - %154 = icmp sgt i32 %.8349, 0 - br i1 %154, label %.lr.ph621.preheader, label %.loopexit506 - -.lr.ph621.preheader: ; preds = %.preheader505 - %155 = add i32 %spec.select470, %.1355 - %156 = add i32 %155, %150 - br label %.lr.ph621 - -.lr.ph621: ; preds = %.lr.ph621.preheader, %159 - %157 = phi i32 [ %160, %159 ], [ %153, %.lr.ph621.preheader ] - %158 = call i32 %1(i8 noundef zeroext 32, ptr noundef %0) #12, !callees !24 - %.not445 = icmp eq i32 %158, 0 - br i1 %.not445, label %159, label %.loopexit500 - -159: ; preds = %.lr.ph621 - %160 = add nsw i32 %157, -1 - %161 = icmp sgt i32 %157, 0 - br i1 %161, label %.lr.ph621, label %.loopexit506, !llvm.loop !11 - -.loopexit506: ; preds = %159, %.preheader505, %.loopexit508 - %.7361 = phi i32 [ %.1355, %.loopexit508 ], [ %.1355, %.preheader505 ], [ %156, %159 ] - %.9 = phi i32 [ %.8349, %.loopexit508 ], [ %153, %.preheader505 ], [ -1, %159 ] - br i1 %.0336485747, label %162, label %166 - -162: ; preds = %.loopexit506 - %163 = call i32 %1(i8 noundef zeroext 45, ptr noundef %0) #12, !callees !24 - %.not450 = icmp eq i32 %163, 0 - br i1 %.not450, label %164, label %.loopexit500 - -164: ; preds = %162 - %165 = add nsw i32 %.7361, 1 - br label %176 - -166: ; preds = %.loopexit506 - br i1 %.not441, label %171, label %167 - -167: ; preds = %166 - %168 = call i32 %1(i8 noundef zeroext 43, ptr noundef %0) #12, !callees !24 - %.not449 = icmp eq i32 %168, 0 - br i1 %.not449, label %169, label %.loopexit500 - -169: ; preds = %167 - %170 = add nsw i32 %.7361, 1 - br label %176 - -171: ; preds = %166 - br i1 %.not442, label %176, label %172 - -172: ; preds = %171 - %173 = call i32 %1(i8 noundef zeroext 32, ptr noundef %0) #12, !callees !24 - %.not448 = icmp eq i32 %173, 0 - br i1 %.not448, label %174, label %.loopexit500 - -174: ; preds = %172 - %175 = add nsw i32 %.7361, 1 - br label %176 - -176: ; preds = %169, %174, %171, %164 - %.9363 = phi i32 [ %165, %164 ], [ %170, %169 ], [ %175, %174 ], [ %.7361, %171 ] - br i1 %or.cond6, label %177, label %189 - -177: ; preds = %176 - %178 = call i32 %1(i8 noundef zeroext 48, ptr noundef %0) #12, !callees !24 - %.not451 = icmp eq i32 %178, 0 - br i1 %.not451, label %179, label %.loopexit500 - -179: ; preds = %177 - %180 = and i32 %.2321489745, 4096 - %.not452 = icmp eq i32 %180, 0 - br i1 %.not452, label %185, label %181 - -181: ; preds = %179 - %182 = call i32 %1(i8 noundef zeroext 88, ptr noundef %0) #12, !callees !24 - %.not454 = icmp eq i32 %182, 0 - br i1 %.not454, label %183, label %.loopexit500 - -183: ; preds = %181 - %184 = add nsw i32 %.9363, 2 - br label %189 - -185: ; preds = %179 - %186 = call i32 %1(i8 noundef zeroext 120, ptr noundef %0) #12, !callees !24 - %.not453 = icmp eq i32 %186, 0 - br i1 %.not453, label %187, label %.loopexit500 - -187: ; preds = %185 - %188 = add nsw i32 %.9363, 2 - br label %189 - -189: ; preds = %183, %187, %176 - %.10364 = phi i32 [ %184, %183 ], [ %188, %187 ], [ %.9363, %176 ] - %or.cond475.not = icmp eq i32 %152, 256 - br i1 %or.cond475.not, label %.preheader502, label %.loopexit503 - -.preheader502: ; preds = %189 - %190 = add nsw i32 %.9, -1 - %191 = icmp sgt i32 %.9, 0 - br i1 %191, label %.lr.ph625.preheader, label %.loopexit503 - -.lr.ph625.preheader: ; preds = %.preheader502 - %192 = add i32 %.10364, %.9 - br label %.lr.ph625 - -.lr.ph625: ; preds = %.lr.ph625.preheader, %195 - %193 = phi i32 [ %196, %195 ], [ %190, %.lr.ph625.preheader ] - %194 = call i32 %1(i8 noundef zeroext 48, ptr noundef %0) #12, !callees !24 - %.not456 = icmp eq i32 %194, 0 - br i1 %.not456, label %195, label %.loopexit500 - -195: ; preds = %.lr.ph625 - %196 = add nsw i32 %193, -1 - %197 = icmp sgt i32 %193, 0 - br i1 %197, label %.lr.ph625, label %.loopexit503, !llvm.loop !12 - -.loopexit503: ; preds = %195, %.preheader502, %189 - %.11365 = phi i32 [ %.10364, %189 ], [ %.10364, %.preheader502 ], [ %192, %195 ] - %.11 = phi i32 [ %.9, %189 ], [ %190, %.preheader502 ], [ -1, %195 ] - %.not457629 = icmp sgt i64 %.4328.idx, 323 - br i1 %.not457629, label %._crit_edge634, label %.lr.ph633.preheader - -.lr.ph633.preheader: ; preds = %.loopexit503 - %198 = add i32 %.11365, 324 - %199 = trunc i64 %.4328.idx to i32 - %200 = sub i32 %198, %199 - br label %.lr.ph633 - -.lr.ph633: ; preds = %.lr.ph633.preheader, %203 - %.6330.add631.in = phi i64 [ %.6330.add631, %203 ], [ %.4328.idx, %.lr.ph633.preheader ] - %.6330.add631 = add nsw i64 %.6330.add631.in, 1 - %.ptr = getelementptr inbounds i8, ptr %9, i64 %.6330.add631 - %201 = load i8, ptr %.ptr, align 1 - %202 = call i32 %1(i8 noundef zeroext %201, ptr noundef %0) #12, !callees !24 - %.not464 = icmp eq i32 %202, 0 - br i1 %.not464, label %203, label %.loopexit500 - -203: ; preds = %.lr.ph633 - %exitcond730 = icmp eq i64 %.6330.add631, 324 - br i1 %exitcond730, label %._crit_edge634, label %.lr.ph633, !llvm.loop !13 - -._crit_edge634: ; preds = %203, %.loopexit503 - %.13367.lcssa = phi i32 [ %.11365, %.loopexit503 ], [ %200, %203 ] - %204 = icmp sgt i32 %.11, 0 - %or.cond668 = select i1 %.not443.not, i1 %204, i1 false - br i1 %or.cond668, label %.lr.ph637.preheader, label %.loopexit - -.lr.ph637.preheader: ; preds = %._crit_edge634 - %205 = add i32 %.11, %.13367.lcssa - br label %.lr.ph637 - -.lr.ph637: ; preds = %.lr.ph637.preheader, %207 - %.in675 = phi i32 [ %208, %207 ], [ %.11, %.lr.ph637.preheader ] - %206 = call i32 %1(i8 noundef zeroext 32, ptr noundef %0) #12, !callees !24 - %.not463 = icmp eq i32 %206, 0 - br i1 %.not463, label %207, label %.loopexit500 - -207: ; preds = %.lr.ph637 - %208 = add nsw i32 %.in675, -1 - %209 = icmp sgt i32 %.in675, 1 - br i1 %209, label %.lr.ph637, label %.loopexit, !llvm.loop !14 - -210: ; preds = %64 - %211 = getelementptr inbounds i8, ptr %70, i64 8 - %212 = load ptr, ptr %211, align 8 - %.not422 = icmp eq ptr %212, null - %213 = icmp eq i32 %.0337, -1 - br i1 %.not422, label %214, label %218 - -214: ; preds = %210 - %215 = icmp sgt i32 %.0337, 4 - %or.cond10 = or i1 %213, %215 - br i1 %or.cond10, label %.thread754, label %226 - -.thread754: ; preds = %214 - %216 = and i32 %.0319, -9 - %217 = add nsw i32 %.1342, -5 - br label %234 - -218: ; preds = %210 - br i1 %213, label %221, label %219 - -219: ; preds = %218 - %220 = sext i32 %.0337 to i64 - br label %226 - -221: ; preds = %218 - %222 = load i8, ptr %212, align 1 - %223 = icmp eq i8 %222, 0 - br i1 %223, label %226, label %224 - -224: ; preds = %221 - %225 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %212) #11 - br label %226 - -226: ; preds = %221, %214, %219, %224 - %.0316 = phi ptr [ %212, %221 ], [ @.str, %214 ], [ %212, %219 ], [ %212, %224 ] - %.0314 = phi i64 [ 0, %221 ], [ 0, %214 ], [ %220, %219 ], [ %225, %224 ] - %227 = call i64 @llvm.umin.i64(i64 %.0314, i64 2147483647) - %228 = trunc nuw nsw i64 %227 to i32 - %229 = sub nsw i32 %.1342, %228 - %.not424 = icmp eq i32 %65, 0 - br i1 %.not424, label %234, label %230 - -230: ; preds = %226 - %231 = call i32 %1(i8 noundef zeroext 34, ptr noundef %0) #12, !callees !24 - %.not425 = icmp eq i32 %231, 0 - br i1 %.not425, label %232, label %.loopexit500 - -232: ; preds = %230 - %233 = add nsw i32 %.1355, 1 - br label %234 - -234: ; preds = %.thread754, %232, %226 - %.not424763 = phi i1 [ false, %232 ], [ true, %226 ], [ true, %.thread754 ] - %235 = phi i32 [ %229, %232 ], [ %229, %226 ], [ %217, %.thread754 ] - %236 = phi i32 [ %228, %232 ], [ %228, %226 ], [ 5, %.thread754 ] - %.0314762 = phi i64 [ %.0314, %232 ], [ %.0314, %226 ], [ 5, %.thread754 ] - %.0316761 = phi ptr [ %.0316, %232 ], [ %.0316, %226 ], [ @formatf.nilstr, %.thread754 ] - %.3322760 = phi i32 [ %.0319, %232 ], [ %.0319, %226 ], [ %216, %.thread754 ] - %.15369 = phi i32 [ %233, %232 ], [ %.1355, %226 ], [ %.1355, %.thread754 ] - %237 = and i32 %.3322760, 4 - %.not426 = icmp ne i32 %237, 0 - br i1 %.not426, label %.loopexit525, label %.preheader524 - -.preheader524: ; preds = %234 - %238 = add nsw i32 %235, -1 - %239 = icmp sgt i32 %235, 0 - br i1 %239, label %.lr.ph583.preheader, label %.loopexit525 - -.lr.ph583.preheader: ; preds = %.preheader524 - %240 = add i32 %.1342, %.15369 - %241 = sub i32 %240, %236 - br label %.lr.ph583 - -.lr.ph583: ; preds = %.lr.ph583.preheader, %244 - %242 = phi i32 [ %245, %244 ], [ %238, %.lr.ph583.preheader ] - %243 = call i32 %1(i8 noundef zeroext 32, ptr noundef %0) #12, !callees !24 - %.not427 = icmp eq i32 %243, 0 - br i1 %.not427, label %244, label %.loopexit500 - -244: ; preds = %.lr.ph583 - %245 = add nsw i32 %242, -1 - %246 = icmp sgt i32 %242, 0 - br i1 %246, label %.lr.ph583, label %.loopexit525, !llvm.loop !15 - -.loopexit525: ; preds = %244, %.preheader524, %234 - %.16370 = phi i32 [ %.15369, %234 ], [ %.15369, %.preheader524 ], [ %241, %244 ] - %.14 = phi i32 [ %235, %234 ], [ %238, %.preheader524 ], [ -1, %244 ] - %.not428586 = icmp eq i64 %.0314762, 0 - br i1 %.not428586, label %.critedge12, label %.lr.ph591.preheader - -.lr.ph591.preheader: ; preds = %.loopexit525 - %247 = trunc i64 %.0314762 to i32 - %248 = add i32 %.16370, %247 - br label %.lr.ph591 - -.lr.ph591: ; preds = %.lr.ph591.preheader, %252 - %.1315589 = phi i64 [ %255, %252 ], [ %.0314762, %.lr.ph591.preheader ] - %.1317588 = phi ptr [ %253, %252 ], [ %.0316761, %.lr.ph591.preheader ] - %.18372587 = phi i32 [ %254, %252 ], [ %.16370, %.lr.ph591.preheader ] - %249 = load i8, ptr %.1317588, align 1 - %.not429 = icmp eq i8 %249, 0 - br i1 %.not429, label %.critedge12, label %250 - -250: ; preds = %.lr.ph591 - %251 = call i32 %1(i8 noundef zeroext %249, ptr noundef %0) #12, !callees !24 - %.not432 = icmp eq i32 %251, 0 - br i1 %.not432, label %252, label %.loopexit500 - -252: ; preds = %250 - %253 = getelementptr inbounds i8, ptr %.1317588, i64 1 - %254 = add nsw i32 %.18372587, 1 - %255 = add i64 %.1315589, -1 - %.not428 = icmp eq i64 %255, 0 - br i1 %.not428, label %.critedge12, label %.lr.ph591, !llvm.loop !16 - -.critedge12: ; preds = %.lr.ph591, %252, %.loopexit525 - %.18372.lcssa = phi i32 [ %.16370, %.loopexit525 ], [ %248, %252 ], [ %.18372587, %.lr.ph591 ] - %256 = icmp sgt i32 %.14, 0 - %or.cond670 = select i1 %.not426, i1 %256, i1 false - br i1 %or.cond670, label %.lr.ph596.preheader, label %.loopexit521 - -.lr.ph596.preheader: ; preds = %.critedge12 - %257 = add i32 %.14, %.18372.lcssa - br label %.lr.ph596 - -.lr.ph596: ; preds = %.lr.ph596.preheader, %259 - %.in673 = phi i32 [ %260, %259 ], [ %.14, %.lr.ph596.preheader ] - %258 = call i32 %1(i8 noundef zeroext 32, ptr noundef %0) #12, !callees !24 - %.not431 = icmp eq i32 %258, 0 - br i1 %.not431, label %259, label %.loopexit500 - -259: ; preds = %.lr.ph596 - %260 = add nsw i32 %.in673, -1 - %261 = icmp sgt i32 %.in673, 1 - br i1 %261, label %.lr.ph596, label %.loopexit521, !llvm.loop !17 - -.loopexit521: ; preds = %259, %.critedge12 - %.19373 = phi i32 [ %.18372.lcssa, %.critedge12 ], [ %257, %259 ] - br i1 %.not424763, label %.loopexit, label %262 - -262: ; preds = %.loopexit521 - %263 = call i32 %1(i8 noundef zeroext 34, ptr noundef %0) #12, !callees !24 - %.not430 = icmp eq i32 %263, 0 - br i1 %.not430, label %264, label %.loopexit500 - -264: ; preds = %262 - %265 = add nsw i32 %.19373, 1 - br label %.loopexit - -266: ; preds = %64 - %267 = getelementptr inbounds i8, ptr %70, i64 8 - %268 = load ptr, ptr %267, align 8 - %.not415 = icmp eq ptr %268, null - br i1 %.not415, label %273, label %269 - -269: ; preds = %266 - %270 = and i32 %.0319, 4096 - %.not421 = icmp eq i32 %270, 0 - %271 = select i1 %.not421, ptr @lower_digits, ptr @upper_digits - %272 = ptrtoint ptr %268 to i64 - br label %.preheader511 - -273: ; preds = %266 - %274 = add i32 %.1342, -5 - %275 = and i32 %.0319, 4 - %.not416 = icmp eq i32 %275, 0 - br i1 %.not416, label %.loopexit532, label %.preheader531 - -.preheader531: ; preds = %273 - %276 = add nsw i32 %.1342, -6 - %277 = icmp sgt i32 %.1342, 5 - br i1 %277, label %.lr.ph574.preheader, label %.loopexit532 - -.lr.ph574.preheader: ; preds = %.preheader531 - %278 = add i32 %274, %.1355 - br label %.lr.ph574 - -.lr.ph574: ; preds = %.lr.ph574.preheader, %281 - %279 = phi i32 [ %282, %281 ], [ %276, %.lr.ph574.preheader ] - %280 = call i32 %1(i8 noundef zeroext 32, ptr noundef %0) #12, !callees !24 - %.not420 = icmp eq i32 %280, 0 - br i1 %.not420, label %281, label %.loopexit500 - -281: ; preds = %.lr.ph574 - %282 = add nsw i32 %279, -1 - %283 = icmp sgt i32 %279, 0 - br i1 %283, label %.lr.ph574, label %.loopexit532, !llvm.loop !18 - -.loopexit532: ; preds = %281, %.preheader531, %273 - %.21375 = phi i32 [ %.1355, %273 ], [ %.1355, %.preheader531 ], [ %278, %281 ] - %.17 = phi i32 [ %274, %273 ], [ %276, %.preheader531 ], [ -1, %281 ] - %284 = add i32 %.21375, 5 - br label %285 - -285: ; preds = %.loopexit532, %288 - %286 = phi i8 [ 40, %.loopexit532 ], [ %289, %288 ] - %.0313578.idx = phi i64 [ 0, %.loopexit532 ], [ %.0313578.add, %288 ] - %287 = call i32 %1(i8 noundef zeroext %286, ptr noundef %0) #12, !callees !24 - %.not419 = icmp eq i32 %287, 0 - br i1 %.not419, label %288, label %.loopexit500 - -288: ; preds = %285 - %.0313578.add = add nuw nsw i64 %.0313578.idx, 1 - %.ptr732 = getelementptr inbounds i8, ptr @formatf.nilstr, i64 %.0313578.add - %289 = load i8, ptr %.ptr732, align 1 - %exitcond = icmp eq i64 %.0313578.add, 5 - br i1 %exitcond, label %290, label %285, !llvm.loop !19 - -290: ; preds = %288 - %291 = icmp sgt i32 %.17, 0 - %or.cond672 = select i1 %.not416, i1 %291, i1 false - br i1 %or.cond672, label %.lr.ph580.preheader, label %.loopexit - -.lr.ph580.preheader: ; preds = %290 - %292 = add i32 %284, %.17 - br label %.lr.ph580 - -.lr.ph580: ; preds = %.lr.ph580.preheader, %294 - %.in = phi i32 [ %295, %294 ], [ %.17, %.lr.ph580.preheader ] - %293 = call i32 %1(i8 noundef zeroext 32, ptr noundef %0) #12, !callees !24 - %.not418 = icmp eq i32 %293, 0 - br i1 %.not418, label %294, label %.loopexit500 - -294: ; preds = %.lr.ph580 - %295 = add nsw i32 %.in, -1 - %296 = icmp sgt i32 %.in, 1 - br i1 %296, label %.lr.ph580, label %.loopexit, !llvm.loop !20 - -297: ; preds = %64 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %10, ptr noundef nonnull align 16 dereferenceable(32) @__const.formatf.formatbuf, i64 32, i1 false) - %298 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %10) #11 - %299 = sub i64 32, %298 - %300 = and i32 %.0319, 8192 - %.not402 = icmp eq i32 %300, 0 - %spec.select800 = select i1 %.not402, i32 %.1342, i32 %38 - %301 = and i32 %.0319, 32768 - %.not403 = icmp eq i32 %301, 0 - br i1 %.not403, label %305, label %302 - -302: ; preds = %297 - %303 = getelementptr inbounds i8, ptr %17, i64 4 - %304 = load i32, ptr %303, align 4 - br label %305 - -305: ; preds = %302, %297 - %.2339 = phi i32 [ %304, %302 ], [ %.0337, %297 ] - %306 = and i32 %.0319, 4 - %.not404 = icmp eq i32 %306, 0 - br i1 %.not404, label %308, label %307 - -307: ; preds = %305 - store i8 45, ptr %14, align 1 - br label %308 - -308: ; preds = %307, %305 - %.0311 = phi ptr [ %15, %307 ], [ %14, %305 ] - %309 = and i32 %.0319, 2 - %.not405 = icmp eq i32 %309, 0 - br i1 %.not405, label %312, label %310 - -310: ; preds = %308 - %311 = getelementptr inbounds i8, ptr %.0311, i64 1 - store i8 43, ptr %.0311, align 1 - br label %312 - -312: ; preds = %310, %308 - %.1312 = phi ptr [ %311, %310 ], [ %.0311, %308 ] - %313 = and i32 %.0319, 1 - %.not406 = icmp eq i32 %313, 0 - br i1 %.not406, label %316, label %314 - -314: ; preds = %312 - %315 = getelementptr inbounds i8, ptr %.1312, i64 1 - store i8 32, ptr %.1312, align 1 - br label %316 - -316: ; preds = %314, %312 - %.2 = phi ptr [ %315, %314 ], [ %.1312, %312 ] - br i1 %.not398, label %319, label %317 - -317: ; preds = %316 - %318 = getelementptr inbounds i8, ptr %.2, i64 1 - store i8 35, ptr %.2, align 1 - br label %319 - -319: ; preds = %317, %316 - %.3 = phi ptr [ %318, %317 ], [ %.2, %316 ] - store i8 0, ptr %.3, align 1 - %320 = icmp sgt i32 %spec.select800, -1 - br i1 %320, label %321, label %327 - -321: ; preds = %319 - %322 = call i32 @llvm.umin.i32(i32 %spec.select800, i32 325) - %323 = call i32 (ptr, i64, ptr, ...) @curl_msnprintf(ptr noundef nonnull %.3, i64 noundef %299, ptr noundef nonnull @.str.1, i32 noundef %322) - %324 = sext i32 %323 to i64 - %325 = getelementptr inbounds i8, ptr %.3, i64 %324 - %326 = sub i64 %299, %324 - br label %327 - -327: ; preds = %321, %319 - %.21 = phi i32 [ %322, %321 ], [ %spec.select800, %319 ] - %.4 = phi ptr [ %325, %321 ], [ %.3, %319 ] - %.0310 = phi i64 [ %326, %321 ], [ %299, %319 ] - %328 = icmp sgt i32 %.2339, -1 - br i1 %328, label %329, label %343 - -329: ; preds = %327 - %330 = getelementptr inbounds i8, ptr %70, i64 8 - %331 = load double, ptr %330, align 8 - %332 = icmp slt i32 %.21, 1 - %.not407 = icmp sgt i32 %.2339, %.21 - %or.cond476 = select i1 %332, i1 true, i1 %.not407 - %333 = sub i32 324, %.21 - %.0309 = select i1 %or.cond476, i32 324, i32 %333 - %334 = fcmp ult double %331, 1.000000e+01 - br i1 %334, label %._crit_edge, label %.lr.ph - -.lr.ph: ; preds = %329, %.lr.ph - %.0566 = phi double [ %335, %.lr.ph ], [ %331, %329 ] - %.1565 = phi i32 [ %336, %.lr.ph ], [ %.0309, %329 ] - %335 = fdiv double %.0566, 1.000000e+01 - %336 = add i32 %.1565, -1 - %337 = fcmp ult double %335, 1.000000e+01 - br i1 %337, label %._crit_edge, label %.lr.ph, !llvm.loop !21 - -._crit_edge: ; preds = %.lr.ph, %329 - %.1.lcssa = phi i32 [ %.0309, %329 ], [ %336, %.lr.ph ] - %338 = icmp sgt i32 %.2339, %.1.lcssa - %339 = add nsw i32 %.1.lcssa, -1 - %spec.select477 = select i1 %338, i32 %339, i32 %.2339 - %spec.store.select14 = call i32 @llvm.smax.i32(i32 %spec.select477, i32 0) - %340 = call i32 (ptr, i64, ptr, ...) @curl_msnprintf(ptr noundef %.4, i64 noundef %.0310, ptr noundef nonnull @.str.2, i32 noundef %spec.store.select14) - %341 = sext i32 %340 to i64 - %342 = getelementptr inbounds i8, ptr %.4, i64 %341 - br label %343 - -343: ; preds = %._crit_edge, %327 - %.5 = phi ptr [ %342, %._crit_edge ], [ %.4, %327 ] - %344 = and i32 %.0319, 32 - %.not408 = icmp eq i32 %344, 0 - br i1 %.not408, label %347, label %345 - -345: ; preds = %343 - %346 = getelementptr inbounds i8, ptr %.5, i64 1 - store i8 108, ptr %.5, align 1 - br label %347 - -347: ; preds = %345, %343 - %.6 = phi ptr [ %346, %345 ], [ %.5, %343 ] - %348 = and i32 %.0319, 262144 - %.not409 = icmp eq i32 %348, 0 - br i1 %.not409, label %352, label %349 - -349: ; preds = %347 - %350 = and i32 %.0319, 4096 - %.not412 = icmp eq i32 %350, 0 - %351 = select i1 %.not412, i8 101, i8 69 - br label %357 - -352: ; preds = %347 - %353 = and i32 %.0319, 524288 - %.not410 = icmp eq i32 %353, 0 - br i1 %.not410, label %357, label %354 - -354: ; preds = %352 - %355 = and i32 %.0319, 4096 - %.not411 = icmp eq i32 %355, 0 - %356 = select i1 %.not411, i8 103, i8 71 - br label %357 - -357: ; preds = %352, %354, %349 - %.sink = phi i8 [ %356, %354 ], [ %351, %349 ], [ 102, %352 ] - store i8 %.sink, ptr %.6, align 1 - %.7 = getelementptr inbounds i8, ptr %.6, i64 1 - store i8 0, ptr %.7, align 1 - %358 = getelementptr inbounds i8, ptr %70, i64 8 - %359 = load double, ptr %358, align 8 - %360 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %9, i64 noundef 326, ptr noundef nonnull %10, double noundef %359) #12 - %361 = load i8, ptr %9, align 16 - %.not413567 = icmp eq i8 %361, 0 - br i1 %.not413567, label %.loopexit, label %.lr.ph571 - -.lr.ph571: ; preds = %357, %364 - %362 = phi i8 [ %367, %364 ], [ %361, %357 ] - %.8569 = phi ptr [ %366, %364 ], [ %9, %357 ] - %.25568 = phi i32 [ %365, %364 ], [ %.1355, %357 ] - %363 = call i32 %1(i8 noundef zeroext %362, ptr noundef %0) #12, !callees !24 - %.not414 = icmp eq i32 %363, 0 - br i1 %.not414, label %364, label %.loopexit500 - -364: ; preds = %.lr.ph571 - %365 = add nsw i32 %.25568, 1 - %366 = getelementptr inbounds i8, ptr %.8569, i64 1 - %367 = load i8, ptr %366, align 1 - %.not413 = icmp eq i8 %367, 0 - br i1 %.not413, label %.loopexit, label %.lr.ph571, !llvm.loop !22 - -368: ; preds = %64 - %369 = and i32 %.0319, 64 - %.not399 = icmp eq i32 %369, 0 - br i1 %.not399, label %374, label %370 - -370: ; preds = %368 - %371 = sext i32 %.1355 to i64 - %372 = getelementptr inbounds i8, ptr %70, i64 8 - %373 = load ptr, ptr %372, align 8 - store i64 %371, ptr %373, align 8 - br label %.loopexit - -374: ; preds = %368 - %375 = and i32 %.0319, 32 - %.not400 = icmp eq i32 %375, 0 - br i1 %.not400, label %380, label %376 - -376: ; preds = %374 - %377 = sext i32 %.1355 to i64 - %378 = getelementptr inbounds i8, ptr %70, i64 8 - %379 = load ptr, ptr %378, align 8 - store i64 %377, ptr %379, align 8 - br label %.loopexit - -380: ; preds = %374 - %381 = and i32 %.0319, 16 - %.not401 = icmp eq i32 %381, 0 - br i1 %.not401, label %382, label %385 - -382: ; preds = %380 - %383 = getelementptr inbounds i8, ptr %70, i64 8 - %384 = load ptr, ptr %383, align 8 - store i32 %.1355, ptr %384, align 4 - br label %.loopexit - -385: ; preds = %380 - %386 = trunc i32 %.1355 to i16 - %387 = getelementptr inbounds i8, ptr %70, i64 8 - %388 = load ptr, ptr %387, align 8 - store i16 %386, ptr %388, align 2 - br label %.loopexit - -.loopexit: ; preds = %364, %294, %95, %207, %357, %90, %._crit_edge634, %264, %.loopexit521, %290, %376, %385, %382, %370, %64, %.critedge - %.3357 = phi i32 [ %.2356.lcssa, %.critedge ], [ %.1355, %64 ], [ %.1355, %370 ], [ %.1355, %376 ], [ %.1355, %385 ], [ %.1355, %382 ], [ %.13367.lcssa, %._crit_edge634 ], [ %284, %290 ], [ %265, %264 ], [ %.19373, %.loopexit521 ], [ %91, %90 ], [ %.1355, %357 ], [ %205, %207 ], [ %93, %95 ], [ %292, %294 ], [ %365, %364 ] - %.1352 = phi ptr [ %.0351660, %.critedge ], [ %.0351660, %64 ], [ %.0351660, %370 ], [ %.0351660, %376 ], [ %.0351660, %385 ], [ %.0351660, %382 ], [ %.2353479751, %._crit_edge634 ], [ %.0351660, %290 ], [ %.0351660, %264 ], [ %.0351660, %.loopexit521 ], [ %.0351660, %90 ], [ %.0351660, %357 ], [ %.2353479751, %207 ], [ %.0351660, %95 ], [ %.0351660, %294 ], [ %.0351660, %364 ] - %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 - %389 = load i32, ptr %5, align 4 - %390 = sext i32 %389 to i64 - %391 = icmp slt i64 %indvars.iv.next, %390 - br i1 %391, label %16, label %.loopexit500, !llvm.loop !23 - -.loopexit500: ; preds = %.loopexit518, %162, %167, %172, %177, %230, %262, %.loopexit, %185, %181, %29, %.lr.ph571, %.lr.ph574, %285, %.lr.ph580, %.lr.ph583, %250, %.lr.ph596, %.lr.ph599, %.lr.ph603, %.lr.ph621, %.lr.ph625, %.lr.ph633, %.lr.ph637, %4 - ret void -} - ; Function Attrs: nofree nounwind uwtable define dso_local i32 @curl_msnprintf(ptr noundef %0, i64 noundef %1, ptr noundef %2, ...) local_unnamed_addr #0 { %4 = alloca [1 x %struct.__va_list_tag], align 16 @@ -2107,25 +1132,24 @@ define dso_local range(i32 -128, 128) i32 @Curl_dyn_vprintf(ptr noundef %0, ptr store ptr %0, ptr %4, align 8 %5 = getelementptr inbounds i8, ptr %4, i64 8 store i8 0, ptr %5, align 8 - call fastcc void @formatf(ptr noundef nonnull %4, ptr noundef nonnull @alloc_addbyter, ptr noundef %1, ptr noundef %2) + call fastcc void @formatf.specialized.4(ptr noundef nonnull %4, ptr noundef %1, ptr noundef %2) %6 = load i8, ptr %5, align 8 %.not = icmp eq i8 %6, 0 - br i1 %.not, label %11, label %7 + br i1 %.not, label %10, label %7 7: ; preds = %3 %8 = load ptr, ptr %4, align 8 - call void @Curl_dyn_free(ptr noundef %8) #12 - %9 = load i8, ptr %5, align 8 - %10 = sext i8 %9 to i32 - br label %11 + tail call void @Curl_dyn_free(ptr noundef %8) #12 + %9 = sext i8 %6 to i32 + br label %10 -11: ; preds = %3, %7 - %.0 = phi i32 [ %10, %7 ], [ 0, %3 ] +10: ; preds = %3, %7 + %.0 = phi i32 [ %9, %7 ], [ 0, %3 ] ret i32 %.0 } ; Function Attrs: nounwind uwtable -define internal range(i32 0, 2) i32 @alloc_addbyter(i8 noundef zeroext %0, ptr nocapture noundef %1) #1 { +define internal fastcc range(i32 0, 2) i32 @alloc_addbyter(i8 noundef zeroext %0, ptr nocapture noundef %1) unnamed_addr #1 { %3 = alloca i8, align 1 store i8 %0, ptr %3, align 1 %4 = load ptr, ptr %1, align 8 @@ -2155,7 +1179,7 @@ define dso_local ptr @curl_mvaprintf(ptr noundef %0, ptr nocapture noundef %1) l call void @Curl_dyn_init(ptr noundef nonnull %4, i64 noundef 8000000) #12 %5 = getelementptr inbounds i8, ptr %3, i64 8 store i8 0, ptr %5, align 8 - call fastcc void @formatf(ptr noundef nonnull %3, ptr noundef nonnull @alloc_addbyter, ptr noundef %0, ptr noundef %1) + call fastcc void @formatf.specialized.4(ptr noundef nonnull %3, ptr noundef %0, ptr noundef %1) %6 = load i8, ptr %5, align 8 %.not = icmp eq i8 %6, 0 %7 = load ptr, ptr %3, align 8 @@ -2163,25 +1187,24 @@ define dso_local ptr @curl_mvaprintf(ptr noundef %0, ptr nocapture noundef %1) l 8: ; preds = %2 call void @Curl_dyn_free(ptr noundef %7) #12 - br label %17 + br label %16 9: ; preds = %2 %10 = call i64 @Curl_dyn_len(ptr noundef %7) #12 %.not3 = icmp eq i64 %10, 0 - br i1 %.not3, label %14, label %11 + br i1 %.not3, label %13, label %11 11: ; preds = %9 - %12 = load ptr, ptr %3, align 8 - %13 = call ptr @Curl_dyn_ptr(ptr noundef %12) #12 - br label %17 + %12 = call ptr @Curl_dyn_ptr(ptr noundef %7) #12 + br label %16 -14: ; preds = %9 - %15 = load ptr, ptr @Curl_cstrdup, align 8 - %16 = call ptr %15(ptr noundef nonnull @.str) #12 - br label %17 +13: ; preds = %9 + %14 = load ptr, ptr @Curl_cstrdup, align 8 + %15 = call ptr %14(ptr noundef nonnull @.str) #12 + br label %16 -17: ; preds = %14, %11, %8 - %.0 = phi ptr [ null, %8 ], [ %13, %11 ], [ %16, %14 ] +16: ; preds = %13, %11, %8 + %.0 = phi ptr [ null, %8 ], [ %12, %11 ], [ %15, %13 ] ret ptr %.0 } @@ -2203,7 +1226,7 @@ define dso_local ptr @curl_maprintf(ptr noundef %0, ...) local_unnamed_addr #1 { call void @Curl_dyn_init(ptr noundef nonnull %3, i64 noundef 8000000) #12 %5 = getelementptr inbounds i8, ptr %2, i64 8 store i8 0, ptr %5, align 8 - call fastcc void @formatf(ptr noundef nonnull %2, ptr noundef nonnull @alloc_addbyter, ptr noundef %0, ptr noundef nonnull %4) + call fastcc void @formatf.specialized.4(ptr noundef nonnull %2, ptr noundef %0, ptr noundef nonnull %4) %6 = load i8, ptr %5, align 8 %.not.i = icmp eq i8 %6, 0 %7 = load ptr, ptr %2, align 8 @@ -2216,20 +1239,19 @@ define dso_local ptr @curl_maprintf(ptr noundef %0, ...) local_unnamed_addr #1 { 9: ; preds = %1 %10 = call i64 @Curl_dyn_len(ptr noundef %7) #12 %.not3.i = icmp eq i64 %10, 0 - br i1 %.not3.i, label %14, label %11 + br i1 %.not3.i, label %13, label %11 11: ; preds = %9 - %12 = load ptr, ptr %2, align 8 - %13 = call ptr @Curl_dyn_ptr(ptr noundef %12) #12 + %12 = call ptr @Curl_dyn_ptr(ptr noundef %7) #12 br label %curl_mvaprintf.exit -14: ; preds = %9 - %15 = load ptr, ptr @Curl_cstrdup, align 8 - %16 = call ptr %15(ptr noundef nonnull @.str) #12 +13: ; preds = %9 + %14 = load ptr, ptr @Curl_cstrdup, align 8 + %15 = call ptr %14(ptr noundef nonnull @.str) #12 br label %curl_mvaprintf.exit -curl_mvaprintf.exit: ; preds = %8, %11, %14 - %.0.i = phi ptr [ null, %8 ], [ %13, %11 ], [ %16, %14 ] +curl_mvaprintf.exit: ; preds = %8, %11, %13 + %.0.i = phi ptr [ null, %8 ], [ %12, %11 ], [ %15, %13 ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %2) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) call void @llvm.va_end.p0(ptr nonnull %4) @@ -2362,7 +1384,7 @@ thread-pre-split: ; preds = %thread-pre-split.ou 29: ; preds = %21, %14 %.1168 = phi i32 [ %22, %21 ], [ %.0167.ph.ph314, %14 ] %30 = getelementptr inbounds i8, ptr %.0278, i64 2 - br label %thread-pre-split.outer312, !llvm.loop !25 + br label %thread-pre-split.outer312, !llvm.loop !24 31: ; preds = %10 %.not225 = icmp eq i32 %.0164, 1 @@ -2387,7 +1409,7 @@ thread-pre-split: ; preds = %thread-pre-split.ou %41 = load i8, ptr %40, align 1 %42 = add i8 %41, -48 %or.cond21.i = icmp ult i8 %42, 10 - br i1 %or.cond21.i, label %.preheader.i, label %.critedge.i, !llvm.loop !26 + br i1 %or.cond21.i, label %.preheader.i, label %.critedge.i, !llvm.loop !25 .critedge.i: ; preds = %.preheader.i %43 = icmp ne i32 %.1.i, 0 @@ -2494,7 +1516,7 @@ dollarstring.exit.thread: ; preds = %32, %.critedge.i, % %80 = load i8, ptr %79, align 1 %81 = add i8 %80, -48 %or.cond21.i254 = icmp ult i8 %81, 10 - br i1 %or.cond21.i254, label %.preheader.i250, label %.critedge.i255, !llvm.loop !26 + br i1 %or.cond21.i254, label %.preheader.i250, label %.critedge.i255, !llvm.loop !25 .critedge.i255: ; preds = %.preheader.i250 %82 = icmp eq i32 %.1.i253, 0 @@ -2534,7 +1556,7 @@ dollarstring.exit.thread: ; preds = %32, %.critedge.i, % %101 = load i8, ptr %100, align 1 %102 = add i8 %101, -48 %or.cond = icmp ult i8 %102, 10 - br i1 %or.cond, label %.lr.ph, label %.critedge, !llvm.loop !27 + br i1 %or.cond, label %.lr.ph, label %.critedge, !llvm.loop !26 .critedge: ; preds = %96, %88 %.6283.lcssa = phi ptr [ %spec.select294, %88 ], [ %100, %96 ] @@ -2612,7 +1634,7 @@ dollarstring.exit.thread: ; preds = %32, %.critedge.i, % %138 = load i8, ptr %137, align 1 %139 = add i8 %138, -48 %or.cond241 = icmp ult i8 %139, 10 - br i1 %or.cond241, label %129, label %.critedge2, !llvm.loop !28 + br i1 %or.cond241, label %129, label %.critedge2, !llvm.loop !27 140: ; preds = %52 %141 = or i32 %.0181569, 16384 @@ -2638,7 +1660,7 @@ dollarstring.exit.thread: ; preds = %32, %.critedge.i, % %152 = load i8, ptr %151, align 1 %153 = add i8 %152, -48 %or.cond21.i265 = icmp ult i8 %153, 10 - br i1 %or.cond21.i265, label %.preheader.i261, label %.critedge.i266, !llvm.loop !26 + br i1 %or.cond21.i265, label %.preheader.i261, label %.critedge.i266, !llvm.loop !25 .critedge.i266: ; preds = %.preheader.i261 %154 = icmp eq i32 %.1.i264, 0 @@ -2657,7 +1679,7 @@ dollarstring.exit.thread: ; preds = %32, %.critedge.i, % %.1194 = phi i32 [ -1, %140 ], [ %.0193567, %121 ], [ %.0193567, %119 ], [ %.0193567, %117 ], [ %.0193567, %115 ], [ %.0193567, %113 ], [ %.0193567, %111 ], [ %.0193567, %107 ], [ %.0193567, %104 ], [ %.0193567, %62 ], [ %.0193567, %59 ], [ %.0193567, %57 ], [ %.0193567, %55 ], [ %158, %.critedge.i266 ], [ %136, %132 ] %.1188 = phi i32 [ %.0187568, %140 ], [ %.0187568, %121 ], [ %.0187568, %119 ], [ %.0187568, %117 ], [ %.0187568, %115 ], [ %.0187568, %113 ], [ %.0187568, %111 ], [ %.0187568, %107 ], [ %.2189, %104 ], [ %.0187568, %62 ], [ %.0187568, %59 ], [ %.0187568, %57 ], [ %.0187568, %55 ], [ %.0187568, %.critedge.i266 ], [ %.0187568, %132 ] %.2183 = phi i32 [ %141, %140 ], [ %122, %121 ], [ %120, %119 ], [ %118, %117 ], [ %116, %115 ], [ %114, %113 ], [ %112, %111 ], [ %108, %107 ], [ %.3184, %104 ], [ %63, %62 ], [ %61, %59 ], [ %58, %57 ], [ %56, %55 ], [ %141, %.critedge.i266 ], [ %128, %132 ] - br label %52, !llvm.loop !29 + br label %52, !llvm.loop !28 160: ; preds = %52 %161 = load i8, ptr %.2280566, align 1 @@ -2678,7 +1700,7 @@ dollarstring.exit.thread: ; preds = %32, %.critedge.i, % i8 69, label %229 i8 103, label %235 i8 71, label %241 - ], !llvm.loop !25 + ], !llvm.loop !24 162: ; preds = %160 %163 = ptrtoint ptr %11 to i64 @@ -2953,11 +1975,11 @@ dollarstring.exit.thread: ; preds = %32, %.critedge.i, % store ptr %.0162.ph.ph316, ptr %331, align 8 %332 = getelementptr inbounds i8, ptr %327, i64 24 store i64 %252, ptr %332, align 8 - br label %thread-pre-split.outer, !llvm.loop !25 + br label %thread-pre-split.outer, !llvm.loop !24 333: ; preds = %8 %334 = getelementptr inbounds i8, ptr %.0278, i64 1 - br label %thread-pre-split, !llvm.loop !25 + br label %thread-pre-split, !llvm.loop !24 335: ; preds = %8 %336 = ptrtoint ptr %.0278 to i64 @@ -3272,7 +2294,7 @@ dollarstring.exit.thread: ; preds = %32, %.critedge.i, % 504: ; preds = %378, %393, %408, %423, %438, %453, %468, %484, %500, %365 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count - br i1 %exitcond.not, label %._crit_edge, label %354, !llvm.loop !30 + br i1 %exitcond.not, label %._crit_edge, label %354, !llvm.loop !29 ._crit_edge: ; preds = %504, %.._crit_edge_crit_edge %.pre-phi = phi i32 [ %.pre, %.._crit_edge_crit_edge ], [ %353, %504 ] @@ -5306,6 +4328,1241 @@ define internal fastcc i32 @formatf.specialized.3(ptr nocapture noundef %0, ptr ret i32 %.0331 } +; Function Attrs: nounwind uwtable +define internal fastcc void @formatf.specialized.4(ptr nocapture noundef %0, ptr noundef %1, ptr nocapture noundef %2) unnamed_addr #1 { + %4 = alloca i8, align 1 + %5 = alloca i8, align 1 + %6 = alloca i8, align 1 + %7 = alloca i8, align 1 + %8 = alloca i8, align 1 + %9 = alloca i8, align 1 + %10 = alloca i8, align 1 + %11 = alloca i8, align 1 + %12 = alloca i8, align 1 + %13 = alloca i8, align 1 + %14 = alloca i8, align 1 + %15 = alloca i8, align 1 + %16 = alloca i8, align 1 + %17 = alloca i8, align 1 + %18 = alloca i8, align 1 + %19 = alloca i8, align 1 + %20 = alloca i8, align 1 + %21 = alloca i8, align 1 + %22 = alloca i8, align 1 + %23 = alloca i8, align 1 + %24 = alloca i32, align 4 + %25 = alloca i32, align 4 + %26 = alloca [128 x %struct.outsegment], align 16 + %27 = alloca [128 x %struct.va_input], align 16 + %28 = alloca [326 x i8], align 16 + %29 = alloca [32 x i8], align 16 + store i32 0, ptr %24, align 4 + store i32 0, ptr %25, align 4 + %30 = call fastcc i32 @parsefmt(ptr noundef %1, ptr noundef %26, ptr noundef %27, ptr noundef %24, ptr noundef %25, ptr noundef %2) + %.not = icmp eq i32 %30, 0 + %31 = load i32, ptr %24, align 4 + %32 = icmp sgt i32 %31, 0 + %or.cond241 = select i1 %.not, i1 %32, i1 false + br i1 %or.cond241, label %.lr.ph232, label %.loopexit88 + +.lr.ph232: ; preds = %3 + %33 = getelementptr inbounds i8, ptr %29, i64 1 + %34 = getelementptr inbounds i8, ptr %29, i64 2 + br label %35 + +35: ; preds = %.lr.ph232, %.loopexit + %indvars.iv = phi i64 [ 0, %.lr.ph232 ], [ %indvars.iv.next, %.loopexit ] + %.0351231 = phi ptr [ @lower_digits, %.lr.ph232 ], [ %.1352, %.loopexit ] + %.0354230 = phi i32 [ 0, %.lr.ph232 ], [ %.3357, %.loopexit ] + %36 = getelementptr inbounds [128 x %struct.outsegment], ptr %26, i64 0, i64 %indvars.iv + %37 = getelementptr inbounds i8, ptr %36, i64 24 + %38 = load i64, ptr %37, align 8 + %39 = getelementptr inbounds i8, ptr %36, i64 8 + %40 = load i32, ptr %39, align 8 + %.not1 = icmp eq i64 %38, 0 + br i1 %.not1, label %59, label %41 + +41: ; preds = %35 + %42 = getelementptr inbounds i8, ptr %36, i64 16 + %43 = load ptr, ptr %42, align 16 + %44 = trunc i64 %38 to i32 + %45 = add i32 %.0354230, %44 + br label %46 + +46: ; preds = %41, %54 + %.0318152 = phi ptr [ %43, %41 ], [ %55, %54 ] + %.0323151 = phi i64 [ %38, %41 ], [ %57, %54 ] + %.2356150 = phi i32 [ %.0354230, %41 ], [ %56, %54 ] + %47 = load i8, ptr %.0318152, align 1 + %.not3 = icmp eq i8 %47, 0 + br i1 %.not3, label %.critedge, label %48 + +48: ; preds = %46 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %23) + store i8 %47, ptr %23, align 1 + %49 = load ptr, ptr %0, align 8 + %50 = call i32 @Curl_dyn_addn(ptr noundef %49, ptr noundef nonnull %23, i64 noundef 1) #12 + %.not.i = icmp eq i32 %50, 0 + br i1 %.not.i, label %54, label %alloc_addbyter.exit + +alloc_addbyter.exit: ; preds = %48 + %51 = icmp eq i32 %50, 100 + %52 = select i1 %51, i8 2, i8 1 + %53 = getelementptr inbounds i8, ptr %0, i64 8 + store i8 %52, ptr %53, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %23) + br label %.loopexit88 + +54: ; preds = %48 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %23) + %55 = getelementptr inbounds i8, ptr %.0318152, i64 1 + %56 = add nsw i32 %.2356150, 1 + %57 = add i64 %.0323151, -1 + %.not2 = icmp eq i64 %57, 0 + br i1 %.not2, label %.critedge, label %46, !llvm.loop !5 + +.critedge: ; preds = %46, %54 + %.2356.lcssa = phi i32 [ %.2356150, %46 ], [ %45, %54 ] + %58 = and i32 %40, 1048576 + %.not4 = icmp eq i32 %58, 0 + br i1 %.not4, label %59, label %.loopexit + +59: ; preds = %.critedge, %35 + %.1355 = phi i32 [ %.2356.lcssa, %.critedge ], [ %.0354230, %35 ] + %60 = and i32 %40, 16384 + %.not5 = icmp eq i32 %60, 0 + %61 = load i32, ptr %36, align 16 + br i1 %.not5, label %73, label %62 + +62: ; preds = %59 + %63 = sext i32 %61 to i64 + %64 = getelementptr inbounds [128 x %struct.va_input], ptr %27, i64 0, i64 %63, i32 1 + %65 = load i64, ptr %64, align 8 + %66 = trunc i64 %65 to i32 + %67 = icmp slt i32 %66, 0 + br i1 %67, label %68, label %73 + +68: ; preds = %62 + %69 = icmp eq i32 %66, -2147483648 + %70 = sub nsw i32 0, %66 + %.0341 = select i1 %69, i32 2147483647, i32 %70 + %71 = and i32 %40, -261 + %72 = or disjoint i32 %71, 4 + br label %73 + +73: ; preds = %59, %68, %62 + %.1342 = phi i32 [ %.0341, %68 ], [ %66, %62 ], [ %61, %59 ] + %.0319 = phi i32 [ %72, %68 ], [ %40, %62 ], [ %40, %59 ] + %74 = and i32 %.0319, 65536 + %.not6 = icmp eq i32 %74, 0 + br i1 %.not6, label %82, label %75 + +75: ; preds = %73 + %76 = getelementptr inbounds i8, ptr %36, i64 4 + %77 = load i32, ptr %76, align 4 + %78 = sext i32 %77 to i64 + %79 = getelementptr inbounds [128 x %struct.va_input], ptr %27, i64 0, i64 %78, i32 1 + %80 = load i64, ptr %79, align 8 + %81 = trunc i64 %80 to i32 + %spec.store.select = call i32 @llvm.smax.i32(i32 %81, i32 -1) + br label %87 + +82: ; preds = %73 + %83 = and i32 %.0319, 32768 + %.not7 = icmp eq i32 %83, 0 + br i1 %.not7, label %87, label %84 + +84: ; preds = %82 + %85 = getelementptr inbounds i8, ptr %36, i64 4 + %86 = load i32, ptr %85, align 4 + br label %87 + +87: ; preds = %82, %84, %75 + %.0337 = phi i32 [ %spec.store.select, %75 ], [ %86, %84 ], [ -1, %82 ] + %88 = and i32 %.0319, 8 + %.not8 = icmp eq i32 %88, 0 + %89 = icmp ne i32 %88, 0 + %90 = getelementptr inbounds i8, ptr %36, i64 12 + %91 = load i32, ptr %90, align 4 + %92 = zext i32 %91 to i64 + %93 = getelementptr inbounds [128 x %struct.va_input], ptr %27, i64 0, i64 %92 + %94 = load i32, ptr %93, align 16 + switch i32 %94, label %.loopexit [ + i32 6, label %95 + i32 7, label %95 + i32 8, label %95 + i32 3, label %97 + i32 4, label %97 + i32 5, label %97 + i32 0, label %281 + i32 1, label %349 + i32 9, label %392 + i32 2, label %467 + ] + +95: ; preds = %87, %87, %87 + %96 = or i32 %.0319, 512 + br label %97 + +97: ; preds = %95, %87, %87, %87 + %.1320 = phi i32 [ %.0319, %87 ], [ %.0319, %87 ], [ %.0319, %87 ], [ %96, %95 ] + %98 = getelementptr inbounds i8, ptr %93, i64 8 + %99 = load i64, ptr %98, align 8 + %100 = and i32 %.1320, 131072 + %.not43 = icmp eq i32 %100, 0 + br i1 %.not43, label %133, label %101 + +101: ; preds = %97 + %102 = and i32 %.1320, 4 + %.not75 = icmp ne i32 %102, 0 + br i1 %.not75, label %.loopexit77, label %.preheader76 + +.preheader76: ; preds = %101 + %103 = add i32 %.1342, -1 + %104 = icmp sgt i32 %.1342, 1 + br i1 %104, label %.lr.ph187.preheader, label %.loopexit77 + +.lr.ph187.preheader: ; preds = %.preheader76 + %105 = add i32 %103, %.1355 + br label %.lr.ph187 + +.lr.ph187: ; preds = %.lr.ph187.preheader, %112 + %106 = phi i32 [ %113, %112 ], [ %103, %.lr.ph187.preheader ] + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %22) + store i8 32, ptr %22, align 1 + %107 = load ptr, ptr %0, align 8 + %108 = call i32 @Curl_dyn_addn(ptr noundef %107, ptr noundef nonnull %22, i64 noundef 1) #12 + %.not.i88 = icmp eq i32 %108, 0 + br i1 %.not.i88, label %112, label %alloc_addbyter.exit90 + +alloc_addbyter.exit90: ; preds = %.lr.ph187 + %109 = icmp eq i32 %108, 100 + %110 = select i1 %109, i8 2, i8 1 + %111 = getelementptr inbounds i8, ptr %0, i64 8 + store i8 %110, ptr %111, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) + br label %.loopexit88 + +112: ; preds = %.lr.ph187 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) + %113 = add nsw i32 %106, -1 + %114 = icmp sgt i32 %106, 1 + br i1 %114, label %.lr.ph187, label %.loopexit77, !llvm.loop !7 + +.loopexit77: ; preds = %112, %.preheader76, %101 + %.5359 = phi i32 [ %.1355, %101 ], [ %.1355, %.preheader76 ], [ %105, %112 ] + %.3344 = phi i32 [ %.1342, %101 ], [ %103, %.preheader76 ], [ 0, %112 ] + %115 = trunc i64 %99 to i8 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %21) + store i8 %115, ptr %21, align 1 + %116 = load ptr, ptr %0, align 8 + %117 = call i32 @Curl_dyn_addn(ptr noundef %116, ptr noundef nonnull %21, i64 noundef 1) #12 + %.not.i91 = icmp eq i32 %117, 0 + br i1 %.not.i91, label %121, label %alloc_addbyter.exit93 + +alloc_addbyter.exit93: ; preds = %.loopexit77 + %118 = icmp eq i32 %117, 100 + %119 = select i1 %118, i8 2, i8 1 + %120 = getelementptr inbounds i8, ptr %0, i64 8 + store i8 %119, ptr %120, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) + br label %.loopexit88 + +121: ; preds = %.loopexit77 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) + %122 = add nsw i32 %.5359, 1 + %123 = icmp sgt i32 %.3344, 1 + %or.cond243 = select i1 %.not75, i1 %123, i1 false + br i1 %or.cond243, label %.lr.ph191.preheader, label %.loopexit + +.lr.ph191.preheader: ; preds = %121 + %124 = add i32 %.3344, %.5359 + br label %.lr.ph191 + +.lr.ph191: ; preds = %.lr.ph191.preheader, %130 + %.in251 = phi i32 [ %131, %130 ], [ %.3344, %.lr.ph191.preheader ] + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %20) + store i8 32, ptr %20, align 1 + %125 = load ptr, ptr %0, align 8 + %126 = call i32 @Curl_dyn_addn(ptr noundef %125, ptr noundef nonnull %20, i64 noundef 1) #12 + %.not.i94 = icmp eq i32 %126, 0 + br i1 %.not.i94, label %130, label %alloc_addbyter.exit96 + +alloc_addbyter.exit96: ; preds = %.lr.ph191 + %127 = icmp eq i32 %126, 100 + %128 = select i1 %127, i8 2, i8 1 + %129 = getelementptr inbounds i8, ptr %0, i64 8 + store i8 %128, ptr %129, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) + br label %.loopexit88 + +130: ; preds = %.lr.ph191 + %131 = add nsw i32 %.in251, -1 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) + %132 = icmp sgt i32 %.in251, 2 + br i1 %132, label %.lr.ph191, label %.loopexit, !llvm.loop !8 + +133: ; preds = %97 + %134 = and i32 %.1320, 1024 + %.not44.not = icmp eq i32 %134, 0 + br i1 %.not44.not, label %135, label %.preheader71 + +135: ; preds = %133 + %136 = and i32 %.1320, 2048 + %.not45 = icmp eq i32 %136, 0 + br i1 %.not45, label %.preheader69, label %137 + +137: ; preds = %135 + %138 = and i32 %.1320, 4096 + %.not48 = icmp eq i32 %138, 0 + %139 = select i1 %.not48, ptr @lower_digits, ptr @upper_digits + br label %.preheader71 + +.preheader71: ; preds = %133, %352, %137 + %.232121.ph = phi i32 [ %.1320, %137 ], [ %.0319, %352 ], [ %.1320, %133 ] + %.033519.ph = phi i64 [ 16, %137 ], [ 16, %352 ], [ 8, %133 ] + %.ph = phi i1 [ true, %137 ], [ true, %352 ], [ false, %133 ] + %.ph72 = phi i1 [ false, %137 ], [ false, %352 ], [ true, %133 ] + %.035014.ph = phi i1 [ %89, %137 ], [ true, %352 ], [ %89, %133 ] + %.235310.ph = phi ptr [ %139, %137 ], [ %354, %352 ], [ %.0351231, %133 ] + %.2334.ph = phi i64 [ %99, %137 ], [ %355, %352 ], [ %99, %133 ] + %140 = icmp eq i32 %.0337, -1 + %spec.store.select1 = select i1 %140, i32 1, i32 %.0337 + %.not49193 = icmp eq i64 %.2334.ph, 0 + br i1 %.not49193, label %.loopexit70, label %.lr.ph196.preheader + +.lr.ph196.preheader: ; preds = %.preheader71 + %141 = add nsw i64 %.033519.ph, -1 + br label %.lr.ph196 + +.preheader69: ; preds = %135 + %142 = and i32 %.1320, 512 + %.not46 = icmp eq i32 %142, 0 + %143 = icmp slt i64 %99, 0 + %spec.select = call i64 @llvm.abs.i64(i64 %99, i1 false) + %.033618.ph = select i1 %.not46, i1 %143, i1 false + %.1333.ph = select i1 %.not46, i64 %spec.select, i64 %99 + %144 = icmp eq i32 %.0337, -1 + %spec.store.select1342 = select i1 %144, i32 1, i32 %.0337 + %.not50198 = icmp eq i64 %.1333.ph, 0 + br i1 %.not50198, label %.loopexit70.thread, label %.lr.ph201 + +.lr.ph201: ; preds = %.preheader69, %.lr.ph201 + %.0324.idx200 = phi i64 [ %.0324.add, %.lr.ph201 ], [ 324, %.preheader69 ] + %.1333199 = phi i64 [ %148, %.lr.ph201 ], [ %.1333.ph, %.preheader69 ] + %.0324.ptr = getelementptr inbounds i8, ptr %28, i64 %.0324.idx200 + %145 = urem i64 %.1333199, 10 + %146 = trunc nuw nsw i64 %145 to i8 + %147 = or disjoint i8 %146, 48 + %.0324.add = add nsw i64 %.0324.idx200, -1 + store i8 %147, ptr %.0324.ptr, align 1 + %148 = udiv i64 %.1333199, 10 + %.not50 = icmp ult i64 %.1333199, 10 + br i1 %.not50, label %.loopexit70.thread, label %.lr.ph201, !llvm.loop !9 + +.lr.ph196: ; preds = %.lr.ph196.preheader, %.lr.ph196 + %.2326.idx195 = phi i64 [ %.2326.add, %.lr.ph196 ], [ 324, %.lr.ph196.preheader ] + %.2334194 = phi i64 [ %152, %.lr.ph196 ], [ %.2334.ph, %.lr.ph196.preheader ] + %.2326.ptr = getelementptr inbounds i8, ptr %28, i64 %.2326.idx195 + %149 = and i64 %.2334194, %141 + %150 = getelementptr inbounds i8, ptr %.235310.ph, i64 %149 + %151 = load i8, ptr %150, align 1 + %.2326.add = add nsw i64 %.2326.idx195, -1 + store i8 %151, ptr %.2326.ptr, align 1 + %152 = udiv i64 %.2334194, %.033519.ph + %.not49 = icmp ugt i64 %.033519.ph, %.2334194 + br i1 %.not49, label %.loopexit70, label %.lr.ph196, !llvm.loop !10 + +.loopexit70.thread: ; preds = %.lr.ph201, %.preheader69 + %.1325.idx.ph = phi i64 [ 324, %.preheader69 ], [ %.0324.add, %.lr.ph201 ] + %153 = trunc i64 %.1325.idx.ph to i32 + %154 = sub i32 324, %153 + %155 = sub nsw i32 %.1342, %154 + %156 = sub nsw i32 %spec.store.select1342, %154 + br label %163 + +.loopexit70: ; preds = %.lr.ph196, %.preheader71 + %.1325.idx = phi i64 [ 324, %.preheader71 ], [ %.2326.add, %.lr.ph196 ] + %157 = trunc i64 %.1325.idx to i32 + %158 = sub i32 324, %157 + %159 = sub nsw i32 %.1342, %158 + %160 = sub nsw i32 %spec.store.select1, %158 + %or.cond = and i1 %.ph72, %.035014.ph + %161 = icmp slt i32 %160, 1 + %or.cond4 = select i1 %or.cond, i1 %161, i1 false + br i1 %or.cond4, label %.thread, label %163 + +.thread: ; preds = %.loopexit70 + %.1325.ptr = getelementptr inbounds i8, ptr %28, i64 %.1325.idx + %.1325.add = add nsw i64 %.1325.idx, -1 + store i8 48, ptr %.1325.ptr, align 1 + %162 = add nsw i32 %159, -1 + br label %.loopexit68 + +163: ; preds = %.loopexit70.thread, %.loopexit70 + %164 = phi i32 [ %156, %.loopexit70.thread ], [ %160, %.loopexit70 ] + %165 = phi i32 [ %155, %.loopexit70.thread ], [ %159, %.loopexit70 ] + %166 = phi i32 [ %153, %.loopexit70.thread ], [ %157, %.loopexit70 ] + %.1325.idx360 = phi i64 [ %.1325.idx.ph, %.loopexit70.thread ], [ %.1325.idx, %.loopexit70 ] + %.235311359 = phi ptr [ %.0351231, %.loopexit70.thread ], [ %.235310.ph, %.loopexit70 ] + %.035013357 = phi i1 [ %89, %.loopexit70.thread ], [ %.035014.ph, %.loopexit70 ] + %.033616355 = phi i1 [ %.033618.ph, %.loopexit70.thread ], [ false, %.loopexit70 ] + %167 = phi i1 [ false, %.loopexit70.thread ], [ %.ph, %.loopexit70 ] + %.232120353 = phi i32 [ %.1320, %.loopexit70.thread ], [ %.232121.ph, %.loopexit70 ] + %spec.store.select123351 = phi i32 [ %spec.store.select1342, %.loopexit70.thread ], [ %spec.store.select1, %.loopexit70 ] + %168 = icmp sgt i32 %164, 0 + br i1 %168, label %169, label %.loopexit68 + +169: ; preds = %163 + %170 = sub nsw i32 %165, %164 + %171 = icmp sgt i64 %.1325.idx360, -1 + br i1 %171, label %.lr.ph206.preheader, label %.loopexit68 + +.lr.ph206.preheader: ; preds = %169 + %172 = add i32 %spec.store.select123351, -325 + %173 = add i32 %172, %166 + %174 = zext i32 %173 to i64 + %umin = call i64 @llvm.umin.i64(i64 %.1325.idx360, i64 %174) + %175 = sub nsw i64 %.1325.idx360, %umin + %scevgep = getelementptr i8, ptr %28, i64 %175 + %176 = add nuw nsw i64 %umin, 1 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(1) %scevgep, i8 48, i64 %176, i1 false) + %177 = xor i64 %umin, -1 + %178 = add nsw i64 %.1325.idx360, %177 + br label %.loopexit68 + +.loopexit68: ; preds = %.lr.ph206.preheader, %169, %.thread, %163 + %.235311358 = phi ptr [ %.235311359, %163 ], [ %.235310.ph, %.thread ], [ %.235311359, %169 ], [ %.235311359, %.lr.ph206.preheader ] + %.035013356 = phi i1 [ %.035013357, %163 ], [ %.035014.ph, %.thread ], [ %.035013357, %169 ], [ %.035013357, %.lr.ph206.preheader ] + %.033616354 = phi i1 [ %.033616355, %163 ], [ false, %.thread ], [ %.033616355, %169 ], [ %.033616355, %.lr.ph206.preheader ] + %179 = phi i1 [ %167, %163 ], [ %.ph, %.thread ], [ %167, %169 ], [ %167, %.lr.ph206.preheader ] + %.232120352 = phi i32 [ %.232120353, %163 ], [ %.232121.ph, %.thread ], [ %.232120353, %169 ], [ %.232120353, %.lr.ph206.preheader ] + %.6347 = phi i32 [ %165, %163 ], [ %162, %.thread ], [ %170, %169 ], [ %170, %.lr.ph206.preheader ] + %.4328.idx = phi i64 [ %.1325.idx360, %163 ], [ %.1325.add, %.thread ], [ %.1325.idx360, %169 ], [ %178, %.lr.ph206.preheader ] + %or.cond6 = and i1 %179, %.035013356 + %180 = add nsw i32 %.6347, -2 + %spec.select80 = select i1 %or.cond6, i32 %180, i32 %.6347 + %181 = and i32 %.232120352, 2 + %.not51 = icmp eq i32 %181, 0 + %182 = and i32 %.232120352, 1 + %.not52 = icmp eq i32 %182, 0 + %183 = and i32 %.232120352, 3 + %184 = icmp ne i32 %183, 0 + %or.cond83.not = or i1 %184, %.033616354 + %185 = sext i1 %or.cond83.not to i32 + %.8349 = add nsw i32 %spec.select80, %185 + %186 = and i32 %.232120352, 4 + %.not53.not = icmp ne i32 %186, 0 + %187 = and i32 %.232120352, 260 + %or.cond84 = icmp eq i32 %187, 0 + br i1 %or.cond84, label %.preheader66, label %.loopexit67 + +.preheader66: ; preds = %.loopexit68 + %188 = add nsw i32 %.8349, -1 + %189 = icmp sgt i32 %.8349, 0 + br i1 %189, label %.lr.ph209.preheader, label %.loopexit67 + +.lr.ph209.preheader: ; preds = %.preheader66 + %190 = add i32 %spec.select80, %.1355 + %191 = add i32 %190, %185 + br label %.lr.ph209 + +.lr.ph209: ; preds = %.lr.ph209.preheader, %198 + %192 = phi i32 [ %199, %198 ], [ %188, %.lr.ph209.preheader ] + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %19) + store i8 32, ptr %19, align 1 + %193 = load ptr, ptr %0, align 8 + %194 = call i32 @Curl_dyn_addn(ptr noundef %193, ptr noundef nonnull %19, i64 noundef 1) #12 + %.not.i97 = icmp eq i32 %194, 0 + br i1 %.not.i97, label %198, label %alloc_addbyter.exit99 + +alloc_addbyter.exit99: ; preds = %.lr.ph209 + %195 = icmp eq i32 %194, 100 + %196 = select i1 %195, i8 2, i8 1 + %197 = getelementptr inbounds i8, ptr %0, i64 8 + store i8 %196, ptr %197, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) + br label %.loopexit88 + +198: ; preds = %.lr.ph209 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) + %199 = add nsw i32 %192, -1 + %200 = icmp sgt i32 %192, 0 + br i1 %200, label %.lr.ph209, label %.loopexit67, !llvm.loop !11 + +.loopexit67: ; preds = %198, %.preheader66, %.loopexit68 + %.7361 = phi i32 [ %.1355, %.loopexit68 ], [ %.1355, %.preheader66 ], [ %191, %198 ] + %.9 = phi i32 [ %.8349, %.loopexit68 ], [ %188, %.preheader66 ], [ -1, %198 ] + br i1 %.033616354, label %201, label %209 + +201: ; preds = %.loopexit67 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %18) + store i8 45, ptr %18, align 1 + %202 = load ptr, ptr %0, align 8 + %203 = call i32 @Curl_dyn_addn(ptr noundef %202, ptr noundef nonnull %18, i64 noundef 1) #12 + %.not.i100 = icmp eq i32 %203, 0 + br i1 %.not.i100, label %207, label %alloc_addbyter.exit102 + +alloc_addbyter.exit102: ; preds = %201 + %204 = icmp eq i32 %203, 100 + %205 = select i1 %204, i8 2, i8 1 + %206 = getelementptr inbounds i8, ptr %0, i64 8 + store i8 %205, ptr %206, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) + br label %.loopexit88 + +207: ; preds = %201 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) + %208 = add nsw i32 %.7361, 1 + br label %223 + +209: ; preds = %.loopexit67 + br i1 %.not51, label %218, label %210 + +210: ; preds = %209 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %17) + store i8 43, ptr %17, align 1 + %211 = load ptr, ptr %0, align 8 + %212 = call i32 @Curl_dyn_addn(ptr noundef %211, ptr noundef nonnull %17, i64 noundef 1) #12 + %.not.i103 = icmp eq i32 %212, 0 + br i1 %.not.i103, label %216, label %alloc_addbyter.exit105 + +alloc_addbyter.exit105: ; preds = %210 + %213 = icmp eq i32 %212, 100 + %214 = select i1 %213, i8 2, i8 1 + %215 = getelementptr inbounds i8, ptr %0, i64 8 + store i8 %214, ptr %215, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %17) + br label %.loopexit88 + +216: ; preds = %210 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %17) + %217 = add nsw i32 %.7361, 1 + br label %223 + +218: ; preds = %209 + br i1 %.not52, label %223, label %219 + +219: ; preds = %218 + %220 = call fastcc i32 @alloc_addbyter(i8 noundef zeroext 32, ptr noundef %0) + %.not58 = icmp eq i32 %220, 0 + br i1 %.not58, label %221, label %.loopexit88 + +221: ; preds = %219 + %222 = add nsw i32 %.7361, 1 + br label %223 + +223: ; preds = %221, %218, %216, %207 + %.9363 = phi i32 [ %208, %207 ], [ %217, %216 ], [ %222, %221 ], [ %.7361, %218 ] + br i1 %or.cond6, label %224, label %248 + +224: ; preds = %223 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %16) + store i8 48, ptr %16, align 1 + %225 = load ptr, ptr %0, align 8 + %226 = call i32 @Curl_dyn_addn(ptr noundef %225, ptr noundef nonnull %16, i64 noundef 1) #12 + %.not.i106 = icmp eq i32 %226, 0 + br i1 %.not.i106, label %230, label %alloc_addbyter.exit108 + +alloc_addbyter.exit108: ; preds = %224 + %227 = icmp eq i32 %226, 100 + %228 = select i1 %227, i8 2, i8 1 + %229 = getelementptr inbounds i8, ptr %0, i64 8 + store i8 %228, ptr %229, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) + br label %.loopexit88 + +230: ; preds = %224 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) + %231 = and i32 %.232120352, 4096 + %.not62 = icmp eq i32 %231, 0 + br i1 %.not62, label %240, label %232 + +232: ; preds = %230 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %15) + store i8 88, ptr %15, align 1 + %233 = load ptr, ptr %0, align 8 + %234 = call i32 @Curl_dyn_addn(ptr noundef %233, ptr noundef nonnull %15, i64 noundef 1) #12 + %.not.i109 = icmp eq i32 %234, 0 + br i1 %.not.i109, label %238, label %alloc_addbyter.exit111 + +alloc_addbyter.exit111: ; preds = %232 + %235 = icmp eq i32 %234, 100 + %236 = select i1 %235, i8 2, i8 1 + %237 = getelementptr inbounds i8, ptr %0, i64 8 + store i8 %236, ptr %237, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) + br label %.loopexit88 + +238: ; preds = %232 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) + %239 = add nsw i32 %.9363, 2 + br label %248 + +240: ; preds = %230 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %14) + store i8 120, ptr %14, align 1 + %241 = load ptr, ptr %0, align 8 + %242 = call i32 @Curl_dyn_addn(ptr noundef %241, ptr noundef nonnull %14, i64 noundef 1) #12 + %.not.i112 = icmp eq i32 %242, 0 + br i1 %.not.i112, label %246, label %alloc_addbyter.exit114 + +alloc_addbyter.exit114: ; preds = %240 + %243 = icmp eq i32 %242, 100 + %244 = select i1 %243, i8 2, i8 1 + %245 = getelementptr inbounds i8, ptr %0, i64 8 + store i8 %244, ptr %245, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) + br label %.loopexit88 + +246: ; preds = %240 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) + %247 = add nsw i32 %.9363, 2 + br label %248 + +248: ; preds = %246, %238, %223 + %.10364 = phi i32 [ %239, %238 ], [ %247, %246 ], [ %.9363, %223 ] + %or.cond85.not = icmp eq i32 %187, 256 + br i1 %or.cond85.not, label %.preheader64, label %.loopexit65 + +.preheader64: ; preds = %248 + %249 = add nsw i32 %.9, -1 + %250 = icmp sgt i32 %.9, 0 + br i1 %250, label %.lr.ph213.preheader, label %.loopexit65 + +.lr.ph213.preheader: ; preds = %.preheader64 + %251 = add i32 %.10364, %.9 + br label %.lr.ph213 + +.lr.ph213: ; preds = %.lr.ph213.preheader, %258 + %252 = phi i32 [ %259, %258 ], [ %249, %.lr.ph213.preheader ] + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %13) + store i8 48, ptr %13, align 1 + %253 = load ptr, ptr %0, align 8 + %254 = call i32 @Curl_dyn_addn(ptr noundef %253, ptr noundef nonnull %13, i64 noundef 1) #12 + %.not.i115 = icmp eq i32 %254, 0 + br i1 %.not.i115, label %258, label %alloc_addbyter.exit117 + +alloc_addbyter.exit117: ; preds = %.lr.ph213 + %255 = icmp eq i32 %254, 100 + %256 = select i1 %255, i8 2, i8 1 + %257 = getelementptr inbounds i8, ptr %0, i64 8 + store i8 %256, ptr %257, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %13) + br label %.loopexit88 + +258: ; preds = %.lr.ph213 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %13) + %259 = add nsw i32 %252, -1 + %260 = icmp sgt i32 %252, 0 + br i1 %260, label %.lr.ph213, label %.loopexit65, !llvm.loop !12 + +.loopexit65: ; preds = %258, %.preheader64, %248 + %.11365 = phi i32 [ %.10364, %248 ], [ %.10364, %.preheader64 ], [ %251, %258 ] + %.11 = phi i32 [ %.9, %248 ], [ %249, %.preheader64 ], [ -1, %258 ] + %.not67217 = icmp sgt i64 %.4328.idx, 323 + br i1 %.not67217, label %._crit_edge222, label %.lr.ph221.preheader + +.lr.ph221.preheader: ; preds = %.loopexit65 + %261 = add i32 %.11365, 324 + %262 = trunc i64 %.4328.idx to i32 + %263 = sub i32 %261, %262 + br label %.lr.ph221 + +.lr.ph221: ; preds = %.lr.ph221.preheader, %270 + %.6330.add219.in = phi i64 [ %.6330.add219, %270 ], [ %.4328.idx, %.lr.ph221.preheader ] + %.6330.add219 = add nsw i64 %.6330.add219.in, 1 + %.ptr = getelementptr inbounds i8, ptr %28, i64 %.6330.add219 + %264 = load i8, ptr %.ptr, align 1 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %12) + store i8 %264, ptr %12, align 1 + %265 = load ptr, ptr %0, align 8 + %266 = call i32 @Curl_dyn_addn(ptr noundef %265, ptr noundef nonnull %12, i64 noundef 1) #12 + %.not.i118 = icmp eq i32 %266, 0 + br i1 %.not.i118, label %270, label %alloc_addbyter.exit120 + +alloc_addbyter.exit120: ; preds = %.lr.ph221 + %267 = icmp eq i32 %266, 100 + %268 = select i1 %267, i8 2, i8 1 + %269 = getelementptr inbounds i8, ptr %0, i64 8 + store i8 %268, ptr %269, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) + br label %.loopexit88 + +270: ; preds = %.lr.ph221 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) + %exitcond337 = icmp eq i64 %.6330.add219, 324 + br i1 %exitcond337, label %._crit_edge222, label %.lr.ph221, !llvm.loop !13 + +._crit_edge222: ; preds = %270, %.loopexit65 + %.13367.lcssa = phi i32 [ %.11365, %.loopexit65 ], [ %263, %270 ] + %271 = icmp sgt i32 %.11, 0 + %or.cond245 = select i1 %.not53.not, i1 %271, i1 false + br i1 %or.cond245, label %.lr.ph225.preheader, label %.loopexit + +.lr.ph225.preheader: ; preds = %._crit_edge222 + %272 = add i32 %.11, %.13367.lcssa + br label %.lr.ph225 + +.lr.ph225: ; preds = %.lr.ph225.preheader, %278 + %.in252 = phi i32 [ %279, %278 ], [ %.11, %.lr.ph225.preheader ] + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %11) + store i8 32, ptr %11, align 1 + %273 = load ptr, ptr %0, align 8 + %274 = call i32 @Curl_dyn_addn(ptr noundef %273, ptr noundef nonnull %11, i64 noundef 1) #12 + %.not.i121 = icmp eq i32 %274, 0 + br i1 %.not.i121, label %278, label %alloc_addbyter.exit123 + +alloc_addbyter.exit123: ; preds = %.lr.ph225 + %275 = icmp eq i32 %274, 100 + %276 = select i1 %275, i8 2, i8 1 + %277 = getelementptr inbounds i8, ptr %0, i64 8 + store i8 %276, ptr %277, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %11) + br label %.loopexit88 + +278: ; preds = %.lr.ph225 + %279 = add nsw i32 %.in252, -1 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %11) + %280 = icmp sgt i32 %.in252, 1 + br i1 %280, label %.lr.ph225, label %.loopexit, !llvm.loop !14 + +281: ; preds = %87 + %282 = getelementptr inbounds i8, ptr %93, i64 8 + %283 = load ptr, ptr %282, align 8 + %.not32 = icmp eq ptr %283, null + %284 = icmp eq i32 %.0337, -1 + br i1 %.not32, label %285, label %289 + +285: ; preds = %281 + %286 = icmp sgt i32 %.0337, 4 + %or.cond10 = or i1 %284, %286 + br i1 %or.cond10, label %.thread361, label %297 + +.thread361: ; preds = %285 + %287 = and i32 %.0319, -9 + %288 = add nsw i32 %.1342, -5 + br label %305 + +289: ; preds = %281 + br i1 %284, label %292, label %290 + +290: ; preds = %289 + %291 = sext i32 %.0337 to i64 + br label %297 + +292: ; preds = %289 + %293 = load i8, ptr %283, align 1 + %294 = icmp eq i8 %293, 0 + br i1 %294, label %297, label %295 + +295: ; preds = %292 + %296 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %283) #11 + br label %297 + +297: ; preds = %292, %285, %295, %290 + %.0316 = phi ptr [ %283, %292 ], [ @.str, %285 ], [ %283, %295 ], [ %283, %290 ] + %.0314 = phi i64 [ 0, %292 ], [ 0, %285 ], [ %296, %295 ], [ %291, %290 ] + %298 = call i64 @llvm.umin.i64(i64 %.0314, i64 2147483647) + %299 = trunc nuw nsw i64 %298 to i32 + %300 = sub nsw i32 %.1342, %299 + %.not34 = icmp eq i32 %88, 0 + br i1 %.not34, label %305, label %301 + +301: ; preds = %297 + %302 = call fastcc i32 @alloc_addbyter(i8 noundef zeroext 34, ptr noundef %0) + %.not35 = icmp eq i32 %302, 0 + br i1 %.not35, label %303, label %.loopexit88 + +303: ; preds = %301 + %304 = add nsw i32 %.1355, 1 + br label %305 + +305: ; preds = %.thread361, %303, %297 + %.not34370 = phi i1 [ false, %303 ], [ true, %297 ], [ true, %.thread361 ] + %306 = phi i32 [ %300, %303 ], [ %300, %297 ], [ %288, %.thread361 ] + %307 = phi i32 [ %299, %303 ], [ %299, %297 ], [ 5, %.thread361 ] + %.0314369 = phi i64 [ %.0314, %303 ], [ %.0314, %297 ], [ 5, %.thread361 ] + %.0316368 = phi ptr [ %.0316, %303 ], [ %.0316, %297 ], [ @formatf.nilstr, %.thread361 ] + %.3322367 = phi i32 [ %.0319, %303 ], [ %.0319, %297 ], [ %287, %.thread361 ] + %.15369 = phi i32 [ %304, %303 ], [ %.1355, %297 ], [ %.1355, %.thread361 ] + %308 = and i32 %.3322367, 4 + %.not36 = icmp ne i32 %308, 0 + br i1 %.not36, label %.loopexit81, label %.preheader80 + +.preheader80: ; preds = %305 + %309 = add nsw i32 %306, -1 + %310 = icmp sgt i32 %306, 0 + br i1 %310, label %.lr.ph171.preheader, label %.loopexit81 + +.lr.ph171.preheader: ; preds = %.preheader80 + %311 = add i32 %.1342, %.15369 + %312 = sub i32 %311, %307 + br label %.lr.ph171 + +.lr.ph171: ; preds = %.lr.ph171.preheader, %319 + %313 = phi i32 [ %320, %319 ], [ %309, %.lr.ph171.preheader ] + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %10) + store i8 32, ptr %10, align 1 + %314 = load ptr, ptr %0, align 8 + %315 = call i32 @Curl_dyn_addn(ptr noundef %314, ptr noundef nonnull %10, i64 noundef 1) #12 + %.not.i124 = icmp eq i32 %315, 0 + br i1 %.not.i124, label %319, label %alloc_addbyter.exit126 + +alloc_addbyter.exit126: ; preds = %.lr.ph171 + %316 = icmp eq i32 %315, 100 + %317 = select i1 %316, i8 2, i8 1 + %318 = getelementptr inbounds i8, ptr %0, i64 8 + store i8 %317, ptr %318, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) + br label %.loopexit88 + +319: ; preds = %.lr.ph171 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) + %320 = add nsw i32 %313, -1 + %321 = icmp sgt i32 %313, 0 + br i1 %321, label %.lr.ph171, label %.loopexit81, !llvm.loop !15 + +.loopexit81: ; preds = %319, %.preheader80, %305 + %.16370 = phi i32 [ %.15369, %305 ], [ %.15369, %.preheader80 ], [ %312, %319 ] + %.14 = phi i32 [ %306, %305 ], [ %309, %.preheader80 ], [ -1, %319 ] + %.not38174 = icmp eq i64 %.0314369, 0 + br i1 %.not38174, label %.critedge12, label %.lr.ph179.preheader + +.lr.ph179.preheader: ; preds = %.loopexit81 + %322 = trunc i64 %.0314369 to i32 + %323 = add i32 %.16370, %322 + br label %.lr.ph179 + +.lr.ph179: ; preds = %.lr.ph179.preheader, %331 + %.1315177 = phi i64 [ %334, %331 ], [ %.0314369, %.lr.ph179.preheader ] + %.1317176 = phi ptr [ %332, %331 ], [ %.0316368, %.lr.ph179.preheader ] + %.18372175 = phi i32 [ %333, %331 ], [ %.16370, %.lr.ph179.preheader ] + %324 = load i8, ptr %.1317176, align 1 + %.not39 = icmp eq i8 %324, 0 + br i1 %.not39, label %.critedge12, label %325 + +325: ; preds = %.lr.ph179 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %9) + store i8 %324, ptr %9, align 1 + %326 = load ptr, ptr %0, align 8 + %327 = call i32 @Curl_dyn_addn(ptr noundef %326, ptr noundef nonnull %9, i64 noundef 1) #12 + %.not.i127 = icmp eq i32 %327, 0 + br i1 %.not.i127, label %331, label %alloc_addbyter.exit129 + +alloc_addbyter.exit129: ; preds = %325 + %328 = icmp eq i32 %327, 100 + %329 = select i1 %328, i8 2, i8 1 + %330 = getelementptr inbounds i8, ptr %0, i64 8 + store i8 %329, ptr %330, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) + br label %.loopexit88 + +331: ; preds = %325 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) + %332 = getelementptr inbounds i8, ptr %.1317176, i64 1 + %333 = add nsw i32 %.18372175, 1 + %334 = add i64 %.1315177, -1 + %.not38 = icmp eq i64 %334, 0 + br i1 %.not38, label %.critedge12, label %.lr.ph179, !llvm.loop !16 + +.critedge12: ; preds = %331, %.lr.ph179, %.loopexit81 + %.18372.lcssa = phi i32 [ %.16370, %.loopexit81 ], [ %.18372175, %.lr.ph179 ], [ %323, %331 ] + %335 = icmp sgt i32 %.14, 0 + %or.cond247 = select i1 %.not36, i1 %335, i1 false + br i1 %or.cond247, label %.lr.ph184.preheader, label %.loopexit79 + +.lr.ph184.preheader: ; preds = %.critedge12 + %336 = add i32 %.14, %.18372.lcssa + br label %.lr.ph184 + +.lr.ph184: ; preds = %.lr.ph184.preheader, %342 + %.in250 = phi i32 [ %343, %342 ], [ %.14, %.lr.ph184.preheader ] + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %8) + store i8 32, ptr %8, align 1 + %337 = load ptr, ptr %0, align 8 + %338 = call i32 @Curl_dyn_addn(ptr noundef %337, ptr noundef nonnull %8, i64 noundef 1) #12 + %.not.i130 = icmp eq i32 %338, 0 + br i1 %.not.i130, label %342, label %alloc_addbyter.exit132 + +alloc_addbyter.exit132: ; preds = %.lr.ph184 + %339 = icmp eq i32 %338, 100 + %340 = select i1 %339, i8 2, i8 1 + %341 = getelementptr inbounds i8, ptr %0, i64 8 + store i8 %340, ptr %341, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) + br label %.loopexit88 + +342: ; preds = %.lr.ph184 + %343 = add nsw i32 %.in250, -1 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) + %344 = icmp sgt i32 %.in250, 1 + br i1 %344, label %.lr.ph184, label %.loopexit79, !llvm.loop !17 + +.loopexit79: ; preds = %342, %.critedge12 + %.19373 = phi i32 [ %.18372.lcssa, %.critedge12 ], [ %336, %342 ] + br i1 %.not34370, label %.loopexit, label %345 + +345: ; preds = %.loopexit79 + %346 = call fastcc i32 @alloc_addbyter(i8 noundef zeroext 34, ptr noundef %0) + %.not40 = icmp eq i32 %346, 0 + br i1 %.not40, label %347, label %.loopexit88 + +347: ; preds = %345 + %348 = add nsw i32 %.19373, 1 + br label %.loopexit + +349: ; preds = %87 + %350 = getelementptr inbounds i8, ptr %93, i64 8 + %351 = load ptr, ptr %350, align 8 + %.not25 = icmp eq ptr %351, null + br i1 %.not25, label %356, label %352 + +352: ; preds = %349 + %353 = and i32 %.0319, 4096 + %.not31 = icmp eq i32 %353, 0 + %354 = select i1 %.not31, ptr @lower_digits, ptr @upper_digits + %355 = ptrtoint ptr %351 to i64 + br label %.preheader71 + +356: ; preds = %349 + %357 = add i32 %.1342, -5 + %358 = and i32 %.0319, 4 + %.not26 = icmp eq i32 %358, 0 + br i1 %.not26, label %.loopexit85, label %.preheader84 + +.preheader84: ; preds = %356 + %359 = add nsw i32 %.1342, -6 + %360 = icmp sgt i32 %.1342, 5 + br i1 %360, label %.lr.ph162.preheader, label %.loopexit85 + +.lr.ph162.preheader: ; preds = %.preheader84 + %361 = add i32 %357, %.1355 + br label %.lr.ph162 + +.lr.ph162: ; preds = %.lr.ph162.preheader, %368 + %362 = phi i32 [ %369, %368 ], [ %359, %.lr.ph162.preheader ] + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %7) + store i8 32, ptr %7, align 1 + %363 = load ptr, ptr %0, align 8 + %364 = call i32 @Curl_dyn_addn(ptr noundef %363, ptr noundef nonnull %7, i64 noundef 1) #12 + %.not.i133 = icmp eq i32 %364, 0 + br i1 %.not.i133, label %368, label %alloc_addbyter.exit135 + +alloc_addbyter.exit135: ; preds = %.lr.ph162 + %365 = icmp eq i32 %364, 100 + %366 = select i1 %365, i8 2, i8 1 + %367 = getelementptr inbounds i8, ptr %0, i64 8 + store i8 %366, ptr %367, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %7) + br label %.loopexit88 + +368: ; preds = %.lr.ph162 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %7) + %369 = add nsw i32 %362, -1 + %370 = icmp sgt i32 %362, 0 + br i1 %370, label %.lr.ph162, label %.loopexit85, !llvm.loop !18 + +.loopexit85: ; preds = %368, %.preheader84, %356 + %.21375 = phi i32 [ %.1355, %356 ], [ %.1355, %.preheader84 ], [ %361, %368 ] + %.17 = phi i32 [ %357, %356 ], [ %359, %.preheader84 ], [ -1, %368 ] + %371 = add i32 %.21375, 5 + br label %372 + +372: ; preds = %.loopexit85, %379 + %373 = phi i8 [ 40, %.loopexit85 ], [ %380, %379 ] + %.0313166.idx = phi i64 [ 0, %.loopexit85 ], [ %.0313166.add, %379 ] + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %6) + store i8 %373, ptr %6, align 1 + %374 = load ptr, ptr %0, align 8 + %375 = call i32 @Curl_dyn_addn(ptr noundef %374, ptr noundef nonnull %6, i64 noundef 1) #12 + %.not.i136 = icmp eq i32 %375, 0 + br i1 %.not.i136, label %379, label %alloc_addbyter.exit138 + +alloc_addbyter.exit138: ; preds = %372 + %376 = icmp eq i32 %375, 100 + %377 = select i1 %376, i8 2, i8 1 + %378 = getelementptr inbounds i8, ptr %0, i64 8 + store i8 %377, ptr %378, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6) + br label %.loopexit88 + +379: ; preds = %372 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6) + %.0313166.add = add nuw nsw i64 %.0313166.idx, 1 + %.ptr339 = getelementptr inbounds i8, ptr @formatf.nilstr, i64 %.0313166.add + %380 = load i8, ptr %.ptr339, align 1 + %exitcond = icmp eq i64 %.0313166.add, 5 + br i1 %exitcond, label %381, label %372, !llvm.loop !19 + +381: ; preds = %379 + %382 = icmp sgt i32 %.17, 0 + %or.cond249 = select i1 %.not26, i1 %382, i1 false + br i1 %or.cond249, label %.lr.ph168.preheader, label %.loopexit + +.lr.ph168.preheader: ; preds = %381 + %383 = add i32 %371, %.17 + br label %.lr.ph168 + +.lr.ph168: ; preds = %.lr.ph168.preheader, %389 + %.in = phi i32 [ %390, %389 ], [ %.17, %.lr.ph168.preheader ] + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %5) + store i8 32, ptr %5, align 1 + %384 = load ptr, ptr %0, align 8 + %385 = call i32 @Curl_dyn_addn(ptr noundef %384, ptr noundef nonnull %5, i64 noundef 1) #12 + %.not.i139 = icmp eq i32 %385, 0 + br i1 %.not.i139, label %389, label %alloc_addbyter.exit141 + +alloc_addbyter.exit141: ; preds = %.lr.ph168 + %386 = icmp eq i32 %385, 100 + %387 = select i1 %386, i8 2, i8 1 + %388 = getelementptr inbounds i8, ptr %0, i64 8 + store i8 %387, ptr %388, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %5) + br label %.loopexit88 + +389: ; preds = %.lr.ph168 + %390 = add nsw i32 %.in, -1 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %5) + %391 = icmp sgt i32 %.in, 1 + br i1 %391, label %.lr.ph168, label %.loopexit, !llvm.loop !20 + +392: ; preds = %87 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %29, ptr noundef nonnull align 16 dereferenceable(32) @__const.formatf.formatbuf, i64 32, i1 false) + %393 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %29) #11 + %394 = sub i64 32, %393 + %395 = and i32 %.0319, 8192 + %.not12 = icmp eq i32 %395, 0 + %spec.select437 = select i1 %.not12, i32 %.1342, i32 %61 + %396 = and i32 %.0319, 32768 + %.not13 = icmp eq i32 %396, 0 + br i1 %.not13, label %400, label %397 + +397: ; preds = %392 + %398 = getelementptr inbounds i8, ptr %36, i64 4 + %399 = load i32, ptr %398, align 4 + br label %400 + +400: ; preds = %397, %392 + %.2339 = phi i32 [ %399, %397 ], [ %.0337, %392 ] + %401 = and i32 %.0319, 4 + %.not14 = icmp eq i32 %401, 0 + br i1 %.not14, label %403, label %402 + +402: ; preds = %400 + store i8 45, ptr %33, align 1 + br label %403 + +403: ; preds = %402, %400 + %.0311 = phi ptr [ %34, %402 ], [ %33, %400 ] + %404 = and i32 %.0319, 2 + %.not15 = icmp eq i32 %404, 0 + br i1 %.not15, label %407, label %405 + +405: ; preds = %403 + %406 = getelementptr inbounds i8, ptr %.0311, i64 1 + store i8 43, ptr %.0311, align 1 + br label %407 + +407: ; preds = %405, %403 + %.1312 = phi ptr [ %406, %405 ], [ %.0311, %403 ] + %408 = and i32 %.0319, 1 + %.not16 = icmp eq i32 %408, 0 + br i1 %.not16, label %411, label %409 + +409: ; preds = %407 + %410 = getelementptr inbounds i8, ptr %.1312, i64 1 + store i8 32, ptr %.1312, align 1 + br label %411 + +411: ; preds = %409, %407 + %.2 = phi ptr [ %410, %409 ], [ %.1312, %407 ] + br i1 %.not8, label %414, label %412 + +412: ; preds = %411 + %413 = getelementptr inbounds i8, ptr %.2, i64 1 + store i8 35, ptr %.2, align 1 + br label %414 + +414: ; preds = %412, %411 + %.3 = phi ptr [ %413, %412 ], [ %.2, %411 ] + store i8 0, ptr %.3, align 1 + %415 = icmp sgt i32 %spec.select437, -1 + br i1 %415, label %416, label %422 + +416: ; preds = %414 + %417 = call i32 @llvm.umin.i32(i32 %spec.select437, i32 325) + %418 = call i32 (ptr, i64, ptr, ...) @curl_msnprintf(ptr noundef nonnull %.3, i64 noundef %394, ptr noundef nonnull @.str.1, i32 noundef %417) + %419 = sext i32 %418 to i64 + %420 = getelementptr inbounds i8, ptr %.3, i64 %419 + %421 = sub i64 %394, %419 + br label %422 + +422: ; preds = %416, %414 + %.21 = phi i32 [ %417, %416 ], [ %spec.select437, %414 ] + %.4 = phi ptr [ %420, %416 ], [ %.3, %414 ] + %.0310 = phi i64 [ %421, %416 ], [ %394, %414 ] + %423 = icmp sgt i32 %.2339, -1 + br i1 %423, label %424, label %438 + +424: ; preds = %422 + %425 = getelementptr inbounds i8, ptr %93, i64 8 + %426 = load double, ptr %425, align 8 + %427 = icmp slt i32 %.21, 1 + %.not17 = icmp sgt i32 %.2339, %.21 + %or.cond86 = select i1 %427, i1 true, i1 %.not17 + %428 = sub i32 324, %.21 + %.0309 = select i1 %or.cond86, i32 324, i32 %428 + %429 = fcmp ult double %426, 1.000000e+01 + br i1 %429, label %._crit_edge, label %.lr.ph + +.lr.ph: ; preds = %424, %.lr.ph + %.0154 = phi double [ %430, %.lr.ph ], [ %426, %424 ] + %.1153 = phi i32 [ %431, %.lr.ph ], [ %.0309, %424 ] + %430 = fdiv double %.0154, 1.000000e+01 + %431 = add i32 %.1153, -1 + %432 = fcmp ult double %430, 1.000000e+01 + br i1 %432, label %._crit_edge, label %.lr.ph, !llvm.loop !21 + +._crit_edge: ; preds = %.lr.ph, %424 + %.1.lcssa = phi i32 [ %.0309, %424 ], [ %431, %.lr.ph ] + %433 = icmp sgt i32 %.2339, %.1.lcssa + %434 = add nsw i32 %.1.lcssa, -1 + %spec.select87 = select i1 %433, i32 %434, i32 %.2339 + %spec.store.select14 = call i32 @llvm.smax.i32(i32 %spec.select87, i32 0) + %435 = call i32 (ptr, i64, ptr, ...) @curl_msnprintf(ptr noundef %.4, i64 noundef %.0310, ptr noundef nonnull @.str.2, i32 noundef %spec.store.select14) + %436 = sext i32 %435 to i64 + %437 = getelementptr inbounds i8, ptr %.4, i64 %436 + br label %438 + +438: ; preds = %._crit_edge, %422 + %.5 = phi ptr [ %437, %._crit_edge ], [ %.4, %422 ] + %439 = and i32 %.0319, 32 + %.not18 = icmp eq i32 %439, 0 + br i1 %.not18, label %442, label %440 + +440: ; preds = %438 + %441 = getelementptr inbounds i8, ptr %.5, i64 1 + store i8 108, ptr %.5, align 1 + br label %442 + +442: ; preds = %440, %438 + %.6 = phi ptr [ %441, %440 ], [ %.5, %438 ] + %443 = and i32 %.0319, 262144 + %.not19 = icmp eq i32 %443, 0 + br i1 %.not19, label %447, label %444 + +444: ; preds = %442 + %445 = and i32 %.0319, 4096 + %.not22 = icmp eq i32 %445, 0 + %446 = select i1 %.not22, i8 101, i8 69 + br label %452 + +447: ; preds = %442 + %448 = and i32 %.0319, 524288 + %.not20 = icmp eq i32 %448, 0 + br i1 %.not20, label %452, label %449 + +449: ; preds = %447 + %450 = and i32 %.0319, 4096 + %.not21 = icmp eq i32 %450, 0 + %451 = select i1 %.not21, i8 103, i8 71 + br label %452 + +452: ; preds = %447, %449, %444 + %.sink = phi i8 [ %451, %449 ], [ %446, %444 ], [ 102, %447 ] + store i8 %.sink, ptr %.6, align 1 + %.7 = getelementptr inbounds i8, ptr %.6, i64 1 + store i8 0, ptr %.7, align 1 + %453 = getelementptr inbounds i8, ptr %93, i64 8 + %454 = load double, ptr %453, align 8 + %455 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %28, i64 noundef 326, ptr noundef nonnull %29, double noundef %454) #12 + %456 = load i8, ptr %28, align 16 + %.not23155 = icmp eq i8 %456, 0 + br i1 %.not23155, label %.loopexit, label %.lr.ph159 + +.lr.ph159: ; preds = %452, %463 + %457 = phi i8 [ %466, %463 ], [ %456, %452 ] + %.8157 = phi ptr [ %465, %463 ], [ %28, %452 ] + %.25156 = phi i32 [ %464, %463 ], [ %.1355, %452 ] + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %4) + store i8 %457, ptr %4, align 1 + %458 = load ptr, ptr %0, align 8 + %459 = call i32 @Curl_dyn_addn(ptr noundef %458, ptr noundef nonnull %4, i64 noundef 1) #12 + %.not.i142 = icmp eq i32 %459, 0 + br i1 %.not.i142, label %463, label %alloc_addbyter.exit144 + +alloc_addbyter.exit144: ; preds = %.lr.ph159 + %460 = icmp eq i32 %459, 100 + %461 = select i1 %460, i8 2, i8 1 + %462 = getelementptr inbounds i8, ptr %0, i64 8 + store i8 %461, ptr %462, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) + br label %.loopexit88 + +463: ; preds = %.lr.ph159 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) + %464 = add nsw i32 %.25156, 1 + %465 = getelementptr inbounds i8, ptr %.8157, i64 1 + %466 = load i8, ptr %465, align 1 + %.not23 = icmp eq i8 %466, 0 + br i1 %.not23, label %.loopexit, label %.lr.ph159, !llvm.loop !22 + +467: ; preds = %87 + %468 = and i32 %.0319, 64 + %.not9 = icmp eq i32 %468, 0 + br i1 %.not9, label %473, label %469 + +469: ; preds = %467 + %470 = sext i32 %.1355 to i64 + %471 = getelementptr inbounds i8, ptr %93, i64 8 + %472 = load ptr, ptr %471, align 8 + store i64 %470, ptr %472, align 8 + br label %.loopexit + +473: ; preds = %467 + %474 = and i32 %.0319, 32 + %.not10 = icmp eq i32 %474, 0 + br i1 %.not10, label %479, label %475 + +475: ; preds = %473 + %476 = sext i32 %.1355 to i64 + %477 = getelementptr inbounds i8, ptr %93, i64 8 + %478 = load ptr, ptr %477, align 8 + store i64 %476, ptr %478, align 8 + br label %.loopexit + +479: ; preds = %473 + %480 = and i32 %.0319, 16 + %.not11 = icmp eq i32 %480, 0 + br i1 %.not11, label %481, label %484 + +481: ; preds = %479 + %482 = getelementptr inbounds i8, ptr %93, i64 8 + %483 = load ptr, ptr %482, align 8 + store i32 %.1355, ptr %483, align 4 + br label %.loopexit + +484: ; preds = %479 + %485 = trunc i32 %.1355 to i16 + %486 = getelementptr inbounds i8, ptr %93, i64 8 + %487 = load ptr, ptr %486, align 8 + store i16 %485, ptr %487, align 2 + br label %.loopexit + +.loopexit: ; preds = %463, %389, %130, %278, %452, %484, %481, %475, %469, %381, %347, %.loopexit79, %._crit_edge222, %121, %87, %.critedge + %.3357 = phi i32 [ %.2356.lcssa, %.critedge ], [ %.1355, %87 ], [ %.1355, %469 ], [ %.1355, %475 ], [ %.1355, %484 ], [ %.1355, %481 ], [ %.13367.lcssa, %._crit_edge222 ], [ %371, %381 ], [ %348, %347 ], [ %.19373, %.loopexit79 ], [ %122, %121 ], [ %.1355, %452 ], [ %272, %278 ], [ %124, %130 ], [ %383, %389 ], [ %464, %463 ] + %.1352 = phi ptr [ %.0351231, %.critedge ], [ %.0351231, %87 ], [ %.0351231, %469 ], [ %.0351231, %475 ], [ %.0351231, %484 ], [ %.0351231, %481 ], [ %.235311358, %._crit_edge222 ], [ %.0351231, %381 ], [ %.0351231, %347 ], [ %.0351231, %.loopexit79 ], [ %.0351231, %121 ], [ %.0351231, %452 ], [ %.235311358, %278 ], [ %.0351231, %130 ], [ %.0351231, %389 ], [ %.0351231, %463 ] + %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 + %488 = load i32, ptr %24, align 4 + %489 = sext i32 %488 to i64 + %490 = icmp slt i64 %indvars.iv.next, %489 + br i1 %490, label %35, label %.loopexit88, !llvm.loop !23 + +.loopexit88: ; preds = %219, %301, %345, %.loopexit, %alloc_addbyter.exit144, %alloc_addbyter.exit141, %alloc_addbyter.exit138, %alloc_addbyter.exit135, %alloc_addbyter.exit132, %alloc_addbyter.exit129, %alloc_addbyter.exit126, %alloc_addbyter.exit123, %alloc_addbyter.exit120, %alloc_addbyter.exit117, %alloc_addbyter.exit114, %alloc_addbyter.exit111, %alloc_addbyter.exit108, %alloc_addbyter.exit105, %alloc_addbyter.exit102, %alloc_addbyter.exit99, %alloc_addbyter.exit96, %alloc_addbyter.exit93, %alloc_addbyter.exit90, %alloc_addbyter.exit, %3 + ret void +} + ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare i32 @llvm.smax.i32(i32, i32) #9 @@ -5367,10 +5624,9 @@ attributes #12 = { nounwind } !21 = distinct !{!21, !6} !22 = distinct !{!22, !6} !23 = distinct !{!23, !6} -!24 = !{ptr @alloc_addbyter} +!24 = distinct !{!24, !6} !25 = distinct !{!25, !6} !26 = distinct !{!26, !6} !27 = distinct !{!27, !6} !28 = distinct !{!28, !6} !29 = distinct !{!29, !6} -!30 = distinct !{!30, !6} diff --git a/bench/curl/optimized/libcurl_la-mprintf.ll b/bench/curl/optimized/libcurl_la-mprintf.ll index 9ca3f517ec7..64b5f3f2d60 100644 --- a/bench/curl/optimized/libcurl_la-mprintf.ll +++ b/bench/curl/optimized/libcurl_la-mprintf.ll @@ -1118,2212 +1118,2246 @@ if.end9: ; preds = %if.then5, %if.else, ret i32 %retcode.0 } -; Function Attrs: nounwind uwtable -define internal fastcc void @formatf(ptr noundef %userp, ptr nocapture noundef readonly %stream, ptr noundef %format, ptr nocapture noundef %ap_save) unnamed_addr #1 { +; Function Attrs: nofree nounwind uwtable +define i32 @curl_msnprintf(ptr noundef %buffer, i64 noundef %maxlength, ptr noundef %format, ...) local_unnamed_addr #0 { entry: - %ocount = alloca i32, align 4 - %icount = alloca i32, align 4 - %output = alloca [128 x %struct.outsegment], align 16 - %input = alloca [128 x %struct.va_input], align 16 - %work = alloca [326 x i8], align 16 - %formatbuf = alloca [32 x i8], align 16 - store i32 0, ptr %ocount, align 4 - store i32 0, ptr %icount, align 4 - %call = call fastcc i32 @parsefmt(ptr noundef %format, ptr noundef %output, ptr noundef %input, ptr noundef %ocount, ptr noundef %icount, ptr noundef %ap_save) - %tobool.not = icmp eq i32 %call, 0 - %0 = load i32, ptr %ocount, align 4 - %cmp460 = icmp sgt i32 %0, 0 - %or.cond465 = select i1 %tobool.not, i1 %cmp460, i1 false - br i1 %or.cond465, label %for.body.lr.ph, label %return - -for.body.lr.ph: ; preds = %entry - %arrayidx541 = getelementptr inbounds i8, ptr %formatbuf, i64 1 - %incdec.ptr559 = getelementptr inbounds i8, ptr %formatbuf, i64 2 - br label %for.body - -for.body: ; preds = %for.body.lr.ph, %for.inc695 - %indvars.iv = phi i64 [ 0, %for.body.lr.ph ], [ %indvars.iv.next, %for.inc695 ] - %digits.0463 = phi ptr [ @lower_digits, %for.body.lr.ph ], [ %digits.1, %for.inc695 ] - %done.0462 = phi i32 [ 0, %for.body.lr.ph ], [ %done.3, %for.inc695 ] - %arrayidx2 = getelementptr inbounds [128 x %struct.outsegment], ptr %output, i64 0, i64 %indvars.iv - %outlen3 = getelementptr inbounds i8, ptr %arrayidx2, i64 24 - %1 = load i64, ptr %outlen3, align 8 - %flags4 = getelementptr inbounds i8, ptr %arrayidx2, i64 8 - %2 = load i32, ptr %flags4, align 8 - %tobool5.not = icmp eq i64 %1, 0 - br i1 %tobool5.not, label %if.end19, label %if.then6 + %ap_save = alloca [1 x %struct.__va_list_tag], align 16 + call void @llvm.va_start.p0(ptr nonnull %ap_save) + %call = call i32 @curl_mvsnprintf(ptr noundef %buffer, i64 noundef %maxlength, ptr noundef %format, ptr noundef nonnull %ap_save) + call void @llvm.va_end.p0(ptr nonnull %ap_save) + ret i32 %call +} -if.then6: ; preds = %for.body - %start = getelementptr inbounds i8, ptr %arrayidx2, i64 16 - %3 = load ptr, ptr %start, align 16 - %4 = trunc i64 %1 to i32 - %5 = add i32 %done.0462, %4 - br label %land.rhs +; Function Attrs: nounwind uwtable +define hidden range(i32 -128, 128) i32 @Curl_dyn_vprintf(ptr noundef %dyn, ptr noundef %format, ptr nocapture noundef %ap_save) local_unnamed_addr #1 { +entry: + %info = alloca %struct.asprintf, align 8 + store ptr %dyn, ptr %info, align 8 + %merr = getelementptr inbounds i8, ptr %info, i64 8 + store i8 0, ptr %merr, align 8 + call fastcc void @formatf.specialized.4(ptr noundef nonnull %info, ptr noundef %format, ptr noundef %ap_save) + %0 = load i8, ptr %merr, align 8 + %tobool.not = icmp eq i8 %0, 0 + br i1 %tobool.not, label %return, label %if.then -land.rhs: ; preds = %if.then6, %if.then13 - %str.0357 = phi ptr [ %3, %if.then6 ], [ %incdec.ptr, %if.then13 ] - %outlen.0356 = phi i64 [ %1, %if.then6 ], [ %dec, %if.then13 ] - %done.2355 = phi i32 [ %done.0462, %if.then6 ], [ %inc, %if.then13 ] - %6 = load i8, ptr %str.0357, align 1 - %tobool9.not = icmp eq i8 %6, 0 - br i1 %tobool9.not, label %for.end, label %do.body +if.then: ; preds = %entry + %1 = load ptr, ptr %info, align 8 + tail call void @Curl_dyn_free(ptr noundef %1) #12 + %conv = sext i8 %0 to i32 + br label %return -do.body: ; preds = %land.rhs - %call11 = call i32 %stream(i8 noundef zeroext %6, ptr noundef %userp) #12, !callees !23 - %tobool12.not = icmp eq i32 %call11, 0 - br i1 %tobool12.not, label %if.then13, label %return +return: ; preds = %entry, %if.then + %retval.0 = phi i32 [ %conv, %if.then ], [ 0, %entry ] + ret i32 %retval.0 +} -if.then13: ; preds = %do.body - %incdec.ptr = getelementptr inbounds i8, ptr %str.0357, i64 1 - %inc = add nsw i32 %done.2355, 1 - %dec = add i64 %outlen.0356, -1 - %tobool8.not = icmp eq i64 %dec, 0 - br i1 %tobool8.not, label %for.end, label %land.rhs, !llvm.loop !4 +; Function Attrs: nounwind uwtable +define internal fastcc range(i32 0, 2) i32 @alloc_addbyter(i8 noundef zeroext %outc, ptr nocapture noundef %f) unnamed_addr #1 { +entry: + %outc.addr = alloca i8, align 1 + store i8 %outc, ptr %outc.addr, align 1 + %0 = load ptr, ptr %f, align 8 + %call = call i32 @Curl_dyn_addn(ptr noundef %0, ptr noundef nonnull %outc.addr, i64 noundef 1) #12 + %tobool.not = icmp eq i32 %call, 0 + br i1 %tobool.not, label %return, label %if.then -for.end: ; preds = %if.then13, %land.rhs - %done.2.lcssa = phi i32 [ %5, %if.then13 ], [ %done.2355, %land.rhs ] - %and = and i32 %2, 1048576 - %tobool16.not = icmp eq i32 %and, 0 - br i1 %tobool16.not, label %if.end19, label %for.inc695 +if.then: ; preds = %entry + %cmp = icmp eq i32 %call, 100 + %conv = select i1 %cmp, i8 2, i8 1 + %merr = getelementptr inbounds i8, ptr %f, i64 8 + store i8 %conv, ptr %merr, align 8 + br label %return -if.end19: ; preds = %for.end, %for.body - %done.1 = phi i32 [ %done.2.lcssa, %for.end ], [ %done.0462, %for.body ] - %and20 = and i32 %2, 16384 - %tobool21.not = icmp eq i32 %and20, 0 - %7 = load i32, ptr %arrayidx2, align 16 - br i1 %tobool21.not, label %if.end39, label %if.then22 +return: ; preds = %entry, %if.then + %retval.0 = phi i32 [ 1, %if.then ], [ 0, %entry ] + ret i32 %retval.0 +} -if.then22: ; preds = %if.end19 - %idxprom24 = sext i32 %7 to i64 - %val = getelementptr inbounds [128 x %struct.va_input], ptr %input, i64 0, i64 %idxprom24, i32 1 - %8 = load i64, ptr %val, align 8 - %conv26 = trunc i64 %8 to i32 - %cmp27 = icmp slt i32 %conv26, 0 - br i1 %cmp27, label %if.then29, label %if.end39 +declare void @Curl_dyn_free(ptr noundef) local_unnamed_addr #2 -if.then29: ; preds = %if.then22 - %cmp30 = icmp eq i32 %conv26, -2147483648 - %sub = sub nsw i32 0, %conv26 - %width.0 = select i1 %cmp30, i32 2147483647, i32 %sub - %or = and i32 %2, -261 - %and35 = or disjoint i32 %or, 4 - br label %if.end39 +; Function Attrs: nounwind uwtable +define ptr @curl_mvaprintf(ptr noundef %format, ptr nocapture noundef %ap_save) local_unnamed_addr #1 { +entry: + %info = alloca %struct.asprintf, align 8 + %dyn = alloca %struct.dynbuf, align 8 + store ptr %dyn, ptr %info, align 8 + call void @Curl_dyn_init(ptr noundef nonnull %dyn, i64 noundef 8000000) #12 + %merr = getelementptr inbounds i8, ptr %info, i64 8 + store i8 0, ptr %merr, align 8 + call fastcc void @formatf.specialized.4(ptr noundef nonnull %info, ptr noundef %format, ptr noundef %ap_save) + %0 = load i8, ptr %merr, align 8 + %tobool.not = icmp eq i8 %0, 0 + %1 = load ptr, ptr %info, align 8 + br i1 %tobool.not, label %if.end, label %if.then -if.end39: ; preds = %if.end19, %if.then22, %if.then29 - %width.1 = phi i32 [ %width.0, %if.then29 ], [ %conv26, %if.then22 ], [ %7, %if.end19 ] - %flags.0 = phi i32 [ %and35, %if.then29 ], [ %2, %if.then22 ], [ %2, %if.end19 ] - %and40 = and i32 %flags.0, 65536 - %tobool41.not = icmp eq i32 %and40, 0 - br i1 %tobool41.not, label %if.else51, label %if.then42 +if.then: ; preds = %entry + call void @Curl_dyn_free(ptr noundef %1) #12 + br label %return -if.then42: ; preds = %if.end39 - %precision = getelementptr inbounds i8, ptr %arrayidx2, i64 4 - %9 = load i32, ptr %precision, align 4 - %idxprom43 = sext i32 %9 to i64 - %val45 = getelementptr inbounds [128 x %struct.va_input], ptr %input, i64 0, i64 %idxprom43, i32 1 - %10 = load i64, ptr %val45, align 8 - %conv46 = trunc i64 %10 to i32 - %spec.store.select = call i32 @llvm.smax.i32(i32 %conv46, i32 -1) - br label %if.end58 +if.end: ; preds = %entry + %call5 = call i64 @Curl_dyn_len(ptr noundef %1) #12 + %tobool6.not = icmp eq i64 %call5, 0 + br i1 %tobool6.not, label %if.end10, label %if.then7 -if.else51: ; preds = %if.end39 - %and52 = and i32 %flags.0, 32768 - %tobool53.not = icmp eq i32 %and52, 0 - br i1 %tobool53.not, label %if.end58, label %if.then54 +if.then7: ; preds = %if.end + %call9 = call ptr @Curl_dyn_ptr(ptr noundef %1) #12 + br label %return -if.then54: ; preds = %if.else51 - %precision55 = getelementptr inbounds i8, ptr %arrayidx2, i64 4 - %11 = load i32, ptr %precision55, align 4 - br label %if.end58 +if.end10: ; preds = %if.end + %2 = load ptr, ptr @Curl_cstrdup, align 8 + %call11 = call ptr %2(ptr noundef nonnull @.str) #12 + br label %return -if.end58: ; preds = %if.else51, %if.then54, %if.then42 - %prec.0 = phi i32 [ %spec.store.select, %if.then42 ], [ %11, %if.then54 ], [ -1, %if.else51 ] - %and59 = and i32 %flags.0, 8 - %tobool60.not = icmp eq i32 %and59, 0 - %frombool = icmp ne i32 %and59, 0 - %input62 = getelementptr inbounds i8, ptr %arrayidx2, i64 12 - %12 = load i32, ptr %input62, align 4 - %idxprom63 = zext i32 %12 to i64 - %arrayidx64 = getelementptr inbounds [128 x %struct.va_input], ptr %input, i64 0, i64 %idxprom63 - %13 = load i32, ptr %arrayidx64, align 16 - switch i32 %13, label %for.inc695 [ - i32 6, label %sw.bb - i32 7, label %sw.bb - i32 8, label %sw.bb - i32 3, label %sw.bb66 - i32 4, label %sw.bb66 - i32 5, label %sw.bb66 - i32 0, label %sw.bb364 - i32 1, label %sw.bb477 - i32 9, label %sw.bb540 - i32 2, label %sw.bb670 - ] +return: ; preds = %if.end10, %if.then7, %if.then + %retval.0 = phi ptr [ null, %if.then ], [ %call9, %if.then7 ], [ %call11, %if.end10 ] + ret ptr %retval.0 +} -sw.bb: ; preds = %if.end58, %if.end58, %if.end58 - %or65 = or i32 %flags.0, 512 - br label %sw.bb66 +declare void @Curl_dyn_init(ptr noundef, i64 noundef) local_unnamed_addr #2 -sw.bb66: ; preds = %sw.bb, %if.end58, %if.end58, %if.end58 - %flags.1 = phi i32 [ %flags.0, %if.end58 ], [ %flags.0, %if.end58 ], [ %flags.0, %if.end58 ], [ %or65, %sw.bb ] - %val67 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 - %14 = load i64, ptr %val67, align 8 - %and68 = and i32 %flags.1, 131072 - %tobool69.not = icmp eq i32 %and68, 0 - br i1 %tobool69.not, label %if.end113, label %if.then70 +declare i64 @Curl_dyn_len(ptr noundef) local_unnamed_addr #2 -if.then70: ; preds = %sw.bb66 - %and71 = and i32 %flags.1, 4 - %tobool72.not = icmp ne i32 %and71, 0 - br i1 %tobool72.not, label %do.body86, label %while.cond.preheader +declare ptr @Curl_dyn_ptr(ptr noundef) local_unnamed_addr #2 -while.cond.preheader: ; preds = %if.then70 - %dec74395 = add i32 %width.1, -1 - %cmp75396 = icmp sgt i32 %width.1, 1 - br i1 %cmp75396, label %do.body77.preheader, label %do.body86 +; Function Attrs: nounwind uwtable +define ptr @curl_maprintf(ptr noundef %format, ...) local_unnamed_addr #1 { +entry: + %info.i = alloca %struct.asprintf, align 8 + %dyn.i = alloca %struct.dynbuf, align 8 + %ap_save = alloca [1 x %struct.__va_list_tag], align 16 + call void @llvm.va_start.p0(ptr nonnull %ap_save) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %info.i) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %dyn.i) + store ptr %dyn.i, ptr %info.i, align 8 + call void @Curl_dyn_init(ptr noundef nonnull %dyn.i, i64 noundef 8000000) #12 + %merr.i = getelementptr inbounds i8, ptr %info.i, i64 8 + store i8 0, ptr %merr.i, align 8 + call fastcc void @formatf.specialized.4(ptr noundef nonnull %info.i, ptr noundef %format, ptr noundef nonnull %ap_save) + %0 = load i8, ptr %merr.i, align 8 + %tobool.not.i = icmp eq i8 %0, 0 + %1 = load ptr, ptr %info.i, align 8 + br i1 %tobool.not.i, label %if.end.i, label %if.then.i -do.body77.preheader: ; preds = %while.cond.preheader - %15 = add i32 %dec74395, %done.1 - br label %do.body77 +if.then.i: ; preds = %entry + call void @Curl_dyn_free(ptr noundef %1) #12 + br label %curl_mvaprintf.exit -do.body77: ; preds = %do.body77.preheader, %if.then80 - %dec74398 = phi i32 [ %dec74, %if.then80 ], [ %dec74395, %do.body77.preheader ] - %call78 = call i32 %stream(i8 noundef zeroext 32, ptr noundef %userp) #12, !callees !23 - %tobool79.not = icmp eq i32 %call78, 0 - br i1 %tobool79.not, label %if.then80, label %return +if.end.i: ; preds = %entry + %call5.i = call i64 @Curl_dyn_len(ptr noundef %1) #12 + %tobool6.not.i = icmp eq i64 %call5.i, 0 + br i1 %tobool6.not.i, label %if.end10.i, label %if.then7.i -if.then80: ; preds = %do.body77 - %dec74 = add nsw i32 %dec74398, -1 - %cmp75 = icmp sgt i32 %dec74398, 1 - br i1 %cmp75, label %do.body77, label %do.body86, !llvm.loop !6 +if.then7.i: ; preds = %if.end.i + %call9.i = call ptr @Curl_dyn_ptr(ptr noundef %1) #12 + br label %curl_mvaprintf.exit -do.body86: ; preds = %if.then80, %while.cond.preheader, %if.then70 - %done.5 = phi i32 [ %done.1, %if.then70 ], [ %done.1, %while.cond.preheader ], [ %15, %if.then80 ] - %width.3 = phi i32 [ %width.1, %if.then70 ], [ %dec74395, %while.cond.preheader ], [ 0, %if.then80 ] - %conv87 = trunc i64 %14 to i8 - %call88 = call i32 %stream(i8 noundef zeroext %conv87, ptr noundef %userp) #12, !callees !23 - %tobool89.not = icmp eq i32 %call88, 0 - br i1 %tobool89.not, label %if.then90, label %return +if.end10.i: ; preds = %if.end.i + %2 = load ptr, ptr @Curl_cstrdup, align 8 + %call11.i = call ptr %2(ptr noundef nonnull @.str) #12 + br label %curl_mvaprintf.exit -if.then90: ; preds = %do.body86 - %inc91 = add nsw i32 %done.5, 1 - %cmp100402 = icmp sgt i32 %width.3, 1 - %or.cond466 = select i1 %tobool72.not, i1 %cmp100402, i1 false - br i1 %or.cond466, label %do.body103.preheader, label %for.inc695 +curl_mvaprintf.exit: ; preds = %if.then.i, %if.then7.i, %if.end10.i + %retval.0.i = phi ptr [ null, %if.then.i ], [ %call9.i, %if.then7.i ], [ %call11.i, %if.end10.i ] + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %info.i) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %dyn.i) + call void @llvm.va_end.p0(ptr nonnull %ap_save) + ret ptr %retval.0.i +} -do.body103.preheader: ; preds = %if.then90 - %16 = add i32 %width.3, %done.5 - br label %do.body103 +; Function Attrs: nofree nounwind uwtable +define i32 @curl_msprintf(ptr noundef %buffer, ptr noundef %format, ...) local_unnamed_addr #0 { +entry: + %buffer.addr = alloca ptr, align 8 + %ap_save = alloca [1 x %struct.__va_list_tag], align 16 + store ptr %buffer, ptr %buffer.addr, align 8 + call void @llvm.va_start.p0(ptr nonnull %ap_save) + %call = call fastcc i32 @formatf.specialized.3(ptr noundef nonnull %buffer.addr, ptr noundef %format, ptr noundef nonnull %ap_save) + call void @llvm.va_end.p0(ptr nonnull %ap_save) + %0 = load ptr, ptr %buffer.addr, align 8 + store i8 0, ptr %0, align 1 + ret i32 %call +} -do.body103: ; preds = %do.body103.preheader, %if.then106 - %dec99404.in = phi i32 [ %dec99404, %if.then106 ], [ %width.3, %do.body103.preheader ] - %call104 = call i32 %stream(i8 noundef zeroext 32, ptr noundef %userp) #12, !callees !23 - %tobool105.not = icmp eq i32 %call104, 0 - br i1 %tobool105.not, label %if.then106, label %return - -if.then106: ; preds = %do.body103 - %dec99404 = add nsw i32 %dec99404.in, -1 - %cmp100 = icmp sgt i32 %dec99404.in, 2 - br i1 %cmp100, label %do.body103, label %for.inc695, !llvm.loop !7 - -if.end113: ; preds = %sw.bb66 - %and114 = and i32 %flags.1, 1024 - %tobool115.not.not = icmp eq i32 %and114, 0 - br i1 %tobool115.not.not, label %if.else117, label %while.cond155.preheader - -if.else117: ; preds = %if.end113 - %and118 = and i32 %flags.1, 2048 - %tobool119.not = icmp eq i32 %and118, 0 - br i1 %tobool119.not, label %if.else124, label %if.then120 - -if.then120: ; preds = %if.else117 - %and121 = and i32 %flags.1, 4096 - %tobool122.not = icmp eq i32 %and121, 0 - %cond123 = select i1 %tobool122.not, ptr @lower_digits, ptr @upper_digits - br label %while.cond155.preheader - -while.cond155.preheader: ; preds = %if.end113, %if.then480, %if.then120 - %flags.2306.ph = phi i32 [ %flags.1, %if.then120 ], [ %flags.0, %if.then480 ], [ %flags.1, %if.end113 ] - %base.0304.ph = phi i64 [ 16, %if.then120 ], [ 16, %if.then480 ], [ 8, %if.end113 ] - %cmp202302.ph = phi i1 [ true, %if.then120 ], [ true, %if.then480 ], [ false, %if.end113 ] - %cmp173299.ph = phi i1 [ false, %if.then120 ], [ false, %if.then480 ], [ true, %if.end113 ] - %is_alt.0293.ph = phi i1 [ %frombool, %if.then120 ], [ true, %if.then480 ], [ %frombool, %if.end113 ] - %digits.2290.ph = phi ptr [ %cond123, %if.then120 ], [ %cond483, %if.then480 ], [ %digits.0463, %if.end113 ] - %num.2.ph = phi i64 [ %14, %if.then120 ], [ %50, %if.then480 ], [ %14, %if.end113 ] - %cmp142 = icmp eq i32 %prec.0, -1 - %spec.store.select2 = select i1 %cmp142, i32 1, i32 %prec.0 - %cmp156.not406 = icmp eq i64 %num.2.ph, 0 - br i1 %cmp156.not406, label %sw.epilog, label %while.body158.preheader - -while.body158.preheader: ; preds = %while.cond155.preheader - %17 = add nsw i64 %base.0304.ph, -1 - br label %while.body158 - -if.else124: ; preds = %if.else117 - %and125 = and i32 %flags.1, 512 - %tobool126.not = icmp eq i32 %and125, 0 - %frombool132 = icmp slt i64 %14, 0 - %spec.select = call i64 @llvm.abs.i64(i64 %14, i1 false) - %is_neg.0297.ph = select i1 %tobool126.not, i1 %frombool132, i1 false - %num.1.ph = select i1 %tobool126.not, i64 %spec.select, i64 %14 - %cmp142510 = icmp eq i32 %prec.0, -1 - %spec.store.select2511 = select i1 %cmp142510, i32 1, i32 %prec.0 - %cmp148.not410 = icmp eq i64 %num.1.ph, 0 - br i1 %cmp148.not410, label %sw.epilog.thread, label %while.body150 - -while.body150: ; preds = %if.else124, %while.body150 - %w.0.idx412 = phi i64 [ %w.0.add, %while.body150 ], [ 324, %if.else124 ] - %num.1411 = phi i64 [ %div, %while.body150 ], [ %num.1.ph, %if.else124 ] - %w.0.ptr = getelementptr inbounds i8, ptr %work, i64 %w.0.idx412 - %rem = urem i64 %num.1411, 10 - %18 = trunc nuw nsw i64 %rem to i8 - %conv152 = or disjoint i8 %18, 48 - %w.0.add = add nsw i64 %w.0.idx412, -1 - store i8 %conv152, ptr %w.0.ptr, align 1 - %div = udiv i64 %num.1411, 10 - %cmp148.not = icmp ult i64 %num.1411, 10 - br i1 %cmp148.not, label %sw.epilog.thread, label %while.body150, !llvm.loop !8 +; Function Attrs: nofree nounwind uwtable +define i32 @curl_mprintf(ptr noundef %format, ...) local_unnamed_addr #0 { +entry: + %ap_save = alloca [1 x %struct.__va_list_tag], align 16 + call void @llvm.va_start.p0(ptr nonnull %ap_save) + %0 = load ptr, ptr @stdout, align 8 + %call = call fastcc i32 @formatf.specialized.1(ptr noundef %0, ptr noundef %format, ptr noundef nonnull %ap_save) + call void @llvm.va_end.p0(ptr nonnull %ap_save) + ret i32 %call +} -while.body158: ; preds = %while.body158.preheader, %while.body158 - %w.2.idx408 = phi i64 [ %w.2.add, %while.body158 ], [ 324, %while.body158.preheader ] - %num.2407 = phi i64 [ %div162, %while.body158 ], [ %num.2.ph, %while.body158.preheader ] - %w.2.ptr = getelementptr inbounds i8, ptr %work, i64 %w.2.idx408 - %rem159 = and i64 %num.2407, %17 - %arrayidx160 = getelementptr inbounds i8, ptr %digits.2290.ph, i64 %rem159 - %19 = load i8, ptr %arrayidx160, align 1 - %w.2.add = add nsw i64 %w.2.idx408, -1 - store i8 %19, ptr %w.2.ptr, align 1 - %div162 = udiv i64 %num.2407, %base.0304.ph - %cmp156.not = icmp ugt i64 %base.0304.ph, %num.2407 - br i1 %cmp156.not, label %sw.epilog, label %while.body158, !llvm.loop !9 +; Function Attrs: nofree nounwind uwtable +define i32 @curl_mfprintf(ptr nocapture noundef %whereto, ptr noundef %format, ...) local_unnamed_addr #0 { +entry: + %ap_save = alloca [1 x %struct.__va_list_tag], align 16 + call void @llvm.va_start.p0(ptr nonnull %ap_save) + %call = call fastcc i32 @formatf.specialized.1(ptr noundef %whereto, ptr noundef %format, ptr noundef nonnull %ap_save) + call void @llvm.va_end.p0(ptr nonnull %ap_save) + ret i32 %call +} -sw.epilog.thread: ; preds = %while.body150, %if.else124 - %w.1.idx.ph = phi i64 [ 324, %if.else124 ], [ %w.0.add, %while.body150 ] - %20 = trunc i64 %w.1.idx.ph to i32 - %conv164520 = sub i32 324, %20 - %sub165521 = sub nsw i32 %width.1, %conv164520 - %sub170522 = sub nsw i32 %spec.store.select2511, %conv164520 - br label %if.end181 +; Function Attrs: nofree nounwind uwtable +define i32 @curl_mvsprintf(ptr noundef %buffer, ptr noundef %format, ptr nocapture noundef %ap_save) local_unnamed_addr #0 { +entry: + %buffer.addr = alloca ptr, align 8 + store ptr %buffer, ptr %buffer.addr, align 8 + %call = call fastcc i32 @formatf.specialized.3(ptr noundef nonnull %buffer.addr, ptr noundef %format, ptr noundef %ap_save) + %0 = load ptr, ptr %buffer.addr, align 8 + store i8 0, ptr %0, align 1 + ret i32 %call +} -sw.epilog: ; preds = %while.body158, %while.cond155.preheader - %w.1.idx = phi i64 [ 324, %while.cond155.preheader ], [ %w.2.add, %while.body158 ] - %21 = trunc i64 %w.1.idx to i32 - %conv164 = sub i32 324, %21 - %sub165 = sub nsw i32 %width.1, %conv164 - %sub170 = sub nsw i32 %spec.store.select2, %conv164 - %or.cond = and i1 %cmp173299.ph, %is_alt.0293.ph - %cmp176 = icmp slt i32 %sub170, 1 - %or.cond3 = select i1 %or.cond, i1 %cmp176, i1 false - br i1 %or.cond3, label %if.end181.thread, label %if.end181 +; Function Attrs: nofree nounwind uwtable +define i32 @curl_mvprintf(ptr noundef %format, ptr nocapture noundef %ap_save) local_unnamed_addr #0 { +entry: + %0 = load ptr, ptr @stdout, align 8 + %call = tail call fastcc i32 @formatf.specialized.1(ptr noundef %0, ptr noundef %format, ptr noundef %ap_save) + ret i32 %call +} -if.end181.thread: ; preds = %sw.epilog - %w.1.ptr = getelementptr inbounds i8, ptr %work, i64 %w.1.idx - %w.1.add = add nsw i64 %w.1.idx, -1 - store i8 48, ptr %w.1.ptr, align 1 - %dec180 = add nsw i32 %sub165, -1 - br label %if.end198 +; Function Attrs: nofree nounwind uwtable +define i32 @curl_mvfprintf(ptr nocapture noundef %whereto, ptr noundef %format, ptr nocapture noundef %ap_save) local_unnamed_addr #0 { +entry: + %call = tail call fastcc i32 @formatf.specialized.1(ptr noundef %whereto, ptr noundef %format, ptr noundef %ap_save) + ret i32 %call +} -if.end181: ; preds = %sw.epilog.thread, %sw.epilog - %sub170539 = phi i32 [ %sub170522, %sw.epilog.thread ], [ %sub170, %sw.epilog ] - %sub165538 = phi i32 [ %sub165521, %sw.epilog.thread ], [ %sub165, %sw.epilog ] - %22 = phi i32 [ %20, %sw.epilog.thread ], [ %21, %sw.epilog ] - %w.1.idx537 = phi i64 [ %w.1.idx.ph, %sw.epilog.thread ], [ %w.1.idx, %sw.epilog ] - %digits.2289536 = phi ptr [ %digits.0463, %sw.epilog.thread ], [ %digits.2290.ph, %sw.epilog ] - %is_alt.0292534 = phi i1 [ %frombool, %sw.epilog.thread ], [ %is_alt.0293.ph, %sw.epilog ] - %is_neg.0295532 = phi i1 [ %is_neg.0297.ph, %sw.epilog.thread ], [ false, %sw.epilog ] - %cmp202301530 = phi i1 [ false, %sw.epilog.thread ], [ %cmp202302.ph, %sw.epilog ] - %flags.2305528 = phi i32 [ %flags.1, %sw.epilog.thread ], [ %flags.2306.ph, %sw.epilog ] - %spec.store.select2308526 = phi i32 [ %spec.store.select2511, %sw.epilog.thread ], [ %spec.store.select2, %sw.epilog ] - %cmp182 = icmp sgt i32 %sub170539, 0 - br i1 %cmp182, label %if.then184, label %if.end198 +; Function Attrs: nofree norecurse nosync nounwind memory(read, argmem: readwrite, inaccessiblemem: none) uwtable +define internal fastcc range(i32 0, 12) i32 @parsefmt(ptr noundef %format, ptr nocapture noundef nonnull writeonly %out, ptr nocapture noundef nonnull %in, ptr nocapture noundef nonnull writeonly %opieces, ptr nocapture noundef nonnull writeonly %ipieces, ptr nocapture noundef %arglist) unnamed_addr #3 { +entry: + %usedinput = alloca [16 x i8], align 16 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %usedinput, i8 0, i64 16, i1 false) + br label %while.condthread-pre-split.outer -if.then184: ; preds = %if.end181 - %sub185 = sub nsw i32 %sub165538, %sub170539 - %cmp192414 = icmp sgt i64 %w.1.idx537, -1 - br i1 %cmp192414, label %while.body195.preheader, label %if.end198 +while.condthread-pre-split.outer: ; preds = %if.end310, %entry + %fmt.0.ph.ph = phi ptr [ %incdec.ptr303, %if.end310 ], [ %format, %entry ] + %max_param.0.ph.ph = phi i32 [ %spec.select144, %if.end310 ], [ -1, %entry ] + %ocount.0.ph.ph = phi i32 [ %inc304, %if.end310 ], [ 0, %entry ] + %use_dollar.0.ph.ph = phi i32 [ %use_dollar.1, %if.end310 ], [ 0, %entry ] + %param_num.0.ph.ph = phi i32 [ %spec.select143, %if.end310 ], [ 0, %entry ] + br label %while.condthread-pre-split.outer222 -while.body195.preheader: ; preds = %if.then184 - %23 = add i32 %spec.store.select2308526, -325 - %24 = add i32 %23, %22 - %25 = zext i32 %24 to i64 - %umin = call i64 @llvm.umin.i64(i64 %w.1.idx537, i64 %25) - %26 = sub nsw i64 %w.1.idx537, %umin - %scevgep = getelementptr i8, ptr %work, i64 %26 - %27 = add nuw nsw i64 %umin, 1 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(1) %scevgep, i8 48, i64 %27, i1 false) - %28 = xor i64 %umin, -1 - %29 = add nsw i64 %w.1.idx537, %28 - br label %if.end198 +while.condthread-pre-split.outer222: ; preds = %while.condthread-pre-split.outer, %if.end14 + %fmt.0.ph.ph223 = phi ptr [ %fmt.0.ph.ph, %while.condthread-pre-split.outer ], [ %incdec.ptr15, %if.end14 ] + %ocount.0.ph.ph224 = phi i32 [ %ocount.0.ph.ph, %while.condthread-pre-split.outer ], [ %ocount.1, %if.end14 ] + %use_dollar.0.ph.ph225 = phi i32 [ %use_dollar.0.ph.ph, %while.condthread-pre-split.outer ], [ %use_dollar.0, %if.end14 ] + %start.0.ph.ph226 = phi ptr [ %fmt.0.ph.ph, %while.condthread-pre-split.outer ], [ %incdec.ptr, %if.end14 ] + br label %while.condthread-pre-split -if.end198: ; preds = %while.body195.preheader, %if.then184, %if.end181.thread, %if.end181 - %digits.2289535 = phi ptr [ %digits.2289536, %if.end181 ], [ %digits.2290.ph, %if.end181.thread ], [ %digits.2289536, %if.then184 ], [ %digits.2289536, %while.body195.preheader ] - %is_alt.0292533 = phi i1 [ %is_alt.0292534, %if.end181 ], [ %is_alt.0293.ph, %if.end181.thread ], [ %is_alt.0292534, %if.then184 ], [ %is_alt.0292534, %while.body195.preheader ] - %is_neg.0295531 = phi i1 [ %is_neg.0295532, %if.end181 ], [ false, %if.end181.thread ], [ %is_neg.0295532, %if.then184 ], [ %is_neg.0295532, %while.body195.preheader ] - %cmp202301529 = phi i1 [ %cmp202301530, %if.end181 ], [ %cmp202302.ph, %if.end181.thread ], [ %cmp202301530, %if.then184 ], [ %cmp202301530, %while.body195.preheader ] - %flags.2305527 = phi i32 [ %flags.2305528, %if.end181 ], [ %flags.2306.ph, %if.end181.thread ], [ %flags.2305528, %if.then184 ], [ %flags.2305528, %while.body195.preheader ] - %width.6 = phi i32 [ %sub165538, %if.end181 ], [ %dec180, %if.end181.thread ], [ %sub185, %if.then184 ], [ %sub185, %while.body195.preheader ] - %w.4.idx = phi i64 [ %w.1.idx537, %if.end181 ], [ %w.1.add, %if.end181.thread ], [ %w.1.idx537, %if.then184 ], [ %29, %while.body195.preheader ] - %or.cond4 = and i1 %cmp202301529, %is_alt.0292533 - %sub205 = add nsw i32 %width.6, -2 - %spec.select280 = select i1 %or.cond4, i32 %sub205, i32 %width.6 - %and209 = and i32 %flags.2305527, 2 - %tobool210.not = icmp eq i32 %and209, 0 - %and212 = and i32 %flags.2305527, 1 - %tobool213.not = icmp eq i32 %and212, 0 - %30 = and i32 %flags.2305527, 3 - %31 = icmp ne i32 %30, 0 - %or.cond282.not = or i1 %31, %is_neg.0295531 - %dec215 = sext i1 %or.cond282.not to i32 - %width.8 = add nsw i32 %spec.select280, %dec215 - %and217 = and i32 %flags.2305527, 4 - %tobool218.not.not = icmp ne i32 %and217, 0 - %32 = and i32 %flags.2305527, 260 - %or.cond283 = icmp eq i32 %32, 0 - br i1 %or.cond283, label %while.cond223.preheader, label %if.end237 +while.condthread-pre-split: ; preds = %while.condthread-pre-split.outer222, %if.else317 + %fmt.0.ph = phi ptr [ %incdec.ptr318, %if.else317 ], [ %fmt.0.ph.ph223, %while.condthread-pre-split.outer222 ] + %use_dollar.0.ph = phi i32 [ %use_dollar.0, %if.else317 ], [ %use_dollar.0.ph.ph225, %while.condthread-pre-split.outer222 ] + %.pr = load i8, ptr %fmt.0.ph, align 1 + br label %while.cond -while.cond223.preheader: ; preds = %if.end198 - %dec224418 = add nsw i32 %width.8, -1 - %cmp225419 = icmp sgt i32 %width.8, 0 - br i1 %cmp225419, label %do.body228.preheader, label %if.end237 +while.cond: ; preds = %while.condthread-pre-split, %while.end148 + %0 = phi i8 [ %.pr, %while.condthread-pre-split ], [ %29, %while.end148 ] + %fmt.0 = phi ptr [ %fmt.0.ph, %while.condthread-pre-split ], [ %fmt.2473, %while.end148 ] + %use_dollar.0 = phi i32 [ %use_dollar.0.ph, %while.condthread-pre-split ], [ %use_dollar.1, %while.end148 ] + switch i8 %0, label %if.else317 [ + i8 0, label %while.end320 + i8 37, label %if.then + ] -do.body228.preheader: ; preds = %while.cond223.preheader - %33 = add i32 %spec.select280, %done.1 - %34 = add i32 %33, %dec215 - br label %do.body228 +if.then: ; preds = %while.cond + %incdec.ptr = getelementptr inbounds i8, ptr %fmt.0, i64 1 + %1 = load i8, ptr %incdec.ptr, align 1 + %cmp3 = icmp eq i8 %1, 37 + br i1 %cmp3, label %if.then5, label %if.end16 -do.body228: ; preds = %do.body228.preheader, %if.then231 - %dec224421 = phi i32 [ %dec224, %if.then231 ], [ %dec224418, %do.body228.preheader ] - %call229 = call i32 %stream(i8 noundef zeroext 32, ptr noundef %userp) #12, !callees !23 - %tobool230.not = icmp eq i32 %call229, 0 - br i1 %tobool230.not, label %if.then231, label %return +if.then5: ; preds = %if.then + %sub.ptr.lhs.cast.le = ptrtoint ptr %incdec.ptr to i64 + %sub.ptr.rhs.cast.le568 = ptrtoint ptr %start.0.ph.ph226 to i64 + %2 = xor i64 %sub.ptr.rhs.cast.le568, -1 + %sub.le521 = add i64 %sub.ptr.lhs.cast.le, %2 + %tobool6.not = icmp eq i64 %sub.le521, 0 + br i1 %tobool6.not, label %if.end14, label %if.then7 -if.then231: ; preds = %do.body228 - %dec224 = add nsw i32 %dec224421, -1 - %cmp225 = icmp sgt i32 %dec224421, 0 - br i1 %cmp225, label %do.body228, label %if.end237, !llvm.loop !10 +if.then7: ; preds = %if.then5 + %cmp8 = icmp sgt i32 %ocount.0.ph.ph224, 127 + br i1 %cmp8, label %return, label %if.end -if.end237: ; preds = %if.then231, %while.cond223.preheader, %if.end198 - %done.7 = phi i32 [ %done.1, %if.end198 ], [ %done.1, %while.cond223.preheader ], [ %34, %if.then231 ] - %width.9 = phi i32 [ %width.8, %if.end198 ], [ %dec224418, %while.cond223.preheader ], [ -1, %if.then231 ] - br i1 %is_neg.0295531, label %do.body240, label %if.else248 +if.end: ; preds = %if.then7 + %inc = add nsw i32 %ocount.0.ph.ph224, 1 + %idxprom = sext i32 %ocount.0.ph.ph224 to i64 + %arrayidx = getelementptr inbounds %struct.outsegment, ptr %out, i64 %idxprom + %input = getelementptr inbounds i8, ptr %arrayidx, i64 12 + store i32 0, ptr %input, align 4 + %flags11 = getelementptr inbounds i8, ptr %arrayidx, i64 8 + store i32 1048576, ptr %flags11, align 8 + %start12 = getelementptr inbounds i8, ptr %arrayidx, i64 16 + store ptr %start.0.ph.ph226, ptr %start12, align 8 + %outlen13 = getelementptr inbounds i8, ptr %arrayidx, i64 24 + store i64 %sub.le521, ptr %outlen13, align 8 + br label %if.end14 -do.body240: ; preds = %if.end237 - %call241 = call i32 %stream(i8 noundef zeroext 45, ptr noundef %userp) #12, !callees !23 - %tobool242.not = icmp eq i32 %call241, 0 - br i1 %tobool242.not, label %if.then243, label %return +if.end14: ; preds = %if.end, %if.then5 + %ocount.1 = phi i32 [ %inc, %if.end ], [ %ocount.0.ph.ph224, %if.then5 ] + %incdec.ptr15 = getelementptr inbounds i8, ptr %fmt.0, i64 2 + br label %while.condthread-pre-split.outer222, !llvm.loop !23 -if.then243: ; preds = %do.body240 - %inc244 = add nsw i32 %done.7, 1 - br label %if.end274 +if.end16: ; preds = %if.then + %cmp17.not = icmp eq i32 %use_dollar.0, 1 + br i1 %cmp17.not, label %if.end29, label %if.then19 -if.else248: ; preds = %if.end237 - br i1 %tobool210.not, label %if.else260, label %do.body252 +if.then19: ; preds = %if.end16 + %3 = add i8 %1, -48 + %or.cond13.i = icmp ult i8 %3, 10 + br i1 %or.cond13.i, label %do.body.i, label %if.then22 -do.body252: ; preds = %if.else248 - %call253 = call i32 %stream(i8 noundef zeroext 43, ptr noundef %userp) #12, !callees !23 - %tobool254.not = icmp eq i32 %call253, 0 - br i1 %tobool254.not, label %if.then255, label %return +do.body.i: ; preds = %if.then19, %do.body.i + %4 = phi i8 [ %5, %do.body.i ], [ %1, %if.then19 ] + %input.addr.0.i = phi ptr [ %incdec.ptr.i, %do.body.i ], [ %incdec.ptr, %if.then19 ] + %number.0.i = phi i32 [ %number.1.i, %do.body.i ], [ 0, %if.then19 ] + %cmp5.i = icmp slt i32 %number.0.i, 128 + %mul.i = mul nsw i32 %number.0.i, 10 + %conv8.i = zext nneg i8 %4 to i32 + %sub.i = add nsw i32 %conv8.i, -48 + %add.i = add i32 %sub.i, %mul.i + %number.1.i = select i1 %cmp5.i, i32 %add.i, i32 %number.0.i + %incdec.ptr.i = getelementptr inbounds i8, ptr %input.addr.0.i, i64 1 + %5 = load i8, ptr %incdec.ptr.i, align 1 + %6 = add i8 %5, -48 + %or.cond14.i = icmp ult i8 %6, 10 + br i1 %or.cond14.i, label %do.body.i, label %do.end.i, !llvm.loop !24 -if.then255: ; preds = %do.body252 - %inc256 = add nsw i32 %done.7, 1 - br label %if.end274 +do.end.i: ; preds = %do.body.i + %tobool.i = icmp ne i32 %number.1.i, 0 + %cmp16.i = icmp slt i32 %number.1.i, 129 + %or.cond.i = and i1 %tobool.i, %cmp16.i + %cmp20.i = icmp eq i8 %5, 36 + %or.cond15.i = and i1 %cmp20.i, %or.cond.i + br i1 %or.cond15.i, label %dollarstring.exit, label %if.then22 -if.else260: ; preds = %if.else248 - br i1 %tobool213.not, label %if.end274, label %do.body264 +dollarstring.exit: ; preds = %do.end.i + %incdec.ptr23.i = getelementptr inbounds i8, ptr %input.addr.0.i, i64 2 + %sub24.i = add nsw i32 %number.1.i, -1 + %cmp20 = icmp slt i32 %number.1.i, 1 + br i1 %cmp20, label %if.then22, label %if.end29 -do.body264: ; preds = %if.else260 - %call265 = call i32 %stream(i8 noundef zeroext 32, ptr noundef %userp) #12, !callees !23 - %tobool266.not = icmp eq i32 %call265, 0 - br i1 %tobool266.not, label %if.then267, label %return +if.then22: ; preds = %if.then19, %do.end.i, %dollarstring.exit + %fmt.9202 = phi ptr [ %incdec.ptr23.i, %dollarstring.exit ], [ %incdec.ptr, %do.end.i ], [ %incdec.ptr, %if.then19 ] + %cmp23 = icmp eq i32 %use_dollar.0, 2 + br i1 %cmp23, label %return, label %if.end29 -if.then267: ; preds = %do.body264 - %inc268 = add nsw i32 %done.7, 1 - br label %if.end274 +if.end29: ; preds = %if.end16, %dollarstring.exit, %if.then22 + %fmt.1 = phi ptr [ %incdec.ptr, %if.end16 ], [ %fmt.9202, %if.then22 ], [ %incdec.ptr23.i, %dollarstring.exit ] + %param.0 = phi i32 [ -1, %if.end16 ], [ -1, %if.then22 ], [ %sub24.i, %dollarstring.exit ] + %cmp137 = phi i1 [ false, %if.end16 ], [ false, %if.then22 ], [ true, %dollarstring.exit ] + %use_dollar.1 = phi i32 [ 1, %if.end16 ], [ 1, %if.then22 ], [ 2, %dollarstring.exit ] + br label %while.body32 -if.end274: ; preds = %if.then255, %if.then267, %if.else260, %if.then243 - %done.9 = phi i32 [ %inc244, %if.then243 ], [ %inc256, %if.then255 ], [ %inc268, %if.then267 ], [ %done.7, %if.else260 ] - br i1 %or.cond4, label %do.body281, label %if.end310 - -do.body281: ; preds = %if.end274 - %call282 = call i32 %stream(i8 noundef zeroext 48, ptr noundef %userp) #12, !callees !23 - %tobool283.not = icmp eq i32 %call282, 0 - br i1 %tobool283.not, label %if.then284, label %return +while.body32: ; preds = %sw.epilog, %if.end29 + %flags.0476 = phi i32 [ 0, %if.end29 ], [ %flags.2, %sw.epilog ] + %precision.0475 = phi i32 [ 0, %if.end29 ], [ %precision.1, %sw.epilog ] + %width.0474 = phi i32 [ 0, %if.end29 ], [ %width.1, %sw.epilog ] + %fmt.2473 = phi ptr [ %fmt.1, %if.end29 ], [ %fmt.3, %sw.epilog ] + %incdec.ptr33 = getelementptr inbounds i8, ptr %fmt.2473, i64 1 + %7 = load i8, ptr %fmt.2473, align 1 + switch i8 %7, label %while.end148 [ + i8 32, label %sw.bb + i8 43, label %sw.bb35 + i8 45, label %sw.bb37 + i8 35, label %sw.bb39 + i8 46, label %sw.bb41 + i8 104, label %sw.bb91 + i8 108, label %sw.bb93 + i8 76, label %sw.bb101 + i8 113, label %sw.bb103 + i8 122, label %sw.bb105 + i8 79, label %sw.bb107 + i8 48, label %sw.bb109 + i8 49, label %sw.bb115 + i8 50, label %sw.bb115 + i8 51, label %sw.bb115 + i8 52, label %sw.bb115 + i8 53, label %sw.bb115 + i8 54, label %sw.bb115 + i8 55, label %sw.bb115 + i8 56, label %sw.bb115 + i8 57, label %sw.bb115 + i8 42, label %sw.bb135 + ] -if.then284: ; preds = %do.body281 - %and289 = and i32 %flags.2305527, 4096 - %tobool290.not = icmp eq i32 %and289, 0 - br i1 %tobool290.not, label %do.body301, label %do.body292 +sw.bb: ; preds = %while.body32 + %or = or i32 %flags.0476, 1 + br label %sw.epilog -do.body292: ; preds = %if.then284 - %call293 = call i32 %stream(i8 noundef zeroext 88, ptr noundef %userp) #12, !callees !23 - %tobool294.not = icmp eq i32 %call293, 0 - br i1 %tobool294.not, label %if.then295, label %return +sw.bb35: ; preds = %while.body32 + %or36 = or i32 %flags.0476, 2 + br label %sw.epilog -if.then295: ; preds = %do.body292 - %inc296 = add nsw i32 %done.9, 2 - br label %if.end310 +sw.bb37: ; preds = %while.body32 + %or38 = and i32 %flags.0476, -261 + %and = or disjoint i32 %or38, 4 + br label %sw.epilog -do.body301: ; preds = %if.then284 - %call302 = call i32 %stream(i8 noundef zeroext 120, ptr noundef %userp) #12, !callees !23 - %tobool303.not = icmp eq i32 %call302, 0 - br i1 %tobool303.not, label %if.then304, label %return +sw.bb39: ; preds = %while.body32 + %or40 = or i32 %flags.0476, 8 + br label %sw.epilog -if.then304: ; preds = %do.body301 - %inc305 = add nsw i32 %done.9, 2 - br label %if.end310 +sw.bb41: ; preds = %while.body32 + %8 = load i8, ptr %incdec.ptr33, align 1 + %cmp43 = icmp eq i8 %8, 42 + br i1 %cmp43, label %if.then45, label %if.else58 -if.end310: ; preds = %if.then295, %if.then304, %if.end274 - %done.10 = phi i32 [ %inc296, %if.then295 ], [ %inc305, %if.then304 ], [ %done.9, %if.end274 ] - %or.cond284.not = icmp eq i32 %32, 256 - br i1 %or.cond284.not, label %while.cond317.preheader, label %if.end331 +if.then45: ; preds = %sw.bb41 + %or46 = or i32 %flags.0476, 65536 + %incdec.ptr47 = getelementptr inbounds i8, ptr %fmt.2473, i64 2 + br i1 %cmp137, label %if.then50, label %if.end85 -while.cond317.preheader: ; preds = %if.end310 - %dec318424 = add nsw i32 %width.9, -1 - %cmp319425 = icmp sgt i32 %width.9, 0 - br i1 %cmp319425, label %do.body322.preheader, label %if.end331 +if.then50: ; preds = %if.then45 + %9 = load i8, ptr %incdec.ptr47, align 1 + %10 = add i8 %9, -48 + %or.cond13.i145 = icmp ult i8 %10, 10 + br i1 %or.cond13.i145, label %do.body.i147, label %return -do.body322.preheader: ; preds = %while.cond317.preheader - %35 = add i32 %done.10, %width.9 - br label %do.body322 +do.body.i147: ; preds = %if.then50, %do.body.i147 + %11 = phi i8 [ %12, %do.body.i147 ], [ %9, %if.then50 ] + %input.addr.0.i148 = phi ptr [ %incdec.ptr.i156, %do.body.i147 ], [ %incdec.ptr47, %if.then50 ] + %number.0.i149 = phi i32 [ %number.1.i155, %do.body.i147 ], [ 0, %if.then50 ] + %cmp5.i150 = icmp slt i32 %number.0.i149, 128 + %mul.i151 = mul nsw i32 %number.0.i149, 10 + %conv8.i152 = zext nneg i8 %11 to i32 + %sub.i153 = add nsw i32 %conv8.i152, -48 + %add.i154 = add i32 %sub.i153, %mul.i151 + %number.1.i155 = select i1 %cmp5.i150, i32 %add.i154, i32 %number.0.i149 + %incdec.ptr.i156 = getelementptr inbounds i8, ptr %input.addr.0.i148, i64 1 + %12 = load i8, ptr %incdec.ptr.i156, align 1 + %13 = add i8 %12, -48 + %or.cond14.i157 = icmp ult i8 %13, 10 + br i1 %or.cond14.i157, label %do.body.i147, label %do.end.i158, !llvm.loop !24 -do.body322: ; preds = %do.body322.preheader, %if.then325 - %dec318427 = phi i32 [ %dec318, %if.then325 ], [ %dec318424, %do.body322.preheader ] - %call323 = call i32 %stream(i8 noundef zeroext 48, ptr noundef %userp) #12, !callees !23 - %tobool324.not = icmp eq i32 %call323, 0 - br i1 %tobool324.not, label %if.then325, label %return +do.end.i158: ; preds = %do.body.i147 + %tobool.i159 = icmp eq i32 %number.1.i155, 0 + %cmp16.i160 = icmp sgt i32 %number.1.i155, 128 + %or.cond.i161.not215 = or i1 %tobool.i159, %cmp16.i160 + %cmp20.i162 = icmp ne i8 %12, 36 + %or.cond15.i163.not214 = or i1 %cmp20.i162, %or.cond.i161.not215 + %incdec.ptr23.i165 = getelementptr inbounds i8, ptr %input.addr.0.i148, i64 2 + %sub24.i166 = add nsw i32 %number.1.i155, -1 + %cmp52 = icmp slt i32 %number.1.i155, 1 + %or.cond209 = select i1 %or.cond15.i163.not214, i1 true, i1 %cmp52 + br i1 %or.cond209, label %return, label %if.end85 -if.then325: ; preds = %do.body322 - %dec318 = add nsw i32 %dec318427, -1 - %cmp319 = icmp sgt i32 %dec318427, 0 - br i1 %cmp319, label %do.body322, label %if.end331, !llvm.loop !11 +if.else58: ; preds = %sw.bb41 + %or59 = or i32 %flags.0476, 32768 + %cmp61 = icmp eq i8 %8, 45 + %incdec.ptr64 = getelementptr inbounds i8, ptr %fmt.2473, i64 2 + %spec.select210 = select i1 %cmp61, ptr %incdec.ptr64, ptr %incdec.ptr33 + %14 = load i8, ptr %spec.select210, align 1 + %15 = add i8 %14, -48 + %or.cond469 = icmp ult i8 %15, 10 + br i1 %or.cond469, label %while.body73, label %while.end -if.end331: ; preds = %if.then325, %while.cond317.preheader, %if.end310 - %done.11 = phi i32 [ %done.10, %if.end310 ], [ %done.10, %while.cond317.preheader ], [ %35, %if.then325 ] - %width.11 = phi i32 [ %width.9, %if.end310 ], [ %dec318424, %while.cond317.preheader ], [ -1, %if.then325 ] - %cmp334.not431 = icmp sgt i64 %w.4.idx, 323 - br i1 %cmp334.not431, label %while.end345, label %do.body337.preheader +while.body73: ; preds = %if.else58, %if.end77 + %16 = phi i8 [ %17, %if.end77 ], [ %14, %if.else58 ] + %precision.3471 = phi i32 [ %add, %if.end77 ], [ 0, %if.else58 ] + %fmt.6470 = phi ptr [ %incdec.ptr80, %if.end77 ], [ %spec.select210, %if.else58 ] + %cmp74 = icmp sgt i32 %precision.3471, 214748364 + br i1 %cmp74, label %return, label %if.end77 -do.body337.preheader: ; preds = %if.end331 - %36 = add i32 %done.11, 324 - %37 = trunc i64 %w.4.idx to i32 - %38 = sub i32 %36, %37 - br label %do.body337 +if.end77: ; preds = %while.body73 + %mul = mul nsw i32 %precision.3471, 10 + %narrow = add nsw i8 %16, -48 + %sub79 = zext nneg i8 %narrow to i32 + %add = add nsw i32 %mul, %sub79 + %incdec.ptr80 = getelementptr inbounds i8, ptr %fmt.6470, i64 1 + %17 = load i8, ptr %incdec.ptr80, align 1 + %18 = add i8 %17, -48 + %or.cond = icmp ult i8 %18, 10 + br i1 %or.cond, label %while.body73, label %while.end, !llvm.loop !25 -do.body337: ; preds = %do.body337.preheader, %if.then340 - %w.6.add433.in = phi i64 [ %w.6.add433, %if.then340 ], [ %w.4.idx, %do.body337.preheader ] - %w.6.add433 = add nsw i64 %w.6.add433.in, 1 - %incdec.ptr333.ptr = getelementptr inbounds i8, ptr %work, i64 %w.6.add433 - %39 = load i8, ptr %incdec.ptr333.ptr, align 1 - %call338 = call i32 %stream(i8 noundef zeroext %39, ptr noundef %userp) #12, !callees !23 - %tobool339.not = icmp eq i32 %call338, 0 - br i1 %tobool339.not, label %if.then340, label %return +while.end: ; preds = %if.end77, %if.else58 + %fmt.6.lcssa = phi ptr [ %spec.select210, %if.else58 ], [ %incdec.ptr80, %if.end77 ] + %precision.3.lcssa = phi i32 [ 0, %if.else58 ], [ %add, %if.end77 ] + %sub83 = sub nsw i32 0, %precision.3.lcssa + %spec.select = select i1 %cmp61, i32 %sub83, i32 %precision.3.lcssa + br label %if.end85 -if.then340: ; preds = %do.body337 - %exitcond507 = icmp eq i64 %w.6.add433, 324 - br i1 %exitcond507, label %while.end345, label %do.body337, !llvm.loop !12 +if.end85: ; preds = %do.end.i158, %while.end, %if.then45 + %fmt.4 = phi ptr [ %incdec.ptr47, %if.then45 ], [ %fmt.6.lcssa, %while.end ], [ %incdec.ptr23.i165, %do.end.i158 ] + %precision.2 = phi i32 [ -1, %if.then45 ], [ %spec.select, %while.end ], [ %sub24.i166, %do.end.i158 ] + %flags.3 = phi i32 [ %or46, %if.then45 ], [ %or59, %while.end ], [ %or46, %do.end.i158 ] + %and86 = and i32 %flags.3, 98304 + %cmp87 = icmp eq i32 %and86, 98304 + br i1 %cmp87, label %return, label %sw.epilog -while.end345: ; preds = %if.then340, %if.end331 - %done.13.lcssa = phi i32 [ %done.11, %if.end331 ], [ %38, %if.then340 ] - %cmp351436 = icmp sgt i32 %width.11, 0 - %or.cond467 = select i1 %tobool218.not.not, i1 %cmp351436, i1 false - br i1 %or.cond467, label %do.body354.preheader, label %for.inc695 +sw.bb91: ; preds = %while.body32 + %or92 = or i32 %flags.0476, 16 + br label %sw.epilog -do.body354.preheader: ; preds = %while.end345 - %40 = add i32 %width.11, %done.13.lcssa - br label %do.body354 +sw.bb93: ; preds = %while.body32 + %and94 = and i32 %flags.0476, 32 + %tobool95.not = icmp eq i32 %and94, 0 + br i1 %tobool95.not, label %if.else98, label %if.then96 -do.body354: ; preds = %do.body354.preheader, %if.then357 - %dec350438.in = phi i32 [ %dec350438, %if.then357 ], [ %width.11, %do.body354.preheader ] - %call355 = call i32 %stream(i8 noundef zeroext 32, ptr noundef %userp) #12, !callees !23 - %tobool356.not = icmp eq i32 %call355, 0 - br i1 %tobool356.not, label %if.then357, label %return +if.then96: ; preds = %sw.bb93 + %or97 = or i32 %flags.0476, 64 + br label %sw.epilog -if.then357: ; preds = %do.body354 - %dec350438 = add nsw i32 %dec350438.in, -1 - %cmp351 = icmp sgt i32 %dec350438.in, 1 - br i1 %cmp351, label %do.body354, label %for.inc695, !llvm.loop !13 +if.else98: ; preds = %sw.bb93 + %or99 = or disjoint i32 %flags.0476, 32 + br label %sw.epilog -sw.bb364: ; preds = %if.end58 - %val366 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 - %41 = load ptr, ptr %val366, align 8 - %tobool367.not = icmp eq ptr %41, null - %cmp369 = icmp eq i32 %prec.0, -1 - br i1 %tobool367.not, label %if.then368, label %if.else378 +sw.bb101: ; preds = %while.body32 + %or102 = or i32 %flags.0476, 128 + br label %sw.epilog -if.then368: ; preds = %sw.bb364 - %cmp372 = icmp sgt i32 %prec.0, 4 - %or.cond6 = or i1 %cmp369, %cmp372 - br i1 %or.cond6, label %if.end392.thread, label %if.end392 +sw.bb103: ; preds = %while.body32 + %or104 = or i32 %flags.0476, 64 + br label %sw.epilog -if.end392.thread: ; preds = %if.then368 - %and375 = and i32 %flags.0, -9 - %sub397546 = add nsw i32 %width.1, -5 - br label %if.end409 +sw.bb105: ; preds = %while.body32 + %or106 = or i32 %flags.0476, 32 + br label %sw.epilog -if.else378: ; preds = %sw.bb364 - br i1 %cmp369, label %if.else383, label %if.then381 +sw.bb107: ; preds = %while.body32 + %or108 = or i32 %flags.0476, 32 + br label %sw.epilog -if.then381: ; preds = %if.else378 - %conv382 = sext i32 %prec.0 to i64 - br label %if.end392 +sw.bb109: ; preds = %while.body32 + %and110 = shl i32 %flags.0476, 6 + %19 = and i32 %and110, 256 + %20 = xor i32 %19, 256 + %spec.select137 = or i32 %20, %flags.0476 + br label %sw.bb115 -if.else383: ; preds = %if.else378 - %42 = load i8, ptr %41, align 1 - %cmp385 = icmp eq i8 %42, 0 - br i1 %cmp385, label %if.end392, label %if.else388 +sw.bb115: ; preds = %sw.bb109, %while.body32, %while.body32, %while.body32, %while.body32, %while.body32, %while.body32, %while.body32, %while.body32, %while.body32 + %flags.1 = phi i32 [ %flags.0476, %while.body32 ], [ %flags.0476, %while.body32 ], [ %flags.0476, %while.body32 ], [ %flags.0476, %while.body32 ], [ %flags.0476, %while.body32 ], [ %flags.0476, %while.body32 ], [ %flags.0476, %while.body32 ], [ %flags.0476, %while.body32 ], [ %flags.0476, %while.body32 ], [ %spec.select137, %sw.bb109 ] + %or116 = or i32 %flags.1, 8192 + br label %do.body -if.else388: ; preds = %if.else383 - %call389 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %41) #11 - br label %if.end392 +do.body: ; preds = %if.end121, %sw.bb115 + %21 = phi i8 [ %7, %sw.bb115 ], [ %22, %if.end121 ] + %fmt.7 = phi ptr [ %fmt.2473, %sw.bb115 ], [ %incdec.ptr126, %if.end121 ] + %width.2 = phi i32 [ 0, %sw.bb115 ], [ %add125, %if.end121 ] + %cmp118 = icmp sgt i32 %width.2, 214748364 + br i1 %cmp118, label %return, label %if.end121 -if.end392: ; preds = %if.else383, %if.then368, %if.then381, %if.else388 - %str365.0 = phi ptr [ %41, %if.else383 ], [ @.str, %if.then368 ], [ %41, %if.then381 ], [ %41, %if.else388 ] - %len.0 = phi i64 [ 0, %if.else383 ], [ 0, %if.then368 ], [ %conv382, %if.then381 ], [ %call389, %if.else388 ] - %cond396279 = call i64 @llvm.umin.i64(i64 %len.0, i64 2147483647) - %cond396 = trunc nuw nsw i64 %cond396279 to i32 - %sub397 = sub nsw i32 %width.1, %cond396 - %tobool399.not = icmp eq i32 %and59, 0 - br i1 %tobool399.not, label %if.end409, label %do.body401 +if.end121: ; preds = %do.body + %mul122 = mul nsw i32 %width.2, 10 + %conv123 = zext nneg i8 %21 to i32 + %sub124 = add i32 %mul122, -48 + %add125 = add i32 %sub124, %conv123 + %incdec.ptr126 = getelementptr inbounds i8, ptr %fmt.7, i64 1 + %22 = load i8, ptr %incdec.ptr126, align 1 + %23 = add i8 %22, -48 + %or.cond138 = icmp ult i8 %23, 10 + br i1 %or.cond138, label %do.body, label %sw.epilog, !llvm.loop !26 -do.body401: ; preds = %if.end392 - %call402 = call i32 %stream(i8 noundef zeroext 34, ptr noundef %userp) #12, !callees !23 - %tobool403.not = icmp eq i32 %call402, 0 - br i1 %tobool403.not, label %if.then404, label %return +sw.bb135: ; preds = %while.body32 + %or136 = or i32 %flags.0476, 16384 + br i1 %cmp137, label %if.then139, label %sw.epilog -if.then404: ; preds = %do.body401 - %inc405 = add nsw i32 %done.1, 1 - br label %if.end409 +if.then139: ; preds = %sw.bb135 + %24 = load i8, ptr %incdec.ptr33, align 1 + %25 = add i8 %24, -48 + %or.cond13.i168 = icmp ult i8 %25, 10 + br i1 %or.cond13.i168, label %do.body.i170, label %return -if.end409: ; preds = %if.end392.thread, %if.then404, %if.end392 - %tobool399.not553 = phi i1 [ false, %if.then404 ], [ true, %if.end392 ], [ true, %if.end392.thread ] - %sub397552 = phi i32 [ %sub397, %if.then404 ], [ %sub397, %if.end392 ], [ %sub397546, %if.end392.thread ] - %cond396551 = phi i32 [ %cond396, %if.then404 ], [ %cond396, %if.end392 ], [ 5, %if.end392.thread ] - %len.0550 = phi i64 [ %len.0, %if.then404 ], [ %len.0, %if.end392 ], [ 5, %if.end392.thread ] - %str365.0549 = phi ptr [ %str365.0, %if.then404 ], [ %str365.0, %if.end392 ], [ @formatf.nilstr, %if.end392.thread ] - %flags.3548 = phi i32 [ %flags.0, %if.then404 ], [ %flags.0, %if.end392 ], [ %and375, %if.end392.thread ] - %done.15 = phi i32 [ %inc405, %if.then404 ], [ %done.1, %if.end392 ], [ %done.1, %if.end392.thread ] - %and410 = and i32 %flags.3548, 4 - %tobool411.not = icmp ne i32 %and410, 0 - br i1 %tobool411.not, label %if.end427, label %while.cond413.preheader - -while.cond413.preheader: ; preds = %if.end409 - %dec414378 = add nsw i32 %sub397552, -1 - %cmp415379 = icmp sgt i32 %sub397552, 0 - br i1 %cmp415379, label %do.body418.preheader, label %if.end427 +do.body.i170: ; preds = %if.then139, %do.body.i170 + %26 = phi i8 [ %27, %do.body.i170 ], [ %24, %if.then139 ] + %input.addr.0.i171 = phi ptr [ %incdec.ptr.i179, %do.body.i170 ], [ %incdec.ptr33, %if.then139 ] + %number.0.i172 = phi i32 [ %number.1.i178, %do.body.i170 ], [ 0, %if.then139 ] + %cmp5.i173 = icmp slt i32 %number.0.i172, 128 + %mul.i174 = mul nsw i32 %number.0.i172, 10 + %conv8.i175 = zext nneg i8 %26 to i32 + %sub.i176 = add nsw i32 %conv8.i175, -48 + %add.i177 = add i32 %sub.i176, %mul.i174 + %number.1.i178 = select i1 %cmp5.i173, i32 %add.i177, i32 %number.0.i172 + %incdec.ptr.i179 = getelementptr inbounds i8, ptr %input.addr.0.i171, i64 1 + %27 = load i8, ptr %incdec.ptr.i179, align 1 + %28 = add i8 %27, -48 + %or.cond14.i180 = icmp ult i8 %28, 10 + br i1 %or.cond14.i180, label %do.body.i170, label %do.end.i181, !llvm.loop !24 -do.body418.preheader: ; preds = %while.cond413.preheader - %43 = add i32 %width.1, %done.15 - %44 = sub i32 %43, %cond396551 - br label %do.body418 +do.end.i181: ; preds = %do.body.i170 + %tobool.i182 = icmp eq i32 %number.1.i178, 0 + %cmp16.i183 = icmp sgt i32 %number.1.i178, 128 + %or.cond.i184.not213 = or i1 %tobool.i182, %cmp16.i183 + %cmp20.i185 = icmp ne i8 %27, 36 + %or.cond15.i186.not212 = or i1 %cmp20.i185, %or.cond.i184.not213 + %incdec.ptr23.i188 = getelementptr inbounds i8, ptr %input.addr.0.i171, i64 2 + %sub24.i189 = add nsw i32 %number.1.i178, -1 + %cmp141 = icmp slt i32 %number.1.i178, 1 + %or.cond211 = select i1 %or.cond15.i186.not212, i1 true, i1 %cmp141 + br i1 %or.cond211, label %return, label %sw.epilog -do.body418: ; preds = %do.body418.preheader, %if.then421 - %dec414381 = phi i32 [ %dec414, %if.then421 ], [ %dec414378, %do.body418.preheader ] - %call419 = call i32 %stream(i8 noundef zeroext 32, ptr noundef %userp) #12, !callees !23 - %tobool420.not = icmp eq i32 %call419, 0 - br i1 %tobool420.not, label %if.then421, label %return +sw.epilog: ; preds = %if.end121, %do.end.i181, %sw.bb135, %if.then96, %if.else98, %if.end85, %sw.bb107, %sw.bb105, %sw.bb103, %sw.bb101, %sw.bb91, %sw.bb39, %sw.bb37, %sw.bb35, %sw.bb + %fmt.3 = phi ptr [ %incdec.ptr33, %sw.bb135 ], [ %incdec.ptr33, %sw.bb107 ], [ %incdec.ptr33, %sw.bb105 ], [ %incdec.ptr33, %sw.bb103 ], [ %incdec.ptr33, %sw.bb101 ], [ %incdec.ptr33, %if.else98 ], [ %incdec.ptr33, %if.then96 ], [ %incdec.ptr33, %sw.bb91 ], [ %fmt.4, %if.end85 ], [ %incdec.ptr33, %sw.bb39 ], [ %incdec.ptr33, %sw.bb37 ], [ %incdec.ptr33, %sw.bb35 ], [ %incdec.ptr33, %sw.bb ], [ %incdec.ptr23.i188, %do.end.i181 ], [ %incdec.ptr126, %if.end121 ] + %width.1 = phi i32 [ -1, %sw.bb135 ], [ %width.0474, %sw.bb107 ], [ %width.0474, %sw.bb105 ], [ %width.0474, %sw.bb103 ], [ %width.0474, %sw.bb101 ], [ %width.0474, %if.else98 ], [ %width.0474, %if.then96 ], [ %width.0474, %sw.bb91 ], [ %width.0474, %if.end85 ], [ %width.0474, %sw.bb39 ], [ %width.0474, %sw.bb37 ], [ %width.0474, %sw.bb35 ], [ %width.0474, %sw.bb ], [ %sub24.i189, %do.end.i181 ], [ %add125, %if.end121 ] + %precision.1 = phi i32 [ %precision.0475, %sw.bb135 ], [ %precision.0475, %sw.bb107 ], [ %precision.0475, %sw.bb105 ], [ %precision.0475, %sw.bb103 ], [ %precision.0475, %sw.bb101 ], [ %precision.0475, %if.else98 ], [ %precision.0475, %if.then96 ], [ %precision.0475, %sw.bb91 ], [ %precision.2, %if.end85 ], [ %precision.0475, %sw.bb39 ], [ %precision.0475, %sw.bb37 ], [ %precision.0475, %sw.bb35 ], [ %precision.0475, %sw.bb ], [ %precision.0475, %do.end.i181 ], [ %precision.0475, %if.end121 ] + %flags.2 = phi i32 [ %or136, %sw.bb135 ], [ %or108, %sw.bb107 ], [ %or106, %sw.bb105 ], [ %or104, %sw.bb103 ], [ %or102, %sw.bb101 ], [ %or99, %if.else98 ], [ %or97, %if.then96 ], [ %or92, %sw.bb91 ], [ %flags.3, %if.end85 ], [ %or40, %sw.bb39 ], [ %and, %sw.bb37 ], [ %or36, %sw.bb35 ], [ %or, %sw.bb ], [ %or136, %do.end.i181 ], [ %or116, %if.end121 ] + br label %while.body32, !llvm.loop !27 -if.then421: ; preds = %do.body418 - %dec414 = add nsw i32 %dec414381, -1 - %cmp415 = icmp sgt i32 %dec414381, 0 - br i1 %cmp415, label %do.body418, label %if.end427, !llvm.loop !14 +while.end148: ; preds = %while.body32 + %29 = load i8, ptr %fmt.2473, align 1 + switch i8 %29, label %while.cond [ + i8 83, label %sw.bb150 + i8 115, label %sw.epilog196.loopexit + i8 110, label %sw.bb153 + i8 112, label %sw.bb154 + i8 100, label %sw.bb155 + i8 105, label %sw.bb155 + i8 117, label %sw.bb166 + i8 111, label %sw.bb178 + i8 120, label %sw.bb180 + i8 88, label %sw.bb182 + i8 99, label %sw.bb184 + i8 102, label %sw.bb186 + i8 101, label %sw.bb187 + i8 69, label %sw.bb189 + i8 103, label %sw.bb191 + i8 71, label %sw.bb193 + ], !llvm.loop !23 -if.end427: ; preds = %if.then421, %while.cond413.preheader, %if.end409 - %done.16 = phi i32 [ %done.15, %if.end409 ], [ %done.15, %while.cond413.preheader ], [ %44, %if.then421 ] - %width.14 = phi i32 [ %sub397552, %if.end409 ], [ %dec414378, %while.cond413.preheader ], [ -1, %if.then421 ] - %tobool429.not384 = icmp eq i64 %len.0550, 0 - br i1 %tobool429.not384, label %for.end446, label %land.rhs430.preheader +sw.bb150: ; preds = %while.end148 + %sub.ptr.lhs.cast.le570 = ptrtoint ptr %incdec.ptr to i64 + %sub.ptr.rhs.cast.le566 = ptrtoint ptr %start.0.ph.ph226 to i64 + %30 = xor i64 %sub.ptr.rhs.cast.le566, -1 + %sub.le518 = add i64 %sub.ptr.lhs.cast.le570, %30 + %or151 = or i32 %flags.0476, 8 + br label %sw.epilog196 -land.rhs430.preheader: ; preds = %if.end427 - %45 = trunc i64 %len.0550 to i32 - %46 = add i32 %done.16, %45 - br label %land.rhs430 +sw.bb153: ; preds = %while.end148 + %sub.ptr.lhs.cast.le574 = ptrtoint ptr %incdec.ptr to i64 + %sub.ptr.rhs.cast.le562 = ptrtoint ptr %start.0.ph.ph226 to i64 + %31 = xor i64 %sub.ptr.rhs.cast.le562, -1 + %sub.le512 = add i64 %sub.ptr.lhs.cast.le574, %31 + br label %sw.epilog196 -land.rhs430: ; preds = %land.rhs430.preheader, %if.then439 - %len.1387 = phi i64 [ %dec445, %if.then439 ], [ %len.0550, %land.rhs430.preheader ] - %str365.1386 = phi ptr [ %incdec.ptr436, %if.then439 ], [ %str365.0549, %land.rhs430.preheader ] - %done.18385 = phi i32 [ %inc440, %if.then439 ], [ %done.16, %land.rhs430.preheader ] - %47 = load i8, ptr %str365.1386, align 1 - %tobool432.not = icmp eq i8 %47, 0 - br i1 %tobool432.not, label %for.end446, label %do.body435 +sw.bb154: ; preds = %while.end148 + %sub.ptr.lhs.cast.le576 = ptrtoint ptr %incdec.ptr to i64 + %sub.ptr.rhs.cast.le560 = ptrtoint ptr %start.0.ph.ph226 to i64 + %32 = xor i64 %sub.ptr.rhs.cast.le560, -1 + %sub.le509 = add i64 %sub.ptr.lhs.cast.le576, %32 + br label %sw.epilog196 -do.body435: ; preds = %land.rhs430 - %call437 = call i32 %stream(i8 noundef zeroext %47, ptr noundef %userp) #12, !callees !23 - %tobool438.not = icmp eq i32 %call437, 0 - br i1 %tobool438.not, label %if.then439, label %return +sw.bb155: ; preds = %while.end148, %while.end148 + %sub.ptr.lhs.cast.le578 = ptrtoint ptr %incdec.ptr to i64 + %sub.ptr.rhs.cast.le558 = ptrtoint ptr %start.0.ph.ph226 to i64 + %33 = xor i64 %sub.ptr.rhs.cast.le558, -1 + %sub.le506 = add i64 %sub.ptr.lhs.cast.le578, %33 + %and156 = and i32 %flags.0476, 64 + %tobool157.not = icmp eq i32 %and156, 0 + br i1 %tobool157.not, label %if.else159, label %sw.epilog196 -if.then439: ; preds = %do.body435 - %incdec.ptr436 = getelementptr inbounds i8, ptr %str365.1386, i64 1 - %inc440 = add nsw i32 %done.18385, 1 - %dec445 = add i64 %len.1387, -1 - %tobool429.not = icmp eq i64 %dec445, 0 - br i1 %tobool429.not, label %for.end446, label %land.rhs430, !llvm.loop !15 +if.else159: ; preds = %sw.bb155 + %and160 = and i32 %flags.0476, 32 + %tobool161.not = icmp eq i32 %and160, 0 + %. = select i1 %tobool161.not, i32 3, i32 4 + br label %sw.epilog196 -for.end446: ; preds = %land.rhs430, %if.then439, %if.end427 - %done.18.lcssa = phi i32 [ %done.16, %if.end427 ], [ %46, %if.then439 ], [ %done.18385, %land.rhs430 ] - %cmp452391 = icmp sgt i32 %width.14, 0 - %or.cond468 = select i1 %tobool411.not, i1 %cmp452391, i1 false - br i1 %or.cond468, label %do.body455.preheader, label %if.end464 +sw.bb166: ; preds = %while.end148 + %sub.ptr.lhs.cast.le580 = ptrtoint ptr %incdec.ptr to i64 + %sub.ptr.rhs.cast.le556 = ptrtoint ptr %start.0.ph.ph226 to i64 + %34 = xor i64 %sub.ptr.rhs.cast.le556, -1 + %sub.le503 = add i64 %sub.ptr.lhs.cast.le580, %34 + %and167 = and i32 %flags.0476, 64 + %tobool168.not = icmp eq i32 %and167, 0 + %and171 = and i32 %flags.0476, 32 + %tobool172.not = icmp eq i32 %and171, 0 + %.139 = select i1 %tobool172.not, i32 6, i32 7 + %type.1 = select i1 %tobool168.not, i32 %.139, i32 8 + %or177 = or i32 %flags.0476, 512 + br label %sw.epilog196 -do.body455.preheader: ; preds = %for.end446 - %48 = add i32 %width.14, %done.18.lcssa - br label %do.body455 +sw.bb178: ; preds = %while.end148 + %sub.ptr.lhs.cast.le582 = ptrtoint ptr %incdec.ptr to i64 + %sub.ptr.rhs.cast.le554 = ptrtoint ptr %start.0.ph.ph226 to i64 + %35 = xor i64 %sub.ptr.rhs.cast.le554, -1 + %sub.le500 = add i64 %sub.ptr.lhs.cast.le582, %35 + %or179 = or i32 %flags.0476, 1024 + br label %sw.epilog196 -do.body455: ; preds = %do.body455.preheader, %if.then458 - %dec451393.in = phi i32 [ %dec451393, %if.then458 ], [ %width.14, %do.body455.preheader ] - %call456 = call i32 %stream(i8 noundef zeroext 32, ptr noundef %userp) #12, !callees !23 - %tobool457.not = icmp eq i32 %call456, 0 - br i1 %tobool457.not, label %if.then458, label %return +sw.bb180: ; preds = %while.end148 + %sub.ptr.lhs.cast.le584 = ptrtoint ptr %incdec.ptr to i64 + %sub.ptr.rhs.cast.le552 = ptrtoint ptr %start.0.ph.ph226 to i64 + %36 = xor i64 %sub.ptr.rhs.cast.le552, -1 + %sub.le497 = add i64 %sub.ptr.lhs.cast.le584, %36 + %or181 = or i32 %flags.0476, 2560 + br label %sw.epilog196 -if.then458: ; preds = %do.body455 - %dec451393 = add nsw i32 %dec451393.in, -1 - %cmp452 = icmp sgt i32 %dec451393.in, 1 - br i1 %cmp452, label %do.body455, label %if.end464, !llvm.loop !16 +sw.bb182: ; preds = %while.end148 + %sub.ptr.lhs.cast.le586 = ptrtoint ptr %incdec.ptr to i64 + %sub.ptr.rhs.cast.le550 = ptrtoint ptr %start.0.ph.ph226 to i64 + %37 = xor i64 %sub.ptr.rhs.cast.le550, -1 + %sub.le494 = add i64 %sub.ptr.lhs.cast.le586, %37 + %or183 = or i32 %flags.0476, 6656 + br label %sw.epilog196 -if.end464: ; preds = %if.then458, %for.end446 - %done.19 = phi i32 [ %done.18.lcssa, %for.end446 ], [ %48, %if.then458 ] - br i1 %tobool399.not553, label %for.inc695, label %do.body468 +sw.bb184: ; preds = %while.end148 + %sub.ptr.lhs.cast.le588 = ptrtoint ptr %incdec.ptr to i64 + %sub.ptr.rhs.cast.le548 = ptrtoint ptr %start.0.ph.ph226 to i64 + %38 = xor i64 %sub.ptr.rhs.cast.le548, -1 + %sub.le491 = add i64 %sub.ptr.lhs.cast.le588, %38 + %or185 = or i32 %flags.0476, 131072 + br label %sw.epilog196 -do.body468: ; preds = %if.end464 - %call469 = call i32 %stream(i8 noundef zeroext 34, ptr noundef %userp) #12, !callees !23 - %tobool470.not = icmp eq i32 %call469, 0 - br i1 %tobool470.not, label %if.then471, label %return +sw.bb186: ; preds = %while.end148 + %sub.ptr.lhs.cast.le590 = ptrtoint ptr %incdec.ptr to i64 + %sub.ptr.rhs.cast.le546 = ptrtoint ptr %start.0.ph.ph226 to i64 + %39 = xor i64 %sub.ptr.rhs.cast.le546, -1 + %sub.le488 = add i64 %sub.ptr.lhs.cast.le590, %39 + br label %sw.epilog196 -if.then471: ; preds = %do.body468 - %inc472 = add nsw i32 %done.19, 1 - br label %for.inc695 +sw.bb187: ; preds = %while.end148 + %sub.ptr.lhs.cast.le592 = ptrtoint ptr %incdec.ptr to i64 + %sub.ptr.rhs.cast.le544 = ptrtoint ptr %start.0.ph.ph226 to i64 + %40 = xor i64 %sub.ptr.rhs.cast.le544, -1 + %sub.le485 = add i64 %sub.ptr.lhs.cast.le592, %40 + %or188 = or i32 %flags.0476, 262144 + br label %sw.epilog196 -sw.bb477: ; preds = %if.end58 - %val478 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 - %49 = load ptr, ptr %val478, align 8 - %tobool479.not = icmp eq ptr %49, null - br i1 %tobool479.not, label %if.else485, label %if.then480 +sw.bb189: ; preds = %while.end148 + %sub.ptr.lhs.cast.le594 = ptrtoint ptr %incdec.ptr to i64 + %sub.ptr.rhs.cast.le542 = ptrtoint ptr %start.0.ph.ph226 to i64 + %41 = xor i64 %sub.ptr.rhs.cast.le542, -1 + %sub.le482 = add i64 %sub.ptr.lhs.cast.le594, %41 + %or190 = or i32 %flags.0476, 266240 + br label %sw.epilog196 -if.then480: ; preds = %sw.bb477 - %and481 = and i32 %flags.0, 4096 - %tobool482.not = icmp eq i32 %and481, 0 - %cond483 = select i1 %tobool482.not, ptr @lower_digits, ptr @upper_digits - %50 = ptrtoint ptr %49 to i64 - br label %while.cond155.preheader +sw.bb191: ; preds = %while.end148 + %sub.ptr.lhs.cast.le596 = ptrtoint ptr %incdec.ptr to i64 + %sub.ptr.rhs.cast.le540 = ptrtoint ptr %start.0.ph.ph226 to i64 + %42 = xor i64 %sub.ptr.rhs.cast.le540, -1 + %sub.le479 = add i64 %sub.ptr.lhs.cast.le596, %42 + %or192 = or i32 %flags.0476, 524288 + br label %sw.epilog196 -if.else485: ; preds = %sw.bb477 - %sub486 = add i32 %width.1, -5 - %and487 = and i32 %flags.0, 4 - %tobool488.not = icmp eq i32 %and487, 0 - br i1 %tobool488.not, label %if.end504, label %while.cond490.preheader +sw.bb193: ; preds = %while.end148 + %sub.ptr.lhs.cast.le598 = ptrtoint ptr %incdec.ptr to i64 + %sub.ptr.rhs.cast.le = ptrtoint ptr %start.0.ph.ph226 to i64 + %43 = xor i64 %sub.ptr.rhs.cast.le, -1 + %sub.le = add i64 %sub.ptr.lhs.cast.le598, %43 + %or194 = or i32 %flags.0476, 528384 + br label %sw.epilog196 -while.cond490.preheader: ; preds = %if.else485 - %dec491365 = add nsw i32 %width.1, -6 - %cmp492366 = icmp sgt i32 %width.1, 5 - br i1 %cmp492366, label %do.body495.preheader, label %if.end504 +sw.epilog196.loopexit: ; preds = %while.end148 + %sub.ptr.lhs.cast.le572 = ptrtoint ptr %incdec.ptr to i64 + %sub.ptr.rhs.cast.le564 = ptrtoint ptr %start.0.ph.ph226 to i64 + %44 = xor i64 %sub.ptr.rhs.cast.le564, -1 + %sub.le515 = add i64 %sub.ptr.lhs.cast.le572, %44 + br label %sw.epilog196 -do.body495.preheader: ; preds = %while.cond490.preheader - %51 = add i32 %sub486, %done.1 - br label %do.body495 +sw.epilog196: ; preds = %sw.epilog196.loopexit, %if.else159, %sw.bb155, %sw.bb150, %sw.bb193, %sw.bb191, %sw.bb189, %sw.bb187, %sw.bb186, %sw.bb184, %sw.bb182, %sw.bb180, %sw.bb178, %sw.bb166, %sw.bb154, %sw.bb153 + %sub365 = phi i64 [ %sub.le, %sw.bb193 ], [ %sub.le479, %sw.bb191 ], [ %sub.le482, %sw.bb189 ], [ %sub.le485, %sw.bb187 ], [ %sub.le488, %sw.bb186 ], [ %sub.le491, %sw.bb184 ], [ %sub.le494, %sw.bb182 ], [ %sub.le497, %sw.bb180 ], [ %sub.le500, %sw.bb178 ], [ %sub.le503, %sw.bb166 ], [ %sub.le509, %sw.bb154 ], [ %sub.le512, %sw.bb153 ], [ %sub.le518, %sw.bb150 ], [ %sub.le506, %sw.bb155 ], [ %sub.le506, %if.else159 ], [ %sub.le515, %sw.epilog196.loopexit ] + %flags.5 = phi i32 [ %or194, %sw.bb193 ], [ %or192, %sw.bb191 ], [ %or190, %sw.bb189 ], [ %or188, %sw.bb187 ], [ %flags.0476, %sw.bb186 ], [ %or185, %sw.bb184 ], [ %or183, %sw.bb182 ], [ %or181, %sw.bb180 ], [ %or179, %sw.bb178 ], [ %or177, %sw.bb166 ], [ %flags.0476, %sw.bb154 ], [ %flags.0476, %sw.bb153 ], [ %or151, %sw.bb150 ], [ %flags.0476, %sw.bb155 ], [ %flags.0476, %if.else159 ], [ %flags.0476, %sw.epilog196.loopexit ] + %type.0 = phi i32 [ 9, %sw.bb193 ], [ 9, %sw.bb191 ], [ 9, %sw.bb189 ], [ 9, %sw.bb187 ], [ 9, %sw.bb186 ], [ 3, %sw.bb184 ], [ 6, %sw.bb182 ], [ 6, %sw.bb180 ], [ 3, %sw.bb178 ], [ %type.1, %sw.bb166 ], [ 1, %sw.bb154 ], [ 2, %sw.bb153 ], [ 0, %sw.bb150 ], [ 5, %sw.bb155 ], [ %., %if.else159 ], [ 0, %sw.epilog196.loopexit ] + %and197 = and i32 %flags.5, 16384 + %tobool198.not = icmp eq i32 %and197, 0 + br i1 %tobool198.not, label %if.end235, label %if.then199 -do.body495: ; preds = %do.body495.preheader, %if.then498 - %dec491368 = phi i32 [ %dec491, %if.then498 ], [ %dec491365, %do.body495.preheader ] - %call496 = call i32 %stream(i8 noundef zeroext 32, ptr noundef %userp) #12, !callees !23 - %tobool497.not = icmp eq i32 %call496, 0 - br i1 %tobool497.not, label %if.then498, label %return +if.then199: ; preds = %sw.epilog196 + %cmp200 = icmp slt i32 %width.0474, 0 + br i1 %cmp200, label %if.then202, label %if.else204 -if.then498: ; preds = %do.body495 - %dec491 = add nsw i32 %dec491368, -1 - %cmp492 = icmp sgt i32 %dec491368, 0 - br i1 %cmp492, label %do.body495, label %if.end504, !llvm.loop !17 +if.then202: ; preds = %if.then199 + %inc203 = add nsw i32 %param_num.0.ph.ph, 1 + br label %if.end213 -if.end504: ; preds = %if.then498, %while.cond490.preheader, %if.else485 - %done.21 = phi i32 [ %done.1, %if.else485 ], [ %done.1, %while.cond490.preheader ], [ %51, %if.then498 ] - %width.17 = phi i32 [ %sub486, %if.else485 ], [ %dec491365, %while.cond490.preheader ], [ -1, %if.then498 ] - %52 = add i32 %done.21, 5 - br label %do.body510 +if.else204: ; preds = %if.then199 + %div135 = lshr i32 %width.0474, 3 + %idxprom205 = zext nneg i32 %div135 to i64 + %arrayidx206 = getelementptr inbounds [16 x i8], ptr %usedinput, i64 0, i64 %idxprom205 + %45 = load i8, ptr %arrayidx206, align 1 + %conv207 = zext i8 %45 to i32 + %and208 = and i32 %width.0474, 7 + %shl = shl nuw nsw i32 1, %and208 + %and209 = and i32 %shl, %conv207 + %tobool210.not = icmp eq i32 %and209, 0 + br i1 %tobool210.not, label %if.end213, label %return -do.body510: ; preds = %if.end504, %if.then513 - %53 = phi i8 [ 40, %if.end504 ], [ %54, %if.then513 ] - %point.0372.idx = phi i64 [ 0, %if.end504 ], [ %point.0372.add, %if.then513 ] - %call511 = call i32 %stream(i8 noundef zeroext %53, ptr noundef %userp) #12, !callees !23 - %tobool512.not = icmp eq i32 %call511, 0 - br i1 %tobool512.not, label %if.then513, label %return +if.end213: ; preds = %if.else204, %if.then202 + %width.4 = phi i32 [ %param_num.0.ph.ph, %if.then202 ], [ %width.0474, %if.else204 ] + %param_num.2 = phi i32 [ %inc203, %if.then202 ], [ %param_num.0.ph.ph, %if.else204 ] + %cmp214 = icmp sgt i32 %width.4, 127 + br i1 %cmp214, label %return, label %if.end217 -if.then513: ; preds = %do.body510 - %point.0372.add = add nuw nsw i64 %point.0372.idx, 1 - %incdec.ptr519.ptr = getelementptr inbounds i8, ptr @formatf.nilstr, i64 %point.0372.add - %54 = load i8, ptr %incdec.ptr519.ptr, align 1 - %exitcond = icmp eq i64 %point.0372.add, 5 - br i1 %exitcond, label %for.end520, label %do.body510, !llvm.loop !18 +if.end217: ; preds = %if.end213 + %spec.select140 = tail call i32 @llvm.smax.i32(i32 %width.4, i32 %max_param.0.ph.ph) + %idxprom222 = sext i32 %width.4 to i64 + %arrayidx223 = getelementptr inbounds %struct.va_input, ptr %in, i64 %idxprom222 + store i32 11, ptr %arrayidx223, align 8 + %and225 = and i32 %width.4, 7 + %shl226 = shl nuw nsw i32 1, %and225 + %div229 = sdiv i32 %width.4, 8 + %idxprom230 = sext i32 %div229 to i64 + %arrayidx231 = getelementptr inbounds [16 x i8], ptr %usedinput, i64 0, i64 %idxprom230 + %46 = load i8, ptr %arrayidx231, align 1 + %47 = trunc nuw i32 %shl226 to i8 + %conv234 = or i8 %46, %47 + store i8 %conv234, ptr %arrayidx231, align 1 + br label %if.end235 -for.end520: ; preds = %if.then513 - %cmp526374 = icmp sgt i32 %width.17, 0 - %or.cond469 = select i1 %tobool488.not, i1 %cmp526374, i1 false - br i1 %or.cond469, label %do.body529.preheader, label %for.inc695 +if.end235: ; preds = %if.end217, %sw.epilog196 + %width.3 = phi i32 [ %width.4, %if.end217 ], [ %width.0474, %sw.epilog196 ] + %max_param.1 = phi i32 [ %spec.select140, %if.end217 ], [ %max_param.0.ph.ph, %sw.epilog196 ] + %param_num.1 = phi i32 [ %param_num.2, %if.end217 ], [ %param_num.0.ph.ph, %sw.epilog196 ] + %and236 = and i32 %flags.5, 65536 + %tobool237.not = icmp eq i32 %and236, 0 + br i1 %tobool237.not, label %if.end276, label %if.then238 -do.body529.preheader: ; preds = %for.end520 - %55 = add i32 %52, %width.17 - br label %do.body529 +if.then238: ; preds = %if.end235 + %cmp239 = icmp slt i32 %precision.0475, 0 + br i1 %cmp239, label %if.then241, label %if.else243 -do.body529: ; preds = %do.body529.preheader, %if.then532 - %dec525376.in = phi i32 [ %dec525376, %if.then532 ], [ %width.17, %do.body529.preheader ] - %call530 = call i32 %stream(i8 noundef zeroext 32, ptr noundef %userp) #12, !callees !23 - %tobool531.not = icmp eq i32 %call530, 0 - br i1 %tobool531.not, label %if.then532, label %return +if.then241: ; preds = %if.then238 + %inc242 = add nsw i32 %param_num.1, 1 + br label %if.end254 -if.then532: ; preds = %do.body529 - %dec525376 = add nsw i32 %dec525376.in, -1 - %cmp526 = icmp sgt i32 %dec525376.in, 1 - br i1 %cmp526, label %do.body529, label %for.inc695, !llvm.loop !19 +if.else243: ; preds = %if.then238 + %div244136 = lshr i32 %precision.0475, 3 + %idxprom245 = zext nneg i32 %div244136 to i64 + %arrayidx246 = getelementptr inbounds [16 x i8], ptr %usedinput, i64 0, i64 %idxprom245 + %48 = load i8, ptr %arrayidx246, align 1 + %conv247 = zext i8 %48 to i32 + %and248 = and i32 %precision.0475, 7 + %shl249 = shl nuw nsw i32 1, %and248 + %and250 = and i32 %shl249, %conv247 + %tobool251.not = icmp eq i32 %and250, 0 + br i1 %tobool251.not, label %if.end254, label %return -sw.bb540: ; preds = %if.end58 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %formatbuf, ptr noundef nonnull align 16 dereferenceable(32) @__const.formatf.formatbuf, i64 32, i1 false) - %call543 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %formatbuf) #11 - %sub544 = sub i64 32, %call543 - %and546 = and i32 %flags.0, 8192 - %tobool547.not = icmp eq i32 %and546, 0 - %spec.select589 = select i1 %tobool547.not, i32 %width.1, i32 %7 - %and551 = and i32 %flags.0, 32768 - %tobool552.not = icmp eq i32 %and551, 0 - br i1 %tobool552.not, label %if.end555, label %if.then553 +if.end254: ; preds = %if.else243, %if.then241 + %precision.5 = phi i32 [ %param_num.1, %if.then241 ], [ %precision.0475, %if.else243 ] + %param_num.4 = phi i32 [ %inc242, %if.then241 ], [ %param_num.1, %if.else243 ] + %cmp255 = icmp sgt i32 %precision.5, 127 + br i1 %cmp255, label %return, label %if.end258 -if.then553: ; preds = %sw.bb540 - %precision554 = getelementptr inbounds i8, ptr %arrayidx2, i64 4 - %56 = load i32, ptr %precision554, align 4 - br label %if.end555 +if.end258: ; preds = %if.end254 + %spec.select141 = tail call i32 @llvm.smax.i32(i32 %precision.5, i32 %max_param.1) + %idxprom263 = sext i32 %precision.5 to i64 + %arrayidx264 = getelementptr inbounds %struct.va_input, ptr %in, i64 %idxprom263 + store i32 12, ptr %arrayidx264, align 8 + %and266 = and i32 %precision.5, 7 + %shl267 = shl nuw nsw i32 1, %and266 + %div270 = sdiv i32 %precision.5, 8 + %idxprom271 = sext i32 %div270 to i64 + %arrayidx272 = getelementptr inbounds [16 x i8], ptr %usedinput, i64 0, i64 %idxprom271 + %49 = load i8, ptr %arrayidx272, align 1 + %50 = trunc nuw i32 %shl267 to i8 + %conv275 = or i8 %49, %50 + store i8 %conv275, ptr %arrayidx272, align 1 + br label %if.end276 -if.end555: ; preds = %if.then553, %sw.bb540 - %prec.2 = phi i32 [ %56, %if.then553 ], [ %prec.0, %sw.bb540 ] - %and556 = and i32 %flags.0, 4 - %tobool557.not = icmp eq i32 %and556, 0 - br i1 %tobool557.not, label %if.end560, label %if.then558 +if.end276: ; preds = %if.end258, %if.end235 + %precision.4 = phi i32 [ %precision.5, %if.end258 ], [ %precision.0475, %if.end235 ] + %max_param.3 = phi i32 [ %spec.select141, %if.end258 ], [ %max_param.1, %if.end235 ] + %param_num.3 = phi i32 [ %param_num.4, %if.end258 ], [ %param_num.1, %if.end235 ] + %cmp277 = icmp slt i32 %param.0, 0 + %spec.select142 = select i1 %cmp277, i32 %param_num.3, i32 %param.0 + %param.0.lobit = lshr i32 %param.0, 31 + %spec.select143 = add nsw i32 %param_num.3, %param.0.lobit + %cmp282 = icmp sgt i32 %spec.select142, 127 + br i1 %cmp282, label %return, label %if.end285 -if.then558: ; preds = %if.end555 - store i8 45, ptr %arrayidx541, align 1 - br label %if.end560 +if.end285: ; preds = %if.end276 + %idxprom290 = sext i32 %spec.select142 to i64 + %arrayidx291 = getelementptr inbounds %struct.va_input, ptr %in, i64 %idxprom290 + store i32 %type.0, ptr %arrayidx291, align 8 + %and293 = and i32 %spec.select142, 7 + %shl294 = shl nuw nsw i32 1, %and293 + %div297 = sdiv i32 %spec.select142, 8 + %idxprom298 = sext i32 %div297 to i64 + %arrayidx299 = getelementptr inbounds [16 x i8], ptr %usedinput, i64 0, i64 %idxprom298 + %51 = load i8, ptr %arrayidx299, align 1 + %52 = trunc nuw i32 %shl294 to i8 + %conv302 = or i8 %51, %52 + store i8 %conv302, ptr %arrayidx299, align 1 + %cmp307 = icmp sgt i32 %ocount.0.ph.ph224, 127 + br i1 %cmp307, label %return, label %if.end310 -if.end560: ; preds = %if.then558, %if.end555 - %fptr.0 = phi ptr [ %incdec.ptr559, %if.then558 ], [ %arrayidx541, %if.end555 ] - %and561 = and i32 %flags.0, 2 - %tobool562.not = icmp eq i32 %and561, 0 - br i1 %tobool562.not, label %if.end565, label %if.then563 +if.end310: ; preds = %if.end285 + %incdec.ptr303 = getelementptr inbounds i8, ptr %fmt.2473, i64 1 + %spec.select144 = tail call i32 @llvm.smax.i32(i32 %spec.select142, i32 %max_param.3) + %inc304 = add nsw i32 %ocount.0.ph.ph224, 1 + %idxprom305 = sext i32 %ocount.0.ph.ph224 to i64 + %arrayidx306 = getelementptr inbounds %struct.outsegment, ptr %out, i64 %idxprom305 + %input311 = getelementptr inbounds i8, ptr %arrayidx306, i64 12 + store i32 %spec.select142, ptr %input311, align 4 + %flags312 = getelementptr inbounds i8, ptr %arrayidx306, i64 8 + store i32 %flags.5, ptr %flags312, align 8 + store i32 %width.3, ptr %arrayidx306, align 8 + %precision314 = getelementptr inbounds i8, ptr %arrayidx306, i64 4 + store i32 %precision.4, ptr %precision314, align 4 + %start315 = getelementptr inbounds i8, ptr %arrayidx306, i64 16 + store ptr %start.0.ph.ph226, ptr %start315, align 8 + %outlen316 = getelementptr inbounds i8, ptr %arrayidx306, i64 24 + store i64 %sub365, ptr %outlen316, align 8 + br label %while.condthread-pre-split.outer, !llvm.loop !23 -if.then563: ; preds = %if.end560 - %incdec.ptr564 = getelementptr inbounds i8, ptr %fptr.0, i64 1 - store i8 43, ptr %fptr.0, align 1 - br label %if.end565 +if.else317: ; preds = %while.cond + %incdec.ptr318 = getelementptr inbounds i8, ptr %fmt.0, i64 1 + br label %while.condthread-pre-split, !llvm.loop !23 -if.end565: ; preds = %if.then563, %if.end560 - %fptr.1 = phi ptr [ %incdec.ptr564, %if.then563 ], [ %fptr.0, %if.end560 ] - %and566 = and i32 %flags.0, 1 - %tobool567.not = icmp eq i32 %and566, 0 - br i1 %tobool567.not, label %if.end570, label %if.then568 +while.end320: ; preds = %while.cond + %sub.ptr.lhs.cast321 = ptrtoint ptr %fmt.0 to i64 + %sub.ptr.rhs.cast322 = ptrtoint ptr %start.0.ph.ph226 to i64 + %sub.ptr.sub323 = sub i64 %sub.ptr.lhs.cast321, %sub.ptr.rhs.cast322 + %tobool324.not = icmp eq ptr %fmt.0, %start.0.ph.ph226 + br i1 %tobool324.not, label %if.end337, label %if.then325 -if.then568: ; preds = %if.end565 - %incdec.ptr569 = getelementptr inbounds i8, ptr %fptr.1, i64 1 - store i8 32, ptr %fptr.1, align 1 - br label %if.end570 +if.then325: ; preds = %while.end320 + %cmp329 = icmp sgt i32 %ocount.0.ph.ph224, 127 + br i1 %cmp329, label %return, label %if.end332 -if.end570: ; preds = %if.then568, %if.end565 - %fptr.2 = phi ptr [ %incdec.ptr569, %if.then568 ], [ %fptr.1, %if.end565 ] - br i1 %tobool60.not, label %if.end575, label %if.then573 +if.end332: ; preds = %if.then325 + %inc326 = add nsw i32 %ocount.0.ph.ph224, 1 + %idxprom327 = sext i32 %ocount.0.ph.ph224 to i64 + %arrayidx328 = getelementptr inbounds %struct.outsegment, ptr %out, i64 %idxprom327 + %input333 = getelementptr inbounds i8, ptr %arrayidx328, i64 12 + store i32 0, ptr %input333, align 4 + %flags334 = getelementptr inbounds i8, ptr %arrayidx328, i64 8 + store i32 1048576, ptr %flags334, align 8 + %start335 = getelementptr inbounds i8, ptr %arrayidx328, i64 16 + store ptr %start.0.ph.ph226, ptr %start335, align 8 + %outlen336 = getelementptr inbounds i8, ptr %arrayidx328, i64 24 + store i64 %sub.ptr.sub323, ptr %outlen336, align 8 + br label %if.end337 -if.then573: ; preds = %if.end570 - %incdec.ptr574 = getelementptr inbounds i8, ptr %fptr.2, i64 1 - store i8 35, ptr %fptr.2, align 1 - br label %if.end575 +if.end337: ; preds = %if.end332, %while.end320 + %ocount.3 = phi i32 [ %inc326, %if.end332 ], [ %ocount.0.ph.ph224, %while.end320 ] + %cmp339.not600 = icmp slt i32 %max_param.0.ph.ph, 0 + br i1 %cmp339.not600, label %if.end337.for.end_crit_edge, label %for.body.lr.ph -if.end575: ; preds = %if.then573, %if.end570 - %fptr.3 = phi ptr [ %incdec.ptr574, %if.then573 ], [ %fptr.2, %if.end570 ] - store i8 0, ptr %fptr.3, align 1 - %cmp576 = icmp sgt i32 %spec.select589, -1 - br i1 %cmp576, label %if.then578, label %if.end586 +if.end337.for.end_crit_edge: ; preds = %if.end337 + %.pre = add nsw i32 %max_param.0.ph.ph, 1 + br label %for.end -if.then578: ; preds = %if.end575 - %57 = call i32 @llvm.umin.i32(i32 %spec.select589, i32 325) - %call583 = call i32 (ptr, i64, ptr, ...) @curl_msnprintf(ptr noundef nonnull %fptr.3, i64 noundef %sub544, ptr noundef nonnull @.str.1, i32 noundef %57) - %idx.ext = sext i32 %call583 to i64 - %add.ptr = getelementptr inbounds i8, ptr %fptr.3, i64 %idx.ext - %sub585 = sub i64 %sub544, %idx.ext - br label %if.end586 +for.body.lr.ph: ; preds = %if.end337 + %fp_offset_p = getelementptr inbounds i8, ptr %arglist, i64 4 + %overflow_arg_area_p453 = getelementptr inbounds i8, ptr %arglist, i64 8 + %53 = getelementptr inbounds i8, ptr %arglist, i64 16 + %54 = add nuw i32 %max_param.0.ph.ph, 1 + %wide.trip.count = zext i32 %54 to i64 + br label %for.body -if.end586: ; preds = %if.then578, %if.end575 - %width.21 = phi i32 [ %57, %if.then578 ], [ %spec.select589, %if.end575 ] - %fptr.4 = phi ptr [ %add.ptr, %if.then578 ], [ %fptr.3, %if.end575 ] - %left.0 = phi i64 [ %sub585, %if.then578 ], [ %sub544, %if.end575 ] - %cmp587 = icmp sgt i32 %prec.2, -1 - br i1 %cmp587, label %if.then589, label %if.end622 +for.body: ; preds = %for.body.lr.ph, %for.inc + %indvars.iv = phi i64 [ 0, %for.body.lr.ph ], [ %indvars.iv.next, %for.inc ] + %arrayidx343 = getelementptr inbounds %struct.va_input, ptr %in, i64 %indvars.iv + %55 = trunc nuw nsw i64 %indvars.iv to i32 + %div344134 = lshr i64 %indvars.iv, 3 + %idxprom345 = and i64 %div344134, 536870911 + %arrayidx346 = getelementptr inbounds [16 x i8], ptr %usedinput, i64 0, i64 %idxprom345 + %56 = load i8, ptr %arrayidx346, align 1 + %conv347 = zext i8 %56 to i32 + %and348 = and i32 %55, 7 + %shl349 = shl nuw nsw i32 1, %and348 + %and350 = and i32 %shl349, %conv347 + %tobool351.not = icmp eq i32 %and350, 0 + br i1 %tobool351.not, label %return, label %if.end353 -if.then589: ; preds = %if.end586 - %val591 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 - %58 = load double, ptr %val591, align 8 - %cmp592 = icmp slt i32 %width.21, 1 - %cmp595.not = icmp sgt i32 %prec.2, %width.21 - %or.cond285 = select i1 %cmp592, i1 true, i1 %cmp595.not - %sub599 = sub i32 324, %width.21 - %maxprec.0 = select i1 %or.cond285, i32 324, i32 %sub599 - %cmp602358 = fcmp ult double %58, 1.000000e+01 - br i1 %cmp602358, label %while.end607, label %while.body604 +if.end353: ; preds = %for.body + %57 = load i32, ptr %arrayidx343, align 8 + switch i32 %57, label %for.inc [ + i32 0, label %sw.bb355 + i32 2, label %sw.bb356 + i32 1, label %sw.bb356 + i32 8, label %sw.bb369 + i32 5, label %sw.bb382 + i32 7, label %sw.bb395 + i32 4, label %sw.bb408 + i32 6, label %sw.bb421 + i32 3, label %sw.bb435 + i32 11, label %sw.bb435 + i32 12, label %sw.bb435 + i32 9, label %sw.bb449 + ] -while.body604: ; preds = %if.then589, %while.body604 - %val590.0360 = phi double [ %div605, %while.body604 ], [ %58, %if.then589 ] - %maxprec.1359 = phi i32 [ %dec606, %while.body604 ], [ %maxprec.0, %if.then589 ] - %div605 = fdiv double %val590.0360, 1.000000e+01 - %dec606 = add i32 %maxprec.1359, -1 - %cmp602 = fcmp ult double %div605, 1.000000e+01 - br i1 %cmp602, label %while.end607, label %while.body604, !llvm.loop !20 +sw.bb355: ; preds = %if.end353 + %gp_offset = load i32, ptr %arglist, align 8 + %fits_in_gp = icmp ult i32 %gp_offset, 41 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem -while.end607: ; preds = %while.body604, %if.then589 - %maxprec.1.lcssa = phi i32 [ %maxprec.0, %if.then589 ], [ %dec606, %while.body604 ] - %cmp609 = icmp sgt i32 %prec.2, %maxprec.1.lcssa - %sub613 = add nsw i32 %maxprec.1.lcssa, -1 - %spec.select286 = select i1 %cmp609, i32 %sub613, i32 %prec.2 - %spec.store.select8 = call i32 @llvm.smax.i32(i32 %spec.select286, i32 0) - %call619 = call i32 (ptr, i64, ptr, ...) @curl_msnprintf(ptr noundef %fptr.4, i64 noundef %left.0, ptr noundef nonnull @.str.2, i32 noundef %spec.store.select8) - %idx.ext620 = sext i32 %call619 to i64 - %add.ptr621 = getelementptr inbounds i8, ptr %fptr.4, i64 %idx.ext620 - br label %if.end622 +vaarg.in_reg: ; preds = %sw.bb355 + %reg_save_area = load ptr, ptr %53, align 8 + %58 = zext nneg i32 %gp_offset to i64 + %59 = getelementptr i8, ptr %reg_save_area, i64 %58 + %60 = add nuw nsw i32 %gp_offset, 8 + store i32 %60, ptr %arglist, align 8 + br label %vaarg.end -if.end622: ; preds = %while.end607, %if.end586 - %fptr.5 = phi ptr [ %add.ptr621, %while.end607 ], [ %fptr.4, %if.end586 ] - %and623 = and i32 %flags.0, 32 - %tobool624.not = icmp eq i32 %and623, 0 - br i1 %tobool624.not, label %if.end627, label %if.then625 +vaarg.in_mem: ; preds = %sw.bb355 + %overflow_arg_area = load ptr, ptr %overflow_arg_area_p453, align 8 + %overflow_arg_area.next = getelementptr i8, ptr %overflow_arg_area, i64 8 + store ptr %overflow_arg_area.next, ptr %overflow_arg_area_p453, align 8 + br label %vaarg.end -if.then625: ; preds = %if.end622 - %incdec.ptr626 = getelementptr inbounds i8, ptr %fptr.5, i64 1 - store i8 108, ptr %fptr.5, align 1 - br label %if.end627 +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi ptr [ %59, %vaarg.in_reg ], [ %overflow_arg_area, %vaarg.in_mem ] + %61 = load ptr, ptr %vaarg.addr, align 8 + %val = getelementptr inbounds i8, ptr %arrayidx343, i64 8 + store ptr %61, ptr %val, align 8 + br label %for.inc -if.end627: ; preds = %if.then625, %if.end622 - %fptr.6 = phi ptr [ %incdec.ptr626, %if.then625 ], [ %fptr.5, %if.end622 ] - %and628 = and i32 %flags.0, 262144 - %tobool629.not = icmp eq i32 %and628, 0 - br i1 %tobool629.not, label %if.else636, label %if.then630 +sw.bb356: ; preds = %if.end353, %if.end353 + %gp_offset358 = load i32, ptr %arglist, align 8 + %fits_in_gp359 = icmp ult i32 %gp_offset358, 41 + br i1 %fits_in_gp359, label %vaarg.in_reg360, label %vaarg.in_mem362 -if.then630: ; preds = %if.end627 - %and631 = and i32 %flags.0, 4096 - %tobool632.not = icmp eq i32 %and631, 0 - %conv634 = select i1 %tobool632.not, i8 101, i8 69 - br label %if.end648 +vaarg.in_reg360: ; preds = %sw.bb356 + %reg_save_area361 = load ptr, ptr %53, align 8 + %62 = zext nneg i32 %gp_offset358 to i64 + %63 = getelementptr i8, ptr %reg_save_area361, i64 %62 + %64 = add nuw nsw i32 %gp_offset358, 8 + store i32 %64, ptr %arglist, align 8 + br label %vaarg.end366 -if.else636: ; preds = %if.end627 - %and637 = and i32 %flags.0, 524288 - %tobool638.not = icmp eq i32 %and637, 0 - br i1 %tobool638.not, label %if.end648, label %if.then639 +vaarg.in_mem362: ; preds = %sw.bb356 + %overflow_arg_area364 = load ptr, ptr %overflow_arg_area_p453, align 8 + %overflow_arg_area.next365 = getelementptr i8, ptr %overflow_arg_area364, i64 8 + store ptr %overflow_arg_area.next365, ptr %overflow_arg_area_p453, align 8 + br label %vaarg.end366 -if.then639: ; preds = %if.else636 - %and640 = and i32 %flags.0, 4096 - %tobool641.not = icmp eq i32 %and640, 0 - %conv643 = select i1 %tobool641.not, i8 103, i8 71 - br label %if.end648 +vaarg.end366: ; preds = %vaarg.in_mem362, %vaarg.in_reg360 + %vaarg.addr367 = phi ptr [ %63, %vaarg.in_reg360 ], [ %overflow_arg_area364, %vaarg.in_mem362 ] + %65 = load ptr, ptr %vaarg.addr367, align 8 + %val368 = getelementptr inbounds i8, ptr %arrayidx343, i64 8 + store ptr %65, ptr %val368, align 8 + br label %for.inc -if.end648: ; preds = %if.else636, %if.then639, %if.then630 - %conv643.sink = phi i8 [ %conv643, %if.then639 ], [ %conv634, %if.then630 ], [ 102, %if.else636 ] - store i8 %conv643.sink, ptr %fptr.6, align 1 - %fptr.7 = getelementptr inbounds i8, ptr %fptr.6, i64 1 - store i8 0, ptr %fptr.7, align 1 - %val651 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 - %59 = load double, ptr %val651, align 8 - %call652 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %work, i64 noundef 326, ptr noundef nonnull %formatbuf, double noundef %59) #12 - %60 = load i8, ptr %work, align 16 - %tobool657.not361 = icmp eq i8 %60, 0 - br i1 %tobool657.not361, label %for.inc695, label %do.body659 +sw.bb369: ; preds = %if.end353 + %gp_offset371 = load i32, ptr %arglist, align 8 + %fits_in_gp372 = icmp ult i32 %gp_offset371, 41 + br i1 %fits_in_gp372, label %vaarg.in_reg373, label %vaarg.in_mem375 -do.body659: ; preds = %if.end648, %if.then662 - %61 = phi i8 [ %62, %if.then662 ], [ %60, %if.end648 ] - %fptr.8363 = phi ptr [ %incdec.ptr668, %if.then662 ], [ %work, %if.end648 ] - %done.25362 = phi i32 [ %inc663, %if.then662 ], [ %done.1, %if.end648 ] - %call660 = call i32 %stream(i8 noundef zeroext %61, ptr noundef %userp) #12, !callees !23 - %tobool661.not = icmp eq i32 %call660, 0 - br i1 %tobool661.not, label %if.then662, label %return +vaarg.in_reg373: ; preds = %sw.bb369 + %reg_save_area374 = load ptr, ptr %53, align 8 + %66 = zext nneg i32 %gp_offset371 to i64 + %67 = getelementptr i8, ptr %reg_save_area374, i64 %66 + %68 = add nuw nsw i32 %gp_offset371, 8 + store i32 %68, ptr %arglist, align 8 + br label %vaarg.end379 -if.then662: ; preds = %do.body659 - %inc663 = add nsw i32 %done.25362, 1 - %incdec.ptr668 = getelementptr inbounds i8, ptr %fptr.8363, i64 1 - %62 = load i8, ptr %incdec.ptr668, align 1 - %tobool657.not = icmp eq i8 %62, 0 - br i1 %tobool657.not, label %for.inc695, label %do.body659, !llvm.loop !21 +vaarg.in_mem375: ; preds = %sw.bb369 + %overflow_arg_area377 = load ptr, ptr %overflow_arg_area_p453, align 8 + %overflow_arg_area.next378 = getelementptr i8, ptr %overflow_arg_area377, i64 8 + store ptr %overflow_arg_area.next378, ptr %overflow_arg_area_p453, align 8 + br label %vaarg.end379 -sw.bb670: ; preds = %if.end58 - %and671 = and i32 %flags.0, 64 - %tobool672.not = icmp eq i32 %and671, 0 - br i1 %tobool672.not, label %if.else676, label %if.then673 +vaarg.end379: ; preds = %vaarg.in_mem375, %vaarg.in_reg373 + %vaarg.addr380 = phi ptr [ %67, %vaarg.in_reg373 ], [ %overflow_arg_area377, %vaarg.in_mem375 ] + %69 = load i64, ptr %vaarg.addr380, align 8 + %val381 = getelementptr inbounds i8, ptr %arrayidx343, i64 8 + store i64 %69, ptr %val381, align 8 + br label %for.inc -if.then673: ; preds = %sw.bb670 - %conv674 = sext i32 %done.1 to i64 - %val675 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 - %63 = load ptr, ptr %val675, align 8 - store i64 %conv674, ptr %63, align 8 - br label %for.inc695 +sw.bb382: ; preds = %if.end353 + %gp_offset384 = load i32, ptr %arglist, align 8 + %fits_in_gp385 = icmp ult i32 %gp_offset384, 41 + br i1 %fits_in_gp385, label %vaarg.in_reg386, label %vaarg.in_mem388 -if.else676: ; preds = %sw.bb670 - %and677 = and i32 %flags.0, 32 - %tobool678.not = icmp eq i32 %and677, 0 - br i1 %tobool678.not, label %if.else682, label %if.then679 +vaarg.in_reg386: ; preds = %sw.bb382 + %reg_save_area387 = load ptr, ptr %53, align 8 + %70 = zext nneg i32 %gp_offset384 to i64 + %71 = getelementptr i8, ptr %reg_save_area387, i64 %70 + %72 = add nuw nsw i32 %gp_offset384, 8 + store i32 %72, ptr %arglist, align 8 + br label %vaarg.end392 -if.then679: ; preds = %if.else676 - %conv680 = sext i32 %done.1 to i64 - %val681 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 - %64 = load ptr, ptr %val681, align 8 - store i64 %conv680, ptr %64, align 8 - br label %for.inc695 +vaarg.in_mem388: ; preds = %sw.bb382 + %overflow_arg_area390 = load ptr, ptr %overflow_arg_area_p453, align 8 + %overflow_arg_area.next391 = getelementptr i8, ptr %overflow_arg_area390, i64 8 + store ptr %overflow_arg_area.next391, ptr %overflow_arg_area_p453, align 8 + br label %vaarg.end392 -if.else682: ; preds = %if.else676 - %and683 = and i32 %flags.0, 16 - %tobool684.not = icmp eq i32 %and683, 0 - br i1 %tobool684.not, label %if.then685, label %if.else687 +vaarg.end392: ; preds = %vaarg.in_mem388, %vaarg.in_reg386 + %vaarg.addr393 = phi ptr [ %71, %vaarg.in_reg386 ], [ %overflow_arg_area390, %vaarg.in_mem388 ] + %73 = load i64, ptr %vaarg.addr393, align 8 + %val394 = getelementptr inbounds i8, ptr %arrayidx343, i64 8 + store i64 %73, ptr %val394, align 8 + br label %for.inc -if.then685: ; preds = %if.else682 - %val686 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 - %65 = load ptr, ptr %val686, align 8 - store i32 %done.1, ptr %65, align 4 - br label %for.inc695 +sw.bb395: ; preds = %if.end353 + %gp_offset397 = load i32, ptr %arglist, align 8 + %fits_in_gp398 = icmp ult i32 %gp_offset397, 41 + br i1 %fits_in_gp398, label %vaarg.in_reg399, label %vaarg.in_mem401 -if.else687: ; preds = %if.else682 - %conv688 = trunc i32 %done.1 to i16 - %val689 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 - %66 = load ptr, ptr %val689, align 8 - store i16 %conv688, ptr %66, align 2 - br label %for.inc695 +vaarg.in_reg399: ; preds = %sw.bb395 + %reg_save_area400 = load ptr, ptr %53, align 8 + %74 = zext nneg i32 %gp_offset397 to i64 + %75 = getelementptr i8, ptr %reg_save_area400, i64 %74 + %76 = add nuw nsw i32 %gp_offset397, 8 + store i32 %76, ptr %arglist, align 8 + br label %vaarg.end405 -for.inc695: ; preds = %if.then662, %if.then532, %if.then106, %if.then357, %if.end648, %if.then90, %while.end345, %if.then471, %if.end464, %for.end520, %if.then679, %if.else687, %if.then685, %if.then673, %if.end58, %for.end - %done.3 = phi i32 [ %done.2.lcssa, %for.end ], [ %done.1, %if.end58 ], [ %done.1, %if.then673 ], [ %done.1, %if.then679 ], [ %done.1, %if.else687 ], [ %done.1, %if.then685 ], [ %done.13.lcssa, %while.end345 ], [ %52, %for.end520 ], [ %inc472, %if.then471 ], [ %done.19, %if.end464 ], [ %inc91, %if.then90 ], [ %done.1, %if.end648 ], [ %40, %if.then357 ], [ %16, %if.then106 ], [ %55, %if.then532 ], [ %inc663, %if.then662 ] - %digits.1 = phi ptr [ %digits.0463, %for.end ], [ %digits.0463, %if.end58 ], [ %digits.0463, %if.then673 ], [ %digits.0463, %if.then679 ], [ %digits.0463, %if.else687 ], [ %digits.0463, %if.then685 ], [ %digits.2289535, %while.end345 ], [ %digits.0463, %for.end520 ], [ %digits.0463, %if.then471 ], [ %digits.0463, %if.end464 ], [ %digits.0463, %if.then90 ], [ %digits.0463, %if.end648 ], [ %digits.2289535, %if.then357 ], [ %digits.0463, %if.then106 ], [ %digits.0463, %if.then532 ], [ %digits.0463, %if.then662 ] - %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 - %67 = load i32, ptr %ocount, align 4 - %68 = sext i32 %67 to i64 - %cmp = icmp slt i64 %indvars.iv.next, %68 - br i1 %cmp, label %for.body, label %return, !llvm.loop !22 +vaarg.in_mem401: ; preds = %sw.bb395 + %overflow_arg_area403 = load ptr, ptr %overflow_arg_area_p453, align 8 + %overflow_arg_area.next404 = getelementptr i8, ptr %overflow_arg_area403, i64 8 + store ptr %overflow_arg_area.next404, ptr %overflow_arg_area_p453, align 8 + br label %vaarg.end405 -return: ; preds = %do.body86, %do.body240, %do.body252, %do.body264, %do.body281, %do.body401, %do.body468, %for.inc695, %do.body301, %do.body292, %do.body, %do.body659, %do.body495, %do.body510, %do.body529, %do.body418, %do.body435, %do.body455, %do.body77, %do.body103, %do.body228, %do.body322, %do.body337, %do.body354, %entry - ret void -} +vaarg.end405: ; preds = %vaarg.in_mem401, %vaarg.in_reg399 + %vaarg.addr406 = phi ptr [ %75, %vaarg.in_reg399 ], [ %overflow_arg_area403, %vaarg.in_mem401 ] + %77 = load i64, ptr %vaarg.addr406, align 8 + %val407 = getelementptr inbounds i8, ptr %arrayidx343, i64 8 + store i64 %77, ptr %val407, align 8 + br label %for.inc -; Function Attrs: nofree nounwind uwtable -define i32 @curl_msnprintf(ptr noundef %buffer, i64 noundef %maxlength, ptr noundef %format, ...) local_unnamed_addr #0 { -entry: - %ap_save = alloca [1 x %struct.__va_list_tag], align 16 - call void @llvm.va_start.p0(ptr nonnull %ap_save) - %call = call i32 @curl_mvsnprintf(ptr noundef %buffer, i64 noundef %maxlength, ptr noundef %format, ptr noundef nonnull %ap_save) - call void @llvm.va_end.p0(ptr nonnull %ap_save) - ret i32 %call -} +sw.bb408: ; preds = %if.end353 + %gp_offset410 = load i32, ptr %arglist, align 8 + %fits_in_gp411 = icmp ult i32 %gp_offset410, 41 + br i1 %fits_in_gp411, label %vaarg.in_reg412, label %vaarg.in_mem414 -; Function Attrs: nounwind uwtable -define hidden range(i32 -128, 128) i32 @Curl_dyn_vprintf(ptr noundef %dyn, ptr noundef %format, ptr nocapture noundef %ap_save) local_unnamed_addr #1 { -entry: - %info = alloca %struct.asprintf, align 8 - store ptr %dyn, ptr %info, align 8 - %merr = getelementptr inbounds i8, ptr %info, i64 8 - store i8 0, ptr %merr, align 8 - call fastcc void @formatf(ptr noundef nonnull %info, ptr noundef nonnull @alloc_addbyter, ptr noundef %format, ptr noundef %ap_save) - %0 = load i8, ptr %merr, align 8 - %tobool.not = icmp eq i8 %0, 0 - br i1 %tobool.not, label %return, label %if.then +vaarg.in_reg412: ; preds = %sw.bb408 + %reg_save_area413 = load ptr, ptr %53, align 8 + %78 = zext nneg i32 %gp_offset410 to i64 + %79 = getelementptr i8, ptr %reg_save_area413, i64 %78 + %80 = add nuw nsw i32 %gp_offset410, 8 + store i32 %80, ptr %arglist, align 8 + br label %vaarg.end418 -if.then: ; preds = %entry - %1 = load ptr, ptr %info, align 8 - call void @Curl_dyn_free(ptr noundef %1) #12 - %2 = load i8, ptr %merr, align 8 - %conv = sext i8 %2 to i32 - br label %return +vaarg.in_mem414: ; preds = %sw.bb408 + %overflow_arg_area416 = load ptr, ptr %overflow_arg_area_p453, align 8 + %overflow_arg_area.next417 = getelementptr i8, ptr %overflow_arg_area416, i64 8 + store ptr %overflow_arg_area.next417, ptr %overflow_arg_area_p453, align 8 + br label %vaarg.end418 -return: ; preds = %entry, %if.then - %retval.0 = phi i32 [ %conv, %if.then ], [ 0, %entry ] - ret i32 %retval.0 -} +vaarg.end418: ; preds = %vaarg.in_mem414, %vaarg.in_reg412 + %vaarg.addr419 = phi ptr [ %79, %vaarg.in_reg412 ], [ %overflow_arg_area416, %vaarg.in_mem414 ] + %81 = load i64, ptr %vaarg.addr419, align 8 + %val420 = getelementptr inbounds i8, ptr %arrayidx343, i64 8 + store i64 %81, ptr %val420, align 8 + br label %for.inc -; Function Attrs: nounwind uwtable -define internal range(i32 0, 2) i32 @alloc_addbyter(i8 noundef zeroext %outc, ptr nocapture noundef %f) #1 { -entry: - %outc.addr = alloca i8, align 1 - store i8 %outc, ptr %outc.addr, align 1 - %0 = load ptr, ptr %f, align 8 - %call = call i32 @Curl_dyn_addn(ptr noundef %0, ptr noundef nonnull %outc.addr, i64 noundef 1) #12 - %tobool.not = icmp eq i32 %call, 0 - br i1 %tobool.not, label %return, label %if.then +sw.bb421: ; preds = %if.end353 + %gp_offset423 = load i32, ptr %arglist, align 8 + %fits_in_gp424 = icmp ult i32 %gp_offset423, 41 + br i1 %fits_in_gp424, label %vaarg.in_reg425, label %vaarg.in_mem427 -if.then: ; preds = %entry - %cmp = icmp eq i32 %call, 100 - %conv = select i1 %cmp, i8 2, i8 1 - %merr = getelementptr inbounds i8, ptr %f, i64 8 - store i8 %conv, ptr %merr, align 8 - br label %return +vaarg.in_reg425: ; preds = %sw.bb421 + %reg_save_area426 = load ptr, ptr %53, align 8 + %82 = zext nneg i32 %gp_offset423 to i64 + %83 = getelementptr i8, ptr %reg_save_area426, i64 %82 + %84 = add nuw nsw i32 %gp_offset423, 8 + store i32 %84, ptr %arglist, align 8 + br label %vaarg.end431 -return: ; preds = %entry, %if.then - %retval.0 = phi i32 [ 1, %if.then ], [ 0, %entry ] - ret i32 %retval.0 -} +vaarg.in_mem427: ; preds = %sw.bb421 + %overflow_arg_area429 = load ptr, ptr %overflow_arg_area_p453, align 8 + %overflow_arg_area.next430 = getelementptr i8, ptr %overflow_arg_area429, i64 8 + store ptr %overflow_arg_area.next430, ptr %overflow_arg_area_p453, align 8 + br label %vaarg.end431 -declare void @Curl_dyn_free(ptr noundef) local_unnamed_addr #2 +vaarg.end431: ; preds = %vaarg.in_mem427, %vaarg.in_reg425 + %vaarg.addr432 = phi ptr [ %83, %vaarg.in_reg425 ], [ %overflow_arg_area429, %vaarg.in_mem427 ] + %85 = load i32, ptr %vaarg.addr432, align 4 + %conv433 = zext i32 %85 to i64 + %val434 = getelementptr inbounds i8, ptr %arrayidx343, i64 8 + store i64 %conv433, ptr %val434, align 8 + br label %for.inc -; Function Attrs: nounwind uwtable -define ptr @curl_mvaprintf(ptr noundef %format, ptr nocapture noundef %ap_save) local_unnamed_addr #1 { -entry: - %info = alloca %struct.asprintf, align 8 - %dyn = alloca %struct.dynbuf, align 8 - store ptr %dyn, ptr %info, align 8 - call void @Curl_dyn_init(ptr noundef nonnull %dyn, i64 noundef 8000000) #12 - %merr = getelementptr inbounds i8, ptr %info, i64 8 - store i8 0, ptr %merr, align 8 - call fastcc void @formatf(ptr noundef nonnull %info, ptr noundef nonnull @alloc_addbyter, ptr noundef %format, ptr noundef %ap_save) - %0 = load i8, ptr %merr, align 8 - %tobool.not = icmp eq i8 %0, 0 - %1 = load ptr, ptr %info, align 8 - br i1 %tobool.not, label %if.end, label %if.then +sw.bb435: ; preds = %if.end353, %if.end353, %if.end353 + %gp_offset437 = load i32, ptr %arglist, align 8 + %fits_in_gp438 = icmp ult i32 %gp_offset437, 41 + br i1 %fits_in_gp438, label %vaarg.in_reg439, label %vaarg.in_mem441 -if.then: ; preds = %entry - call void @Curl_dyn_free(ptr noundef %1) #12 - br label %return +vaarg.in_reg439: ; preds = %sw.bb435 + %reg_save_area440 = load ptr, ptr %53, align 8 + %86 = zext nneg i32 %gp_offset437 to i64 + %87 = getelementptr i8, ptr %reg_save_area440, i64 %86 + %88 = add nuw nsw i32 %gp_offset437, 8 + store i32 %88, ptr %arglist, align 8 + br label %vaarg.end445 -if.end: ; preds = %entry - %call5 = call i64 @Curl_dyn_len(ptr noundef %1) #12 - %tobool6.not = icmp eq i64 %call5, 0 - br i1 %tobool6.not, label %if.end10, label %if.then7 +vaarg.in_mem441: ; preds = %sw.bb435 + %overflow_arg_area443 = load ptr, ptr %overflow_arg_area_p453, align 8 + %overflow_arg_area.next444 = getelementptr i8, ptr %overflow_arg_area443, i64 8 + store ptr %overflow_arg_area.next444, ptr %overflow_arg_area_p453, align 8 + br label %vaarg.end445 -if.then7: ; preds = %if.end - %2 = load ptr, ptr %info, align 8 - %call9 = call ptr @Curl_dyn_ptr(ptr noundef %2) #12 - br label %return +vaarg.end445: ; preds = %vaarg.in_mem441, %vaarg.in_reg439 + %vaarg.addr446 = phi ptr [ %87, %vaarg.in_reg439 ], [ %overflow_arg_area443, %vaarg.in_mem441 ] + %89 = load i32, ptr %vaarg.addr446, align 4 + %conv447 = sext i32 %89 to i64 + %val448 = getelementptr inbounds i8, ptr %arrayidx343, i64 8 + store i64 %conv447, ptr %val448, align 8 + br label %for.inc -if.end10: ; preds = %if.end - %3 = load ptr, ptr @Curl_cstrdup, align 8 - %call11 = call ptr %3(ptr noundef nonnull @.str) #12 - br label %return +sw.bb449: ; preds = %if.end353 + %fp_offset = load i32, ptr %fp_offset_p, align 4 + %fits_in_fp = icmp ult i32 %fp_offset, 161 + br i1 %fits_in_fp, label %vaarg.in_reg450, label %vaarg.in_mem452 -return: ; preds = %if.end10, %if.then7, %if.then - %retval.0 = phi ptr [ null, %if.then ], [ %call9, %if.then7 ], [ %call11, %if.end10 ] - ret ptr %retval.0 -} +vaarg.in_reg450: ; preds = %sw.bb449 + %reg_save_area451 = load ptr, ptr %53, align 8 + %90 = zext nneg i32 %fp_offset to i64 + %91 = getelementptr i8, ptr %reg_save_area451, i64 %90 + %92 = add nuw nsw i32 %fp_offset, 16 + store i32 %92, ptr %fp_offset_p, align 4 + br label %vaarg.end456 -declare void @Curl_dyn_init(ptr noundef, i64 noundef) local_unnamed_addr #2 +vaarg.in_mem452: ; preds = %sw.bb449 + %overflow_arg_area454 = load ptr, ptr %overflow_arg_area_p453, align 8 + %overflow_arg_area.next455 = getelementptr i8, ptr %overflow_arg_area454, i64 8 + store ptr %overflow_arg_area.next455, ptr %overflow_arg_area_p453, align 8 + br label %vaarg.end456 -declare i64 @Curl_dyn_len(ptr noundef) local_unnamed_addr #2 +vaarg.end456: ; preds = %vaarg.in_mem452, %vaarg.in_reg450 + %vaarg.addr457 = phi ptr [ %91, %vaarg.in_reg450 ], [ %overflow_arg_area454, %vaarg.in_mem452 ] + %93 = load double, ptr %vaarg.addr457, align 8 + %val458 = getelementptr inbounds i8, ptr %arrayidx343, i64 8 + store double %93, ptr %val458, align 8 + br label %for.inc -declare ptr @Curl_dyn_ptr(ptr noundef) local_unnamed_addr #2 +for.inc: ; preds = %vaarg.end, %vaarg.end366, %vaarg.end379, %vaarg.end392, %vaarg.end405, %vaarg.end418, %vaarg.end431, %vaarg.end445, %vaarg.end456, %if.end353 + %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 + %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count + br i1 %exitcond.not, label %for.end, label %for.body, !llvm.loop !28 -; Function Attrs: nounwind uwtable -define ptr @curl_maprintf(ptr noundef %format, ...) local_unnamed_addr #1 { -entry: - %info.i = alloca %struct.asprintf, align 8 - %dyn.i = alloca %struct.dynbuf, align 8 - %ap_save = alloca [1 x %struct.__va_list_tag], align 16 - call void @llvm.va_start.p0(ptr nonnull %ap_save) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %info.i) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %dyn.i) - store ptr %dyn.i, ptr %info.i, align 8 - call void @Curl_dyn_init(ptr noundef nonnull %dyn.i, i64 noundef 8000000) #12 - %merr.i = getelementptr inbounds i8, ptr %info.i, i64 8 - store i8 0, ptr %merr.i, align 8 - call fastcc void @formatf(ptr noundef nonnull %info.i, ptr noundef nonnull @alloc_addbyter, ptr noundef %format, ptr noundef nonnull %ap_save) - %0 = load i8, ptr %merr.i, align 8 - %tobool.not.i = icmp eq i8 %0, 0 - %1 = load ptr, ptr %info.i, align 8 - br i1 %tobool.not.i, label %if.end.i, label %if.then.i +for.end: ; preds = %for.inc, %if.end337.for.end_crit_edge + %add338.pre-phi = phi i32 [ %.pre, %if.end337.for.end_crit_edge ], [ %54, %for.inc ] + store i32 %add338.pre-phi, ptr %ipieces, align 4 + store i32 %ocount.3, ptr %opieces, align 4 + br label %return -if.then.i: ; preds = %entry - call void @Curl_dyn_free(ptr noundef %1) #12 - br label %curl_mvaprintf.exit +return: ; preds = %if.end285, %if.end276, %if.end254, %if.else243, %if.end213, %if.else204, %if.then7, %if.then22, %if.then139, %do.end.i181, %if.then50, %do.end.i158, %if.end85, %do.body, %while.body73, %for.body, %if.then325, %for.end + %retval.0 = phi i32 [ 0, %for.end ], [ 11, %if.then325 ], [ 8, %for.body ], [ 5, %while.body73 ], [ 7, %do.body ], [ 2, %if.then139 ], [ 2, %do.end.i181 ], [ 3, %if.then50 ], [ 3, %do.end.i158 ], [ 6, %if.end85 ], [ 1, %if.then22 ], [ 11, %if.then7 ], [ 9, %if.else204 ], [ 4, %if.end213 ], [ 10, %if.else243 ], [ 4, %if.end254 ], [ 4, %if.end276 ], [ 11, %if.end285 ] + ret i32 %retval.0 +} -if.end.i: ; preds = %entry - %call5.i = call i64 @Curl_dyn_len(ptr noundef %1) #12 - %tobool6.not.i = icmp eq i64 %call5.i, 0 - br i1 %tobool6.not.i, label %if.end10.i, label %if.then7.i +; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read) +declare i64 @strlen(ptr nocapture noundef) local_unnamed_addr #4 -if.then7.i: ; preds = %if.end.i - %2 = load ptr, ptr %info.i, align 8 - %call9.i = call ptr @Curl_dyn_ptr(ptr noundef %2) #12 - br label %curl_mvaprintf.exit +; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) +declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #5 -if.end10.i: ; preds = %if.end.i - %3 = load ptr, ptr @Curl_cstrdup, align 8 - %call11.i = call ptr %3(ptr noundef nonnull @.str) #12 - br label %curl_mvaprintf.exit +; Function Attrs: nofree nounwind +declare noundef i32 @snprintf(ptr noalias nocapture noundef writeonly, i64 noundef, ptr nocapture noundef readonly, ...) local_unnamed_addr #6 -curl_mvaprintf.exit: ; preds = %if.then.i, %if.then7.i, %if.end10.i - %retval.0.i = phi ptr [ null, %if.then.i ], [ %call9.i, %if.then7.i ], [ %call11.i, %if.end10.i ] - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %info.i) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %dyn.i) - call void @llvm.va_end.p0(ptr nonnull %ap_save) - ret ptr %retval.0.i -} +; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: write) +declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #7 -; Function Attrs: nofree nounwind uwtable -define i32 @curl_msprintf(ptr noundef %buffer, ptr noundef %format, ...) local_unnamed_addr #0 { -entry: - %buffer.addr = alloca ptr, align 8 - %ap_save = alloca [1 x %struct.__va_list_tag], align 16 - store ptr %buffer, ptr %buffer.addr, align 8 - call void @llvm.va_start.p0(ptr nonnull %ap_save) - %call = call fastcc i32 @formatf.specialized.3(ptr noundef nonnull %buffer.addr, ptr noundef %format, ptr noundef nonnull %ap_save) - call void @llvm.va_end.p0(ptr nonnull %ap_save) - %0 = load ptr, ptr %buffer.addr, align 8 - store i8 0, ptr %0, align 1 - ret i32 %call -} +declare i32 @Curl_dyn_addn(ptr noundef, ptr noundef, i64 noundef) local_unnamed_addr #2 -; Function Attrs: nofree nounwind uwtable -define i32 @curl_mprintf(ptr noundef %format, ...) local_unnamed_addr #0 { -entry: - %ap_save = alloca [1 x %struct.__va_list_tag], align 16 - call void @llvm.va_start.p0(ptr nonnull %ap_save) - %0 = load ptr, ptr @stdout, align 8 - %call = call fastcc i32 @formatf.specialized.1(ptr noundef %0, ptr noundef %format, ptr noundef nonnull %ap_save) - call void @llvm.va_end.p0(ptr nonnull %ap_save) - ret i32 %call -} +; Function Attrs: nofree nounwind +declare noundef i32 @fputc(i32 noundef, ptr nocapture noundef) local_unnamed_addr #6 -; Function Attrs: nofree nounwind uwtable -define i32 @curl_mfprintf(ptr nocapture noundef %whereto, ptr noundef %format, ...) local_unnamed_addr #0 { -entry: - %ap_save = alloca [1 x %struct.__va_list_tag], align 16 - call void @llvm.va_start.p0(ptr nonnull %ap_save) - %call = call fastcc i32 @formatf.specialized.1(ptr noundef %whereto, ptr noundef %format, ptr noundef nonnull %ap_save) - call void @llvm.va_end.p0(ptr nonnull %ap_save) - ret i32 %call -} +; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn +declare void @llvm.va_start.p0(ptr) #8 -; Function Attrs: nofree nounwind uwtable -define i32 @curl_mvsprintf(ptr noundef %buffer, ptr noundef %format, ptr nocapture noundef %ap_save) local_unnamed_addr #0 { -entry: - %buffer.addr = alloca ptr, align 8 - store ptr %buffer, ptr %buffer.addr, align 8 - %call = call fastcc i32 @formatf.specialized.3(ptr noundef nonnull %buffer.addr, ptr noundef %format, ptr noundef %ap_save) - %0 = load ptr, ptr %buffer.addr, align 8 - store i8 0, ptr %0, align 1 - ret i32 %call -} +; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn +declare void @llvm.va_end.p0(ptr) #8 ; Function Attrs: nofree nounwind uwtable -define i32 @curl_mvprintf(ptr noundef %format, ptr nocapture noundef %ap_save) local_unnamed_addr #0 { +define internal fastcc i32 @formatf.specialized.1(ptr nocapture noundef %userp, ptr noundef %format, ptr nocapture noundef %ap_save) unnamed_addr #0 { entry: - %0 = load ptr, ptr @stdout, align 8 - %call = tail call fastcc i32 @formatf.specialized.1(ptr noundef %0, ptr noundef %format, ptr noundef %ap_save) - ret i32 %call -} + %ocount = alloca i32, align 4 + %icount = alloca i32, align 4 + %output = alloca [128 x %struct.outsegment], align 16 + %input = alloca [128 x %struct.va_input], align 16 + %work = alloca [326 x i8], align 16 + %formatbuf = alloca [32 x i8], align 16 + store i32 0, ptr %ocount, align 4 + store i32 0, ptr %icount, align 4 + %call = call fastcc i32 @parsefmt(ptr noundef %format, ptr noundef %output, ptr noundef %input, ptr noundef %ocount, ptr noundef %icount, ptr noundef %ap_save) + %tobool.not = icmp eq i32 %call, 0 + %0 = load i32, ptr %ocount, align 4 + %cmp174 = icmp sgt i32 %0, 0 + %or.cond179 = select i1 %tobool.not, i1 %cmp174, i1 false + br i1 %or.cond179, label %for.body.lr.ph, label %return -; Function Attrs: nofree nounwind uwtable -define i32 @curl_mvfprintf(ptr nocapture noundef %whereto, ptr noundef %format, ptr nocapture noundef %ap_save) local_unnamed_addr #0 { -entry: - %call = tail call fastcc i32 @formatf.specialized.1(ptr noundef %whereto, ptr noundef %format, ptr noundef %ap_save) - ret i32 %call -} +for.body.lr.ph: ; preds = %entry + %arrayidx541 = getelementptr inbounds i8, ptr %formatbuf, i64 1 + %incdec.ptr559 = getelementptr inbounds i8, ptr %formatbuf, i64 2 + br label %for.body -; Function Attrs: nofree norecurse nosync nounwind memory(read, argmem: readwrite, inaccessiblemem: none) uwtable -define internal fastcc range(i32 0, 12) i32 @parsefmt(ptr noundef %format, ptr nocapture noundef nonnull writeonly %out, ptr nocapture noundef nonnull %in, ptr nocapture noundef nonnull writeonly %opieces, ptr nocapture noundef nonnull writeonly %ipieces, ptr nocapture noundef %arglist) unnamed_addr #3 { -entry: - %usedinput = alloca [16 x i8], align 16 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %usedinput, i8 0, i64 16, i1 false) - br label %while.condthread-pre-split.outer +for.body: ; preds = %for.body.lr.ph, %for.inc695 + %indvars.iv = phi i64 [ 0, %for.body.lr.ph ], [ %indvars.iv.next, %for.inc695 ] + %digits.0177 = phi ptr [ @lower_digits, %for.body.lr.ph ], [ %digits.1, %for.inc695 ] + %done.0176 = phi i32 [ 0, %for.body.lr.ph ], [ %done.3, %for.inc695 ] + %arrayidx2 = getelementptr inbounds [128 x %struct.outsegment], ptr %output, i64 0, i64 %indvars.iv + %outlen3 = getelementptr inbounds i8, ptr %arrayidx2, i64 24 + %1 = load i64, ptr %outlen3, align 8 + %flags4 = getelementptr inbounds i8, ptr %arrayidx2, i64 8 + %2 = load i32, ptr %flags4, align 8 + %tobool5.not = icmp eq i64 %1, 0 + br i1 %tobool5.not, label %if.end19, label %if.then6 -while.condthread-pre-split.outer: ; preds = %if.end310, %entry - %fmt.0.ph.ph = phi ptr [ %incdec.ptr303, %if.end310 ], [ %format, %entry ] - %max_param.0.ph.ph = phi i32 [ %spec.select144, %if.end310 ], [ -1, %entry ] - %ocount.0.ph.ph = phi i32 [ %inc304, %if.end310 ], [ 0, %entry ] - %use_dollar.0.ph.ph = phi i32 [ %use_dollar.1, %if.end310 ], [ 0, %entry ] - %param_num.0.ph.ph = phi i32 [ %spec.select143, %if.end310 ], [ 0, %entry ] - br label %while.condthread-pre-split.outer222 +if.then6: ; preds = %for.body + %start = getelementptr inbounds i8, ptr %arrayidx2, i64 16 + %3 = load ptr, ptr %start, align 16 + %4 = trunc i64 %1 to i32 + %5 = add i32 %done.0176, %4 + br label %land.rhs -while.condthread-pre-split.outer222: ; preds = %while.condthread-pre-split.outer, %if.end14 - %fmt.0.ph.ph223 = phi ptr [ %fmt.0.ph.ph, %while.condthread-pre-split.outer ], [ %incdec.ptr15, %if.end14 ] - %ocount.0.ph.ph224 = phi i32 [ %ocount.0.ph.ph, %while.condthread-pre-split.outer ], [ %ocount.1, %if.end14 ] - %use_dollar.0.ph.ph225 = phi i32 [ %use_dollar.0.ph.ph, %while.condthread-pre-split.outer ], [ %use_dollar.0, %if.end14 ] - %start.0.ph.ph226 = phi ptr [ %fmt.0.ph.ph, %while.condthread-pre-split.outer ], [ %incdec.ptr, %if.end14 ] - br label %while.condthread-pre-split +land.rhs: ; preds = %if.then6, %if.then13 + %str.071 = phi ptr [ %3, %if.then6 ], [ %incdec.ptr, %if.then13 ] + %outlen.070 = phi i64 [ %1, %if.then6 ], [ %dec, %if.then13 ] + %done.269 = phi i32 [ %done.0176, %if.then6 ], [ %inc, %if.then13 ] + %6 = load i8, ptr %str.071, align 1 + %tobool9.not = icmp eq i8 %6, 0 + br i1 %tobool9.not, label %for.end, label %do.body -while.condthread-pre-split: ; preds = %while.condthread-pre-split.outer222, %if.else317 - %fmt.0.ph = phi ptr [ %incdec.ptr318, %if.else317 ], [ %fmt.0.ph.ph223, %while.condthread-pre-split.outer222 ] - %use_dollar.0.ph = phi i32 [ %use_dollar.0, %if.else317 ], [ %use_dollar.0.ph.ph225, %while.condthread-pre-split.outer222 ] - %.pr = load i8, ptr %fmt.0.ph, align 1 - br label %while.cond +do.body: ; preds = %land.rhs + %conv.i = zext i8 %6 to i32 + %call.i = call i32 @fputc(i32 noundef %conv.i, ptr noundef %userp) + %cmp.i.not = icmp eq i32 %call.i, %conv.i + br i1 %cmp.i.not, label %if.then13, label %return -while.cond: ; preds = %while.condthread-pre-split, %while.end148 - %0 = phi i8 [ %.pr, %while.condthread-pre-split ], [ %29, %while.end148 ] - %fmt.0 = phi ptr [ %fmt.0.ph, %while.condthread-pre-split ], [ %fmt.2473, %while.end148 ] - %use_dollar.0 = phi i32 [ %use_dollar.0.ph, %while.condthread-pre-split ], [ %use_dollar.1, %while.end148 ] - switch i8 %0, label %if.else317 [ - i8 0, label %while.end320 - i8 37, label %if.then +if.then13: ; preds = %do.body + %incdec.ptr = getelementptr inbounds i8, ptr %str.071, i64 1 + %inc = add nsw i32 %done.269, 1 + %dec = add i64 %outlen.070, -1 + %tobool8.not = icmp eq i64 %dec, 0 + br i1 %tobool8.not, label %for.end, label %land.rhs, !llvm.loop !4 + +for.end: ; preds = %land.rhs, %if.then13 + %done.2.lcssa = phi i32 [ %done.269, %land.rhs ], [ %5, %if.then13 ] + %and = and i32 %2, 1048576 + %tobool16.not = icmp eq i32 %and, 0 + br i1 %tobool16.not, label %if.end19, label %for.inc695 + +if.end19: ; preds = %for.end, %for.body + %done.1 = phi i32 [ %done.2.lcssa, %for.end ], [ %done.0176, %for.body ] + %and20 = and i32 %2, 16384 + %tobool21.not = icmp eq i32 %and20, 0 + %7 = load i32, ptr %arrayidx2, align 16 + br i1 %tobool21.not, label %if.end39, label %if.then22 + +if.then22: ; preds = %if.end19 + %idxprom24 = sext i32 %7 to i64 + %val = getelementptr inbounds [128 x %struct.va_input], ptr %input, i64 0, i64 %idxprom24, i32 1 + %8 = load i64, ptr %val, align 8 + %conv26 = trunc i64 %8 to i32 + %cmp27 = icmp slt i32 %conv26, 0 + br i1 %cmp27, label %if.then29, label %if.end39 + +if.then29: ; preds = %if.then22 + %cmp30 = icmp eq i32 %conv26, -2147483648 + %sub = sub nsw i32 0, %conv26 + %width.0 = select i1 %cmp30, i32 2147483647, i32 %sub + %or = and i32 %2, -261 + %and35 = or disjoint i32 %or, 4 + br label %if.end39 + +if.end39: ; preds = %if.end19, %if.then29, %if.then22 + %width.1 = phi i32 [ %width.0, %if.then29 ], [ %conv26, %if.then22 ], [ %7, %if.end19 ] + %flags.0 = phi i32 [ %and35, %if.then29 ], [ %2, %if.then22 ], [ %2, %if.end19 ] + %and40 = and i32 %flags.0, 65536 + %tobool41.not = icmp eq i32 %and40, 0 + br i1 %tobool41.not, label %if.else51, label %if.then42 + +if.then42: ; preds = %if.end39 + %precision = getelementptr inbounds i8, ptr %arrayidx2, i64 4 + %9 = load i32, ptr %precision, align 4 + %idxprom43 = sext i32 %9 to i64 + %val45 = getelementptr inbounds [128 x %struct.va_input], ptr %input, i64 0, i64 %idxprom43, i32 1 + %10 = load i64, ptr %val45, align 8 + %conv46 = trunc i64 %10 to i32 + %spec.store.select = call i32 @llvm.smax.i32(i32 %conv46, i32 -1) + br label %if.end58 + +if.else51: ; preds = %if.end39 + %and52 = and i32 %flags.0, 32768 + %tobool53.not = icmp eq i32 %and52, 0 + br i1 %tobool53.not, label %if.end58, label %if.then54 + +if.then54: ; preds = %if.else51 + %precision55 = getelementptr inbounds i8, ptr %arrayidx2, i64 4 + %11 = load i32, ptr %precision55, align 4 + br label %if.end58 + +if.end58: ; preds = %if.else51, %if.then54, %if.then42 + %prec.0 = phi i32 [ %spec.store.select, %if.then42 ], [ %11, %if.then54 ], [ -1, %if.else51 ] + %and59 = and i32 %flags.0, 8 + %tobool60.not = icmp eq i32 %and59, 0 + %frombool = icmp ne i32 %and59, 0 + %input62 = getelementptr inbounds i8, ptr %arrayidx2, i64 12 + %12 = load i32, ptr %input62, align 4 + %idxprom63 = zext i32 %12 to i64 + %arrayidx64 = getelementptr inbounds [128 x %struct.va_input], ptr %input, i64 0, i64 %idxprom63 + %13 = load i32, ptr %arrayidx64, align 16 + switch i32 %13, label %for.inc695 [ + i32 6, label %sw.bb + i32 7, label %sw.bb + i32 8, label %sw.bb + i32 3, label %sw.bb66 + i32 4, label %sw.bb66 + i32 5, label %sw.bb66 + i32 0, label %sw.bb364 + i32 1, label %sw.bb477 + i32 9, label %sw.bb540 + i32 2, label %sw.bb670 ] -if.then: ; preds = %while.cond - %incdec.ptr = getelementptr inbounds i8, ptr %fmt.0, i64 1 - %1 = load i8, ptr %incdec.ptr, align 1 - %cmp3 = icmp eq i8 %1, 37 - br i1 %cmp3, label %if.then5, label %if.end16 +sw.bb: ; preds = %if.end58, %if.end58, %if.end58 + %or65 = or i32 %flags.0, 512 + br label %sw.bb66 -if.then5: ; preds = %if.then - %sub.ptr.lhs.cast.le = ptrtoint ptr %incdec.ptr to i64 - %sub.ptr.rhs.cast.le568 = ptrtoint ptr %start.0.ph.ph226 to i64 - %2 = xor i64 %sub.ptr.rhs.cast.le568, -1 - %sub.le521 = add i64 %sub.ptr.lhs.cast.le, %2 - %tobool6.not = icmp eq i64 %sub.le521, 0 - br i1 %tobool6.not, label %if.end14, label %if.then7 +sw.bb66: ; preds = %sw.bb, %if.end58, %if.end58, %if.end58 + %flags.1 = phi i32 [ %flags.0, %if.end58 ], [ %flags.0, %if.end58 ], [ %flags.0, %if.end58 ], [ %or65, %sw.bb ] + %val67 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 + %14 = load i64, ptr %val67, align 8 + %and68 = and i32 %flags.1, 131072 + %tobool69.not = icmp eq i32 %and68, 0 + br i1 %tobool69.not, label %if.end113, label %if.then70 -if.then7: ; preds = %if.then5 - %cmp8 = icmp sgt i32 %ocount.0.ph.ph224, 127 - br i1 %cmp8, label %return, label %if.end +if.then70: ; preds = %sw.bb66 + %and71 = and i32 %flags.1, 4 + %tobool72.not = icmp ne i32 %and71, 0 + br i1 %tobool72.not, label %do.body86, label %while.cond.preheader -if.end: ; preds = %if.then7 - %inc = add nsw i32 %ocount.0.ph.ph224, 1 - %idxprom = sext i32 %ocount.0.ph.ph224 to i64 - %arrayidx = getelementptr inbounds %struct.outsegment, ptr %out, i64 %idxprom - %input = getelementptr inbounds i8, ptr %arrayidx, i64 12 - store i32 0, ptr %input, align 4 - %flags11 = getelementptr inbounds i8, ptr %arrayidx, i64 8 - store i32 1048576, ptr %flags11, align 8 - %start12 = getelementptr inbounds i8, ptr %arrayidx, i64 16 - store ptr %start.0.ph.ph226, ptr %start12, align 8 - %outlen13 = getelementptr inbounds i8, ptr %arrayidx, i64 24 - store i64 %sub.le521, ptr %outlen13, align 8 - br label %if.end14 +while.cond.preheader: ; preds = %if.then70 + %dec74109 = add i32 %width.1, -1 + %cmp75110 = icmp sgt i32 %width.1, 1 + br i1 %cmp75110, label %do.body77.preheader, label %do.body86 -if.end14: ; preds = %if.end, %if.then5 - %ocount.1 = phi i32 [ %inc, %if.end ], [ %ocount.0.ph.ph224, %if.then5 ] - %incdec.ptr15 = getelementptr inbounds i8, ptr %fmt.0, i64 2 - br label %while.condthread-pre-split.outer222, !llvm.loop !24 +do.body77.preheader: ; preds = %while.cond.preheader + %15 = add i32 %dec74109, %done.1 + br label %do.body77 -if.end16: ; preds = %if.then - %cmp17.not = icmp eq i32 %use_dollar.0, 1 - br i1 %cmp17.not, label %if.end29, label %if.then19 +do.body77: ; preds = %do.body77.preheader, %if.then80 + %dec74112 = phi i32 [ %dec74, %if.then80 ], [ %dec74109, %do.body77.preheader ] + %done.4111 = phi i32 [ %inc81, %if.then80 ], [ %done.1, %do.body77.preheader ] + %call.i12 = call i32 @fputc(i32 noundef 32, ptr noundef %userp) + %cmp.i13.not = icmp eq i32 %call.i12, 32 + br i1 %cmp.i13.not, label %if.then80, label %return -if.then19: ; preds = %if.end16 - %3 = add i8 %1, -48 - %or.cond13.i = icmp ult i8 %3, 10 - br i1 %or.cond13.i, label %do.body.i, label %if.then22 +if.then80: ; preds = %do.body77 + %inc81 = add nsw i32 %done.4111, 1 + %dec74 = add nsw i32 %dec74112, -1 + %cmp75 = icmp sgt i32 %dec74112, 1 + br i1 %cmp75, label %do.body77, label %do.body86, !llvm.loop !6 -do.body.i: ; preds = %if.then19, %do.body.i - %4 = phi i8 [ %5, %do.body.i ], [ %1, %if.then19 ] - %input.addr.0.i = phi ptr [ %incdec.ptr.i, %do.body.i ], [ %incdec.ptr, %if.then19 ] - %number.0.i = phi i32 [ %number.1.i, %do.body.i ], [ 0, %if.then19 ] - %cmp5.i = icmp slt i32 %number.0.i, 128 - %mul.i = mul nsw i32 %number.0.i, 10 - %conv8.i = zext nneg i8 %4 to i32 - %sub.i = add nsw i32 %conv8.i, -48 - %add.i = add i32 %sub.i, %mul.i - %number.1.i = select i1 %cmp5.i, i32 %add.i, i32 %number.0.i - %incdec.ptr.i = getelementptr inbounds i8, ptr %input.addr.0.i, i64 1 - %5 = load i8, ptr %incdec.ptr.i, align 1 - %6 = add i8 %5, -48 - %or.cond14.i = icmp ult i8 %6, 10 - br i1 %or.cond14.i, label %do.body.i, label %do.end.i, !llvm.loop !25 +do.body86: ; preds = %if.then80, %while.cond.preheader, %if.then70 + %done.5 = phi i32 [ %done.1, %if.then70 ], [ %done.1, %while.cond.preheader ], [ %15, %if.then80 ] + %width.3 = phi i32 [ %width.1, %if.then70 ], [ %dec74109, %while.cond.preheader ], [ 0, %if.then80 ] + %conv87 = trunc i64 %14 to i32 + %conv.i15 = and i32 %conv87, 255 + %call.i16 = call i32 @fputc(i32 noundef %conv.i15, ptr noundef %userp) + %cmp.i17.not = icmp eq i32 %call.i16, %conv.i15 + br i1 %cmp.i17.not, label %if.then90, label %return -do.end.i: ; preds = %do.body.i - %tobool.i = icmp ne i32 %number.1.i, 0 - %cmp16.i = icmp slt i32 %number.1.i, 129 - %or.cond.i = and i1 %tobool.i, %cmp16.i - %cmp20.i = icmp eq i8 %5, 36 - %or.cond15.i = and i1 %cmp20.i, %or.cond.i - br i1 %or.cond15.i, label %dollarstring.exit, label %if.then22 +if.then90: ; preds = %do.body86 + %inc91 = add nsw i32 %done.5, 1 + %cmp100116 = icmp sgt i32 %width.3, 1 + %or.cond180 = select i1 %tobool72.not, i1 %cmp100116, i1 false + br i1 %or.cond180, label %do.body103.preheader, label %for.inc695 -dollarstring.exit: ; preds = %do.end.i - %incdec.ptr23.i = getelementptr inbounds i8, ptr %input.addr.0.i, i64 2 - %sub24.i = add nsw i32 %number.1.i, -1 - %cmp20 = icmp slt i32 %number.1.i, 1 - br i1 %cmp20, label %if.then22, label %if.end29 +do.body103.preheader: ; preds = %if.then90 + %16 = add i32 %width.3, %done.5 + br label %do.body103 -if.then22: ; preds = %if.then19, %do.end.i, %dollarstring.exit - %fmt.9202 = phi ptr [ %incdec.ptr23.i, %dollarstring.exit ], [ %incdec.ptr, %do.end.i ], [ %incdec.ptr, %if.then19 ] - %cmp23 = icmp eq i32 %use_dollar.0, 2 - br i1 %cmp23, label %return, label %if.end29 +do.body103: ; preds = %do.body103.preheader, %if.then106 + %dec99118.in = phi i32 [ %dec99118, %if.then106 ], [ %width.3, %do.body103.preheader ] + %done.6117 = phi i32 [ %inc107, %if.then106 ], [ %inc91, %do.body103.preheader ] + %call.i19 = call i32 @fputc(i32 noundef 32, ptr noundef %userp) + %cmp.i20.not = icmp eq i32 %call.i19, 32 + br i1 %cmp.i20.not, label %if.then106, label %return -if.end29: ; preds = %if.end16, %dollarstring.exit, %if.then22 - %fmt.1 = phi ptr [ %incdec.ptr, %if.end16 ], [ %fmt.9202, %if.then22 ], [ %incdec.ptr23.i, %dollarstring.exit ] - %param.0 = phi i32 [ -1, %if.end16 ], [ -1, %if.then22 ], [ %sub24.i, %dollarstring.exit ] - %cmp137 = phi i1 [ false, %if.end16 ], [ false, %if.then22 ], [ true, %dollarstring.exit ] - %use_dollar.1 = phi i32 [ 1, %if.end16 ], [ 1, %if.then22 ], [ 2, %dollarstring.exit ] - br label %while.body32 +if.then106: ; preds = %do.body103 + %dec99118 = add nsw i32 %dec99118.in, -1 + %inc107 = add nsw i32 %done.6117, 1 + %cmp100 = icmp sgt i32 %dec99118.in, 2 + br i1 %cmp100, label %do.body103, label %for.inc695, !llvm.loop !7 -while.body32: ; preds = %sw.epilog, %if.end29 - %flags.0476 = phi i32 [ 0, %if.end29 ], [ %flags.2, %sw.epilog ] - %precision.0475 = phi i32 [ 0, %if.end29 ], [ %precision.1, %sw.epilog ] - %width.0474 = phi i32 [ 0, %if.end29 ], [ %width.1, %sw.epilog ] - %fmt.2473 = phi ptr [ %fmt.1, %if.end29 ], [ %fmt.3, %sw.epilog ] - %incdec.ptr33 = getelementptr inbounds i8, ptr %fmt.2473, i64 1 - %7 = load i8, ptr %fmt.2473, align 1 - switch i8 %7, label %while.end148 [ - i8 32, label %sw.bb - i8 43, label %sw.bb35 - i8 45, label %sw.bb37 - i8 35, label %sw.bb39 - i8 46, label %sw.bb41 - i8 104, label %sw.bb91 - i8 108, label %sw.bb93 - i8 76, label %sw.bb101 - i8 113, label %sw.bb103 - i8 122, label %sw.bb105 - i8 79, label %sw.bb107 - i8 48, label %sw.bb109 - i8 49, label %sw.bb115 - i8 50, label %sw.bb115 - i8 51, label %sw.bb115 - i8 52, label %sw.bb115 - i8 53, label %sw.bb115 - i8 54, label %sw.bb115 - i8 55, label %sw.bb115 - i8 56, label %sw.bb115 - i8 57, label %sw.bb115 - i8 42, label %sw.bb135 - ] +if.end113: ; preds = %sw.bb66 + %and114 = and i32 %flags.1, 1024 + %tobool115.not.not = icmp eq i32 %and114, 0 + br i1 %tobool115.not.not, label %if.else117, label %while.cond155.preheader -sw.bb: ; preds = %while.body32 - %or = or i32 %flags.0476, 1 - br label %sw.epilog +if.else117: ; preds = %if.end113 + %and118 = and i32 %flags.1, 2048 + %tobool119.not = icmp eq i32 %and118, 0 + br i1 %tobool119.not, label %if.else124, label %if.then120 -sw.bb35: ; preds = %while.body32 - %or36 = or i32 %flags.0476, 2 - br label %sw.epilog +if.then120: ; preds = %if.else117 + %and121 = and i32 %flags.1, 4096 + %tobool122.not = icmp eq i32 %and121, 0 + %cond123 = select i1 %tobool122.not, ptr @lower_digits, ptr @upper_digits + br label %while.cond155.preheader + +while.cond155.preheader: ; preds = %if.end113, %if.then480, %if.then120 + %flags.220.ph = phi i32 [ %flags.1, %if.then120 ], [ %flags.0, %if.then480 ], [ %flags.1, %if.end113 ] + %base.018.ph = phi i64 [ 16, %if.then120 ], [ 16, %if.then480 ], [ 8, %if.end113 ] + %cmp20216.ph = phi i1 [ true, %if.then120 ], [ true, %if.then480 ], [ false, %if.end113 ] + %cmp17313.ph = phi i1 [ false, %if.then120 ], [ false, %if.then480 ], [ true, %if.end113 ] + %is_alt.07.ph = phi i1 [ %frombool, %if.then120 ], [ true, %if.then480 ], [ %frombool, %if.end113 ] + %digits.23.ph = phi ptr [ %cond123, %if.then120 ], [ %cond483, %if.then480 ], [ %digits.0177, %if.end113 ] + %num.2.ph = phi i64 [ %14, %if.then120 ], [ %50, %if.then480 ], [ %14, %if.end113 ] + %cmp142 = icmp eq i32 %prec.0, -1 + %spec.store.select2 = select i1 %cmp142, i32 1, i32 %prec.0 + %cmp156.not120 = icmp eq i64 %num.2.ph, 0 + br i1 %cmp156.not120, label %sw.epilog, label %while.body158.preheader + +while.body158.preheader: ; preds = %while.cond155.preheader + %17 = add nsw i64 %base.018.ph, -1 + br label %while.body158 + +if.else124: ; preds = %if.else117 + %and125 = and i32 %flags.1, 512 + %tobool126.not = icmp eq i32 %and125, 0 + %frombool132 = icmp slt i64 %14, 0 + %spec.select = call i64 @llvm.abs.i64(i64 %14, i1 false) + %is_neg.011.ph = select i1 %tobool126.not, i1 %frombool132, i1 false + %num.1.ph = select i1 %tobool126.not, i64 %spec.select, i64 %14 + %cmp142224 = icmp eq i32 %prec.0, -1 + %spec.store.select2225 = select i1 %cmp142224, i32 1, i32 %prec.0 + %cmp148.not124 = icmp eq i64 %num.1.ph, 0 + br i1 %cmp148.not124, label %sw.epilog.thread, label %while.body150 + +while.body150: ; preds = %if.else124, %while.body150 + %w.0.idx126 = phi i64 [ %w.0.add, %while.body150 ], [ 324, %if.else124 ] + %num.1125 = phi i64 [ %div, %while.body150 ], [ %num.1.ph, %if.else124 ] + %w.0.ptr = getelementptr inbounds i8, ptr %work, i64 %w.0.idx126 + %rem = urem i64 %num.1125, 10 + %18 = trunc nuw nsw i64 %rem to i8 + %conv152 = or disjoint i8 %18, 48 + %w.0.add = add nsw i64 %w.0.idx126, -1 + store i8 %conv152, ptr %w.0.ptr, align 1 + %div = udiv i64 %num.1125, 10 + %cmp148.not = icmp ult i64 %num.1125, 10 + br i1 %cmp148.not, label %sw.epilog.thread, label %while.body150, !llvm.loop !8 -sw.bb37: ; preds = %while.body32 - %or38 = and i32 %flags.0476, -261 - %and = or disjoint i32 %or38, 4 - br label %sw.epilog +while.body158: ; preds = %while.body158.preheader, %while.body158 + %w.2.idx122 = phi i64 [ %w.2.add, %while.body158 ], [ 324, %while.body158.preheader ] + %num.2121 = phi i64 [ %div162, %while.body158 ], [ %num.2.ph, %while.body158.preheader ] + %w.2.ptr = getelementptr inbounds i8, ptr %work, i64 %w.2.idx122 + %rem159 = and i64 %num.2121, %17 + %arrayidx160 = getelementptr inbounds i8, ptr %digits.23.ph, i64 %rem159 + %19 = load i8, ptr %arrayidx160, align 1 + %w.2.add = add nsw i64 %w.2.idx122, -1 + store i8 %19, ptr %w.2.ptr, align 1 + %div162 = udiv i64 %num.2121, %base.018.ph + %cmp156.not = icmp ugt i64 %base.018.ph, %num.2121 + br i1 %cmp156.not, label %sw.epilog, label %while.body158, !llvm.loop !9 -sw.bb39: ; preds = %while.body32 - %or40 = or i32 %flags.0476, 8 - br label %sw.epilog +sw.epilog.thread: ; preds = %while.body150, %if.else124 + %w.1.idx.ph = phi i64 [ 324, %if.else124 ], [ %w.0.add, %while.body150 ] + %20 = trunc i64 %w.1.idx.ph to i32 + %conv164234 = sub i32 324, %20 + %sub165235 = sub nsw i32 %width.1, %conv164234 + %sub170236 = sub nsw i32 %spec.store.select2225, %conv164234 + br label %if.end181 -sw.bb41: ; preds = %while.body32 - %8 = load i8, ptr %incdec.ptr33, align 1 - %cmp43 = icmp eq i8 %8, 42 - br i1 %cmp43, label %if.then45, label %if.else58 +sw.epilog: ; preds = %while.body158, %while.cond155.preheader + %w.1.idx = phi i64 [ 324, %while.cond155.preheader ], [ %w.2.add, %while.body158 ] + %21 = trunc i64 %w.1.idx to i32 + %conv164 = sub i32 324, %21 + %sub165 = sub nsw i32 %width.1, %conv164 + %sub170 = sub nsw i32 %spec.store.select2, %conv164 + %or.cond = and i1 %cmp17313.ph, %is_alt.07.ph + %cmp176 = icmp slt i32 %sub170, 1 + %or.cond3 = select i1 %or.cond, i1 %cmp176, i1 false + br i1 %or.cond3, label %if.end181.thread, label %if.end181 -if.then45: ; preds = %sw.bb41 - %or46 = or i32 %flags.0476, 65536 - %incdec.ptr47 = getelementptr inbounds i8, ptr %fmt.2473, i64 2 - br i1 %cmp137, label %if.then50, label %if.end85 +if.end181.thread: ; preds = %sw.epilog + %w.1.ptr = getelementptr inbounds i8, ptr %work, i64 %w.1.idx + %w.1.add = add nsw i64 %w.1.idx, -1 + store i8 48, ptr %w.1.ptr, align 1 + %dec180 = add nsw i32 %sub165, -1 + br label %if.end198 -if.then50: ; preds = %if.then45 - %9 = load i8, ptr %incdec.ptr47, align 1 - %10 = add i8 %9, -48 - %or.cond13.i145 = icmp ult i8 %10, 10 - br i1 %or.cond13.i145, label %do.body.i147, label %return +if.end181: ; preds = %sw.epilog.thread, %sw.epilog + %sub170253 = phi i32 [ %sub170236, %sw.epilog.thread ], [ %sub170, %sw.epilog ] + %sub165252 = phi i32 [ %sub165235, %sw.epilog.thread ], [ %sub165, %sw.epilog ] + %22 = phi i32 [ %20, %sw.epilog.thread ], [ %21, %sw.epilog ] + %w.1.idx251 = phi i64 [ %w.1.idx.ph, %sw.epilog.thread ], [ %w.1.idx, %sw.epilog ] + %digits.24250 = phi ptr [ %digits.0177, %sw.epilog.thread ], [ %digits.23.ph, %sw.epilog ] + %is_alt.06248 = phi i1 [ %frombool, %sw.epilog.thread ], [ %is_alt.07.ph, %sw.epilog ] + %is_neg.09246 = phi i1 [ %is_neg.011.ph, %sw.epilog.thread ], [ false, %sw.epilog ] + %cmp20215244 = phi i1 [ false, %sw.epilog.thread ], [ %cmp20216.ph, %sw.epilog ] + %flags.219242 = phi i32 [ %flags.1, %sw.epilog.thread ], [ %flags.220.ph, %sw.epilog ] + %spec.store.select222240 = phi i32 [ %spec.store.select2225, %sw.epilog.thread ], [ %spec.store.select2, %sw.epilog ] + %cmp182 = icmp sgt i32 %sub170253, 0 + br i1 %cmp182, label %if.then184, label %if.end198 -do.body.i147: ; preds = %if.then50, %do.body.i147 - %11 = phi i8 [ %12, %do.body.i147 ], [ %9, %if.then50 ] - %input.addr.0.i148 = phi ptr [ %incdec.ptr.i156, %do.body.i147 ], [ %incdec.ptr47, %if.then50 ] - %number.0.i149 = phi i32 [ %number.1.i155, %do.body.i147 ], [ 0, %if.then50 ] - %cmp5.i150 = icmp slt i32 %number.0.i149, 128 - %mul.i151 = mul nsw i32 %number.0.i149, 10 - %conv8.i152 = zext nneg i8 %11 to i32 - %sub.i153 = add nsw i32 %conv8.i152, -48 - %add.i154 = add i32 %sub.i153, %mul.i151 - %number.1.i155 = select i1 %cmp5.i150, i32 %add.i154, i32 %number.0.i149 - %incdec.ptr.i156 = getelementptr inbounds i8, ptr %input.addr.0.i148, i64 1 - %12 = load i8, ptr %incdec.ptr.i156, align 1 - %13 = add i8 %12, -48 - %or.cond14.i157 = icmp ult i8 %13, 10 - br i1 %or.cond14.i157, label %do.body.i147, label %do.end.i158, !llvm.loop !25 +if.then184: ; preds = %if.end181 + %sub185 = sub nsw i32 %sub165252, %sub170253 + %cmp192128 = icmp sgt i64 %w.1.idx251, -1 + br i1 %cmp192128, label %while.body195.preheader, label %if.end198 -do.end.i158: ; preds = %do.body.i147 - %tobool.i159 = icmp eq i32 %number.1.i155, 0 - %cmp16.i160 = icmp sgt i32 %number.1.i155, 128 - %or.cond.i161.not215 = or i1 %tobool.i159, %cmp16.i160 - %cmp20.i162 = icmp ne i8 %12, 36 - %or.cond15.i163.not214 = or i1 %cmp20.i162, %or.cond.i161.not215 - %incdec.ptr23.i165 = getelementptr inbounds i8, ptr %input.addr.0.i148, i64 2 - %sub24.i166 = add nsw i32 %number.1.i155, -1 - %cmp52 = icmp slt i32 %number.1.i155, 1 - %or.cond209 = select i1 %or.cond15.i163.not214, i1 true, i1 %cmp52 - br i1 %or.cond209, label %return, label %if.end85 +while.body195.preheader: ; preds = %if.then184 + %23 = add i32 %spec.store.select222240, -325 + %24 = add i32 %23, %22 + %25 = zext i32 %24 to i64 + %umin = call i64 @llvm.umin.i64(i64 %w.1.idx251, i64 %25) + %26 = sub nsw i64 %w.1.idx251, %umin + %scevgep = getelementptr i8, ptr %work, i64 %26 + %27 = add nuw nsw i64 %umin, 1 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(1) %scevgep, i8 48, i64 %27, i1 false) + %28 = xor i64 %umin, -1 + %29 = add nsw i64 %w.1.idx251, %28 + br label %if.end198 -if.else58: ; preds = %sw.bb41 - %or59 = or i32 %flags.0476, 32768 - %cmp61 = icmp eq i8 %8, 45 - %incdec.ptr64 = getelementptr inbounds i8, ptr %fmt.2473, i64 2 - %spec.select210 = select i1 %cmp61, ptr %incdec.ptr64, ptr %incdec.ptr33 - %14 = load i8, ptr %spec.select210, align 1 - %15 = add i8 %14, -48 - %or.cond469 = icmp ult i8 %15, 10 - br i1 %or.cond469, label %while.body73, label %while.end +if.end198: ; preds = %while.body195.preheader, %if.then184, %if.end181.thread, %if.end181 + %digits.24249 = phi ptr [ %digits.24250, %if.end181 ], [ %digits.23.ph, %if.end181.thread ], [ %digits.24250, %if.then184 ], [ %digits.24250, %while.body195.preheader ] + %is_alt.06247 = phi i1 [ %is_alt.06248, %if.end181 ], [ %is_alt.07.ph, %if.end181.thread ], [ %is_alt.06248, %if.then184 ], [ %is_alt.06248, %while.body195.preheader ] + %is_neg.09245 = phi i1 [ %is_neg.09246, %if.end181 ], [ false, %if.end181.thread ], [ %is_neg.09246, %if.then184 ], [ %is_neg.09246, %while.body195.preheader ] + %cmp20215243 = phi i1 [ %cmp20215244, %if.end181 ], [ %cmp20216.ph, %if.end181.thread ], [ %cmp20215244, %if.then184 ], [ %cmp20215244, %while.body195.preheader ] + %flags.219241 = phi i32 [ %flags.219242, %if.end181 ], [ %flags.220.ph, %if.end181.thread ], [ %flags.219242, %if.then184 ], [ %flags.219242, %while.body195.preheader ] + %width.6 = phi i32 [ %sub165252, %if.end181 ], [ %dec180, %if.end181.thread ], [ %sub185, %if.then184 ], [ %sub185, %while.body195.preheader ] + %w.4.idx = phi i64 [ %w.1.idx251, %if.end181 ], [ %w.1.add, %if.end181.thread ], [ %w.1.idx251, %if.then184 ], [ %29, %while.body195.preheader ] + %or.cond4 = and i1 %cmp20215243, %is_alt.06247 + %sub205 = add nsw i32 %width.6, -2 + %spec.select2 = select i1 %or.cond4, i32 %sub205, i32 %width.6 + %and209 = and i32 %flags.219241, 2 + %tobool210.not = icmp eq i32 %and209, 0 + %and212 = and i32 %flags.219241, 1 + %tobool213.not = icmp eq i32 %and212, 0 + %30 = and i32 %flags.219241, 3 + %31 = icmp ne i32 %30, 0 + %or.cond7.not = or i1 %31, %is_neg.09245 + %dec215 = sext i1 %or.cond7.not to i32 + %width.8 = add nsw i32 %spec.select2, %dec215 + %and217 = and i32 %flags.219241, 4 + %tobool218.not.not = icmp ne i32 %and217, 0 + %32 = and i32 %flags.219241, 260 + %or.cond8 = icmp eq i32 %32, 0 + br i1 %or.cond8, label %while.cond223.preheader, label %if.end237 -while.body73: ; preds = %if.else58, %if.end77 - %16 = phi i8 [ %17, %if.end77 ], [ %14, %if.else58 ] - %precision.3471 = phi i32 [ %add, %if.end77 ], [ 0, %if.else58 ] - %fmt.6470 = phi ptr [ %incdec.ptr80, %if.end77 ], [ %spec.select210, %if.else58 ] - %cmp74 = icmp sgt i32 %precision.3471, 214748364 - br i1 %cmp74, label %return, label %if.end77 +while.cond223.preheader: ; preds = %if.end198 + %dec224132 = add nsw i32 %width.8, -1 + %cmp225133 = icmp sgt i32 %width.8, 0 + br i1 %cmp225133, label %do.body228.preheader, label %if.end237 -if.end77: ; preds = %while.body73 - %mul = mul nsw i32 %precision.3471, 10 - %narrow = add nsw i8 %16, -48 - %sub79 = zext nneg i8 %narrow to i32 - %add = add nsw i32 %mul, %sub79 - %incdec.ptr80 = getelementptr inbounds i8, ptr %fmt.6470, i64 1 - %17 = load i8, ptr %incdec.ptr80, align 1 - %18 = add i8 %17, -48 - %or.cond = icmp ult i8 %18, 10 - br i1 %or.cond, label %while.body73, label %while.end, !llvm.loop !26 +do.body228.preheader: ; preds = %while.cond223.preheader + %33 = add i32 %spec.select2, %done.1 + %34 = add i32 %33, %dec215 + br label %do.body228 -while.end: ; preds = %if.end77, %if.else58 - %fmt.6.lcssa = phi ptr [ %spec.select210, %if.else58 ], [ %incdec.ptr80, %if.end77 ] - %precision.3.lcssa = phi i32 [ 0, %if.else58 ], [ %add, %if.end77 ] - %sub83 = sub nsw i32 0, %precision.3.lcssa - %spec.select = select i1 %cmp61, i32 %sub83, i32 %precision.3.lcssa - br label %if.end85 +do.body228: ; preds = %do.body228.preheader, %if.then231 + %dec224135 = phi i32 [ %dec224, %if.then231 ], [ %dec224132, %do.body228.preheader ] + %done.8134 = phi i32 [ %inc232, %if.then231 ], [ %done.1, %do.body228.preheader ] + %call.i22 = call i32 @fputc(i32 noundef 32, ptr noundef %userp) + %cmp.i23.not = icmp eq i32 %call.i22, 32 + br i1 %cmp.i23.not, label %if.then231, label %return -if.end85: ; preds = %do.end.i158, %while.end, %if.then45 - %fmt.4 = phi ptr [ %incdec.ptr47, %if.then45 ], [ %fmt.6.lcssa, %while.end ], [ %incdec.ptr23.i165, %do.end.i158 ] - %precision.2 = phi i32 [ -1, %if.then45 ], [ %spec.select, %while.end ], [ %sub24.i166, %do.end.i158 ] - %flags.3 = phi i32 [ %or46, %if.then45 ], [ %or59, %while.end ], [ %or46, %do.end.i158 ] - %and86 = and i32 %flags.3, 98304 - %cmp87 = icmp eq i32 %and86, 98304 - br i1 %cmp87, label %return, label %sw.epilog +if.then231: ; preds = %do.body228 + %inc232 = add nsw i32 %done.8134, 1 + %dec224 = add nsw i32 %dec224135, -1 + %cmp225 = icmp sgt i32 %dec224135, 0 + br i1 %cmp225, label %do.body228, label %if.end237, !llvm.loop !10 -sw.bb91: ; preds = %while.body32 - %or92 = or i32 %flags.0476, 16 - br label %sw.epilog +if.end237: ; preds = %if.then231, %while.cond223.preheader, %if.end198 + %done.7 = phi i32 [ %done.1, %if.end198 ], [ %done.1, %while.cond223.preheader ], [ %34, %if.then231 ] + %width.9 = phi i32 [ %width.8, %if.end198 ], [ %dec224132, %while.cond223.preheader ], [ -1, %if.then231 ] + br i1 %is_neg.09245, label %do.body240, label %if.else248 -sw.bb93: ; preds = %while.body32 - %and94 = and i32 %flags.0476, 32 - %tobool95.not = icmp eq i32 %and94, 0 - br i1 %tobool95.not, label %if.else98, label %if.then96 +do.body240: ; preds = %if.end237 + %call.i25 = call i32 @fputc(i32 noundef 45, ptr noundef %userp) + %cmp.i26.not = icmp eq i32 %call.i25, 45 + br i1 %cmp.i26.not, label %if.then243, label %return -if.then96: ; preds = %sw.bb93 - %or97 = or i32 %flags.0476, 64 - br label %sw.epilog +if.then243: ; preds = %do.body240 + %inc244 = add nsw i32 %done.7, 1 + br label %if.end274 -if.else98: ; preds = %sw.bb93 - %or99 = or disjoint i32 %flags.0476, 32 - br label %sw.epilog +if.else248: ; preds = %if.end237 + br i1 %tobool210.not, label %if.else260, label %do.body252 -sw.bb101: ; preds = %while.body32 - %or102 = or i32 %flags.0476, 128 - br label %sw.epilog +do.body252: ; preds = %if.else248 + %call.i28 = call i32 @fputc(i32 noundef 43, ptr noundef %userp) + %cmp.i29.not = icmp eq i32 %call.i28, 43 + br i1 %cmp.i29.not, label %if.then255, label %return -sw.bb103: ; preds = %while.body32 - %or104 = or i32 %flags.0476, 64 - br label %sw.epilog +if.then255: ; preds = %do.body252 + %inc256 = add nsw i32 %done.7, 1 + br label %if.end274 -sw.bb105: ; preds = %while.body32 - %or106 = or i32 %flags.0476, 32 - br label %sw.epilog +if.else260: ; preds = %if.else248 + br i1 %tobool213.not, label %if.end274, label %do.body264 -sw.bb107: ; preds = %while.body32 - %or108 = or i32 %flags.0476, 32 - br label %sw.epilog +do.body264: ; preds = %if.else260 + %call.i31 = call i32 @fputc(i32 noundef 32, ptr noundef %userp) + %cmp.i32.not = icmp eq i32 %call.i31, 32 + br i1 %cmp.i32.not, label %if.then267, label %return -sw.bb109: ; preds = %while.body32 - %and110 = shl i32 %flags.0476, 6 - %19 = and i32 %and110, 256 - %20 = xor i32 %19, 256 - %spec.select137 = or i32 %20, %flags.0476 - br label %sw.bb115 +if.then267: ; preds = %do.body264 + %inc268 = add nsw i32 %done.7, 1 + br label %if.end274 -sw.bb115: ; preds = %sw.bb109, %while.body32, %while.body32, %while.body32, %while.body32, %while.body32, %while.body32, %while.body32, %while.body32, %while.body32 - %flags.1 = phi i32 [ %flags.0476, %while.body32 ], [ %flags.0476, %while.body32 ], [ %flags.0476, %while.body32 ], [ %flags.0476, %while.body32 ], [ %flags.0476, %while.body32 ], [ %flags.0476, %while.body32 ], [ %flags.0476, %while.body32 ], [ %flags.0476, %while.body32 ], [ %flags.0476, %while.body32 ], [ %spec.select137, %sw.bb109 ] - %or116 = or i32 %flags.1, 8192 - br label %do.body +if.end274: ; preds = %if.then267, %if.else260, %if.then255, %if.then243 + %done.9 = phi i32 [ %inc244, %if.then243 ], [ %inc256, %if.then255 ], [ %inc268, %if.then267 ], [ %done.7, %if.else260 ] + br i1 %or.cond4, label %do.body281, label %if.end310 -do.body: ; preds = %if.end121, %sw.bb115 - %21 = phi i8 [ %7, %sw.bb115 ], [ %22, %if.end121 ] - %fmt.7 = phi ptr [ %fmt.2473, %sw.bb115 ], [ %incdec.ptr126, %if.end121 ] - %width.2 = phi i32 [ 0, %sw.bb115 ], [ %add125, %if.end121 ] - %cmp118 = icmp sgt i32 %width.2, 214748364 - br i1 %cmp118, label %return, label %if.end121 +do.body281: ; preds = %if.end274 + %call.i34 = call i32 @fputc(i32 noundef 48, ptr noundef %userp) + %cmp.i35.not = icmp eq i32 %call.i34, 48 + br i1 %cmp.i35.not, label %if.then284, label %return -if.end121: ; preds = %do.body - %mul122 = mul nsw i32 %width.2, 10 - %conv123 = zext nneg i8 %21 to i32 - %sub124 = add i32 %mul122, -48 - %add125 = add i32 %sub124, %conv123 - %incdec.ptr126 = getelementptr inbounds i8, ptr %fmt.7, i64 1 - %22 = load i8, ptr %incdec.ptr126, align 1 - %23 = add i8 %22, -48 - %or.cond138 = icmp ult i8 %23, 10 - br i1 %or.cond138, label %do.body, label %sw.epilog, !llvm.loop !27 +if.then284: ; preds = %do.body281 + %and289 = and i32 %flags.219241, 4096 + %tobool290.not = icmp eq i32 %and289, 0 + br i1 %tobool290.not, label %do.body301, label %do.body292 -sw.bb135: ; preds = %while.body32 - %or136 = or i32 %flags.0476, 16384 - br i1 %cmp137, label %if.then139, label %sw.epilog +do.body292: ; preds = %if.then284 + %call.i37 = call i32 @fputc(i32 noundef 88, ptr noundef %userp) + %cmp.i38.not = icmp eq i32 %call.i37, 88 + br i1 %cmp.i38.not, label %if.then295, label %return.loopexit49.split.loop.exit162 -if.then139: ; preds = %sw.bb135 - %24 = load i8, ptr %incdec.ptr33, align 1 - %25 = add i8 %24, -48 - %or.cond13.i168 = icmp ult i8 %25, 10 - br i1 %or.cond13.i168, label %do.body.i170, label %return +if.then295: ; preds = %do.body292 + %inc296 = add nsw i32 %done.9, 2 + br label %if.end310 -do.body.i170: ; preds = %if.then139, %do.body.i170 - %26 = phi i8 [ %27, %do.body.i170 ], [ %24, %if.then139 ] - %input.addr.0.i171 = phi ptr [ %incdec.ptr.i179, %do.body.i170 ], [ %incdec.ptr33, %if.then139 ] - %number.0.i172 = phi i32 [ %number.1.i178, %do.body.i170 ], [ 0, %if.then139 ] - %cmp5.i173 = icmp slt i32 %number.0.i172, 128 - %mul.i174 = mul nsw i32 %number.0.i172, 10 - %conv8.i175 = zext nneg i8 %26 to i32 - %sub.i176 = add nsw i32 %conv8.i175, -48 - %add.i177 = add i32 %sub.i176, %mul.i174 - %number.1.i178 = select i1 %cmp5.i173, i32 %add.i177, i32 %number.0.i172 - %incdec.ptr.i179 = getelementptr inbounds i8, ptr %input.addr.0.i171, i64 1 - %27 = load i8, ptr %incdec.ptr.i179, align 1 - %28 = add i8 %27, -48 - %or.cond14.i180 = icmp ult i8 %28, 10 - br i1 %or.cond14.i180, label %do.body.i170, label %do.end.i181, !llvm.loop !25 +do.body301: ; preds = %if.then284 + %call.i40 = call i32 @fputc(i32 noundef 120, ptr noundef %userp) + %cmp.i41.not = icmp eq i32 %call.i40, 120 + br i1 %cmp.i41.not, label %if.then304, label %return.loopexit49.split.loop.exit164 -do.end.i181: ; preds = %do.body.i170 - %tobool.i182 = icmp eq i32 %number.1.i178, 0 - %cmp16.i183 = icmp sgt i32 %number.1.i178, 128 - %or.cond.i184.not213 = or i1 %tobool.i182, %cmp16.i183 - %cmp20.i185 = icmp ne i8 %27, 36 - %or.cond15.i186.not212 = or i1 %cmp20.i185, %or.cond.i184.not213 - %incdec.ptr23.i188 = getelementptr inbounds i8, ptr %input.addr.0.i171, i64 2 - %sub24.i189 = add nsw i32 %number.1.i178, -1 - %cmp141 = icmp slt i32 %number.1.i178, 1 - %or.cond211 = select i1 %or.cond15.i186.not212, i1 true, i1 %cmp141 - br i1 %or.cond211, label %return, label %sw.epilog +if.then304: ; preds = %do.body301 + %inc305 = add nsw i32 %done.9, 2 + br label %if.end310 -sw.epilog: ; preds = %if.end121, %do.end.i181, %sw.bb135, %if.then96, %if.else98, %if.end85, %sw.bb107, %sw.bb105, %sw.bb103, %sw.bb101, %sw.bb91, %sw.bb39, %sw.bb37, %sw.bb35, %sw.bb - %fmt.3 = phi ptr [ %incdec.ptr33, %sw.bb135 ], [ %incdec.ptr33, %sw.bb107 ], [ %incdec.ptr33, %sw.bb105 ], [ %incdec.ptr33, %sw.bb103 ], [ %incdec.ptr33, %sw.bb101 ], [ %incdec.ptr33, %if.else98 ], [ %incdec.ptr33, %if.then96 ], [ %incdec.ptr33, %sw.bb91 ], [ %fmt.4, %if.end85 ], [ %incdec.ptr33, %sw.bb39 ], [ %incdec.ptr33, %sw.bb37 ], [ %incdec.ptr33, %sw.bb35 ], [ %incdec.ptr33, %sw.bb ], [ %incdec.ptr23.i188, %do.end.i181 ], [ %incdec.ptr126, %if.end121 ] - %width.1 = phi i32 [ -1, %sw.bb135 ], [ %width.0474, %sw.bb107 ], [ %width.0474, %sw.bb105 ], [ %width.0474, %sw.bb103 ], [ %width.0474, %sw.bb101 ], [ %width.0474, %if.else98 ], [ %width.0474, %if.then96 ], [ %width.0474, %sw.bb91 ], [ %width.0474, %if.end85 ], [ %width.0474, %sw.bb39 ], [ %width.0474, %sw.bb37 ], [ %width.0474, %sw.bb35 ], [ %width.0474, %sw.bb ], [ %sub24.i189, %do.end.i181 ], [ %add125, %if.end121 ] - %precision.1 = phi i32 [ %precision.0475, %sw.bb135 ], [ %precision.0475, %sw.bb107 ], [ %precision.0475, %sw.bb105 ], [ %precision.0475, %sw.bb103 ], [ %precision.0475, %sw.bb101 ], [ %precision.0475, %if.else98 ], [ %precision.0475, %if.then96 ], [ %precision.0475, %sw.bb91 ], [ %precision.2, %if.end85 ], [ %precision.0475, %sw.bb39 ], [ %precision.0475, %sw.bb37 ], [ %precision.0475, %sw.bb35 ], [ %precision.0475, %sw.bb ], [ %precision.0475, %do.end.i181 ], [ %precision.0475, %if.end121 ] - %flags.2 = phi i32 [ %or136, %sw.bb135 ], [ %or108, %sw.bb107 ], [ %or106, %sw.bb105 ], [ %or104, %sw.bb103 ], [ %or102, %sw.bb101 ], [ %or99, %if.else98 ], [ %or97, %if.then96 ], [ %or92, %sw.bb91 ], [ %flags.3, %if.end85 ], [ %or40, %sw.bb39 ], [ %and, %sw.bb37 ], [ %or36, %sw.bb35 ], [ %or, %sw.bb ], [ %or136, %do.end.i181 ], [ %or116, %if.end121 ] - br label %while.body32, !llvm.loop !28 +if.end310: ; preds = %if.then304, %if.then295, %if.end274 + %done.10 = phi i32 [ %inc296, %if.then295 ], [ %inc305, %if.then304 ], [ %done.9, %if.end274 ] + %or.cond9.not = icmp eq i32 %32, 256 + br i1 %or.cond9.not, label %while.cond317.preheader, label %if.end331 -while.end148: ; preds = %while.body32 - %29 = load i8, ptr %fmt.2473, align 1 - switch i8 %29, label %while.cond [ - i8 83, label %sw.bb150 - i8 115, label %sw.epilog196.loopexit - i8 110, label %sw.bb153 - i8 112, label %sw.bb154 - i8 100, label %sw.bb155 - i8 105, label %sw.bb155 - i8 117, label %sw.bb166 - i8 111, label %sw.bb178 - i8 120, label %sw.bb180 - i8 88, label %sw.bb182 - i8 99, label %sw.bb184 - i8 102, label %sw.bb186 - i8 101, label %sw.bb187 - i8 69, label %sw.bb189 - i8 103, label %sw.bb191 - i8 71, label %sw.bb193 - ], !llvm.loop !24 +while.cond317.preheader: ; preds = %if.end310 + %dec318138 = add nsw i32 %width.9, -1 + %cmp319139 = icmp sgt i32 %width.9, 0 + br i1 %cmp319139, label %do.body322.preheader, label %if.end331 -sw.bb150: ; preds = %while.end148 - %sub.ptr.lhs.cast.le570 = ptrtoint ptr %incdec.ptr to i64 - %sub.ptr.rhs.cast.le566 = ptrtoint ptr %start.0.ph.ph226 to i64 - %30 = xor i64 %sub.ptr.rhs.cast.le566, -1 - %sub.le518 = add i64 %sub.ptr.lhs.cast.le570, %30 - %or151 = or i32 %flags.0476, 8 - br label %sw.epilog196 +do.body322.preheader: ; preds = %while.cond317.preheader + %35 = add i32 %done.10, %width.9 + br label %do.body322 -sw.bb153: ; preds = %while.end148 - %sub.ptr.lhs.cast.le574 = ptrtoint ptr %incdec.ptr to i64 - %sub.ptr.rhs.cast.le562 = ptrtoint ptr %start.0.ph.ph226 to i64 - %31 = xor i64 %sub.ptr.rhs.cast.le562, -1 - %sub.le512 = add i64 %sub.ptr.lhs.cast.le574, %31 - br label %sw.epilog196 +do.body322: ; preds = %do.body322.preheader, %if.then325 + %dec318141 = phi i32 [ %dec318, %if.then325 ], [ %dec318138, %do.body322.preheader ] + %done.12140 = phi i32 [ %inc326, %if.then325 ], [ %done.10, %do.body322.preheader ] + %call.i43 = call i32 @fputc(i32 noundef 48, ptr noundef %userp) + %cmp.i44.not = icmp eq i32 %call.i43, 48 + br i1 %cmp.i44.not, label %if.then325, label %return -sw.bb154: ; preds = %while.end148 - %sub.ptr.lhs.cast.le576 = ptrtoint ptr %incdec.ptr to i64 - %sub.ptr.rhs.cast.le560 = ptrtoint ptr %start.0.ph.ph226 to i64 - %32 = xor i64 %sub.ptr.rhs.cast.le560, -1 - %sub.le509 = add i64 %sub.ptr.lhs.cast.le576, %32 - br label %sw.epilog196 +if.then325: ; preds = %do.body322 + %inc326 = add nsw i32 %done.12140, 1 + %dec318 = add nsw i32 %dec318141, -1 + %cmp319 = icmp sgt i32 %dec318141, 0 + br i1 %cmp319, label %do.body322, label %if.end331, !llvm.loop !11 -sw.bb155: ; preds = %while.end148, %while.end148 - %sub.ptr.lhs.cast.le578 = ptrtoint ptr %incdec.ptr to i64 - %sub.ptr.rhs.cast.le558 = ptrtoint ptr %start.0.ph.ph226 to i64 - %33 = xor i64 %sub.ptr.rhs.cast.le558, -1 - %sub.le506 = add i64 %sub.ptr.lhs.cast.le578, %33 - %and156 = and i32 %flags.0476, 64 - %tobool157.not = icmp eq i32 %and156, 0 - br i1 %tobool157.not, label %if.else159, label %sw.epilog196 +if.end331: ; preds = %if.then325, %while.cond317.preheader, %if.end310 + %done.11 = phi i32 [ %done.10, %if.end310 ], [ %done.10, %while.cond317.preheader ], [ %35, %if.then325 ] + %width.11 = phi i32 [ %width.9, %if.end310 ], [ %dec318138, %while.cond317.preheader ], [ -1, %if.then325 ] + %cmp334.not145 = icmp sgt i64 %w.4.idx, 323 + br i1 %cmp334.not145, label %while.end345, label %do.body337.preheader -if.else159: ; preds = %sw.bb155 - %and160 = and i32 %flags.0476, 32 - %tobool161.not = icmp eq i32 %and160, 0 - %. = select i1 %tobool161.not, i32 3, i32 4 - br label %sw.epilog196 +do.body337.preheader: ; preds = %if.end331 + %36 = add i32 %done.11, 324 + %37 = trunc i64 %w.4.idx to i32 + %38 = sub i32 %36, %37 + br label %do.body337 -sw.bb166: ; preds = %while.end148 - %sub.ptr.lhs.cast.le580 = ptrtoint ptr %incdec.ptr to i64 - %sub.ptr.rhs.cast.le556 = ptrtoint ptr %start.0.ph.ph226 to i64 - %34 = xor i64 %sub.ptr.rhs.cast.le556, -1 - %sub.le503 = add i64 %sub.ptr.lhs.cast.le580, %34 - %and167 = and i32 %flags.0476, 64 - %tobool168.not = icmp eq i32 %and167, 0 - %and171 = and i32 %flags.0476, 32 - %tobool172.not = icmp eq i32 %and171, 0 - %.139 = select i1 %tobool172.not, i32 6, i32 7 - %type.1 = select i1 %tobool168.not, i32 %.139, i32 8 - %or177 = or i32 %flags.0476, 512 - br label %sw.epilog196 +do.body337: ; preds = %do.body337.preheader, %if.then340 + %w.6.add147.in = phi i64 [ %w.6.add147, %if.then340 ], [ %w.4.idx, %do.body337.preheader ] + %done.13146 = phi i32 [ %inc341, %if.then340 ], [ %done.11, %do.body337.preheader ] + %w.6.add147 = add nsw i64 %w.6.add147.in, 1 + %incdec.ptr333.ptr = getelementptr inbounds i8, ptr %work, i64 %w.6.add147 + %39 = load i8, ptr %incdec.ptr333.ptr, align 1 + %conv.i46 = zext i8 %39 to i32 + %call.i47 = call i32 @fputc(i32 noundef %conv.i46, ptr noundef %userp) + %cmp.i48.not = icmp eq i32 %call.i47, %conv.i46 + br i1 %cmp.i48.not, label %if.then340, label %return -sw.bb178: ; preds = %while.end148 - %sub.ptr.lhs.cast.le582 = ptrtoint ptr %incdec.ptr to i64 - %sub.ptr.rhs.cast.le554 = ptrtoint ptr %start.0.ph.ph226 to i64 - %35 = xor i64 %sub.ptr.rhs.cast.le554, -1 - %sub.le500 = add i64 %sub.ptr.lhs.cast.le582, %35 - %or179 = or i32 %flags.0476, 1024 - br label %sw.epilog196 +if.then340: ; preds = %do.body337 + %inc341 = add nsw i32 %done.13146, 1 + %exitcond221 = icmp eq i64 %w.6.add147, 324 + br i1 %exitcond221, label %while.end345, label %do.body337, !llvm.loop !12 -sw.bb180: ; preds = %while.end148 - %sub.ptr.lhs.cast.le584 = ptrtoint ptr %incdec.ptr to i64 - %sub.ptr.rhs.cast.le552 = ptrtoint ptr %start.0.ph.ph226 to i64 - %36 = xor i64 %sub.ptr.rhs.cast.le552, -1 - %sub.le497 = add i64 %sub.ptr.lhs.cast.le584, %36 - %or181 = or i32 %flags.0476, 2560 - br label %sw.epilog196 +while.end345: ; preds = %if.then340, %if.end331 + %done.13.lcssa = phi i32 [ %done.11, %if.end331 ], [ %38, %if.then340 ] + %cmp351150 = icmp sgt i32 %width.11, 0 + %or.cond181 = select i1 %tobool218.not.not, i1 %cmp351150, i1 false + br i1 %or.cond181, label %do.body354.preheader, label %for.inc695 -sw.bb182: ; preds = %while.end148 - %sub.ptr.lhs.cast.le586 = ptrtoint ptr %incdec.ptr to i64 - %sub.ptr.rhs.cast.le550 = ptrtoint ptr %start.0.ph.ph226 to i64 - %37 = xor i64 %sub.ptr.rhs.cast.le550, -1 - %sub.le494 = add i64 %sub.ptr.lhs.cast.le586, %37 - %or183 = or i32 %flags.0476, 6656 - br label %sw.epilog196 +do.body354.preheader: ; preds = %while.end345 + %40 = add i32 %width.11, %done.13.lcssa + br label %do.body354 -sw.bb184: ; preds = %while.end148 - %sub.ptr.lhs.cast.le588 = ptrtoint ptr %incdec.ptr to i64 - %sub.ptr.rhs.cast.le548 = ptrtoint ptr %start.0.ph.ph226 to i64 - %38 = xor i64 %sub.ptr.rhs.cast.le548, -1 - %sub.le491 = add i64 %sub.ptr.lhs.cast.le588, %38 - %or185 = or i32 %flags.0476, 131072 - br label %sw.epilog196 +do.body354: ; preds = %do.body354.preheader, %if.then357 + %dec350152.in = phi i32 [ %dec350152, %if.then357 ], [ %width.11, %do.body354.preheader ] + %done.14151 = phi i32 [ %inc358, %if.then357 ], [ %done.13.lcssa, %do.body354.preheader ] + %call.i50 = call i32 @fputc(i32 noundef 32, ptr noundef %userp) + %cmp.i51.not = icmp eq i32 %call.i50, 32 + br i1 %cmp.i51.not, label %if.then357, label %return -sw.bb186: ; preds = %while.end148 - %sub.ptr.lhs.cast.le590 = ptrtoint ptr %incdec.ptr to i64 - %sub.ptr.rhs.cast.le546 = ptrtoint ptr %start.0.ph.ph226 to i64 - %39 = xor i64 %sub.ptr.rhs.cast.le546, -1 - %sub.le488 = add i64 %sub.ptr.lhs.cast.le590, %39 - br label %sw.epilog196 +if.then357: ; preds = %do.body354 + %dec350152 = add nsw i32 %dec350152.in, -1 + %inc358 = add nsw i32 %done.14151, 1 + %cmp351 = icmp sgt i32 %dec350152.in, 1 + br i1 %cmp351, label %do.body354, label %for.inc695, !llvm.loop !13 -sw.bb187: ; preds = %while.end148 - %sub.ptr.lhs.cast.le592 = ptrtoint ptr %incdec.ptr to i64 - %sub.ptr.rhs.cast.le544 = ptrtoint ptr %start.0.ph.ph226 to i64 - %40 = xor i64 %sub.ptr.rhs.cast.le544, -1 - %sub.le485 = add i64 %sub.ptr.lhs.cast.le592, %40 - %or188 = or i32 %flags.0476, 262144 - br label %sw.epilog196 +sw.bb364: ; preds = %if.end58 + %val366 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 + %41 = load ptr, ptr %val366, align 8 + %tobool367.not = icmp eq ptr %41, null + %cmp369 = icmp eq i32 %prec.0, -1 + br i1 %tobool367.not, label %if.then368, label %if.else378 -sw.bb189: ; preds = %while.end148 - %sub.ptr.lhs.cast.le594 = ptrtoint ptr %incdec.ptr to i64 - %sub.ptr.rhs.cast.le542 = ptrtoint ptr %start.0.ph.ph226 to i64 - %41 = xor i64 %sub.ptr.rhs.cast.le542, -1 - %sub.le482 = add i64 %sub.ptr.lhs.cast.le594, %41 - %or190 = or i32 %flags.0476, 266240 - br label %sw.epilog196 +if.then368: ; preds = %sw.bb364 + %cmp372 = icmp sgt i32 %prec.0, 4 + %or.cond6 = or i1 %cmp369, %cmp372 + br i1 %or.cond6, label %if.end392.thread, label %if.end392 -sw.bb191: ; preds = %while.end148 - %sub.ptr.lhs.cast.le596 = ptrtoint ptr %incdec.ptr to i64 - %sub.ptr.rhs.cast.le540 = ptrtoint ptr %start.0.ph.ph226 to i64 - %42 = xor i64 %sub.ptr.rhs.cast.le540, -1 - %sub.le479 = add i64 %sub.ptr.lhs.cast.le596, %42 - %or192 = or i32 %flags.0476, 524288 - br label %sw.epilog196 +if.end392.thread: ; preds = %if.then368 + %and375 = and i32 %flags.0, -9 + %sub397260 = add nsw i32 %width.1, -5 + br label %if.end409 -sw.bb193: ; preds = %while.end148 - %sub.ptr.lhs.cast.le598 = ptrtoint ptr %incdec.ptr to i64 - %sub.ptr.rhs.cast.le = ptrtoint ptr %start.0.ph.ph226 to i64 - %43 = xor i64 %sub.ptr.rhs.cast.le, -1 - %sub.le = add i64 %sub.ptr.lhs.cast.le598, %43 - %or194 = or i32 %flags.0476, 528384 - br label %sw.epilog196 +if.else378: ; preds = %sw.bb364 + br i1 %cmp369, label %if.else383, label %if.then381 -sw.epilog196.loopexit: ; preds = %while.end148 - %sub.ptr.lhs.cast.le572 = ptrtoint ptr %incdec.ptr to i64 - %sub.ptr.rhs.cast.le564 = ptrtoint ptr %start.0.ph.ph226 to i64 - %44 = xor i64 %sub.ptr.rhs.cast.le564, -1 - %sub.le515 = add i64 %sub.ptr.lhs.cast.le572, %44 - br label %sw.epilog196 +if.then381: ; preds = %if.else378 + %conv382 = sext i32 %prec.0 to i64 + br label %if.end392 -sw.epilog196: ; preds = %sw.epilog196.loopexit, %if.else159, %sw.bb155, %sw.bb150, %sw.bb193, %sw.bb191, %sw.bb189, %sw.bb187, %sw.bb186, %sw.bb184, %sw.bb182, %sw.bb180, %sw.bb178, %sw.bb166, %sw.bb154, %sw.bb153 - %sub365 = phi i64 [ %sub.le, %sw.bb193 ], [ %sub.le479, %sw.bb191 ], [ %sub.le482, %sw.bb189 ], [ %sub.le485, %sw.bb187 ], [ %sub.le488, %sw.bb186 ], [ %sub.le491, %sw.bb184 ], [ %sub.le494, %sw.bb182 ], [ %sub.le497, %sw.bb180 ], [ %sub.le500, %sw.bb178 ], [ %sub.le503, %sw.bb166 ], [ %sub.le509, %sw.bb154 ], [ %sub.le512, %sw.bb153 ], [ %sub.le518, %sw.bb150 ], [ %sub.le506, %sw.bb155 ], [ %sub.le506, %if.else159 ], [ %sub.le515, %sw.epilog196.loopexit ] - %flags.5 = phi i32 [ %or194, %sw.bb193 ], [ %or192, %sw.bb191 ], [ %or190, %sw.bb189 ], [ %or188, %sw.bb187 ], [ %flags.0476, %sw.bb186 ], [ %or185, %sw.bb184 ], [ %or183, %sw.bb182 ], [ %or181, %sw.bb180 ], [ %or179, %sw.bb178 ], [ %or177, %sw.bb166 ], [ %flags.0476, %sw.bb154 ], [ %flags.0476, %sw.bb153 ], [ %or151, %sw.bb150 ], [ %flags.0476, %sw.bb155 ], [ %flags.0476, %if.else159 ], [ %flags.0476, %sw.epilog196.loopexit ] - %type.0 = phi i32 [ 9, %sw.bb193 ], [ 9, %sw.bb191 ], [ 9, %sw.bb189 ], [ 9, %sw.bb187 ], [ 9, %sw.bb186 ], [ 3, %sw.bb184 ], [ 6, %sw.bb182 ], [ 6, %sw.bb180 ], [ 3, %sw.bb178 ], [ %type.1, %sw.bb166 ], [ 1, %sw.bb154 ], [ 2, %sw.bb153 ], [ 0, %sw.bb150 ], [ 5, %sw.bb155 ], [ %., %if.else159 ], [ 0, %sw.epilog196.loopexit ] - %and197 = and i32 %flags.5, 16384 - %tobool198.not = icmp eq i32 %and197, 0 - br i1 %tobool198.not, label %if.end235, label %if.then199 +if.else383: ; preds = %if.else378 + %42 = load i8, ptr %41, align 1 + %cmp385 = icmp eq i8 %42, 0 + br i1 %cmp385, label %if.end392, label %if.else388 -if.then199: ; preds = %sw.epilog196 - %cmp200 = icmp slt i32 %width.0474, 0 - br i1 %cmp200, label %if.then202, label %if.else204 +if.else388: ; preds = %if.else383 + %call389 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %41) #11 + br label %if.end392 -if.then202: ; preds = %if.then199 - %inc203 = add nsw i32 %param_num.0.ph.ph, 1 - br label %if.end213 +if.end392: ; preds = %if.else383, %if.then368, %if.else388, %if.then381 + %str365.0 = phi ptr [ %41, %if.else383 ], [ @.str, %if.then368 ], [ %41, %if.else388 ], [ %41, %if.then381 ] + %len.0 = phi i64 [ 0, %if.else383 ], [ 0, %if.then368 ], [ %call389, %if.else388 ], [ %conv382, %if.then381 ] + %cond3961 = call i64 @llvm.umin.i64(i64 %len.0, i64 2147483647) + %cond396 = trunc nuw nsw i64 %cond3961 to i32 + %sub397 = sub nsw i32 %width.1, %cond396 + %tobool399.not = icmp eq i32 %and59, 0 + br i1 %tobool399.not, label %if.end409, label %do.body401 -if.else204: ; preds = %if.then199 - %div135 = lshr i32 %width.0474, 3 - %idxprom205 = zext nneg i32 %div135 to i64 - %arrayidx206 = getelementptr inbounds [16 x i8], ptr %usedinput, i64 0, i64 %idxprom205 - %45 = load i8, ptr %arrayidx206, align 1 - %conv207 = zext i8 %45 to i32 - %and208 = and i32 %width.0474, 7 - %shl = shl nuw nsw i32 1, %and208 - %and209 = and i32 %shl, %conv207 - %tobool210.not = icmp eq i32 %and209, 0 - br i1 %tobool210.not, label %if.end213, label %return +do.body401: ; preds = %if.end392 + %call.i53 = call i32 @fputc(i32 noundef 34, ptr noundef %userp) + %cmp.i54.not = icmp eq i32 %call.i53, 34 + br i1 %cmp.i54.not, label %if.then404, label %return -if.end213: ; preds = %if.else204, %if.then202 - %width.4 = phi i32 [ %param_num.0.ph.ph, %if.then202 ], [ %width.0474, %if.else204 ] - %param_num.2 = phi i32 [ %inc203, %if.then202 ], [ %param_num.0.ph.ph, %if.else204 ] - %cmp214 = icmp sgt i32 %width.4, 127 - br i1 %cmp214, label %return, label %if.end217 +if.then404: ; preds = %do.body401 + %inc405 = add nsw i32 %done.1, 1 + br label %if.end409 -if.end217: ; preds = %if.end213 - %spec.select140 = tail call i32 @llvm.smax.i32(i32 %width.4, i32 %max_param.0.ph.ph) - %idxprom222 = sext i32 %width.4 to i64 - %arrayidx223 = getelementptr inbounds %struct.va_input, ptr %in, i64 %idxprom222 - store i32 11, ptr %arrayidx223, align 8 - %and225 = and i32 %width.4, 7 - %shl226 = shl nuw nsw i32 1, %and225 - %div229 = sdiv i32 %width.4, 8 - %idxprom230 = sext i32 %div229 to i64 - %arrayidx231 = getelementptr inbounds [16 x i8], ptr %usedinput, i64 0, i64 %idxprom230 - %46 = load i8, ptr %arrayidx231, align 1 - %47 = trunc nuw i32 %shl226 to i8 - %conv234 = or i8 %46, %47 - store i8 %conv234, ptr %arrayidx231, align 1 - br label %if.end235 +if.end409: ; preds = %if.end392.thread, %if.then404, %if.end392 + %tobool399.not267 = phi i1 [ false, %if.then404 ], [ true, %if.end392 ], [ true, %if.end392.thread ] + %sub397266 = phi i32 [ %sub397, %if.then404 ], [ %sub397, %if.end392 ], [ %sub397260, %if.end392.thread ] + %cond396265 = phi i32 [ %cond396, %if.then404 ], [ %cond396, %if.end392 ], [ 5, %if.end392.thread ] + %len.0264 = phi i64 [ %len.0, %if.then404 ], [ %len.0, %if.end392 ], [ 5, %if.end392.thread ] + %str365.0263 = phi ptr [ %str365.0, %if.then404 ], [ %str365.0, %if.end392 ], [ @formatf.nilstr, %if.end392.thread ] + %flags.3262 = phi i32 [ %flags.0, %if.then404 ], [ %flags.0, %if.end392 ], [ %and375, %if.end392.thread ] + %done.15 = phi i32 [ %inc405, %if.then404 ], [ %done.1, %if.end392 ], [ %done.1, %if.end392.thread ] + %and410 = and i32 %flags.3262, 4 + %tobool411.not = icmp ne i32 %and410, 0 + br i1 %tobool411.not, label %if.end427, label %while.cond413.preheader -if.end235: ; preds = %if.end217, %sw.epilog196 - %width.3 = phi i32 [ %width.4, %if.end217 ], [ %width.0474, %sw.epilog196 ] - %max_param.1 = phi i32 [ %spec.select140, %if.end217 ], [ %max_param.0.ph.ph, %sw.epilog196 ] - %param_num.1 = phi i32 [ %param_num.2, %if.end217 ], [ %param_num.0.ph.ph, %sw.epilog196 ] - %and236 = and i32 %flags.5, 65536 - %tobool237.not = icmp eq i32 %and236, 0 - br i1 %tobool237.not, label %if.end276, label %if.then238 +while.cond413.preheader: ; preds = %if.end409 + %dec41492 = add nsw i32 %sub397266, -1 + %cmp41593 = icmp sgt i32 %sub397266, 0 + br i1 %cmp41593, label %do.body418.preheader, label %if.end427 -if.then238: ; preds = %if.end235 - %cmp239 = icmp slt i32 %precision.0475, 0 - br i1 %cmp239, label %if.then241, label %if.else243 +do.body418.preheader: ; preds = %while.cond413.preheader + %43 = add i32 %width.1, %done.15 + %44 = sub i32 %43, %cond396265 + br label %do.body418 -if.then241: ; preds = %if.then238 - %inc242 = add nsw i32 %param_num.1, 1 - br label %if.end254 +do.body418: ; preds = %do.body418.preheader, %if.then421 + %dec41495 = phi i32 [ %dec414, %if.then421 ], [ %dec41492, %do.body418.preheader ] + %done.1794 = phi i32 [ %inc422, %if.then421 ], [ %done.15, %do.body418.preheader ] + %call.i56 = call i32 @fputc(i32 noundef 32, ptr noundef %userp) + %cmp.i57.not = icmp eq i32 %call.i56, 32 + br i1 %cmp.i57.not, label %if.then421, label %return -if.else243: ; preds = %if.then238 - %div244136 = lshr i32 %precision.0475, 3 - %idxprom245 = zext nneg i32 %div244136 to i64 - %arrayidx246 = getelementptr inbounds [16 x i8], ptr %usedinput, i64 0, i64 %idxprom245 - %48 = load i8, ptr %arrayidx246, align 1 - %conv247 = zext i8 %48 to i32 - %and248 = and i32 %precision.0475, 7 - %shl249 = shl nuw nsw i32 1, %and248 - %and250 = and i32 %shl249, %conv247 - %tobool251.not = icmp eq i32 %and250, 0 - br i1 %tobool251.not, label %if.end254, label %return +if.then421: ; preds = %do.body418 + %inc422 = add nsw i32 %done.1794, 1 + %dec414 = add nsw i32 %dec41495, -1 + %cmp415 = icmp sgt i32 %dec41495, 0 + br i1 %cmp415, label %do.body418, label %if.end427, !llvm.loop !14 -if.end254: ; preds = %if.else243, %if.then241 - %precision.5 = phi i32 [ %param_num.1, %if.then241 ], [ %precision.0475, %if.else243 ] - %param_num.4 = phi i32 [ %inc242, %if.then241 ], [ %param_num.1, %if.else243 ] - %cmp255 = icmp sgt i32 %precision.5, 127 - br i1 %cmp255, label %return, label %if.end258 +if.end427: ; preds = %if.then421, %while.cond413.preheader, %if.end409 + %done.16 = phi i32 [ %done.15, %if.end409 ], [ %done.15, %while.cond413.preheader ], [ %44, %if.then421 ] + %width.14 = phi i32 [ %sub397266, %if.end409 ], [ %dec41492, %while.cond413.preheader ], [ -1, %if.then421 ] + %tobool429.not98 = icmp eq i64 %len.0264, 0 + br i1 %tobool429.not98, label %for.end446, label %land.rhs430.preheader -if.end258: ; preds = %if.end254 - %spec.select141 = tail call i32 @llvm.smax.i32(i32 %precision.5, i32 %max_param.1) - %idxprom263 = sext i32 %precision.5 to i64 - %arrayidx264 = getelementptr inbounds %struct.va_input, ptr %in, i64 %idxprom263 - store i32 12, ptr %arrayidx264, align 8 - %and266 = and i32 %precision.5, 7 - %shl267 = shl nuw nsw i32 1, %and266 - %div270 = sdiv i32 %precision.5, 8 - %idxprom271 = sext i32 %div270 to i64 - %arrayidx272 = getelementptr inbounds [16 x i8], ptr %usedinput, i64 0, i64 %idxprom271 - %49 = load i8, ptr %arrayidx272, align 1 - %50 = trunc nuw i32 %shl267 to i8 - %conv275 = or i8 %49, %50 - store i8 %conv275, ptr %arrayidx272, align 1 - br label %if.end276 +land.rhs430.preheader: ; preds = %if.end427 + %45 = trunc i64 %len.0264 to i32 + %46 = add i32 %done.16, %45 + br label %land.rhs430 -if.end276: ; preds = %if.end258, %if.end235 - %precision.4 = phi i32 [ %precision.5, %if.end258 ], [ %precision.0475, %if.end235 ] - %max_param.3 = phi i32 [ %spec.select141, %if.end258 ], [ %max_param.1, %if.end235 ] - %param_num.3 = phi i32 [ %param_num.4, %if.end258 ], [ %param_num.1, %if.end235 ] - %cmp277 = icmp slt i32 %param.0, 0 - %spec.select142 = select i1 %cmp277, i32 %param_num.3, i32 %param.0 - %param.0.lobit = lshr i32 %param.0, 31 - %spec.select143 = add nsw i32 %param_num.3, %param.0.lobit - %cmp282 = icmp sgt i32 %spec.select142, 127 - br i1 %cmp282, label %return, label %if.end285 +land.rhs430: ; preds = %land.rhs430.preheader, %if.then439 + %len.1101 = phi i64 [ %dec445, %if.then439 ], [ %len.0264, %land.rhs430.preheader ] + %str365.1100 = phi ptr [ %incdec.ptr436, %if.then439 ], [ %str365.0263, %land.rhs430.preheader ] + %done.1899 = phi i32 [ %inc440, %if.then439 ], [ %done.16, %land.rhs430.preheader ] + %47 = load i8, ptr %str365.1100, align 1 + %tobool432.not = icmp eq i8 %47, 0 + br i1 %tobool432.not, label %for.end446, label %do.body435 -if.end285: ; preds = %if.end276 - %idxprom290 = sext i32 %spec.select142 to i64 - %arrayidx291 = getelementptr inbounds %struct.va_input, ptr %in, i64 %idxprom290 - store i32 %type.0, ptr %arrayidx291, align 8 - %and293 = and i32 %spec.select142, 7 - %shl294 = shl nuw nsw i32 1, %and293 - %div297 = sdiv i32 %spec.select142, 8 - %idxprom298 = sext i32 %div297 to i64 - %arrayidx299 = getelementptr inbounds [16 x i8], ptr %usedinput, i64 0, i64 %idxprom298 - %51 = load i8, ptr %arrayidx299, align 1 - %52 = trunc nuw i32 %shl294 to i8 - %conv302 = or i8 %51, %52 - store i8 %conv302, ptr %arrayidx299, align 1 - %cmp307 = icmp sgt i32 %ocount.0.ph.ph224, 127 - br i1 %cmp307, label %return, label %if.end310 +do.body435: ; preds = %land.rhs430 + %conv.i59 = zext i8 %47 to i32 + %call.i60 = call i32 @fputc(i32 noundef %conv.i59, ptr noundef %userp) + %cmp.i61.not = icmp eq i32 %call.i60, %conv.i59 + br i1 %cmp.i61.not, label %if.then439, label %return -if.end310: ; preds = %if.end285 - %incdec.ptr303 = getelementptr inbounds i8, ptr %fmt.2473, i64 1 - %spec.select144 = tail call i32 @llvm.smax.i32(i32 %spec.select142, i32 %max_param.3) - %inc304 = add nsw i32 %ocount.0.ph.ph224, 1 - %idxprom305 = sext i32 %ocount.0.ph.ph224 to i64 - %arrayidx306 = getelementptr inbounds %struct.outsegment, ptr %out, i64 %idxprom305 - %input311 = getelementptr inbounds i8, ptr %arrayidx306, i64 12 - store i32 %spec.select142, ptr %input311, align 4 - %flags312 = getelementptr inbounds i8, ptr %arrayidx306, i64 8 - store i32 %flags.5, ptr %flags312, align 8 - store i32 %width.3, ptr %arrayidx306, align 8 - %precision314 = getelementptr inbounds i8, ptr %arrayidx306, i64 4 - store i32 %precision.4, ptr %precision314, align 4 - %start315 = getelementptr inbounds i8, ptr %arrayidx306, i64 16 - store ptr %start.0.ph.ph226, ptr %start315, align 8 - %outlen316 = getelementptr inbounds i8, ptr %arrayidx306, i64 24 - store i64 %sub365, ptr %outlen316, align 8 - br label %while.condthread-pre-split.outer, !llvm.loop !24 +if.then439: ; preds = %do.body435 + %incdec.ptr436 = getelementptr inbounds i8, ptr %str365.1100, i64 1 + %inc440 = add nsw i32 %done.1899, 1 + %dec445 = add i64 %len.1101, -1 + %tobool429.not = icmp eq i64 %dec445, 0 + br i1 %tobool429.not, label %for.end446, label %land.rhs430, !llvm.loop !15 -if.else317: ; preds = %while.cond - %incdec.ptr318 = getelementptr inbounds i8, ptr %fmt.0, i64 1 - br label %while.condthread-pre-split, !llvm.loop !24 +for.end446: ; preds = %if.then439, %land.rhs430, %if.end427 + %done.18.lcssa = phi i32 [ %done.16, %if.end427 ], [ %done.1899, %land.rhs430 ], [ %46, %if.then439 ] + %cmp452105 = icmp sgt i32 %width.14, 0 + %or.cond182 = select i1 %tobool411.not, i1 %cmp452105, i1 false + br i1 %or.cond182, label %do.body455.preheader, label %if.end464 -while.end320: ; preds = %while.cond - %sub.ptr.lhs.cast321 = ptrtoint ptr %fmt.0 to i64 - %sub.ptr.rhs.cast322 = ptrtoint ptr %start.0.ph.ph226 to i64 - %sub.ptr.sub323 = sub i64 %sub.ptr.lhs.cast321, %sub.ptr.rhs.cast322 - %tobool324.not = icmp eq ptr %fmt.0, %start.0.ph.ph226 - br i1 %tobool324.not, label %if.end337, label %if.then325 +do.body455.preheader: ; preds = %for.end446 + %48 = add i32 %width.14, %done.18.lcssa + br label %do.body455 -if.then325: ; preds = %while.end320 - %cmp329 = icmp sgt i32 %ocount.0.ph.ph224, 127 - br i1 %cmp329, label %return, label %if.end332 +do.body455: ; preds = %do.body455.preheader, %if.then458 + %dec451107.in = phi i32 [ %dec451107, %if.then458 ], [ %width.14, %do.body455.preheader ] + %done.20106 = phi i32 [ %inc459, %if.then458 ], [ %done.18.lcssa, %do.body455.preheader ] + %call.i63 = call i32 @fputc(i32 noundef 32, ptr noundef %userp) + %cmp.i64.not = icmp eq i32 %call.i63, 32 + br i1 %cmp.i64.not, label %if.then458, label %return -if.end332: ; preds = %if.then325 - %inc326 = add nsw i32 %ocount.0.ph.ph224, 1 - %idxprom327 = sext i32 %ocount.0.ph.ph224 to i64 - %arrayidx328 = getelementptr inbounds %struct.outsegment, ptr %out, i64 %idxprom327 - %input333 = getelementptr inbounds i8, ptr %arrayidx328, i64 12 - store i32 0, ptr %input333, align 4 - %flags334 = getelementptr inbounds i8, ptr %arrayidx328, i64 8 - store i32 1048576, ptr %flags334, align 8 - %start335 = getelementptr inbounds i8, ptr %arrayidx328, i64 16 - store ptr %start.0.ph.ph226, ptr %start335, align 8 - %outlen336 = getelementptr inbounds i8, ptr %arrayidx328, i64 24 - store i64 %sub.ptr.sub323, ptr %outlen336, align 8 - br label %if.end337 +if.then458: ; preds = %do.body455 + %dec451107 = add nsw i32 %dec451107.in, -1 + %inc459 = add nsw i32 %done.20106, 1 + %cmp452 = icmp sgt i32 %dec451107.in, 1 + br i1 %cmp452, label %do.body455, label %if.end464, !llvm.loop !16 -if.end337: ; preds = %if.end332, %while.end320 - %ocount.3 = phi i32 [ %inc326, %if.end332 ], [ %ocount.0.ph.ph224, %while.end320 ] - %cmp339.not600 = icmp slt i32 %max_param.0.ph.ph, 0 - br i1 %cmp339.not600, label %if.end337.for.end_crit_edge, label %for.body.lr.ph +if.end464: ; preds = %if.then458, %for.end446 + %done.19 = phi i32 [ %done.18.lcssa, %for.end446 ], [ %48, %if.then458 ] + br i1 %tobool399.not267, label %for.inc695, label %do.body468 -if.end337.for.end_crit_edge: ; preds = %if.end337 - %.pre = add nsw i32 %max_param.0.ph.ph, 1 - br label %for.end +do.body468: ; preds = %if.end464 + %call.i66 = call i32 @fputc(i32 noundef 34, ptr noundef %userp) + %cmp.i67.not = icmp eq i32 %call.i66, 34 + br i1 %cmp.i67.not, label %if.then471, label %return -for.body.lr.ph: ; preds = %if.end337 - %fp_offset_p = getelementptr inbounds i8, ptr %arglist, i64 4 - %overflow_arg_area_p453 = getelementptr inbounds i8, ptr %arglist, i64 8 - %53 = getelementptr inbounds i8, ptr %arglist, i64 16 - %54 = add nuw i32 %max_param.0.ph.ph, 1 - %wide.trip.count = zext i32 %54 to i64 - br label %for.body +if.then471: ; preds = %do.body468 + %inc472 = add nsw i32 %done.19, 1 + br label %for.inc695 -for.body: ; preds = %for.body.lr.ph, %for.inc - %indvars.iv = phi i64 [ 0, %for.body.lr.ph ], [ %indvars.iv.next, %for.inc ] - %arrayidx343 = getelementptr inbounds %struct.va_input, ptr %in, i64 %indvars.iv - %55 = trunc nuw nsw i64 %indvars.iv to i32 - %div344134 = lshr i64 %indvars.iv, 3 - %idxprom345 = and i64 %div344134, 536870911 - %arrayidx346 = getelementptr inbounds [16 x i8], ptr %usedinput, i64 0, i64 %idxprom345 - %56 = load i8, ptr %arrayidx346, align 1 - %conv347 = zext i8 %56 to i32 - %and348 = and i32 %55, 7 - %shl349 = shl nuw nsw i32 1, %and348 - %and350 = and i32 %shl349, %conv347 - %tobool351.not = icmp eq i32 %and350, 0 - br i1 %tobool351.not, label %return, label %if.end353 +sw.bb477: ; preds = %if.end58 + %val478 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 + %49 = load ptr, ptr %val478, align 8 + %tobool479.not = icmp eq ptr %49, null + br i1 %tobool479.not, label %if.else485, label %if.then480 -if.end353: ; preds = %for.body - %57 = load i32, ptr %arrayidx343, align 8 - switch i32 %57, label %for.inc [ - i32 0, label %sw.bb355 - i32 2, label %sw.bb356 - i32 1, label %sw.bb356 - i32 8, label %sw.bb369 - i32 5, label %sw.bb382 - i32 7, label %sw.bb395 - i32 4, label %sw.bb408 - i32 6, label %sw.bb421 - i32 3, label %sw.bb435 - i32 11, label %sw.bb435 - i32 12, label %sw.bb435 - i32 9, label %sw.bb449 - ] +if.then480: ; preds = %sw.bb477 + %and481 = and i32 %flags.0, 4096 + %tobool482.not = icmp eq i32 %and481, 0 + %cond483 = select i1 %tobool482.not, ptr @lower_digits, ptr @upper_digits + %50 = ptrtoint ptr %49 to i64 + br label %while.cond155.preheader -sw.bb355: ; preds = %if.end353 - %gp_offset = load i32, ptr %arglist, align 8 - %fits_in_gp = icmp ult i32 %gp_offset, 41 - br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem +if.else485: ; preds = %sw.bb477 + %sub486 = add i32 %width.1, -5 + %and487 = and i32 %flags.0, 4 + %tobool488.not = icmp eq i32 %and487, 0 + br i1 %tobool488.not, label %if.end504, label %while.cond490.preheader -vaarg.in_reg: ; preds = %sw.bb355 - %reg_save_area = load ptr, ptr %53, align 8 - %58 = zext nneg i32 %gp_offset to i64 - %59 = getelementptr i8, ptr %reg_save_area, i64 %58 - %60 = add nuw nsw i32 %gp_offset, 8 - store i32 %60, ptr %arglist, align 8 - br label %vaarg.end +while.cond490.preheader: ; preds = %if.else485 + %dec49179 = add nsw i32 %width.1, -6 + %cmp49280 = icmp sgt i32 %width.1, 5 + br i1 %cmp49280, label %do.body495.preheader, label %if.end504 -vaarg.in_mem: ; preds = %sw.bb355 - %overflow_arg_area = load ptr, ptr %overflow_arg_area_p453, align 8 - %overflow_arg_area.next = getelementptr i8, ptr %overflow_arg_area, i64 8 - store ptr %overflow_arg_area.next, ptr %overflow_arg_area_p453, align 8 - br label %vaarg.end +do.body495.preheader: ; preds = %while.cond490.preheader + %51 = add i32 %sub486, %done.1 + br label %do.body495 -vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg - %vaarg.addr = phi ptr [ %59, %vaarg.in_reg ], [ %overflow_arg_area, %vaarg.in_mem ] - %61 = load ptr, ptr %vaarg.addr, align 8 - %val = getelementptr inbounds i8, ptr %arrayidx343, i64 8 - store ptr %61, ptr %val, align 8 - br label %for.inc +do.body495: ; preds = %do.body495.preheader, %if.then498 + %dec49182 = phi i32 [ %dec491, %if.then498 ], [ %dec49179, %do.body495.preheader ] + %done.2281 = phi i32 [ %inc499, %if.then498 ], [ %done.1, %do.body495.preheader ] + %call.i69 = call i32 @fputc(i32 noundef 32, ptr noundef %userp) + %cmp.i70.not = icmp eq i32 %call.i69, 32 + br i1 %cmp.i70.not, label %if.then498, label %return -sw.bb356: ; preds = %if.end353, %if.end353 - %gp_offset358 = load i32, ptr %arglist, align 8 - %fits_in_gp359 = icmp ult i32 %gp_offset358, 41 - br i1 %fits_in_gp359, label %vaarg.in_reg360, label %vaarg.in_mem362 +if.then498: ; preds = %do.body495 + %inc499 = add nsw i32 %done.2281, 1 + %dec491 = add nsw i32 %dec49182, -1 + %cmp492 = icmp sgt i32 %dec49182, 0 + br i1 %cmp492, label %do.body495, label %if.end504, !llvm.loop !17 -vaarg.in_reg360: ; preds = %sw.bb356 - %reg_save_area361 = load ptr, ptr %53, align 8 - %62 = zext nneg i32 %gp_offset358 to i64 - %63 = getelementptr i8, ptr %reg_save_area361, i64 %62 - %64 = add nuw nsw i32 %gp_offset358, 8 - store i32 %64, ptr %arglist, align 8 - br label %vaarg.end366 +if.end504: ; preds = %if.then498, %while.cond490.preheader, %if.else485 + %done.21 = phi i32 [ %done.1, %if.else485 ], [ %done.1, %while.cond490.preheader ], [ %51, %if.then498 ] + %width.17 = phi i32 [ %sub486, %if.else485 ], [ %dec49179, %while.cond490.preheader ], [ -1, %if.then498 ] + %52 = add i32 %done.21, 5 + br label %do.body510 -vaarg.in_mem362: ; preds = %sw.bb356 - %overflow_arg_area364 = load ptr, ptr %overflow_arg_area_p453, align 8 - %overflow_arg_area.next365 = getelementptr i8, ptr %overflow_arg_area364, i64 8 - store ptr %overflow_arg_area.next365, ptr %overflow_arg_area_p453, align 8 - br label %vaarg.end366 +do.body510: ; preds = %if.end504, %if.then513 + %53 = phi i8 [ 40, %if.end504 ], [ %54, %if.then513 ] + %point.086.idx = phi i64 [ 0, %if.end504 ], [ %point.086.add, %if.then513 ] + %done.2385 = phi i32 [ %done.21, %if.end504 ], [ %inc514, %if.then513 ] + %conv.i72 = zext i8 %53 to i32 + %call.i73 = call i32 @fputc(i32 noundef %conv.i72, ptr noundef %userp) + %cmp.i74.not = icmp eq i32 %call.i73, %conv.i72 + br i1 %cmp.i74.not, label %if.then513, label %return -vaarg.end366: ; preds = %vaarg.in_mem362, %vaarg.in_reg360 - %vaarg.addr367 = phi ptr [ %63, %vaarg.in_reg360 ], [ %overflow_arg_area364, %vaarg.in_mem362 ] - %65 = load ptr, ptr %vaarg.addr367, align 8 - %val368 = getelementptr inbounds i8, ptr %arrayidx343, i64 8 - store ptr %65, ptr %val368, align 8 - br label %for.inc +if.then513: ; preds = %do.body510 + %inc514 = add nsw i32 %done.2385, 1 + %point.086.add = add nuw nsw i64 %point.086.idx, 1 + %incdec.ptr519.ptr = getelementptr inbounds i8, ptr @formatf.nilstr, i64 %point.086.add + %54 = load i8, ptr %incdec.ptr519.ptr, align 1 + %exitcond = icmp eq i64 %point.086.add, 5 + br i1 %exitcond, label %for.end520, label %do.body510, !llvm.loop !18 -sw.bb369: ; preds = %if.end353 - %gp_offset371 = load i32, ptr %arglist, align 8 - %fits_in_gp372 = icmp ult i32 %gp_offset371, 41 - br i1 %fits_in_gp372, label %vaarg.in_reg373, label %vaarg.in_mem375 +for.end520: ; preds = %if.then513 + %cmp52688 = icmp sgt i32 %width.17, 0 + %or.cond183 = select i1 %tobool488.not, i1 %cmp52688, i1 false + br i1 %or.cond183, label %do.body529.preheader, label %for.inc695 -vaarg.in_reg373: ; preds = %sw.bb369 - %reg_save_area374 = load ptr, ptr %53, align 8 - %66 = zext nneg i32 %gp_offset371 to i64 - %67 = getelementptr i8, ptr %reg_save_area374, i64 %66 - %68 = add nuw nsw i32 %gp_offset371, 8 - store i32 %68, ptr %arglist, align 8 - br label %vaarg.end379 +do.body529.preheader: ; preds = %for.end520 + %55 = add i32 %52, %width.17 + br label %do.body529 -vaarg.in_mem375: ; preds = %sw.bb369 - %overflow_arg_area377 = load ptr, ptr %overflow_arg_area_p453, align 8 - %overflow_arg_area.next378 = getelementptr i8, ptr %overflow_arg_area377, i64 8 - store ptr %overflow_arg_area.next378, ptr %overflow_arg_area_p453, align 8 - br label %vaarg.end379 +do.body529: ; preds = %do.body529.preheader, %if.then532 + %dec52590.in = phi i32 [ %dec52590, %if.then532 ], [ %width.17, %do.body529.preheader ] + %done.2489 = phi i32 [ %inc533, %if.then532 ], [ %52, %do.body529.preheader ] + %call.i76 = call i32 @fputc(i32 noundef 32, ptr noundef %userp) + %cmp.i77.not = icmp eq i32 %call.i76, 32 + br i1 %cmp.i77.not, label %if.then532, label %return -vaarg.end379: ; preds = %vaarg.in_mem375, %vaarg.in_reg373 - %vaarg.addr380 = phi ptr [ %67, %vaarg.in_reg373 ], [ %overflow_arg_area377, %vaarg.in_mem375 ] - %69 = load i64, ptr %vaarg.addr380, align 8 - %val381 = getelementptr inbounds i8, ptr %arrayidx343, i64 8 - store i64 %69, ptr %val381, align 8 - br label %for.inc +if.then532: ; preds = %do.body529 + %dec52590 = add nsw i32 %dec52590.in, -1 + %inc533 = add nsw i32 %done.2489, 1 + %cmp526 = icmp sgt i32 %dec52590.in, 1 + br i1 %cmp526, label %do.body529, label %for.inc695, !llvm.loop !19 -sw.bb382: ; preds = %if.end353 - %gp_offset384 = load i32, ptr %arglist, align 8 - %fits_in_gp385 = icmp ult i32 %gp_offset384, 41 - br i1 %fits_in_gp385, label %vaarg.in_reg386, label %vaarg.in_mem388 +sw.bb540: ; preds = %if.end58 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %formatbuf, ptr noundef nonnull align 16 dereferenceable(32) @__const.formatf.formatbuf, i64 32, i1 false) + %call543 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %formatbuf) #11 + %sub544 = sub i64 32, %call543 + %and546 = and i32 %flags.0, 8192 + %tobool547.not = icmp eq i32 %and546, 0 + %spec.select303 = select i1 %tobool547.not, i32 %width.1, i32 %7 + %and551 = and i32 %flags.0, 32768 + %tobool552.not = icmp eq i32 %and551, 0 + br i1 %tobool552.not, label %if.end555, label %if.then553 -vaarg.in_reg386: ; preds = %sw.bb382 - %reg_save_area387 = load ptr, ptr %53, align 8 - %70 = zext nneg i32 %gp_offset384 to i64 - %71 = getelementptr i8, ptr %reg_save_area387, i64 %70 - %72 = add nuw nsw i32 %gp_offset384, 8 - store i32 %72, ptr %arglist, align 8 - br label %vaarg.end392 +if.then553: ; preds = %sw.bb540 + %precision554 = getelementptr inbounds i8, ptr %arrayidx2, i64 4 + %56 = load i32, ptr %precision554, align 4 + br label %if.end555 -vaarg.in_mem388: ; preds = %sw.bb382 - %overflow_arg_area390 = load ptr, ptr %overflow_arg_area_p453, align 8 - %overflow_arg_area.next391 = getelementptr i8, ptr %overflow_arg_area390, i64 8 - store ptr %overflow_arg_area.next391, ptr %overflow_arg_area_p453, align 8 - br label %vaarg.end392 +if.end555: ; preds = %if.then553, %sw.bb540 + %prec.2 = phi i32 [ %56, %if.then553 ], [ %prec.0, %sw.bb540 ] + %and556 = and i32 %flags.0, 4 + %tobool557.not = icmp eq i32 %and556, 0 + br i1 %tobool557.not, label %if.end560, label %if.then558 -vaarg.end392: ; preds = %vaarg.in_mem388, %vaarg.in_reg386 - %vaarg.addr393 = phi ptr [ %71, %vaarg.in_reg386 ], [ %overflow_arg_area390, %vaarg.in_mem388 ] - %73 = load i64, ptr %vaarg.addr393, align 8 - %val394 = getelementptr inbounds i8, ptr %arrayidx343, i64 8 - store i64 %73, ptr %val394, align 8 - br label %for.inc +if.then558: ; preds = %if.end555 + store i8 45, ptr %arrayidx541, align 1 + br label %if.end560 -sw.bb395: ; preds = %if.end353 - %gp_offset397 = load i32, ptr %arglist, align 8 - %fits_in_gp398 = icmp ult i32 %gp_offset397, 41 - br i1 %fits_in_gp398, label %vaarg.in_reg399, label %vaarg.in_mem401 +if.end560: ; preds = %if.then558, %if.end555 + %fptr.0 = phi ptr [ %incdec.ptr559, %if.then558 ], [ %arrayidx541, %if.end555 ] + %and561 = and i32 %flags.0, 2 + %tobool562.not = icmp eq i32 %and561, 0 + br i1 %tobool562.not, label %if.end565, label %if.then563 -vaarg.in_reg399: ; preds = %sw.bb395 - %reg_save_area400 = load ptr, ptr %53, align 8 - %74 = zext nneg i32 %gp_offset397 to i64 - %75 = getelementptr i8, ptr %reg_save_area400, i64 %74 - %76 = add nuw nsw i32 %gp_offset397, 8 - store i32 %76, ptr %arglist, align 8 - br label %vaarg.end405 +if.then563: ; preds = %if.end560 + %incdec.ptr564 = getelementptr inbounds i8, ptr %fptr.0, i64 1 + store i8 43, ptr %fptr.0, align 1 + br label %if.end565 -vaarg.in_mem401: ; preds = %sw.bb395 - %overflow_arg_area403 = load ptr, ptr %overflow_arg_area_p453, align 8 - %overflow_arg_area.next404 = getelementptr i8, ptr %overflow_arg_area403, i64 8 - store ptr %overflow_arg_area.next404, ptr %overflow_arg_area_p453, align 8 - br label %vaarg.end405 +if.end565: ; preds = %if.then563, %if.end560 + %fptr.1 = phi ptr [ %incdec.ptr564, %if.then563 ], [ %fptr.0, %if.end560 ] + %and566 = and i32 %flags.0, 1 + %tobool567.not = icmp eq i32 %and566, 0 + br i1 %tobool567.not, label %if.end570, label %if.then568 -vaarg.end405: ; preds = %vaarg.in_mem401, %vaarg.in_reg399 - %vaarg.addr406 = phi ptr [ %75, %vaarg.in_reg399 ], [ %overflow_arg_area403, %vaarg.in_mem401 ] - %77 = load i64, ptr %vaarg.addr406, align 8 - %val407 = getelementptr inbounds i8, ptr %arrayidx343, i64 8 - store i64 %77, ptr %val407, align 8 - br label %for.inc +if.then568: ; preds = %if.end565 + %incdec.ptr569 = getelementptr inbounds i8, ptr %fptr.1, i64 1 + store i8 32, ptr %fptr.1, align 1 + br label %if.end570 -sw.bb408: ; preds = %if.end353 - %gp_offset410 = load i32, ptr %arglist, align 8 - %fits_in_gp411 = icmp ult i32 %gp_offset410, 41 - br i1 %fits_in_gp411, label %vaarg.in_reg412, label %vaarg.in_mem414 +if.end570: ; preds = %if.then568, %if.end565 + %fptr.2 = phi ptr [ %incdec.ptr569, %if.then568 ], [ %fptr.1, %if.end565 ] + br i1 %tobool60.not, label %if.end575, label %if.then573 -vaarg.in_reg412: ; preds = %sw.bb408 - %reg_save_area413 = load ptr, ptr %53, align 8 - %78 = zext nneg i32 %gp_offset410 to i64 - %79 = getelementptr i8, ptr %reg_save_area413, i64 %78 - %80 = add nuw nsw i32 %gp_offset410, 8 - store i32 %80, ptr %arglist, align 8 - br label %vaarg.end418 +if.then573: ; preds = %if.end570 + %incdec.ptr574 = getelementptr inbounds i8, ptr %fptr.2, i64 1 + store i8 35, ptr %fptr.2, align 1 + br label %if.end575 -vaarg.in_mem414: ; preds = %sw.bb408 - %overflow_arg_area416 = load ptr, ptr %overflow_arg_area_p453, align 8 - %overflow_arg_area.next417 = getelementptr i8, ptr %overflow_arg_area416, i64 8 - store ptr %overflow_arg_area.next417, ptr %overflow_arg_area_p453, align 8 - br label %vaarg.end418 +if.end575: ; preds = %if.then573, %if.end570 + %fptr.3 = phi ptr [ %incdec.ptr574, %if.then573 ], [ %fptr.2, %if.end570 ] + store i8 0, ptr %fptr.3, align 1 + %cmp576 = icmp sgt i32 %spec.select303, -1 + br i1 %cmp576, label %if.then578, label %if.end586 -vaarg.end418: ; preds = %vaarg.in_mem414, %vaarg.in_reg412 - %vaarg.addr419 = phi ptr [ %79, %vaarg.in_reg412 ], [ %overflow_arg_area416, %vaarg.in_mem414 ] - %81 = load i64, ptr %vaarg.addr419, align 8 - %val420 = getelementptr inbounds i8, ptr %arrayidx343, i64 8 - store i64 %81, ptr %val420, align 8 - br label %for.inc +if.then578: ; preds = %if.end575 + %57 = call i32 @llvm.umin.i32(i32 %spec.select303, i32 325) + %call583 = call i32 (ptr, i64, ptr, ...) @curl_msnprintf(ptr noundef nonnull %fptr.3, i64 noundef %sub544, ptr noundef nonnull @.str.1, i32 noundef %57) + %idx.ext = sext i32 %call583 to i64 + %add.ptr = getelementptr inbounds i8, ptr %fptr.3, i64 %idx.ext + %sub585 = sub i64 %sub544, %idx.ext + br label %if.end586 -sw.bb421: ; preds = %if.end353 - %gp_offset423 = load i32, ptr %arglist, align 8 - %fits_in_gp424 = icmp ult i32 %gp_offset423, 41 - br i1 %fits_in_gp424, label %vaarg.in_reg425, label %vaarg.in_mem427 +if.end586: ; preds = %if.then578, %if.end575 + %width.21 = phi i32 [ %57, %if.then578 ], [ %spec.select303, %if.end575 ] + %fptr.4 = phi ptr [ %add.ptr, %if.then578 ], [ %fptr.3, %if.end575 ] + %left.0 = phi i64 [ %sub585, %if.then578 ], [ %sub544, %if.end575 ] + %cmp587 = icmp sgt i32 %prec.2, -1 + br i1 %cmp587, label %if.then589, label %if.end622 -vaarg.in_reg425: ; preds = %sw.bb421 - %reg_save_area426 = load ptr, ptr %53, align 8 - %82 = zext nneg i32 %gp_offset423 to i64 - %83 = getelementptr i8, ptr %reg_save_area426, i64 %82 - %84 = add nuw nsw i32 %gp_offset423, 8 - store i32 %84, ptr %arglist, align 8 - br label %vaarg.end431 +if.then589: ; preds = %if.end586 + %val591 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 + %58 = load double, ptr %val591, align 8 + %cmp592 = icmp slt i32 %width.21, 1 + %cmp595.not = icmp sgt i32 %prec.2, %width.21 + %or.cond10 = select i1 %cmp592, i1 true, i1 %cmp595.not + %sub599 = sub i32 324, %width.21 + %maxprec.0 = select i1 %or.cond10, i32 324, i32 %sub599 + %cmp60272 = fcmp ult double %58, 1.000000e+01 + br i1 %cmp60272, label %while.end607, label %while.body604 -vaarg.in_mem427: ; preds = %sw.bb421 - %overflow_arg_area429 = load ptr, ptr %overflow_arg_area_p453, align 8 - %overflow_arg_area.next430 = getelementptr i8, ptr %overflow_arg_area429, i64 8 - store ptr %overflow_arg_area.next430, ptr %overflow_arg_area_p453, align 8 - br label %vaarg.end431 +while.body604: ; preds = %if.then589, %while.body604 + %val590.074 = phi double [ %div605, %while.body604 ], [ %58, %if.then589 ] + %maxprec.173 = phi i32 [ %dec606, %while.body604 ], [ %maxprec.0, %if.then589 ] + %div605 = fdiv double %val590.074, 1.000000e+01 + %dec606 = add i32 %maxprec.173, -1 + %cmp602 = fcmp ult double %div605, 1.000000e+01 + br i1 %cmp602, label %while.end607, label %while.body604, !llvm.loop !20 -vaarg.end431: ; preds = %vaarg.in_mem427, %vaarg.in_reg425 - %vaarg.addr432 = phi ptr [ %83, %vaarg.in_reg425 ], [ %overflow_arg_area429, %vaarg.in_mem427 ] - %85 = load i32, ptr %vaarg.addr432, align 4 - %conv433 = zext i32 %85 to i64 - %val434 = getelementptr inbounds i8, ptr %arrayidx343, i64 8 - store i64 %conv433, ptr %val434, align 8 - br label %for.inc +while.end607: ; preds = %while.body604, %if.then589 + %maxprec.1.lcssa = phi i32 [ %maxprec.0, %if.then589 ], [ %dec606, %while.body604 ] + %cmp609 = icmp sgt i32 %prec.2, %maxprec.1.lcssa + %sub613 = add nsw i32 %maxprec.1.lcssa, -1 + %spec.select11 = select i1 %cmp609, i32 %sub613, i32 %prec.2 + %spec.store.select8 = call i32 @llvm.smax.i32(i32 %spec.select11, i32 0) + %call619 = call i32 (ptr, i64, ptr, ...) @curl_msnprintf(ptr noundef %fptr.4, i64 noundef %left.0, ptr noundef nonnull @.str.2, i32 noundef %spec.store.select8) + %idx.ext620 = sext i32 %call619 to i64 + %add.ptr621 = getelementptr inbounds i8, ptr %fptr.4, i64 %idx.ext620 + br label %if.end622 -sw.bb435: ; preds = %if.end353, %if.end353, %if.end353 - %gp_offset437 = load i32, ptr %arglist, align 8 - %fits_in_gp438 = icmp ult i32 %gp_offset437, 41 - br i1 %fits_in_gp438, label %vaarg.in_reg439, label %vaarg.in_mem441 +if.end622: ; preds = %while.end607, %if.end586 + %fptr.5 = phi ptr [ %add.ptr621, %while.end607 ], [ %fptr.4, %if.end586 ] + %and623 = and i32 %flags.0, 32 + %tobool624.not = icmp eq i32 %and623, 0 + br i1 %tobool624.not, label %if.end627, label %if.then625 -vaarg.in_reg439: ; preds = %sw.bb435 - %reg_save_area440 = load ptr, ptr %53, align 8 - %86 = zext nneg i32 %gp_offset437 to i64 - %87 = getelementptr i8, ptr %reg_save_area440, i64 %86 - %88 = add nuw nsw i32 %gp_offset437, 8 - store i32 %88, ptr %arglist, align 8 - br label %vaarg.end445 +if.then625: ; preds = %if.end622 + %incdec.ptr626 = getelementptr inbounds i8, ptr %fptr.5, i64 1 + store i8 108, ptr %fptr.5, align 1 + br label %if.end627 -vaarg.in_mem441: ; preds = %sw.bb435 - %overflow_arg_area443 = load ptr, ptr %overflow_arg_area_p453, align 8 - %overflow_arg_area.next444 = getelementptr i8, ptr %overflow_arg_area443, i64 8 - store ptr %overflow_arg_area.next444, ptr %overflow_arg_area_p453, align 8 - br label %vaarg.end445 +if.end627: ; preds = %if.then625, %if.end622 + %fptr.6 = phi ptr [ %incdec.ptr626, %if.then625 ], [ %fptr.5, %if.end622 ] + %and628 = and i32 %flags.0, 262144 + %tobool629.not = icmp eq i32 %and628, 0 + br i1 %tobool629.not, label %if.else636, label %if.then630 -vaarg.end445: ; preds = %vaarg.in_mem441, %vaarg.in_reg439 - %vaarg.addr446 = phi ptr [ %87, %vaarg.in_reg439 ], [ %overflow_arg_area443, %vaarg.in_mem441 ] - %89 = load i32, ptr %vaarg.addr446, align 4 - %conv447 = sext i32 %89 to i64 - %val448 = getelementptr inbounds i8, ptr %arrayidx343, i64 8 - store i64 %conv447, ptr %val448, align 8 - br label %for.inc +if.then630: ; preds = %if.end627 + %and631 = and i32 %flags.0, 4096 + %tobool632.not = icmp eq i32 %and631, 0 + %conv634 = select i1 %tobool632.not, i8 101, i8 69 + br label %if.end648 -sw.bb449: ; preds = %if.end353 - %fp_offset = load i32, ptr %fp_offset_p, align 4 - %fits_in_fp = icmp ult i32 %fp_offset, 161 - br i1 %fits_in_fp, label %vaarg.in_reg450, label %vaarg.in_mem452 +if.else636: ; preds = %if.end627 + %and637 = and i32 %flags.0, 524288 + %tobool638.not = icmp eq i32 %and637, 0 + br i1 %tobool638.not, label %if.end648, label %if.then639 -vaarg.in_reg450: ; preds = %sw.bb449 - %reg_save_area451 = load ptr, ptr %53, align 8 - %90 = zext nneg i32 %fp_offset to i64 - %91 = getelementptr i8, ptr %reg_save_area451, i64 %90 - %92 = add nuw nsw i32 %fp_offset, 16 - store i32 %92, ptr %fp_offset_p, align 4 - br label %vaarg.end456 +if.then639: ; preds = %if.else636 + %and640 = and i32 %flags.0, 4096 + %tobool641.not = icmp eq i32 %and640, 0 + %conv643 = select i1 %tobool641.not, i8 103, i8 71 + br label %if.end648 -vaarg.in_mem452: ; preds = %sw.bb449 - %overflow_arg_area454 = load ptr, ptr %overflow_arg_area_p453, align 8 - %overflow_arg_area.next455 = getelementptr i8, ptr %overflow_arg_area454, i64 8 - store ptr %overflow_arg_area.next455, ptr %overflow_arg_area_p453, align 8 - br label %vaarg.end456 +if.end648: ; preds = %if.else636, %if.then639, %if.then630 + %.sink = phi i8 [ %conv643, %if.then639 ], [ %conv634, %if.then630 ], [ 102, %if.else636 ] + store i8 %.sink, ptr %fptr.6, align 1 + %fptr.7 = getelementptr inbounds i8, ptr %fptr.6, i64 1 + store i8 0, ptr %fptr.7, align 1 + %val651 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 + %59 = load double, ptr %val651, align 8 + %call652 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %work, i64 noundef 326, ptr noundef nonnull %formatbuf, double noundef %59) #12 + %60 = load i8, ptr %work, align 16 + %tobool657.not75 = icmp eq i8 %60, 0 + br i1 %tobool657.not75, label %for.inc695, label %do.body659 -vaarg.end456: ; preds = %vaarg.in_mem452, %vaarg.in_reg450 - %vaarg.addr457 = phi ptr [ %91, %vaarg.in_reg450 ], [ %overflow_arg_area454, %vaarg.in_mem452 ] - %93 = load double, ptr %vaarg.addr457, align 8 - %val458 = getelementptr inbounds i8, ptr %arrayidx343, i64 8 - store double %93, ptr %val458, align 8 - br label %for.inc +do.body659: ; preds = %if.end648, %if.then662 + %61 = phi i8 [ %62, %if.then662 ], [ %60, %if.end648 ] + %fptr.877 = phi ptr [ %incdec.ptr668, %if.then662 ], [ %work, %if.end648 ] + %done.2576 = phi i32 [ %inc663, %if.then662 ], [ %done.1, %if.end648 ] + %conv.i79 = zext i8 %61 to i32 + %call.i80 = call i32 @fputc(i32 noundef %conv.i79, ptr noundef %userp) + %cmp.i81.not = icmp eq i32 %call.i80, %conv.i79 + br i1 %cmp.i81.not, label %if.then662, label %return + +if.then662: ; preds = %do.body659 + %inc663 = add nsw i32 %done.2576, 1 + %incdec.ptr668 = getelementptr inbounds i8, ptr %fptr.877, i64 1 + %62 = load i8, ptr %incdec.ptr668, align 1 + %tobool657.not = icmp eq i8 %62, 0 + br i1 %tobool657.not, label %for.inc695, label %do.body659, !llvm.loop !21 -for.inc: ; preds = %vaarg.end, %vaarg.end366, %vaarg.end379, %vaarg.end392, %vaarg.end405, %vaarg.end418, %vaarg.end431, %vaarg.end445, %vaarg.end456, %if.end353 - %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 - %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count - br i1 %exitcond.not, label %for.end, label %for.body, !llvm.loop !29 +sw.bb670: ; preds = %if.end58 + %and671 = and i32 %flags.0, 64 + %tobool672.not = icmp eq i32 %and671, 0 + br i1 %tobool672.not, label %if.else676, label %if.then673 -for.end: ; preds = %for.inc, %if.end337.for.end_crit_edge - %add338.pre-phi = phi i32 [ %.pre, %if.end337.for.end_crit_edge ], [ %54, %for.inc ] - store i32 %add338.pre-phi, ptr %ipieces, align 4 - store i32 %ocount.3, ptr %opieces, align 4 - br label %return +if.then673: ; preds = %sw.bb670 + %conv674 = sext i32 %done.1 to i64 + %val675 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 + %63 = load ptr, ptr %val675, align 8 + store i64 %conv674, ptr %63, align 8 + br label %for.inc695 -return: ; preds = %if.end285, %if.end276, %if.end254, %if.else243, %if.end213, %if.else204, %if.then7, %if.then22, %if.then139, %do.end.i181, %if.then50, %do.end.i158, %if.end85, %do.body, %while.body73, %for.body, %if.then325, %for.end - %retval.0 = phi i32 [ 0, %for.end ], [ 11, %if.then325 ], [ 8, %for.body ], [ 5, %while.body73 ], [ 7, %do.body ], [ 2, %if.then139 ], [ 2, %do.end.i181 ], [ 3, %if.then50 ], [ 3, %do.end.i158 ], [ 6, %if.end85 ], [ 1, %if.then22 ], [ 11, %if.then7 ], [ 9, %if.else204 ], [ 4, %if.end213 ], [ 10, %if.else243 ], [ 4, %if.end254 ], [ 4, %if.end276 ], [ 11, %if.end285 ] - ret i32 %retval.0 -} +if.else676: ; preds = %sw.bb670 + %and677 = and i32 %flags.0, 32 + %tobool678.not = icmp eq i32 %and677, 0 + br i1 %tobool678.not, label %if.else682, label %if.then679 -; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read) -declare i64 @strlen(ptr nocapture noundef) local_unnamed_addr #4 +if.then679: ; preds = %if.else676 + %conv680 = sext i32 %done.1 to i64 + %val681 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 + %64 = load ptr, ptr %val681, align 8 + store i64 %conv680, ptr %64, align 8 + br label %for.inc695 -; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) -declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #5 +if.else682: ; preds = %if.else676 + %and683 = and i32 %flags.0, 16 + %tobool684.not = icmp eq i32 %and683, 0 + br i1 %tobool684.not, label %if.then685, label %if.else687 -; Function Attrs: nofree nounwind -declare noundef i32 @snprintf(ptr noalias nocapture noundef writeonly, i64 noundef, ptr nocapture noundef readonly, ...) local_unnamed_addr #6 +if.then685: ; preds = %if.else682 + %val686 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 + %65 = load ptr, ptr %val686, align 8 + store i32 %done.1, ptr %65, align 4 + br label %for.inc695 -; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: write) -declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #7 +if.else687: ; preds = %if.else682 + %conv688 = trunc i32 %done.1 to i16 + %val689 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 + %66 = load ptr, ptr %val689, align 8 + store i16 %conv688, ptr %66, align 2 + br label %for.inc695 -declare i32 @Curl_dyn_addn(ptr noundef, ptr noundef, i64 noundef) local_unnamed_addr #2 +for.inc695: ; preds = %if.then662, %if.then532, %if.then106, %if.then357, %if.end648, %if.else687, %if.then685, %if.then679, %if.then673, %for.end520, %if.then471, %if.end464, %while.end345, %if.then90, %if.end58, %for.end + %done.3 = phi i32 [ %done.2.lcssa, %for.end ], [ %done.1, %if.end58 ], [ %done.1, %if.then673 ], [ %done.1, %if.then679 ], [ %done.1, %if.else687 ], [ %done.1, %if.then685 ], [ %done.13.lcssa, %while.end345 ], [ %52, %for.end520 ], [ %inc472, %if.then471 ], [ %done.19, %if.end464 ], [ %inc91, %if.then90 ], [ %done.1, %if.end648 ], [ %40, %if.then357 ], [ %16, %if.then106 ], [ %55, %if.then532 ], [ %inc663, %if.then662 ] + %digits.1 = phi ptr [ %digits.0177, %for.end ], [ %digits.0177, %if.end58 ], [ %digits.0177, %if.then673 ], [ %digits.0177, %if.then679 ], [ %digits.0177, %if.else687 ], [ %digits.0177, %if.then685 ], [ %digits.24249, %while.end345 ], [ %digits.0177, %for.end520 ], [ %digits.0177, %if.then471 ], [ %digits.0177, %if.end464 ], [ %digits.0177, %if.then90 ], [ %digits.0177, %if.end648 ], [ %digits.24249, %if.then357 ], [ %digits.0177, %if.then106 ], [ %digits.0177, %if.then532 ], [ %digits.0177, %if.then662 ] + %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 + %67 = load i32, ptr %ocount, align 4 + %68 = sext i32 %67 to i64 + %cmp = icmp slt i64 %indvars.iv.next, %68 + br i1 %cmp, label %for.body, label %return, !llvm.loop !22 -; Function Attrs: nofree nounwind -declare noundef i32 @fputc(i32 noundef, ptr nocapture noundef) local_unnamed_addr #6 +return.loopexit49.split.loop.exit162: ; preds = %do.body292 + %inc285.le172 = add nsw i32 %done.9, 1 + br label %return -; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn -declare void @llvm.va_start.p0(ptr) #8 +return.loopexit49.split.loop.exit164: ; preds = %do.body301 + %inc285.le = add nsw i32 %done.9, 1 + br label %return -; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn -declare void @llvm.va_end.p0(ptr) #8 +return: ; preds = %do.body86, %do.body240, %do.body252, %do.body264, %do.body281, %do.body401, %do.body468, %for.inc695, %do.body, %do.body659, %do.body495, %do.body510, %do.body529, %do.body418, %do.body435, %do.body455, %do.body77, %do.body103, %do.body228, %do.body322, %do.body337, %do.body354, %return.loopexit49.split.loop.exit162, %return.loopexit49.split.loop.exit164, %entry + %retval.0 = phi i32 [ 0, %entry ], [ %inc285.le172, %return.loopexit49.split.loop.exit162 ], [ %inc285.le, %return.loopexit49.split.loop.exit164 ], [ %done.14151, %do.body354 ], [ %done.13146, %do.body337 ], [ %done.12140, %do.body322 ], [ %done.8134, %do.body228 ], [ %done.6117, %do.body103 ], [ %done.4111, %do.body77 ], [ %done.20106, %do.body455 ], [ %done.1899, %do.body435 ], [ %done.1794, %do.body418 ], [ %done.2489, %do.body529 ], [ %done.2385, %do.body510 ], [ %done.2281, %do.body495 ], [ %done.2576, %do.body659 ], [ %done.269, %do.body ], [ %done.5, %do.body86 ], [ %done.7, %do.body240 ], [ %done.7, %do.body252 ], [ %done.7, %do.body264 ], [ %done.9, %do.body281 ], [ %done.1, %do.body401 ], [ %done.19, %do.body468 ], [ %done.3, %for.inc695 ] + ret i32 %retval.0 +} ; Function Attrs: nofree nounwind uwtable -define internal fastcc i32 @formatf.specialized.1(ptr nocapture noundef %userp, ptr noundef %format, ptr nocapture noundef %ap_save) unnamed_addr #0 { +define internal fastcc i32 @formatf.specialized.3(ptr nocapture noundef %userp, ptr noundef %format, ptr nocapture noundef %ap_save) unnamed_addr #0 { entry: %ocount = alloca i32, align 4 %icount = alloca i32, align 4 @@ -3336,9 +3370,9 @@ entry: %call = call fastcc i32 @parsefmt(ptr noundef %format, ptr noundef %output, ptr noundef %input, ptr noundef %ocount, ptr noundef %icount, ptr noundef %ap_save) %tobool.not = icmp eq i32 %call, 0 %0 = load i32, ptr %ocount, align 4 - %cmp174 = icmp sgt i32 %0, 0 - %or.cond179 = select i1 %tobool.not, i1 %cmp174, i1 false - br i1 %or.cond179, label %for.body.lr.ph, label %return + %cmp116 = icmp sgt i32 %0, 0 + %or.cond121 = select i1 %tobool.not, i1 %cmp116, i1 false + br i1 %or.cond121, label %for.body.lr.ph, label %return for.body.lr.ph: ; preds = %entry %arrayidx541 = getelementptr inbounds i8, ptr %formatbuf, i64 1 @@ -3347,8 +3381,8 @@ for.body.lr.ph: ; preds = %entry for.body: ; preds = %for.body.lr.ph, %for.inc695 %indvars.iv = phi i64 [ 0, %for.body.lr.ph ], [ %indvars.iv.next, %for.inc695 ] - %digits.0177 = phi ptr [ @lower_digits, %for.body.lr.ph ], [ %digits.1, %for.inc695 ] - %done.0176 = phi i32 [ 0, %for.body.lr.ph ], [ %done.3, %for.inc695 ] + %digits.0119 = phi ptr [ @lower_digits, %for.body.lr.ph ], [ %digits.1, %for.inc695 ] + %done.0118 = phi i32 [ 0, %for.body.lr.ph ], [ %done.3, %for.inc695 ] %arrayidx2 = getelementptr inbounds [128 x %struct.outsegment], ptr %output, i64 0, i64 %indvars.iv %outlen3 = getelementptr inbounds i8, ptr %arrayidx2, i64 24 %1 = load i64, ptr %outlen3, align 8 @@ -3361,48 +3395,47 @@ if.then6: ; preds = %for.body %start = getelementptr inbounds i8, ptr %arrayidx2, i64 16 %3 = load ptr, ptr %start, align 16 %4 = trunc i64 %1 to i32 - %5 = add i32 %done.0176, %4 + %5 = add i32 %done.0118, %4 br label %land.rhs land.rhs: ; preds = %if.then6, %if.then13 - %str.071 = phi ptr [ %3, %if.then6 ], [ %incdec.ptr, %if.then13 ] - %outlen.070 = phi i64 [ %1, %if.then6 ], [ %dec, %if.then13 ] - %done.269 = phi i32 [ %done.0176, %if.then6 ], [ %inc, %if.then13 ] - %6 = load i8, ptr %str.071, align 1 + %str.038 = phi ptr [ %3, %if.then6 ], [ %incdec.ptr, %if.then13 ] + %outlen.037 = phi i64 [ %1, %if.then6 ], [ %dec, %if.then13 ] + %done.236 = phi i32 [ %done.0118, %if.then6 ], [ %inc, %if.then13 ] + %6 = load i8, ptr %str.038, align 1 %tobool9.not = icmp eq i8 %6, 0 - br i1 %tobool9.not, label %for.end, label %do.body - -do.body: ; preds = %land.rhs - %conv.i = zext i8 %6 to i32 - %call.i = call i32 @fputc(i32 noundef %conv.i, ptr noundef %userp) - %cmp.i.not = icmp eq i32 %call.i, %conv.i - br i1 %cmp.i.not, label %if.then13, label %return + br i1 %tobool9.not, label %for.end, label %if.then13 -if.then13: ; preds = %do.body - %incdec.ptr = getelementptr inbounds i8, ptr %str.071, i64 1 - %inc = add nsw i32 %done.269, 1 - %dec = add i64 %outlen.070, -1 +if.then13: ; preds = %land.rhs + %7 = load ptr, ptr %userp, align 8 + store i8 %6, ptr %7, align 1 + %8 = load ptr, ptr %userp, align 8 + %incdec.ptr.i = getelementptr inbounds i8, ptr %8, i64 1 + store ptr %incdec.ptr.i, ptr %userp, align 8 + %incdec.ptr = getelementptr inbounds i8, ptr %str.038, i64 1 + %inc = add nsw i32 %done.236, 1 + %dec = add i64 %outlen.037, -1 %tobool8.not = icmp eq i64 %dec, 0 br i1 %tobool8.not, label %for.end, label %land.rhs, !llvm.loop !4 for.end: ; preds = %land.rhs, %if.then13 - %done.2.lcssa = phi i32 [ %done.269, %land.rhs ], [ %5, %if.then13 ] + %done.2.lcssa = phi i32 [ %done.236, %land.rhs ], [ %5, %if.then13 ] %and = and i32 %2, 1048576 %tobool16.not = icmp eq i32 %and, 0 br i1 %tobool16.not, label %if.end19, label %for.inc695 if.end19: ; preds = %for.end, %for.body - %done.1 = phi i32 [ %done.2.lcssa, %for.end ], [ %done.0176, %for.body ] + %done.1 = phi i32 [ %done.2.lcssa, %for.end ], [ %done.0118, %for.body ] %and20 = and i32 %2, 16384 %tobool21.not = icmp eq i32 %and20, 0 - %7 = load i32, ptr %arrayidx2, align 16 + %9 = load i32, ptr %arrayidx2, align 16 br i1 %tobool21.not, label %if.end39, label %if.then22 if.then22: ; preds = %if.end19 - %idxprom24 = sext i32 %7 to i64 + %idxprom24 = sext i32 %9 to i64 %val = getelementptr inbounds [128 x %struct.va_input], ptr %input, i64 0, i64 %idxprom24, i32 1 - %8 = load i64, ptr %val, align 8 - %conv26 = trunc i64 %8 to i32 + %10 = load i64, ptr %val, align 8 + %conv26 = trunc i64 %10 to i32 %cmp27 = icmp slt i32 %conv26, 0 br i1 %cmp27, label %if.then29, label %if.end39 @@ -3415,7 +3448,7 @@ if.then29: ; preds = %if.then22 br label %if.end39 if.end39: ; preds = %if.end19, %if.then29, %if.then22 - %width.1 = phi i32 [ %width.0, %if.then29 ], [ %conv26, %if.then22 ], [ %7, %if.end19 ] + %width.1 = phi i32 [ %width.0, %if.then29 ], [ %conv26, %if.then22 ], [ %9, %if.end19 ] %flags.0 = phi i32 [ %and35, %if.then29 ], [ %2, %if.then22 ], [ %2, %if.end19 ] %and40 = and i32 %flags.0, 65536 %tobool41.not = icmp eq i32 %and40, 0 @@ -3423,11 +3456,11 @@ if.end39: ; preds = %if.end19, %if.then2 if.then42: ; preds = %if.end39 %precision = getelementptr inbounds i8, ptr %arrayidx2, i64 4 - %9 = load i32, ptr %precision, align 4 - %idxprom43 = sext i32 %9 to i64 + %11 = load i32, ptr %precision, align 4 + %idxprom43 = sext i32 %11 to i64 %val45 = getelementptr inbounds [128 x %struct.va_input], ptr %input, i64 0, i64 %idxprom43, i32 1 - %10 = load i64, ptr %val45, align 8 - %conv46 = trunc i64 %10 to i32 + %12 = load i64, ptr %val45, align 8 + %conv46 = trunc i64 %12 to i32 %spec.store.select = call i32 @llvm.smax.i32(i32 %conv46, i32 -1) br label %if.end58 @@ -3438,20 +3471,20 @@ if.else51: ; preds = %if.end39 if.then54: ; preds = %if.else51 %precision55 = getelementptr inbounds i8, ptr %arrayidx2, i64 4 - %11 = load i32, ptr %precision55, align 4 + %13 = load i32, ptr %precision55, align 4 br label %if.end58 if.end58: ; preds = %if.else51, %if.then54, %if.then42 - %prec.0 = phi i32 [ %spec.store.select, %if.then42 ], [ %11, %if.then54 ], [ -1, %if.else51 ] + %prec.0 = phi i32 [ %spec.store.select, %if.then42 ], [ %13, %if.then54 ], [ -1, %if.else51 ] %and59 = and i32 %flags.0, 8 %tobool60.not = icmp eq i32 %and59, 0 %frombool = icmp ne i32 %and59, 0 %input62 = getelementptr inbounds i8, ptr %arrayidx2, i64 12 - %12 = load i32, ptr %input62, align 4 - %idxprom63 = zext i32 %12 to i64 + %14 = load i32, ptr %input62, align 4 + %idxprom63 = zext i32 %14 to i64 %arrayidx64 = getelementptr inbounds [128 x %struct.va_input], ptr %input, i64 0, i64 %idxprom63 - %13 = load i32, ptr %arrayidx64, align 16 - switch i32 %13, label %for.inc695 [ + %15 = load i32, ptr %arrayidx64, align 16 + switch i32 %15, label %for.inc695 [ i32 6, label %sw.bb i32 7, label %sw.bb i32 8, label %sw.bb @@ -3471,69 +3504,69 @@ sw.bb: ; preds = %if.end58, %if.end58 sw.bb66: ; preds = %sw.bb, %if.end58, %if.end58, %if.end58 %flags.1 = phi i32 [ %flags.0, %if.end58 ], [ %flags.0, %if.end58 ], [ %flags.0, %if.end58 ], [ %or65, %sw.bb ] %val67 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 - %14 = load i64, ptr %val67, align 8 + %16 = load i64, ptr %val67, align 8 %and68 = and i32 %flags.1, 131072 %tobool69.not = icmp eq i32 %and68, 0 br i1 %tobool69.not, label %if.end113, label %if.then70 if.then70: ; preds = %sw.bb66 %and71 = and i32 %flags.1, 4 - %tobool72.not = icmp ne i32 %and71, 0 - br i1 %tobool72.not, label %do.body86, label %while.cond.preheader + %tobool72.not.not = icmp eq i32 %and71, 0 + br i1 %tobool72.not.not, label %while.cond.preheader, label %if.then90 while.cond.preheader: ; preds = %if.then70 - %dec74109 = add i32 %width.1, -1 - %cmp75110 = icmp sgt i32 %width.1, 1 - br i1 %cmp75110, label %do.body77.preheader, label %do.body86 - -do.body77.preheader: ; preds = %while.cond.preheader - %15 = add i32 %dec74109, %done.1 - br label %do.body77 - -do.body77: ; preds = %do.body77.preheader, %if.then80 - %dec74112 = phi i32 [ %dec74, %if.then80 ], [ %dec74109, %do.body77.preheader ] - %done.4111 = phi i32 [ %inc81, %if.then80 ], [ %done.1, %do.body77.preheader ] - %call.i12 = call i32 @fputc(i32 noundef 32, ptr noundef %userp) - %cmp.i13.not = icmp eq i32 %call.i12, 32 - br i1 %cmp.i13.not, label %if.then80, label %return - -if.then80: ; preds = %do.body77 - %inc81 = add nsw i32 %done.4111, 1 - %dec74 = add nsw i32 %dec74112, -1 - %cmp75 = icmp sgt i32 %dec74112, 1 - br i1 %cmp75, label %do.body77, label %do.body86, !llvm.loop !6 + %dec7474 = add i32 %width.1, -1 + %cmp7575 = icmp sgt i32 %width.1, 1 + %.pre139 = load ptr, ptr %userp, align 8 + br i1 %cmp7575, label %if.then80, label %if.then90.thread -do.body86: ; preds = %if.then80, %while.cond.preheader, %if.then70 - %done.5 = phi i32 [ %done.1, %if.then70 ], [ %done.1, %while.cond.preheader ], [ %15, %if.then80 ] - %width.3 = phi i32 [ %width.1, %if.then70 ], [ %dec74109, %while.cond.preheader ], [ 0, %if.then80 ] - %conv87 = trunc i64 %14 to i32 - %conv.i15 = and i32 %conv87, 255 - %call.i16 = call i32 @fputc(i32 noundef %conv.i15, ptr noundef %userp) - %cmp.i17.not = icmp eq i32 %call.i16, %conv.i15 - br i1 %cmp.i17.not, label %if.then90, label %return +if.then80: ; preds = %while.cond.preheader, %if.then80 + %17 = phi ptr [ %incdec.ptr.i12, %if.then80 ], [ %.pre139, %while.cond.preheader ] + %dec7477 = phi i32 [ %dec74, %if.then80 ], [ %dec7474, %while.cond.preheader ] + store i8 32, ptr %17, align 1 + %18 = load ptr, ptr %userp, align 8 + %incdec.ptr.i12 = getelementptr inbounds i8, ptr %18, i64 1 + store ptr %incdec.ptr.i12, ptr %userp, align 8 + %dec74 = add nsw i32 %dec7477, -1 + %cmp75 = icmp ugt i32 %dec7477, 1 + br i1 %cmp75, label %if.then80, label %if.then90.loopexit, !llvm.loop !6 -if.then90: ; preds = %do.body86 - %inc91 = add nsw i32 %done.5, 1 - %cmp100116 = icmp sgt i32 %width.3, 1 - %or.cond180 = select i1 %tobool72.not, i1 %cmp100116, i1 false - br i1 %or.cond180, label %do.body103.preheader, label %for.inc695 +if.then90.loopexit: ; preds = %if.then80 + %19 = add i32 %dec7474, %done.1 + br label %if.then90.thread -do.body103.preheader: ; preds = %if.then90 - %16 = add i32 %width.3, %done.5 - br label %do.body103 +if.then90.thread: ; preds = %while.cond.preheader, %if.then90.loopexit + %.ph = phi ptr [ %incdec.ptr.i12, %if.then90.loopexit ], [ %.pre139, %while.cond.preheader ] + %done.5.ph = phi i32 [ %19, %if.then90.loopexit ], [ %done.1, %while.cond.preheader ] + %conv87149 = trunc i64 %16 to i8 + store i8 %conv87149, ptr %.ph, align 1 + %20 = load ptr, ptr %userp, align 8 + %incdec.ptr.i13150 = getelementptr inbounds i8, ptr %20, i64 1 + store ptr %incdec.ptr.i13150, ptr %userp, align 8 + %inc91151 = add nsw i32 %done.5.ph, 1 + br label %for.inc695 -do.body103: ; preds = %do.body103.preheader, %if.then106 - %dec99118.in = phi i32 [ %dec99118, %if.then106 ], [ %width.3, %do.body103.preheader ] - %done.6117 = phi i32 [ %inc107, %if.then106 ], [ %inc91, %do.body103.preheader ] - %call.i19 = call i32 @fputc(i32 noundef 32, ptr noundef %userp) - %cmp.i20.not = icmp eq i32 %call.i19, 32 - br i1 %cmp.i20.not, label %if.then106, label %return +if.then90: ; preds = %if.then70 + %.pre138 = load ptr, ptr %userp, align 8 + %conv87 = trunc i64 %16 to i8 + store i8 %conv87, ptr %.pre138, align 1 + %21 = load ptr, ptr %userp, align 8 + %incdec.ptr.i13 = getelementptr inbounds i8, ptr %21, i64 1 + store ptr %incdec.ptr.i13, ptr %userp, align 8 + %inc91 = add nsw i32 %done.1, 1 + %cmp10080 = icmp sgt i32 %width.1, 1 + br i1 %cmp10080, label %if.then106, label %for.inc695 -if.then106: ; preds = %do.body103 - %dec99118 = add nsw i32 %dec99118.in, -1 - %inc107 = add nsw i32 %done.6117, 1 - %cmp100 = icmp sgt i32 %dec99118.in, 2 - br i1 %cmp100, label %do.body103, label %for.inc695, !llvm.loop !7 +if.then106: ; preds = %if.then90, %if.then106 + %22 = phi ptr [ %incdec.ptr.i14, %if.then106 ], [ %incdec.ptr.i13, %if.then90 ] + %width.482 = phi i32 [ %dec99, %if.then106 ], [ %width.1, %if.then90 ] + %dec99 = add nsw i32 %width.482, -1 + store i8 32, ptr %22, align 1 + %23 = load ptr, ptr %userp, align 8 + %incdec.ptr.i14 = getelementptr inbounds i8, ptr %23, i64 1 + store ptr %incdec.ptr.i14, ptr %userp, align 8 + %cmp100 = icmp ugt i32 %width.482, 2 + br i1 %cmp100, label %if.then106, label %for.inc695.loopexit127, !llvm.loop !7 if.end113: ; preds = %sw.bb66 %and114 = and i32 %flags.1, 1024 @@ -3557,67 +3590,67 @@ while.cond155.preheader: ; preds = %if.end113, %if.then %cmp20216.ph = phi i1 [ true, %if.then120 ], [ true, %if.then480 ], [ false, %if.end113 ] %cmp17313.ph = phi i1 [ false, %if.then120 ], [ false, %if.then480 ], [ true, %if.end113 ] %is_alt.07.ph = phi i1 [ %frombool, %if.then120 ], [ true, %if.then480 ], [ %frombool, %if.end113 ] - %digits.23.ph = phi ptr [ %cond123, %if.then120 ], [ %cond483, %if.then480 ], [ %digits.0177, %if.end113 ] - %num.2.ph = phi i64 [ %14, %if.then120 ], [ %50, %if.then480 ], [ %14, %if.end113 ] + %digits.23.ph = phi ptr [ %cond123, %if.then120 ], [ %cond483, %if.then480 ], [ %digits.0119, %if.end113 ] + %num.2.ph = phi i64 [ %16, %if.then120 ], [ %81, %if.then480 ], [ %16, %if.end113 ] %cmp142 = icmp eq i32 %prec.0, -1 %spec.store.select2 = select i1 %cmp142, i32 1, i32 %prec.0 - %cmp156.not120 = icmp eq i64 %num.2.ph, 0 - br i1 %cmp156.not120, label %sw.epilog, label %while.body158.preheader + %cmp156.not84 = icmp eq i64 %num.2.ph, 0 + br i1 %cmp156.not84, label %sw.epilog, label %while.body158.preheader while.body158.preheader: ; preds = %while.cond155.preheader - %17 = add nsw i64 %base.018.ph, -1 + %24 = add nsw i64 %base.018.ph, -1 br label %while.body158 if.else124: ; preds = %if.else117 %and125 = and i32 %flags.1, 512 %tobool126.not = icmp eq i32 %and125, 0 - %frombool132 = icmp slt i64 %14, 0 - %spec.select = call i64 @llvm.abs.i64(i64 %14, i1 false) + %frombool132 = icmp slt i64 %16, 0 + %spec.select = call i64 @llvm.abs.i64(i64 %16, i1 false) %is_neg.011.ph = select i1 %tobool126.not, i1 %frombool132, i1 false - %num.1.ph = select i1 %tobool126.not, i64 %spec.select, i64 %14 - %cmp142224 = icmp eq i32 %prec.0, -1 - %spec.store.select2225 = select i1 %cmp142224, i32 1, i32 %prec.0 - %cmp148.not124 = icmp eq i64 %num.1.ph, 0 - br i1 %cmp148.not124, label %sw.epilog.thread, label %while.body150 + %num.1.ph = select i1 %tobool126.not, i64 %spec.select, i64 %16 + %cmp142155 = icmp eq i32 %prec.0, -1 + %spec.store.select2156 = select i1 %cmp142155, i32 1, i32 %prec.0 + %cmp148.not88 = icmp eq i64 %num.1.ph, 0 + br i1 %cmp148.not88, label %sw.epilog.thread, label %while.body150 while.body150: ; preds = %if.else124, %while.body150 - %w.0.idx126 = phi i64 [ %w.0.add, %while.body150 ], [ 324, %if.else124 ] - %num.1125 = phi i64 [ %div, %while.body150 ], [ %num.1.ph, %if.else124 ] - %w.0.ptr = getelementptr inbounds i8, ptr %work, i64 %w.0.idx126 - %rem = urem i64 %num.1125, 10 - %18 = trunc nuw nsw i64 %rem to i8 - %conv152 = or disjoint i8 %18, 48 - %w.0.add = add nsw i64 %w.0.idx126, -1 + %w.0.idx90 = phi i64 [ %w.0.add, %while.body150 ], [ 324, %if.else124 ] + %num.189 = phi i64 [ %div, %while.body150 ], [ %num.1.ph, %if.else124 ] + %w.0.ptr = getelementptr inbounds i8, ptr %work, i64 %w.0.idx90 + %rem = urem i64 %num.189, 10 + %25 = trunc nuw nsw i64 %rem to i8 + %conv152 = or disjoint i8 %25, 48 + %w.0.add = add nsw i64 %w.0.idx90, -1 store i8 %conv152, ptr %w.0.ptr, align 1 - %div = udiv i64 %num.1125, 10 - %cmp148.not = icmp ult i64 %num.1125, 10 + %div = udiv i64 %num.189, 10 + %cmp148.not = icmp ult i64 %num.189, 10 br i1 %cmp148.not, label %sw.epilog.thread, label %while.body150, !llvm.loop !8 while.body158: ; preds = %while.body158.preheader, %while.body158 - %w.2.idx122 = phi i64 [ %w.2.add, %while.body158 ], [ 324, %while.body158.preheader ] - %num.2121 = phi i64 [ %div162, %while.body158 ], [ %num.2.ph, %while.body158.preheader ] - %w.2.ptr = getelementptr inbounds i8, ptr %work, i64 %w.2.idx122 - %rem159 = and i64 %num.2121, %17 + %w.2.idx86 = phi i64 [ %w.2.add, %while.body158 ], [ 324, %while.body158.preheader ] + %num.285 = phi i64 [ %div162, %while.body158 ], [ %num.2.ph, %while.body158.preheader ] + %w.2.ptr = getelementptr inbounds i8, ptr %work, i64 %w.2.idx86 + %rem159 = and i64 %num.285, %24 %arrayidx160 = getelementptr inbounds i8, ptr %digits.23.ph, i64 %rem159 - %19 = load i8, ptr %arrayidx160, align 1 - %w.2.add = add nsw i64 %w.2.idx122, -1 - store i8 %19, ptr %w.2.ptr, align 1 - %div162 = udiv i64 %num.2121, %base.018.ph - %cmp156.not = icmp ugt i64 %base.018.ph, %num.2121 + %26 = load i8, ptr %arrayidx160, align 1 + %w.2.add = add nsw i64 %w.2.idx86, -1 + store i8 %26, ptr %w.2.ptr, align 1 + %div162 = udiv i64 %num.285, %base.018.ph + %cmp156.not = icmp ugt i64 %base.018.ph, %num.285 br i1 %cmp156.not, label %sw.epilog, label %while.body158, !llvm.loop !9 sw.epilog.thread: ; preds = %while.body150, %if.else124 %w.1.idx.ph = phi i64 [ 324, %if.else124 ], [ %w.0.add, %while.body150 ] - %20 = trunc i64 %w.1.idx.ph to i32 - %conv164234 = sub i32 324, %20 - %sub165235 = sub nsw i32 %width.1, %conv164234 - %sub170236 = sub nsw i32 %spec.store.select2225, %conv164234 + %27 = trunc i64 %w.1.idx.ph to i32 + %conv164165 = sub i32 324, %27 + %sub165166 = sub nsw i32 %width.1, %conv164165 + %sub170167 = sub nsw i32 %spec.store.select2156, %conv164165 br label %if.end181 sw.epilog: ; preds = %while.body158, %while.cond155.preheader %w.1.idx = phi i64 [ 324, %while.cond155.preheader ], [ %w.2.add, %while.body158 ] - %21 = trunc i64 %w.1.idx to i32 - %conv164 = sub i32 324, %21 + %28 = trunc i64 %w.1.idx to i32 + %conv164 = sub i32 324, %28 %sub165 = sub nsw i32 %width.1, %conv164 %sub170 = sub nsw i32 %spec.store.select2, %conv164 %or.cond = and i1 %cmp17313.ph, %is_alt.07.ph @@ -3633,238 +3666,208 @@ if.end181.thread: ; preds = %sw.epilog br label %if.end198 if.end181: ; preds = %sw.epilog.thread, %sw.epilog - %sub170253 = phi i32 [ %sub170236, %sw.epilog.thread ], [ %sub170, %sw.epilog ] - %sub165252 = phi i32 [ %sub165235, %sw.epilog.thread ], [ %sub165, %sw.epilog ] - %22 = phi i32 [ %20, %sw.epilog.thread ], [ %21, %sw.epilog ] - %w.1.idx251 = phi i64 [ %w.1.idx.ph, %sw.epilog.thread ], [ %w.1.idx, %sw.epilog ] - %digits.24250 = phi ptr [ %digits.0177, %sw.epilog.thread ], [ %digits.23.ph, %sw.epilog ] - %is_alt.06248 = phi i1 [ %frombool, %sw.epilog.thread ], [ %is_alt.07.ph, %sw.epilog ] - %is_neg.09246 = phi i1 [ %is_neg.011.ph, %sw.epilog.thread ], [ false, %sw.epilog ] - %cmp20215244 = phi i1 [ false, %sw.epilog.thread ], [ %cmp20216.ph, %sw.epilog ] - %flags.219242 = phi i32 [ %flags.1, %sw.epilog.thread ], [ %flags.220.ph, %sw.epilog ] - %spec.store.select222240 = phi i32 [ %spec.store.select2225, %sw.epilog.thread ], [ %spec.store.select2, %sw.epilog ] - %cmp182 = icmp sgt i32 %sub170253, 0 + %sub170184 = phi i32 [ %sub170167, %sw.epilog.thread ], [ %sub170, %sw.epilog ] + %sub165183 = phi i32 [ %sub165166, %sw.epilog.thread ], [ %sub165, %sw.epilog ] + %29 = phi i32 [ %27, %sw.epilog.thread ], [ %28, %sw.epilog ] + %w.1.idx182 = phi i64 [ %w.1.idx.ph, %sw.epilog.thread ], [ %w.1.idx, %sw.epilog ] + %digits.24181 = phi ptr [ %digits.0119, %sw.epilog.thread ], [ %digits.23.ph, %sw.epilog ] + %is_alt.06179 = phi i1 [ %frombool, %sw.epilog.thread ], [ %is_alt.07.ph, %sw.epilog ] + %is_neg.09177 = phi i1 [ %is_neg.011.ph, %sw.epilog.thread ], [ false, %sw.epilog ] + %cmp20215175 = phi i1 [ false, %sw.epilog.thread ], [ %cmp20216.ph, %sw.epilog ] + %flags.219173 = phi i32 [ %flags.1, %sw.epilog.thread ], [ %flags.220.ph, %sw.epilog ] + %spec.store.select222171 = phi i32 [ %spec.store.select2156, %sw.epilog.thread ], [ %spec.store.select2, %sw.epilog ] + %cmp182 = icmp sgt i32 %sub170184, 0 br i1 %cmp182, label %if.then184, label %if.end198 if.then184: ; preds = %if.end181 - %sub185 = sub nsw i32 %sub165252, %sub170253 - %cmp192128 = icmp sgt i64 %w.1.idx251, -1 - br i1 %cmp192128, label %while.body195.preheader, label %if.end198 + %sub185 = sub nsw i32 %sub165183, %sub170184 + %cmp19292 = icmp sgt i64 %w.1.idx182, -1 + br i1 %cmp19292, label %while.body195.preheader, label %if.end198 while.body195.preheader: ; preds = %if.then184 - %23 = add i32 %spec.store.select222240, -325 - %24 = add i32 %23, %22 - %25 = zext i32 %24 to i64 - %umin = call i64 @llvm.umin.i64(i64 %w.1.idx251, i64 %25) - %26 = sub nsw i64 %w.1.idx251, %umin - %scevgep = getelementptr i8, ptr %work, i64 %26 - %27 = add nuw nsw i64 %umin, 1 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(1) %scevgep, i8 48, i64 %27, i1 false) - %28 = xor i64 %umin, -1 - %29 = add nsw i64 %w.1.idx251, %28 + %30 = add i32 %spec.store.select222171, -325 + %31 = add i32 %30, %29 + %32 = zext i32 %31 to i64 + %umin = call i64 @llvm.umin.i64(i64 %w.1.idx182, i64 %32) + %33 = sub nsw i64 %w.1.idx182, %umin + %scevgep = getelementptr i8, ptr %work, i64 %33 + %34 = add nuw nsw i64 %umin, 1 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(1) %scevgep, i8 48, i64 %34, i1 false) + %35 = xor i64 %umin, -1 + %36 = add nsw i64 %w.1.idx182, %35 br label %if.end198 if.end198: ; preds = %while.body195.preheader, %if.then184, %if.end181.thread, %if.end181 - %digits.24249 = phi ptr [ %digits.24250, %if.end181 ], [ %digits.23.ph, %if.end181.thread ], [ %digits.24250, %if.then184 ], [ %digits.24250, %while.body195.preheader ] - %is_alt.06247 = phi i1 [ %is_alt.06248, %if.end181 ], [ %is_alt.07.ph, %if.end181.thread ], [ %is_alt.06248, %if.then184 ], [ %is_alt.06248, %while.body195.preheader ] - %is_neg.09245 = phi i1 [ %is_neg.09246, %if.end181 ], [ false, %if.end181.thread ], [ %is_neg.09246, %if.then184 ], [ %is_neg.09246, %while.body195.preheader ] - %cmp20215243 = phi i1 [ %cmp20215244, %if.end181 ], [ %cmp20216.ph, %if.end181.thread ], [ %cmp20215244, %if.then184 ], [ %cmp20215244, %while.body195.preheader ] - %flags.219241 = phi i32 [ %flags.219242, %if.end181 ], [ %flags.220.ph, %if.end181.thread ], [ %flags.219242, %if.then184 ], [ %flags.219242, %while.body195.preheader ] - %width.6 = phi i32 [ %sub165252, %if.end181 ], [ %dec180, %if.end181.thread ], [ %sub185, %if.then184 ], [ %sub185, %while.body195.preheader ] - %w.4.idx = phi i64 [ %w.1.idx251, %if.end181 ], [ %w.1.add, %if.end181.thread ], [ %w.1.idx251, %if.then184 ], [ %29, %while.body195.preheader ] - %or.cond4 = and i1 %cmp20215243, %is_alt.06247 + %digits.24180 = phi ptr [ %digits.24181, %if.end181 ], [ %digits.23.ph, %if.end181.thread ], [ %digits.24181, %if.then184 ], [ %digits.24181, %while.body195.preheader ] + %is_alt.06178 = phi i1 [ %is_alt.06179, %if.end181 ], [ %is_alt.07.ph, %if.end181.thread ], [ %is_alt.06179, %if.then184 ], [ %is_alt.06179, %while.body195.preheader ] + %is_neg.09176 = phi i1 [ %is_neg.09177, %if.end181 ], [ false, %if.end181.thread ], [ %is_neg.09177, %if.then184 ], [ %is_neg.09177, %while.body195.preheader ] + %cmp20215174 = phi i1 [ %cmp20215175, %if.end181 ], [ %cmp20216.ph, %if.end181.thread ], [ %cmp20215175, %if.then184 ], [ %cmp20215175, %while.body195.preheader ] + %flags.219172 = phi i32 [ %flags.219173, %if.end181 ], [ %flags.220.ph, %if.end181.thread ], [ %flags.219173, %if.then184 ], [ %flags.219173, %while.body195.preheader ] + %width.6 = phi i32 [ %sub165183, %if.end181 ], [ %dec180, %if.end181.thread ], [ %sub185, %if.then184 ], [ %sub185, %while.body195.preheader ] + %w.4.idx = phi i64 [ %w.1.idx182, %if.end181 ], [ %w.1.add, %if.end181.thread ], [ %w.1.idx182, %if.then184 ], [ %36, %while.body195.preheader ] + %or.cond4 = and i1 %cmp20215174, %is_alt.06178 %sub205 = add nsw i32 %width.6, -2 %spec.select2 = select i1 %or.cond4, i32 %sub205, i32 %width.6 - %and209 = and i32 %flags.219241, 2 - %tobool210.not = icmp eq i32 %and209, 0 - %and212 = and i32 %flags.219241, 1 - %tobool213.not = icmp eq i32 %and212, 0 - %30 = and i32 %flags.219241, 3 - %31 = icmp ne i32 %30, 0 - %or.cond7.not = or i1 %31, %is_neg.09245 + %and209 = and i32 %flags.219172, 2 + %tobool210.not.not = icmp eq i32 %and209, 0 + %37 = and i32 %flags.219172, 3 + %38 = icmp ne i32 %37, 0 + %or.cond7.not = or i1 %38, %is_neg.09176 %dec215 = sext i1 %or.cond7.not to i32 %width.8 = add nsw i32 %spec.select2, %dec215 - %and217 = and i32 %flags.219241, 4 + %and217 = and i32 %flags.219172, 4 %tobool218.not.not = icmp ne i32 %and217, 0 - %32 = and i32 %flags.219241, 260 - %or.cond8 = icmp eq i32 %32, 0 + %39 = and i32 %flags.219172, 260 + %or.cond8 = icmp eq i32 %39, 0 br i1 %or.cond8, label %while.cond223.preheader, label %if.end237 while.cond223.preheader: ; preds = %if.end198 - %dec224132 = add nsw i32 %width.8, -1 - %cmp225133 = icmp sgt i32 %width.8, 0 - br i1 %cmp225133, label %do.body228.preheader, label %if.end237 - -do.body228.preheader: ; preds = %while.cond223.preheader - %33 = add i32 %spec.select2, %done.1 - %34 = add i32 %33, %dec215 - br label %do.body228 - -do.body228: ; preds = %do.body228.preheader, %if.then231 - %dec224135 = phi i32 [ %dec224, %if.then231 ], [ %dec224132, %do.body228.preheader ] - %done.8134 = phi i32 [ %inc232, %if.then231 ], [ %done.1, %do.body228.preheader ] - %call.i22 = call i32 @fputc(i32 noundef 32, ptr noundef %userp) - %cmp.i23.not = icmp eq i32 %call.i22, 32 - br i1 %cmp.i23.not, label %if.then231, label %return - -if.then231: ; preds = %do.body228 - %inc232 = add nsw i32 %done.8134, 1 - %dec224 = add nsw i32 %dec224135, -1 - %cmp225 = icmp sgt i32 %dec224135, 0 - br i1 %cmp225, label %do.body228, label %if.end237, !llvm.loop !10 - -if.end237: ; preds = %if.then231, %while.cond223.preheader, %if.end198 - %done.7 = phi i32 [ %done.1, %if.end198 ], [ %done.1, %while.cond223.preheader ], [ %34, %if.then231 ] - %width.9 = phi i32 [ %width.8, %if.end198 ], [ %dec224132, %while.cond223.preheader ], [ -1, %if.then231 ] - br i1 %is_neg.09245, label %do.body240, label %if.else248 - -do.body240: ; preds = %if.end237 - %call.i25 = call i32 @fputc(i32 noundef 45, ptr noundef %userp) - %cmp.i26.not = icmp eq i32 %call.i25, 45 - br i1 %cmp.i26.not, label %if.then243, label %return - -if.then243: ; preds = %do.body240 - %inc244 = add nsw i32 %done.7, 1 - br label %if.end274 - -if.else248: ; preds = %if.end237 - br i1 %tobool210.not, label %if.else260, label %do.body252 - -do.body252: ; preds = %if.else248 - %call.i28 = call i32 @fputc(i32 noundef 43, ptr noundef %userp) - %cmp.i29.not = icmp eq i32 %call.i28, 43 - br i1 %cmp.i29.not, label %if.then255, label %return - -if.then255: ; preds = %do.body252 - %inc256 = add nsw i32 %done.7, 1 - br label %if.end274 - -if.else260: ; preds = %if.else248 - br i1 %tobool213.not, label %if.end274, label %do.body264 - -do.body264: ; preds = %if.else260 - %call.i31 = call i32 @fputc(i32 noundef 32, ptr noundef %userp) - %cmp.i32.not = icmp eq i32 %call.i31, 32 - br i1 %cmp.i32.not, label %if.then267, label %return - -if.then267: ; preds = %do.body264 - %inc268 = add nsw i32 %done.7, 1 - br label %if.end274 + %dec22496 = add nsw i32 %width.8, -1 + %cmp22597 = icmp sgt i32 %width.8, 0 + br i1 %cmp22597, label %if.then231.preheader, label %if.end237 -if.end274: ; preds = %if.then267, %if.else260, %if.then255, %if.then243 - %done.9 = phi i32 [ %inc244, %if.then243 ], [ %inc256, %if.then255 ], [ %inc268, %if.then267 ], [ %done.7, %if.else260 ] - br i1 %or.cond4, label %do.body281, label %if.end310 +if.then231.preheader: ; preds = %while.cond223.preheader + %40 = add i32 %spec.select2, %done.1 + %.pre140 = load ptr, ptr %userp, align 8 + br label %if.then231 -do.body281: ; preds = %if.end274 - %call.i34 = call i32 @fputc(i32 noundef 48, ptr noundef %userp) - %cmp.i35.not = icmp eq i32 %call.i34, 48 - br i1 %cmp.i35.not, label %if.then284, label %return +if.then231: ; preds = %if.then231.preheader, %if.then231 + %41 = phi ptr [ %incdec.ptr.i15, %if.then231 ], [ %.pre140, %if.then231.preheader ] + %dec22499 = phi i32 [ %dec224, %if.then231 ], [ %dec22496, %if.then231.preheader ] + store i8 32, ptr %41, align 1 + %42 = load ptr, ptr %userp, align 8 + %incdec.ptr.i15 = getelementptr inbounds i8, ptr %42, i64 1 + store ptr %incdec.ptr.i15, ptr %userp, align 8 + %dec224 = add nsw i32 %dec22499, -1 + %cmp225.not = icmp eq i32 %dec22499, 0 + br i1 %cmp225.not, label %if.end237.loopexit, label %if.then231, !llvm.loop !10 -if.then284: ; preds = %do.body281 - %and289 = and i32 %flags.219241, 4096 - %tobool290.not = icmp eq i32 %and289, 0 - br i1 %tobool290.not, label %do.body301, label %do.body292 +if.end237.loopexit: ; preds = %if.then231 + %43 = add i32 %40, %dec215 + br label %if.end237 -do.body292: ; preds = %if.then284 - %call.i37 = call i32 @fputc(i32 noundef 88, ptr noundef %userp) - %cmp.i38.not = icmp eq i32 %call.i37, 88 - br i1 %cmp.i38.not, label %if.then295, label %return.loopexit49.split.loop.exit162 +if.end237: ; preds = %if.end237.loopexit, %while.cond223.preheader, %if.end198 + %done.7 = phi i32 [ %done.1, %if.end198 ], [ %done.1, %while.cond223.preheader ], [ %43, %if.end237.loopexit ] + %width.9 = phi i32 [ %width.8, %if.end198 ], [ %dec22496, %while.cond223.preheader ], [ -1, %if.end237.loopexit ] + %44 = and i32 %flags.219172, 3 + %45 = icmp ne i32 %44, 0 + %brmerge205 = or i1 %is_neg.09176, %45 + br i1 %brmerge205, label %if.end274.sink.split, label %if.end274 -if.then295: ; preds = %do.body292 - %inc296 = add nsw i32 %done.9, 2 - br label %if.end310 +if.end274.sink.split: ; preds = %if.end237 + %.mux = select i1 %tobool210.not.not, i8 32, i8 43 + %.mux.mux = select i1 %is_neg.09176, i8 45, i8 %.mux + %46 = load ptr, ptr %userp, align 8 + store i8 %.mux.mux, ptr %46, align 1 + %47 = load ptr, ptr %userp, align 8 + %incdec.ptr.i18 = getelementptr inbounds i8, ptr %47, i64 1 + store ptr %incdec.ptr.i18, ptr %userp, align 8 + %inc268 = add nsw i32 %done.7, 1 + br label %if.end274 -do.body301: ; preds = %if.then284 - %call.i40 = call i32 @fputc(i32 noundef 120, ptr noundef %userp) - %cmp.i41.not = icmp eq i32 %call.i40, 120 - br i1 %cmp.i41.not, label %if.then304, label %return.loopexit49.split.loop.exit164 +if.end274: ; preds = %if.end237, %if.end274.sink.split + %done.9 = phi i32 [ %inc268, %if.end274.sink.split ], [ %done.7, %if.end237 ] + br i1 %or.cond4, label %if.then284, label %if.end310 -if.then304: ; preds = %do.body301 +if.then284: ; preds = %if.end274 + %48 = load ptr, ptr %userp, align 8 + store i8 48, ptr %48, align 1 + %49 = load ptr, ptr %userp, align 8 + %incdec.ptr.i19 = getelementptr inbounds i8, ptr %49, i64 1 + store ptr %incdec.ptr.i19, ptr %userp, align 8 + %and289 = and i32 %flags.219172, 4096 + %tobool290.not = icmp eq i32 %and289, 0 %inc305 = add nsw i32 %done.9, 2 + %. = select i1 %tobool290.not, i8 120, i8 88 + store i8 %., ptr %incdec.ptr.i19, align 1 + %50 = load ptr, ptr %userp, align 8 + %incdec.ptr.i21 = getelementptr inbounds i8, ptr %50, i64 1 + store ptr %incdec.ptr.i21, ptr %userp, align 8 br label %if.end310 -if.end310: ; preds = %if.then304, %if.then295, %if.end274 - %done.10 = phi i32 [ %inc296, %if.then295 ], [ %inc305, %if.then304 ], [ %done.9, %if.end274 ] - %or.cond9.not = icmp eq i32 %32, 256 +if.end310: ; preds = %if.then284, %if.end274 + %done.10 = phi i32 [ %done.9, %if.end274 ], [ %inc305, %if.then284 ] + %or.cond9.not = icmp eq i32 %39, 256 br i1 %or.cond9.not, label %while.cond317.preheader, label %if.end331 while.cond317.preheader: ; preds = %if.end310 - %dec318138 = add nsw i32 %width.9, -1 - %cmp319139 = icmp sgt i32 %width.9, 0 - br i1 %cmp319139, label %do.body322.preheader, label %if.end331 - -do.body322.preheader: ; preds = %while.cond317.preheader - %35 = add i32 %done.10, %width.9 - br label %do.body322 + %dec318102 = add nsw i32 %width.9, -1 + %cmp319103 = icmp sgt i32 %width.9, 0 + br i1 %cmp319103, label %if.then325.preheader, label %if.end331 -do.body322: ; preds = %do.body322.preheader, %if.then325 - %dec318141 = phi i32 [ %dec318, %if.then325 ], [ %dec318138, %do.body322.preheader ] - %done.12140 = phi i32 [ %inc326, %if.then325 ], [ %done.10, %do.body322.preheader ] - %call.i43 = call i32 @fputc(i32 noundef 48, ptr noundef %userp) - %cmp.i44.not = icmp eq i32 %call.i43, 48 - br i1 %cmp.i44.not, label %if.then325, label %return +if.then325.preheader: ; preds = %while.cond317.preheader + %.pre141 = load ptr, ptr %userp, align 8 + br label %if.then325 -if.then325: ; preds = %do.body322 - %inc326 = add nsw i32 %done.12140, 1 - %dec318 = add nsw i32 %dec318141, -1 - %cmp319 = icmp sgt i32 %dec318141, 0 - br i1 %cmp319, label %do.body322, label %if.end331, !llvm.loop !11 +if.then325: ; preds = %if.then325.preheader, %if.then325 + %51 = phi ptr [ %incdec.ptr.i22, %if.then325 ], [ %.pre141, %if.then325.preheader ] + %dec318105 = phi i32 [ %dec318, %if.then325 ], [ %dec318102, %if.then325.preheader ] + store i8 48, ptr %51, align 1 + %52 = load ptr, ptr %userp, align 8 + %incdec.ptr.i22 = getelementptr inbounds i8, ptr %52, i64 1 + store ptr %incdec.ptr.i22, ptr %userp, align 8 + %dec318 = add nsw i32 %dec318105, -1 + %cmp319.not = icmp eq i32 %dec318105, 0 + br i1 %cmp319.not, label %if.end331.loopexit, label %if.then325, !llvm.loop !11 -if.end331: ; preds = %if.then325, %while.cond317.preheader, %if.end310 - %done.11 = phi i32 [ %done.10, %if.end310 ], [ %done.10, %while.cond317.preheader ], [ %35, %if.then325 ] - %width.11 = phi i32 [ %width.9, %if.end310 ], [ %dec318138, %while.cond317.preheader ], [ -1, %if.then325 ] - %cmp334.not145 = icmp sgt i64 %w.4.idx, 323 - br i1 %cmp334.not145, label %while.end345, label %do.body337.preheader +if.end331.loopexit: ; preds = %if.then325 + %53 = add i32 %done.10, %width.9 + br label %if.end331 -do.body337.preheader: ; preds = %if.end331 - %36 = add i32 %done.11, 324 - %37 = trunc i64 %w.4.idx to i32 - %38 = sub i32 %36, %37 - br label %do.body337 +if.end331: ; preds = %if.end331.loopexit, %while.cond317.preheader, %if.end310 + %done.11 = phi i32 [ %done.10, %if.end310 ], [ %done.10, %while.cond317.preheader ], [ %53, %if.end331.loopexit ] + %width.11 = phi i32 [ %width.9, %if.end310 ], [ %dec318102, %while.cond317.preheader ], [ -1, %if.end331.loopexit ] + %cmp334.not108 = icmp sgt i64 %w.4.idx, 323 + br i1 %cmp334.not108, label %while.end345, label %if.then340.preheader -do.body337: ; preds = %do.body337.preheader, %if.then340 - %w.6.add147.in = phi i64 [ %w.6.add147, %if.then340 ], [ %w.4.idx, %do.body337.preheader ] - %done.13146 = phi i32 [ %inc341, %if.then340 ], [ %done.11, %do.body337.preheader ] - %w.6.add147 = add nsw i64 %w.6.add147.in, 1 - %incdec.ptr333.ptr = getelementptr inbounds i8, ptr %work, i64 %w.6.add147 - %39 = load i8, ptr %incdec.ptr333.ptr, align 1 - %conv.i46 = zext i8 %39 to i32 - %call.i47 = call i32 @fputc(i32 noundef %conv.i46, ptr noundef %userp) - %cmp.i48.not = icmp eq i32 %call.i47, %conv.i46 - br i1 %cmp.i48.not, label %if.then340, label %return +if.then340.preheader: ; preds = %if.end331 + %54 = trunc i64 %w.4.idx to i32 + %.pre142 = load ptr, ptr %userp, align 8 + br label %if.then340 -if.then340: ; preds = %do.body337 - %inc341 = add nsw i32 %done.13146, 1 - %exitcond221 = icmp eq i64 %w.6.add147, 324 - br i1 %exitcond221, label %while.end345, label %do.body337, !llvm.loop !12 +if.then340: ; preds = %if.then340.preheader, %if.then340 + %55 = phi ptr [ %incdec.ptr.i23, %if.then340 ], [ %.pre142, %if.then340.preheader ] + %w.6.idx110 = phi i64 [ %w.6.add, %if.then340 ], [ %w.4.idx, %if.then340.preheader ] + %w.6.add = add nsw i64 %w.6.idx110, 1 + %incdec.ptr333.ptr = getelementptr inbounds i8, ptr %work, i64 %w.6.add + %56 = load i8, ptr %incdec.ptr333.ptr, align 1 + store i8 %56, ptr %55, align 1 + %57 = load ptr, ptr %userp, align 8 + %incdec.ptr.i23 = getelementptr inbounds i8, ptr %57, i64 1 + store ptr %incdec.ptr.i23, ptr %userp, align 8 + %exitcond131 = icmp eq i64 %w.6.add, 324 + br i1 %exitcond131, label %while.end345.loopexit, label %if.then340, !llvm.loop !12 -while.end345: ; preds = %if.then340, %if.end331 - %done.13.lcssa = phi i32 [ %done.11, %if.end331 ], [ %38, %if.then340 ] - %cmp351150 = icmp sgt i32 %width.11, 0 - %or.cond181 = select i1 %tobool218.not.not, i1 %cmp351150, i1 false - br i1 %or.cond181, label %do.body354.preheader, label %for.inc695 +while.end345.loopexit: ; preds = %if.then340 + %58 = add i32 %done.11, 324 + %59 = sub i32 %58, %54 + br label %while.end345 -do.body354.preheader: ; preds = %while.end345 - %40 = add i32 %width.11, %done.13.lcssa - br label %do.body354 +while.end345: ; preds = %while.end345.loopexit, %if.end331 + %done.13.lcssa = phi i32 [ %done.11, %if.end331 ], [ %59, %while.end345.loopexit ] + %cmp351112 = icmp sgt i32 %width.11, 0 + %or.cond123 = select i1 %tobool218.not.not, i1 %cmp351112, i1 false + br i1 %or.cond123, label %if.then357.preheader, label %for.inc695 -do.body354: ; preds = %do.body354.preheader, %if.then357 - %dec350152.in = phi i32 [ %dec350152, %if.then357 ], [ %width.11, %do.body354.preheader ] - %done.14151 = phi i32 [ %inc358, %if.then357 ], [ %done.13.lcssa, %do.body354.preheader ] - %call.i50 = call i32 @fputc(i32 noundef 32, ptr noundef %userp) - %cmp.i51.not = icmp eq i32 %call.i50, 32 - br i1 %cmp.i51.not, label %if.then357, label %return +if.then357.preheader: ; preds = %while.end345 + %.pre143 = load ptr, ptr %userp, align 8 + br label %if.then357 -if.then357: ; preds = %do.body354 - %dec350152 = add nsw i32 %dec350152.in, -1 - %inc358 = add nsw i32 %done.14151, 1 - %cmp351 = icmp sgt i32 %dec350152.in, 1 - br i1 %cmp351, label %do.body354, label %for.inc695, !llvm.loop !13 +if.then357: ; preds = %if.then357.preheader, %if.then357 + %60 = phi ptr [ %incdec.ptr.i24, %if.then357 ], [ %.pre143, %if.then357.preheader ] + %width.13114 = phi i32 [ %dec350, %if.then357 ], [ %width.11, %if.then357.preheader ] + %dec350 = add nsw i32 %width.13114, -1 + store i8 32, ptr %60, align 1 + %61 = load ptr, ptr %userp, align 8 + %incdec.ptr.i24 = getelementptr inbounds i8, ptr %61, i64 1 + store ptr %incdec.ptr.i24, ptr %userp, align 8 + %cmp351 = icmp ugt i32 %width.13114, 1 + br i1 %cmp351, label %if.then357, label %for.inc695.loopexit, !llvm.loop !13 sw.bb364: ; preds = %if.end58 %val366 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 - %41 = load ptr, ptr %val366, align 8 - %tobool367.not = icmp eq ptr %41, null + %62 = load ptr, ptr %val366, align 8 + %tobool367.not = icmp eq ptr %62, null %cmp369 = icmp eq i32 %prec.0, -1 br i1 %tobool367.not, label %if.then368, label %if.else378 @@ -3875,7 +3878,7 @@ if.then368: ; preds = %sw.bb364 if.end392.thread: ; preds = %if.then368 %and375 = and i32 %flags.0, -9 - %sub397260 = add nsw i32 %width.1, -5 + %sub397191 = add nsw i32 %width.1, -5 br label %if.end409 if.else378: ; preds = %sw.bb364 @@ -3886,220 +3889,218 @@ if.then381: ; preds = %if.else378 br label %if.end392 if.else383: ; preds = %if.else378 - %42 = load i8, ptr %41, align 1 - %cmp385 = icmp eq i8 %42, 0 + %63 = load i8, ptr %62, align 1 + %cmp385 = icmp eq i8 %63, 0 br i1 %cmp385, label %if.end392, label %if.else388 if.else388: ; preds = %if.else383 - %call389 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %41) #11 + %call389 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %62) #11 br label %if.end392 if.end392: ; preds = %if.else383, %if.then368, %if.else388, %if.then381 - %str365.0 = phi ptr [ %41, %if.else383 ], [ @.str, %if.then368 ], [ %41, %if.else388 ], [ %41, %if.then381 ] + %str365.0 = phi ptr [ %62, %if.else383 ], [ @.str, %if.then368 ], [ %62, %if.else388 ], [ %62, %if.then381 ] %len.0 = phi i64 [ 0, %if.else383 ], [ 0, %if.then368 ], [ %call389, %if.else388 ], [ %conv382, %if.then381 ] %cond3961 = call i64 @llvm.umin.i64(i64 %len.0, i64 2147483647) %cond396 = trunc nuw nsw i64 %cond3961 to i32 %sub397 = sub nsw i32 %width.1, %cond396 %tobool399.not = icmp eq i32 %and59, 0 - br i1 %tobool399.not, label %if.end409, label %do.body401 - -do.body401: ; preds = %if.end392 - %call.i53 = call i32 @fputc(i32 noundef 34, ptr noundef %userp) - %cmp.i54.not = icmp eq i32 %call.i53, 34 - br i1 %cmp.i54.not, label %if.then404, label %return + br i1 %tobool399.not, label %if.end409, label %if.then404 -if.then404: ; preds = %do.body401 +if.then404: ; preds = %if.end392 + %64 = load ptr, ptr %userp, align 8 + store i8 34, ptr %64, align 1 + %65 = load ptr, ptr %userp, align 8 + %incdec.ptr.i25 = getelementptr inbounds i8, ptr %65, i64 1 + store ptr %incdec.ptr.i25, ptr %userp, align 8 %inc405 = add nsw i32 %done.1, 1 br label %if.end409 if.end409: ; preds = %if.end392.thread, %if.then404, %if.end392 - %tobool399.not267 = phi i1 [ false, %if.then404 ], [ true, %if.end392 ], [ true, %if.end392.thread ] - %sub397266 = phi i32 [ %sub397, %if.then404 ], [ %sub397, %if.end392 ], [ %sub397260, %if.end392.thread ] - %cond396265 = phi i32 [ %cond396, %if.then404 ], [ %cond396, %if.end392 ], [ 5, %if.end392.thread ] - %len.0264 = phi i64 [ %len.0, %if.then404 ], [ %len.0, %if.end392 ], [ 5, %if.end392.thread ] - %str365.0263 = phi ptr [ %str365.0, %if.then404 ], [ %str365.0, %if.end392 ], [ @formatf.nilstr, %if.end392.thread ] - %flags.3262 = phi i32 [ %flags.0, %if.then404 ], [ %flags.0, %if.end392 ], [ %and375, %if.end392.thread ] + %tobool399.not198 = phi i1 [ false, %if.then404 ], [ true, %if.end392 ], [ true, %if.end392.thread ] + %sub397197 = phi i32 [ %sub397, %if.then404 ], [ %sub397, %if.end392 ], [ %sub397191, %if.end392.thread ] + %cond396196 = phi i32 [ %cond396, %if.then404 ], [ %cond396, %if.end392 ], [ 5, %if.end392.thread ] + %len.0195 = phi i64 [ %len.0, %if.then404 ], [ %len.0, %if.end392 ], [ 5, %if.end392.thread ] + %str365.0194 = phi ptr [ %str365.0, %if.then404 ], [ %str365.0, %if.end392 ], [ @formatf.nilstr, %if.end392.thread ] + %flags.3193 = phi i32 [ %flags.0, %if.then404 ], [ %flags.0, %if.end392 ], [ %and375, %if.end392.thread ] %done.15 = phi i32 [ %inc405, %if.then404 ], [ %done.1, %if.end392 ], [ %done.1, %if.end392.thread ] - %and410 = and i32 %flags.3262, 4 + %and410 = and i32 %flags.3193, 4 %tobool411.not = icmp ne i32 %and410, 0 br i1 %tobool411.not, label %if.end427, label %while.cond413.preheader while.cond413.preheader: ; preds = %if.end409 - %dec41492 = add nsw i32 %sub397266, -1 - %cmp41593 = icmp sgt i32 %sub397266, 0 - br i1 %cmp41593, label %do.body418.preheader, label %if.end427 + %dec41458 = add nsw i32 %sub397197, -1 + %cmp41559 = icmp sgt i32 %sub397197, 0 + br i1 %cmp41559, label %if.then421.preheader, label %if.end427 -do.body418.preheader: ; preds = %while.cond413.preheader - %43 = add i32 %width.1, %done.15 - %44 = sub i32 %43, %cond396265 - br label %do.body418 +if.then421.preheader: ; preds = %while.cond413.preheader + %66 = add i32 %width.1, %done.15 + %.pre135 = load ptr, ptr %userp, align 8 + br label %if.then421 -do.body418: ; preds = %do.body418.preheader, %if.then421 - %dec41495 = phi i32 [ %dec414, %if.then421 ], [ %dec41492, %do.body418.preheader ] - %done.1794 = phi i32 [ %inc422, %if.then421 ], [ %done.15, %do.body418.preheader ] - %call.i56 = call i32 @fputc(i32 noundef 32, ptr noundef %userp) - %cmp.i57.not = icmp eq i32 %call.i56, 32 - br i1 %cmp.i57.not, label %if.then421, label %return +if.then421: ; preds = %if.then421.preheader, %if.then421 + %67 = phi ptr [ %incdec.ptr.i26, %if.then421 ], [ %.pre135, %if.then421.preheader ] + %dec41461 = phi i32 [ %dec414, %if.then421 ], [ %dec41458, %if.then421.preheader ] + store i8 32, ptr %67, align 1 + %68 = load ptr, ptr %userp, align 8 + %incdec.ptr.i26 = getelementptr inbounds i8, ptr %68, i64 1 + store ptr %incdec.ptr.i26, ptr %userp, align 8 + %dec414 = add nsw i32 %dec41461, -1 + %cmp415.not = icmp eq i32 %dec41461, 0 + br i1 %cmp415.not, label %if.end427.loopexit, label %if.then421, !llvm.loop !14 -if.then421: ; preds = %do.body418 - %inc422 = add nsw i32 %done.1794, 1 - %dec414 = add nsw i32 %dec41495, -1 - %cmp415 = icmp sgt i32 %dec41495, 0 - br i1 %cmp415, label %do.body418, label %if.end427, !llvm.loop !14 +if.end427.loopexit: ; preds = %if.then421 + %69 = sub i32 %66, %cond396196 + br label %if.end427 -if.end427: ; preds = %if.then421, %while.cond413.preheader, %if.end409 - %done.16 = phi i32 [ %done.15, %if.end409 ], [ %done.15, %while.cond413.preheader ], [ %44, %if.then421 ] - %width.14 = phi i32 [ %sub397266, %if.end409 ], [ %dec41492, %while.cond413.preheader ], [ -1, %if.then421 ] - %tobool429.not98 = icmp eq i64 %len.0264, 0 - br i1 %tobool429.not98, label %for.end446, label %land.rhs430.preheader +if.end427: ; preds = %if.end427.loopexit, %while.cond413.preheader, %if.end409 + %done.16 = phi i32 [ %done.15, %if.end409 ], [ %done.15, %while.cond413.preheader ], [ %69, %if.end427.loopexit ] + %width.14 = phi i32 [ %sub397197, %if.end409 ], [ %dec41458, %while.cond413.preheader ], [ -1, %if.end427.loopexit ] + %tobool429.not64 = icmp eq i64 %len.0195, 0 + br i1 %tobool429.not64, label %for.end446, label %land.rhs430.preheader land.rhs430.preheader: ; preds = %if.end427 - %45 = trunc i64 %len.0264 to i32 - %46 = add i32 %done.16, %45 + %70 = trunc i64 %len.0195 to i32 + %71 = add i32 %done.16, %70 br label %land.rhs430 land.rhs430: ; preds = %land.rhs430.preheader, %if.then439 - %len.1101 = phi i64 [ %dec445, %if.then439 ], [ %len.0264, %land.rhs430.preheader ] - %str365.1100 = phi ptr [ %incdec.ptr436, %if.then439 ], [ %str365.0263, %land.rhs430.preheader ] - %done.1899 = phi i32 [ %inc440, %if.then439 ], [ %done.16, %land.rhs430.preheader ] - %47 = load i8, ptr %str365.1100, align 1 - %tobool432.not = icmp eq i8 %47, 0 - br i1 %tobool432.not, label %for.end446, label %do.body435 - -do.body435: ; preds = %land.rhs430 - %conv.i59 = zext i8 %47 to i32 - %call.i60 = call i32 @fputc(i32 noundef %conv.i59, ptr noundef %userp) - %cmp.i61.not = icmp eq i32 %call.i60, %conv.i59 - br i1 %cmp.i61.not, label %if.then439, label %return + %len.167 = phi i64 [ %dec445, %if.then439 ], [ %len.0195, %land.rhs430.preheader ] + %str365.166 = phi ptr [ %incdec.ptr436, %if.then439 ], [ %str365.0194, %land.rhs430.preheader ] + %done.1865 = phi i32 [ %inc440, %if.then439 ], [ %done.16, %land.rhs430.preheader ] + %72 = load i8, ptr %str365.166, align 1 + %tobool432.not = icmp eq i8 %72, 0 + br i1 %tobool432.not, label %for.end446, label %if.then439 -if.then439: ; preds = %do.body435 - %incdec.ptr436 = getelementptr inbounds i8, ptr %str365.1100, i64 1 - %inc440 = add nsw i32 %done.1899, 1 - %dec445 = add i64 %len.1101, -1 +if.then439: ; preds = %land.rhs430 + %73 = load ptr, ptr %userp, align 8 + store i8 %72, ptr %73, align 1 + %74 = load ptr, ptr %userp, align 8 + %incdec.ptr.i27 = getelementptr inbounds i8, ptr %74, i64 1 + store ptr %incdec.ptr.i27, ptr %userp, align 8 + %incdec.ptr436 = getelementptr inbounds i8, ptr %str365.166, i64 1 + %inc440 = add nsw i32 %done.1865, 1 + %dec445 = add i64 %len.167, -1 %tobool429.not = icmp eq i64 %dec445, 0 br i1 %tobool429.not, label %for.end446, label %land.rhs430, !llvm.loop !15 for.end446: ; preds = %if.then439, %land.rhs430, %if.end427 - %done.18.lcssa = phi i32 [ %done.16, %if.end427 ], [ %done.1899, %land.rhs430 ], [ %46, %if.then439 ] - %cmp452105 = icmp sgt i32 %width.14, 0 - %or.cond182 = select i1 %tobool411.not, i1 %cmp452105, i1 false - br i1 %or.cond182, label %do.body455.preheader, label %if.end464 - -do.body455.preheader: ; preds = %for.end446 - %48 = add i32 %width.14, %done.18.lcssa - br label %do.body455 + %done.18.lcssa = phi i32 [ %done.16, %if.end427 ], [ %done.1865, %land.rhs430 ], [ %71, %if.then439 ] + %cmp45270 = icmp sgt i32 %width.14, 0 + %or.cond124 = select i1 %tobool411.not, i1 %cmp45270, i1 false + br i1 %or.cond124, label %if.then458.preheader, label %if.end464 -do.body455: ; preds = %do.body455.preheader, %if.then458 - %dec451107.in = phi i32 [ %dec451107, %if.then458 ], [ %width.14, %do.body455.preheader ] - %done.20106 = phi i32 [ %inc459, %if.then458 ], [ %done.18.lcssa, %do.body455.preheader ] - %call.i63 = call i32 @fputc(i32 noundef 32, ptr noundef %userp) - %cmp.i64.not = icmp eq i32 %call.i63, 32 - br i1 %cmp.i64.not, label %if.then458, label %return +if.then458.preheader: ; preds = %for.end446 + %.pre136 = load ptr, ptr %userp, align 8 + br label %if.then458 -if.then458: ; preds = %do.body455 - %dec451107 = add nsw i32 %dec451107.in, -1 - %inc459 = add nsw i32 %done.20106, 1 - %cmp452 = icmp sgt i32 %dec451107.in, 1 - br i1 %cmp452, label %do.body455, label %if.end464, !llvm.loop !16 +if.then458: ; preds = %if.then458.preheader, %if.then458 + %75 = phi ptr [ %incdec.ptr.i28, %if.then458 ], [ %.pre136, %if.then458.preheader ] + %width.1672 = phi i32 [ %dec451, %if.then458 ], [ %width.14, %if.then458.preheader ] + %dec451 = add nsw i32 %width.1672, -1 + store i8 32, ptr %75, align 1 + %76 = load ptr, ptr %userp, align 8 + %incdec.ptr.i28 = getelementptr inbounds i8, ptr %76, i64 1 + store ptr %incdec.ptr.i28, ptr %userp, align 8 + %cmp452 = icmp ugt i32 %width.1672, 1 + br i1 %cmp452, label %if.then458, label %if.end464.loopexit, !llvm.loop !16 -if.end464: ; preds = %if.then458, %for.end446 - %done.19 = phi i32 [ %done.18.lcssa, %for.end446 ], [ %48, %if.then458 ] - br i1 %tobool399.not267, label %for.inc695, label %do.body468 +if.end464.loopexit: ; preds = %if.then458 + %77 = add i32 %width.14, %done.18.lcssa + br label %if.end464 -do.body468: ; preds = %if.end464 - %call.i66 = call i32 @fputc(i32 noundef 34, ptr noundef %userp) - %cmp.i67.not = icmp eq i32 %call.i66, 34 - br i1 %cmp.i67.not, label %if.then471, label %return +if.end464: ; preds = %if.end464.loopexit, %for.end446 + %done.19 = phi i32 [ %done.18.lcssa, %for.end446 ], [ %77, %if.end464.loopexit ] + br i1 %tobool399.not198, label %for.inc695, label %if.then471 -if.then471: ; preds = %do.body468 +if.then471: ; preds = %if.end464 + %78 = load ptr, ptr %userp, align 8 + store i8 34, ptr %78, align 1 + %79 = load ptr, ptr %userp, align 8 + %incdec.ptr.i29 = getelementptr inbounds i8, ptr %79, i64 1 + store ptr %incdec.ptr.i29, ptr %userp, align 8 %inc472 = add nsw i32 %done.19, 1 br label %for.inc695 sw.bb477: ; preds = %if.end58 %val478 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 - %49 = load ptr, ptr %val478, align 8 - %tobool479.not = icmp eq ptr %49, null + %80 = load ptr, ptr %val478, align 8 + %tobool479.not = icmp eq ptr %80, null br i1 %tobool479.not, label %if.else485, label %if.then480 if.then480: ; preds = %sw.bb477 %and481 = and i32 %flags.0, 4096 %tobool482.not = icmp eq i32 %and481, 0 %cond483 = select i1 %tobool482.not, ptr @lower_digits, ptr @upper_digits - %50 = ptrtoint ptr %49 to i64 + %81 = ptrtoint ptr %80 to i64 br label %while.cond155.preheader if.else485: ; preds = %sw.bb477 %sub486 = add i32 %width.1, -5 %and487 = and i32 %flags.0, 4 %tobool488.not = icmp eq i32 %and487, 0 - br i1 %tobool488.not, label %if.end504, label %while.cond490.preheader - -while.cond490.preheader: ; preds = %if.else485 - %dec49179 = add nsw i32 %width.1, -6 - %cmp49280 = icmp sgt i32 %width.1, 5 - br i1 %cmp49280, label %do.body495.preheader, label %if.end504 + br i1 %tobool488.not, label %if.else485.if.end504_crit_edge, label %while.cond490.preheader -do.body495.preheader: ; preds = %while.cond490.preheader - %51 = add i32 %sub486, %done.1 - br label %do.body495 +if.else485.if.end504_crit_edge: ; preds = %if.else485 + %.pre134.pre = load ptr, ptr %userp, align 8 + br label %if.end504 -do.body495: ; preds = %do.body495.preheader, %if.then498 - %dec49182 = phi i32 [ %dec491, %if.then498 ], [ %dec49179, %do.body495.preheader ] - %done.2281 = phi i32 [ %inc499, %if.then498 ], [ %done.1, %do.body495.preheader ] - %call.i69 = call i32 @fputc(i32 noundef 32, ptr noundef %userp) - %cmp.i70.not = icmp eq i32 %call.i69, 32 - br i1 %cmp.i70.not, label %if.then498, label %return +while.cond490.preheader: ; preds = %if.else485 + %dec49146 = add nsw i32 %width.1, -6 + %cmp49247 = icmp sgt i32 %width.1, 5 + %.pre134.pre144 = load ptr, ptr %userp, align 8 + br i1 %cmp49247, label %if.then498, label %if.end504 -if.then498: ; preds = %do.body495 - %inc499 = add nsw i32 %done.2281, 1 - %dec491 = add nsw i32 %dec49182, -1 - %cmp492 = icmp sgt i32 %dec49182, 0 - br i1 %cmp492, label %do.body495, label %if.end504, !llvm.loop !17 +if.then498: ; preds = %while.cond490.preheader, %if.then498 + %82 = phi ptr [ %incdec.ptr.i30, %if.then498 ], [ %.pre134.pre144, %while.cond490.preheader ] + %dec49149 = phi i32 [ %dec491, %if.then498 ], [ %dec49146, %while.cond490.preheader ] + store i8 32, ptr %82, align 1 + %83 = load ptr, ptr %userp, align 8 + %incdec.ptr.i30 = getelementptr inbounds i8, ptr %83, i64 1 + store ptr %incdec.ptr.i30, ptr %userp, align 8 + %dec491 = add nsw i32 %dec49149, -1 + %cmp492.not = icmp eq i32 %dec49149, 0 + br i1 %cmp492.not, label %if.end504.loopexit, label %if.then498, !llvm.loop !17 -if.end504: ; preds = %if.then498, %while.cond490.preheader, %if.else485 - %done.21 = phi i32 [ %done.1, %if.else485 ], [ %done.1, %while.cond490.preheader ], [ %51, %if.then498 ] - %width.17 = phi i32 [ %sub486, %if.else485 ], [ %dec49179, %while.cond490.preheader ], [ -1, %if.then498 ] - %52 = add i32 %done.21, 5 - br label %do.body510 +if.end504.loopexit: ; preds = %if.then498 + %84 = add i32 %sub486, %done.1 + br label %if.end504 -do.body510: ; preds = %if.end504, %if.then513 - %53 = phi i8 [ 40, %if.end504 ], [ %54, %if.then513 ] - %point.086.idx = phi i64 [ 0, %if.end504 ], [ %point.086.add, %if.then513 ] - %done.2385 = phi i32 [ %done.21, %if.end504 ], [ %inc514, %if.then513 ] - %conv.i72 = zext i8 %53 to i32 - %call.i73 = call i32 @fputc(i32 noundef %conv.i72, ptr noundef %userp) - %cmp.i74.not = icmp eq i32 %call.i73, %conv.i72 - br i1 %cmp.i74.not, label %if.then513, label %return +if.end504: ; preds = %if.else485.if.end504_crit_edge, %if.end504.loopexit, %while.cond490.preheader + %.pre134 = phi ptr [ %.pre134.pre, %if.else485.if.end504_crit_edge ], [ %.pre134.pre144, %while.cond490.preheader ], [ %incdec.ptr.i30, %if.end504.loopexit ] + %done.21 = phi i32 [ %done.1, %if.else485.if.end504_crit_edge ], [ %done.1, %while.cond490.preheader ], [ %84, %if.end504.loopexit ] + %width.17 = phi i32 [ %sub486, %if.else485.if.end504_crit_edge ], [ %dec49146, %while.cond490.preheader ], [ -1, %if.end504.loopexit ] + br label %if.then513 -if.then513: ; preds = %do.body510 - %inc514 = add nsw i32 %done.2385, 1 - %point.086.add = add nuw nsw i64 %point.086.idx, 1 - %incdec.ptr519.ptr = getelementptr inbounds i8, ptr @formatf.nilstr, i64 %point.086.add - %54 = load i8, ptr %incdec.ptr519.ptr, align 1 - %exitcond = icmp eq i64 %point.086.add, 5 - br i1 %exitcond, label %for.end520, label %do.body510, !llvm.loop !18 +if.then513: ; preds = %if.end504, %if.then513 + %85 = phi ptr [ %.pre134, %if.end504 ], [ %incdec.ptr.i31, %if.then513 ] + %86 = phi i8 [ 40, %if.end504 ], [ %88, %if.then513 ] + %point.053.idx = phi i64 [ 0, %if.end504 ], [ %point.053.add, %if.then513 ] + store i8 %86, ptr %85, align 1 + %87 = load ptr, ptr %userp, align 8 + %incdec.ptr.i31 = getelementptr inbounds i8, ptr %87, i64 1 + store ptr %incdec.ptr.i31, ptr %userp, align 8 + %point.053.add = add nuw nsw i64 %point.053.idx, 1 + %incdec.ptr519.ptr = getelementptr inbounds i8, ptr @formatf.nilstr, i64 %point.053.add + %88 = load i8, ptr %incdec.ptr519.ptr, align 1 + %exitcond = icmp eq i64 %point.053.add, 5 + br i1 %exitcond, label %for.end520, label %if.then513, !llvm.loop !18 for.end520: ; preds = %if.then513 - %cmp52688 = icmp sgt i32 %width.17, 0 - %or.cond183 = select i1 %tobool488.not, i1 %cmp52688, i1 false - br i1 %or.cond183, label %do.body529.preheader, label %for.inc695 - -do.body529.preheader: ; preds = %for.end520 - %55 = add i32 %52, %width.17 - br label %do.body529 - -do.body529: ; preds = %do.body529.preheader, %if.then532 - %dec52590.in = phi i32 [ %dec52590, %if.then532 ], [ %width.17, %do.body529.preheader ] - %done.2489 = phi i32 [ %inc533, %if.then532 ], [ %52, %do.body529.preheader ] - %call.i76 = call i32 @fputc(i32 noundef 32, ptr noundef %userp) - %cmp.i77.not = icmp eq i32 %call.i76, 32 - br i1 %cmp.i77.not, label %if.then532, label %return + %89 = add i32 %done.21, 5 + %cmp52654 = icmp sgt i32 %width.17, 0 + %or.cond125 = select i1 %tobool488.not, i1 %cmp52654, i1 false + br i1 %or.cond125, label %if.then532, label %for.inc695 -if.then532: ; preds = %do.body529 - %dec52590 = add nsw i32 %dec52590.in, -1 - %inc533 = add nsw i32 %done.2489, 1 - %cmp526 = icmp sgt i32 %dec52590.in, 1 - br i1 %cmp526, label %do.body529, label %for.inc695, !llvm.loop !19 +if.then532: ; preds = %for.end520, %if.then532 + %90 = phi ptr [ %incdec.ptr.i32, %if.then532 ], [ %incdec.ptr.i31, %for.end520 ] + %width.1956 = phi i32 [ %dec525, %if.then532 ], [ %width.17, %for.end520 ] + %dec525 = add nsw i32 %width.1956, -1 + store i8 32, ptr %90, align 1 + %91 = load ptr, ptr %userp, align 8 + %incdec.ptr.i32 = getelementptr inbounds i8, ptr %91, i64 1 + store ptr %incdec.ptr.i32, ptr %userp, align 8 + %cmp526 = icmp ugt i32 %width.1956, 1 + br i1 %cmp526, label %if.then532, label %for.inc695.loopexit128, !llvm.loop !19 sw.bb540: ; preds = %if.end58 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %formatbuf, ptr noundef nonnull align 16 dereferenceable(32) @__const.formatf.formatbuf, i64 32, i1 false) @@ -4107,18 +4108,18 @@ sw.bb540: ; preds = %if.end58 %sub544 = sub i64 32, %call543 %and546 = and i32 %flags.0, 8192 %tobool547.not = icmp eq i32 %and546, 0 - %spec.select303 = select i1 %tobool547.not, i32 %width.1, i32 %7 + %spec.select203 = select i1 %tobool547.not, i32 %width.1, i32 %9 %and551 = and i32 %flags.0, 32768 %tobool552.not = icmp eq i32 %and551, 0 br i1 %tobool552.not, label %if.end555, label %if.then553 if.then553: ; preds = %sw.bb540 %precision554 = getelementptr inbounds i8, ptr %arrayidx2, i64 4 - %56 = load i32, ptr %precision554, align 4 + %92 = load i32, ptr %precision554, align 4 br label %if.end555 if.end555: ; preds = %if.then553, %sw.bb540 - %prec.2 = phi i32 [ %56, %if.then553 ], [ %prec.0, %sw.bb540 ] + %prec.2 = phi i32 [ %92, %if.then553 ], [ %prec.0, %sw.bb540 ] %and556 = and i32 %flags.0, 4 %tobool557.not = icmp eq i32 %and556, 0 br i1 %tobool557.not, label %if.end560, label %if.then558 @@ -4161,19 +4162,19 @@ if.then573: ; preds = %if.end570 if.end575: ; preds = %if.then573, %if.end570 %fptr.3 = phi ptr [ %incdec.ptr574, %if.then573 ], [ %fptr.2, %if.end570 ] store i8 0, ptr %fptr.3, align 1 - %cmp576 = icmp sgt i32 %spec.select303, -1 + %cmp576 = icmp sgt i32 %spec.select203, -1 br i1 %cmp576, label %if.then578, label %if.end586 if.then578: ; preds = %if.end575 - %57 = call i32 @llvm.umin.i32(i32 %spec.select303, i32 325) - %call583 = call i32 (ptr, i64, ptr, ...) @curl_msnprintf(ptr noundef nonnull %fptr.3, i64 noundef %sub544, ptr noundef nonnull @.str.1, i32 noundef %57) + %93 = call i32 @llvm.umin.i32(i32 %spec.select203, i32 325) + %call583 = call i32 (ptr, i64, ptr, ...) @curl_msnprintf(ptr noundef nonnull %fptr.3, i64 noundef %sub544, ptr noundef nonnull @.str.1, i32 noundef %93) %idx.ext = sext i32 %call583 to i64 %add.ptr = getelementptr inbounds i8, ptr %fptr.3, i64 %idx.ext %sub585 = sub i64 %sub544, %idx.ext br label %if.end586 if.end586: ; preds = %if.then578, %if.end575 - %width.21 = phi i32 [ %57, %if.then578 ], [ %spec.select303, %if.end575 ] + %width.21 = phi i32 [ %93, %if.then578 ], [ %spec.select203, %if.end575 ] %fptr.4 = phi ptr [ %add.ptr, %if.then578 ], [ %fptr.3, %if.end575 ] %left.0 = phi i64 [ %sub585, %if.then578 ], [ %sub544, %if.end575 ] %cmp587 = icmp sgt i32 %prec.2, -1 @@ -4181,20 +4182,20 @@ if.end586: ; preds = %if.then578, %if.end if.then589: ; preds = %if.end586 %val591 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 - %58 = load double, ptr %val591, align 8 + %94 = load double, ptr %val591, align 8 %cmp592 = icmp slt i32 %width.21, 1 %cmp595.not = icmp sgt i32 %prec.2, %width.21 %or.cond10 = select i1 %cmp592, i1 true, i1 %cmp595.not %sub599 = sub i32 324, %width.21 %maxprec.0 = select i1 %or.cond10, i32 324, i32 %sub599 - %cmp60272 = fcmp ult double %58, 1.000000e+01 - br i1 %cmp60272, label %while.end607, label %while.body604 + %cmp60239 = fcmp ult double %94, 1.000000e+01 + br i1 %cmp60239, label %while.end607, label %while.body604 while.body604: ; preds = %if.then589, %while.body604 - %val590.074 = phi double [ %div605, %while.body604 ], [ %58, %if.then589 ] - %maxprec.173 = phi i32 [ %dec606, %while.body604 ], [ %maxprec.0, %if.then589 ] - %div605 = fdiv double %val590.074, 1.000000e+01 - %dec606 = add i32 %maxprec.173, -1 + %val590.041 = phi double [ %div605, %while.body604 ], [ %94, %if.then589 ] + %maxprec.140 = phi i32 [ %dec606, %while.body604 ], [ %maxprec.0, %if.then589 ] + %div605 = fdiv double %val590.041, 1.000000e+01 + %dec606 = add i32 %maxprec.140, -1 %cmp602 = fcmp ult double %div605, 1.000000e+01 br i1 %cmp602, label %while.end607, label %while.body604, !llvm.loop !20 @@ -4244,32 +4245,35 @@ if.then639: ; preds = %if.else636 br label %if.end648 if.end648: ; preds = %if.else636, %if.then639, %if.then630 - %.sink = phi i8 [ %conv643, %if.then639 ], [ %conv634, %if.then630 ], [ 102, %if.else636 ] - store i8 %.sink, ptr %fptr.6, align 1 + %.sink204 = phi i8 [ %conv643, %if.then639 ], [ %conv634, %if.then630 ], [ 102, %if.else636 ] + store i8 %.sink204, ptr %fptr.6, align 1 %fptr.7 = getelementptr inbounds i8, ptr %fptr.6, i64 1 store i8 0, ptr %fptr.7, align 1 %val651 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 - %59 = load double, ptr %val651, align 8 - %call652 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %work, i64 noundef 326, ptr noundef nonnull %formatbuf, double noundef %59) #12 - %60 = load i8, ptr %work, align 16 - %tobool657.not75 = icmp eq i8 %60, 0 - br i1 %tobool657.not75, label %for.inc695, label %do.body659 - -do.body659: ; preds = %if.end648, %if.then662 - %61 = phi i8 [ %62, %if.then662 ], [ %60, %if.end648 ] - %fptr.877 = phi ptr [ %incdec.ptr668, %if.then662 ], [ %work, %if.end648 ] - %done.2576 = phi i32 [ %inc663, %if.then662 ], [ %done.1, %if.end648 ] - %conv.i79 = zext i8 %61 to i32 - %call.i80 = call i32 @fputc(i32 noundef %conv.i79, ptr noundef %userp) - %cmp.i81.not = icmp eq i32 %call.i80, %conv.i79 - br i1 %cmp.i81.not, label %if.then662, label %return + %95 = load double, ptr %val651, align 8 + %call652 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %work, i64 noundef 326, ptr noundef nonnull %formatbuf, double noundef %95) #12 + %96 = load i8, ptr %work, align 16 + %tobool657.not42 = icmp eq i8 %96, 0 + br i1 %tobool657.not42, label %for.inc695, label %if.then662.preheader -if.then662: ; preds = %do.body659 - %inc663 = add nsw i32 %done.2576, 1 - %incdec.ptr668 = getelementptr inbounds i8, ptr %fptr.877, i64 1 - %62 = load i8, ptr %incdec.ptr668, align 1 - %tobool657.not = icmp eq i8 %62, 0 - br i1 %tobool657.not, label %for.inc695, label %do.body659, !llvm.loop !21 +if.then662.preheader: ; preds = %if.end648 + %.pre = load ptr, ptr %userp, align 8 + br label %if.then662 + +if.then662: ; preds = %if.then662.preheader, %if.then662 + %97 = phi ptr [ %incdec.ptr.i33, %if.then662 ], [ %.pre, %if.then662.preheader ] + %98 = phi i8 [ %100, %if.then662 ], [ %96, %if.then662.preheader ] + %fptr.844 = phi ptr [ %incdec.ptr668, %if.then662 ], [ %work, %if.then662.preheader ] + %done.2543 = phi i32 [ %inc663, %if.then662 ], [ %done.1, %if.then662.preheader ] + store i8 %98, ptr %97, align 1 + %99 = load ptr, ptr %userp, align 8 + %incdec.ptr.i33 = getelementptr inbounds i8, ptr %99, i64 1 + store ptr %incdec.ptr.i33, ptr %userp, align 8 + %inc663 = add nsw i32 %done.2543, 1 + %incdec.ptr668 = getelementptr inbounds i8, ptr %fptr.844, i64 1 + %100 = load i8, ptr %incdec.ptr668, align 1 + %tobool657.not = icmp eq i8 %100, 0 + br i1 %tobool657.not, label %for.inc695, label %if.then662, !llvm.loop !21 sw.bb670: ; preds = %if.end58 %and671 = and i32 %flags.0, 64 @@ -4279,8 +4283,8 @@ sw.bb670: ; preds = %if.end58 if.then673: ; preds = %sw.bb670 %conv674 = sext i32 %done.1 to i64 %val675 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 - %63 = load ptr, ptr %val675, align 8 - store i64 %conv674, ptr %63, align 8 + %101 = load ptr, ptr %val675, align 8 + store i64 %conv674, ptr %101, align 8 br label %for.inc695 if.else676: ; preds = %sw.bb670 @@ -4291,8 +4295,8 @@ if.else676: ; preds = %sw.bb670 if.then679: ; preds = %if.else676 %conv680 = sext i32 %done.1 to i64 %val681 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 - %64 = load ptr, ptr %val681, align 8 - store i64 %conv680, ptr %64, align 8 + %102 = load ptr, ptr %val681, align 8 + store i64 %conv680, ptr %102, align 8 br label %for.inc695 if.else682: ; preds = %if.else676 @@ -4302,42 +4306,66 @@ if.else682: ; preds = %if.else676 if.then685: ; preds = %if.else682 %val686 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 - %65 = load ptr, ptr %val686, align 8 - store i32 %done.1, ptr %65, align 4 + %103 = load ptr, ptr %val686, align 8 + store i32 %done.1, ptr %103, align 4 br label %for.inc695 if.else687: ; preds = %if.else682 %conv688 = trunc i32 %done.1 to i16 %val689 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 - %66 = load ptr, ptr %val689, align 8 - store i16 %conv688, ptr %66, align 2 + %104 = load ptr, ptr %val689, align 8 + store i16 %conv688, ptr %104, align 2 br label %for.inc695 -for.inc695: ; preds = %if.then662, %if.then532, %if.then106, %if.then357, %if.end648, %if.else687, %if.then685, %if.then679, %if.then673, %for.end520, %if.then471, %if.end464, %while.end345, %if.then90, %if.end58, %for.end - %done.3 = phi i32 [ %done.2.lcssa, %for.end ], [ %done.1, %if.end58 ], [ %done.1, %if.then673 ], [ %done.1, %if.then679 ], [ %done.1, %if.else687 ], [ %done.1, %if.then685 ], [ %done.13.lcssa, %while.end345 ], [ %52, %for.end520 ], [ %inc472, %if.then471 ], [ %done.19, %if.end464 ], [ %inc91, %if.then90 ], [ %done.1, %if.end648 ], [ %40, %if.then357 ], [ %16, %if.then106 ], [ %55, %if.then532 ], [ %inc663, %if.then662 ] - %digits.1 = phi ptr [ %digits.0177, %for.end ], [ %digits.0177, %if.end58 ], [ %digits.0177, %if.then673 ], [ %digits.0177, %if.then679 ], [ %digits.0177, %if.else687 ], [ %digits.0177, %if.then685 ], [ %digits.24249, %while.end345 ], [ %digits.0177, %for.end520 ], [ %digits.0177, %if.then471 ], [ %digits.0177, %if.end464 ], [ %digits.0177, %if.then90 ], [ %digits.0177, %if.end648 ], [ %digits.24249, %if.then357 ], [ %digits.0177, %if.then106 ], [ %digits.0177, %if.then532 ], [ %digits.0177, %if.then662 ] - %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 - %67 = load i32, ptr %ocount, align 4 - %68 = sext i32 %67 to i64 - %cmp = icmp slt i64 %indvars.iv.next, %68 - br i1 %cmp, label %for.body, label %return, !llvm.loop !22 +for.inc695.loopexit: ; preds = %if.then357 + %105 = add i32 %width.11, %done.13.lcssa + br label %for.inc695 -return.loopexit49.split.loop.exit162: ; preds = %do.body292 - %inc285.le172 = add nsw i32 %done.9, 1 - br label %return +for.inc695.loopexit127: ; preds = %if.then106 + %106 = add i32 %width.1, %done.1 + br label %for.inc695 -return.loopexit49.split.loop.exit164: ; preds = %do.body301 - %inc285.le = add nsw i32 %done.9, 1 - br label %return +for.inc695.loopexit128: ; preds = %if.then532 + %107 = add i32 %89, %width.17 + br label %for.inc695 -return: ; preds = %do.body86, %do.body240, %do.body252, %do.body264, %do.body281, %do.body401, %do.body468, %for.inc695, %do.body, %do.body659, %do.body495, %do.body510, %do.body529, %do.body418, %do.body435, %do.body455, %do.body77, %do.body103, %do.body228, %do.body322, %do.body337, %do.body354, %return.loopexit49.split.loop.exit162, %return.loopexit49.split.loop.exit164, %entry - %retval.0 = phi i32 [ 0, %entry ], [ %inc285.le172, %return.loopexit49.split.loop.exit162 ], [ %inc285.le, %return.loopexit49.split.loop.exit164 ], [ %done.14151, %do.body354 ], [ %done.13146, %do.body337 ], [ %done.12140, %do.body322 ], [ %done.8134, %do.body228 ], [ %done.6117, %do.body103 ], [ %done.4111, %do.body77 ], [ %done.20106, %do.body455 ], [ %done.1899, %do.body435 ], [ %done.1794, %do.body418 ], [ %done.2489, %do.body529 ], [ %done.2385, %do.body510 ], [ %done.2281, %do.body495 ], [ %done.2576, %do.body659 ], [ %done.269, %do.body ], [ %done.5, %do.body86 ], [ %done.7, %do.body240 ], [ %done.7, %do.body252 ], [ %done.7, %do.body264 ], [ %done.9, %do.body281 ], [ %done.1, %do.body401 ], [ %done.19, %do.body468 ], [ %done.3, %for.inc695 ] +for.inc695: ; preds = %if.then662, %if.then90.thread, %for.inc695.loopexit128, %for.inc695.loopexit127, %for.inc695.loopexit, %if.end648, %if.else687, %if.then685, %if.then679, %if.then673, %for.end520, %if.then471, %if.end464, %while.end345, %if.then90, %if.end58, %for.end + %done.3 = phi i32 [ %done.2.lcssa, %for.end ], [ %done.1, %if.end58 ], [ %done.1, %if.then673 ], [ %done.1, %if.then679 ], [ %done.1, %if.else687 ], [ %done.1, %if.then685 ], [ %done.13.lcssa, %while.end345 ], [ %89, %for.end520 ], [ %inc472, %if.then471 ], [ %done.19, %if.end464 ], [ %inc91, %if.then90 ], [ %done.1, %if.end648 ], [ %105, %for.inc695.loopexit ], [ %106, %for.inc695.loopexit127 ], [ %107, %for.inc695.loopexit128 ], [ %inc91151, %if.then90.thread ], [ %inc663, %if.then662 ] + %digits.1 = phi ptr [ %digits.0119, %for.end ], [ %digits.0119, %if.end58 ], [ %digits.0119, %if.then673 ], [ %digits.0119, %if.then679 ], [ %digits.0119, %if.else687 ], [ %digits.0119, %if.then685 ], [ %digits.24180, %while.end345 ], [ %digits.0119, %for.end520 ], [ %digits.0119, %if.then471 ], [ %digits.0119, %if.end464 ], [ %digits.0119, %if.then90 ], [ %digits.0119, %if.end648 ], [ %digits.24180, %for.inc695.loopexit ], [ %digits.0119, %for.inc695.loopexit127 ], [ %digits.0119, %for.inc695.loopexit128 ], [ %digits.0119, %if.then90.thread ], [ %digits.0119, %if.then662 ] + %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 + %108 = load i32, ptr %ocount, align 4 + %109 = sext i32 %108 to i64 + %cmp = icmp slt i64 %indvars.iv.next, %109 + br i1 %cmp, label %for.body, label %return, !llvm.loop !22 + +return: ; preds = %for.inc695, %entry + %retval.0 = phi i32 [ 0, %entry ], [ %done.3, %for.inc695 ] ret i32 %retval.0 } -; Function Attrs: nofree nounwind uwtable -define internal fastcc i32 @formatf.specialized.3(ptr nocapture noundef %userp, ptr noundef %format, ptr nocapture noundef %ap_save) unnamed_addr #0 { +; Function Attrs: nounwind uwtable +define internal fastcc void @formatf.specialized.4(ptr nocapture noundef %userp, ptr noundef %format, ptr nocapture noundef %ap_save) unnamed_addr #1 { entry: + %outc.addr.i174 = alloca i8, align 1 + %outc.addr.i165 = alloca i8, align 1 + %outc.addr.i156 = alloca i8, align 1 + %outc.addr.i147 = alloca i8, align 1 + %outc.addr.i138 = alloca i8, align 1 + %outc.addr.i129 = alloca i8, align 1 + %outc.addr.i120 = alloca i8, align 1 + %outc.addr.i111 = alloca i8, align 1 + %outc.addr.i102 = alloca i8, align 1 + %outc.addr.i93 = alloca i8, align 1 + %outc.addr.i84 = alloca i8, align 1 + %outc.addr.i75 = alloca i8, align 1 + %outc.addr.i66 = alloca i8, align 1 + %outc.addr.i57 = alloca i8, align 1 + %outc.addr.i48 = alloca i8, align 1 + %outc.addr.i39 = alloca i8, align 1 + %outc.addr.i30 = alloca i8, align 1 + %outc.addr.i21 = alloca i8, align 1 + %outc.addr.i12 = alloca i8, align 1 + %outc.addr.i = alloca i8, align 1 %ocount = alloca i32, align 4 %icount = alloca i32, align 4 %output = alloca [128 x %struct.outsegment], align 16 @@ -4349,9 +4377,9 @@ entry: %call = call fastcc i32 @parsefmt(ptr noundef %format, ptr noundef %output, ptr noundef %input, ptr noundef %ocount, ptr noundef %icount, ptr noundef %ap_save) %tobool.not = icmp eq i32 %call, 0 %0 = load i32, ptr %ocount, align 4 - %cmp116 = icmp sgt i32 %0, 0 - %or.cond121 = select i1 %tobool.not, i1 %cmp116, i1 false - br i1 %or.cond121, label %for.body.lr.ph, label %return + %cmp200 = icmp sgt i32 %0, 0 + %or.cond208 = select i1 %tobool.not, i1 %cmp200, i1 false + br i1 %or.cond208, label %for.body.lr.ph, label %return for.body.lr.ph: ; preds = %entry %arrayidx541 = getelementptr inbounds i8, ptr %formatbuf, i64 1 @@ -4360,8 +4388,8 @@ for.body.lr.ph: ; preds = %entry for.body: ; preds = %for.body.lr.ph, %for.inc695 %indvars.iv = phi i64 [ 0, %for.body.lr.ph ], [ %indvars.iv.next, %for.inc695 ] - %digits.0119 = phi ptr [ @lower_digits, %for.body.lr.ph ], [ %digits.1, %for.inc695 ] - %done.0118 = phi i32 [ 0, %for.body.lr.ph ], [ %done.3, %for.inc695 ] + %digits.0203 = phi ptr [ @lower_digits, %for.body.lr.ph ], [ %digits.1, %for.inc695 ] + %done.0202 = phi i32 [ 0, %for.body.lr.ph ], [ %done.3, %for.inc695 ] %arrayidx2 = getelementptr inbounds [128 x %struct.outsegment], ptr %output, i64 0, i64 %indvars.iv %outlen3 = getelementptr inbounds i8, ptr %arrayidx2, i64 24 %1 = load i64, ptr %outlen3, align 8 @@ -4374,47 +4402,59 @@ if.then6: ; preds = %for.body %start = getelementptr inbounds i8, ptr %arrayidx2, i64 16 %3 = load ptr, ptr %start, align 16 %4 = trunc i64 %1 to i32 - %5 = add i32 %done.0118, %4 + %5 = add i32 %done.0202, %4 br label %land.rhs land.rhs: ; preds = %if.then6, %if.then13 - %str.038 = phi ptr [ %3, %if.then6 ], [ %incdec.ptr, %if.then13 ] - %outlen.037 = phi i64 [ %1, %if.then6 ], [ %dec, %if.then13 ] - %done.236 = phi i32 [ %done.0118, %if.then6 ], [ %inc, %if.then13 ] - %6 = load i8, ptr %str.038, align 1 + %str.0114 = phi ptr [ %3, %if.then6 ], [ %incdec.ptr, %if.then13 ] + %outlen.0113 = phi i64 [ %1, %if.then6 ], [ %dec, %if.then13 ] + %done.2112 = phi i32 [ %done.0202, %if.then6 ], [ %inc, %if.then13 ] + %6 = load i8, ptr %str.0114, align 1 %tobool9.not = icmp eq i8 %6, 0 - br i1 %tobool9.not, label %for.end, label %if.then13 + br i1 %tobool9.not, label %for.end, label %do.body -if.then13: ; preds = %land.rhs +do.body: ; preds = %land.rhs + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %outc.addr.i) + store i8 %6, ptr %outc.addr.i, align 1 %7 = load ptr, ptr %userp, align 8 - store i8 %6, ptr %7, align 1 - %8 = load ptr, ptr %userp, align 8 - %incdec.ptr.i = getelementptr inbounds i8, ptr %8, i64 1 - store ptr %incdec.ptr.i, ptr %userp, align 8 - %incdec.ptr = getelementptr inbounds i8, ptr %str.038, i64 1 - %inc = add nsw i32 %done.236, 1 - %dec = add i64 %outlen.037, -1 + %call.i = call i32 @Curl_dyn_addn(ptr noundef %7, ptr noundef nonnull %outc.addr.i, i64 noundef 1) #12 + %tobool.not.i = icmp eq i32 %call.i, 0 + br i1 %tobool.not.i, label %if.then13, label %alloc_addbyter.exit + +alloc_addbyter.exit: ; preds = %do.body + %cmp.i = icmp eq i32 %call.i, 100 + %conv.i = select i1 %cmp.i, i8 2, i8 1 + %merr.i = getelementptr inbounds i8, ptr %userp, i64 8 + store i8 %conv.i, ptr %merr.i, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i) + br label %return + +if.then13: ; preds = %do.body + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i) + %incdec.ptr = getelementptr inbounds i8, ptr %str.0114, i64 1 + %inc = add nsw i32 %done.2112, 1 + %dec = add i64 %outlen.0113, -1 %tobool8.not = icmp eq i64 %dec, 0 br i1 %tobool8.not, label %for.end, label %land.rhs, !llvm.loop !4 for.end: ; preds = %land.rhs, %if.then13 - %done.2.lcssa = phi i32 [ %done.236, %land.rhs ], [ %5, %if.then13 ] + %done.2.lcssa = phi i32 [ %done.2112, %land.rhs ], [ %5, %if.then13 ] %and = and i32 %2, 1048576 %tobool16.not = icmp eq i32 %and, 0 br i1 %tobool16.not, label %if.end19, label %for.inc695 if.end19: ; preds = %for.end, %for.body - %done.1 = phi i32 [ %done.2.lcssa, %for.end ], [ %done.0118, %for.body ] + %done.1 = phi i32 [ %done.2.lcssa, %for.end ], [ %done.0202, %for.body ] %and20 = and i32 %2, 16384 %tobool21.not = icmp eq i32 %and20, 0 - %9 = load i32, ptr %arrayidx2, align 16 + %8 = load i32, ptr %arrayidx2, align 16 br i1 %tobool21.not, label %if.end39, label %if.then22 if.then22: ; preds = %if.end19 - %idxprom24 = sext i32 %9 to i64 + %idxprom24 = sext i32 %8 to i64 %val = getelementptr inbounds [128 x %struct.va_input], ptr %input, i64 0, i64 %idxprom24, i32 1 - %10 = load i64, ptr %val, align 8 - %conv26 = trunc i64 %10 to i32 + %9 = load i64, ptr %val, align 8 + %conv26 = trunc i64 %9 to i32 %cmp27 = icmp slt i32 %conv26, 0 br i1 %cmp27, label %if.then29, label %if.end39 @@ -4427,7 +4467,7 @@ if.then29: ; preds = %if.then22 br label %if.end39 if.end39: ; preds = %if.end19, %if.then29, %if.then22 - %width.1 = phi i32 [ %width.0, %if.then29 ], [ %conv26, %if.then22 ], [ %9, %if.end19 ] + %width.1 = phi i32 [ %width.0, %if.then29 ], [ %conv26, %if.then22 ], [ %8, %if.end19 ] %flags.0 = phi i32 [ %and35, %if.then29 ], [ %2, %if.then22 ], [ %2, %if.end19 ] %and40 = and i32 %flags.0, 65536 %tobool41.not = icmp eq i32 %and40, 0 @@ -4435,11 +4475,11 @@ if.end39: ; preds = %if.end19, %if.then2 if.then42: ; preds = %if.end39 %precision = getelementptr inbounds i8, ptr %arrayidx2, i64 4 - %11 = load i32, ptr %precision, align 4 - %idxprom43 = sext i32 %11 to i64 + %10 = load i32, ptr %precision, align 4 + %idxprom43 = sext i32 %10 to i64 %val45 = getelementptr inbounds [128 x %struct.va_input], ptr %input, i64 0, i64 %idxprom43, i32 1 - %12 = load i64, ptr %val45, align 8 - %conv46 = trunc i64 %12 to i32 + %11 = load i64, ptr %val45, align 8 + %conv46 = trunc i64 %11 to i32 %spec.store.select = call i32 @llvm.smax.i32(i32 %conv46, i32 -1) br label %if.end58 @@ -4450,20 +4490,20 @@ if.else51: ; preds = %if.end39 if.then54: ; preds = %if.else51 %precision55 = getelementptr inbounds i8, ptr %arrayidx2, i64 4 - %13 = load i32, ptr %precision55, align 4 + %12 = load i32, ptr %precision55, align 4 br label %if.end58 if.end58: ; preds = %if.else51, %if.then54, %if.then42 - %prec.0 = phi i32 [ %spec.store.select, %if.then42 ], [ %13, %if.then54 ], [ -1, %if.else51 ] + %prec.0 = phi i32 [ %spec.store.select, %if.then42 ], [ %12, %if.then54 ], [ -1, %if.else51 ] %and59 = and i32 %flags.0, 8 %tobool60.not = icmp eq i32 %and59, 0 %frombool = icmp ne i32 %and59, 0 %input62 = getelementptr inbounds i8, ptr %arrayidx2, i64 12 - %14 = load i32, ptr %input62, align 4 - %idxprom63 = zext i32 %14 to i64 + %13 = load i32, ptr %input62, align 4 + %idxprom63 = zext i32 %13 to i64 %arrayidx64 = getelementptr inbounds [128 x %struct.va_input], ptr %input, i64 0, i64 %idxprom63 - %15 = load i32, ptr %arrayidx64, align 16 - switch i32 %15, label %for.inc695 [ + %14 = load i32, ptr %arrayidx64, align 16 + switch i32 %14, label %for.inc695 [ i32 6, label %sw.bb i32 7, label %sw.bb i32 8, label %sw.bb @@ -4483,69 +4523,100 @@ sw.bb: ; preds = %if.end58, %if.end58 sw.bb66: ; preds = %sw.bb, %if.end58, %if.end58, %if.end58 %flags.1 = phi i32 [ %flags.0, %if.end58 ], [ %flags.0, %if.end58 ], [ %flags.0, %if.end58 ], [ %or65, %sw.bb ] %val67 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 - %16 = load i64, ptr %val67, align 8 + %15 = load i64, ptr %val67, align 8 %and68 = and i32 %flags.1, 131072 %tobool69.not = icmp eq i32 %and68, 0 br i1 %tobool69.not, label %if.end113, label %if.then70 if.then70: ; preds = %sw.bb66 %and71 = and i32 %flags.1, 4 - %tobool72.not.not = icmp eq i32 %and71, 0 - br i1 %tobool72.not.not, label %while.cond.preheader, label %if.then90 + %tobool72.not = icmp ne i32 %and71, 0 + br i1 %tobool72.not, label %do.body86, label %while.cond.preheader while.cond.preheader: ; preds = %if.then70 - %dec7474 = add i32 %width.1, -1 - %cmp7575 = icmp sgt i32 %width.1, 1 - %.pre139 = load ptr, ptr %userp, align 8 - br i1 %cmp7575, label %if.then80, label %if.then90.thread + %dec74152 = add i32 %width.1, -1 + %cmp75153 = icmp sgt i32 %width.1, 1 + br i1 %cmp75153, label %do.body77.preheader, label %do.body86 -if.then80: ; preds = %while.cond.preheader, %if.then80 - %17 = phi ptr [ %incdec.ptr.i12, %if.then80 ], [ %.pre139, %while.cond.preheader ] - %dec7477 = phi i32 [ %dec74, %if.then80 ], [ %dec7474, %while.cond.preheader ] - store i8 32, ptr %17, align 1 +do.body77.preheader: ; preds = %while.cond.preheader + %16 = add i32 %dec74152, %done.1 + br label %do.body77 + +do.body77: ; preds = %do.body77.preheader, %if.then80 + %dec74155 = phi i32 [ %dec74, %if.then80 ], [ %dec74152, %do.body77.preheader ] + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %outc.addr.i12) + store i8 32, ptr %outc.addr.i12, align 1 + %17 = load ptr, ptr %userp, align 8 + %call.i13 = call i32 @Curl_dyn_addn(ptr noundef %17, ptr noundef nonnull %outc.addr.i12, i64 noundef 1) #12 + %tobool.not.i14 = icmp eq i32 %call.i13, 0 + br i1 %tobool.not.i14, label %if.then80, label %alloc_addbyter.exit20 + +alloc_addbyter.exit20: ; preds = %do.body77 + %cmp.i16 = icmp eq i32 %call.i13, 100 + %conv.i17 = select i1 %cmp.i16, i8 2, i8 1 + %merr.i18 = getelementptr inbounds i8, ptr %userp, i64 8 + store i8 %conv.i17, ptr %merr.i18, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i12) + br label %return + +if.then80: ; preds = %do.body77 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i12) + %dec74 = add nsw i32 %dec74155, -1 + %cmp75 = icmp sgt i32 %dec74155, 1 + br i1 %cmp75, label %do.body77, label %do.body86, !llvm.loop !6 + +do.body86: ; preds = %if.then80, %while.cond.preheader, %if.then70 + %done.5 = phi i32 [ %done.1, %if.then70 ], [ %done.1, %while.cond.preheader ], [ %16, %if.then80 ] + %width.3 = phi i32 [ %width.1, %if.then70 ], [ %dec74152, %while.cond.preheader ], [ 0, %if.then80 ] + %conv87 = trunc i64 %15 to i8 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %outc.addr.i21) + store i8 %conv87, ptr %outc.addr.i21, align 1 %18 = load ptr, ptr %userp, align 8 - %incdec.ptr.i12 = getelementptr inbounds i8, ptr %18, i64 1 - store ptr %incdec.ptr.i12, ptr %userp, align 8 - %dec74 = add nsw i32 %dec7477, -1 - %cmp75 = icmp ugt i32 %dec7477, 1 - br i1 %cmp75, label %if.then80, label %if.then90.loopexit, !llvm.loop !6 + %call.i22 = call i32 @Curl_dyn_addn(ptr noundef %18, ptr noundef nonnull %outc.addr.i21, i64 noundef 1) #12 + %tobool.not.i23 = icmp eq i32 %call.i22, 0 + br i1 %tobool.not.i23, label %if.then90, label %alloc_addbyter.exit29 + +alloc_addbyter.exit29: ; preds = %do.body86 + %cmp.i25 = icmp eq i32 %call.i22, 100 + %conv.i26 = select i1 %cmp.i25, i8 2, i8 1 + %merr.i27 = getelementptr inbounds i8, ptr %userp, i64 8 + store i8 %conv.i26, ptr %merr.i27, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i21) + br label %return -if.then90.loopexit: ; preds = %if.then80 - %19 = add i32 %dec7474, %done.1 - br label %if.then90.thread +if.then90: ; preds = %do.body86 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i21) + %inc91 = add nsw i32 %done.5, 1 + %cmp100159 = icmp sgt i32 %width.3, 1 + %or.cond209 = select i1 %tobool72.not, i1 %cmp100159, i1 false + br i1 %or.cond209, label %do.body103.preheader, label %for.inc695 -if.then90.thread: ; preds = %while.cond.preheader, %if.then90.loopexit - %.ph = phi ptr [ %incdec.ptr.i12, %if.then90.loopexit ], [ %.pre139, %while.cond.preheader ] - %done.5.ph = phi i32 [ %19, %if.then90.loopexit ], [ %done.1, %while.cond.preheader ] - %conv87149 = trunc i64 %16 to i8 - store i8 %conv87149, ptr %.ph, align 1 - %20 = load ptr, ptr %userp, align 8 - %incdec.ptr.i13150 = getelementptr inbounds i8, ptr %20, i64 1 - store ptr %incdec.ptr.i13150, ptr %userp, align 8 - %inc91151 = add nsw i32 %done.5.ph, 1 - br label %for.inc695 +do.body103.preheader: ; preds = %if.then90 + %19 = add i32 %width.3, %done.5 + br label %do.body103 -if.then90: ; preds = %if.then70 - %.pre138 = load ptr, ptr %userp, align 8 - %conv87 = trunc i64 %16 to i8 - store i8 %conv87, ptr %.pre138, align 1 - %21 = load ptr, ptr %userp, align 8 - %incdec.ptr.i13 = getelementptr inbounds i8, ptr %21, i64 1 - store ptr %incdec.ptr.i13, ptr %userp, align 8 - %inc91 = add nsw i32 %done.1, 1 - %cmp10080 = icmp sgt i32 %width.1, 1 - br i1 %cmp10080, label %if.then106, label %for.inc695 +do.body103: ; preds = %do.body103.preheader, %if.then106 + %dec99161.in = phi i32 [ %dec99161, %if.then106 ], [ %width.3, %do.body103.preheader ] + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %outc.addr.i30) + store i8 32, ptr %outc.addr.i30, align 1 + %20 = load ptr, ptr %userp, align 8 + %call.i31 = call i32 @Curl_dyn_addn(ptr noundef %20, ptr noundef nonnull %outc.addr.i30, i64 noundef 1) #12 + %tobool.not.i32 = icmp eq i32 %call.i31, 0 + br i1 %tobool.not.i32, label %if.then106, label %alloc_addbyter.exit38 + +alloc_addbyter.exit38: ; preds = %do.body103 + %cmp.i34 = icmp eq i32 %call.i31, 100 + %conv.i35 = select i1 %cmp.i34, i8 2, i8 1 + %merr.i36 = getelementptr inbounds i8, ptr %userp, i64 8 + store i8 %conv.i35, ptr %merr.i36, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i30) + br label %return -if.then106: ; preds = %if.then90, %if.then106 - %22 = phi ptr [ %incdec.ptr.i14, %if.then106 ], [ %incdec.ptr.i13, %if.then90 ] - %width.482 = phi i32 [ %dec99, %if.then106 ], [ %width.1, %if.then90 ] - %dec99 = add nsw i32 %width.482, -1 - store i8 32, ptr %22, align 1 - %23 = load ptr, ptr %userp, align 8 - %incdec.ptr.i14 = getelementptr inbounds i8, ptr %23, i64 1 - store ptr %incdec.ptr.i14, ptr %userp, align 8 - %cmp100 = icmp ugt i32 %width.482, 2 - br i1 %cmp100, label %if.then106, label %for.inc695.loopexit127, !llvm.loop !7 +if.then106: ; preds = %do.body103 + %dec99161 = add nsw i32 %dec99161.in, -1 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i30) + %cmp100 = icmp sgt i32 %dec99161.in, 2 + br i1 %cmp100, label %do.body103, label %for.inc695, !llvm.loop !7 if.end113: ; preds = %sw.bb66 %and114 = and i32 %flags.1, 1024 @@ -4564,289 +4635,418 @@ if.then120: ; preds = %if.else117 br label %while.cond155.preheader while.cond155.preheader: ; preds = %if.end113, %if.then480, %if.then120 - %flags.220.ph = phi i32 [ %flags.1, %if.then120 ], [ %flags.0, %if.then480 ], [ %flags.1, %if.end113 ] - %base.018.ph = phi i64 [ 16, %if.then120 ], [ 16, %if.then480 ], [ 8, %if.end113 ] - %cmp20216.ph = phi i1 [ true, %if.then120 ], [ true, %if.then480 ], [ false, %if.end113 ] - %cmp17313.ph = phi i1 [ false, %if.then120 ], [ false, %if.then480 ], [ true, %if.end113 ] - %is_alt.07.ph = phi i1 [ %frombool, %if.then120 ], [ true, %if.then480 ], [ %frombool, %if.end113 ] - %digits.23.ph = phi ptr [ %cond123, %if.then120 ], [ %cond483, %if.then480 ], [ %digits.0119, %if.end113 ] - %num.2.ph = phi i64 [ %16, %if.then120 ], [ %81, %if.then480 ], [ %16, %if.end113 ] + %flags.228.ph = phi i32 [ %flags.1, %if.then120 ], [ %flags.0, %if.then480 ], [ %flags.1, %if.end113 ] + %base.026.ph = phi i64 [ 16, %if.then120 ], [ 16, %if.then480 ], [ 8, %if.end113 ] + %cmp20224.ph = phi i1 [ true, %if.then120 ], [ true, %if.then480 ], [ false, %if.end113 ] + %cmp17321.ph = phi i1 [ false, %if.then120 ], [ false, %if.then480 ], [ true, %if.end113 ] + %is_alt.015.ph = phi i1 [ %frombool, %if.then120 ], [ true, %if.then480 ], [ %frombool, %if.end113 ] + %digits.211.ph = phi ptr [ %cond123, %if.then120 ], [ %cond483, %if.then480 ], [ %digits.0203, %if.end113 ] + %num.2.ph = phi i64 [ %15, %if.then120 ], [ %66, %if.then480 ], [ %15, %if.end113 ] %cmp142 = icmp eq i32 %prec.0, -1 %spec.store.select2 = select i1 %cmp142, i32 1, i32 %prec.0 - %cmp156.not84 = icmp eq i64 %num.2.ph, 0 - br i1 %cmp156.not84, label %sw.epilog, label %while.body158.preheader + %cmp156.not163 = icmp eq i64 %num.2.ph, 0 + br i1 %cmp156.not163, label %sw.epilog, label %while.body158.preheader while.body158.preheader: ; preds = %while.cond155.preheader - %24 = add nsw i64 %base.018.ph, -1 + %21 = add nsw i64 %base.026.ph, -1 br label %while.body158 if.else124: ; preds = %if.else117 %and125 = and i32 %flags.1, 512 %tobool126.not = icmp eq i32 %and125, 0 - %frombool132 = icmp slt i64 %16, 0 - %spec.select = call i64 @llvm.abs.i64(i64 %16, i1 false) - %is_neg.011.ph = select i1 %tobool126.not, i1 %frombool132, i1 false - %num.1.ph = select i1 %tobool126.not, i64 %spec.select, i64 %16 - %cmp142155 = icmp eq i32 %prec.0, -1 - %spec.store.select2156 = select i1 %cmp142155, i32 1, i32 %prec.0 - %cmp148.not88 = icmp eq i64 %num.1.ph, 0 - br i1 %cmp148.not88, label %sw.epilog.thread, label %while.body150 + %frombool132 = icmp slt i64 %15, 0 + %spec.select = call i64 @llvm.abs.i64(i64 %15, i1 false) + %is_neg.019.ph = select i1 %tobool126.not, i1 %frombool132, i1 false + %num.1.ph = select i1 %tobool126.not, i64 %spec.select, i64 %15 + %cmp142263 = icmp eq i32 %prec.0, -1 + %spec.store.select2264 = select i1 %cmp142263, i32 1, i32 %prec.0 + %cmp148.not167 = icmp eq i64 %num.1.ph, 0 + br i1 %cmp148.not167, label %sw.epilog.thread, label %while.body150 while.body150: ; preds = %if.else124, %while.body150 - %w.0.idx90 = phi i64 [ %w.0.add, %while.body150 ], [ 324, %if.else124 ] - %num.189 = phi i64 [ %div, %while.body150 ], [ %num.1.ph, %if.else124 ] - %w.0.ptr = getelementptr inbounds i8, ptr %work, i64 %w.0.idx90 - %rem = urem i64 %num.189, 10 - %25 = trunc nuw nsw i64 %rem to i8 - %conv152 = or disjoint i8 %25, 48 - %w.0.add = add nsw i64 %w.0.idx90, -1 + %w.0.idx169 = phi i64 [ %w.0.add, %while.body150 ], [ 324, %if.else124 ] + %num.1168 = phi i64 [ %div, %while.body150 ], [ %num.1.ph, %if.else124 ] + %w.0.ptr = getelementptr inbounds i8, ptr %work, i64 %w.0.idx169 + %rem = urem i64 %num.1168, 10 + %22 = trunc nuw nsw i64 %rem to i8 + %conv152 = or disjoint i8 %22, 48 + %w.0.add = add nsw i64 %w.0.idx169, -1 store i8 %conv152, ptr %w.0.ptr, align 1 - %div = udiv i64 %num.189, 10 - %cmp148.not = icmp ult i64 %num.189, 10 + %div = udiv i64 %num.1168, 10 + %cmp148.not = icmp ult i64 %num.1168, 10 br i1 %cmp148.not, label %sw.epilog.thread, label %while.body150, !llvm.loop !8 while.body158: ; preds = %while.body158.preheader, %while.body158 - %w.2.idx86 = phi i64 [ %w.2.add, %while.body158 ], [ 324, %while.body158.preheader ] - %num.285 = phi i64 [ %div162, %while.body158 ], [ %num.2.ph, %while.body158.preheader ] - %w.2.ptr = getelementptr inbounds i8, ptr %work, i64 %w.2.idx86 - %rem159 = and i64 %num.285, %24 - %arrayidx160 = getelementptr inbounds i8, ptr %digits.23.ph, i64 %rem159 - %26 = load i8, ptr %arrayidx160, align 1 - %w.2.add = add nsw i64 %w.2.idx86, -1 - store i8 %26, ptr %w.2.ptr, align 1 - %div162 = udiv i64 %num.285, %base.018.ph - %cmp156.not = icmp ugt i64 %base.018.ph, %num.285 + %w.2.idx165 = phi i64 [ %w.2.add, %while.body158 ], [ 324, %while.body158.preheader ] + %num.2164 = phi i64 [ %div162, %while.body158 ], [ %num.2.ph, %while.body158.preheader ] + %w.2.ptr = getelementptr inbounds i8, ptr %work, i64 %w.2.idx165 + %rem159 = and i64 %num.2164, %21 + %arrayidx160 = getelementptr inbounds i8, ptr %digits.211.ph, i64 %rem159 + %23 = load i8, ptr %arrayidx160, align 1 + %w.2.add = add nsw i64 %w.2.idx165, -1 + store i8 %23, ptr %w.2.ptr, align 1 + %div162 = udiv i64 %num.2164, %base.026.ph + %cmp156.not = icmp ugt i64 %base.026.ph, %num.2164 br i1 %cmp156.not, label %sw.epilog, label %while.body158, !llvm.loop !9 sw.epilog.thread: ; preds = %while.body150, %if.else124 %w.1.idx.ph = phi i64 [ 324, %if.else124 ], [ %w.0.add, %while.body150 ] - %27 = trunc i64 %w.1.idx.ph to i32 - %conv164165 = sub i32 324, %27 - %sub165166 = sub nsw i32 %width.1, %conv164165 - %sub170167 = sub nsw i32 %spec.store.select2156, %conv164165 + %24 = trunc i64 %w.1.idx.ph to i32 + %conv164273 = sub i32 324, %24 + %sub165274 = sub nsw i32 %width.1, %conv164273 + %sub170275 = sub nsw i32 %spec.store.select2264, %conv164273 br label %if.end181 sw.epilog: ; preds = %while.body158, %while.cond155.preheader %w.1.idx = phi i64 [ 324, %while.cond155.preheader ], [ %w.2.add, %while.body158 ] - %28 = trunc i64 %w.1.idx to i32 - %conv164 = sub i32 324, %28 + %25 = trunc i64 %w.1.idx to i32 + %conv164 = sub i32 324, %25 %sub165 = sub nsw i32 %width.1, %conv164 %sub170 = sub nsw i32 %spec.store.select2, %conv164 - %or.cond = and i1 %cmp17313.ph, %is_alt.07.ph + %or.cond = and i1 %cmp17321.ph, %is_alt.015.ph %cmp176 = icmp slt i32 %sub170, 1 %or.cond3 = select i1 %or.cond, i1 %cmp176, i1 false br i1 %or.cond3, label %if.end181.thread, label %if.end181 if.end181.thread: ; preds = %sw.epilog %w.1.ptr = getelementptr inbounds i8, ptr %work, i64 %w.1.idx - %w.1.add = add nsw i64 %w.1.idx, -1 - store i8 48, ptr %w.1.ptr, align 1 - %dec180 = add nsw i32 %sub165, -1 - br label %if.end198 - -if.end181: ; preds = %sw.epilog.thread, %sw.epilog - %sub170184 = phi i32 [ %sub170167, %sw.epilog.thread ], [ %sub170, %sw.epilog ] - %sub165183 = phi i32 [ %sub165166, %sw.epilog.thread ], [ %sub165, %sw.epilog ] - %29 = phi i32 [ %27, %sw.epilog.thread ], [ %28, %sw.epilog ] - %w.1.idx182 = phi i64 [ %w.1.idx.ph, %sw.epilog.thread ], [ %w.1.idx, %sw.epilog ] - %digits.24181 = phi ptr [ %digits.0119, %sw.epilog.thread ], [ %digits.23.ph, %sw.epilog ] - %is_alt.06179 = phi i1 [ %frombool, %sw.epilog.thread ], [ %is_alt.07.ph, %sw.epilog ] - %is_neg.09177 = phi i1 [ %is_neg.011.ph, %sw.epilog.thread ], [ false, %sw.epilog ] - %cmp20215175 = phi i1 [ false, %sw.epilog.thread ], [ %cmp20216.ph, %sw.epilog ] - %flags.219173 = phi i32 [ %flags.1, %sw.epilog.thread ], [ %flags.220.ph, %sw.epilog ] - %spec.store.select222171 = phi i32 [ %spec.store.select2156, %sw.epilog.thread ], [ %spec.store.select2, %sw.epilog ] - %cmp182 = icmp sgt i32 %sub170184, 0 + %w.1.add = add nsw i64 %w.1.idx, -1 + store i8 48, ptr %w.1.ptr, align 1 + %dec180 = add nsw i32 %sub165, -1 + br label %if.end198 + +if.end181: ; preds = %sw.epilog.thread, %sw.epilog + %sub170292 = phi i32 [ %sub170275, %sw.epilog.thread ], [ %sub170, %sw.epilog ] + %sub165291 = phi i32 [ %sub165274, %sw.epilog.thread ], [ %sub165, %sw.epilog ] + %26 = phi i32 [ %24, %sw.epilog.thread ], [ %25, %sw.epilog ] + %w.1.idx290 = phi i64 [ %w.1.idx.ph, %sw.epilog.thread ], [ %w.1.idx, %sw.epilog ] + %digits.212289 = phi ptr [ %digits.0203, %sw.epilog.thread ], [ %digits.211.ph, %sw.epilog ] + %is_alt.014287 = phi i1 [ %frombool, %sw.epilog.thread ], [ %is_alt.015.ph, %sw.epilog ] + %is_neg.017285 = phi i1 [ %is_neg.019.ph, %sw.epilog.thread ], [ false, %sw.epilog ] + %cmp20223283 = phi i1 [ false, %sw.epilog.thread ], [ %cmp20224.ph, %sw.epilog ] + %flags.227281 = phi i32 [ %flags.1, %sw.epilog.thread ], [ %flags.228.ph, %sw.epilog ] + %spec.store.select230279 = phi i32 [ %spec.store.select2264, %sw.epilog.thread ], [ %spec.store.select2, %sw.epilog ] + %cmp182 = icmp sgt i32 %sub170292, 0 br i1 %cmp182, label %if.then184, label %if.end198 if.then184: ; preds = %if.end181 - %sub185 = sub nsw i32 %sub165183, %sub170184 - %cmp19292 = icmp sgt i64 %w.1.idx182, -1 - br i1 %cmp19292, label %while.body195.preheader, label %if.end198 + %sub185 = sub nsw i32 %sub165291, %sub170292 + %cmp192171 = icmp sgt i64 %w.1.idx290, -1 + br i1 %cmp192171, label %while.body195.preheader, label %if.end198 while.body195.preheader: ; preds = %if.then184 - %30 = add i32 %spec.store.select222171, -325 - %31 = add i32 %30, %29 - %32 = zext i32 %31 to i64 - %umin = call i64 @llvm.umin.i64(i64 %w.1.idx182, i64 %32) - %33 = sub nsw i64 %w.1.idx182, %umin - %scevgep = getelementptr i8, ptr %work, i64 %33 - %34 = add nuw nsw i64 %umin, 1 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(1) %scevgep, i8 48, i64 %34, i1 false) - %35 = xor i64 %umin, -1 - %36 = add nsw i64 %w.1.idx182, %35 + %27 = add i32 %spec.store.select230279, -325 + %28 = add i32 %27, %26 + %29 = zext i32 %28 to i64 + %umin = call i64 @llvm.umin.i64(i64 %w.1.idx290, i64 %29) + %30 = sub nsw i64 %w.1.idx290, %umin + %scevgep = getelementptr i8, ptr %work, i64 %30 + %31 = add nuw nsw i64 %umin, 1 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(1) %scevgep, i8 48, i64 %31, i1 false) + %32 = xor i64 %umin, -1 + %33 = add nsw i64 %w.1.idx290, %32 br label %if.end198 if.end198: ; preds = %while.body195.preheader, %if.then184, %if.end181.thread, %if.end181 - %digits.24180 = phi ptr [ %digits.24181, %if.end181 ], [ %digits.23.ph, %if.end181.thread ], [ %digits.24181, %if.then184 ], [ %digits.24181, %while.body195.preheader ] - %is_alt.06178 = phi i1 [ %is_alt.06179, %if.end181 ], [ %is_alt.07.ph, %if.end181.thread ], [ %is_alt.06179, %if.then184 ], [ %is_alt.06179, %while.body195.preheader ] - %is_neg.09176 = phi i1 [ %is_neg.09177, %if.end181 ], [ false, %if.end181.thread ], [ %is_neg.09177, %if.then184 ], [ %is_neg.09177, %while.body195.preheader ] - %cmp20215174 = phi i1 [ %cmp20215175, %if.end181 ], [ %cmp20216.ph, %if.end181.thread ], [ %cmp20215175, %if.then184 ], [ %cmp20215175, %while.body195.preheader ] - %flags.219172 = phi i32 [ %flags.219173, %if.end181 ], [ %flags.220.ph, %if.end181.thread ], [ %flags.219173, %if.then184 ], [ %flags.219173, %while.body195.preheader ] - %width.6 = phi i32 [ %sub165183, %if.end181 ], [ %dec180, %if.end181.thread ], [ %sub185, %if.then184 ], [ %sub185, %while.body195.preheader ] - %w.4.idx = phi i64 [ %w.1.idx182, %if.end181 ], [ %w.1.add, %if.end181.thread ], [ %w.1.idx182, %if.then184 ], [ %36, %while.body195.preheader ] - %or.cond4 = and i1 %cmp20215174, %is_alt.06178 + %digits.212288 = phi ptr [ %digits.212289, %if.end181 ], [ %digits.211.ph, %if.end181.thread ], [ %digits.212289, %if.then184 ], [ %digits.212289, %while.body195.preheader ] + %is_alt.014286 = phi i1 [ %is_alt.014287, %if.end181 ], [ %is_alt.015.ph, %if.end181.thread ], [ %is_alt.014287, %if.then184 ], [ %is_alt.014287, %while.body195.preheader ] + %is_neg.017284 = phi i1 [ %is_neg.017285, %if.end181 ], [ false, %if.end181.thread ], [ %is_neg.017285, %if.then184 ], [ %is_neg.017285, %while.body195.preheader ] + %cmp20223282 = phi i1 [ %cmp20223283, %if.end181 ], [ %cmp20224.ph, %if.end181.thread ], [ %cmp20223283, %if.then184 ], [ %cmp20223283, %while.body195.preheader ] + %flags.227280 = phi i32 [ %flags.227281, %if.end181 ], [ %flags.228.ph, %if.end181.thread ], [ %flags.227281, %if.then184 ], [ %flags.227281, %while.body195.preheader ] + %width.6 = phi i32 [ %sub165291, %if.end181 ], [ %dec180, %if.end181.thread ], [ %sub185, %if.then184 ], [ %sub185, %while.body195.preheader ] + %w.4.idx = phi i64 [ %w.1.idx290, %if.end181 ], [ %w.1.add, %if.end181.thread ], [ %w.1.idx290, %if.then184 ], [ %33, %while.body195.preheader ] + %or.cond4 = and i1 %cmp20223282, %is_alt.014286 %sub205 = add nsw i32 %width.6, -2 %spec.select2 = select i1 %or.cond4, i32 %sub205, i32 %width.6 - %and209 = and i32 %flags.219172, 2 - %tobool210.not.not = icmp eq i32 %and209, 0 - %37 = and i32 %flags.219172, 3 - %38 = icmp ne i32 %37, 0 - %or.cond7.not = or i1 %38, %is_neg.09176 + %and209 = and i32 %flags.227280, 2 + %tobool210.not = icmp eq i32 %and209, 0 + %and212 = and i32 %flags.227280, 1 + %tobool213.not = icmp eq i32 %and212, 0 + %34 = and i32 %flags.227280, 3 + %35 = icmp ne i32 %34, 0 + %or.cond7.not = or i1 %35, %is_neg.017284 %dec215 = sext i1 %or.cond7.not to i32 %width.8 = add nsw i32 %spec.select2, %dec215 - %and217 = and i32 %flags.219172, 4 + %and217 = and i32 %flags.227280, 4 %tobool218.not.not = icmp ne i32 %and217, 0 - %39 = and i32 %flags.219172, 260 - %or.cond8 = icmp eq i32 %39, 0 + %36 = and i32 %flags.227280, 260 + %or.cond8 = icmp eq i32 %36, 0 br i1 %or.cond8, label %while.cond223.preheader, label %if.end237 while.cond223.preheader: ; preds = %if.end198 - %dec22496 = add nsw i32 %width.8, -1 - %cmp22597 = icmp sgt i32 %width.8, 0 - br i1 %cmp22597, label %if.then231.preheader, label %if.end237 + %dec224175 = add nsw i32 %width.8, -1 + %cmp225176 = icmp sgt i32 %width.8, 0 + br i1 %cmp225176, label %do.body228.preheader, label %if.end237 -if.then231.preheader: ; preds = %while.cond223.preheader - %40 = add i32 %spec.select2, %done.1 - %.pre140 = load ptr, ptr %userp, align 8 - br label %if.then231 +do.body228.preheader: ; preds = %while.cond223.preheader + %37 = add i32 %spec.select2, %done.1 + %38 = add i32 %37, %dec215 + br label %do.body228 -if.then231: ; preds = %if.then231.preheader, %if.then231 - %41 = phi ptr [ %incdec.ptr.i15, %if.then231 ], [ %.pre140, %if.then231.preheader ] - %dec22499 = phi i32 [ %dec224, %if.then231 ], [ %dec22496, %if.then231.preheader ] - store i8 32, ptr %41, align 1 - %42 = load ptr, ptr %userp, align 8 - %incdec.ptr.i15 = getelementptr inbounds i8, ptr %42, i64 1 - store ptr %incdec.ptr.i15, ptr %userp, align 8 - %dec224 = add nsw i32 %dec22499, -1 - %cmp225.not = icmp eq i32 %dec22499, 0 - br i1 %cmp225.not, label %if.end237.loopexit, label %if.then231, !llvm.loop !10 +do.body228: ; preds = %do.body228.preheader, %if.then231 + %dec224178 = phi i32 [ %dec224, %if.then231 ], [ %dec224175, %do.body228.preheader ] + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %outc.addr.i39) + store i8 32, ptr %outc.addr.i39, align 1 + %39 = load ptr, ptr %userp, align 8 + %call.i40 = call i32 @Curl_dyn_addn(ptr noundef %39, ptr noundef nonnull %outc.addr.i39, i64 noundef 1) #12 + %tobool.not.i41 = icmp eq i32 %call.i40, 0 + br i1 %tobool.not.i41, label %if.then231, label %alloc_addbyter.exit47 + +alloc_addbyter.exit47: ; preds = %do.body228 + %cmp.i43 = icmp eq i32 %call.i40, 100 + %conv.i44 = select i1 %cmp.i43, i8 2, i8 1 + %merr.i45 = getelementptr inbounds i8, ptr %userp, i64 8 + store i8 %conv.i44, ptr %merr.i45, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i39) + br label %return -if.end237.loopexit: ; preds = %if.then231 - %43 = add i32 %40, %dec215 - br label %if.end237 +if.then231: ; preds = %do.body228 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i39) + %dec224 = add nsw i32 %dec224178, -1 + %cmp225 = icmp sgt i32 %dec224178, 0 + br i1 %cmp225, label %do.body228, label %if.end237, !llvm.loop !10 -if.end237: ; preds = %if.end237.loopexit, %while.cond223.preheader, %if.end198 - %done.7 = phi i32 [ %done.1, %if.end198 ], [ %done.1, %while.cond223.preheader ], [ %43, %if.end237.loopexit ] - %width.9 = phi i32 [ %width.8, %if.end198 ], [ %dec22496, %while.cond223.preheader ], [ -1, %if.end237.loopexit ] - %44 = and i32 %flags.219172, 3 - %45 = icmp ne i32 %44, 0 - %brmerge205 = or i1 %is_neg.09176, %45 - br i1 %brmerge205, label %if.end274.sink.split, label %if.end274 +if.end237: ; preds = %if.then231, %while.cond223.preheader, %if.end198 + %done.7 = phi i32 [ %done.1, %if.end198 ], [ %done.1, %while.cond223.preheader ], [ %38, %if.then231 ] + %width.9 = phi i32 [ %width.8, %if.end198 ], [ %dec224175, %while.cond223.preheader ], [ -1, %if.then231 ] + br i1 %is_neg.017284, label %do.body240, label %if.else248 -if.end274.sink.split: ; preds = %if.end237 - %.mux = select i1 %tobool210.not.not, i8 32, i8 43 - %.mux.mux = select i1 %is_neg.09176, i8 45, i8 %.mux - %46 = load ptr, ptr %userp, align 8 - store i8 %.mux.mux, ptr %46, align 1 - %47 = load ptr, ptr %userp, align 8 - %incdec.ptr.i18 = getelementptr inbounds i8, ptr %47, i64 1 - store ptr %incdec.ptr.i18, ptr %userp, align 8 +do.body240: ; preds = %if.end237 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %outc.addr.i48) + store i8 45, ptr %outc.addr.i48, align 1 + %40 = load ptr, ptr %userp, align 8 + %call.i49 = call i32 @Curl_dyn_addn(ptr noundef %40, ptr noundef nonnull %outc.addr.i48, i64 noundef 1) #12 + %tobool.not.i50 = icmp eq i32 %call.i49, 0 + br i1 %tobool.not.i50, label %if.then243, label %alloc_addbyter.exit56 + +alloc_addbyter.exit56: ; preds = %do.body240 + %cmp.i52 = icmp eq i32 %call.i49, 100 + %conv.i53 = select i1 %cmp.i52, i8 2, i8 1 + %merr.i54 = getelementptr inbounds i8, ptr %userp, i64 8 + store i8 %conv.i53, ptr %merr.i54, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i48) + br label %return + +if.then243: ; preds = %do.body240 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i48) + %inc244 = add nsw i32 %done.7, 1 + br label %if.end274 + +if.else248: ; preds = %if.end237 + br i1 %tobool210.not, label %if.else260, label %do.body252 + +do.body252: ; preds = %if.else248 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %outc.addr.i57) + store i8 43, ptr %outc.addr.i57, align 1 + %41 = load ptr, ptr %userp, align 8 + %call.i58 = call i32 @Curl_dyn_addn(ptr noundef %41, ptr noundef nonnull %outc.addr.i57, i64 noundef 1) #12 + %tobool.not.i59 = icmp eq i32 %call.i58, 0 + br i1 %tobool.not.i59, label %if.then255, label %alloc_addbyter.exit65 + +alloc_addbyter.exit65: ; preds = %do.body252 + %cmp.i61 = icmp eq i32 %call.i58, 100 + %conv.i62 = select i1 %cmp.i61, i8 2, i8 1 + %merr.i63 = getelementptr inbounds i8, ptr %userp, i64 8 + store i8 %conv.i62, ptr %merr.i63, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i57) + br label %return + +if.then255: ; preds = %do.body252 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i57) + %inc256 = add nsw i32 %done.7, 1 + br label %if.end274 + +if.else260: ; preds = %if.else248 + br i1 %tobool213.not, label %if.end274, label %do.body264 + +do.body264: ; preds = %if.else260 + %call265 = call fastcc i32 @alloc_addbyter(i8 noundef zeroext 32, ptr noundef %userp) + %tobool266.not = icmp eq i32 %call265, 0 + br i1 %tobool266.not, label %if.then267, label %return + +if.then267: ; preds = %do.body264 %inc268 = add nsw i32 %done.7, 1 br label %if.end274 -if.end274: ; preds = %if.end237, %if.end274.sink.split - %done.9 = phi i32 [ %inc268, %if.end274.sink.split ], [ %done.7, %if.end237 ] - br i1 %or.cond4, label %if.then284, label %if.end310 +if.end274: ; preds = %if.then267, %if.else260, %if.then255, %if.then243 + %done.9 = phi i32 [ %inc244, %if.then243 ], [ %inc256, %if.then255 ], [ %inc268, %if.then267 ], [ %done.7, %if.else260 ] + br i1 %or.cond4, label %do.body281, label %if.end310 -if.then284: ; preds = %if.end274 - %48 = load ptr, ptr %userp, align 8 - store i8 48, ptr %48, align 1 - %49 = load ptr, ptr %userp, align 8 - %incdec.ptr.i19 = getelementptr inbounds i8, ptr %49, i64 1 - store ptr %incdec.ptr.i19, ptr %userp, align 8 - %and289 = and i32 %flags.219172, 4096 +do.body281: ; preds = %if.end274 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %outc.addr.i66) + store i8 48, ptr %outc.addr.i66, align 1 + %42 = load ptr, ptr %userp, align 8 + %call.i67 = call i32 @Curl_dyn_addn(ptr noundef %42, ptr noundef nonnull %outc.addr.i66, i64 noundef 1) #12 + %tobool.not.i68 = icmp eq i32 %call.i67, 0 + br i1 %tobool.not.i68, label %if.then284, label %alloc_addbyter.exit74 + +alloc_addbyter.exit74: ; preds = %do.body281 + %cmp.i70 = icmp eq i32 %call.i67, 100 + %conv.i71 = select i1 %cmp.i70, i8 2, i8 1 + %merr.i72 = getelementptr inbounds i8, ptr %userp, i64 8 + store i8 %conv.i71, ptr %merr.i72, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i66) + br label %return + +if.then284: ; preds = %do.body281 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i66) + %and289 = and i32 %flags.227280, 4096 %tobool290.not = icmp eq i32 %and289, 0 + br i1 %tobool290.not, label %do.body301, label %do.body292 + +do.body292: ; preds = %if.then284 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %outc.addr.i75) + store i8 88, ptr %outc.addr.i75, align 1 + %43 = load ptr, ptr %userp, align 8 + %call.i76 = call i32 @Curl_dyn_addn(ptr noundef %43, ptr noundef nonnull %outc.addr.i75, i64 noundef 1) #12 + %tobool.not.i77 = icmp eq i32 %call.i76, 0 + br i1 %tobool.not.i77, label %if.then295, label %alloc_addbyter.exit83 + +alloc_addbyter.exit83: ; preds = %do.body292 + %cmp.i79 = icmp eq i32 %call.i76, 100 + %conv.i80 = select i1 %cmp.i79, i8 2, i8 1 + %merr.i81 = getelementptr inbounds i8, ptr %userp, i64 8 + store i8 %conv.i80, ptr %merr.i81, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i75) + br label %return + +if.then295: ; preds = %do.body292 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i75) + %inc296 = add nsw i32 %done.9, 2 + br label %if.end310 + +do.body301: ; preds = %if.then284 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %outc.addr.i84) + store i8 120, ptr %outc.addr.i84, align 1 + %44 = load ptr, ptr %userp, align 8 + %call.i85 = call i32 @Curl_dyn_addn(ptr noundef %44, ptr noundef nonnull %outc.addr.i84, i64 noundef 1) #12 + %tobool.not.i86 = icmp eq i32 %call.i85, 0 + br i1 %tobool.not.i86, label %if.then304, label %alloc_addbyter.exit92 + +alloc_addbyter.exit92: ; preds = %do.body301 + %cmp.i88 = icmp eq i32 %call.i85, 100 + %conv.i89 = select i1 %cmp.i88, i8 2, i8 1 + %merr.i90 = getelementptr inbounds i8, ptr %userp, i64 8 + store i8 %conv.i89, ptr %merr.i90, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i84) + br label %return + +if.then304: ; preds = %do.body301 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i84) %inc305 = add nsw i32 %done.9, 2 - %. = select i1 %tobool290.not, i8 120, i8 88 - store i8 %., ptr %incdec.ptr.i19, align 1 - %50 = load ptr, ptr %userp, align 8 - %incdec.ptr.i21 = getelementptr inbounds i8, ptr %50, i64 1 - store ptr %incdec.ptr.i21, ptr %userp, align 8 br label %if.end310 -if.end310: ; preds = %if.then284, %if.end274 - %done.10 = phi i32 [ %done.9, %if.end274 ], [ %inc305, %if.then284 ] - %or.cond9.not = icmp eq i32 %39, 256 +if.end310: ; preds = %if.then304, %if.then295, %if.end274 + %done.10 = phi i32 [ %inc296, %if.then295 ], [ %inc305, %if.then304 ], [ %done.9, %if.end274 ] + %or.cond9.not = icmp eq i32 %36, 256 br i1 %or.cond9.not, label %while.cond317.preheader, label %if.end331 while.cond317.preheader: ; preds = %if.end310 - %dec318102 = add nsw i32 %width.9, -1 - %cmp319103 = icmp sgt i32 %width.9, 0 - br i1 %cmp319103, label %if.then325.preheader, label %if.end331 + %dec318181 = add nsw i32 %width.9, -1 + %cmp319182 = icmp sgt i32 %width.9, 0 + br i1 %cmp319182, label %do.body322.preheader, label %if.end331 -if.then325.preheader: ; preds = %while.cond317.preheader - %.pre141 = load ptr, ptr %userp, align 8 - br label %if.then325 +do.body322.preheader: ; preds = %while.cond317.preheader + %45 = add i32 %done.10, %width.9 + br label %do.body322 -if.then325: ; preds = %if.then325.preheader, %if.then325 - %51 = phi ptr [ %incdec.ptr.i22, %if.then325 ], [ %.pre141, %if.then325.preheader ] - %dec318105 = phi i32 [ %dec318, %if.then325 ], [ %dec318102, %if.then325.preheader ] - store i8 48, ptr %51, align 1 - %52 = load ptr, ptr %userp, align 8 - %incdec.ptr.i22 = getelementptr inbounds i8, ptr %52, i64 1 - store ptr %incdec.ptr.i22, ptr %userp, align 8 - %dec318 = add nsw i32 %dec318105, -1 - %cmp319.not = icmp eq i32 %dec318105, 0 - br i1 %cmp319.not, label %if.end331.loopexit, label %if.then325, !llvm.loop !11 +do.body322: ; preds = %do.body322.preheader, %if.then325 + %dec318184 = phi i32 [ %dec318, %if.then325 ], [ %dec318181, %do.body322.preheader ] + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %outc.addr.i93) + store i8 48, ptr %outc.addr.i93, align 1 + %46 = load ptr, ptr %userp, align 8 + %call.i94 = call i32 @Curl_dyn_addn(ptr noundef %46, ptr noundef nonnull %outc.addr.i93, i64 noundef 1) #12 + %tobool.not.i95 = icmp eq i32 %call.i94, 0 + br i1 %tobool.not.i95, label %if.then325, label %alloc_addbyter.exit101 + +alloc_addbyter.exit101: ; preds = %do.body322 + %cmp.i97 = icmp eq i32 %call.i94, 100 + %conv.i98 = select i1 %cmp.i97, i8 2, i8 1 + %merr.i99 = getelementptr inbounds i8, ptr %userp, i64 8 + store i8 %conv.i98, ptr %merr.i99, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i93) + br label %return -if.end331.loopexit: ; preds = %if.then325 - %53 = add i32 %done.10, %width.9 - br label %if.end331 +if.then325: ; preds = %do.body322 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i93) + %dec318 = add nsw i32 %dec318184, -1 + %cmp319 = icmp sgt i32 %dec318184, 0 + br i1 %cmp319, label %do.body322, label %if.end331, !llvm.loop !11 -if.end331: ; preds = %if.end331.loopexit, %while.cond317.preheader, %if.end310 - %done.11 = phi i32 [ %done.10, %if.end310 ], [ %done.10, %while.cond317.preheader ], [ %53, %if.end331.loopexit ] - %width.11 = phi i32 [ %width.9, %if.end310 ], [ %dec318102, %while.cond317.preheader ], [ -1, %if.end331.loopexit ] - %cmp334.not108 = icmp sgt i64 %w.4.idx, 323 - br i1 %cmp334.not108, label %while.end345, label %if.then340.preheader +if.end331: ; preds = %if.then325, %while.cond317.preheader, %if.end310 + %done.11 = phi i32 [ %done.10, %if.end310 ], [ %done.10, %while.cond317.preheader ], [ %45, %if.then325 ] + %width.11 = phi i32 [ %width.9, %if.end310 ], [ %dec318181, %while.cond317.preheader ], [ -1, %if.then325 ] + %cmp334.not188 = icmp sgt i64 %w.4.idx, 323 + br i1 %cmp334.not188, label %while.end345, label %do.body337.preheader -if.then340.preheader: ; preds = %if.end331 - %54 = trunc i64 %w.4.idx to i32 - %.pre142 = load ptr, ptr %userp, align 8 - br label %if.then340 +do.body337.preheader: ; preds = %if.end331 + %47 = add i32 %done.11, 324 + %48 = trunc i64 %w.4.idx to i32 + %49 = sub i32 %47, %48 + br label %do.body337 -if.then340: ; preds = %if.then340.preheader, %if.then340 - %55 = phi ptr [ %incdec.ptr.i23, %if.then340 ], [ %.pre142, %if.then340.preheader ] - %w.6.idx110 = phi i64 [ %w.6.add, %if.then340 ], [ %w.4.idx, %if.then340.preheader ] - %w.6.add = add nsw i64 %w.6.idx110, 1 - %incdec.ptr333.ptr = getelementptr inbounds i8, ptr %work, i64 %w.6.add - %56 = load i8, ptr %incdec.ptr333.ptr, align 1 - store i8 %56, ptr %55, align 1 - %57 = load ptr, ptr %userp, align 8 - %incdec.ptr.i23 = getelementptr inbounds i8, ptr %57, i64 1 - store ptr %incdec.ptr.i23, ptr %userp, align 8 - %exitcond131 = icmp eq i64 %w.6.add, 324 - br i1 %exitcond131, label %while.end345.loopexit, label %if.then340, !llvm.loop !12 +do.body337: ; preds = %do.body337.preheader, %if.then340 + %w.6.add190.in = phi i64 [ %w.6.add190, %if.then340 ], [ %w.4.idx, %do.body337.preheader ] + %w.6.add190 = add nsw i64 %w.6.add190.in, 1 + %incdec.ptr333.ptr = getelementptr inbounds i8, ptr %work, i64 %w.6.add190 + %50 = load i8, ptr %incdec.ptr333.ptr, align 1 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %outc.addr.i102) + store i8 %50, ptr %outc.addr.i102, align 1 + %51 = load ptr, ptr %userp, align 8 + %call.i103 = call i32 @Curl_dyn_addn(ptr noundef %51, ptr noundef nonnull %outc.addr.i102, i64 noundef 1) #12 + %tobool.not.i104 = icmp eq i32 %call.i103, 0 + br i1 %tobool.not.i104, label %if.then340, label %alloc_addbyter.exit110 + +alloc_addbyter.exit110: ; preds = %do.body337 + %cmp.i106 = icmp eq i32 %call.i103, 100 + %conv.i107 = select i1 %cmp.i106, i8 2, i8 1 + %merr.i108 = getelementptr inbounds i8, ptr %userp, i64 8 + store i8 %conv.i107, ptr %merr.i108, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i102) + br label %return -while.end345.loopexit: ; preds = %if.then340 - %58 = add i32 %done.11, 324 - %59 = sub i32 %58, %54 - br label %while.end345 +if.then340: ; preds = %do.body337 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i102) + %exitcond260 = icmp eq i64 %w.6.add190, 324 + br i1 %exitcond260, label %while.end345, label %do.body337, !llvm.loop !12 -while.end345: ; preds = %while.end345.loopexit, %if.end331 - %done.13.lcssa = phi i32 [ %done.11, %if.end331 ], [ %59, %while.end345.loopexit ] - %cmp351112 = icmp sgt i32 %width.11, 0 - %or.cond123 = select i1 %tobool218.not.not, i1 %cmp351112, i1 false - br i1 %or.cond123, label %if.then357.preheader, label %for.inc695 +while.end345: ; preds = %if.then340, %if.end331 + %done.13.lcssa = phi i32 [ %done.11, %if.end331 ], [ %49, %if.then340 ] + %cmp351193 = icmp sgt i32 %width.11, 0 + %or.cond210 = select i1 %tobool218.not.not, i1 %cmp351193, i1 false + br i1 %or.cond210, label %do.body354.preheader, label %for.inc695 -if.then357.preheader: ; preds = %while.end345 - %.pre143 = load ptr, ptr %userp, align 8 - br label %if.then357 +do.body354.preheader: ; preds = %while.end345 + %52 = add i32 %width.11, %done.13.lcssa + br label %do.body354 -if.then357: ; preds = %if.then357.preheader, %if.then357 - %60 = phi ptr [ %incdec.ptr.i24, %if.then357 ], [ %.pre143, %if.then357.preheader ] - %width.13114 = phi i32 [ %dec350, %if.then357 ], [ %width.11, %if.then357.preheader ] - %dec350 = add nsw i32 %width.13114, -1 - store i8 32, ptr %60, align 1 - %61 = load ptr, ptr %userp, align 8 - %incdec.ptr.i24 = getelementptr inbounds i8, ptr %61, i64 1 - store ptr %incdec.ptr.i24, ptr %userp, align 8 - %cmp351 = icmp ugt i32 %width.13114, 1 - br i1 %cmp351, label %if.then357, label %for.inc695.loopexit, !llvm.loop !13 +do.body354: ; preds = %do.body354.preheader, %if.then357 + %dec350195.in = phi i32 [ %dec350195, %if.then357 ], [ %width.11, %do.body354.preheader ] + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %outc.addr.i111) + store i8 32, ptr %outc.addr.i111, align 1 + %53 = load ptr, ptr %userp, align 8 + %call.i112 = call i32 @Curl_dyn_addn(ptr noundef %53, ptr noundef nonnull %outc.addr.i111, i64 noundef 1) #12 + %tobool.not.i113 = icmp eq i32 %call.i112, 0 + br i1 %tobool.not.i113, label %if.then357, label %alloc_addbyter.exit119 + +alloc_addbyter.exit119: ; preds = %do.body354 + %cmp.i115 = icmp eq i32 %call.i112, 100 + %conv.i116 = select i1 %cmp.i115, i8 2, i8 1 + %merr.i117 = getelementptr inbounds i8, ptr %userp, i64 8 + store i8 %conv.i116, ptr %merr.i117, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i111) + br label %return + +if.then357: ; preds = %do.body354 + %dec350195 = add nsw i32 %dec350195.in, -1 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i111) + %cmp351 = icmp sgt i32 %dec350195.in, 1 + br i1 %cmp351, label %do.body354, label %for.inc695, !llvm.loop !13 sw.bb364: ; preds = %if.end58 %val366 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 - %62 = load ptr, ptr %val366, align 8 - %tobool367.not = icmp eq ptr %62, null + %54 = load ptr, ptr %val366, align 8 + %tobool367.not = icmp eq ptr %54, null %cmp369 = icmp eq i32 %prec.0, -1 br i1 %tobool367.not, label %if.then368, label %if.else378 @@ -4857,7 +5057,7 @@ if.then368: ; preds = %sw.bb364 if.end392.thread: ; preds = %if.then368 %and375 = and i32 %flags.0, -9 - %sub397191 = add nsw i32 %width.1, -5 + %sub397299 = add nsw i32 %width.1, -5 br label %if.end409 if.else378: ; preds = %sw.bb364 @@ -4868,218 +5068,280 @@ if.then381: ; preds = %if.else378 br label %if.end392 if.else383: ; preds = %if.else378 - %63 = load i8, ptr %62, align 1 - %cmp385 = icmp eq i8 %63, 0 + %55 = load i8, ptr %54, align 1 + %cmp385 = icmp eq i8 %55, 0 br i1 %cmp385, label %if.end392, label %if.else388 if.else388: ; preds = %if.else383 - %call389 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %62) #11 + %call389 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %54) #11 br label %if.end392 if.end392: ; preds = %if.else383, %if.then368, %if.else388, %if.then381 - %str365.0 = phi ptr [ %62, %if.else383 ], [ @.str, %if.then368 ], [ %62, %if.else388 ], [ %62, %if.then381 ] + %str365.0 = phi ptr [ %54, %if.else383 ], [ @.str, %if.then368 ], [ %54, %if.else388 ], [ %54, %if.then381 ] %len.0 = phi i64 [ 0, %if.else383 ], [ 0, %if.then368 ], [ %call389, %if.else388 ], [ %conv382, %if.then381 ] %cond3961 = call i64 @llvm.umin.i64(i64 %len.0, i64 2147483647) %cond396 = trunc nuw nsw i64 %cond3961 to i32 %sub397 = sub nsw i32 %width.1, %cond396 %tobool399.not = icmp eq i32 %and59, 0 - br i1 %tobool399.not, label %if.end409, label %if.then404 + br i1 %tobool399.not, label %if.end409, label %do.body401 -if.then404: ; preds = %if.end392 - %64 = load ptr, ptr %userp, align 8 - store i8 34, ptr %64, align 1 - %65 = load ptr, ptr %userp, align 8 - %incdec.ptr.i25 = getelementptr inbounds i8, ptr %65, i64 1 - store ptr %incdec.ptr.i25, ptr %userp, align 8 +do.body401: ; preds = %if.end392 + %call402 = call fastcc i32 @alloc_addbyter(i8 noundef zeroext 34, ptr noundef %userp) + %tobool403.not = icmp eq i32 %call402, 0 + br i1 %tobool403.not, label %if.then404, label %return + +if.then404: ; preds = %do.body401 %inc405 = add nsw i32 %done.1, 1 br label %if.end409 - -if.end409: ; preds = %if.end392.thread, %if.then404, %if.end392 - %tobool399.not198 = phi i1 [ false, %if.then404 ], [ true, %if.end392 ], [ true, %if.end392.thread ] - %sub397197 = phi i32 [ %sub397, %if.then404 ], [ %sub397, %if.end392 ], [ %sub397191, %if.end392.thread ] - %cond396196 = phi i32 [ %cond396, %if.then404 ], [ %cond396, %if.end392 ], [ 5, %if.end392.thread ] - %len.0195 = phi i64 [ %len.0, %if.then404 ], [ %len.0, %if.end392 ], [ 5, %if.end392.thread ] - %str365.0194 = phi ptr [ %str365.0, %if.then404 ], [ %str365.0, %if.end392 ], [ @formatf.nilstr, %if.end392.thread ] - %flags.3193 = phi i32 [ %flags.0, %if.then404 ], [ %flags.0, %if.end392 ], [ %and375, %if.end392.thread ] + +if.end409: ; preds = %if.end392.thread, %if.then404, %if.end392 + %tobool399.not306 = phi i1 [ false, %if.then404 ], [ true, %if.end392 ], [ true, %if.end392.thread ] + %sub397305 = phi i32 [ %sub397, %if.then404 ], [ %sub397, %if.end392 ], [ %sub397299, %if.end392.thread ] + %cond396304 = phi i32 [ %cond396, %if.then404 ], [ %cond396, %if.end392 ], [ 5, %if.end392.thread ] + %len.0303 = phi i64 [ %len.0, %if.then404 ], [ %len.0, %if.end392 ], [ 5, %if.end392.thread ] + %str365.0302 = phi ptr [ %str365.0, %if.then404 ], [ %str365.0, %if.end392 ], [ @formatf.nilstr, %if.end392.thread ] + %flags.3301 = phi i32 [ %flags.0, %if.then404 ], [ %flags.0, %if.end392 ], [ %and375, %if.end392.thread ] %done.15 = phi i32 [ %inc405, %if.then404 ], [ %done.1, %if.end392 ], [ %done.1, %if.end392.thread ] - %and410 = and i32 %flags.3193, 4 + %and410 = and i32 %flags.3301, 4 %tobool411.not = icmp ne i32 %and410, 0 br i1 %tobool411.not, label %if.end427, label %while.cond413.preheader while.cond413.preheader: ; preds = %if.end409 - %dec41458 = add nsw i32 %sub397197, -1 - %cmp41559 = icmp sgt i32 %sub397197, 0 - br i1 %cmp41559, label %if.then421.preheader, label %if.end427 + %dec414135 = add nsw i32 %sub397305, -1 + %cmp415136 = icmp sgt i32 %sub397305, 0 + br i1 %cmp415136, label %do.body418.preheader, label %if.end427 -if.then421.preheader: ; preds = %while.cond413.preheader - %66 = add i32 %width.1, %done.15 - %.pre135 = load ptr, ptr %userp, align 8 - br label %if.then421 +do.body418.preheader: ; preds = %while.cond413.preheader + %56 = add i32 %width.1, %done.15 + %57 = sub i32 %56, %cond396304 + br label %do.body418 -if.then421: ; preds = %if.then421.preheader, %if.then421 - %67 = phi ptr [ %incdec.ptr.i26, %if.then421 ], [ %.pre135, %if.then421.preheader ] - %dec41461 = phi i32 [ %dec414, %if.then421 ], [ %dec41458, %if.then421.preheader ] - store i8 32, ptr %67, align 1 - %68 = load ptr, ptr %userp, align 8 - %incdec.ptr.i26 = getelementptr inbounds i8, ptr %68, i64 1 - store ptr %incdec.ptr.i26, ptr %userp, align 8 - %dec414 = add nsw i32 %dec41461, -1 - %cmp415.not = icmp eq i32 %dec41461, 0 - br i1 %cmp415.not, label %if.end427.loopexit, label %if.then421, !llvm.loop !14 +do.body418: ; preds = %do.body418.preheader, %if.then421 + %dec414138 = phi i32 [ %dec414, %if.then421 ], [ %dec414135, %do.body418.preheader ] + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %outc.addr.i120) + store i8 32, ptr %outc.addr.i120, align 1 + %58 = load ptr, ptr %userp, align 8 + %call.i121 = call i32 @Curl_dyn_addn(ptr noundef %58, ptr noundef nonnull %outc.addr.i120, i64 noundef 1) #12 + %tobool.not.i122 = icmp eq i32 %call.i121, 0 + br i1 %tobool.not.i122, label %if.then421, label %alloc_addbyter.exit128 + +alloc_addbyter.exit128: ; preds = %do.body418 + %cmp.i124 = icmp eq i32 %call.i121, 100 + %conv.i125 = select i1 %cmp.i124, i8 2, i8 1 + %merr.i126 = getelementptr inbounds i8, ptr %userp, i64 8 + store i8 %conv.i125, ptr %merr.i126, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i120) + br label %return -if.end427.loopexit: ; preds = %if.then421 - %69 = sub i32 %66, %cond396196 - br label %if.end427 +if.then421: ; preds = %do.body418 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i120) + %dec414 = add nsw i32 %dec414138, -1 + %cmp415 = icmp sgt i32 %dec414138, 0 + br i1 %cmp415, label %do.body418, label %if.end427, !llvm.loop !14 -if.end427: ; preds = %if.end427.loopexit, %while.cond413.preheader, %if.end409 - %done.16 = phi i32 [ %done.15, %if.end409 ], [ %done.15, %while.cond413.preheader ], [ %69, %if.end427.loopexit ] - %width.14 = phi i32 [ %sub397197, %if.end409 ], [ %dec41458, %while.cond413.preheader ], [ -1, %if.end427.loopexit ] - %tobool429.not64 = icmp eq i64 %len.0195, 0 - br i1 %tobool429.not64, label %for.end446, label %land.rhs430.preheader +if.end427: ; preds = %if.then421, %while.cond413.preheader, %if.end409 + %done.16 = phi i32 [ %done.15, %if.end409 ], [ %done.15, %while.cond413.preheader ], [ %57, %if.then421 ] + %width.14 = phi i32 [ %sub397305, %if.end409 ], [ %dec414135, %while.cond413.preheader ], [ -1, %if.then421 ] + %tobool429.not141 = icmp eq i64 %len.0303, 0 + br i1 %tobool429.not141, label %for.end446, label %land.rhs430.preheader land.rhs430.preheader: ; preds = %if.end427 - %70 = trunc i64 %len.0195 to i32 - %71 = add i32 %done.16, %70 + %59 = trunc i64 %len.0303 to i32 + %60 = add i32 %done.16, %59 br label %land.rhs430 land.rhs430: ; preds = %land.rhs430.preheader, %if.then439 - %len.167 = phi i64 [ %dec445, %if.then439 ], [ %len.0195, %land.rhs430.preheader ] - %str365.166 = phi ptr [ %incdec.ptr436, %if.then439 ], [ %str365.0194, %land.rhs430.preheader ] - %done.1865 = phi i32 [ %inc440, %if.then439 ], [ %done.16, %land.rhs430.preheader ] - %72 = load i8, ptr %str365.166, align 1 - %tobool432.not = icmp eq i8 %72, 0 - br i1 %tobool432.not, label %for.end446, label %if.then439 + %len.1144 = phi i64 [ %dec445, %if.then439 ], [ %len.0303, %land.rhs430.preheader ] + %str365.1143 = phi ptr [ %incdec.ptr436, %if.then439 ], [ %str365.0302, %land.rhs430.preheader ] + %done.18142 = phi i32 [ %inc440, %if.then439 ], [ %done.16, %land.rhs430.preheader ] + %61 = load i8, ptr %str365.1143, align 1 + %tobool432.not = icmp eq i8 %61, 0 + br i1 %tobool432.not, label %for.end446, label %do.body435 -if.then439: ; preds = %land.rhs430 - %73 = load ptr, ptr %userp, align 8 - store i8 %72, ptr %73, align 1 - %74 = load ptr, ptr %userp, align 8 - %incdec.ptr.i27 = getelementptr inbounds i8, ptr %74, i64 1 - store ptr %incdec.ptr.i27, ptr %userp, align 8 - %incdec.ptr436 = getelementptr inbounds i8, ptr %str365.166, i64 1 - %inc440 = add nsw i32 %done.1865, 1 - %dec445 = add i64 %len.167, -1 +do.body435: ; preds = %land.rhs430 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %outc.addr.i129) + store i8 %61, ptr %outc.addr.i129, align 1 + %62 = load ptr, ptr %userp, align 8 + %call.i130 = call i32 @Curl_dyn_addn(ptr noundef %62, ptr noundef nonnull %outc.addr.i129, i64 noundef 1) #12 + %tobool.not.i131 = icmp eq i32 %call.i130, 0 + br i1 %tobool.not.i131, label %if.then439, label %alloc_addbyter.exit137 + +alloc_addbyter.exit137: ; preds = %do.body435 + %cmp.i133 = icmp eq i32 %call.i130, 100 + %conv.i134 = select i1 %cmp.i133, i8 2, i8 1 + %merr.i135 = getelementptr inbounds i8, ptr %userp, i64 8 + store i8 %conv.i134, ptr %merr.i135, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i129) + br label %return + +if.then439: ; preds = %do.body435 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i129) + %incdec.ptr436 = getelementptr inbounds i8, ptr %str365.1143, i64 1 + %inc440 = add nsw i32 %done.18142, 1 + %dec445 = add i64 %len.1144, -1 %tobool429.not = icmp eq i64 %dec445, 0 br i1 %tobool429.not, label %for.end446, label %land.rhs430, !llvm.loop !15 for.end446: ; preds = %if.then439, %land.rhs430, %if.end427 - %done.18.lcssa = phi i32 [ %done.16, %if.end427 ], [ %done.1865, %land.rhs430 ], [ %71, %if.then439 ] - %cmp45270 = icmp sgt i32 %width.14, 0 - %or.cond124 = select i1 %tobool411.not, i1 %cmp45270, i1 false - br i1 %or.cond124, label %if.then458.preheader, label %if.end464 + %done.18.lcssa = phi i32 [ %done.16, %if.end427 ], [ %done.18142, %land.rhs430 ], [ %60, %if.then439 ] + %cmp452148 = icmp sgt i32 %width.14, 0 + %or.cond211 = select i1 %tobool411.not, i1 %cmp452148, i1 false + br i1 %or.cond211, label %do.body455.preheader, label %if.end464 -if.then458.preheader: ; preds = %for.end446 - %.pre136 = load ptr, ptr %userp, align 8 - br label %if.then458 +do.body455.preheader: ; preds = %for.end446 + %63 = add i32 %width.14, %done.18.lcssa + br label %do.body455 -if.then458: ; preds = %if.then458.preheader, %if.then458 - %75 = phi ptr [ %incdec.ptr.i28, %if.then458 ], [ %.pre136, %if.then458.preheader ] - %width.1672 = phi i32 [ %dec451, %if.then458 ], [ %width.14, %if.then458.preheader ] - %dec451 = add nsw i32 %width.1672, -1 - store i8 32, ptr %75, align 1 - %76 = load ptr, ptr %userp, align 8 - %incdec.ptr.i28 = getelementptr inbounds i8, ptr %76, i64 1 - store ptr %incdec.ptr.i28, ptr %userp, align 8 - %cmp452 = icmp ugt i32 %width.1672, 1 - br i1 %cmp452, label %if.then458, label %if.end464.loopexit, !llvm.loop !16 +do.body455: ; preds = %do.body455.preheader, %if.then458 + %dec451150.in = phi i32 [ %dec451150, %if.then458 ], [ %width.14, %do.body455.preheader ] + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %outc.addr.i138) + store i8 32, ptr %outc.addr.i138, align 1 + %64 = load ptr, ptr %userp, align 8 + %call.i139 = call i32 @Curl_dyn_addn(ptr noundef %64, ptr noundef nonnull %outc.addr.i138, i64 noundef 1) #12 + %tobool.not.i140 = icmp eq i32 %call.i139, 0 + br i1 %tobool.not.i140, label %if.then458, label %alloc_addbyter.exit146 + +alloc_addbyter.exit146: ; preds = %do.body455 + %cmp.i142 = icmp eq i32 %call.i139, 100 + %conv.i143 = select i1 %cmp.i142, i8 2, i8 1 + %merr.i144 = getelementptr inbounds i8, ptr %userp, i64 8 + store i8 %conv.i143, ptr %merr.i144, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i138) + br label %return -if.end464.loopexit: ; preds = %if.then458 - %77 = add i32 %width.14, %done.18.lcssa - br label %if.end464 +if.then458: ; preds = %do.body455 + %dec451150 = add nsw i32 %dec451150.in, -1 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i138) + %cmp452 = icmp sgt i32 %dec451150.in, 1 + br i1 %cmp452, label %do.body455, label %if.end464, !llvm.loop !16 -if.end464: ; preds = %if.end464.loopexit, %for.end446 - %done.19 = phi i32 [ %done.18.lcssa, %for.end446 ], [ %77, %if.end464.loopexit ] - br i1 %tobool399.not198, label %for.inc695, label %if.then471 +if.end464: ; preds = %if.then458, %for.end446 + %done.19 = phi i32 [ %done.18.lcssa, %for.end446 ], [ %63, %if.then458 ] + br i1 %tobool399.not306, label %for.inc695, label %do.body468 -if.then471: ; preds = %if.end464 - %78 = load ptr, ptr %userp, align 8 - store i8 34, ptr %78, align 1 - %79 = load ptr, ptr %userp, align 8 - %incdec.ptr.i29 = getelementptr inbounds i8, ptr %79, i64 1 - store ptr %incdec.ptr.i29, ptr %userp, align 8 +do.body468: ; preds = %if.end464 + %call469 = call fastcc i32 @alloc_addbyter(i8 noundef zeroext 34, ptr noundef %userp) + %tobool470.not = icmp eq i32 %call469, 0 + br i1 %tobool470.not, label %if.then471, label %return + +if.then471: ; preds = %do.body468 %inc472 = add nsw i32 %done.19, 1 br label %for.inc695 sw.bb477: ; preds = %if.end58 %val478 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 - %80 = load ptr, ptr %val478, align 8 - %tobool479.not = icmp eq ptr %80, null + %65 = load ptr, ptr %val478, align 8 + %tobool479.not = icmp eq ptr %65, null br i1 %tobool479.not, label %if.else485, label %if.then480 if.then480: ; preds = %sw.bb477 %and481 = and i32 %flags.0, 4096 %tobool482.not = icmp eq i32 %and481, 0 %cond483 = select i1 %tobool482.not, ptr @lower_digits, ptr @upper_digits - %81 = ptrtoint ptr %80 to i64 + %66 = ptrtoint ptr %65 to i64 br label %while.cond155.preheader if.else485: ; preds = %sw.bb477 %sub486 = add i32 %width.1, -5 %and487 = and i32 %flags.0, 4 %tobool488.not = icmp eq i32 %and487, 0 - br i1 %tobool488.not, label %if.else485.if.end504_crit_edge, label %while.cond490.preheader - -if.else485.if.end504_crit_edge: ; preds = %if.else485 - %.pre134.pre = load ptr, ptr %userp, align 8 - br label %if.end504 + br i1 %tobool488.not, label %if.end504, label %while.cond490.preheader while.cond490.preheader: ; preds = %if.else485 - %dec49146 = add nsw i32 %width.1, -6 - %cmp49247 = icmp sgt i32 %width.1, 5 - %.pre134.pre144 = load ptr, ptr %userp, align 8 - br i1 %cmp49247, label %if.then498, label %if.end504 + %dec491122 = add nsw i32 %width.1, -6 + %cmp492123 = icmp sgt i32 %width.1, 5 + br i1 %cmp492123, label %do.body495.preheader, label %if.end504 -if.then498: ; preds = %while.cond490.preheader, %if.then498 - %82 = phi ptr [ %incdec.ptr.i30, %if.then498 ], [ %.pre134.pre144, %while.cond490.preheader ] - %dec49149 = phi i32 [ %dec491, %if.then498 ], [ %dec49146, %while.cond490.preheader ] - store i8 32, ptr %82, align 1 - %83 = load ptr, ptr %userp, align 8 - %incdec.ptr.i30 = getelementptr inbounds i8, ptr %83, i64 1 - store ptr %incdec.ptr.i30, ptr %userp, align 8 - %dec491 = add nsw i32 %dec49149, -1 - %cmp492.not = icmp eq i32 %dec49149, 0 - br i1 %cmp492.not, label %if.end504.loopexit, label %if.then498, !llvm.loop !17 +do.body495.preheader: ; preds = %while.cond490.preheader + %67 = add i32 %sub486, %done.1 + br label %do.body495 -if.end504.loopexit: ; preds = %if.then498 - %84 = add i32 %sub486, %done.1 - br label %if.end504 +do.body495: ; preds = %do.body495.preheader, %if.then498 + %dec491125 = phi i32 [ %dec491, %if.then498 ], [ %dec491122, %do.body495.preheader ] + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %outc.addr.i147) + store i8 32, ptr %outc.addr.i147, align 1 + %68 = load ptr, ptr %userp, align 8 + %call.i148 = call i32 @Curl_dyn_addn(ptr noundef %68, ptr noundef nonnull %outc.addr.i147, i64 noundef 1) #12 + %tobool.not.i149 = icmp eq i32 %call.i148, 0 + br i1 %tobool.not.i149, label %if.then498, label %alloc_addbyter.exit155 + +alloc_addbyter.exit155: ; preds = %do.body495 + %cmp.i151 = icmp eq i32 %call.i148, 100 + %conv.i152 = select i1 %cmp.i151, i8 2, i8 1 + %merr.i153 = getelementptr inbounds i8, ptr %userp, i64 8 + store i8 %conv.i152, ptr %merr.i153, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i147) + br label %return -if.end504: ; preds = %if.else485.if.end504_crit_edge, %if.end504.loopexit, %while.cond490.preheader - %.pre134 = phi ptr [ %.pre134.pre, %if.else485.if.end504_crit_edge ], [ %.pre134.pre144, %while.cond490.preheader ], [ %incdec.ptr.i30, %if.end504.loopexit ] - %done.21 = phi i32 [ %done.1, %if.else485.if.end504_crit_edge ], [ %done.1, %while.cond490.preheader ], [ %84, %if.end504.loopexit ] - %width.17 = phi i32 [ %sub486, %if.else485.if.end504_crit_edge ], [ %dec49146, %while.cond490.preheader ], [ -1, %if.end504.loopexit ] - br label %if.then513 +if.then498: ; preds = %do.body495 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i147) + %dec491 = add nsw i32 %dec491125, -1 + %cmp492 = icmp sgt i32 %dec491125, 0 + br i1 %cmp492, label %do.body495, label %if.end504, !llvm.loop !17 -if.then513: ; preds = %if.end504, %if.then513 - %85 = phi ptr [ %.pre134, %if.end504 ], [ %incdec.ptr.i31, %if.then513 ] - %86 = phi i8 [ 40, %if.end504 ], [ %88, %if.then513 ] - %point.053.idx = phi i64 [ 0, %if.end504 ], [ %point.053.add, %if.then513 ] - store i8 %86, ptr %85, align 1 - %87 = load ptr, ptr %userp, align 8 - %incdec.ptr.i31 = getelementptr inbounds i8, ptr %87, i64 1 - store ptr %incdec.ptr.i31, ptr %userp, align 8 - %point.053.add = add nuw nsw i64 %point.053.idx, 1 - %incdec.ptr519.ptr = getelementptr inbounds i8, ptr @formatf.nilstr, i64 %point.053.add - %88 = load i8, ptr %incdec.ptr519.ptr, align 1 - %exitcond = icmp eq i64 %point.053.add, 5 - br i1 %exitcond, label %for.end520, label %if.then513, !llvm.loop !18 +if.end504: ; preds = %if.then498, %while.cond490.preheader, %if.else485 + %done.21 = phi i32 [ %done.1, %if.else485 ], [ %done.1, %while.cond490.preheader ], [ %67, %if.then498 ] + %width.17 = phi i32 [ %sub486, %if.else485 ], [ %dec491122, %while.cond490.preheader ], [ -1, %if.then498 ] + %69 = add i32 %done.21, 5 + br label %do.body510 + +do.body510: ; preds = %if.end504, %if.then513 + %70 = phi i8 [ 40, %if.end504 ], [ %72, %if.then513 ] + %point.0129.idx = phi i64 [ 0, %if.end504 ], [ %point.0129.add, %if.then513 ] + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %outc.addr.i156) + store i8 %70, ptr %outc.addr.i156, align 1 + %71 = load ptr, ptr %userp, align 8 + %call.i157 = call i32 @Curl_dyn_addn(ptr noundef %71, ptr noundef nonnull %outc.addr.i156, i64 noundef 1) #12 + %tobool.not.i158 = icmp eq i32 %call.i157, 0 + br i1 %tobool.not.i158, label %if.then513, label %alloc_addbyter.exit164 + +alloc_addbyter.exit164: ; preds = %do.body510 + %cmp.i160 = icmp eq i32 %call.i157, 100 + %conv.i161 = select i1 %cmp.i160, i8 2, i8 1 + %merr.i162 = getelementptr inbounds i8, ptr %userp, i64 8 + store i8 %conv.i161, ptr %merr.i162, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i156) + br label %return + +if.then513: ; preds = %do.body510 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i156) + %point.0129.add = add nuw nsw i64 %point.0129.idx, 1 + %incdec.ptr519.ptr = getelementptr inbounds i8, ptr @formatf.nilstr, i64 %point.0129.add + %72 = load i8, ptr %incdec.ptr519.ptr, align 1 + %exitcond = icmp eq i64 %point.0129.add, 5 + br i1 %exitcond, label %for.end520, label %do.body510, !llvm.loop !18 for.end520: ; preds = %if.then513 - %89 = add i32 %done.21, 5 - %cmp52654 = icmp sgt i32 %width.17, 0 - %or.cond125 = select i1 %tobool488.not, i1 %cmp52654, i1 false - br i1 %or.cond125, label %if.then532, label %for.inc695 + %cmp526131 = icmp sgt i32 %width.17, 0 + %or.cond212 = select i1 %tobool488.not, i1 %cmp526131, i1 false + br i1 %or.cond212, label %do.body529.preheader, label %for.inc695 -if.then532: ; preds = %for.end520, %if.then532 - %90 = phi ptr [ %incdec.ptr.i32, %if.then532 ], [ %incdec.ptr.i31, %for.end520 ] - %width.1956 = phi i32 [ %dec525, %if.then532 ], [ %width.17, %for.end520 ] - %dec525 = add nsw i32 %width.1956, -1 - store i8 32, ptr %90, align 1 - %91 = load ptr, ptr %userp, align 8 - %incdec.ptr.i32 = getelementptr inbounds i8, ptr %91, i64 1 - store ptr %incdec.ptr.i32, ptr %userp, align 8 - %cmp526 = icmp ugt i32 %width.1956, 1 - br i1 %cmp526, label %if.then532, label %for.inc695.loopexit128, !llvm.loop !19 +do.body529.preheader: ; preds = %for.end520 + %73 = add i32 %69, %width.17 + br label %do.body529 + +do.body529: ; preds = %do.body529.preheader, %if.then532 + %dec525133.in = phi i32 [ %dec525133, %if.then532 ], [ %width.17, %do.body529.preheader ] + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %outc.addr.i165) + store i8 32, ptr %outc.addr.i165, align 1 + %74 = load ptr, ptr %userp, align 8 + %call.i166 = call i32 @Curl_dyn_addn(ptr noundef %74, ptr noundef nonnull %outc.addr.i165, i64 noundef 1) #12 + %tobool.not.i167 = icmp eq i32 %call.i166, 0 + br i1 %tobool.not.i167, label %if.then532, label %alloc_addbyter.exit173 + +alloc_addbyter.exit173: ; preds = %do.body529 + %cmp.i169 = icmp eq i32 %call.i166, 100 + %conv.i170 = select i1 %cmp.i169, i8 2, i8 1 + %merr.i171 = getelementptr inbounds i8, ptr %userp, i64 8 + store i8 %conv.i170, ptr %merr.i171, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i165) + br label %return + +if.then532: ; preds = %do.body529 + %dec525133 = add nsw i32 %dec525133.in, -1 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i165) + %cmp526 = icmp sgt i32 %dec525133.in, 1 + br i1 %cmp526, label %do.body529, label %for.inc695, !llvm.loop !19 sw.bb540: ; preds = %if.end58 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %formatbuf, ptr noundef nonnull align 16 dereferenceable(32) @__const.formatf.formatbuf, i64 32, i1 false) @@ -5087,18 +5349,18 @@ sw.bb540: ; preds = %if.end58 %sub544 = sub i64 32, %call543 %and546 = and i32 %flags.0, 8192 %tobool547.not = icmp eq i32 %and546, 0 - %spec.select203 = select i1 %tobool547.not, i32 %width.1, i32 %9 + %spec.select352 = select i1 %tobool547.not, i32 %width.1, i32 %8 %and551 = and i32 %flags.0, 32768 %tobool552.not = icmp eq i32 %and551, 0 br i1 %tobool552.not, label %if.end555, label %if.then553 if.then553: ; preds = %sw.bb540 %precision554 = getelementptr inbounds i8, ptr %arrayidx2, i64 4 - %92 = load i32, ptr %precision554, align 4 + %75 = load i32, ptr %precision554, align 4 br label %if.end555 if.end555: ; preds = %if.then553, %sw.bb540 - %prec.2 = phi i32 [ %92, %if.then553 ], [ %prec.0, %sw.bb540 ] + %prec.2 = phi i32 [ %75, %if.then553 ], [ %prec.0, %sw.bb540 ] %and556 = and i32 %flags.0, 4 %tobool557.not = icmp eq i32 %and556, 0 br i1 %tobool557.not, label %if.end560, label %if.then558 @@ -5141,19 +5403,19 @@ if.then573: ; preds = %if.end570 if.end575: ; preds = %if.then573, %if.end570 %fptr.3 = phi ptr [ %incdec.ptr574, %if.then573 ], [ %fptr.2, %if.end570 ] store i8 0, ptr %fptr.3, align 1 - %cmp576 = icmp sgt i32 %spec.select203, -1 + %cmp576 = icmp sgt i32 %spec.select352, -1 br i1 %cmp576, label %if.then578, label %if.end586 if.then578: ; preds = %if.end575 - %93 = call i32 @llvm.umin.i32(i32 %spec.select203, i32 325) - %call583 = call i32 (ptr, i64, ptr, ...) @curl_msnprintf(ptr noundef nonnull %fptr.3, i64 noundef %sub544, ptr noundef nonnull @.str.1, i32 noundef %93) + %76 = call i32 @llvm.umin.i32(i32 %spec.select352, i32 325) + %call583 = call i32 (ptr, i64, ptr, ...) @curl_msnprintf(ptr noundef nonnull %fptr.3, i64 noundef %sub544, ptr noundef nonnull @.str.1, i32 noundef %76) %idx.ext = sext i32 %call583 to i64 %add.ptr = getelementptr inbounds i8, ptr %fptr.3, i64 %idx.ext %sub585 = sub i64 %sub544, %idx.ext br label %if.end586 if.end586: ; preds = %if.then578, %if.end575 - %width.21 = phi i32 [ %93, %if.then578 ], [ %spec.select203, %if.end575 ] + %width.21 = phi i32 [ %76, %if.then578 ], [ %spec.select352, %if.end575 ] %fptr.4 = phi ptr [ %add.ptr, %if.then578 ], [ %fptr.3, %if.end575 ] %left.0 = phi i64 [ %sub585, %if.then578 ], [ %sub544, %if.end575 ] %cmp587 = icmp sgt i32 %prec.2, -1 @@ -5161,20 +5423,20 @@ if.end586: ; preds = %if.then578, %if.end if.then589: ; preds = %if.end586 %val591 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 - %94 = load double, ptr %val591, align 8 + %77 = load double, ptr %val591, align 8 %cmp592 = icmp slt i32 %width.21, 1 %cmp595.not = icmp sgt i32 %prec.2, %width.21 %or.cond10 = select i1 %cmp592, i1 true, i1 %cmp595.not %sub599 = sub i32 324, %width.21 %maxprec.0 = select i1 %or.cond10, i32 324, i32 %sub599 - %cmp60239 = fcmp ult double %94, 1.000000e+01 - br i1 %cmp60239, label %while.end607, label %while.body604 + %cmp602115 = fcmp ult double %77, 1.000000e+01 + br i1 %cmp602115, label %while.end607, label %while.body604 while.body604: ; preds = %if.then589, %while.body604 - %val590.041 = phi double [ %div605, %while.body604 ], [ %94, %if.then589 ] - %maxprec.140 = phi i32 [ %dec606, %while.body604 ], [ %maxprec.0, %if.then589 ] - %div605 = fdiv double %val590.041, 1.000000e+01 - %dec606 = add i32 %maxprec.140, -1 + %val590.0117 = phi double [ %div605, %while.body604 ], [ %77, %if.then589 ] + %maxprec.1116 = phi i32 [ %dec606, %while.body604 ], [ %maxprec.0, %if.then589 ] + %div605 = fdiv double %val590.0117, 1.000000e+01 + %dec606 = add i32 %maxprec.1116, -1 %cmp602 = fcmp ult double %div605, 1.000000e+01 br i1 %cmp602, label %while.end607, label %while.body604, !llvm.loop !20 @@ -5224,35 +5486,43 @@ if.then639: ; preds = %if.else636 br label %if.end648 if.end648: ; preds = %if.else636, %if.then639, %if.then630 - %.sink204 = phi i8 [ %conv643, %if.then639 ], [ %conv634, %if.then630 ], [ 102, %if.else636 ] - store i8 %.sink204, ptr %fptr.6, align 1 + %.sink = phi i8 [ %conv643, %if.then639 ], [ %conv634, %if.then630 ], [ 102, %if.else636 ] + store i8 %.sink, ptr %fptr.6, align 1 %fptr.7 = getelementptr inbounds i8, ptr %fptr.6, i64 1 store i8 0, ptr %fptr.7, align 1 %val651 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 - %95 = load double, ptr %val651, align 8 - %call652 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %work, i64 noundef 326, ptr noundef nonnull %formatbuf, double noundef %95) #12 - %96 = load i8, ptr %work, align 16 - %tobool657.not42 = icmp eq i8 %96, 0 - br i1 %tobool657.not42, label %for.inc695, label %if.then662.preheader + %78 = load double, ptr %val651, align 8 + %call652 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %work, i64 noundef 326, ptr noundef nonnull %formatbuf, double noundef %78) #12 + %79 = load i8, ptr %work, align 16 + %tobool657.not118 = icmp eq i8 %79, 0 + br i1 %tobool657.not118, label %for.inc695, label %do.body659 -if.then662.preheader: ; preds = %if.end648 - %.pre = load ptr, ptr %userp, align 8 - br label %if.then662 +do.body659: ; preds = %if.end648, %if.then662 + %80 = phi i8 [ %82, %if.then662 ], [ %79, %if.end648 ] + %fptr.8120 = phi ptr [ %incdec.ptr668, %if.then662 ], [ %work, %if.end648 ] + %done.25119 = phi i32 [ %inc663, %if.then662 ], [ %done.1, %if.end648 ] + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %outc.addr.i174) + store i8 %80, ptr %outc.addr.i174, align 1 + %81 = load ptr, ptr %userp, align 8 + %call.i175 = call i32 @Curl_dyn_addn(ptr noundef %81, ptr noundef nonnull %outc.addr.i174, i64 noundef 1) #12 + %tobool.not.i176 = icmp eq i32 %call.i175, 0 + br i1 %tobool.not.i176, label %if.then662, label %alloc_addbyter.exit182 + +alloc_addbyter.exit182: ; preds = %do.body659 + %cmp.i178 = icmp eq i32 %call.i175, 100 + %conv.i179 = select i1 %cmp.i178, i8 2, i8 1 + %merr.i180 = getelementptr inbounds i8, ptr %userp, i64 8 + store i8 %conv.i179, ptr %merr.i180, align 8 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i174) + br label %return -if.then662: ; preds = %if.then662.preheader, %if.then662 - %97 = phi ptr [ %incdec.ptr.i33, %if.then662 ], [ %.pre, %if.then662.preheader ] - %98 = phi i8 [ %100, %if.then662 ], [ %96, %if.then662.preheader ] - %fptr.844 = phi ptr [ %incdec.ptr668, %if.then662 ], [ %work, %if.then662.preheader ] - %done.2543 = phi i32 [ %inc663, %if.then662 ], [ %done.1, %if.then662.preheader ] - store i8 %98, ptr %97, align 1 - %99 = load ptr, ptr %userp, align 8 - %incdec.ptr.i33 = getelementptr inbounds i8, ptr %99, i64 1 - store ptr %incdec.ptr.i33, ptr %userp, align 8 - %inc663 = add nsw i32 %done.2543, 1 - %incdec.ptr668 = getelementptr inbounds i8, ptr %fptr.844, i64 1 - %100 = load i8, ptr %incdec.ptr668, align 1 - %tobool657.not = icmp eq i8 %100, 0 - br i1 %tobool657.not, label %for.inc695, label %if.then662, !llvm.loop !21 +if.then662: ; preds = %do.body659 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %outc.addr.i174) + %inc663 = add nsw i32 %done.25119, 1 + %incdec.ptr668 = getelementptr inbounds i8, ptr %fptr.8120, i64 1 + %82 = load i8, ptr %incdec.ptr668, align 1 + %tobool657.not = icmp eq i8 %82, 0 + br i1 %tobool657.not, label %for.inc695, label %do.body659, !llvm.loop !21 sw.bb670: ; preds = %if.end58 %and671 = and i32 %flags.0, 64 @@ -5262,8 +5532,8 @@ sw.bb670: ; preds = %if.end58 if.then673: ; preds = %sw.bb670 %conv674 = sext i32 %done.1 to i64 %val675 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 - %101 = load ptr, ptr %val675, align 8 - store i64 %conv674, ptr %101, align 8 + %83 = load ptr, ptr %val675, align 8 + store i64 %conv674, ptr %83, align 8 br label %for.inc695 if.else676: ; preds = %sw.bb670 @@ -5274,8 +5544,8 @@ if.else676: ; preds = %sw.bb670 if.then679: ; preds = %if.else676 %conv680 = sext i32 %done.1 to i64 %val681 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 - %102 = load ptr, ptr %val681, align 8 - store i64 %conv680, ptr %102, align 8 + %84 = load ptr, ptr %val681, align 8 + store i64 %conv680, ptr %84, align 8 br label %for.inc695 if.else682: ; preds = %if.else676 @@ -5285,41 +5555,28 @@ if.else682: ; preds = %if.else676 if.then685: ; preds = %if.else682 %val686 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 - %103 = load ptr, ptr %val686, align 8 - store i32 %done.1, ptr %103, align 4 + %85 = load ptr, ptr %val686, align 8 + store i32 %done.1, ptr %85, align 4 br label %for.inc695 if.else687: ; preds = %if.else682 %conv688 = trunc i32 %done.1 to i16 %val689 = getelementptr inbounds i8, ptr %arrayidx64, i64 8 - %104 = load ptr, ptr %val689, align 8 - store i16 %conv688, ptr %104, align 2 - br label %for.inc695 - -for.inc695.loopexit: ; preds = %if.then357 - %105 = add i32 %width.11, %done.13.lcssa - br label %for.inc695 - -for.inc695.loopexit127: ; preds = %if.then106 - %106 = add i32 %width.1, %done.1 - br label %for.inc695 - -for.inc695.loopexit128: ; preds = %if.then532 - %107 = add i32 %89, %width.17 + %86 = load ptr, ptr %val689, align 8 + store i16 %conv688, ptr %86, align 2 br label %for.inc695 -for.inc695: ; preds = %if.then662, %if.then90.thread, %for.inc695.loopexit128, %for.inc695.loopexit127, %for.inc695.loopexit, %if.end648, %if.else687, %if.then685, %if.then679, %if.then673, %for.end520, %if.then471, %if.end464, %while.end345, %if.then90, %if.end58, %for.end - %done.3 = phi i32 [ %done.2.lcssa, %for.end ], [ %done.1, %if.end58 ], [ %done.1, %if.then673 ], [ %done.1, %if.then679 ], [ %done.1, %if.else687 ], [ %done.1, %if.then685 ], [ %done.13.lcssa, %while.end345 ], [ %89, %for.end520 ], [ %inc472, %if.then471 ], [ %done.19, %if.end464 ], [ %inc91, %if.then90 ], [ %done.1, %if.end648 ], [ %105, %for.inc695.loopexit ], [ %106, %for.inc695.loopexit127 ], [ %107, %for.inc695.loopexit128 ], [ %inc91151, %if.then90.thread ], [ %inc663, %if.then662 ] - %digits.1 = phi ptr [ %digits.0119, %for.end ], [ %digits.0119, %if.end58 ], [ %digits.0119, %if.then673 ], [ %digits.0119, %if.then679 ], [ %digits.0119, %if.else687 ], [ %digits.0119, %if.then685 ], [ %digits.24180, %while.end345 ], [ %digits.0119, %for.end520 ], [ %digits.0119, %if.then471 ], [ %digits.0119, %if.end464 ], [ %digits.0119, %if.then90 ], [ %digits.0119, %if.end648 ], [ %digits.24180, %for.inc695.loopexit ], [ %digits.0119, %for.inc695.loopexit127 ], [ %digits.0119, %for.inc695.loopexit128 ], [ %digits.0119, %if.then90.thread ], [ %digits.0119, %if.then662 ] +for.inc695: ; preds = %if.then662, %if.then532, %if.then106, %if.then357, %if.end648, %if.else687, %if.then685, %if.then679, %if.then673, %for.end520, %if.then471, %if.end464, %while.end345, %if.then90, %if.end58, %for.end + %done.3 = phi i32 [ %done.2.lcssa, %for.end ], [ %done.1, %if.end58 ], [ %done.1, %if.then673 ], [ %done.1, %if.then679 ], [ %done.1, %if.else687 ], [ %done.1, %if.then685 ], [ %done.13.lcssa, %while.end345 ], [ %69, %for.end520 ], [ %inc472, %if.then471 ], [ %done.19, %if.end464 ], [ %inc91, %if.then90 ], [ %done.1, %if.end648 ], [ %52, %if.then357 ], [ %19, %if.then106 ], [ %73, %if.then532 ], [ %inc663, %if.then662 ] + %digits.1 = phi ptr [ %digits.0203, %for.end ], [ %digits.0203, %if.end58 ], [ %digits.0203, %if.then673 ], [ %digits.0203, %if.then679 ], [ %digits.0203, %if.else687 ], [ %digits.0203, %if.then685 ], [ %digits.212288, %while.end345 ], [ %digits.0203, %for.end520 ], [ %digits.0203, %if.then471 ], [ %digits.0203, %if.end464 ], [ %digits.0203, %if.then90 ], [ %digits.0203, %if.end648 ], [ %digits.212288, %if.then357 ], [ %digits.0203, %if.then106 ], [ %digits.0203, %if.then532 ], [ %digits.0203, %if.then662 ] %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 - %108 = load i32, ptr %ocount, align 4 - %109 = sext i32 %108 to i64 - %cmp = icmp slt i64 %indvars.iv.next, %109 + %87 = load i32, ptr %ocount, align 4 + %88 = sext i32 %87 to i64 + %cmp = icmp slt i64 %indvars.iv.next, %88 br i1 %cmp, label %for.body, label %return, !llvm.loop !22 -return: ; preds = %for.inc695, %entry - %retval.0 = phi i32 [ 0, %entry ], [ %done.3, %for.inc695 ] - ret i32 %retval.0 +return: ; preds = %do.body264, %do.body401, %do.body468, %for.inc695, %alloc_addbyter.exit182, %alloc_addbyter.exit173, %alloc_addbyter.exit164, %alloc_addbyter.exit155, %alloc_addbyter.exit146, %alloc_addbyter.exit137, %alloc_addbyter.exit128, %alloc_addbyter.exit119, %alloc_addbyter.exit110, %alloc_addbyter.exit101, %alloc_addbyter.exit92, %alloc_addbyter.exit83, %alloc_addbyter.exit74, %alloc_addbyter.exit65, %alloc_addbyter.exit56, %alloc_addbyter.exit47, %alloc_addbyter.exit38, %alloc_addbyter.exit29, %alloc_addbyter.exit20, %alloc_addbyter.exit, %entry + ret void } ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) @@ -5382,10 +5639,9 @@ attributes #12 = { nounwind } !20 = distinct !{!20, !5} !21 = distinct !{!21, !5} !22 = distinct !{!22, !5} -!23 = !{ptr @alloc_addbyter} +!23 = distinct !{!23, !5} !24 = distinct !{!24, !5} !25 = distinct !{!25, !5} !26 = distinct !{!26, !5} !27 = distinct !{!27, !5} !28 = distinct !{!28, !5} -!29 = distinct !{!29, !5} diff --git a/bench/cvc5/optimized/theory_datatypes.cpp.ll b/bench/cvc5/optimized/theory_datatypes.cpp.ll index 2cbb87e4a03..dc0c54780ca 100644 --- a/bench/cvc5/optimized/theory_datatypes.cpp.ll +++ b/bench/cvc5/optimized/theory_datatypes.cpp.ll @@ -5268,7 +5268,7 @@ _ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_ store ptr %97, ptr %_M_left.i.i.i.i.i542, align 8 store ptr %97, ptr %_M_right.i.i.i.i.i543, align 8 store i64 0, ptr %_M_node_count.i.i.i.i.i544, align 8 - invoke void @_ZN4cvc58internal6theory9datatypes15TheoryDatatypes17separateBisimilarERSt6vectorINS0_12NodeTemplateILb1EEESaIS6_EERS4_IS8_SaIS8_EES9_RSt3mapIS6_S6_St4lessIS6_ESaISt4pairIKS6_S6_EEERSD_IS6_SD_IS6_iSF_SaISG_ISH_iEEESF_SaISG_ISH_SO_EEEib(ptr noundef nonnull align 8 dereferenceable(2008) %this, ptr noundef nonnull align 8 dereferenceable(24) %part, ptr noundef nonnull align 8 dereferenceable(24) %tpart_out, ptr noundef nonnull align 8 dereferenceable(24) %exp, ptr noundef nonnull align 8 dereferenceable(48) %cn166, ptr noundef nonnull align 8 dereferenceable(48) %dni, i32 noundef 0, i1 noundef zeroext true) + invoke fastcc void @_ZN4cvc58internal6theory9datatypes15TheoryDatatypes17separateBisimilarERSt6vectorINS0_12NodeTemplateILb1EEESaIS6_EERS4_IS8_SaIS8_EES9_RSt3mapIS6_S6_St4lessIS6_ESaISt4pairIKS6_S6_EEERSD_IS6_SD_IS6_iSF_SaISG_ISH_iEEESF_SaISG_ISH_SO_EEEib.specialized.1(ptr noundef nonnull align 8 dereferenceable(2008) %this, ptr noundef nonnull align 8 dereferenceable(24) %part, ptr noundef nonnull align 8 dereferenceable(24) %tpart_out, ptr noundef nonnull align 8 dereferenceable(24) %exp, ptr noundef nonnull align 8 dereferenceable(48) %cn166, ptr noundef nonnull align 8 dereferenceable(48) %dni) to label %invoke.cont291 unwind label %lpad274 invoke.cont291: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE5clearEv.exit @@ -5318,7 +5318,7 @@ lpad224.loopexit.split-lp: ; preds = %if.else.i747 cleanup br label %ehcleanup393 -lpad274: ; preds = %if.then.i1093, %if.then.i1025, %call.i1274.noexc, %cond.true295, %if.then13.i4.i1116, %if.then13.i.i1123, %if.then13.i4.i1048, %if.then13.i.i1055, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE5clearEv.exit +lpad274: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE5clearEv.exit, %if.then.i1093, %if.then.i1025, %call.i1274.noexc, %cond.true295, %if.then13.i4.i1116, %if.then13.i.i1123, %if.then13.i4.i1048, %if.then13.i.i1055 %187 = landingpad { ptr, i32 } cleanup br label %ehcleanup389 @@ -53101,6 +53101,19931 @@ entry: ret void } +; Function Attrs: mustprogress uwtable +define internal fastcc void @_ZN4cvc58internal6theory9datatypes15TheoryDatatypes17separateBisimilarERSt6vectorINS0_12NodeTemplateILb1EEESaIS6_EERS4_IS8_SaIS8_EES9_RSt3mapIS6_S6_St4lessIS6_ESaISt4pairIKS6_S6_EEERSD_IS6_SD_IS6_iSF_SaISG_ISH_iEEESF_SaISG_ISH_SO_EEEib.specialized.1(ptr noundef nonnull align 8 dereferenceable(2008) %this, ptr nocapture noundef nonnull readonly align 8 dereferenceable(24) %part, ptr noundef nonnull align 8 dereferenceable(24) %part_out, ptr noundef nonnull align 8 dereferenceable(24) %exp, ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr noundef nonnull align 8 dereferenceable(48) %dni) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { +entry: + %__second.i.i.i.i.i.i.i1478 = alloca %"class.std::tuple.1060", align 1 + %agg.tmp6.i.i.i.i.i.i1479 = alloca %"class.std::tuple.1066", align 8 + %__second.i.i.i.i.i.i.i1443 = alloca %"class.std::tuple.1060", align 1 + %agg.tmp6.i.i.i.i.i.i1444 = alloca %"class.std::tuple.1066", align 8 + %__second.i.i.i.i.i.i.i1407 = alloca %"class.std::tuple.1060", align 1 + %agg.tmp6.i.i.i.i.i.i1408 = alloca %"class.std::tuple.1066", align 8 + %__second.i.i.i.i.i.i.i1371 = alloca %"class.std::tuple.1060", align 1 + %agg.tmp6.i.i.i.i.i.i1372 = alloca %"class.std::tuple.1066", align 8 + %__z.i = alloca %"struct.std::_Rb_tree, std::pair, int>, std::_Select1st, int>>, std::less>>::_Auto_node", align 8 + %__second.i.i.i.i.i.i.i = alloca %"class.std::tuple.1060", align 1 + %agg.tmp6.i.i.i.i.i.i = alloca %"class.std::tuple.1066", align 8 + %ref.tmp9.i1169 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i1170 = alloca %"class.std::tuple.1060", align 1 + %nb.i.i = alloca %"class.cvc5::internal::NodeBuilder", align 8 + %agg.tmp.i.i = alloca %"class.cvc5::internal::NodeTemplate.733", align 8 + %agg.tmp4.i.i = alloca %"class.cvc5::internal::NodeTemplate.733", align 8 + %agg.tmp.i = alloca %"class.cvc5::internal::NodeTemplate.733", align 8 + %agg.tmp3.i = alloca %"class.cvc5::internal::NodeTemplate.733", align 8 + %ref.tmp9.i736 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i737 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i593 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i594 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i525 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i526 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i362 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i363 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i293 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i294 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i226 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i227 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i156 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i157 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i102 = alloca %"class.std::tuple.1121", align 8 + %ref.tmp10.i103 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i68 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i69 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i34 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i35 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i = alloca %"class.std::tuple.1060", align 1 + %new_part = alloca %"class.std::map.36", align 8 + %new_part_c = alloca %"class.std::map.36", align 8 + %new_part_rec = alloca %"class.std::map.940", align 8 + %cn_cons = alloca %"class.std::map.61", align 8 + %c = alloca %"class.cvc5::internal::NodeTemplate", align 8 + %ref.tmp83 = alloca %"class.cvc5::internal::TypeNode", align 8 + %ncons = alloca %"class.cvc5::internal::NodeTemplate", align 8 + %ref.tmp89 = alloca %"class.cvc5::internal::NodeTemplate.733", align 8 + %agg.tmp = alloca %"class.cvc5::internal::NodeTemplate.733", align 8 + %cc = alloca %"class.cvc5::internal::NodeTemplate", align 8 + %ref.tmp112 = alloca %"class.cvc5::internal::NodeTemplate", align 8 + %vec = alloca %"class.std::vector.525", align 8 + %vec278 = alloca %"class.std::vector.525", align 8 + %dni_rem = alloca %"class.std::map.61", align 8 + %n = alloca %"class.cvc5::internal::NodeTemplate", align 8 + %split_new_part = alloca %"class.std::vector.930", align 8 + %next_split_new_part = alloca %"class.std::vector.930", align 8 + %n407 = alloca %"class.cvc5::internal::NodeTemplate", align 8 + %ref.tmp418 = alloca %"class.cvc5::internal::NodeTemplate.733", align 8 + %ref.tmp438 = alloca %"class.cvc5::internal::NodeTemplate", align 8 + %c_part_out = alloca %"class.std::vector.930", align 8 + %0 = getelementptr inbounds i8, ptr %new_part, i64 8 + store i32 0, ptr %0, align 8 + %_M_parent.i.i.i.i.i = getelementptr inbounds i8, ptr %new_part, i64 16 + store ptr null, ptr %_M_parent.i.i.i.i.i, align 8 + %_M_left.i.i.i.i.i = getelementptr inbounds i8, ptr %new_part, i64 24 + store ptr %0, ptr %_M_left.i.i.i.i.i, align 8 + %_M_right.i.i.i.i.i = getelementptr inbounds i8, ptr %new_part, i64 32 + store ptr %0, ptr %_M_right.i.i.i.i.i, align 8 + %_M_node_count.i.i.i.i.i = getelementptr inbounds i8, ptr %new_part, i64 40 + store i64 0, ptr %_M_node_count.i.i.i.i.i, align 8 + %1 = getelementptr inbounds i8, ptr %new_part_c, i64 8 + store i32 0, ptr %1, align 8 + %_M_parent.i.i.i.i.i18 = getelementptr inbounds i8, ptr %new_part_c, i64 16 + store ptr null, ptr %_M_parent.i.i.i.i.i18, align 8 + %_M_left.i.i.i.i.i19 = getelementptr inbounds i8, ptr %new_part_c, i64 24 + store ptr %1, ptr %_M_left.i.i.i.i.i19, align 8 + %_M_right.i.i.i.i.i20 = getelementptr inbounds i8, ptr %new_part_c, i64 32 + store ptr %1, ptr %_M_right.i.i.i.i.i20, align 8 + %_M_node_count.i.i.i.i.i21 = getelementptr inbounds i8, ptr %new_part_c, i64 40 + store i64 0, ptr %_M_node_count.i.i.i.i.i21, align 8 + %2 = getelementptr inbounds i8, ptr %new_part_rec, i64 8 + store i32 0, ptr %2, align 8 + %_M_parent.i.i.i.i.i22 = getelementptr inbounds i8, ptr %new_part_rec, i64 16 + store ptr null, ptr %_M_parent.i.i.i.i.i22, align 8 + %_M_left.i.i.i.i.i23 = getelementptr inbounds i8, ptr %new_part_rec, i64 24 + store ptr %2, ptr %_M_left.i.i.i.i.i23, align 8 + %_M_right.i.i.i.i.i24 = getelementptr inbounds i8, ptr %new_part_rec, i64 32 + store ptr %2, ptr %_M_right.i.i.i.i.i24, align 8 + %_M_node_count.i.i.i.i.i25 = getelementptr inbounds i8, ptr %new_part_rec, i64 40 + store i64 0, ptr %_M_node_count.i.i.i.i.i25, align 8 + %3 = getelementptr inbounds i8, ptr %cn_cons, i64 8 + store i32 0, ptr %3, align 8 + %_M_parent.i.i.i.i.i26 = getelementptr inbounds i8, ptr %cn_cons, i64 16 + store ptr null, ptr %_M_parent.i.i.i.i.i26, align 8 + %_M_left.i.i.i.i.i27 = getelementptr inbounds i8, ptr %cn_cons, i64 24 + store ptr %3, ptr %_M_left.i.i.i.i.i27, align 8 + %_M_right.i.i.i.i.i28 = getelementptr inbounds i8, ptr %cn_cons, i64 32 + store ptr %3, ptr %_M_right.i.i.i.i.i28, align 8 + %_M_node_count.i.i.i.i.i29 = getelementptr inbounds i8, ptr %cn_cons, i64 40 + store i64 0, ptr %_M_node_count.i.i.i.i.i29, align 8 + %_M_finish.i = getelementptr inbounds i8, ptr %part, i64 8 + %4 = load ptr, ptr %_M_finish.i, align 8 + %5 = load ptr, ptr %part, align 8 + %cmp271767.not = icmp eq ptr %4, %5 + br i1 %cmp271767.not, label %for.end263, label %for.body28.lr.ph + +for.body28.lr.ph: ; preds = %entry + %_M_parent.i.i.i.i.i30 = getelementptr inbounds i8, ptr %cn, i64 16 + %add.ptr.i.i.i.i = getelementptr inbounds i8, ptr %cn, i64 8 + %_M_parent.i.i.i.i.i36 = getelementptr inbounds i8, ptr %dni, i64 16 + %add.ptr.i.i.i.i37 = getelementptr inbounds i8, ptr %dni, i64 8 + %_M_finish.i.i = getelementptr inbounds i8, ptr %exp, i64 8 + %_M_end_of_storage.i.i = getelementptr inbounds i8, ptr %exp, i64 16 + br label %for.body28 + +for.body28: ; preds = %for.body28.lr.ph, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430 + %6 = phi ptr [ %5, %for.body28.lr.ph ], [ %119, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430 ] + %conv251769 = phi i64 [ 0, %for.body28.lr.ph ], [ %conv25, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430 ] + %j.01768 = phi i32 [ 0, %for.body28.lr.ph ], [ %inc222, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430 ] + %add.ptr.i = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %6, i64 %conv251769 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i) + %7 = load ptr, ptr %_M_parent.i.i.i.i.i30, align 8 + %cmp.not5.i.i.i.i = icmp eq ptr %7, null + br i1 %cmp.not5.i.i.i.i, label %if.then.i, label %while.body.lr.ph.i.i.i.i + +while.body.lr.ph.i.i.i.i: ; preds = %for.body28 + %8 = load ptr, ptr %add.ptr.i, align 8 + %bf.load3.i.i.i.i.i.i = load i64, ptr %8, align 8 + %bf.clear4.i.i.i.i.i.i = and i64 %bf.load3.i.i.i.i.i.i, 1099511627775 + br label %while.body.i.i.i.i + +while.body.i.i.i.i: ; preds = %while.body.i.i.i.i, %while.body.lr.ph.i.i.i.i + %__x.addr.07.i.i.i.i = phi ptr [ %7, %while.body.lr.ph.i.i.i.i ], [ %__x.addr.1.i.i.i.i, %while.body.i.i.i.i ] + %__y.addr.06.i.i.i.i = phi ptr [ %add.ptr.i.i.i.i, %while.body.lr.ph.i.i.i.i ], [ %__y.addr.1.i.i.i.i, %while.body.i.i.i.i ] + %_M_storage.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i, i64 32 + %9 = load ptr, ptr %_M_storage.i.i.i.i.i.i, align 8 + %bf.load.i.i.i.i.i.i = load i64, ptr %9, align 8 + %bf.clear.i.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i.i, 1099511627775 + %cmp.i.i.i.i.i.i = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i, %bf.clear4.i.i.i.i.i.i + %__y.addr.1.i.i.i.i = select i1 %cmp.i.i.i.i.i.i, ptr %__y.addr.06.i.i.i.i, ptr %__x.addr.07.i.i.i.i + %__x.addr.1.in.v.i.i.i.i = select i1 %cmp.i.i.i.i.i.i, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i, i64 %__x.addr.1.in.v.i.i.i.i + %__x.addr.1.i.i.i.i = load ptr, ptr %__x.addr.1.in.i.i.i.i, align 8 + %cmp.not.i.i.i.i = icmp eq ptr %__x.addr.1.i.i.i.i, null + br i1 %cmp.not.i.i.i.i, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i, label %while.body.i.i.i.i, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i: ; preds = %while.body.i.i.i.i + %cmp.i.i = icmp eq ptr %__y.addr.1.i.i.i.i, %add.ptr.i.i.i.i + br i1 %cmp.i.i, label %if.then.i, label %lor.rhs.i + +lor.rhs.i: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i + %_M_storage.i.i.i = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i, i64 32 + %10 = load ptr, ptr %_M_storage.i.i.i, align 8 + %bf.load3.i.i.i = load i64, ptr %10, align 8 + %bf.clear4.i.i.i = and i64 %bf.load3.i.i.i, 1099511627775 + %cmp.i.i.i = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i, %bf.clear4.i.i.i + br i1 %cmp.i.i.i, label %if.then.i, label %invoke.cont + +if.then.i: ; preds = %lor.rhs.i, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i, %for.body28 + %__y.addr.0.lcssa.i.i.i9.i = phi ptr [ %__y.addr.1.i.i.i.i, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i ], [ %__y.addr.1.i.i.i.i, %lor.rhs.i ], [ %add.ptr.i.i.i.i, %for.body28 ] + store ptr %add.ptr.i, ptr %ref.tmp9.i, align 8 + %call12.i31 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESH_IJEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr %__y.addr.0.lcssa.i.i.i9.i, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i) + to label %invoke.cont unwind label %lpad + +invoke.cont: ; preds = %lor.rhs.i, %if.then.i + %__i.sroa.0.0.i = phi ptr [ %__y.addr.1.i.i.i.i, %lor.rhs.i ], [ %call12.i31, %if.then.i ] + %second.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i, i64 40 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i) + %11 = load ptr, ptr %second.i, align 8 + store ptr %11, ptr %c, align 8 + %bf.load.i.i = load i64, ptr %11, align 8 + %bf.lshr.i.i = lshr i64 %bf.load.i.i, 40 + %12 = trunc nuw nsw i64 %bf.lshr.i.i to i32 + %bf.cast.i.i = and i32 %12, 1048575 + %cmp.i.i32 = icmp samesign ult i32 %bf.cast.i.i, 1048574 + br i1 %cmp.i.i32, label %if.then.i.i, label %if.else.i.i + +if.then.i.i: ; preds = %invoke.cont + %bf.value.i.i = add i64 %bf.load.i.i, 1099511627776 + %bf.shl.i.i = and i64 %bf.value.i.i, 1152920405095219200 + %bf.clear7.i.i = and i64 %bf.load.i.i, -1152920405095219201 + %bf.set.i.i = or disjoint i64 %bf.shl.i.i, %bf.clear7.i.i + store i64 %bf.set.i.i, ptr %11, align 8 + br label %invoke.cont32 + +if.else.i.i: ; preds = %invoke.cont + %cmp12.i.i = icmp eq i32 %bf.cast.i.i, 1048574 + br i1 %cmp12.i.i, label %if.then13.i.i, label %invoke.cont32 + +if.then13.i.i: ; preds = %if.else.i.i + %bf.set23.i.i = or i64 %bf.load.i.i, 1152920405095219200 + store i64 %bf.set23.i.i, ptr %11, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %11) + to label %invoke.cont32 unwind label %lpad + +invoke.cont32: ; preds = %if.else.i.i, %if.then.i.i, %if.then13.i.i + %13 = load ptr, ptr %part, align 8 + %add.ptr.i33 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %13, i64 %conv251769 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i34) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i35) + %14 = load ptr, ptr %_M_parent.i.i.i.i.i36, align 8 + %cmp.not5.i.i.i.i38 = icmp eq ptr %14, null + br i1 %cmp.not5.i.i.i.i38, label %if.then.i62, label %while.body.lr.ph.i.i.i.i39 + +while.body.lr.ph.i.i.i.i39: ; preds = %invoke.cont32 + %15 = load ptr, ptr %add.ptr.i33, align 8 + %bf.load3.i.i.i.i.i.i40 = load i64, ptr %15, align 8 + %bf.clear4.i.i.i.i.i.i41 = and i64 %bf.load3.i.i.i.i.i.i40, 1099511627775 + br label %while.body.i.i.i.i42 + +while.body.i.i.i.i42: ; preds = %while.body.i.i.i.i42, %while.body.lr.ph.i.i.i.i39 + %__x.addr.07.i.i.i.i43 = phi ptr [ %14, %while.body.lr.ph.i.i.i.i39 ], [ %__x.addr.1.i.i.i.i52, %while.body.i.i.i.i42 ] + %__y.addr.06.i.i.i.i44 = phi ptr [ %add.ptr.i.i.i.i37, %while.body.lr.ph.i.i.i.i39 ], [ %__y.addr.1.i.i.i.i49, %while.body.i.i.i.i42 ] + %_M_storage.i.i.i.i.i.i45 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i43, i64 32 + %16 = load ptr, ptr %_M_storage.i.i.i.i.i.i45, align 8 + %bf.load.i.i.i.i.i.i46 = load i64, ptr %16, align 8 + %bf.clear.i.i.i.i.i.i47 = and i64 %bf.load.i.i.i.i.i.i46, 1099511627775 + %cmp.i.i.i.i.i.i48 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i47, %bf.clear4.i.i.i.i.i.i41 + %__y.addr.1.i.i.i.i49 = select i1 %cmp.i.i.i.i.i.i48, ptr %__y.addr.06.i.i.i.i44, ptr %__x.addr.07.i.i.i.i43 + %__x.addr.1.in.v.i.i.i.i50 = select i1 %cmp.i.i.i.i.i.i48, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i51 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i43, i64 %__x.addr.1.in.v.i.i.i.i50 + %__x.addr.1.i.i.i.i52 = load ptr, ptr %__x.addr.1.in.i.i.i.i51, align 8 + %cmp.not.i.i.i.i53 = icmp eq ptr %__x.addr.1.i.i.i.i52, null + br i1 %cmp.not.i.i.i.i53, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i, label %while.body.i.i.i.i42, !llvm.loop !275 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i: ; preds = %while.body.i.i.i.i42 + %cmp.i.i54 = icmp eq ptr %__y.addr.1.i.i.i.i49, %add.ptr.i.i.i.i37 + br i1 %cmp.i.i54, label %if.then.i62, label %lor.rhs.i55 + +lor.rhs.i55: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i + %_M_storage.i.i.i56 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i49, i64 32 + %17 = load ptr, ptr %_M_storage.i.i.i56, align 8 + %bf.load3.i.i.i57 = load i64, ptr %17, align 8 + %bf.clear4.i.i.i58 = and i64 %bf.load3.i.i.i57, 1099511627775 + %cmp.i.i.i59 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i41, %bf.clear4.i.i.i58 + br i1 %cmp.i.i.i59, label %if.then.i62, label %invoke.cont36 + +if.then.i62: ; preds = %lor.rhs.i55, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i, %invoke.cont32 + %__y.addr.0.lcssa.i.i.i9.i63 = phi ptr [ %__y.addr.1.i.i.i.i49, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i ], [ %__y.addr.1.i.i.i.i49, %lor.rhs.i55 ], [ %add.ptr.i.i.i.i37, %invoke.cont32 ] + store ptr %add.ptr.i33, ptr %ref.tmp9.i34, align 8 + %call12.i65 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St3mapIS3_iSt4lessIS3_ESaIS4_IS5_iEEEESt10_Select1stISC_ES8_SaISC_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESL_IJEEEEESt17_Rb_tree_iteratorISC_ESt23_Rb_tree_const_iteratorISC_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %dni, ptr %__y.addr.0.lcssa.i.i.i9.i63, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i34, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i35) + to label %invoke.cont36 unwind label %lpad35 + +invoke.cont36: ; preds = %lor.rhs.i55, %if.then.i62 + %__i.sroa.0.0.i60 = phi ptr [ %__y.addr.1.i.i.i.i49, %lor.rhs.i55 ], [ %call12.i65, %if.then.i62 ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i34) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i35) + %_M_parent.i.i.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i60, i64 56 + %18 = load ptr, ptr %_M_parent.i.i.i.i, align 8 + %add.ptr.i.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i60, i64 48 + %cmp.not5.i.i.i = icmp eq ptr %18, null + br i1 %cmp.not5.i.i.i, label %invoke.cont38, label %while.body.lr.ph.i.i.i + +while.body.lr.ph.i.i.i: ; preds = %invoke.cont36 + %19 = load ptr, ptr %c, align 8 + %bf.load3.i.i.i.i.i = load i64, ptr %19, align 8 + %bf.clear4.i.i.i.i.i = and i64 %bf.load3.i.i.i.i.i, 1099511627775 + br label %while.body.i.i.i + +while.body.i.i.i: ; preds = %while.body.i.i.i, %while.body.lr.ph.i.i.i + %__x.addr.07.i.i.i = phi ptr [ %18, %while.body.lr.ph.i.i.i ], [ %__x.addr.1.i.i.i, %while.body.i.i.i ] + %__y.addr.06.i.i.i = phi ptr [ %add.ptr.i.i.i, %while.body.lr.ph.i.i.i ], [ %__y.addr.1.i.i.i, %while.body.i.i.i ] + %_M_storage.i.i.i.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i, i64 32 + %20 = load ptr, ptr %_M_storage.i.i.i.i.i, align 8 + %bf.load.i.i.i.i.i = load i64, ptr %20, align 8 + %bf.clear.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i, 1099511627775 + %cmp.i.i.i.i.i = icmp samesign ult i64 %bf.clear.i.i.i.i.i, %bf.clear4.i.i.i.i.i + %__y.addr.1.i.i.i = select i1 %cmp.i.i.i.i.i, ptr %__y.addr.06.i.i.i, ptr %__x.addr.07.i.i.i + %__x.addr.1.in.v.i.i.i = select i1 %cmp.i.i.i.i.i, i64 24, i64 16 + %__x.addr.1.in.i.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i, i64 %__x.addr.1.in.v.i.i.i + %__x.addr.1.i.i.i = load ptr, ptr %__x.addr.1.in.i.i.i, align 8 + %cmp.not.i.i.i = icmp eq ptr %__x.addr.1.i.i.i, null + br i1 %cmp.not.i.i.i, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i, label %while.body.i.i.i, !llvm.loop !233 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i: ; preds = %while.body.i.i.i + %cmp.i.i.i66 = icmp eq ptr %__y.addr.1.i.i.i, %add.ptr.i.i.i + br i1 %cmp.i.i.i66, label %invoke.cont38, label %lor.lhs.false.i.i + +lor.lhs.false.i.i: ; preds = %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i + %_M_storage.i.i.i3.i.i = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i, i64 32 + %21 = load ptr, ptr %_M_storage.i.i.i3.i.i, align 8 + %bf.load3.i.i.i.i = load i64, ptr %21, align 8 + %bf.clear4.i.i.i.i = and i64 %bf.load3.i.i.i.i, 1099511627775 + %cmp.i.i.i.i = icmp samesign ult i64 %bf.clear4.i.i.i.i.i, %bf.clear4.i.i.i.i + %spec.select.i.i = select i1 %cmp.i.i.i.i, ptr %add.ptr.i.i.i, ptr %__y.addr.1.i.i.i + br label %invoke.cont38 + +invoke.cont38: ; preds = %lor.lhs.false.i.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i, %invoke.cont36 + %retval.sroa.0.0.i.i = phi ptr [ %add.ptr.i.i.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i ], [ %add.ptr.i.i.i, %invoke.cont36 ], [ %spec.select.i.i, %lor.lhs.false.i.i ] + %22 = load ptr, ptr %part, align 8 + %add.ptr.i67 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %22, i64 %conv251769 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i68) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i69) + %23 = load ptr, ptr %_M_parent.i.i.i.i.i36, align 8 + %cmp.not5.i.i.i.i72 = icmp eq ptr %23, null + br i1 %cmp.not5.i.i.i.i72, label %if.then.i97, label %while.body.lr.ph.i.i.i.i73 + +while.body.lr.ph.i.i.i.i73: ; preds = %invoke.cont38 + %24 = load ptr, ptr %add.ptr.i67, align 8 + %bf.load3.i.i.i.i.i.i74 = load i64, ptr %24, align 8 + %bf.clear4.i.i.i.i.i.i75 = and i64 %bf.load3.i.i.i.i.i.i74, 1099511627775 + br label %while.body.i.i.i.i76 + +while.body.i.i.i.i76: ; preds = %while.body.i.i.i.i76, %while.body.lr.ph.i.i.i.i73 + %__x.addr.07.i.i.i.i77 = phi ptr [ %23, %while.body.lr.ph.i.i.i.i73 ], [ %__x.addr.1.i.i.i.i86, %while.body.i.i.i.i76 ] + %__y.addr.06.i.i.i.i78 = phi ptr [ %add.ptr.i.i.i.i37, %while.body.lr.ph.i.i.i.i73 ], [ %__y.addr.1.i.i.i.i83, %while.body.i.i.i.i76 ] + %_M_storage.i.i.i.i.i.i79 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i77, i64 32 + %25 = load ptr, ptr %_M_storage.i.i.i.i.i.i79, align 8 + %bf.load.i.i.i.i.i.i80 = load i64, ptr %25, align 8 + %bf.clear.i.i.i.i.i.i81 = and i64 %bf.load.i.i.i.i.i.i80, 1099511627775 + %cmp.i.i.i.i.i.i82 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i81, %bf.clear4.i.i.i.i.i.i75 + %__y.addr.1.i.i.i.i83 = select i1 %cmp.i.i.i.i.i.i82, ptr %__y.addr.06.i.i.i.i78, ptr %__x.addr.07.i.i.i.i77 + %__x.addr.1.in.v.i.i.i.i84 = select i1 %cmp.i.i.i.i.i.i82, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i85 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i77, i64 %__x.addr.1.in.v.i.i.i.i84 + %__x.addr.1.i.i.i.i86 = load ptr, ptr %__x.addr.1.in.i.i.i.i85, align 8 + %cmp.not.i.i.i.i87 = icmp eq ptr %__x.addr.1.i.i.i.i86, null + br i1 %cmp.not.i.i.i.i87, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i88, label %while.body.i.i.i.i76, !llvm.loop !275 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i88: ; preds = %while.body.i.i.i.i76 + %cmp.i.i89 = icmp eq ptr %__y.addr.1.i.i.i.i83, %add.ptr.i.i.i.i37 + br i1 %cmp.i.i89, label %if.then.i97, label %lor.rhs.i90 + +lor.rhs.i90: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i88 + %_M_storage.i.i.i91 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i83, i64 32 + %26 = load ptr, ptr %_M_storage.i.i.i91, align 8 + %bf.load3.i.i.i92 = load i64, ptr %26, align 8 + %bf.clear4.i.i.i93 = and i64 %bf.load3.i.i.i92, 1099511627775 + %cmp.i.i.i94 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i75, %bf.clear4.i.i.i93 + br i1 %cmp.i.i.i94, label %if.then.i97, label %invoke.cont43 + +if.then.i97: ; preds = %lor.rhs.i90, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i88, %invoke.cont38 + %__y.addr.0.lcssa.i.i.i9.i98 = phi ptr [ %__y.addr.1.i.i.i.i83, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i88 ], [ %__y.addr.1.i.i.i.i83, %lor.rhs.i90 ], [ %add.ptr.i.i.i.i37, %invoke.cont38 ] + store ptr %add.ptr.i67, ptr %ref.tmp9.i68, align 8 + %call12.i100 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St3mapIS3_iSt4lessIS3_ESaIS4_IS5_iEEEESt10_Select1stISC_ES8_SaISC_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESL_IJEEEEESt17_Rb_tree_iteratorISC_ESt23_Rb_tree_const_iteratorISC_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %dni, ptr %__y.addr.0.lcssa.i.i.i9.i98, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i68, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i69) + to label %invoke.cont43 unwind label %lpad35 + +invoke.cont43: ; preds = %lor.rhs.i90, %if.then.i97 + %__i.sroa.0.0.i95 = phi ptr [ %__y.addr.1.i.i.i.i83, %lor.rhs.i90 ], [ %call12.i100, %if.then.i97 ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i68) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i69) + %add.ptr.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i95, i64 48 + %cmp.i.not = icmp eq ptr %retval.sroa.0.0.i.i, %add.ptr.i.i + br i1 %cmp.i.not, label %if.else, label %if.end75 + +lpad: ; preds = %if.then13.i.i, %if.then.i + %27 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup537 + +lpad35: ; preds = %if.else.i416.invoke, %if.then13.i.i.i.i.i409, %if.then.i391, %if.then13.i.i.i.i.i, %if.then.i123, %if.then.i97, %if.then.i62, %if.else + %28 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup220 + +if.end75: ; preds = %invoke.cont43 + %second77 = getelementptr inbounds i8, ptr %retval.sroa.0.0.i.i, i64 40 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i102) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i103) + %29 = load ptr, ptr %_M_parent.i.i.i.i.i22, align 8 + %cmp.not5.i.i.i.i106 = icmp eq ptr %29, null + br i1 %cmp.not5.i.i.i.i106, label %if.then.i123, label %while.body.lr.ph.i.i.i.i107 + +while.body.lr.ph.i.i.i.i107: ; preds = %if.end75 + %30 = load i32, ptr %second77, align 4 + br label %while.body.i.i.i.i108 + +while.body.i.i.i.i108: ; preds = %while.body.i.i.i.i108, %while.body.lr.ph.i.i.i.i107 + %__x.addr.07.i.i.i.i109 = phi ptr [ %29, %while.body.lr.ph.i.i.i.i107 ], [ %__x.addr.1.i.i.i.i116, %while.body.i.i.i.i108 ] + %__y.addr.06.i.i.i.i110 = phi ptr [ %2, %while.body.lr.ph.i.i.i.i107 ], [ %__y.addr.1.i.i.i.i113, %while.body.i.i.i.i108 ] + %_M_storage.i.i.i.i.i.i111 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i109, i64 32 + %31 = load i32, ptr %_M_storage.i.i.i.i.i.i111, align 4 + %cmp.i.i.i.i.i112 = icmp slt i32 %31, %30 + %__y.addr.1.i.i.i.i113 = select i1 %cmp.i.i.i.i.i112, ptr %__y.addr.06.i.i.i.i110, ptr %__x.addr.07.i.i.i.i109 + %__x.addr.1.in.v.i.i.i.i114 = select i1 %cmp.i.i.i.i.i112, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i115 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i109, i64 %__x.addr.1.in.v.i.i.i.i114 + %__x.addr.1.i.i.i.i116 = load ptr, ptr %__x.addr.1.in.i.i.i.i115, align 8 + %cmp.not.i.i.i.i117 = icmp eq ptr %__x.addr.1.i.i.i.i116, null + br i1 %cmp.not.i.i.i.i117, label %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEE11lower_boundERSA_.exit.i, label %while.body.i.i.i.i108, !llvm.loop !276 + +_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEE11lower_boundERSA_.exit.i: ; preds = %while.body.i.i.i.i108 + %cmp.i.i118 = icmp eq ptr %__y.addr.1.i.i.i.i113, %2 + br i1 %cmp.i.i118, label %if.then.i123, label %lor.rhs.i119 + +lor.rhs.i119: ; preds = %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEE11lower_boundERSA_.exit.i + %__y.addr.1.i.i.i.i113.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i112, ptr %__y.addr.06.i.i.i.i110, ptr %__x.addr.07.i.i.i.i109 + %__y.addr.1.i.i.i.i113.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i113.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %32 = load i32, ptr %__y.addr.1.i.i.i.i113.sroa.sel.v.sroa.sel.v.sroa.sel, align 4 + %cmp.i3.i = icmp slt i32 %30, %32 + br i1 %cmp.i3.i, label %if.then.i123, label %invoke.cont78 + +if.then.i123: ; preds = %lor.rhs.i119, %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEE11lower_boundERSA_.exit.i, %if.end75 + %__y.addr.0.lcssa.i.i.i10.i = phi ptr [ %__y.addr.1.i.i.i.i113, %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEE11lower_boundERSA_.exit.i ], [ %__y.addr.1.i.i.i.i113, %lor.rhs.i119 ], [ %2, %if.end75 ] + store ptr %second77, ptr %ref.tmp9.i102, align 8 + %call12.i125 = invoke ptr @_ZNSt8_Rb_treeIiSt4pairIKiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS6_EEESt10_Select1stIS9_ESt4lessIiESaIS9_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESK_IJEEEEESt17_Rb_tree_iteratorIS9_ESt23_Rb_tree_const_iteratorIS9_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %new_part_rec, ptr %__y.addr.0.lcssa.i.i.i10.i, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i102, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i103) + to label %invoke.cont78 unwind label %lpad35 + +invoke.cont78: ; preds = %lor.rhs.i119, %if.then.i123 + %__i.sroa.0.0.i121 = phi ptr [ %__y.addr.1.i.i.i.i113, %lor.rhs.i119 ], [ %call12.i125, %if.then.i123 ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i102) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i103) + %33 = load ptr, ptr %part, align 8 + %add.ptr.i126 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %33, i64 %conv251769 + %_M_finish.i127 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i121, i64 48 + %34 = load ptr, ptr %_M_finish.i127, align 8 + %_M_end_of_storage.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i121, i64 56 + %35 = load ptr, ptr %_M_end_of_storage.i, align 8 + %cmp.not.i = icmp eq ptr %34, %35 + br i1 %cmp.not.i, label %if.else.i416.invoke, label %if.then.i128 + +if.then.i128: ; preds = %invoke.cont78 + %36 = load ptr, ptr %add.ptr.i126, align 8 + store ptr %36, ptr %34, align 8 + %bf.load.i.i.i.i.i129 = load i64, ptr %36, align 8 + %bf.lshr.i.i.i.i.i = lshr i64 %bf.load.i.i.i.i.i129, 40 + %37 = trunc nuw nsw i64 %bf.lshr.i.i.i.i.i to i32 + %bf.cast.i.i.i.i.i = and i32 %37, 1048575 + %cmp.i.i.i.i.i130 = icmp samesign ult i32 %bf.cast.i.i.i.i.i, 1048574 + br i1 %cmp.i.i.i.i.i130, label %if.then.i.i.i.i.i, label %if.else.i.i.i.i.i + +if.then.i.i.i.i.i: ; preds = %if.then.i128 + %bf.value.i.i.i.i.i = add i64 %bf.load.i.i.i.i.i129, 1099511627776 + %bf.shl.i.i.i.i.i = and i64 %bf.value.i.i.i.i.i, 1152920405095219200 + %bf.clear7.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i129, -1152920405095219201 + %bf.set.i.i.i.i.i = or disjoint i64 %bf.shl.i.i.i.i.i, %bf.clear7.i.i.i.i.i + store i64 %bf.set.i.i.i.i.i, ptr %36, align 8 + br label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i + +if.else.i.i.i.i.i: ; preds = %if.then.i128 + %cmp12.i.i.i.i.i = icmp eq i32 %bf.cast.i.i.i.i.i, 1048574 + br i1 %cmp12.i.i.i.i.i, label %if.then13.i.i.i.i.i, label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i + +if.then13.i.i.i.i.i: ; preds = %if.else.i.i.i.i.i + %bf.set23.i.i.i.i.i = or i64 %bf.load.i.i.i.i.i129, 1152920405095219200 + store i64 %bf.set23.i.i.i.i.i, ptr %36, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %36) + to label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i unwind label %lpad35 + +_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i: ; preds = %if.then13.i.i.i.i.i, %if.else.i.i.i.i.i, %if.then.i.i.i.i.i + %38 = load ptr, ptr %_M_finish.i127, align 8 + %incdec.ptr.i = getelementptr inbounds i8, ptr %38, i64 8 + store ptr %incdec.ptr.i, ptr %_M_finish.i127, align 8 + br label %if.end219 + +if.else: ; preds = %invoke.cont43 + invoke void @_ZNK4cvc58internal12NodeTemplateILb1EE7getTypeEb(ptr nonnull sret(%"class.cvc5::internal::TypeNode") align 8 %ref.tmp83, ptr noundef nonnull align 8 dereferenceable(8) %c, i1 noundef zeroext false) + to label %invoke.cont84 unwind label %lpad35 + +invoke.cont84: ; preds = %if.else + %call87 = invoke noundef zeroext i1 @_ZNK4cvc58internal8TypeNode10isDatatypeEv(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp83) + to label %invoke.cont86 unwind label %lpad85 + +invoke.cont86: ; preds = %invoke.cont84 + %39 = load ptr, ptr %ref.tmp83, align 8 + %bf.load.i.i133 = load i64, ptr %39, align 8 + %40 = and i64 %bf.load.i.i133, 1152920405095219200 + %cmp.not.i.i = icmp eq i64 %40, 1152920405095219200 + br i1 %cmp.not.i.i, label %_ZN4cvc58internal8TypeNodeD2Ev.exit, label %if.then.i.i134 + +if.then.i.i134: ; preds = %invoke.cont86 + %bf.value.i.i135 = add i64 %bf.load.i.i133, 1152920405095219200 + %bf.shl.i.i136 = and i64 %bf.value.i.i135, 1152920405095219200 + %bf.clear7.i.i137 = and i64 %bf.load.i.i133, -1152920405095219201 + %bf.set.i.i138 = or disjoint i64 %bf.shl.i.i136, %bf.clear7.i.i137 + store i64 %bf.set.i.i138, ptr %39, align 8 + %cmp12.i.i139 = icmp eq i64 %bf.shl.i.i136, 0 + br i1 %cmp12.i.i139, label %if.then13.i.i140, label %_ZN4cvc58internal8TypeNodeD2Ev.exit + +if.then13.i.i140: ; preds = %if.then.i.i134 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %39) + to label %_ZN4cvc58internal8TypeNodeD2Ev.exit unwind label %terminate.lpad.i + +terminate.lpad.i: ; preds = %if.then13.i.i140 + %41 = landingpad { ptr, i32 } + catch ptr null + %42 = extractvalue { ptr, i32 } %41, 0 + call void @__clang_call_terminate(ptr %42) #25 + unreachable + +_ZN4cvc58internal8TypeNodeD2Ev.exit: ; preds = %invoke.cont86, %if.then.i.i134, %if.then13.i.i140 + br i1 %call87, label %if.then88, label %if.end212 + +if.then88: ; preds = %_ZN4cvc58internal8TypeNodeD2Ev.exit + %43 = load ptr, ptr %c, align 8 + store ptr %43, ptr %agg.tmp, align 8 + invoke void @_ZN4cvc58internal6theory9datatypes15TheoryDatatypes17getEqcConstructorENS0_12NodeTemplateILb0EEE(ptr nonnull sret(%"class.cvc5::internal::NodeTemplate.733") align 8 %ref.tmp89, ptr noundef nonnull align 8 dereferenceable(2008) %this, ptr noundef nonnull %agg.tmp) + to label %invoke.cont92 unwind label %lpad91 + +invoke.cont92: ; preds = %if.then88 + %44 = load ptr, ptr %ref.tmp89, align 8 + store ptr %44, ptr %ncons, align 8 + %bf.load.i.i141 = load i64, ptr %44, align 8 + %bf.lshr.i.i142 = lshr i64 %bf.load.i.i141, 40 + %45 = trunc nuw nsw i64 %bf.lshr.i.i142 to i32 + %bf.cast.i.i143 = and i32 %45, 1048575 + %cmp.i.i144 = icmp samesign ult i32 %bf.cast.i.i143, 1048574 + br i1 %cmp.i.i144, label %if.then.i.i149, label %if.else.i.i145 + +if.then.i.i149: ; preds = %invoke.cont92 + %bf.value.i.i150 = add i64 %bf.load.i.i141, 1099511627776 + %bf.shl.i.i151 = and i64 %bf.value.i.i150, 1152920405095219200 + %bf.clear7.i.i152 = and i64 %bf.load.i.i141, -1152920405095219201 + %bf.set.i.i153 = or disjoint i64 %bf.shl.i.i151, %bf.clear7.i.i152 + store i64 %bf.set.i.i153, ptr %44, align 8 + br label %invoke.cont94 + +if.else.i.i145: ; preds = %invoke.cont92 + %cmp12.i.i146 = icmp eq i32 %bf.cast.i.i143, 1048574 + br i1 %cmp12.i.i146, label %if.then13.i.i147, label %invoke.cont94 + +if.then13.i.i147: ; preds = %if.else.i.i145 + %bf.set23.i.i148 = or i64 %bf.load.i.i141, 1152920405095219200 + store i64 %bf.set23.i.i148, ptr %44, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %44) + to label %invoke.cont94 unwind label %lpad93 + +invoke.cont94: ; preds = %if.else.i.i145, %if.then.i.i149, %if.then13.i.i147 + %46 = load ptr, ptr %ncons, align 8 + %d_kind.i = getelementptr inbounds i8, ptr %46, i64 8 + %bf.load.i = load i16, ptr %d_kind.i, align 8 + %bf.clear.i = and i16 %bf.load.i, 1023 + %cmp98 = icmp eq i16 %bf.clear.i, 217 + br i1 %cmp98, label %if.then99, label %if.else152 + +if.then99: ; preds = %invoke.cont94 + invoke void @_ZNK4cvc58internal12NodeTemplateILb1EE11getOperatorEv(ptr nonnull sret(%"class.cvc5::internal::NodeTemplate") align 8 %cc, ptr noundef nonnull align 8 dereferenceable(8) %ncons) + to label %invoke.cont100 unwind label %lpad95 + +invoke.cont100: ; preds = %if.then99 + %47 = load ptr, ptr %part, align 8 + %add.ptr.i155 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %47, i64 %conv251769 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i156) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i157) + %48 = load ptr, ptr %_M_parent.i.i.i.i.i26, align 8 + %cmp.not5.i.i.i.i160 = icmp eq ptr %48, null + br i1 %cmp.not5.i.i.i.i160, label %if.then.i185, label %while.body.lr.ph.i.i.i.i161 + +while.body.lr.ph.i.i.i.i161: ; preds = %invoke.cont100 + %49 = load ptr, ptr %add.ptr.i155, align 8 + %bf.load3.i.i.i.i.i.i162 = load i64, ptr %49, align 8 + %bf.clear4.i.i.i.i.i.i163 = and i64 %bf.load3.i.i.i.i.i.i162, 1099511627775 + br label %while.body.i.i.i.i164 + +while.body.i.i.i.i164: ; preds = %while.body.i.i.i.i164, %while.body.lr.ph.i.i.i.i161 + %__x.addr.07.i.i.i.i165 = phi ptr [ %48, %while.body.lr.ph.i.i.i.i161 ], [ %__x.addr.1.i.i.i.i174, %while.body.i.i.i.i164 ] + %__y.addr.06.i.i.i.i166 = phi ptr [ %3, %while.body.lr.ph.i.i.i.i161 ], [ %__y.addr.1.i.i.i.i171, %while.body.i.i.i.i164 ] + %_M_storage.i.i.i.i.i.i167 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i165, i64 32 + %50 = load ptr, ptr %_M_storage.i.i.i.i.i.i167, align 8 + %bf.load.i.i.i.i.i.i168 = load i64, ptr %50, align 8 + %bf.clear.i.i.i.i.i.i169 = and i64 %bf.load.i.i.i.i.i.i168, 1099511627775 + %cmp.i.i.i.i.i.i170 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i169, %bf.clear4.i.i.i.i.i.i163 + %__y.addr.1.i.i.i.i171 = select i1 %cmp.i.i.i.i.i.i170, ptr %__y.addr.06.i.i.i.i166, ptr %__x.addr.07.i.i.i.i165 + %__x.addr.1.in.v.i.i.i.i172 = select i1 %cmp.i.i.i.i.i.i170, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i173 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i165, i64 %__x.addr.1.in.v.i.i.i.i172 + %__x.addr.1.i.i.i.i174 = load ptr, ptr %__x.addr.1.in.i.i.i.i173, align 8 + %cmp.not.i.i.i.i175 = icmp eq ptr %__x.addr.1.i.i.i.i174, null + br i1 %cmp.not.i.i.i.i175, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i176, label %while.body.i.i.i.i164, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i176: ; preds = %while.body.i.i.i.i164 + %cmp.i.i177 = icmp eq ptr %__y.addr.1.i.i.i.i171, %3 + br i1 %cmp.i.i177, label %if.then.i185, label %lor.rhs.i178 + +lor.rhs.i178: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i176 + %__y.addr.1.i.i.i.i171.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i170, ptr %__y.addr.06.i.i.i.i166, ptr %__x.addr.07.i.i.i.i165 + %__y.addr.1.i.i.i.i171.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i171.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %51 = load ptr, ptr %__y.addr.1.i.i.i.i171.sroa.sel.v.sroa.sel.v.sroa.sel, align 8 + %bf.load3.i.i.i180 = load i64, ptr %51, align 8 + %bf.clear4.i.i.i181 = and i64 %bf.load3.i.i.i180, 1099511627775 + %cmp.i.i.i182 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i163, %bf.clear4.i.i.i181 + br i1 %cmp.i.i.i182, label %if.then.i185, label %invoke.cont104 + +if.then.i185: ; preds = %lor.rhs.i178, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i176, %invoke.cont100 + %__y.addr.0.lcssa.i.i.i9.i186 = phi ptr [ %__y.addr.1.i.i.i.i171, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i176 ], [ %__y.addr.1.i.i.i.i171, %lor.rhs.i178 ], [ %3, %invoke.cont100 ] + store ptr %add.ptr.i155, ptr %ref.tmp9.i156, align 8 + %call12.i188 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESH_IJEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %cn_cons, ptr %__y.addr.0.lcssa.i.i.i9.i186, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i156, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i157) + to label %invoke.cont104 unwind label %lpad103 + +invoke.cont104: ; preds = %lor.rhs.i178, %if.then.i185 + %__i.sroa.0.0.i183 = phi ptr [ %__y.addr.1.i.i.i.i171, %lor.rhs.i178 ], [ %call12.i188, %if.then.i185 ] + %second.i184 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i183, i64 40 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i156) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i157) + %52 = load ptr, ptr %second.i184, align 8 + %53 = load ptr, ptr %ncons, align 8 + %cmp.not.i190 = icmp eq ptr %52, %53 + br i1 %cmp.not.i190, label %land.lhs.true, label %if.then.i191 + +if.then.i191: ; preds = %invoke.cont104 + %bf.load.i.i192 = load i64, ptr %52, align 8 + %54 = and i64 %bf.load.i.i192, 1152920405095219200 + %cmp.not.i.i193 = icmp eq i64 %54, 1152920405095219200 + br i1 %cmp.not.i.i193, label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i, label %if.then.i.i194 + +if.then.i.i194: ; preds = %if.then.i191 + %bf.value.i.i195 = add i64 %bf.load.i.i192, 1152920405095219200 + %bf.shl.i.i196 = and i64 %bf.value.i.i195, 1152920405095219200 + %bf.clear7.i.i197 = and i64 %bf.load.i.i192, -1152920405095219201 + %bf.set.i.i198 = or disjoint i64 %bf.shl.i.i196, %bf.clear7.i.i197 + store i64 %bf.set.i.i198, ptr %52, align 8 + %cmp12.i.i199 = icmp eq i64 %bf.shl.i.i196, 0 + br i1 %cmp12.i.i199, label %if.then13.i.i205, label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i + +if.then13.i.i205: ; preds = %if.then.i.i194 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %52) + to label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i unwind label %lpad103 + +_ZN4cvc58internal4expr9NodeValue3decEv.exit.i: ; preds = %if.then13.i.i205, %if.then.i.i194, %if.then.i191 + %55 = load ptr, ptr %ncons, align 8 + store ptr %55, ptr %second.i184, align 8 + %bf.load.i2.i = load i64, ptr %55, align 8 + %bf.lshr.i.i200 = lshr i64 %bf.load.i2.i, 40 + %56 = trunc nuw nsw i64 %bf.lshr.i.i200 to i32 + %bf.cast.i.i201 = and i32 %56, 1048575 + %cmp.i.i202 = icmp samesign ult i32 %bf.cast.i.i201, 1048574 + br i1 %cmp.i.i202, label %if.then.i5.i, label %if.else.i.i203 + +if.then.i5.i: ; preds = %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i + %bf.value.i6.i = add i64 %bf.load.i2.i, 1099511627776 + %bf.shl.i7.i = and i64 %bf.value.i6.i, 1152920405095219200 + %bf.clear7.i8.i = and i64 %bf.load.i2.i, -1152920405095219201 + %bf.set.i9.i = or disjoint i64 %bf.shl.i7.i, %bf.clear7.i8.i + store i64 %bf.set.i9.i, ptr %55, align 8 + br label %land.lhs.true + +if.else.i.i203: ; preds = %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i + %cmp12.i3.i = icmp eq i32 %bf.cast.i.i201, 1048574 + br i1 %cmp12.i3.i, label %if.then13.i4.i, label %land.lhs.true + +if.then13.i4.i: ; preds = %if.else.i.i203 + %bf.set23.i.i204 = or i64 %bf.load.i2.i, 1152920405095219200 + store i64 %bf.set23.i.i204, ptr %55, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %55) + to label %land.lhs.true unwind label %lpad103 + +land.lhs.true: ; preds = %if.else.i.i203, %if.then.i5.i, %invoke.cont104, %if.then13.i4.i + %57 = load ptr, ptr %c, align 8 + %58 = load ptr, ptr %ncons, align 8 + %cmp.i208.not = icmp eq ptr %57, %58 + br i1 %cmp.i208.not, label %if.end117, label %if.then111 + +if.then111: ; preds = %land.lhs.true + invoke void @_ZNK4cvc58internal12NodeTemplateILb1EE6eqNodeILb1EEES2_RKNS1_IXT_EEE(ptr nonnull sret(%"class.cvc5::internal::NodeTemplate") align 8 %ref.tmp112, ptr noundef nonnull align 8 dereferenceable(8) %c, ptr noundef nonnull align 8 dereferenceable(8) %ncons) + to label %invoke.cont113 unwind label %lpad103 + +invoke.cont113: ; preds = %if.then111 + %59 = load ptr, ptr %_M_finish.i.i, align 8 + %60 = load ptr, ptr %_M_end_of_storage.i.i, align 8 + %cmp.not.i.i209 = icmp eq ptr %59, %60 + br i1 %cmp.not.i.i209, label %if.else.i.i213, label %if.then.i.i210 + +if.then.i.i210: ; preds = %invoke.cont113 + %61 = load ptr, ptr %ref.tmp112, align 8 + store ptr %61, ptr %59, align 8 + %bf.load.i.i.i.i.i.i211 = load i64, ptr %61, align 8 + %bf.lshr.i.i.i.i.i.i = lshr i64 %bf.load.i.i.i.i.i.i211, 40 + %62 = trunc nuw nsw i64 %bf.lshr.i.i.i.i.i.i to i32 + %bf.cast.i.i.i.i.i.i = and i32 %62, 1048575 + %cmp.i.i.i.i.i.i212 = icmp samesign ult i32 %bf.cast.i.i.i.i.i.i, 1048574 + br i1 %cmp.i.i.i.i.i.i212, label %if.then.i.i.i.i.i.i, label %if.else.i.i.i.i.i.i + +if.then.i.i.i.i.i.i: ; preds = %if.then.i.i210 + %bf.value.i.i.i.i.i.i = add i64 %bf.load.i.i.i.i.i.i211, 1099511627776 + %bf.shl.i.i.i.i.i.i = and i64 %bf.value.i.i.i.i.i.i, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i.i211, -1152920405095219201 + %bf.set.i.i.i.i.i.i = or disjoint i64 %bf.shl.i.i.i.i.i.i, %bf.clear7.i.i.i.i.i.i + store i64 %bf.set.i.i.i.i.i.i, ptr %61, align 8 + br label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i + +if.else.i.i.i.i.i.i: ; preds = %if.then.i.i210 + %cmp12.i.i.i.i.i.i = icmp eq i32 %bf.cast.i.i.i.i.i.i, 1048574 + br i1 %cmp12.i.i.i.i.i.i, label %if.then13.i.i.i.i.i.i, label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i + +if.then13.i.i.i.i.i.i: ; preds = %if.else.i.i.i.i.i.i + %bf.set23.i.i.i.i.i.i = or i64 %bf.load.i.i.i.i.i.i211, 1152920405095219200 + store i64 %bf.set23.i.i.i.i.i.i, ptr %61, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %61) + to label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i unwind label %lpad114 + +_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i: ; preds = %if.then13.i.i.i.i.i.i, %if.else.i.i.i.i.i.i, %if.then.i.i.i.i.i.i + %63 = load ptr, ptr %_M_finish.i.i, align 8 + %incdec.ptr.i.i = getelementptr inbounds i8, ptr %63, i64 8 + store ptr %incdec.ptr.i.i, ptr %_M_finish.i.i, align 8 + br label %invoke.cont115 + +if.else.i.i213: ; preds = %invoke.cont113 + invoke void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %exp, ptr %59, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp112) + to label %invoke.cont115 unwind label %lpad114 + +invoke.cont115: ; preds = %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i, %if.else.i.i213 + %64 = load ptr, ptr %ref.tmp112, align 8 + %bf.load.i.i216 = load i64, ptr %64, align 8 + %65 = and i64 %bf.load.i.i216, 1152920405095219200 + %cmp.not.i.i217 = icmp eq i64 %65, 1152920405095219200 + br i1 %cmp.not.i.i217, label %if.end117, label %if.then.i.i218 + +if.then.i.i218: ; preds = %invoke.cont115 + %bf.value.i.i219 = add i64 %bf.load.i.i216, 1152920405095219200 + %bf.shl.i.i220 = and i64 %bf.value.i.i219, 1152920405095219200 + %bf.clear7.i.i221 = and i64 %bf.load.i.i216, -1152920405095219201 + %bf.set.i.i222 = or disjoint i64 %bf.shl.i.i220, %bf.clear7.i.i221 + store i64 %bf.set.i.i222, ptr %64, align 8 + %cmp12.i.i223 = icmp eq i64 %bf.shl.i.i220, 0 + br i1 %cmp12.i.i223, label %if.then13.i.i224, label %if.end117 + +if.then13.i.i224: ; preds = %if.then.i.i218 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %64) + to label %if.end117 unwind label %terminate.lpad.i225 + +terminate.lpad.i225: ; preds = %if.then13.i.i224 + %66 = landingpad { ptr, i32 } + catch ptr null + %67 = extractvalue { ptr, i32 } %66, 0 + call void @__clang_call_terminate(ptr %67) #25 + unreachable + +lpad85: ; preds = %invoke.cont84 + %68 = landingpad { ptr, i32 } + cleanup + call void @_ZN4cvc58internal8TypeNodeD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp83) #23 + br label %ehcleanup220 + +lpad91: ; preds = %if.then88 + %69 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup220 + +lpad93: ; preds = %if.then13.i.i147 + %70 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup220 + +lpad95: ; preds = %if.else.i347, %if.then13.i.i.i.i.i340, %if.then.i322, %if.then99 + %71 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup183 + +lpad103: ; preds = %if.else.i278, %if.then13.i.i.i.i.i271, %if.then.i254, %if.then13.i4.i, %if.then13.i.i205, %if.then.i185, %if.then111 + %72 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup151 + +lpad114: ; preds = %if.else.i.i213, %if.then13.i.i.i.i.i.i + %73 = landingpad { ptr, i32 } + cleanup + call void @_ZN4cvc58internal12NodeTemplateILb1EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp112) #23 + br label %ehcleanup151 + +if.end117: ; preds = %if.then13.i.i224, %if.then.i.i218, %invoke.cont115, %land.lhs.true + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i226) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i227) + %74 = load ptr, ptr %_M_parent.i.i.i.i.i, align 8 + %cmp.not5.i.i.i.i230 = icmp eq ptr %74, null + br i1 %cmp.not5.i.i.i.i230, label %if.then.i254, label %while.body.lr.ph.i.i.i.i231 + +while.body.lr.ph.i.i.i.i231: ; preds = %if.end117 + %75 = load ptr, ptr %cc, align 8 + %bf.load3.i.i.i.i.i.i232 = load i64, ptr %75, align 8 + %bf.clear4.i.i.i.i.i.i233 = and i64 %bf.load3.i.i.i.i.i.i232, 1099511627775 + br label %while.body.i.i.i.i234 + +while.body.i.i.i.i234: ; preds = %while.body.i.i.i.i234, %while.body.lr.ph.i.i.i.i231 + %__x.addr.07.i.i.i.i235 = phi ptr [ %74, %while.body.lr.ph.i.i.i.i231 ], [ %__x.addr.1.i.i.i.i244, %while.body.i.i.i.i234 ] + %__y.addr.06.i.i.i.i236 = phi ptr [ %0, %while.body.lr.ph.i.i.i.i231 ], [ %__y.addr.1.i.i.i.i241, %while.body.i.i.i.i234 ] + %_M_storage.i.i.i.i.i.i237 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i235, i64 32 + %76 = load ptr, ptr %_M_storage.i.i.i.i.i.i237, align 8 + %bf.load.i.i.i.i.i.i238 = load i64, ptr %76, align 8 + %bf.clear.i.i.i.i.i.i239 = and i64 %bf.load.i.i.i.i.i.i238, 1099511627775 + %cmp.i.i.i.i.i.i240 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i239, %bf.clear4.i.i.i.i.i.i233 + %__y.addr.1.i.i.i.i241 = select i1 %cmp.i.i.i.i.i.i240, ptr %__y.addr.06.i.i.i.i236, ptr %__x.addr.07.i.i.i.i235 + %__x.addr.1.in.v.i.i.i.i242 = select i1 %cmp.i.i.i.i.i.i240, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i243 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i235, i64 %__x.addr.1.in.v.i.i.i.i242 + %__x.addr.1.i.i.i.i244 = load ptr, ptr %__x.addr.1.in.i.i.i.i243, align 8 + %cmp.not.i.i.i.i245 = icmp eq ptr %__x.addr.1.i.i.i.i244, null + br i1 %cmp.not.i.i.i.i245, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i, label %while.body.i.i.i.i234, !llvm.loop !73 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i: ; preds = %while.body.i.i.i.i234 + %cmp.i.i246 = icmp eq ptr %__y.addr.1.i.i.i.i241, %0 + br i1 %cmp.i.i246, label %if.then.i254, label %lor.rhs.i247 + +lor.rhs.i247: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i + %__y.addr.1.i.i.i.i241.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i240, ptr %__y.addr.06.i.i.i.i236, ptr %__x.addr.07.i.i.i.i235 + %__y.addr.1.i.i.i.i241.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i241.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %77 = load ptr, ptr %__y.addr.1.i.i.i.i241.sroa.sel.v.sroa.sel.v.sroa.sel, align 8 + %bf.load3.i.i.i249 = load i64, ptr %77, align 8 + %bf.clear4.i.i.i250 = and i64 %bf.load3.i.i.i249, 1099511627775 + %cmp.i.i.i251 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i233, %bf.clear4.i.i.i250 + br i1 %cmp.i.i.i251, label %if.then.i254, label %invoke.cont118 + +if.then.i254: ; preds = %lor.rhs.i247, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i, %if.end117 + %__y.addr.0.lcssa.i.i.i9.i255 = phi ptr [ %__y.addr.1.i.i.i.i241, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i ], [ %__y.addr.1.i.i.i.i241, %lor.rhs.i247 ], [ %0, %if.end117 ] + store ptr %cc, ptr %ref.tmp9.i226, align 8 + %call12.i257 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St6vectorIS3_SaIS3_EEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESK_IJEEEEESt17_Rb_tree_iteratorIS9_ESt23_Rb_tree_const_iteratorIS9_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %new_part, ptr %__y.addr.0.lcssa.i.i.i9.i255, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i226, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i227) + to label %invoke.cont118 unwind label %lpad103 + +invoke.cont118: ; preds = %lor.rhs.i247, %if.then.i254 + %__i.sroa.0.0.i252 = phi ptr [ %__y.addr.1.i.i.i.i241, %lor.rhs.i247 ], [ %call12.i257, %if.then.i254 ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i226) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i227) + %78 = load ptr, ptr %part, align 8 + %add.ptr.i258 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %78, i64 %conv251769 + %_M_finish.i259 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i252, i64 48 + %79 = load ptr, ptr %_M_finish.i259, align 8 + %_M_end_of_storage.i260 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i252, i64 56 + %80 = load ptr, ptr %_M_end_of_storage.i260, align 8 + %cmp.not.i261 = icmp eq ptr %79, %80 + br i1 %cmp.not.i261, label %if.else.i278, label %if.then.i262 + +if.then.i262: ; preds = %invoke.cont118 + %81 = load ptr, ptr %add.ptr.i258, align 8 + store ptr %81, ptr %79, align 8 + %bf.load.i.i.i.i.i263 = load i64, ptr %81, align 8 + %bf.lshr.i.i.i.i.i264 = lshr i64 %bf.load.i.i.i.i.i263, 40 + %82 = trunc nuw nsw i64 %bf.lshr.i.i.i.i.i264 to i32 + %bf.cast.i.i.i.i.i265 = and i32 %82, 1048575 + %cmp.i.i.i.i.i266 = icmp samesign ult i32 %bf.cast.i.i.i.i.i265, 1048574 + br i1 %cmp.i.i.i.i.i266, label %if.then.i.i.i.i.i273, label %if.else.i.i.i.i.i267 + +if.then.i.i.i.i.i273: ; preds = %if.then.i262 + %bf.value.i.i.i.i.i274 = add i64 %bf.load.i.i.i.i.i263, 1099511627776 + %bf.shl.i.i.i.i.i275 = and i64 %bf.value.i.i.i.i.i274, 1152920405095219200 + %bf.clear7.i.i.i.i.i276 = and i64 %bf.load.i.i.i.i.i263, -1152920405095219201 + %bf.set.i.i.i.i.i277 = or disjoint i64 %bf.shl.i.i.i.i.i275, %bf.clear7.i.i.i.i.i276 + store i64 %bf.set.i.i.i.i.i277, ptr %81, align 8 + br label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i269 + +if.else.i.i.i.i.i267: ; preds = %if.then.i262 + %cmp12.i.i.i.i.i268 = icmp eq i32 %bf.cast.i.i.i.i.i265, 1048574 + br i1 %cmp12.i.i.i.i.i268, label %if.then13.i.i.i.i.i271, label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i269 + +if.then13.i.i.i.i.i271: ; preds = %if.else.i.i.i.i.i267 + %bf.set23.i.i.i.i.i272 = or i64 %bf.load.i.i.i.i.i263, 1152920405095219200 + store i64 %bf.set23.i.i.i.i.i272, ptr %81, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %81) + to label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i269 unwind label %lpad103 + +_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i269: ; preds = %if.then13.i.i.i.i.i271, %if.else.i.i.i.i.i267, %if.then.i.i.i.i.i273 + %83 = load ptr, ptr %_M_finish.i259, align 8 + %incdec.ptr.i270 = getelementptr inbounds i8, ptr %83, i64 8 + store ptr %incdec.ptr.i270, ptr %_M_finish.i259, align 8 + br label %if.end150 + +if.else.i278: ; preds = %invoke.cont118 + %second.i253 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i252, i64 40 + invoke void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %second.i253, ptr %79, ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i258) + to label %if.end150 unwind label %lpad103 + +if.end150: ; preds = %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i269, %if.else.i278 + %84 = load ptr, ptr %cc, align 8 + %bf.load.i.i282 = load i64, ptr %84, align 8 + %85 = and i64 %bf.load.i.i282, 1152920405095219200 + %cmp.not.i.i283 = icmp eq i64 %85, 1152920405095219200 + br i1 %cmp.not.i.i283, label %if.end182, label %if.then.i.i284 + +if.then.i.i284: ; preds = %if.end150 + %bf.value.i.i285 = add i64 %bf.load.i.i282, 1152920405095219200 + %bf.shl.i.i286 = and i64 %bf.value.i.i285, 1152920405095219200 + %bf.clear7.i.i287 = and i64 %bf.load.i.i282, -1152920405095219201 + %bf.set.i.i288 = or disjoint i64 %bf.shl.i.i286, %bf.clear7.i.i287 + store i64 %bf.set.i.i288, ptr %84, align 8 + %cmp12.i.i289 = icmp eq i64 %bf.shl.i.i286, 0 + br i1 %cmp12.i.i289, label %if.then13.i.i290, label %if.end182 + +if.then13.i.i290: ; preds = %if.then.i.i284 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %84) + to label %if.end182 unwind label %terminate.lpad.i291 + +terminate.lpad.i291: ; preds = %if.then13.i.i290 + %86 = landingpad { ptr, i32 } + catch ptr null + %87 = extractvalue { ptr, i32 } %86, 0 + call void @__clang_call_terminate(ptr %87) #25 + unreachable + +ehcleanup151: ; preds = %lpad114, %lpad103 + %.pn12 = phi { ptr, i32 } [ %72, %lpad103 ], [ %73, %lpad114 ] + call void @_ZN4cvc58internal12NodeTemplateILb1EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %cc) #23 + br label %ehcleanup183 + +if.else152: ; preds = %invoke.cont94 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i293) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i294) + %88 = load ptr, ptr %_M_parent.i.i.i.i.i18, align 8 + %cmp.not5.i.i.i.i297 = icmp eq ptr %88, null + br i1 %cmp.not5.i.i.i.i297, label %if.then.i322, label %while.body.lr.ph.i.i.i.i298 + +while.body.lr.ph.i.i.i.i298: ; preds = %if.else152 + %89 = load ptr, ptr %c, align 8 + %bf.load3.i.i.i.i.i.i299 = load i64, ptr %89, align 8 + %bf.clear4.i.i.i.i.i.i300 = and i64 %bf.load3.i.i.i.i.i.i299, 1099511627775 + br label %while.body.i.i.i.i301 + +while.body.i.i.i.i301: ; preds = %while.body.i.i.i.i301, %while.body.lr.ph.i.i.i.i298 + %__x.addr.07.i.i.i.i302 = phi ptr [ %88, %while.body.lr.ph.i.i.i.i298 ], [ %__x.addr.1.i.i.i.i311, %while.body.i.i.i.i301 ] + %__y.addr.06.i.i.i.i303 = phi ptr [ %1, %while.body.lr.ph.i.i.i.i298 ], [ %__y.addr.1.i.i.i.i308, %while.body.i.i.i.i301 ] + %_M_storage.i.i.i.i.i.i304 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i302, i64 32 + %90 = load ptr, ptr %_M_storage.i.i.i.i.i.i304, align 8 + %bf.load.i.i.i.i.i.i305 = load i64, ptr %90, align 8 + %bf.clear.i.i.i.i.i.i306 = and i64 %bf.load.i.i.i.i.i.i305, 1099511627775 + %cmp.i.i.i.i.i.i307 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i306, %bf.clear4.i.i.i.i.i.i300 + %__y.addr.1.i.i.i.i308 = select i1 %cmp.i.i.i.i.i.i307, ptr %__y.addr.06.i.i.i.i303, ptr %__x.addr.07.i.i.i.i302 + %__x.addr.1.in.v.i.i.i.i309 = select i1 %cmp.i.i.i.i.i.i307, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i310 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i302, i64 %__x.addr.1.in.v.i.i.i.i309 + %__x.addr.1.i.i.i.i311 = load ptr, ptr %__x.addr.1.in.i.i.i.i310, align 8 + %cmp.not.i.i.i.i312 = icmp eq ptr %__x.addr.1.i.i.i.i311, null + br i1 %cmp.not.i.i.i.i312, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i313, label %while.body.i.i.i.i301, !llvm.loop !73 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i313: ; preds = %while.body.i.i.i.i301 + %cmp.i.i314 = icmp eq ptr %__y.addr.1.i.i.i.i308, %1 + br i1 %cmp.i.i314, label %if.then.i322, label %lor.rhs.i315 + +lor.rhs.i315: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i313 + %__y.addr.1.i.i.i.i308.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i307, ptr %__y.addr.06.i.i.i.i303, ptr %__x.addr.07.i.i.i.i302 + %__y.addr.1.i.i.i.i308.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i308.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %91 = load ptr, ptr %__y.addr.1.i.i.i.i308.sroa.sel.v.sroa.sel.v.sroa.sel, align 8 + %bf.load3.i.i.i317 = load i64, ptr %91, align 8 + %bf.clear4.i.i.i318 = and i64 %bf.load3.i.i.i317, 1099511627775 + %cmp.i.i.i319 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i300, %bf.clear4.i.i.i318 + br i1 %cmp.i.i.i319, label %if.then.i322, label %invoke.cont153 + +if.then.i322: ; preds = %lor.rhs.i315, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i313, %if.else152 + %__y.addr.0.lcssa.i.i.i9.i323 = phi ptr [ %__y.addr.1.i.i.i.i308, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i313 ], [ %__y.addr.1.i.i.i.i308, %lor.rhs.i315 ], [ %1, %if.else152 ] + store ptr %c, ptr %ref.tmp9.i293, align 8 + %call12.i325 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St6vectorIS3_SaIS3_EEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESK_IJEEEEESt17_Rb_tree_iteratorIS9_ESt23_Rb_tree_const_iteratorIS9_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %new_part_c, ptr %__y.addr.0.lcssa.i.i.i9.i323, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i293, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i294) + to label %invoke.cont153 unwind label %lpad95 + +invoke.cont153: ; preds = %lor.rhs.i315, %if.then.i322 + %__i.sroa.0.0.i320 = phi ptr [ %__y.addr.1.i.i.i.i308, %lor.rhs.i315 ], [ %call12.i325, %if.then.i322 ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i293) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i294) + %92 = load ptr, ptr %part, align 8 + %add.ptr.i327 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %92, i64 %conv251769 + %_M_finish.i328 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i320, i64 48 + %93 = load ptr, ptr %_M_finish.i328, align 8 + %_M_end_of_storage.i329 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i320, i64 56 + %94 = load ptr, ptr %_M_end_of_storage.i329, align 8 + %cmp.not.i330 = icmp eq ptr %93, %94 + br i1 %cmp.not.i330, label %if.else.i347, label %if.then.i331 + +if.then.i331: ; preds = %invoke.cont153 + %95 = load ptr, ptr %add.ptr.i327, align 8 + store ptr %95, ptr %93, align 8 + %bf.load.i.i.i.i.i332 = load i64, ptr %95, align 8 + %bf.lshr.i.i.i.i.i333 = lshr i64 %bf.load.i.i.i.i.i332, 40 + %96 = trunc nuw nsw i64 %bf.lshr.i.i.i.i.i333 to i32 + %bf.cast.i.i.i.i.i334 = and i32 %96, 1048575 + %cmp.i.i.i.i.i335 = icmp samesign ult i32 %bf.cast.i.i.i.i.i334, 1048574 + br i1 %cmp.i.i.i.i.i335, label %if.then.i.i.i.i.i342, label %if.else.i.i.i.i.i336 + +if.then.i.i.i.i.i342: ; preds = %if.then.i331 + %bf.value.i.i.i.i.i343 = add i64 %bf.load.i.i.i.i.i332, 1099511627776 + %bf.shl.i.i.i.i.i344 = and i64 %bf.value.i.i.i.i.i343, 1152920405095219200 + %bf.clear7.i.i.i.i.i345 = and i64 %bf.load.i.i.i.i.i332, -1152920405095219201 + %bf.set.i.i.i.i.i346 = or disjoint i64 %bf.shl.i.i.i.i.i344, %bf.clear7.i.i.i.i.i345 + store i64 %bf.set.i.i.i.i.i346, ptr %95, align 8 + br label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i338 + +if.else.i.i.i.i.i336: ; preds = %if.then.i331 + %cmp12.i.i.i.i.i337 = icmp eq i32 %bf.cast.i.i.i.i.i334, 1048574 + br i1 %cmp12.i.i.i.i.i337, label %if.then13.i.i.i.i.i340, label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i338 + +if.then13.i.i.i.i.i340: ; preds = %if.else.i.i.i.i.i336 + %bf.set23.i.i.i.i.i341 = or i64 %bf.load.i.i.i.i.i332, 1152920405095219200 + store i64 %bf.set23.i.i.i.i.i341, ptr %95, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %95) + to label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i338 unwind label %lpad95 + +_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i338: ; preds = %if.then13.i.i.i.i.i340, %if.else.i.i.i.i.i336, %if.then.i.i.i.i.i342 + %97 = load ptr, ptr %_M_finish.i328, align 8 + %incdec.ptr.i339 = getelementptr inbounds i8, ptr %97, i64 8 + store ptr %incdec.ptr.i339, ptr %_M_finish.i328, align 8 + br label %if.end182 + +if.else.i347: ; preds = %invoke.cont153 + %second.i321 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i320, i64 40 + invoke void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %second.i321, ptr %93, ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i327) + to label %if.end182 unwind label %lpad95 + +if.end182: ; preds = %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i338, %if.else.i347, %if.then13.i.i290, %if.then.i.i284, %if.end150 + %98 = load ptr, ptr %ncons, align 8 + %bf.load.i.i351 = load i64, ptr %98, align 8 + %99 = and i64 %bf.load.i.i351, 1152920405095219200 + %cmp.not.i.i352 = icmp eq i64 %99, 1152920405095219200 + br i1 %cmp.not.i.i352, label %if.end219, label %if.then.i.i353 + +if.then.i.i353: ; preds = %if.end182 + %bf.value.i.i354 = add i64 %bf.load.i.i351, 1152920405095219200 + %bf.shl.i.i355 = and i64 %bf.value.i.i354, 1152920405095219200 + %bf.clear7.i.i356 = and i64 %bf.load.i.i351, -1152920405095219201 + %bf.set.i.i357 = or disjoint i64 %bf.shl.i.i355, %bf.clear7.i.i356 + store i64 %bf.set.i.i357, ptr %98, align 8 + %cmp12.i.i358 = icmp eq i64 %bf.shl.i.i355, 0 + br i1 %cmp12.i.i358, label %if.then13.i.i359, label %if.end219 + +if.then13.i.i359: ; preds = %if.then.i.i353 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %98) + to label %if.end219 unwind label %terminate.lpad.i360 + +terminate.lpad.i360: ; preds = %if.then13.i.i359 + %100 = landingpad { ptr, i32 } + catch ptr null + %101 = extractvalue { ptr, i32 } %100, 0 + call void @__clang_call_terminate(ptr %101) #25 + unreachable + +ehcleanup183: ; preds = %ehcleanup151, %lpad95 + %.pn12.pn = phi { ptr, i32 } [ %.pn12, %ehcleanup151 ], [ %71, %lpad95 ] + call void @_ZN4cvc58internal12NodeTemplateILb1EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %ncons) #23 + br label %ehcleanup220 + +if.end212: ; preds = %_ZN4cvc58internal8TypeNodeD2Ev.exit + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i362) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i363) + %102 = load ptr, ptr %_M_parent.i.i.i.i.i18, align 8 + %cmp.not5.i.i.i.i366 = icmp eq ptr %102, null + br i1 %cmp.not5.i.i.i.i366, label %if.then.i391, label %while.body.lr.ph.i.i.i.i367 + +while.body.lr.ph.i.i.i.i367: ; preds = %if.end212 + %103 = load ptr, ptr %c, align 8 + %bf.load3.i.i.i.i.i.i368 = load i64, ptr %103, align 8 + %bf.clear4.i.i.i.i.i.i369 = and i64 %bf.load3.i.i.i.i.i.i368, 1099511627775 + br label %while.body.i.i.i.i370 + +while.body.i.i.i.i370: ; preds = %while.body.i.i.i.i370, %while.body.lr.ph.i.i.i.i367 + %__x.addr.07.i.i.i.i371 = phi ptr [ %102, %while.body.lr.ph.i.i.i.i367 ], [ %__x.addr.1.i.i.i.i380, %while.body.i.i.i.i370 ] + %__y.addr.06.i.i.i.i372 = phi ptr [ %1, %while.body.lr.ph.i.i.i.i367 ], [ %__y.addr.1.i.i.i.i377, %while.body.i.i.i.i370 ] + %_M_storage.i.i.i.i.i.i373 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i371, i64 32 + %104 = load ptr, ptr %_M_storage.i.i.i.i.i.i373, align 8 + %bf.load.i.i.i.i.i.i374 = load i64, ptr %104, align 8 + %bf.clear.i.i.i.i.i.i375 = and i64 %bf.load.i.i.i.i.i.i374, 1099511627775 + %cmp.i.i.i.i.i.i376 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i375, %bf.clear4.i.i.i.i.i.i369 + %__y.addr.1.i.i.i.i377 = select i1 %cmp.i.i.i.i.i.i376, ptr %__y.addr.06.i.i.i.i372, ptr %__x.addr.07.i.i.i.i371 + %__x.addr.1.in.v.i.i.i.i378 = select i1 %cmp.i.i.i.i.i.i376, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i379 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i371, i64 %__x.addr.1.in.v.i.i.i.i378 + %__x.addr.1.i.i.i.i380 = load ptr, ptr %__x.addr.1.in.i.i.i.i379, align 8 + %cmp.not.i.i.i.i381 = icmp eq ptr %__x.addr.1.i.i.i.i380, null + br i1 %cmp.not.i.i.i.i381, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i382, label %while.body.i.i.i.i370, !llvm.loop !73 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i382: ; preds = %while.body.i.i.i.i370 + %cmp.i.i383 = icmp eq ptr %__y.addr.1.i.i.i.i377, %1 + br i1 %cmp.i.i383, label %if.then.i391, label %lor.rhs.i384 + +lor.rhs.i384: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i382 + %__y.addr.1.i.i.i.i377.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i376, ptr %__y.addr.06.i.i.i.i372, ptr %__x.addr.07.i.i.i.i371 + %__y.addr.1.i.i.i.i377.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i377.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %105 = load ptr, ptr %__y.addr.1.i.i.i.i377.sroa.sel.v.sroa.sel.v.sroa.sel, align 8 + %bf.load3.i.i.i386 = load i64, ptr %105, align 8 + %bf.clear4.i.i.i387 = and i64 %bf.load3.i.i.i386, 1099511627775 + %cmp.i.i.i388 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i369, %bf.clear4.i.i.i387 + br i1 %cmp.i.i.i388, label %if.then.i391, label %invoke.cont213 + +if.then.i391: ; preds = %lor.rhs.i384, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i382, %if.end212 + %__y.addr.0.lcssa.i.i.i9.i392 = phi ptr [ %__y.addr.1.i.i.i.i377, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i382 ], [ %__y.addr.1.i.i.i.i377, %lor.rhs.i384 ], [ %1, %if.end212 ] + store ptr %c, ptr %ref.tmp9.i362, align 8 + %call12.i394 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St6vectorIS3_SaIS3_EEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESK_IJEEEEESt17_Rb_tree_iteratorIS9_ESt23_Rb_tree_const_iteratorIS9_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %new_part_c, ptr %__y.addr.0.lcssa.i.i.i9.i392, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i362, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i363) + to label %invoke.cont213 unwind label %lpad35 + +invoke.cont213: ; preds = %lor.rhs.i384, %if.then.i391 + %__i.sroa.0.0.i389 = phi ptr [ %__y.addr.1.i.i.i.i377, %lor.rhs.i384 ], [ %call12.i394, %if.then.i391 ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i362) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i363) + %106 = load ptr, ptr %part, align 8 + %add.ptr.i396 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %106, i64 %conv251769 + %_M_finish.i397 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i389, i64 48 + %107 = load ptr, ptr %_M_finish.i397, align 8 + %_M_end_of_storage.i398 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i389, i64 56 + %108 = load ptr, ptr %_M_end_of_storage.i398, align 8 + %cmp.not.i399 = icmp eq ptr %107, %108 + br i1 %cmp.not.i399, label %if.else.i416.invoke, label %if.then.i400 + +if.then.i400: ; preds = %invoke.cont213 + %109 = load ptr, ptr %add.ptr.i396, align 8 + store ptr %109, ptr %107, align 8 + %bf.load.i.i.i.i.i401 = load i64, ptr %109, align 8 + %bf.lshr.i.i.i.i.i402 = lshr i64 %bf.load.i.i.i.i.i401, 40 + %110 = trunc nuw nsw i64 %bf.lshr.i.i.i.i.i402 to i32 + %bf.cast.i.i.i.i.i403 = and i32 %110, 1048575 + %cmp.i.i.i.i.i404 = icmp samesign ult i32 %bf.cast.i.i.i.i.i403, 1048574 + br i1 %cmp.i.i.i.i.i404, label %if.then.i.i.i.i.i411, label %if.else.i.i.i.i.i405 + +if.then.i.i.i.i.i411: ; preds = %if.then.i400 + %bf.value.i.i.i.i.i412 = add i64 %bf.load.i.i.i.i.i401, 1099511627776 + %bf.shl.i.i.i.i.i413 = and i64 %bf.value.i.i.i.i.i412, 1152920405095219200 + %bf.clear7.i.i.i.i.i414 = and i64 %bf.load.i.i.i.i.i401, -1152920405095219201 + %bf.set.i.i.i.i.i415 = or disjoint i64 %bf.shl.i.i.i.i.i413, %bf.clear7.i.i.i.i.i414 + store i64 %bf.set.i.i.i.i.i415, ptr %109, align 8 + br label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i407 + +if.else.i.i.i.i.i405: ; preds = %if.then.i400 + %cmp12.i.i.i.i.i406 = icmp eq i32 %bf.cast.i.i.i.i.i403, 1048574 + br i1 %cmp12.i.i.i.i.i406, label %if.then13.i.i.i.i.i409, label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i407 + +if.then13.i.i.i.i.i409: ; preds = %if.else.i.i.i.i.i405 + %bf.set23.i.i.i.i.i410 = or i64 %bf.load.i.i.i.i.i401, 1152920405095219200 + store i64 %bf.set23.i.i.i.i.i410, ptr %109, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %109) + to label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i407 unwind label %lpad35 + +_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i407: ; preds = %if.then13.i.i.i.i.i409, %if.else.i.i.i.i.i405, %if.then.i.i.i.i.i411 + %111 = load ptr, ptr %_M_finish.i397, align 8 + %incdec.ptr.i408 = getelementptr inbounds i8, ptr %111, i64 8 + store ptr %incdec.ptr.i408, ptr %_M_finish.i397, align 8 + br label %if.end219 + +if.else.i416.invoke: ; preds = %invoke.cont213, %invoke.cont78 + %__i.sroa.0.0.i121.sink = phi ptr [ %__i.sroa.0.0.i121, %invoke.cont78 ], [ %__i.sroa.0.0.i389, %invoke.cont213 ] + %112 = phi ptr [ %34, %invoke.cont78 ], [ %107, %invoke.cont213 ] + %113 = phi ptr [ %add.ptr.i126, %invoke.cont78 ], [ %add.ptr.i396, %invoke.cont213 ] + %second.i122 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i121.sink, i64 40 + invoke void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %second.i122, ptr %112, ptr noundef nonnull align 8 dereferenceable(8) %113) + to label %if.end219 unwind label %lpad35 + +if.end219: ; preds = %if.else.i416.invoke, %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i407, %if.then13.i.i359, %if.then.i.i353, %if.end182, %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i + %114 = load ptr, ptr %c, align 8 + %bf.load.i.i420 = load i64, ptr %114, align 8 + %115 = and i64 %bf.load.i.i420, 1152920405095219200 + %cmp.not.i.i421 = icmp eq i64 %115, 1152920405095219200 + br i1 %cmp.not.i.i421, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430, label %if.then.i.i422 + +if.then.i.i422: ; preds = %if.end219 + %bf.value.i.i423 = add i64 %bf.load.i.i420, 1152920405095219200 + %bf.shl.i.i424 = and i64 %bf.value.i.i423, 1152920405095219200 + %bf.clear7.i.i425 = and i64 %bf.load.i.i420, -1152920405095219201 + %bf.set.i.i426 = or disjoint i64 %bf.shl.i.i424, %bf.clear7.i.i425 + store i64 %bf.set.i.i426, ptr %114, align 8 + %cmp12.i.i427 = icmp eq i64 %bf.shl.i.i424, 0 + br i1 %cmp12.i.i427, label %if.then13.i.i428, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430 + +if.then13.i.i428: ; preds = %if.then.i.i422 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %114) + to label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430 unwind label %terminate.lpad.i429 + +terminate.lpad.i429: ; preds = %if.then13.i.i428 + %116 = landingpad { ptr, i32 } + catch ptr null + %117 = extractvalue { ptr, i32 } %116, 0 + call void @__clang_call_terminate(ptr %117) #25 + unreachable + +_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430: ; preds = %if.end219, %if.then.i.i422, %if.then13.i.i428 + %inc222 = add i32 %j.01768, 1 + %conv25 = zext i32 %inc222 to i64 + %118 = load ptr, ptr %_M_finish.i, align 8 + %119 = load ptr, ptr %part, align 8 + %sub.ptr.lhs.cast.i = ptrtoint ptr %118 to i64 + %sub.ptr.rhs.cast.i = ptrtoint ptr %119 to i64 + %sub.ptr.sub.i = sub i64 %sub.ptr.lhs.cast.i, %sub.ptr.rhs.cast.i + %sub.ptr.div.i = ashr exact i64 %sub.ptr.sub.i, 3 + %cmp27 = icmp ugt i64 %sub.ptr.div.i, %conv25 + br i1 %cmp27, label %for.body28, label %for.end223, !llvm.loop !277 + +ehcleanup220: ; preds = %lpad91, %lpad93, %ehcleanup183, %lpad85, %lpad35 + %.pn15 = phi { ptr, i32 } [ %28, %lpad35 ], [ %.pn12.pn, %ehcleanup183 ], [ %68, %lpad85 ], [ %70, %lpad93 ], [ %69, %lpad91 ] + call void @_ZN4cvc58internal12NodeTemplateILb1EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %c) #23 + br label %ehcleanup537 + +for.end223: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430 + %.pre = load ptr, ptr %_M_left.i.i.i.i.i19, align 8 + %cmp.i432.not1770 = icmp eq ptr %.pre, %1 + br i1 %cmp.i432.not1770, label %for.end263, label %for.body231.lr.ph + +for.body231.lr.ph: ; preds = %for.end223 + %_M_finish.i444 = getelementptr inbounds i8, ptr %vec, i64 8 + br label %for.body231 + +for.body231: ; preds = %for.body231.lr.ph, %for.inc261 + %it.sroa.0.01771 = phi ptr [ %.pre, %for.body231.lr.ph ], [ %call.i, %for.inc261 ] + %second233 = getelementptr inbounds i8, ptr %it.sroa.0.01771, i64 40 + %_M_finish.i434 = getelementptr inbounds i8, ptr %it.sroa.0.01771, i64 48 + %120 = load ptr, ptr %_M_finish.i434, align 8 + %121 = load ptr, ptr %second233, align 8 + %sub.ptr.lhs.cast.i435 = ptrtoint ptr %120 to i64 + %sub.ptr.rhs.cast.i436 = ptrtoint ptr %121 to i64 + %sub.ptr.sub.i437 = sub i64 %sub.ptr.lhs.cast.i435, %sub.ptr.rhs.cast.i436 + %cmp235 = icmp ugt i64 %sub.ptr.sub.i437, 8 + br i1 %cmp235, label %if.then236, label %for.inc261 + +if.then236: ; preds = %for.body231 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %vec, i8 0, i64 24, i1 false) + invoke void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS3_S5_EEEEvSA_T_SB_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %vec, ptr null, ptr %121, ptr %120) + to label %invoke.cont255 unwind label %lpad254 + +invoke.cont255: ; preds = %if.then236 + invoke void @_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE9push_backERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %part_out, ptr noundef nonnull align 8 dereferenceable(24) %vec) + to label %invoke.cont258 unwind label %lpad254 + +invoke.cont258: ; preds = %invoke.cont255 + %122 = load ptr, ptr %vec, align 8 + %123 = load ptr, ptr %_M_finish.i444, align 8 + %cmp.not3.i.i.i.i = icmp eq ptr %122, %123 + br i1 %cmp.not3.i.i.i.i, label %invoke.cont.i, label %for.body.i.i.i.i + +for.body.i.i.i.i: ; preds = %invoke.cont258, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i + %__first.addr.04.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i ], [ %122, %invoke.cont258 ] + %124 = load ptr, ptr %__first.addr.04.i.i.i.i, align 8 + %bf.load.i.i.i.i.i.i.i = load i64, ptr %124, align 8 + %125 = and i64 %bf.load.i.i.i.i.i.i.i, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i = icmp eq i64 %125, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i, label %if.then.i.i.i.i.i.i.i + +if.then.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i + %bf.value.i.i.i.i.i.i.i = add i64 %bf.load.i.i.i.i.i.i.i, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i = and i64 %bf.value.i.i.i.i.i.i.i, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i.i.i, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i = or disjoint i64 %bf.shl.i.i.i.i.i.i.i, %bf.clear7.i.i.i.i.i.i.i + store i64 %bf.set.i.i.i.i.i.i.i, ptr %124, align 8 + %cmp12.i.i.i.i.i.i.i = icmp eq i64 %bf.shl.i.i.i.i.i.i.i, 0 + br i1 %cmp12.i.i.i.i.i.i.i, label %if.then13.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i + +if.then13.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %124) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i unwind label %terminate.lpad.i.i.i.i.i.i + +terminate.lpad.i.i.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i + %126 = landingpad { ptr, i32 } + catch ptr null + %127 = extractvalue { ptr, i32 } %126, 0 + call void @__clang_call_terminate(ptr %127) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i, %for.body.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i, i64 8 + %cmp.not.i.i.i.i445 = icmp eq ptr %incdec.ptr.i.i.i.i, %123 + br i1 %cmp.not.i.i.i.i445, label %invoke.contthread-pre-split.i, label %for.body.i.i.i.i, !llvm.loop !21 + +invoke.contthread-pre-split.i: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i + %.pr.i = load ptr, ptr %vec, align 8 + br label %invoke.cont.i + +invoke.cont.i: ; preds = %invoke.contthread-pre-split.i, %invoke.cont258 + %128 = phi ptr [ %.pr.i, %invoke.contthread-pre-split.i ], [ %122, %invoke.cont258 ] + %tobool.not.i.i.i = icmp eq ptr %128, null + br i1 %tobool.not.i.i.i, label %for.inc261, label %if.then.i.i.i + +if.then.i.i.i: ; preds = %invoke.cont.i + call void @_ZdlPv(ptr noundef nonnull %128) #26 + br label %for.inc261 + +lpad254: ; preds = %if.then236, %invoke.cont255 + %129 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %vec) #23 + br label %ehcleanup537 + +for.inc261: ; preds = %if.then.i.i.i, %invoke.cont.i, %for.body231 + %call.i = call noundef ptr @_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base(ptr noundef %it.sroa.0.01771) #27 + %cmp.i432.not = icmp eq ptr %call.i, %1 + br i1 %cmp.i432.not, label %for.end263, label %for.body231, !llvm.loop !278 + +for.end263: ; preds = %for.inc261, %entry, %for.end223 + %130 = load ptr, ptr %_M_left.i.i.i.i.i23, align 8 + %cmp.i448.not1772 = icmp eq ptr %130, %2 + br i1 %cmp.i448.not1772, label %for.end307, label %for.body272.lr.ph + +for.body272.lr.ph: ; preds = %for.end263 + %_M_finish.i465 = getelementptr inbounds i8, ptr %vec278, i64 8 + br label %for.body272 + +for.body272: ; preds = %for.body272.lr.ph, %for.inc305 + %it264.sroa.0.01773 = phi ptr [ %130, %for.body272.lr.ph ], [ %call.i488, %for.inc305 ] + %second274 = getelementptr inbounds i8, ptr %it264.sroa.0.01773, i64 40 + %_M_finish.i450 = getelementptr inbounds i8, ptr %it264.sroa.0.01773, i64 48 + %131 = load ptr, ptr %_M_finish.i450, align 8 + %132 = load ptr, ptr %second274, align 8 + %sub.ptr.lhs.cast.i451 = ptrtoint ptr %131 to i64 + %sub.ptr.rhs.cast.i452 = ptrtoint ptr %132 to i64 + %sub.ptr.sub.i453 = sub i64 %sub.ptr.lhs.cast.i451, %sub.ptr.rhs.cast.i452 + %cmp276 = icmp ugt i64 %sub.ptr.sub.i453, 8 + br i1 %cmp276, label %if.then277, label %for.inc305 + +if.then277: ; preds = %for.body272 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %vec278, i8 0, i64 24, i1 false) + invoke void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS3_S5_EEEEvSA_T_SB_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %vec278, ptr null, ptr %132, ptr %131) + to label %invoke.cont297 unwind label %lpad296 + +invoke.cont297: ; preds = %if.then277 + invoke void @_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE9push_backERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %part_out, ptr noundef nonnull align 8 dereferenceable(24) %vec278) + to label %invoke.cont301 unwind label %lpad296 + +invoke.cont301: ; preds = %invoke.cont297 + %133 = load ptr, ptr %vec278, align 8 + %134 = load ptr, ptr %_M_finish.i465, align 8 + %cmp.not3.i.i.i.i466 = icmp eq ptr %133, %134 + br i1 %cmp.not3.i.i.i.i466, label %invoke.cont.i482, label %for.body.i.i.i.i467 + +for.body.i.i.i.i467: ; preds = %invoke.cont301, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i477 + %__first.addr.04.i.i.i.i468 = phi ptr [ %incdec.ptr.i.i.i.i478, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i477 ], [ %133, %invoke.cont301 ] + %135 = load ptr, ptr %__first.addr.04.i.i.i.i468, align 8 + %bf.load.i.i.i.i.i.i.i469 = load i64, ptr %135, align 8 + %136 = and i64 %bf.load.i.i.i.i.i.i.i469, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i470 = icmp eq i64 %136, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i470, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i477, label %if.then.i.i.i.i.i.i.i471 + +if.then.i.i.i.i.i.i.i471: ; preds = %for.body.i.i.i.i467 + %bf.value.i.i.i.i.i.i.i472 = add i64 %bf.load.i.i.i.i.i.i.i469, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i473 = and i64 %bf.value.i.i.i.i.i.i.i472, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i474 = and i64 %bf.load.i.i.i.i.i.i.i469, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i475 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i473, %bf.clear7.i.i.i.i.i.i.i474 + store i64 %bf.set.i.i.i.i.i.i.i475, ptr %135, align 8 + %cmp12.i.i.i.i.i.i.i476 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i473, 0 + br i1 %cmp12.i.i.i.i.i.i.i476, label %if.then13.i.i.i.i.i.i.i485, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i477 + +if.then13.i.i.i.i.i.i.i485: ; preds = %if.then.i.i.i.i.i.i.i471 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %135) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i477 unwind label %terminate.lpad.i.i.i.i.i.i486 + +terminate.lpad.i.i.i.i.i.i486: ; preds = %if.then13.i.i.i.i.i.i.i485 + %137 = landingpad { ptr, i32 } + catch ptr null + %138 = extractvalue { ptr, i32 } %137, 0 + call void @__clang_call_terminate(ptr %138) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i477: ; preds = %if.then13.i.i.i.i.i.i.i485, %if.then.i.i.i.i.i.i.i471, %for.body.i.i.i.i467 + %incdec.ptr.i.i.i.i478 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i468, i64 8 + %cmp.not.i.i.i.i479 = icmp eq ptr %incdec.ptr.i.i.i.i478, %134 + br i1 %cmp.not.i.i.i.i479, label %invoke.contthread-pre-split.i480, label %for.body.i.i.i.i467, !llvm.loop !21 + +invoke.contthread-pre-split.i480: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i477 + %.pr.i481 = load ptr, ptr %vec278, align 8 + br label %invoke.cont.i482 + +invoke.cont.i482: ; preds = %invoke.contthread-pre-split.i480, %invoke.cont301 + %139 = phi ptr [ %.pr.i481, %invoke.contthread-pre-split.i480 ], [ %133, %invoke.cont301 ] + %tobool.not.i.i.i483 = icmp eq ptr %139, null + br i1 %tobool.not.i.i.i483, label %for.inc305, label %if.then.i.i.i484 + +if.then.i.i.i484: ; preds = %invoke.cont.i482 + call void @_ZdlPv(ptr noundef nonnull %139) #26 + br label %for.inc305 + +lpad296: ; preds = %if.then277, %invoke.cont297 + %140 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %vec278) #23 + br label %ehcleanup537 + +for.inc305: ; preds = %if.then.i.i.i484, %invoke.cont.i482, %for.body272 + %call.i488 = call noundef ptr @_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base(ptr noundef %it264.sroa.0.01773) #27 + %cmp.i448.not = icmp eq ptr %call.i488, %2 + br i1 %cmp.i448.not, label %for.end307, label %for.body272, !llvm.loop !279 + +for.end307: ; preds = %for.inc305, %for.end263 + %141 = load ptr, ptr %_M_left.i.i.i.i.i, align 8 + %cmp.i491.not1803 = icmp eq ptr %141, %0 + br i1 %cmp.i491.not1803, label %for.end536, label %for.body316.lr.ph + +for.body316.lr.ph: ; preds = %for.end307 + %142 = getelementptr inbounds i8, ptr %dni_rem, i64 8 + %_M_parent.i.i.i.i.i498 = getelementptr inbounds i8, ptr %dni_rem, i64 16 + %_M_left.i.i.i.i.i499 = getelementptr inbounds i8, ptr %dni_rem, i64 24 + %_M_right.i.i.i.i.i500 = getelementptr inbounds i8, ptr %dni_rem, i64 32 + %_M_node_count.i.i.i.i.i501 = getelementptr inbounds i8, ptr %dni_rem, i64 40 + %_M_parent.i.i.i.i.i527 = getelementptr inbounds i8, ptr %dni, i64 16 + %add.ptr.i.i.i.i528 = getelementptr inbounds i8, ptr %dni, i64 8 + %_M_parent.i.i.i.i.i561 = getelementptr inbounds i8, ptr %cn, i64 16 + %add.ptr.i.i.i.i562 = getelementptr inbounds i8, ptr %cn, i64 8 + %143 = ptrtoint ptr %n to i64 + %_M_node_count.i.i.i1341 = getelementptr inbounds i8, ptr %cn, i64 40 + %_M_node.i.i = getelementptr inbounds i8, ptr %__z.i, i64 8 + %_M_finish.i.i774 = getelementptr inbounds i8, ptr %split_new_part, i64 8 + %144 = ptrtoint ptr %n407 to i64 + %d_equalityEngine.i = getelementptr inbounds i8, ptr %this, i64 160 + %_M_finish.i.i937 = getelementptr inbounds i8, ptr %exp, i64 8 + %_M_end_of_storage.i.i938 = getelementptr inbounds i8, ptr %exp, i64 16 + %_M_finish.i1057 = getelementptr inbounds i8, ptr %next_split_new_part, i64 8 + %_M_finish.i1058 = getelementptr inbounds i8, ptr %c_part_out, i64 8 + %_M_finish.i1156 = getelementptr inbounds i8, ptr %part_out, i64 8 + br label %for.body316 + +for.body316: ; preds = %for.body316.lr.ph, %for.inc534 + %it308.sroa.0.01804 = phi ptr [ %141, %for.body316.lr.ph ], [ %call.i1307, %for.inc534 ] + %second318 = getelementptr inbounds i8, ptr %it308.sroa.0.01804, i64 40 + %_M_finish.i493 = getelementptr inbounds i8, ptr %it308.sroa.0.01804, i64 48 + %145 = load ptr, ptr %_M_finish.i493, align 8 + %146 = load ptr, ptr %second318, align 8 + %sub.ptr.lhs.cast.i494 = ptrtoint ptr %145 to i64 + %sub.ptr.rhs.cast.i495 = ptrtoint ptr %146 to i64 + %sub.ptr.sub.i496 = sub i64 %sub.ptr.lhs.cast.i494, %sub.ptr.rhs.cast.i495 + %cmp320 = icmp ugt i64 %sub.ptr.sub.i496, 8 + br i1 %cmp320, label %if.then321, label %for.inc534 + +if.then321: ; preds = %for.body316 + store i32 0, ptr %142, align 8 + store ptr null, ptr %_M_parent.i.i.i.i.i498, align 8 + store ptr %142, ptr %_M_left.i.i.i.i.i499, align 8 + store ptr %142, ptr %_M_right.i.i.i.i.i500, align 8 + store i64 0, ptr %_M_node_count.i.i.i.i.i501, align 8 + %147 = load ptr, ptr %second318, align 8 + %cmp3281778.not = icmp eq ptr %145, %147 + br i1 %cmp3281778.not, label %for.end352, label %for.body329 + +for.body329: ; preds = %if.then321, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732 + %148 = phi ptr [ %231, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732 ], [ %147, %if.then321 ] + %conv3241780 = phi i64 [ %conv324, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732 ], [ 0, %if.then321 ] + %i322.01779 = phi i32 [ %inc351, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732 ], [ 0, %if.then321 ] + %add.ptr.i509 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %148, i64 %conv3241780 + %149 = load ptr, ptr %add.ptr.i509, align 8 + store ptr %149, ptr %n, align 8 + %bf.load.i.i510 = load i64, ptr %149, align 8 + %bf.lshr.i.i511 = lshr i64 %bf.load.i.i510, 40 + %150 = trunc nuw nsw i64 %bf.lshr.i.i511 to i32 + %bf.cast.i.i512 = and i32 %150, 1048575 + %cmp.i.i513 = icmp samesign ult i32 %bf.cast.i.i512, 1048574 + br i1 %cmp.i.i513, label %if.then.i.i518, label %if.else.i.i514 + +if.then.i.i518: ; preds = %for.body329 + %bf.value.i.i519 = add i64 %bf.load.i.i510, 1099511627776 + %bf.shl.i.i520 = and i64 %bf.value.i.i519, 1152920405095219200 + %bf.clear7.i.i521 = and i64 %bf.load.i.i510, -1152920405095219201 + %bf.set.i.i522 = or disjoint i64 %bf.shl.i.i520, %bf.clear7.i.i521 + store i64 %bf.set.i.i522, ptr %149, align 8 + br label %invoke.cont335 + +if.else.i.i514: ; preds = %for.body329 + %cmp12.i.i515 = icmp eq i32 %bf.cast.i.i512, 1048574 + br i1 %cmp12.i.i515, label %if.then13.i.i516, label %invoke.cont335 + +if.then13.i.i516: ; preds = %if.else.i.i514 + %bf.set23.i.i517 = or i64 %bf.load.i.i510, 1152920405095219200 + store i64 %bf.set23.i.i517, ptr %149, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %149) + to label %invoke.cont335 unwind label %lpad334 + +invoke.cont335: ; preds = %if.else.i.i514, %if.then.i.i518, %if.then13.i.i516 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i525) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i526) + %151 = load ptr, ptr %_M_parent.i.i.i.i.i527, align 8 + %cmp.not5.i.i.i.i529 = icmp eq ptr %151, null + br i1 %cmp.not5.i.i.i.i529, label %if.then.i554, label %while.body.lr.ph.i.i.i.i530 + +while.body.lr.ph.i.i.i.i530: ; preds = %invoke.cont335 + %152 = load ptr, ptr %n, align 8 + %bf.load3.i.i.i.i.i.i531 = load i64, ptr %152, align 8 + %bf.clear4.i.i.i.i.i.i532 = and i64 %bf.load3.i.i.i.i.i.i531, 1099511627775 + br label %while.body.i.i.i.i533 + +while.body.i.i.i.i533: ; preds = %while.body.i.i.i.i533, %while.body.lr.ph.i.i.i.i530 + %__x.addr.07.i.i.i.i534 = phi ptr [ %151, %while.body.lr.ph.i.i.i.i530 ], [ %__x.addr.1.i.i.i.i543, %while.body.i.i.i.i533 ] + %__y.addr.06.i.i.i.i535 = phi ptr [ %add.ptr.i.i.i.i528, %while.body.lr.ph.i.i.i.i530 ], [ %__y.addr.1.i.i.i.i540, %while.body.i.i.i.i533 ] + %_M_storage.i.i.i.i.i.i536 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i534, i64 32 + %153 = load ptr, ptr %_M_storage.i.i.i.i.i.i536, align 8 + %bf.load.i.i.i.i.i.i537 = load i64, ptr %153, align 8 + %bf.clear.i.i.i.i.i.i538 = and i64 %bf.load.i.i.i.i.i.i537, 1099511627775 + %cmp.i.i.i.i.i.i539 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i538, %bf.clear4.i.i.i.i.i.i532 + %__y.addr.1.i.i.i.i540 = select i1 %cmp.i.i.i.i.i.i539, ptr %__y.addr.06.i.i.i.i535, ptr %__x.addr.07.i.i.i.i534 + %__x.addr.1.in.v.i.i.i.i541 = select i1 %cmp.i.i.i.i.i.i539, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i542 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i534, i64 %__x.addr.1.in.v.i.i.i.i541 + %__x.addr.1.i.i.i.i543 = load ptr, ptr %__x.addr.1.in.i.i.i.i542, align 8 + %cmp.not.i.i.i.i544 = icmp eq ptr %__x.addr.1.i.i.i.i543, null + br i1 %cmp.not.i.i.i.i544, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i545, label %while.body.i.i.i.i533, !llvm.loop !275 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i545: ; preds = %while.body.i.i.i.i533 + %cmp.i.i546 = icmp eq ptr %__y.addr.1.i.i.i.i540, %add.ptr.i.i.i.i528 + br i1 %cmp.i.i546, label %if.then.i554, label %lor.rhs.i547 + +lor.rhs.i547: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i545 + %_M_storage.i.i.i548 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i540, i64 32 + %154 = load ptr, ptr %_M_storage.i.i.i548, align 8 + %bf.load3.i.i.i549 = load i64, ptr %154, align 8 + %bf.clear4.i.i.i550 = and i64 %bf.load3.i.i.i549, 1099511627775 + %cmp.i.i.i551 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i532, %bf.clear4.i.i.i550 + br i1 %cmp.i.i.i551, label %if.then.i554, label %invoke.cont337 + +if.then.i554: ; preds = %lor.rhs.i547, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i545, %invoke.cont335 + %__y.addr.0.lcssa.i.i.i9.i555 = phi ptr [ %__y.addr.1.i.i.i.i540, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i545 ], [ %__y.addr.1.i.i.i.i540, %lor.rhs.i547 ], [ %add.ptr.i.i.i.i528, %invoke.cont335 ] + store ptr %n, ptr %ref.tmp9.i525, align 8 + %call12.i557 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St3mapIS3_iSt4lessIS3_ESaIS4_IS5_iEEEESt10_Select1stISC_ES8_SaISC_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESL_IJEEEEESt17_Rb_tree_iteratorISC_ESt23_Rb_tree_const_iteratorISC_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %dni, ptr %__y.addr.0.lcssa.i.i.i9.i555, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i525, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i526) + to label %invoke.cont337 unwind label %lpad336 + +invoke.cont337: ; preds = %lor.rhs.i547, %if.then.i554 + %__i.sroa.0.0.i552 = phi ptr [ %__y.addr.1.i.i.i.i540, %lor.rhs.i547 ], [ %call12.i557, %if.then.i554 ] + %second.i553 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i552, i64 40 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i525) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i526) + %155 = load ptr, ptr %_M_parent.i.i.i.i.i561, align 8 + %cmp.not5.i.i.i.i563 = icmp eq ptr %155, null + br i1 %cmp.not5.i.i.i.i563, label %if.then.i588, label %while.body.lr.ph.i.i.i.i564 + +while.body.lr.ph.i.i.i.i564: ; preds = %invoke.cont337 + %156 = load ptr, ptr %n, align 8 + %bf.load3.i.i.i.i.i.i565 = load i64, ptr %156, align 8 + %bf.clear4.i.i.i.i.i.i566 = and i64 %bf.load3.i.i.i.i.i.i565, 1099511627775 + br label %while.body.i.i.i.i567 + +while.body.i.i.i.i567: ; preds = %while.body.i.i.i.i567, %while.body.lr.ph.i.i.i.i564 + %__x.addr.07.i.i.i.i568 = phi ptr [ %155, %while.body.lr.ph.i.i.i.i564 ], [ %__x.addr.1.i.i.i.i577, %while.body.i.i.i.i567 ] + %__y.addr.06.i.i.i.i569 = phi ptr [ %add.ptr.i.i.i.i562, %while.body.lr.ph.i.i.i.i564 ], [ %__y.addr.1.i.i.i.i574, %while.body.i.i.i.i567 ] + %_M_storage.i.i.i.i.i.i570 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i568, i64 32 + %157 = load ptr, ptr %_M_storage.i.i.i.i.i.i570, align 8 + %bf.load.i.i.i.i.i.i571 = load i64, ptr %157, align 8 + %bf.clear.i.i.i.i.i.i572 = and i64 %bf.load.i.i.i.i.i.i571, 1099511627775 + %cmp.i.i.i.i.i.i573 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i572, %bf.clear4.i.i.i.i.i.i566 + %__y.addr.1.i.i.i.i574 = select i1 %cmp.i.i.i.i.i.i573, ptr %__y.addr.06.i.i.i.i569, ptr %__x.addr.07.i.i.i.i568 + %__x.addr.1.in.v.i.i.i.i575 = select i1 %cmp.i.i.i.i.i.i573, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i576 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i568, i64 %__x.addr.1.in.v.i.i.i.i575 + %__x.addr.1.i.i.i.i577 = load ptr, ptr %__x.addr.1.in.i.i.i.i576, align 8 + %cmp.not.i.i.i.i578 = icmp eq ptr %__x.addr.1.i.i.i.i577, null + br i1 %cmp.not.i.i.i.i578, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i579, label %while.body.i.i.i.i567, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i579: ; preds = %while.body.i.i.i.i567 + %cmp.i.i580 = icmp eq ptr %__y.addr.1.i.i.i.i574, %add.ptr.i.i.i.i562 + br i1 %cmp.i.i580, label %if.then.i588, label %lor.rhs.i581 + +lor.rhs.i581: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i579 + %_M_storage.i.i.i582 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i574, i64 32 + %158 = load ptr, ptr %_M_storage.i.i.i582, align 8 + %bf.load3.i.i.i583 = load i64, ptr %158, align 8 + %bf.clear4.i.i.i584 = and i64 %bf.load3.i.i.i583, 1099511627775 + %cmp.i.i.i585 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i566, %bf.clear4.i.i.i584 + br i1 %cmp.i.i.i585, label %if.then.i588, label %invoke.cont339 + +if.then.i588: ; preds = %lor.rhs.i581, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i579, %invoke.cont337 + %__y.addr.0.lcssa.i.i.i9.i589 = phi ptr [ %__y.addr.1.i.i.i.i574, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i579 ], [ %__y.addr.1.i.i.i.i574, %lor.rhs.i581 ], [ %add.ptr.i.i.i.i562, %invoke.cont337 ] + %call5.i.i.i.i.i.i1342 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #24 + to label %call5.i.i.i.i.i.i.noexc unwind label %lpad336 + +call5.i.i.i.i.i.i.noexc: ; preds = %if.then.i588 + %_M_storage.i.i.i.i.i1330 = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1342, i64 32 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i) + store i64 %143, ptr %agg.tmp6.i.i.i.i.i.i, align 8 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i) + invoke void @_ZNSt4pairIKN4cvc58internal12NodeTemplateILb1EEES3_EC2IJRS4_EJLm0EEJETpTnmJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE(ptr noundef nonnull align 8 dereferenceable(16) %_M_storage.i.i.i.i.i1330, ptr noundef nonnull align 8 dereferenceable(8) %agg.tmp6.i.i.i.i.i.i, ptr noundef nonnull align 1 dereferenceable(1) %__second.i.i.i.i.i.i.i) + to label %invoke.cont.i1331 unwind label %lpad.i.i.i.i + +lpad.i.i.i.i: ; preds = %call5.i.i.i.i.i.i.noexc + %159 = landingpad { ptr, i32 } + catch ptr null + %160 = extractvalue { ptr, i32 } %159, 0 + %161 = call ptr @__cxa_begin_catch(ptr %160) #23 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1342) #26 + invoke void @__cxa_rethrow() #29 + to label %unreachable.i.i.i.i unwind label %lpad7.i.i.i.i + +lpad7.i.i.i.i: ; preds = %lpad.i.i.i.i + %162 = landingpad { ptr, i32 } + cleanup + invoke void @__cxa_end_catch() + to label %lpad336.body unwind label %terminate.lpad.i.i.i.i + +terminate.lpad.i.i.i.i: ; preds = %lpad7.i.i.i.i + %163 = landingpad { ptr, i32 } + catch ptr null + %164 = extractvalue { ptr, i32 } %163, 0 + call void @__clang_call_terminate(ptr %164) #25 + unreachable + +unreachable.i.i.i.i: ; preds = %lpad.i.i.i.i + unreachable + +invoke.cont.i1331: ; preds = %call5.i.i.i.i.i.i.noexc + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i) + %call8.i = invoke { ptr, ptr } @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS6_ERS5_(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr %__y.addr.0.lcssa.i.i.i9.i589, ptr noundef nonnull align 8 dereferenceable(8) %_M_storage.i.i.i.i.i1330) + to label %invoke.cont7.i unwind label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i + +invoke.cont7.i: ; preds = %invoke.cont.i1331 + %165 = extractvalue { ptr, ptr } %call8.i, 0 + %166 = extractvalue { ptr, ptr } %call8.i, 1 + %tobool.not.i = icmp eq ptr %166, null + br i1 %tobool.not.i, label %if.then.i7.i, label %if.then.i1332 + +if.then.i1332: ; preds = %invoke.cont7.i + %cmp.not.i.i.i1333 = icmp ne ptr %165, null + %cmp2.i.i.i = icmp eq ptr %166, %add.ptr.i.i.i.i562 + %or.cond.i.i.i = select i1 %cmp.not.i.i.i1333, i1 true, i1 %cmp2.i.i.i + br i1 %or.cond.i.i.i, label %cleanup.thread.i, label %lor.rhs.i.i.i + +lor.rhs.i.i.i: ; preds = %if.then.i1332 + %_M_storage.i.i.i.i.i.i1335 = getelementptr inbounds i8, ptr %166, i64 32 + %167 = load ptr, ptr %_M_storage.i.i.i.i.i1330, align 8 + %bf.load.i.i.i.i.i1336 = load i64, ptr %167, align 8 + %bf.clear.i.i.i.i.i1337 = and i64 %bf.load.i.i.i.i.i1336, 1099511627775 + %168 = load ptr, ptr %_M_storage.i.i.i.i.i.i1335, align 8 + %bf.load3.i.i.i.i.i1338 = load i64, ptr %168, align 8 + %bf.clear4.i.i.i.i.i1339 = and i64 %bf.load3.i.i.i.i.i1338, 1099511627775 + %cmp.i.i.i.i.i1340 = icmp samesign ult i64 %bf.clear.i.i.i.i.i1337, %bf.clear4.i.i.i.i.i1339 + br label %cleanup.thread.i + +cleanup.thread.i: ; preds = %lor.rhs.i.i.i, %if.then.i1332 + %169 = phi i1 [ true, %if.then.i1332 ], [ %cmp.i.i.i.i.i1340, %lor.rhs.i.i.i ] + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %169, ptr noundef nonnull %call5.i.i.i.i.i.i1342, ptr noundef nonnull %166, ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i.i.i.i562) #23 + %170 = load i64, ptr %_M_node_count.i.i.i1341, align 8 + %inc.i.i.i = add i64 %170, 1 + store i64 %inc.i.i.i, ptr %_M_node_count.i.i.i1341, align 8 + br label %invoke.cont339 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i: ; preds = %invoke.cont.i1331 + %171 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr noundef nonnull %call5.i.i.i.i.i.i1342) #23 + br label %lpad336.body + +if.then.i7.i: ; preds = %invoke.cont7.i + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr noundef nonnull %call5.i.i.i.i.i.i1342) #23 + br label %invoke.cont339 + +invoke.cont339: ; preds = %lor.rhs.i581, %if.then.i7.i, %cleanup.thread.i + %__i.sroa.0.0.i586 = phi ptr [ %__y.addr.1.i.i.i.i574, %lor.rhs.i581 ], [ %call5.i.i.i.i.i.i1342, %cleanup.thread.i ], [ %165, %if.then.i7.i ] + %second.i587 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i586, i64 40 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i593) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i594) + %_M_parent.i.i.i.i.i595 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i552, i64 56 + %172 = load ptr, ptr %_M_parent.i.i.i.i.i595, align 8 + %add.ptr.i.i.i.i596 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i552, i64 48 + %cmp.not5.i.i.i.i597 = icmp eq ptr %172, null + br i1 %cmp.not5.i.i.i.i597, label %if.then.i621, label %while.body.lr.ph.i.i.i.i598 + +while.body.lr.ph.i.i.i.i598: ; preds = %invoke.cont339 + %173 = load ptr, ptr %second.i587, align 8 + %bf.load3.i.i.i.i.i.i599 = load i64, ptr %173, align 8 + %bf.clear4.i.i.i.i.i.i600 = and i64 %bf.load3.i.i.i.i.i.i599, 1099511627775 + br label %while.body.i.i.i.i601 + +while.body.i.i.i.i601: ; preds = %while.body.i.i.i.i601, %while.body.lr.ph.i.i.i.i598 + %__x.addr.07.i.i.i.i602 = phi ptr [ %172, %while.body.lr.ph.i.i.i.i598 ], [ %__x.addr.1.i.i.i.i611, %while.body.i.i.i.i601 ] + %__y.addr.06.i.i.i.i603 = phi ptr [ %add.ptr.i.i.i.i596, %while.body.lr.ph.i.i.i.i598 ], [ %__y.addr.1.i.i.i.i608, %while.body.i.i.i.i601 ] + %_M_storage.i.i.i.i.i.i604 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i602, i64 32 + %174 = load ptr, ptr %_M_storage.i.i.i.i.i.i604, align 8 + %bf.load.i.i.i.i.i.i605 = load i64, ptr %174, align 8 + %bf.clear.i.i.i.i.i.i606 = and i64 %bf.load.i.i.i.i.i.i605, 1099511627775 + %cmp.i.i.i.i.i.i607 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i606, %bf.clear4.i.i.i.i.i.i600 + %__y.addr.1.i.i.i.i608 = select i1 %cmp.i.i.i.i.i.i607, ptr %__y.addr.06.i.i.i.i603, ptr %__x.addr.07.i.i.i.i602 + %__x.addr.1.in.v.i.i.i.i609 = select i1 %cmp.i.i.i.i.i.i607, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i610 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i602, i64 %__x.addr.1.in.v.i.i.i.i609 + %__x.addr.1.i.i.i.i611 = load ptr, ptr %__x.addr.1.in.i.i.i.i610, align 8 + %cmp.not.i.i.i.i612 = icmp eq ptr %__x.addr.1.i.i.i.i611, null + br i1 %cmp.not.i.i.i.i612, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEEiSt4lessIS3_ESaISt4pairIKS3_iEEE11lower_boundERS7_.exit.i, label %while.body.i.i.i.i601, !llvm.loop !233 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEEiSt4lessIS3_ESaISt4pairIKS3_iEEE11lower_boundERS7_.exit.i: ; preds = %while.body.i.i.i.i601 + %cmp.i.i613 = icmp eq ptr %__y.addr.1.i.i.i.i608, %add.ptr.i.i.i.i596 + br i1 %cmp.i.i613, label %if.then.i621, label %lor.rhs.i614 + +lor.rhs.i614: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEEiSt4lessIS3_ESaISt4pairIKS3_iEEE11lower_boundERS7_.exit.i + %_M_storage.i.i.i615 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i608, i64 32 + %175 = load ptr, ptr %_M_storage.i.i.i615, align 8 + %bf.load3.i.i.i616 = load i64, ptr %175, align 8 + %bf.clear4.i.i.i617 = and i64 %bf.load3.i.i.i616, 1099511627775 + %cmp.i.i.i618 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i600, %bf.clear4.i.i.i617 + br i1 %cmp.i.i.i618, label %if.then.i621, label %invoke.cont341 + +if.then.i621: ; preds = %lor.rhs.i614, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEEiSt4lessIS3_ESaISt4pairIKS3_iEEE11lower_boundERS7_.exit.i, %invoke.cont339 + %__y.addr.0.lcssa.i.i.i9.i622 = phi ptr [ %__y.addr.1.i.i.i.i608, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEEiSt4lessIS3_ESaISt4pairIKS3_iEEE11lower_boundERS7_.exit.i ], [ %__y.addr.1.i.i.i.i608, %lor.rhs.i614 ], [ %add.ptr.i.i.i.i596, %invoke.cont339 ] + store ptr %second.i587, ptr %ref.tmp9.i593, align 8 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %__z.i) + store ptr %second.i553, ptr %__z.i, align 8 + %call5.i.i.i.i.i.i1367 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #24 + to label %call5.i.i.i.i.i.i.noexc1366 unwind label %lpad336 + +call5.i.i.i.i.i.i.noexc1366: ; preds = %if.then.i621 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE17_M_construct_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESH_IJEEEEEvPSt13_Rb_tree_nodeIS6_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %second.i553, ptr noundef nonnull %call5.i.i.i.i.i.i1367, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i593, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i594) + to label %.noexc1368 unwind label %lpad336 + +.noexc1368: ; preds = %call5.i.i.i.i.i.i.noexc1366 + store ptr %call5.i.i.i.i.i.i1367, ptr %_M_node.i.i, align 8 + %_M_storage.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1367, i64 32 + %call8.i1345 = invoke { ptr, ptr } @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS6_ERS5_(ptr noundef nonnull align 8 dereferenceable(48) %second.i553, ptr %__y.addr.0.lcssa.i.i.i9.i622, ptr noundef nonnull align 8 dereferenceable(8) %_M_storage.i.i.i.i) + to label %invoke.cont7.i1346 unwind label %lpad.i + +invoke.cont7.i1346: ; preds = %.noexc1368 + %176 = extractvalue { ptr, ptr } %call8.i1345, 0 + %177 = extractvalue { ptr, ptr } %call8.i1345, 1 + %tobool.not.i1347 = icmp eq ptr %177, null + br i1 %tobool.not.i1347, label %if.then.i.i1363, label %if.then.i1348 + +if.then.i1348: ; preds = %invoke.cont7.i1346 + %cmp.not.i.i.i1349 = icmp ne ptr %176, null + %cmp2.i.i.i1351 = icmp eq ptr %177, %add.ptr.i.i.i.i596 + %or.cond.i.i.i1352 = select i1 %cmp.not.i.i.i1349, i1 true, i1 %cmp2.i.i.i1351 + br i1 %or.cond.i.i.i1352, label %cleanup.thread.i1360, label %lor.rhs.i.i.i1353 + +lor.rhs.i.i.i1353: ; preds = %if.then.i1348 + %_M_storage.i.i.i.i.i.i1354 = getelementptr inbounds i8, ptr %177, i64 32 + %178 = load ptr, ptr %_M_storage.i.i.i.i, align 8 + %bf.load.i.i.i.i.i1355 = load i64, ptr %178, align 8 + %bf.clear.i.i.i.i.i1356 = and i64 %bf.load.i.i.i.i.i1355, 1099511627775 + %179 = load ptr, ptr %_M_storage.i.i.i.i.i.i1354, align 8 + %bf.load3.i.i.i.i.i1357 = load i64, ptr %179, align 8 + %bf.clear4.i.i.i.i.i1358 = and i64 %bf.load3.i.i.i.i.i1357, 1099511627775 + %cmp.i.i.i.i.i1359 = icmp samesign ult i64 %bf.clear.i.i.i.i.i1356, %bf.clear4.i.i.i.i.i1358 + br label %cleanup.thread.i1360 + +cleanup.thread.i1360: ; preds = %lor.rhs.i.i.i1353, %if.then.i1348 + %180 = phi i1 [ true, %if.then.i1348 ], [ %cmp.i.i.i.i.i1359, %lor.rhs.i.i.i1353 ] + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %180, ptr noundef nonnull %call5.i.i.i.i.i.i1367, ptr noundef nonnull %177, ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i.i.i.i596) #23 + %_M_node_count.i.i.i1361 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i552, i64 80 + %181 = load i64, ptr %_M_node_count.i.i.i1361, align 8 + %inc.i.i.i1362 = add i64 %181, 1 + store i64 %inc.i.i.i1362, ptr %_M_node_count.i.i.i1361, align 8 + br label %call12.i.noexc623 + +lpad.i: ; preds = %.noexc1368 + %182 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %__z.i) #23 + br label %lpad336.body + +if.then.i.i1363: ; preds = %invoke.cont7.i1346 + %183 = load ptr, ptr %_M_storage.i.i.i.i, align 8 + %bf.load.i.i.i.i.i.i.i.i.i = load i64, ptr %183, align 8 + %184 = and i64 %bf.load.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i1364 = icmp eq i64 %184, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i1364, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit.i.i, label %if.then.i.i.i.i.i.i.i.i.i1365 + +if.then.i.i.i.i.i.i.i.i.i1365: ; preds = %if.then.i.i1363 + %bf.value.i.i.i.i.i.i.i.i.i = add i64 %bf.load.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i = and i64 %bf.value.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i.i.i.i.i, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i, %bf.clear7.i.i.i.i.i.i.i.i.i + store i64 %bf.set.i.i.i.i.i.i.i.i.i, ptr %183, align 8 + %cmp12.i.i.i.i.i.i.i.i.i = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i, label %if.then13.i.i.i.i.i.i.i.i.i, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit.i.i + +if.then13.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i1365 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %183) + to label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit.i.i unwind label %terminate.lpad.i.i.i.i.i.i.i.i + +terminate.lpad.i.i.i.i.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i.i.i + %185 = landingpad { ptr, i32 } + catch ptr null + %186 = extractvalue { ptr, i32 } %185, 0 + call void @__clang_call_terminate(ptr %186) #25 + unreachable + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit.i.i: ; preds = %if.then13.i.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i.i1365, %if.then.i.i1363 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1367) #26 + br label %call12.i.noexc623 + +call12.i.noexc623: ; preds = %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit.i.i, %cleanup.thread.i1360 + %retval.sroa.0.07.i = phi ptr [ %call5.i.i.i.i.i.i1367, %cleanup.thread.i1360 ], [ %176, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit.i.i ] + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %__z.i) + br label %invoke.cont341 + +invoke.cont341: ; preds = %call12.i.noexc623, %lor.rhs.i614 + %__i.sroa.0.0.i619 = phi ptr [ %retval.sroa.0.07.i, %call12.i.noexc623 ], [ %__y.addr.1.i.i.i.i608, %lor.rhs.i614 ] + %second.i620 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i619, i64 40 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i593) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i594) + store i32 0, ptr %second.i620, align 4 + %187 = load ptr, ptr %_M_parent.i.i.i.i.i561, align 8 + %cmp.not5.i.i.i.i629 = icmp eq ptr %187, null + br i1 %cmp.not5.i.i.i.i629, label %if.then.i654, label %while.body.lr.ph.i.i.i.i630 + +while.body.lr.ph.i.i.i.i630: ; preds = %invoke.cont341 + %188 = load ptr, ptr %n, align 8 + %bf.load3.i.i.i.i.i.i631 = load i64, ptr %188, align 8 + %bf.clear4.i.i.i.i.i.i632 = and i64 %bf.load3.i.i.i.i.i.i631, 1099511627775 + br label %while.body.i.i.i.i633 + +while.body.i.i.i.i633: ; preds = %while.body.i.i.i.i633, %while.body.lr.ph.i.i.i.i630 + %__x.addr.07.i.i.i.i634 = phi ptr [ %187, %while.body.lr.ph.i.i.i.i630 ], [ %__x.addr.1.i.i.i.i643, %while.body.i.i.i.i633 ] + %__y.addr.06.i.i.i.i635 = phi ptr [ %add.ptr.i.i.i.i562, %while.body.lr.ph.i.i.i.i630 ], [ %__y.addr.1.i.i.i.i640, %while.body.i.i.i.i633 ] + %_M_storage.i.i.i.i.i.i636 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i634, i64 32 + %189 = load ptr, ptr %_M_storage.i.i.i.i.i.i636, align 8 + %bf.load.i.i.i.i.i.i637 = load i64, ptr %189, align 8 + %bf.clear.i.i.i.i.i.i638 = and i64 %bf.load.i.i.i.i.i.i637, 1099511627775 + %cmp.i.i.i.i.i.i639 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i638, %bf.clear4.i.i.i.i.i.i632 + %__y.addr.1.i.i.i.i640 = select i1 %cmp.i.i.i.i.i.i639, ptr %__y.addr.06.i.i.i.i635, ptr %__x.addr.07.i.i.i.i634 + %__x.addr.1.in.v.i.i.i.i641 = select i1 %cmp.i.i.i.i.i.i639, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i642 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i634, i64 %__x.addr.1.in.v.i.i.i.i641 + %__x.addr.1.i.i.i.i643 = load ptr, ptr %__x.addr.1.in.i.i.i.i642, align 8 + %cmp.not.i.i.i.i644 = icmp eq ptr %__x.addr.1.i.i.i.i643, null + br i1 %cmp.not.i.i.i.i644, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i645, label %while.body.i.i.i.i633, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i645: ; preds = %while.body.i.i.i.i633 + %cmp.i.i646 = icmp eq ptr %__y.addr.1.i.i.i.i640, %add.ptr.i.i.i.i562 + br i1 %cmp.i.i646, label %if.then.i654, label %lor.rhs.i647 + +lor.rhs.i647: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i645 + %_M_storage.i.i.i648 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i640, i64 32 + %190 = load ptr, ptr %_M_storage.i.i.i648, align 8 + %bf.load3.i.i.i649 = load i64, ptr %190, align 8 + %bf.clear4.i.i.i650 = and i64 %bf.load3.i.i.i649, 1099511627775 + %cmp.i.i.i651 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i632, %bf.clear4.i.i.i650 + br i1 %cmp.i.i.i651, label %if.then.i654, label %invoke.cont343 + +if.then.i654: ; preds = %lor.rhs.i647, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i645, %invoke.cont341 + %__y.addr.0.lcssa.i.i.i9.i655 = phi ptr [ %__y.addr.1.i.i.i.i640, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i645 ], [ %__y.addr.1.i.i.i.i640, %lor.rhs.i647 ], [ %add.ptr.i.i.i.i562, %invoke.cont341 ] + %call5.i.i.i.i.i.i1403 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #24 + to label %call5.i.i.i.i.i.i.noexc1402 unwind label %lpad336 + +call5.i.i.i.i.i.i.noexc1402: ; preds = %if.then.i654 + %_M_storage.i.i.i.i.i1373 = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1403, i64 32 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1372) + store i64 %143, ptr %agg.tmp6.i.i.i.i.i.i1372, align 8 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1371) + invoke void @_ZNSt4pairIKN4cvc58internal12NodeTemplateILb1EEES3_EC2IJRS4_EJLm0EEJETpTnmJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE(ptr noundef nonnull align 8 dereferenceable(16) %_M_storage.i.i.i.i.i1373, ptr noundef nonnull align 8 dereferenceable(8) %agg.tmp6.i.i.i.i.i.i1372, ptr noundef nonnull align 1 dereferenceable(1) %__second.i.i.i.i.i.i.i1371) + to label %invoke.cont.i1380 unwind label %lpad.i.i.i.i1374 + +lpad.i.i.i.i1374: ; preds = %call5.i.i.i.i.i.i.noexc1402 + %191 = landingpad { ptr, i32 } + catch ptr null + %192 = extractvalue { ptr, i32 } %191, 0 + %193 = call ptr @__cxa_begin_catch(ptr %192) #23 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1403) #26 + invoke void @__cxa_rethrow() #29 + to label %unreachable.i.i.i.i1379 unwind label %lpad7.i.i.i.i1375 + +lpad7.i.i.i.i1375: ; preds = %lpad.i.i.i.i1374 + %194 = landingpad { ptr, i32 } + cleanup + invoke void @__cxa_end_catch() + to label %lpad336.body unwind label %terminate.lpad.i.i.i.i1376 + +terminate.lpad.i.i.i.i1376: ; preds = %lpad7.i.i.i.i1375 + %195 = landingpad { ptr, i32 } + catch ptr null + %196 = extractvalue { ptr, i32 } %195, 0 + call void @__clang_call_terminate(ptr %196) #25 + unreachable + +unreachable.i.i.i.i1379: ; preds = %lpad.i.i.i.i1374 + unreachable + +invoke.cont.i1380: ; preds = %call5.i.i.i.i.i.i.noexc1402 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1371) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1372) + %call8.i1381 = invoke { ptr, ptr } @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS6_ERS5_(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr %__y.addr.0.lcssa.i.i.i9.i655, ptr noundef nonnull align 8 dereferenceable(8) %_M_storage.i.i.i.i.i1373) + to label %invoke.cont7.i1383 unwind label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1382 + +invoke.cont7.i1383: ; preds = %invoke.cont.i1380 + %197 = extractvalue { ptr, ptr } %call8.i1381, 0 + %198 = extractvalue { ptr, ptr } %call8.i1381, 1 + %tobool.not.i1384 = icmp eq ptr %198, null + br i1 %tobool.not.i1384, label %if.then.i7.i1401, label %if.then.i1385 + +if.then.i1385: ; preds = %invoke.cont7.i1383 + %cmp.not.i.i.i1386 = icmp ne ptr %197, null + %cmp2.i.i.i1388 = icmp eq ptr %198, %add.ptr.i.i.i.i562 + %or.cond.i.i.i1389 = select i1 %cmp.not.i.i.i1386, i1 true, i1 %cmp2.i.i.i1388 + br i1 %or.cond.i.i.i1389, label %cleanup.thread.i1397, label %lor.rhs.i.i.i1390 + +lor.rhs.i.i.i1390: ; preds = %if.then.i1385 + %_M_storage.i.i.i.i.i.i1391 = getelementptr inbounds i8, ptr %198, i64 32 + %199 = load ptr, ptr %_M_storage.i.i.i.i.i1373, align 8 + %bf.load.i.i.i.i.i1392 = load i64, ptr %199, align 8 + %bf.clear.i.i.i.i.i1393 = and i64 %bf.load.i.i.i.i.i1392, 1099511627775 + %200 = load ptr, ptr %_M_storage.i.i.i.i.i.i1391, align 8 + %bf.load3.i.i.i.i.i1394 = load i64, ptr %200, align 8 + %bf.clear4.i.i.i.i.i1395 = and i64 %bf.load3.i.i.i.i.i1394, 1099511627775 + %cmp.i.i.i.i.i1396 = icmp samesign ult i64 %bf.clear.i.i.i.i.i1393, %bf.clear4.i.i.i.i.i1395 + br label %cleanup.thread.i1397 + +cleanup.thread.i1397: ; preds = %lor.rhs.i.i.i1390, %if.then.i1385 + %201 = phi i1 [ true, %if.then.i1385 ], [ %cmp.i.i.i.i.i1396, %lor.rhs.i.i.i1390 ] + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %201, ptr noundef nonnull %call5.i.i.i.i.i.i1403, ptr noundef nonnull %198, ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i.i.i.i562) #23 + %202 = load i64, ptr %_M_node_count.i.i.i1341, align 8 + %inc.i.i.i1399 = add i64 %202, 1 + store i64 %inc.i.i.i1399, ptr %_M_node_count.i.i.i1341, align 8 + br label %invoke.cont343 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1382: ; preds = %invoke.cont.i1380 + %203 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr noundef nonnull %call5.i.i.i.i.i.i1403) #23 + br label %lpad336.body + +if.then.i7.i1401: ; preds = %invoke.cont7.i1383 + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr noundef nonnull %call5.i.i.i.i.i.i1403) #23 + br label %invoke.cont343 + +invoke.cont343: ; preds = %lor.rhs.i647, %if.then.i7.i1401, %cleanup.thread.i1397 + %__i.sroa.0.0.i652 = phi ptr [ %__y.addr.1.i.i.i.i640, %lor.rhs.i647 ], [ %call5.i.i.i.i.i.i1403, %cleanup.thread.i1397 ], [ %197, %if.then.i7.i1401 ] + %second.i653 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i652, i64 40 + %204 = load ptr, ptr %_M_parent.i.i.i.i.i498, align 8 + %cmp.not5.i.i.i.i663 = icmp eq ptr %204, null + br i1 %cmp.not5.i.i.i.i663, label %if.then.i688, label %while.body.lr.ph.i.i.i.i664 + +while.body.lr.ph.i.i.i.i664: ; preds = %invoke.cont343 + %205 = load ptr, ptr %n, align 8 + %bf.load3.i.i.i.i.i.i665 = load i64, ptr %205, align 8 + %bf.clear4.i.i.i.i.i.i666 = and i64 %bf.load3.i.i.i.i.i.i665, 1099511627775 + br label %while.body.i.i.i.i667 + +while.body.i.i.i.i667: ; preds = %while.body.i.i.i.i667, %while.body.lr.ph.i.i.i.i664 + %__x.addr.07.i.i.i.i668 = phi ptr [ %204, %while.body.lr.ph.i.i.i.i664 ], [ %__x.addr.1.i.i.i.i677, %while.body.i.i.i.i667 ] + %__y.addr.06.i.i.i.i669 = phi ptr [ %142, %while.body.lr.ph.i.i.i.i664 ], [ %__y.addr.1.i.i.i.i674, %while.body.i.i.i.i667 ] + %_M_storage.i.i.i.i.i.i670 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i668, i64 32 + %206 = load ptr, ptr %_M_storage.i.i.i.i.i.i670, align 8 + %bf.load.i.i.i.i.i.i671 = load i64, ptr %206, align 8 + %bf.clear.i.i.i.i.i.i672 = and i64 %bf.load.i.i.i.i.i.i671, 1099511627775 + %cmp.i.i.i.i.i.i673 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i672, %bf.clear4.i.i.i.i.i.i666 + %__y.addr.1.i.i.i.i674 = select i1 %cmp.i.i.i.i.i.i673, ptr %__y.addr.06.i.i.i.i669, ptr %__x.addr.07.i.i.i.i668 + %__x.addr.1.in.v.i.i.i.i675 = select i1 %cmp.i.i.i.i.i.i673, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i676 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i668, i64 %__x.addr.1.in.v.i.i.i.i675 + %__x.addr.1.i.i.i.i677 = load ptr, ptr %__x.addr.1.in.i.i.i.i676, align 8 + %cmp.not.i.i.i.i678 = icmp eq ptr %__x.addr.1.i.i.i.i677, null + br i1 %cmp.not.i.i.i.i678, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i679, label %while.body.i.i.i.i667, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i679: ; preds = %while.body.i.i.i.i667 + %cmp.i.i680 = icmp eq ptr %__y.addr.1.i.i.i.i674, %142 + br i1 %cmp.i.i680, label %if.then.i688, label %lor.rhs.i681 + +lor.rhs.i681: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i679 + %__y.addr.1.i.i.i.i674.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i673, ptr %__y.addr.06.i.i.i.i669, ptr %__x.addr.07.i.i.i.i668 + %__y.addr.1.i.i.i.i674.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i674.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %207 = load ptr, ptr %__y.addr.1.i.i.i.i674.sroa.sel.v.sroa.sel.v.sroa.sel, align 8 + %bf.load3.i.i.i683 = load i64, ptr %207, align 8 + %bf.clear4.i.i.i684 = and i64 %bf.load3.i.i.i683, 1099511627775 + %cmp.i.i.i685 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i666, %bf.clear4.i.i.i684 + br i1 %cmp.i.i.i685, label %if.then.i688, label %invoke.cont345 + +if.then.i688: ; preds = %lor.rhs.i681, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i679, %invoke.cont343 + %__y.addr.0.lcssa.i.i.i9.i689 = phi ptr [ %__y.addr.1.i.i.i.i674, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i679 ], [ %__y.addr.1.i.i.i.i674, %lor.rhs.i681 ], [ %142, %invoke.cont343 ] + %call5.i.i.i.i.i.i1439 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #24 + to label %call5.i.i.i.i.i.i.noexc1438 unwind label %lpad336 + +call5.i.i.i.i.i.i.noexc1438: ; preds = %if.then.i688 + %_M_storage.i.i.i.i.i1409 = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1439, i64 32 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1408) + store i64 %143, ptr %agg.tmp6.i.i.i.i.i.i1408, align 8 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1407) + invoke void @_ZNSt4pairIKN4cvc58internal12NodeTemplateILb1EEES3_EC2IJRS4_EJLm0EEJETpTnmJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE(ptr noundef nonnull align 8 dereferenceable(16) %_M_storage.i.i.i.i.i1409, ptr noundef nonnull align 8 dereferenceable(8) %agg.tmp6.i.i.i.i.i.i1408, ptr noundef nonnull align 1 dereferenceable(1) %__second.i.i.i.i.i.i.i1407) + to label %invoke.cont.i1416 unwind label %lpad.i.i.i.i1410 + +lpad.i.i.i.i1410: ; preds = %call5.i.i.i.i.i.i.noexc1438 + %208 = landingpad { ptr, i32 } + catch ptr null + %209 = extractvalue { ptr, i32 } %208, 0 + %210 = call ptr @__cxa_begin_catch(ptr %209) #23 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1439) #26 + invoke void @__cxa_rethrow() #29 + to label %unreachable.i.i.i.i1415 unwind label %lpad7.i.i.i.i1411 + +lpad7.i.i.i.i1411: ; preds = %lpad.i.i.i.i1410 + %211 = landingpad { ptr, i32 } + cleanup + invoke void @__cxa_end_catch() + to label %lpad336.body unwind label %terminate.lpad.i.i.i.i1412 + +terminate.lpad.i.i.i.i1412: ; preds = %lpad7.i.i.i.i1411 + %212 = landingpad { ptr, i32 } + catch ptr null + %213 = extractvalue { ptr, i32 } %212, 0 + call void @__clang_call_terminate(ptr %213) #25 + unreachable + +unreachable.i.i.i.i1415: ; preds = %lpad.i.i.i.i1410 + unreachable + +invoke.cont.i1416: ; preds = %call5.i.i.i.i.i.i.noexc1438 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1407) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1408) + %call8.i1417 = invoke { ptr, ptr } @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS6_ERS5_(ptr noundef nonnull align 8 dereferenceable(48) %dni_rem, ptr %__y.addr.0.lcssa.i.i.i9.i689, ptr noundef nonnull align 8 dereferenceable(8) %_M_storage.i.i.i.i.i1409) + to label %invoke.cont7.i1419 unwind label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1418 + +invoke.cont7.i1419: ; preds = %invoke.cont.i1416 + %214 = extractvalue { ptr, ptr } %call8.i1417, 0 + %215 = extractvalue { ptr, ptr } %call8.i1417, 1 + %tobool.not.i1420 = icmp eq ptr %215, null + br i1 %tobool.not.i1420, label %if.then.i7.i1437, label %if.then.i1421 + +if.then.i1421: ; preds = %invoke.cont7.i1419 + %cmp.not.i.i.i1422 = icmp ne ptr %214, null + %cmp2.i.i.i1424 = icmp eq ptr %215, %142 + %or.cond.i.i.i1425 = or i1 %cmp.not.i.i.i1422, %cmp2.i.i.i1424 + br i1 %or.cond.i.i.i1425, label %cleanup.thread.i1433, label %lor.rhs.i.i.i1426 + +lor.rhs.i.i.i1426: ; preds = %if.then.i1421 + %_M_storage.i.i.i.i.i.i1427 = getelementptr inbounds i8, ptr %215, i64 32 + %216 = load ptr, ptr %_M_storage.i.i.i.i.i1409, align 8 + %bf.load.i.i.i.i.i1428 = load i64, ptr %216, align 8 + %bf.clear.i.i.i.i.i1429 = and i64 %bf.load.i.i.i.i.i1428, 1099511627775 + %217 = load ptr, ptr %_M_storage.i.i.i.i.i.i1427, align 8 + %bf.load3.i.i.i.i.i1430 = load i64, ptr %217, align 8 + %bf.clear4.i.i.i.i.i1431 = and i64 %bf.load3.i.i.i.i.i1430, 1099511627775 + %cmp.i.i.i.i.i1432 = icmp samesign ult i64 %bf.clear.i.i.i.i.i1429, %bf.clear4.i.i.i.i.i1431 + br label %cleanup.thread.i1433 + +cleanup.thread.i1433: ; preds = %lor.rhs.i.i.i1426, %if.then.i1421 + %218 = phi i1 [ true, %if.then.i1421 ], [ %cmp.i.i.i.i.i1432, %lor.rhs.i.i.i1426 ] + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %218, ptr noundef nonnull %call5.i.i.i.i.i.i1439, ptr noundef nonnull %215, ptr noundef nonnull align 8 dereferenceable(32) %142) #23 + %219 = load i64, ptr %_M_node_count.i.i.i.i.i501, align 8 + %inc.i.i.i1435 = add i64 %219, 1 + store i64 %inc.i.i.i1435, ptr %_M_node_count.i.i.i.i.i501, align 8 + br label %invoke.cont345 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1418: ; preds = %invoke.cont.i1416 + %220 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %dni_rem, ptr noundef nonnull %call5.i.i.i.i.i.i1439) #23 + br label %lpad336.body + +if.then.i7.i1437: ; preds = %invoke.cont7.i1419 + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %dni_rem, ptr noundef nonnull %call5.i.i.i.i.i.i1439) #23 + br label %invoke.cont345 + +invoke.cont345: ; preds = %lor.rhs.i681, %if.then.i7.i1437, %cleanup.thread.i1433 + %__i.sroa.0.0.i686 = phi ptr [ %__y.addr.1.i.i.i.i674, %lor.rhs.i681 ], [ %call5.i.i.i.i.i.i1439, %cleanup.thread.i1433 ], [ %214, %if.then.i7.i1437 ] + %second.i687 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i686, i64 40 + %221 = load ptr, ptr %second.i687, align 8 + %222 = load ptr, ptr %second.i653, align 8 + %cmp.not.i693 = icmp eq ptr %221, %222 + br i1 %cmp.not.i693, label %invoke.cont347, label %if.then.i694 + +if.then.i694: ; preds = %invoke.cont345 + %bf.load.i.i695 = load i64, ptr %221, align 8 + %223 = and i64 %bf.load.i.i695, 1152920405095219200 + %cmp.not.i.i696 = icmp eq i64 %223, 1152920405095219200 + br i1 %cmp.not.i.i696, label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i703, label %if.then.i.i697 + +if.then.i.i697: ; preds = %if.then.i694 + %bf.value.i.i698 = add i64 %bf.load.i.i695, 1152920405095219200 + %bf.shl.i.i699 = and i64 %bf.value.i.i698, 1152920405095219200 + %bf.clear7.i.i700 = and i64 %bf.load.i.i695, -1152920405095219201 + %bf.set.i.i701 = or disjoint i64 %bf.shl.i.i699, %bf.clear7.i.i700 + store i64 %bf.set.i.i701, ptr %221, align 8 + %cmp12.i.i702 = icmp eq i64 %bf.shl.i.i699, 0 + br i1 %cmp12.i.i702, label %if.then13.i.i717, label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i703 + +if.then13.i.i717: ; preds = %if.then.i.i697 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %221) + to label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i703 unwind label %lpad336 + +_ZN4cvc58internal4expr9NodeValue3decEv.exit.i703: ; preds = %if.then13.i.i717, %if.then.i.i697, %if.then.i694 + %224 = load ptr, ptr %second.i653, align 8 + store ptr %224, ptr %second.i687, align 8 + %bf.load.i2.i704 = load i64, ptr %224, align 8 + %bf.lshr.i.i705 = lshr i64 %bf.load.i2.i704, 40 + %225 = trunc nuw nsw i64 %bf.lshr.i.i705 to i32 + %bf.cast.i.i706 = and i32 %225, 1048575 + %cmp.i.i707 = icmp samesign ult i32 %bf.cast.i.i706, 1048574 + br i1 %cmp.i.i707, label %if.then.i5.i712, label %if.else.i.i708 + +if.then.i5.i712: ; preds = %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i703 + %bf.value.i6.i713 = add i64 %bf.load.i2.i704, 1099511627776 + %bf.shl.i7.i714 = and i64 %bf.value.i6.i713, 1152920405095219200 + %bf.clear7.i8.i715 = and i64 %bf.load.i2.i704, -1152920405095219201 + %bf.set.i9.i716 = or disjoint i64 %bf.shl.i7.i714, %bf.clear7.i8.i715 + store i64 %bf.set.i9.i716, ptr %224, align 8 + br label %invoke.cont347 + +if.else.i.i708: ; preds = %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i703 + %cmp12.i3.i709 = icmp eq i32 %bf.cast.i.i706, 1048574 + br i1 %cmp12.i3.i709, label %if.then13.i4.i710, label %invoke.cont347 + +if.then13.i4.i710: ; preds = %if.else.i.i708 + %bf.set23.i.i711 = or i64 %bf.load.i2.i704, 1152920405095219200 + store i64 %bf.set23.i.i711, ptr %224, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %224) + to label %invoke.cont347 unwind label %lpad336 + +invoke.cont347: ; preds = %if.else.i.i708, %if.then.i5.i712, %invoke.cont345, %if.then13.i4.i710 + %226 = load ptr, ptr %n, align 8 + %bf.load.i.i721 = load i64, ptr %226, align 8 + %227 = and i64 %bf.load.i.i721, 1152920405095219200 + %cmp.not.i.i722 = icmp eq i64 %227, 1152920405095219200 + br i1 %cmp.not.i.i722, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732, label %if.then.i.i723 + +if.then.i.i723: ; preds = %invoke.cont347 + %bf.value.i.i724 = add i64 %bf.load.i.i721, 1152920405095219200 + %bf.shl.i.i725 = and i64 %bf.value.i.i724, 1152920405095219200 + %bf.clear7.i.i726 = and i64 %bf.load.i.i721, -1152920405095219201 + %bf.set.i.i727 = or disjoint i64 %bf.shl.i.i725, %bf.clear7.i.i726 + store i64 %bf.set.i.i727, ptr %226, align 8 + %cmp12.i.i728 = icmp eq i64 %bf.shl.i.i725, 0 + br i1 %cmp12.i.i728, label %if.then13.i.i730, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732 + +if.then13.i.i730: ; preds = %if.then.i.i723 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %226) + to label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732 unwind label %terminate.lpad.i731 + +terminate.lpad.i731: ; preds = %if.then13.i.i730 + %228 = landingpad { ptr, i32 } + catch ptr null + %229 = extractvalue { ptr, i32 } %228, 0 + call void @__clang_call_terminate(ptr %229) #25 + unreachable + +_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732: ; preds = %invoke.cont347, %if.then.i.i723, %if.then13.i.i730 + %inc351 = add i32 %i322.01779, 1 + %conv324 = zext i32 %inc351 to i64 + %230 = load ptr, ptr %_M_finish.i493, align 8 + %231 = load ptr, ptr %second318, align 8 + %sub.ptr.lhs.cast.i504 = ptrtoint ptr %230 to i64 + %sub.ptr.rhs.cast.i505 = ptrtoint ptr %231 to i64 + %sub.ptr.sub.i506 = sub i64 %sub.ptr.lhs.cast.i504, %sub.ptr.rhs.cast.i505 + %sub.ptr.div.i507 = ashr exact i64 %sub.ptr.sub.i506, 3 + %cmp328 = icmp ugt i64 %sub.ptr.div.i507, %conv324 + br i1 %cmp328, label %for.body329, label %for.end352, !llvm.loop !280 + +lpad334: ; preds = %if.then13.i.i516 + %232 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup532 + +lpad336: ; preds = %if.then.i688, %if.then.i654, %call5.i.i.i.i.i.i.noexc1366, %if.then.i621, %if.then.i588, %if.then13.i4.i710, %if.then13.i.i717, %if.then.i554 + %233 = landingpad { ptr, i32 } + cleanup + br label %lpad336.body + +lpad336.body: ; preds = %lpad.i, %lpad336, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1418, %lpad7.i.i.i.i1411, %lpad7.i.i.i.i1375, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1382, %lpad7.i.i.i.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i + %eh.lpad-body1343 = phi { ptr, i32 } [ %171, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i ], [ %162, %lpad7.i.i.i.i ], [ %182, %lpad.i ], [ %203, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1382 ], [ %194, %lpad7.i.i.i.i1375 ], [ %233, %lpad336 ], [ %220, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1418 ], [ %211, %lpad7.i.i.i.i1411 ] + call void @_ZN4cvc58internal12NodeTemplateILb1EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %n) #23 + br label %ehcleanup532 + +for.end352: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732, %if.then321 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %split_new_part, i8 0, i64 24, i1 false) + invoke void @_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE9push_backERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %split_new_part, ptr noundef nonnull align 8 dereferenceable(24) %second318) + to label %invoke.cont356 unwind label %lpad355.loopexit.split-lp + +invoke.cont356: ; preds = %for.end352 + %234 = load ptr, ptr %second318, align 8 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i736) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i737) + %235 = load ptr, ptr %_M_parent.i.i.i.i.i26, align 8 + %cmp.not5.i.i.i.i740 = icmp eq ptr %235, null + br i1 %cmp.not5.i.i.i.i740, label %if.then.i765, label %while.body.lr.ph.i.i.i.i741 + +while.body.lr.ph.i.i.i.i741: ; preds = %invoke.cont356 + %236 = load ptr, ptr %234, align 8 + %bf.load3.i.i.i.i.i.i742 = load i64, ptr %236, align 8 + %bf.clear4.i.i.i.i.i.i743 = and i64 %bf.load3.i.i.i.i.i.i742, 1099511627775 + br label %while.body.i.i.i.i744 + +while.body.i.i.i.i744: ; preds = %while.body.i.i.i.i744, %while.body.lr.ph.i.i.i.i741 + %__x.addr.07.i.i.i.i745 = phi ptr [ %235, %while.body.lr.ph.i.i.i.i741 ], [ %__x.addr.1.i.i.i.i754, %while.body.i.i.i.i744 ] + %__y.addr.06.i.i.i.i746 = phi ptr [ %3, %while.body.lr.ph.i.i.i.i741 ], [ %__y.addr.1.i.i.i.i751, %while.body.i.i.i.i744 ] + %_M_storage.i.i.i.i.i.i747 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i745, i64 32 + %237 = load ptr, ptr %_M_storage.i.i.i.i.i.i747, align 8 + %bf.load.i.i.i.i.i.i748 = load i64, ptr %237, align 8 + %bf.clear.i.i.i.i.i.i749 = and i64 %bf.load.i.i.i.i.i.i748, 1099511627775 + %cmp.i.i.i.i.i.i750 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i749, %bf.clear4.i.i.i.i.i.i743 + %__y.addr.1.i.i.i.i751 = select i1 %cmp.i.i.i.i.i.i750, ptr %__y.addr.06.i.i.i.i746, ptr %__x.addr.07.i.i.i.i745 + %__x.addr.1.in.v.i.i.i.i752 = select i1 %cmp.i.i.i.i.i.i750, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i753 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i745, i64 %__x.addr.1.in.v.i.i.i.i752 + %__x.addr.1.i.i.i.i754 = load ptr, ptr %__x.addr.1.in.i.i.i.i753, align 8 + %cmp.not.i.i.i.i755 = icmp eq ptr %__x.addr.1.i.i.i.i754, null + br i1 %cmp.not.i.i.i.i755, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i756, label %while.body.i.i.i.i744, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i756: ; preds = %while.body.i.i.i.i744 + %cmp.i.i757 = icmp eq ptr %__y.addr.1.i.i.i.i751, %3 + br i1 %cmp.i.i757, label %if.then.i765, label %lor.rhs.i758 + +lor.rhs.i758: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i756 + %__y.addr.1.i.i.i.i751.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i750, ptr %__y.addr.06.i.i.i.i746, ptr %__x.addr.07.i.i.i.i745 + %__y.addr.1.i.i.i.i751.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i751.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %238 = load ptr, ptr %__y.addr.1.i.i.i.i751.sroa.sel.v.sroa.sel.v.sroa.sel, align 8 + %bf.load3.i.i.i760 = load i64, ptr %238, align 8 + %bf.clear4.i.i.i761 = and i64 %bf.load3.i.i.i760, 1099511627775 + %cmp.i.i.i762 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i743, %bf.clear4.i.i.i761 + br i1 %cmp.i.i.i762, label %if.then.i765, label %invoke.cont360 + +if.then.i765: ; preds = %lor.rhs.i758, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i756, %invoke.cont356 + %__y.addr.0.lcssa.i.i.i9.i766 = phi ptr [ %__y.addr.1.i.i.i.i751, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i756 ], [ %__y.addr.1.i.i.i.i751, %lor.rhs.i758 ], [ %3, %invoke.cont356 ] + store ptr %234, ptr %ref.tmp9.i736, align 8 + %call12.i768 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESH_IJEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %cn_cons, ptr %__y.addr.0.lcssa.i.i.i9.i766, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i736, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i737) + to label %invoke.cont360 unwind label %lpad355.loopexit.split-lp + +invoke.cont360: ; preds = %lor.rhs.i758, %if.then.i765 + %__i.sroa.0.0.i763 = phi ptr [ %__y.addr.1.i.i.i.i751, %lor.rhs.i758 ], [ %call12.i768, %if.then.i765 ] + %second.i764 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i763, i64 40 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i736) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i737) + %239 = load ptr, ptr %second.i764, align 8 + %d_kind.i.i.i.i = getelementptr inbounds i8, ptr %239, i64 8 + %bf.load.i.i.i.i = load i16, ptr %d_kind.i.i.i.i, align 8 + %bf.clear.i.i.i.i = and i16 %bf.load.i.i.i.i, 1023 + %bf.cast.i.i.i.i = zext nneg i16 %bf.clear.i.i.i.i to i32 + %cmp.i.i.i.i.i770 = icmp eq i16 %bf.clear.i.i.i.i, 1023 + %cond.i.i.i.i.i = select i1 %cmp.i.i.i.i.i770, i32 -1, i32 %bf.cast.i.i.i.i + %call2.i.i.i773 = invoke noundef i32 @_ZN4cvc58internal4kind10metaKindOfENS1_6Kind_tE(i32 noundef %cond.i.i.i.i.i) + to label %invoke.cont362 unwind label %lpad355.loopexit.split-lp + +invoke.cont362: ; preds = %invoke.cont360 + %cmp.i.i771 = icmp eq i32 %call2.i.i.i773, 2 + %d_nchildren.i.i = getelementptr inbounds i8, ptr %239, i64 12 + %bf.load.i.i772 = load i32, ptr %d_nchildren.i.i, align 4 + %bf.clear.i.i = and i32 %bf.load.i.i772, 67108863 + %sub.i.i = sext i1 %cmp.i.i771 to i32 + %cond.i.i = add nsw i32 %bf.clear.i.i, %sub.i.i + %cmp3651799.not = icmp eq i32 %cond.i.i, 0 + br i1 %cmp3651799.not, label %while.end, label %land.rhs + +land.rhs: ; preds = %invoke.cont362, %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1120 + %cindex.01800 = phi i32 [ %inc493, %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1120 ], [ 0, %invoke.cont362 ] + %240 = load ptr, ptr %split_new_part, align 8 + %241 = load ptr, ptr %_M_finish.i.i774, align 8 + %cmp.i.i775 = icmp eq ptr %240, %241 + br i1 %cmp.i.i775, label %while.end, label %for.cond400.preheader.preheader + +lpad355.loopexit: ; preds = %if.then.i1199 + %lpad.loopexit1600 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup531 + +lpad355.loopexit.split-lp: ; preds = %for.end352, %if.then.i765, %invoke.cont360, %while.end + %lpad.loopexit.split-lp1601 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup531 + +for.cond400.preheader.preheader: ; preds = %land.rhs + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %next_split_new_part, i8 0, i64 24, i1 false) + br label %for.cond400.preheader + +for.cond400.preheader: ; preds = %for.cond400.preheader.preheader, %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit + %242 = phi ptr [ %367, %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit ], [ %240, %for.cond400.preheader.preheader ] + %conv3961796 = phi i64 [ %conv396, %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit ], [ 0, %for.cond400.preheader.preheader ] + %j394.01795 = phi i32 [ %inc474, %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit ], [ 0, %for.cond400.preheader.preheader ] + %add.ptr.i7811781 = getelementptr inbounds %"class.std::vector.525", ptr %242, i64 %conv3961796 + %_M_finish.i7821782 = getelementptr inbounds i8, ptr %add.ptr.i7811781, i64 8 + %243 = load ptr, ptr %_M_finish.i7821782, align 8 + %244 = load ptr, ptr %add.ptr.i7811781, align 8 + %cmp4051787.not = icmp eq ptr %243, %244 + br i1 %cmp4051787.not, label %for.end449, label %for.body406 + +for.body406: ; preds = %for.cond400.preheader, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019 + %245 = phi ptr [ %341, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019 ], [ %244, %for.cond400.preheader ] + %conv4011789 = phi i64 [ %conv401, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019 ], [ 0, %for.cond400.preheader ] + %k.01788 = phi i32 [ %inc448, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019 ], [ 0, %for.cond400.preheader ] + %add.ptr.i788 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %245, i64 %conv4011789 + %246 = load ptr, ptr %add.ptr.i788, align 8 + store ptr %246, ptr %n407, align 8 + %bf.load.i.i789 = load i64, ptr %246, align 8 + %bf.lshr.i.i790 = lshr i64 %bf.load.i.i789, 40 + %247 = trunc nuw nsw i64 %bf.lshr.i.i790 to i32 + %bf.cast.i.i791 = and i32 %247, 1048575 + %cmp.i.i792 = icmp samesign ult i32 %bf.cast.i.i791, 1048574 + br i1 %cmp.i.i792, label %if.then.i.i797, label %if.else.i.i793 + +if.then.i.i797: ; preds = %for.body406 + %bf.value.i.i798 = add i64 %bf.load.i.i789, 1099511627776 + %bf.shl.i.i799 = and i64 %bf.value.i.i798, 1152920405095219200 + %bf.clear7.i.i800 = and i64 %bf.load.i.i789, -1152920405095219201 + %bf.set.i.i801 = or disjoint i64 %bf.shl.i.i799, %bf.clear7.i.i800 + store i64 %bf.set.i.i801, ptr %246, align 8 + br label %invoke.cont413 + +if.else.i.i793: ; preds = %for.body406 + %cmp12.i.i794 = icmp eq i32 %bf.cast.i.i791, 1048574 + br i1 %cmp12.i.i794, label %if.then13.i.i795, label %invoke.cont413 + +if.then13.i.i795: ; preds = %if.else.i.i793 + %bf.set23.i.i796 = or i64 %bf.load.i.i789, 1152920405095219200 + store i64 %bf.set23.i.i796, ptr %246, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %246) + to label %invoke.cont413 unwind label %lpad412.loopexit + +invoke.cont413: ; preds = %if.else.i.i793, %if.then.i.i797, %if.then13.i.i795 + %248 = load ptr, ptr %_M_parent.i.i.i.i.i26, align 8 + %cmp.not5.i.i.i.i808 = icmp eq ptr %248, null + br i1 %cmp.not5.i.i.i.i808, label %if.then.i833, label %while.body.lr.ph.i.i.i.i809 + +while.body.lr.ph.i.i.i.i809: ; preds = %invoke.cont413 + %249 = load ptr, ptr %n407, align 8 + %bf.load3.i.i.i.i.i.i810 = load i64, ptr %249, align 8 + %bf.clear4.i.i.i.i.i.i811 = and i64 %bf.load3.i.i.i.i.i.i810, 1099511627775 + br label %while.body.i.i.i.i812 + +while.body.i.i.i.i812: ; preds = %while.body.i.i.i.i812, %while.body.lr.ph.i.i.i.i809 + %__x.addr.07.i.i.i.i813 = phi ptr [ %248, %while.body.lr.ph.i.i.i.i809 ], [ %__x.addr.1.i.i.i.i822, %while.body.i.i.i.i812 ] + %__y.addr.06.i.i.i.i814 = phi ptr [ %3, %while.body.lr.ph.i.i.i.i809 ], [ %__y.addr.1.i.i.i.i819, %while.body.i.i.i.i812 ] + %_M_storage.i.i.i.i.i.i815 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i813, i64 32 + %250 = load ptr, ptr %_M_storage.i.i.i.i.i.i815, align 8 + %bf.load.i.i.i.i.i.i816 = load i64, ptr %250, align 8 + %bf.clear.i.i.i.i.i.i817 = and i64 %bf.load.i.i.i.i.i.i816, 1099511627775 + %cmp.i.i.i.i.i.i818 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i817, %bf.clear4.i.i.i.i.i.i811 + %__y.addr.1.i.i.i.i819 = select i1 %cmp.i.i.i.i.i.i818, ptr %__y.addr.06.i.i.i.i814, ptr %__x.addr.07.i.i.i.i813 + %__x.addr.1.in.v.i.i.i.i820 = select i1 %cmp.i.i.i.i.i.i818, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i821 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i813, i64 %__x.addr.1.in.v.i.i.i.i820 + %__x.addr.1.i.i.i.i822 = load ptr, ptr %__x.addr.1.in.i.i.i.i821, align 8 + %cmp.not.i.i.i.i823 = icmp eq ptr %__x.addr.1.i.i.i.i822, null + br i1 %cmp.not.i.i.i.i823, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i824, label %while.body.i.i.i.i812, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i824: ; preds = %while.body.i.i.i.i812 + %cmp.i.i825 = icmp eq ptr %__y.addr.1.i.i.i.i819, %3 + br i1 %cmp.i.i825, label %if.then.i833, label %lor.rhs.i826 + +lor.rhs.i826: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i824 + %__y.addr.1.i.i.i.i819.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i818, ptr %__y.addr.06.i.i.i.i814, ptr %__x.addr.07.i.i.i.i813 + %__y.addr.1.i.i.i.i819.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i819.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %251 = load ptr, ptr %__y.addr.1.i.i.i.i819.sroa.sel.v.sroa.sel.v.sroa.sel, align 8 + %bf.load3.i.i.i828 = load i64, ptr %251, align 8 + %bf.clear4.i.i.i829 = and i64 %bf.load3.i.i.i828, 1099511627775 + %cmp.i.i.i830 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i811, %bf.clear4.i.i.i829 + br i1 %cmp.i.i.i830, label %if.then.i833, label %invoke.cont415 + +if.then.i833: ; preds = %lor.rhs.i826, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i824, %invoke.cont413 + %__y.addr.0.lcssa.i.i.i9.i834 = phi ptr [ %__y.addr.1.i.i.i.i819, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i824 ], [ %__y.addr.1.i.i.i.i819, %lor.rhs.i826 ], [ %3, %invoke.cont413 ] + %call5.i.i.i.i.i.i1475 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #24 + to label %call5.i.i.i.i.i.i.noexc1474 unwind label %lpad414 + +call5.i.i.i.i.i.i.noexc1474: ; preds = %if.then.i833 + %_M_storage.i.i.i.i.i1445 = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1475, i64 32 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1444) + store i64 %144, ptr %agg.tmp6.i.i.i.i.i.i1444, align 8 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1443) + invoke void @_ZNSt4pairIKN4cvc58internal12NodeTemplateILb1EEES3_EC2IJRS4_EJLm0EEJETpTnmJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE(ptr noundef nonnull align 8 dereferenceable(16) %_M_storage.i.i.i.i.i1445, ptr noundef nonnull align 8 dereferenceable(8) %agg.tmp6.i.i.i.i.i.i1444, ptr noundef nonnull align 1 dereferenceable(1) %__second.i.i.i.i.i.i.i1443) + to label %invoke.cont.i1452 unwind label %lpad.i.i.i.i1446 + +lpad.i.i.i.i1446: ; preds = %call5.i.i.i.i.i.i.noexc1474 + %252 = landingpad { ptr, i32 } + catch ptr null + %253 = extractvalue { ptr, i32 } %252, 0 + %254 = call ptr @__cxa_begin_catch(ptr %253) #23 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1475) #26 + invoke void @__cxa_rethrow() #29 + to label %unreachable.i.i.i.i1451 unwind label %lpad7.i.i.i.i1447 + +lpad7.i.i.i.i1447: ; preds = %lpad.i.i.i.i1446 + %255 = landingpad { ptr, i32 } + cleanup + invoke void @__cxa_end_catch() + to label %ehcleanup446 unwind label %terminate.lpad.i.i.i.i1448 + +terminate.lpad.i.i.i.i1448: ; preds = %lpad7.i.i.i.i1447 + %256 = landingpad { ptr, i32 } + catch ptr null + %257 = extractvalue { ptr, i32 } %256, 0 + call void @__clang_call_terminate(ptr %257) #25 + unreachable + +unreachable.i.i.i.i1451: ; preds = %lpad.i.i.i.i1446 + unreachable + +invoke.cont.i1452: ; preds = %call5.i.i.i.i.i.i.noexc1474 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1443) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1444) + %call8.i1453 = invoke { ptr, ptr } @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS6_ERS5_(ptr noundef nonnull align 8 dereferenceable(48) %cn_cons, ptr %__y.addr.0.lcssa.i.i.i9.i834, ptr noundef nonnull align 8 dereferenceable(8) %_M_storage.i.i.i.i.i1445) + to label %invoke.cont7.i1455 unwind label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1454 + +invoke.cont7.i1455: ; preds = %invoke.cont.i1452 + %258 = extractvalue { ptr, ptr } %call8.i1453, 0 + %259 = extractvalue { ptr, ptr } %call8.i1453, 1 + %tobool.not.i1456 = icmp eq ptr %259, null + br i1 %tobool.not.i1456, label %if.then.i7.i1473, label %if.then.i1457 + +if.then.i1457: ; preds = %invoke.cont7.i1455 + %cmp.not.i.i.i1458 = icmp ne ptr %258, null + %cmp2.i.i.i1460 = icmp eq ptr %259, %3 + %or.cond.i.i.i1461 = or i1 %cmp.not.i.i.i1458, %cmp2.i.i.i1460 + br i1 %or.cond.i.i.i1461, label %cleanup.thread.i1469, label %lor.rhs.i.i.i1462 + +lor.rhs.i.i.i1462: ; preds = %if.then.i1457 + %_M_storage.i.i.i.i.i.i1463 = getelementptr inbounds i8, ptr %259, i64 32 + %260 = load ptr, ptr %_M_storage.i.i.i.i.i1445, align 8 + %bf.load.i.i.i.i.i1464 = load i64, ptr %260, align 8 + %bf.clear.i.i.i.i.i1465 = and i64 %bf.load.i.i.i.i.i1464, 1099511627775 + %261 = load ptr, ptr %_M_storage.i.i.i.i.i.i1463, align 8 + %bf.load3.i.i.i.i.i1466 = load i64, ptr %261, align 8 + %bf.clear4.i.i.i.i.i1467 = and i64 %bf.load3.i.i.i.i.i1466, 1099511627775 + %cmp.i.i.i.i.i1468 = icmp samesign ult i64 %bf.clear.i.i.i.i.i1465, %bf.clear4.i.i.i.i.i1467 + br label %cleanup.thread.i1469 + +cleanup.thread.i1469: ; preds = %lor.rhs.i.i.i1462, %if.then.i1457 + %262 = phi i1 [ true, %if.then.i1457 ], [ %cmp.i.i.i.i.i1468, %lor.rhs.i.i.i1462 ] + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %262, ptr noundef nonnull %call5.i.i.i.i.i.i1475, ptr noundef nonnull %259, ptr noundef nonnull align 8 dereferenceable(32) %3) #23 + %263 = load i64, ptr %_M_node_count.i.i.i.i.i29, align 8 + %inc.i.i.i1471 = add i64 %263, 1 + store i64 %inc.i.i.i1471, ptr %_M_node_count.i.i.i.i.i29, align 8 + br label %invoke.cont415 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1454: ; preds = %invoke.cont.i1452 + %264 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn_cons, ptr noundef nonnull %call5.i.i.i.i.i.i1475) #23 + br label %ehcleanup446 + +if.then.i7.i1473: ; preds = %invoke.cont7.i1455 + %second.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1475, i64 40 + %265 = load ptr, ptr %second.i.i.i.i.i, align 8 + %bf.load.i.i.i.i.i.i.i1536 = load i64, ptr %265, align 8 + %266 = and i64 %bf.load.i.i.i.i.i.i.i1536, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i1537 = icmp eq i64 %266, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i1537, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i1538 + +if.then.i.i.i.i.i.i.i1538: ; preds = %if.then.i7.i1473 + %bf.value.i.i.i.i.i.i.i1539 = add i64 %bf.load.i.i.i.i.i.i.i1536, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i1540 = and i64 %bf.value.i.i.i.i.i.i.i1539, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i1541 = and i64 %bf.load.i.i.i.i.i.i.i1536, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i1542 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i1540, %bf.clear7.i.i.i.i.i.i.i1541 + store i64 %bf.set.i.i.i.i.i.i.i1542, ptr %265, align 8 + %cmp12.i.i.i.i.i.i.i1543 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i1540, 0 + br i1 %cmp12.i.i.i.i.i.i.i1543, label %if.then13.i.i.i.i.i.i.i1544, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i + +if.then13.i.i.i.i.i.i.i1544: ; preds = %if.then.i.i.i.i.i.i.i1538 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %265) + to label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i unwind label %terminate.lpad.i.i.i.i.i.i1545 + +terminate.lpad.i.i.i.i.i.i1545: ; preds = %if.then13.i.i.i.i.i.i.i1544 + %267 = landingpad { ptr, i32 } + catch ptr null + %268 = extractvalue { ptr, i32 } %267, 0 + call void @__clang_call_terminate(ptr %268) #25 + unreachable + +_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i1544, %if.then.i.i.i.i.i.i.i1538, %if.then.i7.i1473 + %269 = load ptr, ptr %_M_storage.i.i.i.i.i1445, align 8 + %bf.load.i.i1.i.i.i.i.i = load i64, ptr %269, align 8 + %270 = and i64 %bf.load.i.i1.i.i.i.i.i, 1152920405095219200 + %cmp.not.i.i2.i.i.i.i.i = icmp eq i64 %270, 1152920405095219200 + br i1 %cmp.not.i.i2.i.i.i.i.i, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit, label %if.then.i.i3.i.i.i.i.i + +if.then.i.i3.i.i.i.i.i: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i + %bf.value.i.i4.i.i.i.i.i = add i64 %bf.load.i.i1.i.i.i.i.i, 1152920405095219200 + %bf.shl.i.i5.i.i.i.i.i = and i64 %bf.value.i.i4.i.i.i.i.i, 1152920405095219200 + %bf.clear7.i.i6.i.i.i.i.i = and i64 %bf.load.i.i1.i.i.i.i.i, -1152920405095219201 + %bf.set.i.i7.i.i.i.i.i = or disjoint i64 %bf.shl.i.i5.i.i.i.i.i, %bf.clear7.i.i6.i.i.i.i.i + store i64 %bf.set.i.i7.i.i.i.i.i, ptr %269, align 8 + %cmp12.i.i8.i.i.i.i.i = icmp eq i64 %bf.shl.i.i5.i.i.i.i.i, 0 + br i1 %cmp12.i.i8.i.i.i.i.i, label %if.then13.i.i9.i.i.i.i.i, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit + +if.then13.i.i9.i.i.i.i.i: ; preds = %if.then.i.i3.i.i.i.i.i + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %269) + to label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit unwind label %terminate.lpad.i10.i.i.i.i.i + +terminate.lpad.i10.i.i.i.i.i: ; preds = %if.then13.i.i9.i.i.i.i.i + %271 = landingpad { ptr, i32 } + catch ptr null + %272 = extractvalue { ptr, i32 } %271, 0 + call void @__clang_call_terminate(ptr %272) #25 + unreachable + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i, %if.then.i.i3.i.i.i.i.i, %if.then13.i.i9.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1475) #26 + br label %invoke.cont415 + +invoke.cont415: ; preds = %lor.rhs.i826, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit, %cleanup.thread.i1469 + %__i.sroa.0.0.i831 = phi ptr [ %__y.addr.1.i.i.i.i819, %lor.rhs.i826 ], [ %call5.i.i.i.i.i.i1475, %cleanup.thread.i1469 ], [ %258, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit ] + %second.i832 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i831, i64 40 + %273 = load ptr, ptr %second.i832, align 8, !noalias !409 + %d_kind.i.i.i.i838 = getelementptr inbounds i8, ptr %273, i64 8 + %bf.load.i.i.i.i839 = load i16, ptr %d_kind.i.i.i.i838, align 8, !noalias !409 + %bf.clear.i.i.i.i840 = and i16 %bf.load.i.i.i.i839, 1023 + %bf.cast.i.i.i.i841 = zext nneg i16 %bf.clear.i.i.i.i840 to i32 + %cmp.i.i.i.i.i842 = icmp eq i16 %bf.clear.i.i.i.i840, 1023 + %cond.i.i.i.i.i843 = select i1 %cmp.i.i.i.i.i842, i32 -1, i32 %bf.cast.i.i.i.i841 + %call2.i.i.i848 = invoke noundef i32 @_ZN4cvc58internal4kind10metaKindOfENS1_6Kind_tE(i32 noundef %cond.i.i.i.i.i843) + to label %call2.i.i.i.noexc unwind label %lpad414 + +call2.i.i.i.noexc: ; preds = %invoke.cont415 + %cmp.i.i844 = icmp eq i32 %call2.i.i.i848, 2 + %inc.i.i = zext i1 %cmp.i.i844 to i32 + %spec.select.i.i845 = add nsw i32 %cindex.01800, %inc.i.i + %d_children.i.i = getelementptr inbounds i8, ptr %273, i64 16 + %idxprom.i.i = sext i32 %spec.select.i.i845 to i64 + %arrayidx.i.i = getelementptr inbounds [0 x ptr], ptr %d_children.i.i, i64 0, i64 %idxprom.i.i + %274 = load ptr, ptr %arrayidx.i.i, align 8, !noalias !409 + %bf.load.i.i.i = load i64, ptr %274, align 8, !noalias !409 + %bf.lshr.i.i.i = lshr i64 %bf.load.i.i.i, 40 + %275 = trunc nuw nsw i64 %bf.lshr.i.i.i to i32 + %bf.cast.i.i.i = and i32 %275, 1048575 + %cmp.i.i.i846 = icmp samesign ult i32 %bf.cast.i.i.i, 1048574 + br i1 %cmp.i.i.i846, label %if.then.i.i.i847, label %if.else.i.i.i + +if.then.i.i.i847: ; preds = %call2.i.i.i.noexc + %bf.value.i.i.i = add i64 %bf.load.i.i.i, 1099511627776 + %bf.shl.i.i.i = and i64 %bf.value.i.i.i, 1152920405095219200 + %bf.clear7.i.i.i = and i64 %bf.load.i.i.i, -1152920405095219201 + %bf.set.i.i.i = or disjoint i64 %bf.shl.i.i.i, %bf.clear7.i.i.i + store i64 %bf.set.i.i.i, ptr %274, align 8, !noalias !409 + br label %invoke.cont417 + +if.else.i.i.i: ; preds = %call2.i.i.i.noexc + %cmp12.i.i.i = icmp eq i32 %bf.cast.i.i.i, 1048574 + br i1 %cmp12.i.i.i, label %if.then13.i.i.i, label %invoke.cont417 + +if.then13.i.i.i: ; preds = %if.else.i.i.i + %bf.set23.i.i.i = or i64 %bf.load.i.i.i, 1152920405095219200 + store i64 %bf.set23.i.i.i, ptr %274, align 8, !noalias !409 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %274) + to label %invoke.cont417 unwind label %lpad414 + +invoke.cont417: ; preds = %if.else.i.i.i, %if.then.i.i.i847, %if.then13.i.i.i + call void @llvm.experimental.noalias.scope.decl(metadata !412) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + %276 = load ptr, ptr %d_equalityEngine.i, align 8, !noalias !412 + store ptr %274, ptr %agg.tmp.i, align 8, !noalias !412 + %call.i850852 = invoke noundef zeroext i1 @_ZNK4cvc58internal6theory2eq14EqualityEngine7hasTermENS0_12NodeTemplateILb0EEE(ptr noundef nonnull align 8 dereferenceable(1784) %276, ptr noundef nonnull %agg.tmp.i) + to label %call.i850.noexc unwind label %lpad422 + +call.i850.noexc: ; preds = %invoke.cont417 + br i1 %call.i850852, label %if.then.i851, label %if.end.i + +if.then.i851: ; preds = %call.i850.noexc + %277 = load ptr, ptr %d_equalityEngine.i, align 8, !noalias !412 + store ptr %274, ptr %agg.tmp3.i, align 8, !noalias !412 + invoke void @_ZNK4cvc58internal6theory2eq14EqualityEngine17getRepresentativeENS0_12NodeTemplateILb0EEE(ptr nonnull sret(%"class.cvc5::internal::NodeTemplate.733") align 8 %ref.tmp418, ptr noundef nonnull align 8 dereferenceable(1784) %277, ptr noundef nonnull %agg.tmp3.i) + to label %if.then.i851.invoke.cont423_crit_edge unwind label %lpad422 + +if.then.i851.invoke.cont423_crit_edge: ; preds = %if.then.i851 + %.pre1850 = load ptr, ptr %ref.tmp418, align 8 + br label %invoke.cont423 + +if.end.i: ; preds = %call.i850.noexc + store ptr %274, ptr %ref.tmp418, align 8, !alias.scope !412 + br label %invoke.cont423 + +invoke.cont423: ; preds = %if.then.i851.invoke.cont423_crit_edge, %if.end.i + %278 = phi ptr [ %.pre1850, %if.then.i851.invoke.cont423_crit_edge ], [ %274, %if.end.i ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + %bf.load.i.i854 = load i64, ptr %278, align 8 + %bf.lshr.i.i855 = lshr i64 %bf.load.i.i854, 40 + %279 = trunc nuw nsw i64 %bf.lshr.i.i855 to i32 + %bf.cast.i.i856 = and i32 %279, 1048575 + %cmp.i.i857 = icmp samesign ult i32 %bf.cast.i.i856, 1048574 + br i1 %cmp.i.i857, label %if.then.i.i862, label %if.else.i.i858 + +if.then.i.i862: ; preds = %invoke.cont423 + %bf.value.i.i863 = add i64 %bf.load.i.i854, 1099511627776 + %bf.shl.i.i864 = and i64 %bf.value.i.i863, 1152920405095219200 + %bf.clear7.i.i865 = and i64 %bf.load.i.i854, -1152920405095219201 + %bf.set.i.i866 = or disjoint i64 %bf.shl.i.i864, %bf.clear7.i.i865 + store i64 %bf.set.i.i866, ptr %278, align 8 + br label %invoke.cont425 + +if.else.i.i858: ; preds = %invoke.cont423 + %cmp12.i.i859 = icmp eq i32 %bf.cast.i.i856, 1048574 + br i1 %cmp12.i.i859, label %if.then13.i.i860, label %invoke.cont425 + +if.then13.i.i860: ; preds = %if.else.i.i858 + %bf.set23.i.i861 = or i64 %bf.load.i.i854, 1152920405095219200 + store i64 %bf.set23.i.i861, ptr %278, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %278) + to label %invoke.cont425 unwind label %lpad424 + +invoke.cont425: ; preds = %if.else.i.i858, %if.then.i.i862, %if.then13.i.i860 + %280 = load ptr, ptr %_M_parent.i.i.i.i.i561, align 8 + %cmp.not5.i.i.i.i873 = icmp eq ptr %280, null + br i1 %cmp.not5.i.i.i.i873, label %if.then.i899, label %while.body.lr.ph.i.i.i.i874 + +while.body.lr.ph.i.i.i.i874: ; preds = %invoke.cont425 + %281 = load ptr, ptr %n407, align 8 + %bf.load3.i.i.i.i.i.i875 = load i64, ptr %281, align 8 + %bf.clear4.i.i.i.i.i.i876 = and i64 %bf.load3.i.i.i.i.i.i875, 1099511627775 + br label %while.body.i.i.i.i877 + +while.body.i.i.i.i877: ; preds = %while.body.i.i.i.i877, %while.body.lr.ph.i.i.i.i874 + %__x.addr.07.i.i.i.i878 = phi ptr [ %280, %while.body.lr.ph.i.i.i.i874 ], [ %__x.addr.1.i.i.i.i887, %while.body.i.i.i.i877 ] + %__y.addr.06.i.i.i.i879 = phi ptr [ %add.ptr.i.i.i.i562, %while.body.lr.ph.i.i.i.i874 ], [ %__y.addr.1.i.i.i.i884, %while.body.i.i.i.i877 ] + %_M_storage.i.i.i.i.i.i880 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i878, i64 32 + %282 = load ptr, ptr %_M_storage.i.i.i.i.i.i880, align 8 + %bf.load.i.i.i.i.i.i881 = load i64, ptr %282, align 8 + %bf.clear.i.i.i.i.i.i882 = and i64 %bf.load.i.i.i.i.i.i881, 1099511627775 + %cmp.i.i.i.i.i.i883 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i882, %bf.clear4.i.i.i.i.i.i876 + %__y.addr.1.i.i.i.i884 = select i1 %cmp.i.i.i.i.i.i883, ptr %__y.addr.06.i.i.i.i879, ptr %__x.addr.07.i.i.i.i878 + %__x.addr.1.in.v.i.i.i.i885 = select i1 %cmp.i.i.i.i.i.i883, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i886 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i878, i64 %__x.addr.1.in.v.i.i.i.i885 + %__x.addr.1.i.i.i.i887 = load ptr, ptr %__x.addr.1.in.i.i.i.i886, align 8 + %cmp.not.i.i.i.i888 = icmp eq ptr %__x.addr.1.i.i.i.i887, null + br i1 %cmp.not.i.i.i.i888, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i889, label %while.body.i.i.i.i877, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i889: ; preds = %while.body.i.i.i.i877 + %cmp.i.i890 = icmp eq ptr %__y.addr.1.i.i.i.i884, %add.ptr.i.i.i.i562 + br i1 %cmp.i.i890, label %if.then.i899, label %lor.rhs.i891 + +lor.rhs.i891: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i889 + %_M_storage.i.i.i892 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i884, i64 32 + %283 = load ptr, ptr %_M_storage.i.i.i892, align 8 + %bf.load3.i.i.i893 = load i64, ptr %283, align 8 + %bf.clear4.i.i.i894 = and i64 %bf.load3.i.i.i893, 1099511627775 + %cmp.i.i.i895 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i876, %bf.clear4.i.i.i894 + br i1 %cmp.i.i.i895, label %if.then.i899, label %invoke.cont429 + +if.then.i899: ; preds = %lor.rhs.i891, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i889, %invoke.cont425 + %__y.addr.0.lcssa.i.i.i9.i900 = phi ptr [ %__y.addr.1.i.i.i.i884, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i889 ], [ %__y.addr.1.i.i.i.i884, %lor.rhs.i891 ], [ %add.ptr.i.i.i.i562, %invoke.cont425 ] + %call5.i.i.i.i.i.i1510 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #24 + to label %call5.i.i.i.i.i.i.noexc1509 unwind label %lpad428 + +call5.i.i.i.i.i.i.noexc1509: ; preds = %if.then.i899 + %_M_storage.i.i.i.i.i1480 = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1510, i64 32 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1479) + store i64 %144, ptr %agg.tmp6.i.i.i.i.i.i1479, align 8 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1478) + invoke void @_ZNSt4pairIKN4cvc58internal12NodeTemplateILb1EEES3_EC2IJRS4_EJLm0EEJETpTnmJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE(ptr noundef nonnull align 8 dereferenceable(16) %_M_storage.i.i.i.i.i1480, ptr noundef nonnull align 8 dereferenceable(8) %agg.tmp6.i.i.i.i.i.i1479, ptr noundef nonnull align 1 dereferenceable(1) %__second.i.i.i.i.i.i.i1478) + to label %invoke.cont.i1487 unwind label %lpad.i.i.i.i1481 + +lpad.i.i.i.i1481: ; preds = %call5.i.i.i.i.i.i.noexc1509 + %284 = landingpad { ptr, i32 } + catch ptr null + %285 = extractvalue { ptr, i32 } %284, 0 + %286 = call ptr @__cxa_begin_catch(ptr %285) #23 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1510) #26 + invoke void @__cxa_rethrow() #29 + to label %unreachable.i.i.i.i1486 unwind label %lpad7.i.i.i.i1482 + +lpad7.i.i.i.i1482: ; preds = %lpad.i.i.i.i1481 + %287 = landingpad { ptr, i32 } + cleanup + invoke void @__cxa_end_catch() + to label %ehcleanup444 unwind label %terminate.lpad.i.i.i.i1483 + +terminate.lpad.i.i.i.i1483: ; preds = %lpad7.i.i.i.i1482 + %288 = landingpad { ptr, i32 } + catch ptr null + %289 = extractvalue { ptr, i32 } %288, 0 + call void @__clang_call_terminate(ptr %289) #25 + unreachable + +unreachable.i.i.i.i1486: ; preds = %lpad.i.i.i.i1481 + unreachable + +invoke.cont.i1487: ; preds = %call5.i.i.i.i.i.i.noexc1509 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1478) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1479) + %call8.i1488 = invoke { ptr, ptr } @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS6_ERS5_(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr %__y.addr.0.lcssa.i.i.i9.i900, ptr noundef nonnull align 8 dereferenceable(8) %_M_storage.i.i.i.i.i1480) + to label %invoke.cont7.i1490 unwind label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1489 + +invoke.cont7.i1490: ; preds = %invoke.cont.i1487 + %290 = extractvalue { ptr, ptr } %call8.i1488, 0 + %291 = extractvalue { ptr, ptr } %call8.i1488, 1 + %tobool.not.i1491 = icmp eq ptr %291, null + br i1 %tobool.not.i1491, label %if.then.i7.i1508, label %if.then.i1492 + +if.then.i1492: ; preds = %invoke.cont7.i1490 + %cmp.not.i.i.i1493 = icmp ne ptr %290, null + %cmp2.i.i.i1495 = icmp eq ptr %291, %add.ptr.i.i.i.i562 + %or.cond.i.i.i1496 = select i1 %cmp.not.i.i.i1493, i1 true, i1 %cmp2.i.i.i1495 + br i1 %or.cond.i.i.i1496, label %cleanup.thread.i1504, label %lor.rhs.i.i.i1497 + +lor.rhs.i.i.i1497: ; preds = %if.then.i1492 + %_M_storage.i.i.i.i.i.i1498 = getelementptr inbounds i8, ptr %291, i64 32 + %292 = load ptr, ptr %_M_storage.i.i.i.i.i1480, align 8 + %bf.load.i.i.i.i.i1499 = load i64, ptr %292, align 8 + %bf.clear.i.i.i.i.i1500 = and i64 %bf.load.i.i.i.i.i1499, 1099511627775 + %293 = load ptr, ptr %_M_storage.i.i.i.i.i.i1498, align 8 + %bf.load3.i.i.i.i.i1501 = load i64, ptr %293, align 8 + %bf.clear4.i.i.i.i.i1502 = and i64 %bf.load3.i.i.i.i.i1501, 1099511627775 + %cmp.i.i.i.i.i1503 = icmp samesign ult i64 %bf.clear.i.i.i.i.i1500, %bf.clear4.i.i.i.i.i1502 + br label %cleanup.thread.i1504 + +cleanup.thread.i1504: ; preds = %lor.rhs.i.i.i1497, %if.then.i1492 + %294 = phi i1 [ true, %if.then.i1492 ], [ %cmp.i.i.i.i.i1503, %lor.rhs.i.i.i1497 ] + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %294, ptr noundef nonnull %call5.i.i.i.i.i.i1510, ptr noundef nonnull %291, ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i.i.i.i562) #23 + %295 = load i64, ptr %_M_node_count.i.i.i1341, align 8 + %inc.i.i.i1506 = add i64 %295, 1 + store i64 %inc.i.i.i1506, ptr %_M_node_count.i.i.i1341, align 8 + br label %invoke.cont429 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1489: ; preds = %invoke.cont.i1487 + %296 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr noundef nonnull %call5.i.i.i.i.i.i1510) #23 + br label %ehcleanup444 + +if.then.i7.i1508: ; preds = %invoke.cont7.i1490 + %second.i.i.i.i.i1547 = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1510, i64 40 + %297 = load ptr, ptr %second.i.i.i.i.i1547, align 8 + %bf.load.i.i.i.i.i.i.i1548 = load i64, ptr %297, align 8 + %298 = and i64 %bf.load.i.i.i.i.i.i.i1548, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i1549 = icmp eq i64 %298, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i1549, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i1556, label %if.then.i.i.i.i.i.i.i1550 + +if.then.i.i.i.i.i.i.i1550: ; preds = %if.then.i7.i1508 + %bf.value.i.i.i.i.i.i.i1551 = add i64 %bf.load.i.i.i.i.i.i.i1548, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i1552 = and i64 %bf.value.i.i.i.i.i.i.i1551, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i1553 = and i64 %bf.load.i.i.i.i.i.i.i1548, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i1554 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i1552, %bf.clear7.i.i.i.i.i.i.i1553 + store i64 %bf.set.i.i.i.i.i.i.i1554, ptr %297, align 8 + %cmp12.i.i.i.i.i.i.i1555 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i1552, 0 + br i1 %cmp12.i.i.i.i.i.i.i1555, label %if.then13.i.i.i.i.i.i.i1567, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i1556 + +if.then13.i.i.i.i.i.i.i1567: ; preds = %if.then.i.i.i.i.i.i.i1550 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %297) + to label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i1556 unwind label %terminate.lpad.i.i.i.i.i.i1568 + +terminate.lpad.i.i.i.i.i.i1568: ; preds = %if.then13.i.i.i.i.i.i.i1567 + %299 = landingpad { ptr, i32 } + catch ptr null + %300 = extractvalue { ptr, i32 } %299, 0 + call void @__clang_call_terminate(ptr %300) #25 + unreachable + +_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i1556: ; preds = %if.then13.i.i.i.i.i.i.i1567, %if.then.i.i.i.i.i.i.i1550, %if.then.i7.i1508 + %301 = load ptr, ptr %_M_storage.i.i.i.i.i1480, align 8 + %bf.load.i.i1.i.i.i.i.i1557 = load i64, ptr %301, align 8 + %302 = and i64 %bf.load.i.i1.i.i.i.i.i1557, 1152920405095219200 + %cmp.not.i.i2.i.i.i.i.i1558 = icmp eq i64 %302, 1152920405095219200 + br i1 %cmp.not.i.i2.i.i.i.i.i1558, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit1569, label %if.then.i.i3.i.i.i.i.i1559 + +if.then.i.i3.i.i.i.i.i1559: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i1556 + %bf.value.i.i4.i.i.i.i.i1560 = add i64 %bf.load.i.i1.i.i.i.i.i1557, 1152920405095219200 + %bf.shl.i.i5.i.i.i.i.i1561 = and i64 %bf.value.i.i4.i.i.i.i.i1560, 1152920405095219200 + %bf.clear7.i.i6.i.i.i.i.i1562 = and i64 %bf.load.i.i1.i.i.i.i.i1557, -1152920405095219201 + %bf.set.i.i7.i.i.i.i.i1563 = or disjoint i64 %bf.shl.i.i5.i.i.i.i.i1561, %bf.clear7.i.i6.i.i.i.i.i1562 + store i64 %bf.set.i.i7.i.i.i.i.i1563, ptr %301, align 8 + %cmp12.i.i8.i.i.i.i.i1564 = icmp eq i64 %bf.shl.i.i5.i.i.i.i.i1561, 0 + br i1 %cmp12.i.i8.i.i.i.i.i1564, label %if.then13.i.i9.i.i.i.i.i1565, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit1569 + +if.then13.i.i9.i.i.i.i.i1565: ; preds = %if.then.i.i3.i.i.i.i.i1559 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %301) + to label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit1569 unwind label %terminate.lpad.i10.i.i.i.i.i1566 + +terminate.lpad.i10.i.i.i.i.i1566: ; preds = %if.then13.i.i9.i.i.i.i.i1565 + %303 = landingpad { ptr, i32 } + catch ptr null + %304 = extractvalue { ptr, i32 } %303, 0 + call void @__clang_call_terminate(ptr %304) #25 + unreachable + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit1569: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i1556, %if.then.i.i3.i.i.i.i.i1559, %if.then13.i.i9.i.i.i.i.i1565 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1510) #26 + br label %invoke.cont429 + +invoke.cont429: ; preds = %lor.rhs.i891, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit1569, %cleanup.thread.i1504 + %__i.sroa.0.0.i897 = phi ptr [ %__y.addr.1.i.i.i.i884, %lor.rhs.i891 ], [ %call5.i.i.i.i.i.i1510, %cleanup.thread.i1504 ], [ %290, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit1569 ] + %second.i898 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i897, i64 40 + %305 = load ptr, ptr %second.i898, align 8 + %cmp.not.i904 = icmp eq ptr %305, %278 + br i1 %cmp.not.i904, label %land.lhs.true434, label %if.then.i905 + +if.then.i905: ; preds = %invoke.cont429 + %bf.load.i.i906 = load i64, ptr %305, align 8 + %306 = and i64 %bf.load.i.i906, 1152920405095219200 + %cmp.not.i.i907 = icmp eq i64 %306, 1152920405095219200 + br i1 %cmp.not.i.i907, label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i914, label %if.then.i.i908 + +if.then.i.i908: ; preds = %if.then.i905 + %bf.value.i.i909 = add i64 %bf.load.i.i906, 1152920405095219200 + %bf.shl.i.i910 = and i64 %bf.value.i.i909, 1152920405095219200 + %bf.clear7.i.i911 = and i64 %bf.load.i.i906, -1152920405095219201 + %bf.set.i.i912 = or disjoint i64 %bf.shl.i.i910, %bf.clear7.i.i911 + store i64 %bf.set.i.i912, ptr %305, align 8 + %cmp12.i.i913 = icmp eq i64 %bf.shl.i.i910, 0 + br i1 %cmp12.i.i913, label %if.then13.i.i929, label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i914 + +if.then13.i.i929: ; preds = %if.then.i.i908 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %305) + to label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i914 unwind label %lpad428 + +_ZN4cvc58internal4expr9NodeValue3decEv.exit.i914: ; preds = %if.then13.i.i929, %if.then.i.i908, %if.then.i905 + store ptr %278, ptr %second.i898, align 8 + %bf.load.i2.i915 = load i64, ptr %278, align 8 + %bf.lshr.i.i916 = lshr i64 %bf.load.i2.i915, 40 + %307 = trunc nuw nsw i64 %bf.lshr.i.i916 to i32 + %bf.cast.i.i917 = and i32 %307, 1048575 + %cmp.i.i918 = icmp samesign ult i32 %bf.cast.i.i917, 1048574 + br i1 %cmp.i.i918, label %if.then.i5.i924, label %if.else.i.i919 + +if.then.i5.i924: ; preds = %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i914 + %bf.value.i6.i925 = add i64 %bf.load.i2.i915, 1099511627776 + %bf.shl.i7.i926 = and i64 %bf.value.i6.i925, 1152920405095219200 + %bf.clear7.i8.i927 = and i64 %bf.load.i2.i915, -1152920405095219201 + %bf.set.i9.i928 = or disjoint i64 %bf.shl.i7.i926, %bf.clear7.i8.i927 + store i64 %bf.set.i9.i928, ptr %278, align 8 + br label %land.lhs.true434 + +if.else.i.i919: ; preds = %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i914 + %cmp12.i3.i920 = icmp eq i32 %bf.cast.i.i917, 1048574 + br i1 %cmp12.i3.i920, label %if.then13.i4.i922, label %land.lhs.true434 + +if.then13.i4.i922: ; preds = %if.else.i.i919 + %bf.set23.i.i923 = or i64 %bf.load.i2.i915, 1152920405095219200 + store i64 %bf.set23.i.i923, ptr %278, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %278) + to label %land.lhs.true434 unwind label %lpad428 + +land.lhs.true434: ; preds = %if.else.i.i919, %if.then.i5.i924, %invoke.cont429, %if.then13.i4.i922 + %cmp.i933.not = icmp eq ptr %274, %278 + br i1 %cmp.i933.not, label %if.end443, label %if.then437 + +if.then437: ; preds = %land.lhs.true434 + %call.i934935 = invoke noundef ptr @_ZN4cvc58internal11NodeManager9currentNMEv() + to label %call.i934.noexc unwind label %lpad428 + +call.i934.noexc: ; preds = %if.then437 + call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %nb.i.i), !noalias !415 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i.i), !noalias !415 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp4.i.i), !noalias !415 + invoke void @_ZN4cvc58internal11NodeBuilderC1EPNS0_11NodeManagerENS0_4kind6Kind_tE(ptr noundef nonnull align 8 dereferenceable(116) %nb.i.i, ptr noundef nonnull align 8 dereferenceable(3360) %call.i934935, i32 noundef 5) + to label %.noexc936 unwind label %lpad428 + +.noexc936: ; preds = %call.i934.noexc + store ptr %278, ptr %agg.tmp.i.i, align 8, !noalias !418 + %call.i.i = invoke noundef nonnull align 8 dereferenceable(116) ptr @_ZN4cvc58internal11NodeBuilderlsENS0_12NodeTemplateILb0EEE(ptr noundef nonnull align 8 dereferenceable(116) %nb.i.i, ptr noundef nonnull %agg.tmp.i.i) + to label %invoke.cont3.i.i unwind label %lpad2.i.i, !noalias !418 + +invoke.cont3.i.i: ; preds = %.noexc936 + store ptr %274, ptr %agg.tmp4.i.i, align 8, !noalias !418 + %call8.i.i = invoke noundef nonnull align 8 dereferenceable(116) ptr @_ZN4cvc58internal11NodeBuilderlsENS0_12NodeTemplateILb0EEE(ptr noundef nonnull align 8 dereferenceable(116) %call.i.i, ptr noundef nonnull %agg.tmp4.i.i) + to label %invoke.cont7.i.i unwind label %lpad6.i.i, !noalias !418 + +invoke.cont7.i.i: ; preds = %invoke.cont3.i.i + invoke void @_ZN4cvc58internal11NodeBuilder13constructNodeEv(ptr nonnull sret(%"class.cvc5::internal::NodeTemplate") align 8 %ref.tmp438, ptr noundef nonnull align 8 dereferenceable(116) %nb.i.i) + to label %invoke.cont439 unwind label %lpad.i.i + +lpad.i.i: ; preds = %invoke.cont7.i.i + %308 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup10.i.i + +lpad2.i.i: ; preds = %.noexc936 + %309 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup10.i.i + +lpad6.i.i: ; preds = %invoke.cont3.i.i + %310 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup10.i.i + +ehcleanup10.i.i: ; preds = %lpad6.i.i, %lpad2.i.i, %lpad.i.i + %.pn2.i.i = phi { ptr, i32 } [ %308, %lpad.i.i ], [ %310, %lpad6.i.i ], [ %309, %lpad2.i.i ] + call void @_ZN4cvc58internal11NodeBuilderD1Ev(ptr noundef nonnull align 8 dereferenceable(116) %nb.i.i) #23 + br label %ehcleanup444 + +invoke.cont439: ; preds = %invoke.cont7.i.i + call void @_ZN4cvc58internal11NodeBuilderD1Ev(ptr noundef nonnull align 8 dereferenceable(116) %nb.i.i) #23 + call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %nb.i.i), !noalias !415 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i.i), !noalias !415 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp4.i.i), !noalias !415 + %311 = load ptr, ptr %_M_finish.i.i937, align 8 + %312 = load ptr, ptr %_M_end_of_storage.i.i938, align 8 + %cmp.not.i.i939 = icmp eq ptr %311, %312 + br i1 %cmp.not.i.i939, label %if.else.i.i956, label %if.then.i.i940 + +if.then.i.i940: ; preds = %invoke.cont439 + %313 = load ptr, ptr %ref.tmp438, align 8 + store ptr %313, ptr %311, align 8 + %bf.load.i.i.i.i.i.i941 = load i64, ptr %313, align 8 + %bf.lshr.i.i.i.i.i.i942 = lshr i64 %bf.load.i.i.i.i.i.i941, 40 + %314 = trunc nuw nsw i64 %bf.lshr.i.i.i.i.i.i942 to i32 + %bf.cast.i.i.i.i.i.i943 = and i32 %314, 1048575 + %cmp.i.i.i.i.i.i944 = icmp samesign ult i32 %bf.cast.i.i.i.i.i.i943, 1048574 + br i1 %cmp.i.i.i.i.i.i944, label %if.then.i.i.i.i.i.i951, label %if.else.i.i.i.i.i.i945 + +if.then.i.i.i.i.i.i951: ; preds = %if.then.i.i940 + %bf.value.i.i.i.i.i.i952 = add i64 %bf.load.i.i.i.i.i.i941, 1099511627776 + %bf.shl.i.i.i.i.i.i953 = and i64 %bf.value.i.i.i.i.i.i952, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i954 = and i64 %bf.load.i.i.i.i.i.i941, -1152920405095219201 + %bf.set.i.i.i.i.i.i955 = or disjoint i64 %bf.shl.i.i.i.i.i.i953, %bf.clear7.i.i.i.i.i.i954 + store i64 %bf.set.i.i.i.i.i.i955, ptr %313, align 8 + br label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i947 + +if.else.i.i.i.i.i.i945: ; preds = %if.then.i.i940 + %cmp12.i.i.i.i.i.i946 = icmp eq i32 %bf.cast.i.i.i.i.i.i943, 1048574 + br i1 %cmp12.i.i.i.i.i.i946, label %if.then13.i.i.i.i.i.i949, label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i947 + +if.then13.i.i.i.i.i.i949: ; preds = %if.else.i.i.i.i.i.i945 + %bf.set23.i.i.i.i.i.i950 = or i64 %bf.load.i.i.i.i.i.i941, 1152920405095219200 + store i64 %bf.set23.i.i.i.i.i.i950, ptr %313, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %313) + to label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i947 unwind label %lpad440 + +_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i947: ; preds = %if.then13.i.i.i.i.i.i949, %if.else.i.i.i.i.i.i945, %if.then.i.i.i.i.i.i951 + %315 = load ptr, ptr %_M_finish.i.i937, align 8 + %incdec.ptr.i.i948 = getelementptr inbounds i8, ptr %315, i64 8 + store ptr %incdec.ptr.i.i948, ptr %_M_finish.i.i937, align 8 + br label %invoke.cont441 + +if.else.i.i956: ; preds = %invoke.cont439 + invoke void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %exp, ptr %311, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp438) + to label %invoke.cont441 unwind label %lpad440 + +invoke.cont441: ; preds = %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i947, %if.else.i.i956 + %316 = load ptr, ptr %ref.tmp438, align 8 + %bf.load.i.i960 = load i64, ptr %316, align 8 + %317 = and i64 %bf.load.i.i960, 1152920405095219200 + %cmp.not.i.i961 = icmp eq i64 %317, 1152920405095219200 + br i1 %cmp.not.i.i961, label %if.end443, label %if.then.i.i962 + +if.then.i.i962: ; preds = %invoke.cont441 + %bf.value.i.i963 = add i64 %bf.load.i.i960, 1152920405095219200 + %bf.shl.i.i964 = and i64 %bf.value.i.i963, 1152920405095219200 + %bf.clear7.i.i965 = and i64 %bf.load.i.i960, -1152920405095219201 + %bf.set.i.i966 = or disjoint i64 %bf.shl.i.i964, %bf.clear7.i.i965 + store i64 %bf.set.i.i966, ptr %316, align 8 + %cmp12.i.i967 = icmp eq i64 %bf.shl.i.i964, 0 + br i1 %cmp12.i.i967, label %if.then13.i.i969, label %if.end443 + +if.then13.i.i969: ; preds = %if.then.i.i962 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %316) + to label %if.end443 unwind label %terminate.lpad.i970 + +terminate.lpad.i970: ; preds = %if.then13.i.i969 + %318 = landingpad { ptr, i32 } + catch ptr null + %319 = extractvalue { ptr, i32 } %318, 0 + call void @__clang_call_terminate(ptr %319) #25 + unreachable + +lpad412.loopexit: ; preds = %if.then13.i.i795 + %lpad.loopexit = landingpad { ptr, i32 } + cleanup + br label %ehcleanup494 + +lpad412.loopexit.split-lp: ; preds = %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE5clearEv.exit + %lpad.loopexit.split-lp = landingpad { ptr, i32 } + cleanup + br label %ehcleanup494 + +lpad414: ; preds = %if.then.i833, %if.then13.i.i.i, %invoke.cont415 + %320 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup446 + +lpad422: ; preds = %if.then.i851, %invoke.cont417 + %321 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup445 + +lpad424: ; preds = %if.then13.i.i860 + %322 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup445 + +lpad428: ; preds = %if.then.i899, %call.i934.noexc, %if.then437, %if.then13.i4.i922, %if.then13.i.i929 + %323 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup444 + +lpad440: ; preds = %if.else.i.i956, %if.then13.i.i.i.i.i.i949 + %324 = landingpad { ptr, i32 } + cleanup + %325 = load ptr, ptr %ref.tmp438, align 8 + %bf.load.i.i972 = load i64, ptr %325, align 8 + %326 = and i64 %bf.load.i.i972, 1152920405095219200 + %cmp.not.i.i973 = icmp eq i64 %326, 1152920405095219200 + br i1 %cmp.not.i.i973, label %ehcleanup444, label %if.then.i.i974 + +if.then.i.i974: ; preds = %lpad440 + %bf.value.i.i975 = add i64 %bf.load.i.i972, 1152920405095219200 + %bf.shl.i.i976 = and i64 %bf.value.i.i975, 1152920405095219200 + %bf.clear7.i.i977 = and i64 %bf.load.i.i972, -1152920405095219201 + %bf.set.i.i978 = or disjoint i64 %bf.shl.i.i976, %bf.clear7.i.i977 + store i64 %bf.set.i.i978, ptr %325, align 8 + %cmp12.i.i979 = icmp eq i64 %bf.shl.i.i976, 0 + br i1 %cmp12.i.i979, label %if.then13.i.i981, label %ehcleanup444 + +if.then13.i.i981: ; preds = %if.then.i.i974 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %325) + to label %ehcleanup444 unwind label %terminate.lpad.i982 + +terminate.lpad.i982: ; preds = %if.then13.i.i981 + %327 = landingpad { ptr, i32 } + catch ptr null + %328 = extractvalue { ptr, i32 } %327, 0 + call void @__clang_call_terminate(ptr %328) #25 + unreachable + +if.end443: ; preds = %if.then13.i.i969, %if.then.i.i962, %invoke.cont441, %land.lhs.true434 + %bf.load.i.i984 = load i64, ptr %278, align 8 + %329 = and i64 %bf.load.i.i984, 1152920405095219200 + %cmp.not.i.i985 = icmp eq i64 %329, 1152920405095219200 + br i1 %cmp.not.i.i985, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit995, label %if.then.i.i986 + +if.then.i.i986: ; preds = %if.end443 + %bf.value.i.i987 = add i64 %bf.load.i.i984, 1152920405095219200 + %bf.shl.i.i988 = and i64 %bf.value.i.i987, 1152920405095219200 + %bf.clear7.i.i989 = and i64 %bf.load.i.i984, -1152920405095219201 + %bf.set.i.i990 = or disjoint i64 %bf.shl.i.i988, %bf.clear7.i.i989 + store i64 %bf.set.i.i990, ptr %278, align 8 + %cmp12.i.i991 = icmp eq i64 %bf.shl.i.i988, 0 + br i1 %cmp12.i.i991, label %if.then13.i.i993, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit995 + +if.then13.i.i993: ; preds = %if.then.i.i986 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %278) + to label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit995 unwind label %terminate.lpad.i994 + +terminate.lpad.i994: ; preds = %if.then13.i.i993 + %330 = landingpad { ptr, i32 } + catch ptr null + %331 = extractvalue { ptr, i32 } %330, 0 + call void @__clang_call_terminate(ptr %331) #25 + unreachable + +_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit995: ; preds = %if.end443, %if.then.i.i986, %if.then13.i.i993 + %bf.load.i.i996 = load i64, ptr %274, align 8 + %332 = and i64 %bf.load.i.i996, 1152920405095219200 + %cmp.not.i.i997 = icmp eq i64 %332, 1152920405095219200 + br i1 %cmp.not.i.i997, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1007, label %if.then.i.i998 + +if.then.i.i998: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit995 + %bf.value.i.i999 = add i64 %bf.load.i.i996, 1152920405095219200 + %bf.shl.i.i1000 = and i64 %bf.value.i.i999, 1152920405095219200 + %bf.clear7.i.i1001 = and i64 %bf.load.i.i996, -1152920405095219201 + %bf.set.i.i1002 = or disjoint i64 %bf.shl.i.i1000, %bf.clear7.i.i1001 + store i64 %bf.set.i.i1002, ptr %274, align 8 + %cmp12.i.i1003 = icmp eq i64 %bf.shl.i.i1000, 0 + br i1 %cmp12.i.i1003, label %if.then13.i.i1005, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1007 + +if.then13.i.i1005: ; preds = %if.then.i.i998 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %274) + to label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1007 unwind label %terminate.lpad.i1006 + +terminate.lpad.i1006: ; preds = %if.then13.i.i1005 + %333 = landingpad { ptr, i32 } + catch ptr null + %334 = extractvalue { ptr, i32 } %333, 0 + call void @__clang_call_terminate(ptr %334) #25 + unreachable + +_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1007: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit995, %if.then.i.i998, %if.then13.i.i1005 + %335 = load ptr, ptr %n407, align 8 + %bf.load.i.i1008 = load i64, ptr %335, align 8 + %336 = and i64 %bf.load.i.i1008, 1152920405095219200 + %cmp.not.i.i1009 = icmp eq i64 %336, 1152920405095219200 + br i1 %cmp.not.i.i1009, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019, label %if.then.i.i1010 + +if.then.i.i1010: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1007 + %bf.value.i.i1011 = add i64 %bf.load.i.i1008, 1152920405095219200 + %bf.shl.i.i1012 = and i64 %bf.value.i.i1011, 1152920405095219200 + %bf.clear7.i.i1013 = and i64 %bf.load.i.i1008, -1152920405095219201 + %bf.set.i.i1014 = or disjoint i64 %bf.shl.i.i1012, %bf.clear7.i.i1013 + store i64 %bf.set.i.i1014, ptr %335, align 8 + %cmp12.i.i1015 = icmp eq i64 %bf.shl.i.i1012, 0 + br i1 %cmp12.i.i1015, label %if.then13.i.i1017, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019 + +if.then13.i.i1017: ; preds = %if.then.i.i1010 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %335) + to label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019 unwind label %terminate.lpad.i1018 + +terminate.lpad.i1018: ; preds = %if.then13.i.i1017 + %337 = landingpad { ptr, i32 } + catch ptr null + %338 = extractvalue { ptr, i32 } %337, 0 + call void @__clang_call_terminate(ptr %338) #25 + unreachable + +_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1007, %if.then.i.i1010, %if.then13.i.i1017 + %inc448 = add i32 %k.01788, 1 + %conv401 = zext i32 %inc448 to i64 + %339 = load ptr, ptr %split_new_part, align 8 + %add.ptr.i781 = getelementptr inbounds %"class.std::vector.525", ptr %339, i64 %conv3961796 + %_M_finish.i782 = getelementptr inbounds i8, ptr %add.ptr.i781, i64 8 + %340 = load ptr, ptr %_M_finish.i782, align 8 + %341 = load ptr, ptr %add.ptr.i781, align 8 + %sub.ptr.lhs.cast.i783 = ptrtoint ptr %340 to i64 + %sub.ptr.rhs.cast.i784 = ptrtoint ptr %341 to i64 + %sub.ptr.sub.i785 = sub i64 %sub.ptr.lhs.cast.i783, %sub.ptr.rhs.cast.i784 + %sub.ptr.div.i786 = ashr exact i64 %sub.ptr.sub.i785, 3 + %cmp405 = icmp ugt i64 %sub.ptr.div.i786, %conv401 + br i1 %cmp405, label %for.body406, label %for.end449, !llvm.loop !293 + +ehcleanup444: ; preds = %if.then13.i.i981, %if.then.i.i974, %lpad440, %ehcleanup10.i.i, %lpad7.i.i.i.i1482, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1489, %lpad428 + %.pn2 = phi { ptr, i32 } [ %.pn2.i.i, %ehcleanup10.i.i ], [ %323, %lpad428 ], [ %296, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1489 ], [ %287, %lpad7.i.i.i.i1482 ], [ %324, %lpad440 ], [ %324, %if.then.i.i974 ], [ %324, %if.then13.i.i981 ] + %bf.load.i.i1020 = load i64, ptr %278, align 8 + %342 = and i64 %bf.load.i.i1020, 1152920405095219200 + %cmp.not.i.i1021 = icmp eq i64 %342, 1152920405095219200 + br i1 %cmp.not.i.i1021, label %ehcleanup445, label %if.then.i.i1022 + +if.then.i.i1022: ; preds = %ehcleanup444 + %bf.value.i.i1023 = add i64 %bf.load.i.i1020, 1152920405095219200 + %bf.shl.i.i1024 = and i64 %bf.value.i.i1023, 1152920405095219200 + %bf.clear7.i.i1025 = and i64 %bf.load.i.i1020, -1152920405095219201 + %bf.set.i.i1026 = or disjoint i64 %bf.shl.i.i1024, %bf.clear7.i.i1025 + store i64 %bf.set.i.i1026, ptr %278, align 8 + %cmp12.i.i1027 = icmp eq i64 %bf.shl.i.i1024, 0 + br i1 %cmp12.i.i1027, label %if.then13.i.i1029, label %ehcleanup445 + +if.then13.i.i1029: ; preds = %if.then.i.i1022 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %278) + to label %ehcleanup445 unwind label %terminate.lpad.i1030 + +terminate.lpad.i1030: ; preds = %if.then13.i.i1029 + %343 = landingpad { ptr, i32 } + catch ptr null + %344 = extractvalue { ptr, i32 } %343, 0 + call void @__clang_call_terminate(ptr %344) #25 + unreachable + +ehcleanup445: ; preds = %if.then13.i.i1029, %if.then.i.i1022, %ehcleanup444, %lpad422, %lpad424 + %.pn2.pn = phi { ptr, i32 } [ %322, %lpad424 ], [ %321, %lpad422 ], [ %.pn2, %ehcleanup444 ], [ %.pn2, %if.then.i.i1022 ], [ %.pn2, %if.then13.i.i1029 ] + %bf.load.i.i1032 = load i64, ptr %274, align 8 + %345 = and i64 %bf.load.i.i1032, 1152920405095219200 + %cmp.not.i.i1033 = icmp eq i64 %345, 1152920405095219200 + br i1 %cmp.not.i.i1033, label %ehcleanup446, label %if.then.i.i1034 + +if.then.i.i1034: ; preds = %ehcleanup445 + %bf.value.i.i1035 = add i64 %bf.load.i.i1032, 1152920405095219200 + %bf.shl.i.i1036 = and i64 %bf.value.i.i1035, 1152920405095219200 + %bf.clear7.i.i1037 = and i64 %bf.load.i.i1032, -1152920405095219201 + %bf.set.i.i1038 = or disjoint i64 %bf.shl.i.i1036, %bf.clear7.i.i1037 + store i64 %bf.set.i.i1038, ptr %274, align 8 + %cmp12.i.i1039 = icmp eq i64 %bf.shl.i.i1036, 0 + br i1 %cmp12.i.i1039, label %if.then13.i.i1041, label %ehcleanup446 + +if.then13.i.i1041: ; preds = %if.then.i.i1034 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %274) + to label %ehcleanup446 unwind label %terminate.lpad.i1042 + +terminate.lpad.i1042: ; preds = %if.then13.i.i1041 + %346 = landingpad { ptr, i32 } + catch ptr null + %347 = extractvalue { ptr, i32 } %346, 0 + call void @__clang_call_terminate(ptr %347) #25 + unreachable + +ehcleanup446: ; preds = %if.then13.i.i1041, %if.then.i.i1034, %ehcleanup445, %lpad414, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1454, %lpad7.i.i.i.i1447 + %.pn2.pn.pn = phi { ptr, i32 } [ %320, %lpad414 ], [ %264, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1454 ], [ %255, %lpad7.i.i.i.i1447 ], [ %.pn2.pn, %ehcleanup445 ], [ %.pn2.pn, %if.then.i.i1034 ], [ %.pn2.pn, %if.then13.i.i1041 ] + %348 = load ptr, ptr %n407, align 8 + %bf.load.i.i1044 = load i64, ptr %348, align 8 + %349 = and i64 %bf.load.i.i1044, 1152920405095219200 + %cmp.not.i.i1045 = icmp eq i64 %349, 1152920405095219200 + br i1 %cmp.not.i.i1045, label %ehcleanup494, label %if.then.i.i1046 + +if.then.i.i1046: ; preds = %ehcleanup446 + %bf.value.i.i1047 = add i64 %bf.load.i.i1044, 1152920405095219200 + %bf.shl.i.i1048 = and i64 %bf.value.i.i1047, 1152920405095219200 + %bf.clear7.i.i1049 = and i64 %bf.load.i.i1044, -1152920405095219201 + %bf.set.i.i1050 = or disjoint i64 %bf.shl.i.i1048, %bf.clear7.i.i1049 + store i64 %bf.set.i.i1050, ptr %348, align 8 + %cmp12.i.i1051 = icmp eq i64 %bf.shl.i.i1048, 0 + br i1 %cmp12.i.i1051, label %if.then13.i.i1053, label %ehcleanup494 + +if.then13.i.i1053: ; preds = %if.then.i.i1046 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %348) + to label %ehcleanup494 unwind label %terminate.lpad.i1054 + +terminate.lpad.i1054: ; preds = %if.then13.i.i1053 + %350 = landingpad { ptr, i32 } + catch ptr null + %351 = extractvalue { ptr, i32 } %350, 0 + call void @__clang_call_terminate(ptr %351) #25 + unreachable + +for.end449: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019, %for.cond400.preheader + %add.ptr.i781.lcssa = phi ptr [ %add.ptr.i7811781, %for.cond400.preheader ], [ %add.ptr.i781, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019 ] + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %c_part_out, i8 0, i64 24, i1 false) + invoke fastcc void @_ZN4cvc58internal6theory9datatypes15TheoryDatatypes17separateBisimilarERSt6vectorINS0_12NodeTemplateILb1EEESaIS6_EERS4_IS8_SaIS8_EES9_RSt3mapIS6_S6_St4lessIS6_ESaISt4pairIKS6_S6_EEERSD_IS6_SD_IS6_iSF_SaISG_ISH_iEEESF_SaISG_ISH_SO_EEEib.specialized.2(ptr noundef nonnull align 8 dereferenceable(2008) %this, ptr noundef nonnull align 8 dereferenceable(24) %add.ptr.i781.lcssa, ptr noundef nonnull align 8 dereferenceable(24) %c_part_out, ptr noundef nonnull align 8 dereferenceable(24) %exp, ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr noundef nonnull align 8 dereferenceable(48) %dni) + to label %invoke.cont454 unwind label %lpad453 + +invoke.cont454: ; preds = %for.end449 + %352 = load ptr, ptr %_M_finish.i1057, align 8 + %353 = load ptr, ptr %c_part_out, align 8 + %354 = load ptr, ptr %_M_finish.i1058, align 8 + %355 = load ptr, ptr %next_split_new_part, align 8 + %sub.ptr.lhs.cast.i.i1059 = ptrtoint ptr %352 to i64 + %sub.ptr.rhs.cast.i.i1060 = ptrtoint ptr %355 to i64 + %sub.ptr.sub.i.i1061 = sub i64 %sub.ptr.lhs.cast.i.i1059, %sub.ptr.rhs.cast.i.i1060 + %add.ptr.i.i1062 = getelementptr inbounds i8, ptr %355, i64 %sub.ptr.sub.i.i1061 + invoke void @_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %next_split_new_part, ptr %add.ptr.i.i1062, ptr %353, ptr %354) + to label %invoke.cont468 unwind label %lpad453 + +invoke.cont468: ; preds = %invoke.cont454 + %356 = load ptr, ptr %c_part_out, align 8 + %357 = load ptr, ptr %_M_finish.i1058, align 8 + %cmp.not3.i.i.i.i1066 = icmp eq ptr %356, %357 + br i1 %cmp.not3.i.i.i.i1066, label %invoke.cont.i1073, label %for.body.i.i.i.i1067 + +for.body.i.i.i.i1067: ; preds = %invoke.cont468, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i + %__first.addr.04.i.i.i.i1068 = phi ptr [ %incdec.ptr.i.i.i.i1069, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i ], [ %356, %invoke.cont468 ] + %358 = load ptr, ptr %__first.addr.04.i.i.i.i1068, align 8 + %_M_finish.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1068, i64 8 + %359 = load ptr, ptr %_M_finish.i.i.i.i.i.i, align 8 + %cmp.not3.i.i.i.i.i.i.i.i.i = icmp eq ptr %358, %359 + br i1 %cmp.not3.i.i.i.i.i.i.i.i.i, label %invoke.cont.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i.i.i.i + +for.body.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i1067, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i + %__first.addr.04.i.i.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i ], [ %358, %for.body.i.i.i.i1067 ] + %360 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i, align 8 + %bf.load.i.i.i.i.i.i.i.i.i.i.i.i = load i64, ptr %360, align 8 + %361 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %361, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i + +if.then.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i + %bf.value.i.i.i.i.i.i.i.i.i.i.i.i = add i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i = and i64 %bf.value.i.i.i.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i.i.i.i = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i, %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i + store i64 %bf.set.i.i.i.i.i.i.i.i.i.i.i.i, ptr %360, align 8 + %cmp12.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i.i.i.i, label %if.then13.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i + +if.then13.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %360) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i unwind label %terminate.lpad.i.i.i.i.i.i.i.i.i.i.i + +terminate.lpad.i.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i + %362 = landingpad { ptr, i32 } + catch ptr null + %363 = extractvalue { ptr, i32 } %362, 0 + call void @__clang_call_terminate(ptr %363) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i, i64 8 + %cmp.not.i.i.i.i.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i, %359 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i, label %invoke.contthread-pre-split.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i.i.i.i, !llvm.loop !21 + +invoke.contthread-pre-split.i.i.i.i.i.i: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i + %.pr.i.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i1068, align 8 + br label %invoke.cont.i.i.i.i.i.i + +invoke.cont.i.i.i.i.i.i: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i, %for.body.i.i.i.i1067 + %364 = phi ptr [ %.pr.i.i.i.i.i.i, %invoke.contthread-pre-split.i.i.i.i.i.i ], [ %358, %for.body.i.i.i.i1067 ] + %tobool.not.i.i.i.i.i.i.i.i = icmp eq ptr %364, null + br i1 %tobool.not.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i + +if.then.i.i.i.i.i.i.i.i: ; preds = %invoke.cont.i.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %364) #26 + br label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i + +_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i, %invoke.cont.i.i.i.i.i.i + %incdec.ptr.i.i.i.i1069 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1068, i64 24 + %cmp.not.i.i.i.i1070 = icmp eq ptr %incdec.ptr.i.i.i.i1069, %357 + br i1 %cmp.not.i.i.i.i1070, label %invoke.contthread-pre-split.i1071, label %for.body.i.i.i.i1067, !llvm.loop !38 + +invoke.contthread-pre-split.i1071: ; preds = %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i + %.pr.i1072 = load ptr, ptr %c_part_out, align 8 + br label %invoke.cont.i1073 + +invoke.cont.i1073: ; preds = %invoke.contthread-pre-split.i1071, %invoke.cont468 + %365 = phi ptr [ %.pr.i1072, %invoke.contthread-pre-split.i1071 ], [ %356, %invoke.cont468 ] + %tobool.not.i.i.i1074 = icmp eq ptr %365, null + br i1 %tobool.not.i.i.i1074, label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit, label %if.then.i.i.i1075 + +if.then.i.i.i1075: ; preds = %invoke.cont.i1073 + call void @_ZdlPv(ptr noundef nonnull %365) #26 + br label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit + +_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit: ; preds = %invoke.cont.i1073, %if.then.i.i.i1075 + %inc474 = add i32 %j394.01795, 1 + %conv396 = zext i32 %inc474 to i64 + %366 = load ptr, ptr %_M_finish.i.i774, align 8 + %367 = load ptr, ptr %split_new_part, align 8 + %sub.ptr.lhs.cast.i777 = ptrtoint ptr %366 to i64 + %sub.ptr.rhs.cast.i778 = ptrtoint ptr %367 to i64 + %sub.ptr.sub.i779 = sub i64 %sub.ptr.lhs.cast.i777, %sub.ptr.rhs.cast.i778 + %sub.ptr.div.i780 = sdiv exact i64 %sub.ptr.sub.i779, 24 + %cmp398 = icmp ugt i64 %sub.ptr.div.i780, %conv396 + br i1 %cmp398, label %for.cond400.preheader, label %for.end475, !llvm.loop !294 + +lpad453: ; preds = %for.end449, %invoke.cont454 + %368 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %c_part_out) #23 + br label %ehcleanup494 + +for.end475: ; preds = %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit + %tobool.not.i.i = icmp eq ptr %366, %367 + br i1 %tobool.not.i.i, label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE5clearEv.exit, label %for.body.i.i.i.i.i + +for.body.i.i.i.i.i: ; preds = %for.end475, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i.i + %__first.addr.04.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i.i ], [ %367, %for.end475 ] + %369 = load ptr, ptr %__first.addr.04.i.i.i.i.i, align 8 + %_M_finish.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i, i64 8 + %370 = load ptr, ptr %_M_finish.i.i.i.i.i.i.i, align 8 + %cmp.not3.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %369, %370 + br i1 %cmp.not3.i.i.i.i.i.i.i.i.i.i, label %invoke.cont.i.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i.i.i.i.i + +for.body.i.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i + %__first.addr.04.i.i.i.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i.i, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i ], [ %369, %for.body.i.i.i.i.i ] + %371 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i.i, align 8 + %bf.load.i.i.i.i.i.i.i.i.i.i.i.i.i = load i64, ptr %371, align 8 + %372 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %372, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i + +if.then.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i.i + %bf.value.i.i.i.i.i.i.i.i.i.i.i.i.i = add i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i.i = and i64 %bf.value.i.i.i.i.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i.i, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i.i.i.i.i = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i.i, %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i.i + store i64 %bf.set.i.i.i.i.i.i.i.i.i.i.i.i.i, ptr %371, align 8 + %cmp12.i.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i.i, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i.i.i.i.i, label %if.then13.i.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i + +if.then13.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %371) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i unwind label %terminate.lpad.i.i.i.i.i.i.i.i.i.i.i.i + +terminate.lpad.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i.i + %373 = landingpad { ptr, i32 } + catch ptr null + %374 = extractvalue { ptr, i32 } %373, 0 + call void @__clang_call_terminate(ptr %374) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i.i, i64 8 + %cmp.not.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i.i, %370 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i, label %invoke.contthread-pre-split.i.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i.i.i.i.i, !llvm.loop !21 + +invoke.contthread-pre-split.i.i.i.i.i.i.i: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i + %.pr.i.i.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i.i, align 8 + br label %invoke.cont.i.i.i.i.i.i.i + +invoke.cont.i.i.i.i.i.i.i: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i.i, %for.body.i.i.i.i.i + %375 = phi ptr [ %.pr.i.i.i.i.i.i.i, %invoke.contthread-pre-split.i.i.i.i.i.i.i ], [ %369, %for.body.i.i.i.i.i ] + %tobool.not.i.i.i.i.i.i.i.i.i = icmp eq ptr %375, null + br i1 %tobool.not.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i + +if.then.i.i.i.i.i.i.i.i.i: ; preds = %invoke.cont.i.i.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %375) #26 + br label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i.i + +_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i, %invoke.cont.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i, i64 24 + %cmp.not.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i, %366 + br i1 %cmp.not.i.i.i.i.i, label %invoke.cont.i.i, label %for.body.i.i.i.i.i, !llvm.loop !38 + +invoke.cont.i.i: ; preds = %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i.i + store ptr %367, ptr %_M_finish.i.i774, align 8 + %.pre1851 = load ptr, ptr %split_new_part, align 8 + br label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE5clearEv.exit + +_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE5clearEv.exit: ; preds = %for.end475, %invoke.cont.i.i + %376 = phi ptr [ %367, %for.end475 ], [ %.pre1851, %invoke.cont.i.i ] + %377 = phi ptr [ %366, %for.end475 ], [ %367, %invoke.cont.i.i ] + %378 = load ptr, ptr %next_split_new_part, align 8 + %379 = load ptr, ptr %_M_finish.i1057, align 8 + %sub.ptr.lhs.cast.i.i1079 = ptrtoint ptr %377 to i64 + %sub.ptr.rhs.cast.i.i1080 = ptrtoint ptr %376 to i64 + %sub.ptr.sub.i.i1081 = sub i64 %sub.ptr.lhs.cast.i.i1079, %sub.ptr.rhs.cast.i.i1080 + %add.ptr.i.i1082 = getelementptr inbounds i8, ptr %376, i64 %sub.ptr.sub.i.i1081 + invoke void @_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %split_new_part, ptr %add.ptr.i.i1082, ptr %378, ptr %379) + to label %invoke.cont489 unwind label %lpad412.loopexit.split-lp + +invoke.cont489: ; preds = %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE5clearEv.exit + %inc493 = add nuw i32 %cindex.01800, 1 + %380 = load ptr, ptr %next_split_new_part, align 8 + %381 = load ptr, ptr %_M_finish.i1057, align 8 + %cmp.not3.i.i.i.i1087 = icmp eq ptr %380, %381 + br i1 %cmp.not3.i.i.i.i1087, label %invoke.cont.i1115, label %for.body.i.i.i.i1088 + +for.body.i.i.i.i1088: ; preds = %invoke.cont489, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1110 + %__first.addr.04.i.i.i.i1089 = phi ptr [ %incdec.ptr.i.i.i.i1111, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1110 ], [ %380, %invoke.cont489 ] + %382 = load ptr, ptr %__first.addr.04.i.i.i.i1089, align 8 + %_M_finish.i.i.i.i.i.i1090 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1089, i64 8 + %383 = load ptr, ptr %_M_finish.i.i.i.i.i.i1090, align 8 + %cmp.not3.i.i.i.i.i.i.i.i.i1091 = icmp eq ptr %382, %383 + br i1 %cmp.not3.i.i.i.i.i.i.i.i.i1091, label %invoke.cont.i.i.i.i.i.i1107, label %for.body.i.i.i.i.i.i.i.i.i1092 + +for.body.i.i.i.i.i.i.i.i.i1092: ; preds = %for.body.i.i.i.i1088, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1102 + %__first.addr.04.i.i.i.i.i.i.i.i.i1093 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i1103, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1102 ], [ %382, %for.body.i.i.i.i1088 ] + %384 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1093, align 8 + %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1094 = load i64, ptr %384, align 8 + %385 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1094, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1095 = icmp eq i64 %385, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1095, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1102, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i1096 + +if.then.i.i.i.i.i.i.i.i.i.i.i.i1096: ; preds = %for.body.i.i.i.i.i.i.i.i.i1092 + %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1097 = add i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1094, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1098 = and i64 %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1097, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1099 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1094, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1100 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1098, %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1099 + store i64 %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1100, ptr %384, align 8 + %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1101 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1098, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1101, label %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1118, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1102 + +if.then13.i.i.i.i.i.i.i.i.i.i.i.i1118: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i1096 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %384) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1102 unwind label %terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1119 + +terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1119: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1118 + %386 = landingpad { ptr, i32 } + catch ptr null + %387 = extractvalue { ptr, i32 } %386, 0 + call void @__clang_call_terminate(ptr %387) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1102: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1118, %if.then.i.i.i.i.i.i.i.i.i.i.i.i1096, %for.body.i.i.i.i.i.i.i.i.i1092 + %incdec.ptr.i.i.i.i.i.i.i.i.i1103 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1093, i64 8 + %cmp.not.i.i.i.i.i.i.i.i.i1104 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i1103, %383 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i1104, label %invoke.contthread-pre-split.i.i.i.i.i.i1105, label %for.body.i.i.i.i.i.i.i.i.i1092, !llvm.loop !21 + +invoke.contthread-pre-split.i.i.i.i.i.i1105: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1102 + %.pr.i.i.i.i.i.i1106 = load ptr, ptr %__first.addr.04.i.i.i.i1089, align 8 + br label %invoke.cont.i.i.i.i.i.i1107 + +invoke.cont.i.i.i.i.i.i1107: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i1105, %for.body.i.i.i.i1088 + %388 = phi ptr [ %.pr.i.i.i.i.i.i1106, %invoke.contthread-pre-split.i.i.i.i.i.i1105 ], [ %382, %for.body.i.i.i.i1088 ] + %tobool.not.i.i.i.i.i.i.i.i1108 = icmp eq ptr %388, null + br i1 %tobool.not.i.i.i.i.i.i.i.i1108, label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1110, label %if.then.i.i.i.i.i.i.i.i1109 + +if.then.i.i.i.i.i.i.i.i1109: ; preds = %invoke.cont.i.i.i.i.i.i1107 + call void @_ZdlPv(ptr noundef nonnull %388) #26 + br label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1110 + +_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1110: ; preds = %if.then.i.i.i.i.i.i.i.i1109, %invoke.cont.i.i.i.i.i.i1107 + %incdec.ptr.i.i.i.i1111 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1089, i64 24 + %cmp.not.i.i.i.i1112 = icmp eq ptr %incdec.ptr.i.i.i.i1111, %381 + br i1 %cmp.not.i.i.i.i1112, label %invoke.contthread-pre-split.i1113, label %for.body.i.i.i.i1088, !llvm.loop !38 + +invoke.contthread-pre-split.i1113: ; preds = %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1110 + %.pr.i1114 = load ptr, ptr %next_split_new_part, align 8 + br label %invoke.cont.i1115 + +invoke.cont.i1115: ; preds = %invoke.contthread-pre-split.i1113, %invoke.cont489 + %389 = phi ptr [ %.pr.i1114, %invoke.contthread-pre-split.i1113 ], [ %380, %invoke.cont489 ] + %tobool.not.i.i.i1116 = icmp eq ptr %389, null + br i1 %tobool.not.i.i.i1116, label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1120, label %if.then.i.i.i1117 + +if.then.i.i.i1117: ; preds = %invoke.cont.i1115 + call void @_ZdlPv(ptr noundef nonnull %389) #26 + br label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1120 + +_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1120: ; preds = %invoke.cont.i1115, %if.then.i.i.i1117 + %exitcond.not = icmp eq i32 %inc493, %cond.i.i + br i1 %exitcond.not, label %while.end, label %land.rhs, !llvm.loop !295 + +ehcleanup494: ; preds = %lpad412.loopexit, %lpad412.loopexit.split-lp, %if.then13.i.i1053, %if.then.i.i1046, %ehcleanup446, %lpad453 + %.pn2.pn.pn.pn = phi { ptr, i32 } [ %368, %lpad453 ], [ %.pn2.pn.pn, %ehcleanup446 ], [ %.pn2.pn.pn, %if.then.i.i1046 ], [ %.pn2.pn.pn, %if.then13.i.i1053 ], [ %lpad.loopexit, %lpad412.loopexit ], [ %lpad.loopexit.split-lp, %lpad412.loopexit.split-lp ] + %390 = load ptr, ptr %next_split_new_part, align 8 + %391 = load ptr, ptr %_M_finish.i1057, align 8 + %cmp.not3.i.i.i.i1122 = icmp eq ptr %390, %391 + br i1 %cmp.not3.i.i.i.i1122, label %invoke.cont.i1150, label %for.body.i.i.i.i1123 + +for.body.i.i.i.i1123: ; preds = %ehcleanup494, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1145 + %__first.addr.04.i.i.i.i1124 = phi ptr [ %incdec.ptr.i.i.i.i1146, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1145 ], [ %390, %ehcleanup494 ] + %392 = load ptr, ptr %__first.addr.04.i.i.i.i1124, align 8 + %_M_finish.i.i.i.i.i.i1125 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1124, i64 8 + %393 = load ptr, ptr %_M_finish.i.i.i.i.i.i1125, align 8 + %cmp.not3.i.i.i.i.i.i.i.i.i1126 = icmp eq ptr %392, %393 + br i1 %cmp.not3.i.i.i.i.i.i.i.i.i1126, label %invoke.cont.i.i.i.i.i.i1142, label %for.body.i.i.i.i.i.i.i.i.i1127 + +for.body.i.i.i.i.i.i.i.i.i1127: ; preds = %for.body.i.i.i.i1123, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1137 + %__first.addr.04.i.i.i.i.i.i.i.i.i1128 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i1138, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1137 ], [ %392, %for.body.i.i.i.i1123 ] + %394 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1128, align 8 + %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1129 = load i64, ptr %394, align 8 + %395 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1129, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1130 = icmp eq i64 %395, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1130, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1137, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i1131 + +if.then.i.i.i.i.i.i.i.i.i.i.i.i1131: ; preds = %for.body.i.i.i.i.i.i.i.i.i1127 + %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1132 = add i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1129, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1133 = and i64 %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1132, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1134 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1129, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1135 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1133, %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1134 + store i64 %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1135, ptr %394, align 8 + %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1136 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1133, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1136, label %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1153, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1137 + +if.then13.i.i.i.i.i.i.i.i.i.i.i.i1153: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i1131 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %394) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1137 unwind label %terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1154 + +terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1154: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1153 + %396 = landingpad { ptr, i32 } + catch ptr null + %397 = extractvalue { ptr, i32 } %396, 0 + call void @__clang_call_terminate(ptr %397) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1137: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1153, %if.then.i.i.i.i.i.i.i.i.i.i.i.i1131, %for.body.i.i.i.i.i.i.i.i.i1127 + %incdec.ptr.i.i.i.i.i.i.i.i.i1138 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1128, i64 8 + %cmp.not.i.i.i.i.i.i.i.i.i1139 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i1138, %393 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i1139, label %invoke.contthread-pre-split.i.i.i.i.i.i1140, label %for.body.i.i.i.i.i.i.i.i.i1127, !llvm.loop !21 + +invoke.contthread-pre-split.i.i.i.i.i.i1140: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1137 + %.pr.i.i.i.i.i.i1141 = load ptr, ptr %__first.addr.04.i.i.i.i1124, align 8 + br label %invoke.cont.i.i.i.i.i.i1142 + +invoke.cont.i.i.i.i.i.i1142: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i1140, %for.body.i.i.i.i1123 + %398 = phi ptr [ %.pr.i.i.i.i.i.i1141, %invoke.contthread-pre-split.i.i.i.i.i.i1140 ], [ %392, %for.body.i.i.i.i1123 ] + %tobool.not.i.i.i.i.i.i.i.i1143 = icmp eq ptr %398, null + br i1 %tobool.not.i.i.i.i.i.i.i.i1143, label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1145, label %if.then.i.i.i.i.i.i.i.i1144 + +if.then.i.i.i.i.i.i.i.i1144: ; preds = %invoke.cont.i.i.i.i.i.i1142 + call void @_ZdlPv(ptr noundef nonnull %398) #26 + br label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1145 + +_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1145: ; preds = %if.then.i.i.i.i.i.i.i.i1144, %invoke.cont.i.i.i.i.i.i1142 + %incdec.ptr.i.i.i.i1146 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1124, i64 24 + %cmp.not.i.i.i.i1147 = icmp eq ptr %incdec.ptr.i.i.i.i1146, %391 + br i1 %cmp.not.i.i.i.i1147, label %invoke.contthread-pre-split.i1148, label %for.body.i.i.i.i1123, !llvm.loop !38 + +invoke.contthread-pre-split.i1148: ; preds = %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1145 + %.pr.i1149 = load ptr, ptr %next_split_new_part, align 8 + br label %invoke.cont.i1150 + +invoke.cont.i1150: ; preds = %invoke.contthread-pre-split.i1148, %ehcleanup494 + %399 = phi ptr [ %.pr.i1149, %invoke.contthread-pre-split.i1148 ], [ %390, %ehcleanup494 ] + %tobool.not.i.i.i1151 = icmp eq ptr %399, null + br i1 %tobool.not.i.i.i1151, label %ehcleanup531, label %if.then.i.i.i1152 + +if.then.i.i.i1152: ; preds = %invoke.cont.i1150 + call void @_ZdlPv(ptr noundef nonnull %399) #26 + br label %ehcleanup531 + +while.end: ; preds = %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1120, %land.rhs, %invoke.cont362 + %400 = load ptr, ptr %_M_finish.i1156, align 8 + %401 = load ptr, ptr %split_new_part, align 8 + %402 = load ptr, ptr %_M_finish.i.i774, align 8 + %403 = load ptr, ptr %part_out, align 8 + %sub.ptr.lhs.cast.i.i1158 = ptrtoint ptr %400 to i64 + %sub.ptr.rhs.cast.i.i1159 = ptrtoint ptr %403 to i64 + %sub.ptr.sub.i.i1160 = sub i64 %sub.ptr.lhs.cast.i.i1158, %sub.ptr.rhs.cast.i.i1159 + %add.ptr.i.i1161 = getelementptr inbounds i8, ptr %403, i64 %sub.ptr.sub.i.i1160 + invoke void @_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %part_out, ptr %add.ptr.i.i1161, ptr %401, ptr %402) + to label %invoke.cont508 unwind label %lpad355.loopexit.split-lp + +invoke.cont508: ; preds = %while.end + %404 = load ptr, ptr %_M_left.i.i.i.i.i499, align 8 + %cmp.i1167.not1801 = icmp eq ptr %404, %142 + br i1 %cmp.i1167.not1801, label %for.end530, label %for.body519 + +for.body519: ; preds = %invoke.cont508, %for.inc528 + %it2.sroa.0.01802 = phi ptr [ %call.i1232, %for.inc528 ], [ %404, %invoke.cont508 ] + %_M_storage.i.i1168 = getelementptr inbounds i8, ptr %it2.sroa.0.01802, i64 32 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i1169) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i1170) + %405 = load ptr, ptr %_M_parent.i.i.i.i.i527, align 8 + %cmp.not5.i.i.i.i1173 = icmp eq ptr %405, null + br i1 %cmp.not5.i.i.i.i1173, label %if.then.i1199, label %while.body.lr.ph.i.i.i.i1174 + +while.body.lr.ph.i.i.i.i1174: ; preds = %for.body519 + %406 = load ptr, ptr %_M_storage.i.i1168, align 8 + %bf.load3.i.i.i.i.i.i1175 = load i64, ptr %406, align 8 + %bf.clear4.i.i.i.i.i.i1176 = and i64 %bf.load3.i.i.i.i.i.i1175, 1099511627775 + br label %while.body.i.i.i.i1177 + +while.body.i.i.i.i1177: ; preds = %while.body.i.i.i.i1177, %while.body.lr.ph.i.i.i.i1174 + %__x.addr.07.i.i.i.i1178 = phi ptr [ %405, %while.body.lr.ph.i.i.i.i1174 ], [ %__x.addr.1.i.i.i.i1187, %while.body.i.i.i.i1177 ] + %__y.addr.06.i.i.i.i1179 = phi ptr [ %add.ptr.i.i.i.i528, %while.body.lr.ph.i.i.i.i1174 ], [ %__y.addr.1.i.i.i.i1184, %while.body.i.i.i.i1177 ] + %_M_storage.i.i.i.i.i.i1180 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i1178, i64 32 + %407 = load ptr, ptr %_M_storage.i.i.i.i.i.i1180, align 8 + %bf.load.i.i.i.i.i.i1181 = load i64, ptr %407, align 8 + %bf.clear.i.i.i.i.i.i1182 = and i64 %bf.load.i.i.i.i.i.i1181, 1099511627775 + %cmp.i.i.i.i.i.i1183 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i1182, %bf.clear4.i.i.i.i.i.i1176 + %__y.addr.1.i.i.i.i1184 = select i1 %cmp.i.i.i.i.i.i1183, ptr %__y.addr.06.i.i.i.i1179, ptr %__x.addr.07.i.i.i.i1178 + %__x.addr.1.in.v.i.i.i.i1185 = select i1 %cmp.i.i.i.i.i.i1183, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i1186 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i1178, i64 %__x.addr.1.in.v.i.i.i.i1185 + %__x.addr.1.i.i.i.i1187 = load ptr, ptr %__x.addr.1.in.i.i.i.i1186, align 8 + %cmp.not.i.i.i.i1188 = icmp eq ptr %__x.addr.1.i.i.i.i1187, null + br i1 %cmp.not.i.i.i.i1188, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i1189, label %while.body.i.i.i.i1177, !llvm.loop !275 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i1189: ; preds = %while.body.i.i.i.i1177 + %cmp.i.i1190 = icmp eq ptr %__y.addr.1.i.i.i.i1184, %add.ptr.i.i.i.i528 + br i1 %cmp.i.i1190, label %if.then.i1199, label %lor.rhs.i1191 + +lor.rhs.i1191: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i1189 + %_M_storage.i.i.i1192 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i1184, i64 32 + %408 = load ptr, ptr %_M_storage.i.i.i1192, align 8 + %bf.load3.i.i.i1193 = load i64, ptr %408, align 8 + %bf.clear4.i.i.i1194 = and i64 %bf.load3.i.i.i1193, 1099511627775 + %cmp.i.i.i1195 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i1176, %bf.clear4.i.i.i1194 + br i1 %cmp.i.i.i1195, label %if.then.i1199, label %invoke.cont522 + +if.then.i1199: ; preds = %lor.rhs.i1191, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i1189, %for.body519 + %__y.addr.0.lcssa.i.i.i9.i1200 = phi ptr [ %__y.addr.1.i.i.i.i1184, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i1189 ], [ %__y.addr.1.i.i.i.i1184, %lor.rhs.i1191 ], [ %add.ptr.i.i.i.i528, %for.body519 ] + store ptr %_M_storage.i.i1168, ptr %ref.tmp9.i1169, align 8 + %call12.i1202 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St3mapIS3_iSt4lessIS3_ESaIS4_IS5_iEEEESt10_Select1stISC_ES8_SaISC_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESL_IJEEEEESt17_Rb_tree_iteratorISC_ESt23_Rb_tree_const_iteratorISC_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %dni, ptr %__y.addr.0.lcssa.i.i.i9.i1200, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i1169, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i1170) + to label %invoke.cont522 unwind label %lpad355.loopexit + +invoke.cont522: ; preds = %lor.rhs.i1191, %if.then.i1199 + %__i.sroa.0.0.i1197 = phi ptr [ %__y.addr.1.i.i.i.i1184, %lor.rhs.i1191 ], [ %call12.i1202, %if.then.i1199 ] + %second.i1198 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i1197, i64 40 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i1169) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i1170) + %_M_parent.i.i.i.i.i1205 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i1197, i64 56 + %add.ptr.i.i.i.i1206 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i1197, i64 48 + %__x.046.i.i.i = load ptr, ptr %_M_parent.i.i.i.i.i1205, align 8 + %cmp.not47.i.i.i = icmp eq ptr %__x.046.i.i.i, null + br i1 %cmp.not47.i.i.i, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseERS5_.exit.i, label %while.body.lr.ph.i.i.i1207 + +while.body.lr.ph.i.i.i1207: ; preds = %invoke.cont522 + %second525 = getelementptr inbounds i8, ptr %it2.sroa.0.01802, i64 40 + %409 = load ptr, ptr %second525, align 8 + %bf.load3.i.i.i.i.i1208 = load i64, ptr %409, align 8 + %bf.clear4.i.i.i.i.i1209 = and i64 %bf.load3.i.i.i.i.i1208, 1099511627775 + br label %while.body.i.i.i1210 + +while.body.i.i.i1210: ; preds = %if.end19.i.i.i, %while.body.lr.ph.i.i.i1207 + %__x.049.i.i.i = phi ptr [ %__x.046.i.i.i, %while.body.lr.ph.i.i.i1207 ], [ %__x.0.i.i.i, %if.end19.i.i.i ] + %__y.048.i.i.i = phi ptr [ %add.ptr.i.i.i.i1206, %while.body.lr.ph.i.i.i1207 ], [ %__y.1.i.i.i, %if.end19.i.i.i ] + %_M_storage.i.i.i.i.i1211 = getelementptr inbounds i8, ptr %__x.049.i.i.i, i64 32 + %410 = load ptr, ptr %_M_storage.i.i.i.i.i1211, align 8 + %bf.load.i.i.i.i.i1212 = load i64, ptr %410, align 8 + %bf.clear.i.i.i.i.i1213 = and i64 %bf.load.i.i.i.i.i1212, 1099511627775 + %cmp.i.i.i.i.i1214 = icmp samesign ult i64 %bf.clear.i.i.i.i.i1213, %bf.clear4.i.i.i.i.i1209 + br i1 %cmp.i.i.i.i.i1214, label %if.end19.i.i.i, label %if.else.i.i.i1215 + +if.else.i.i.i1215: ; preds = %while.body.i.i.i1210 + %cmp.i.i22.i.i.i = icmp samesign ult i64 %bf.clear4.i.i.i.i.i1209, %bf.clear.i.i.i.i.i1213 + br i1 %cmp.i.i22.i.i.i, label %if.end19.i.i.i, label %if.else12.i.i.i + +if.else12.i.i.i: ; preds = %if.else.i.i.i1215 + %_M_left.i23.i.i.i = getelementptr inbounds i8, ptr %__x.049.i.i.i, i64 16 + %411 = load ptr, ptr %_M_left.i23.i.i.i, align 8 + %_M_right.i24.i.i.i = getelementptr inbounds i8, ptr %__x.049.i.i.i, i64 24 + %412 = load ptr, ptr %_M_right.i24.i.i.i, align 8 + %cmp.not5.i.i.i.i1216 = icmp eq ptr %411, null + br i1 %cmp.not5.i.i.i.i1216, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i, label %while.body.i.i.i.i1217 + +while.body.i.i.i.i1217: ; preds = %if.else12.i.i.i, %while.body.i.i.i.i1217 + %__x.addr.07.i.i.i.i1218 = phi ptr [ %__x.addr.1.i.i.i.i1227, %while.body.i.i.i.i1217 ], [ %411, %if.else12.i.i.i ] + %__y.addr.06.i.i.i.i1219 = phi ptr [ %__y.addr.1.i.i.i.i1224, %while.body.i.i.i.i1217 ], [ %__x.049.i.i.i, %if.else12.i.i.i ] + %_M_storage.i.i.i.i.i.i1220 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i1218, i64 32 + %413 = load ptr, ptr %_M_storage.i.i.i.i.i.i1220, align 8 + %bf.load.i.i.i.i.i.i1221 = load i64, ptr %413, align 8 + %bf.clear.i.i.i.i.i.i1222 = and i64 %bf.load.i.i.i.i.i.i1221, 1099511627775 + %cmp.i.i.i.i.i.i1223 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i1222, %bf.clear4.i.i.i.i.i1209 + %__y.addr.1.i.i.i.i1224 = select i1 %cmp.i.i.i.i.i.i1223, ptr %__y.addr.06.i.i.i.i1219, ptr %__x.addr.07.i.i.i.i1218 + %__x.addr.1.in.v.i.i.i.i1225 = select i1 %cmp.i.i.i.i.i.i1223, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i1226 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i1218, i64 %__x.addr.1.in.v.i.i.i.i1225 + %__x.addr.1.i.i.i.i1227 = load ptr, ptr %__x.addr.1.in.i.i.i.i1226, align 8 + %cmp.not.i.i.i.i1228 = icmp eq ptr %__x.addr.1.i.i.i.i1227, null + br i1 %cmp.not.i.i.i.i1228, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i, label %while.body.i.i.i.i1217, !llvm.loop !233 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i: ; preds = %while.body.i.i.i.i1217, %if.else12.i.i.i + %__y.addr.0.lcssa.i.i.i.i = phi ptr [ %__x.049.i.i.i, %if.else12.i.i.i ], [ %__y.addr.1.i.i.i.i1224, %while.body.i.i.i.i1217 ] + %cmp.not5.i25.i.i.i = icmp eq ptr %412, null + br i1 %cmp.not5.i25.i.i.i, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseERS5_.exit.i, label %while.body.i29.i.i.i + +while.body.i29.i.i.i: ; preds = %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i, %while.body.i29.i.i.i + %__x.addr.07.i30.i.i.i = phi ptr [ %__x.addr.1.i39.i.i.i, %while.body.i29.i.i.i ], [ %412, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i ] + %__y.addr.06.i31.i.i.i = phi ptr [ %__y.addr.1.i36.i.i.i, %while.body.i29.i.i.i ], [ %__y.048.i.i.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i ] + %_M_storage.i.i.i32.i.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i30.i.i.i, i64 32 + %414 = load ptr, ptr %_M_storage.i.i.i32.i.i.i, align 8 + %bf.load3.i.i.i33.i.i.i = load i64, ptr %414, align 8 + %bf.clear4.i.i.i34.i.i.i = and i64 %bf.load3.i.i.i33.i.i.i, 1099511627775 + %cmp.i.i.i35.i.i.i = icmp samesign ult i64 %bf.clear4.i.i.i.i.i1209, %bf.clear4.i.i.i34.i.i.i + %__y.addr.1.i36.i.i.i = select i1 %cmp.i.i.i35.i.i.i, ptr %__x.addr.07.i30.i.i.i, ptr %__y.addr.06.i31.i.i.i + %__x.addr.1.in.v.i37.i.i.i = select i1 %cmp.i.i.i35.i.i.i, i64 16, i64 24 + %__x.addr.1.in.i38.i.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i30.i.i.i, i64 %__x.addr.1.in.v.i37.i.i.i + %__x.addr.1.i39.i.i.i = load ptr, ptr %__x.addr.1.in.i38.i.i.i, align 8 + %cmp.not.i40.i.i.i = icmp eq ptr %__x.addr.1.i39.i.i.i, null + br i1 %cmp.not.i40.i.i.i, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseERS5_.exit.i, label %while.body.i29.i.i.i, !llvm.loop !241 + +if.end19.i.i.i: ; preds = %if.else.i.i.i1215, %while.body.i.i.i1210 + %.sink.i.i.i = phi i64 [ 24, %while.body.i.i.i1210 ], [ 16, %if.else.i.i.i1215 ] + %__y.1.i.i.i = phi ptr [ %__y.048.i.i.i, %while.body.i.i.i1210 ], [ %__x.049.i.i.i, %if.else.i.i.i1215 ] + %_M_left.i.i.i.i = getelementptr inbounds i8, ptr %__x.049.i.i.i, i64 %.sink.i.i.i + %__x.0.i.i.i = load ptr, ptr %_M_left.i.i.i.i, align 8 + %cmp.not.i.i.i1230 = icmp eq ptr %__x.0.i.i.i, null + br i1 %cmp.not.i.i.i1230, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseERS5_.exit.i, label %while.body.i.i.i1210, !llvm.loop !242 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseERS5_.exit.i: ; preds = %if.end19.i.i.i, %while.body.i29.i.i.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i, %invoke.cont522 + %retval.sroa.0.0.i.i.i = phi ptr [ %__y.addr.0.lcssa.i.i.i.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i ], [ %add.ptr.i.i.i.i1206, %invoke.cont522 ], [ %__y.addr.0.lcssa.i.i.i.i, %while.body.i29.i.i.i ], [ %__y.1.i.i.i, %if.end19.i.i.i ] + %retval.sroa.3.0.i.i.i = phi ptr [ %__y.048.i.i.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i ], [ %add.ptr.i.i.i.i1206, %invoke.cont522 ], [ %__y.addr.1.i36.i.i.i, %while.body.i29.i.i.i ], [ %__y.1.i.i.i, %if.end19.i.i.i ] + %_M_node_count.i.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i1197, i64 80 + %_M_left.i.i1514 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i1197, i64 64 + %415 = load ptr, ptr %_M_left.i.i1514, align 8 + %cmp.i.i1515 = icmp eq ptr %retval.sroa.0.0.i.i.i, %415 + %cmp.i1.i = icmp eq ptr %retval.sroa.3.0.i.i.i, %add.ptr.i.i.i.i1206 + %or.cond = select i1 %cmp.i.i1515, i1 %cmp.i1.i, i1 false + br i1 %or.cond, label %if.then.i1531, label %if.else.i1516 + +if.then.i1531: ; preds = %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseERS5_.exit.i + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %second.i1198, ptr noundef %__x.046.i.i.i) + to label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5clearEv.exit.i unwind label %terminate.lpad.i.i1533 + +terminate.lpad.i.i1533: ; preds = %if.then.i1531 + %416 = landingpad { ptr, i32 } + catch ptr null + %417 = extractvalue { ptr, i32 } %416, 0 + call void @__clang_call_terminate(ptr %417) #25 + unreachable + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5clearEv.exit.i: ; preds = %if.then.i1531 + store ptr null, ptr %_M_parent.i.i.i.i.i1205, align 8 + store ptr %add.ptr.i.i.i.i1206, ptr %_M_left.i.i1514, align 8 + %_M_right.i.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i1197, i64 72 + store ptr %add.ptr.i.i.i.i1206, ptr %_M_right.i.i.i, align 8 + store i64 0, ptr %_M_node_count.i.i.i, align 8 + br label %for.inc528 + +if.else.i1516: ; preds = %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseERS5_.exit.i + %cmp.i3.not8.i = icmp eq ptr %retval.sroa.0.0.i.i.i, %retval.sroa.3.0.i.i.i + br i1 %cmp.i3.not8.i, label %for.inc528, label %while.body.i + +while.body.i: ; preds = %if.else.i1516, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E.exit.i + %__first.sroa.0.09.i = phi ptr [ %call.i.i1517, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E.exit.i ], [ %retval.sroa.0.0.i.i.i, %if.else.i1516 ] + %call.i.i1517 = call noundef ptr @_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base(ptr noundef %__first.sroa.0.09.i) #27 + %call.i5.i = call noundef nonnull ptr @_ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_(ptr noundef %__first.sroa.0.09.i, ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i.i.i.i1206) #23 + %_M_storage.i.i.i.i.i1518 = getelementptr inbounds i8, ptr %call.i5.i, i64 32 + %418 = load ptr, ptr %_M_storage.i.i.i.i.i1518, align 8 + %bf.load.i.i.i.i.i.i.i.i.i1519 = load i64, ptr %418, align 8 + %419 = and i64 %bf.load.i.i.i.i.i.i.i.i.i1519, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i1520 = icmp eq i64 %419, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i1520, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E.exit.i, label %if.then.i.i.i.i.i.i.i.i.i1521 + +if.then.i.i.i.i.i.i.i.i.i1521: ; preds = %while.body.i + %bf.value.i.i.i.i.i.i.i.i.i1522 = add i64 %bf.load.i.i.i.i.i.i.i.i.i1519, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i1523 = and i64 %bf.value.i.i.i.i.i.i.i.i.i1522, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i1524 = and i64 %bf.load.i.i.i.i.i.i.i.i.i1519, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i1525 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i1523, %bf.clear7.i.i.i.i.i.i.i.i.i1524 + store i64 %bf.set.i.i.i.i.i.i.i.i.i1525, ptr %418, align 8 + %cmp12.i.i.i.i.i.i.i.i.i1526 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i1523, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i1526, label %if.then13.i.i.i.i.i.i.i.i.i1528, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E.exit.i + +if.then13.i.i.i.i.i.i.i.i.i1528: ; preds = %if.then.i.i.i.i.i.i.i.i.i1521 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %418) + to label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E.exit.i unwind label %terminate.lpad.i.i.i.i.i.i.i.i1529 + +terminate.lpad.i.i.i.i.i.i.i.i1529: ; preds = %if.then13.i.i.i.i.i.i.i.i.i1528 + %420 = landingpad { ptr, i32 } + catch ptr null + %421 = extractvalue { ptr, i32 } %420, 0 + call void @__clang_call_terminate(ptr %421) #25 + unreachable + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E.exit.i: ; preds = %if.then13.i.i.i.i.i.i.i.i.i1528, %if.then.i.i.i.i.i.i.i.i.i1521, %while.body.i + call void @_ZdlPv(ptr noundef nonnull %call.i5.i) #26 + %422 = load i64, ptr %_M_node_count.i.i.i, align 8 + %dec.i.i = add i64 %422, -1 + store i64 %dec.i.i, ptr %_M_node_count.i.i.i, align 8 + %cmp.i3.not.i = icmp eq ptr %call.i.i1517, %retval.sroa.3.0.i.i.i + br i1 %cmp.i3.not.i, label %for.inc528, label %while.body.i, !llvm.loop !296 + +for.inc528: ; preds = %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E.exit.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5clearEv.exit.i, %if.else.i1516 + %call.i1232 = call noundef ptr @_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base(ptr noundef %it2.sroa.0.01802) #27 + %cmp.i1167.not = icmp eq ptr %call.i1232, %142 + br i1 %cmp.i1167.not, label %for.end530, label %for.body519, !llvm.loop !297 + +for.end530: ; preds = %for.inc528, %invoke.cont508 + %423 = load ptr, ptr %split_new_part, align 8 + %424 = load ptr, ptr %_M_finish.i.i774, align 8 + %cmp.not3.i.i.i.i1234 = icmp eq ptr %423, %424 + br i1 %cmp.not3.i.i.i.i1234, label %invoke.cont.i1262, label %for.body.i.i.i.i1235 + +for.body.i.i.i.i1235: ; preds = %for.end530, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1257 + %__first.addr.04.i.i.i.i1236 = phi ptr [ %incdec.ptr.i.i.i.i1258, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1257 ], [ %423, %for.end530 ] + %425 = load ptr, ptr %__first.addr.04.i.i.i.i1236, align 8 + %_M_finish.i.i.i.i.i.i1237 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1236, i64 8 + %426 = load ptr, ptr %_M_finish.i.i.i.i.i.i1237, align 8 + %cmp.not3.i.i.i.i.i.i.i.i.i1238 = icmp eq ptr %425, %426 + br i1 %cmp.not3.i.i.i.i.i.i.i.i.i1238, label %invoke.cont.i.i.i.i.i.i1254, label %for.body.i.i.i.i.i.i.i.i.i1239 + +for.body.i.i.i.i.i.i.i.i.i1239: ; preds = %for.body.i.i.i.i1235, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1249 + %__first.addr.04.i.i.i.i.i.i.i.i.i1240 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i1250, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1249 ], [ %425, %for.body.i.i.i.i1235 ] + %427 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1240, align 8 + %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1241 = load i64, ptr %427, align 8 + %428 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1241, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1242 = icmp eq i64 %428, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1242, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1249, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i1243 + +if.then.i.i.i.i.i.i.i.i.i.i.i.i1243: ; preds = %for.body.i.i.i.i.i.i.i.i.i1239 + %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1244 = add i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1241, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1245 = and i64 %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1244, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1246 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1241, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1247 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1245, %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1246 + store i64 %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1247, ptr %427, align 8 + %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1248 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1245, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1248, label %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1265, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1249 + +if.then13.i.i.i.i.i.i.i.i.i.i.i.i1265: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i1243 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %427) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1249 unwind label %terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1266 + +terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1266: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1265 + %429 = landingpad { ptr, i32 } + catch ptr null + %430 = extractvalue { ptr, i32 } %429, 0 + call void @__clang_call_terminate(ptr %430) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1249: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1265, %if.then.i.i.i.i.i.i.i.i.i.i.i.i1243, %for.body.i.i.i.i.i.i.i.i.i1239 + %incdec.ptr.i.i.i.i.i.i.i.i.i1250 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1240, i64 8 + %cmp.not.i.i.i.i.i.i.i.i.i1251 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i1250, %426 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i1251, label %invoke.contthread-pre-split.i.i.i.i.i.i1252, label %for.body.i.i.i.i.i.i.i.i.i1239, !llvm.loop !21 + +invoke.contthread-pre-split.i.i.i.i.i.i1252: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1249 + %.pr.i.i.i.i.i.i1253 = load ptr, ptr %__first.addr.04.i.i.i.i1236, align 8 + br label %invoke.cont.i.i.i.i.i.i1254 + +invoke.cont.i.i.i.i.i.i1254: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i1252, %for.body.i.i.i.i1235 + %431 = phi ptr [ %.pr.i.i.i.i.i.i1253, %invoke.contthread-pre-split.i.i.i.i.i.i1252 ], [ %425, %for.body.i.i.i.i1235 ] + %tobool.not.i.i.i.i.i.i.i.i1255 = icmp eq ptr %431, null + br i1 %tobool.not.i.i.i.i.i.i.i.i1255, label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1257, label %if.then.i.i.i.i.i.i.i.i1256 + +if.then.i.i.i.i.i.i.i.i1256: ; preds = %invoke.cont.i.i.i.i.i.i1254 + call void @_ZdlPv(ptr noundef nonnull %431) #26 + br label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1257 + +_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1257: ; preds = %if.then.i.i.i.i.i.i.i.i1256, %invoke.cont.i.i.i.i.i.i1254 + %incdec.ptr.i.i.i.i1258 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1236, i64 24 + %cmp.not.i.i.i.i1259 = icmp eq ptr %incdec.ptr.i.i.i.i1258, %424 + br i1 %cmp.not.i.i.i.i1259, label %invoke.contthread-pre-split.i1260, label %for.body.i.i.i.i1235, !llvm.loop !38 + +invoke.contthread-pre-split.i1260: ; preds = %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1257 + %.pr.i1261 = load ptr, ptr %split_new_part, align 8 + br label %invoke.cont.i1262 + +invoke.cont.i1262: ; preds = %invoke.contthread-pre-split.i1260, %for.end530 + %432 = phi ptr [ %.pr.i1261, %invoke.contthread-pre-split.i1260 ], [ %423, %for.end530 ] + %tobool.not.i.i.i1263 = icmp eq ptr %432, null + br i1 %tobool.not.i.i.i1263, label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1267, label %if.then.i.i.i1264 + +if.then.i.i.i1264: ; preds = %invoke.cont.i1262 + call void @_ZdlPv(ptr noundef nonnull %432) #26 + br label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1267 + +_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1267: ; preds = %invoke.cont.i1262, %if.then.i.i.i1264 + %433 = load ptr, ptr %_M_parent.i.i.i.i.i498, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %dni_rem, ptr noundef %433) + to label %for.inc534 unwind label %terminate.lpad.i.i + +terminate.lpad.i.i: ; preds = %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1267 + %434 = landingpad { ptr, i32 } + catch ptr null + %435 = extractvalue { ptr, i32 } %434, 0 + call void @__clang_call_terminate(ptr %435) #25 + unreachable + +ehcleanup531: ; preds = %lpad355.loopexit, %lpad355.loopexit.split-lp, %if.then.i.i.i1152, %invoke.cont.i1150 + %.pn2.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn2.pn.pn.pn, %invoke.cont.i1150 ], [ %.pn2.pn.pn.pn, %if.then.i.i.i1152 ], [ %lpad.loopexit1600, %lpad355.loopexit ], [ %lpad.loopexit.split-lp1601, %lpad355.loopexit.split-lp ] + %436 = load ptr, ptr %split_new_part, align 8 + %437 = load ptr, ptr %_M_finish.i.i774, align 8 + %cmp.not3.i.i.i.i1270 = icmp eq ptr %436, %437 + br i1 %cmp.not3.i.i.i.i1270, label %invoke.cont.i1298, label %for.body.i.i.i.i1271 + +for.body.i.i.i.i1271: ; preds = %ehcleanup531, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1293 + %__first.addr.04.i.i.i.i1272 = phi ptr [ %incdec.ptr.i.i.i.i1294, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1293 ], [ %436, %ehcleanup531 ] + %438 = load ptr, ptr %__first.addr.04.i.i.i.i1272, align 8 + %_M_finish.i.i.i.i.i.i1273 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1272, i64 8 + %439 = load ptr, ptr %_M_finish.i.i.i.i.i.i1273, align 8 + %cmp.not3.i.i.i.i.i.i.i.i.i1274 = icmp eq ptr %438, %439 + br i1 %cmp.not3.i.i.i.i.i.i.i.i.i1274, label %invoke.cont.i.i.i.i.i.i1290, label %for.body.i.i.i.i.i.i.i.i.i1275 + +for.body.i.i.i.i.i.i.i.i.i1275: ; preds = %for.body.i.i.i.i1271, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1285 + %__first.addr.04.i.i.i.i.i.i.i.i.i1276 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i1286, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1285 ], [ %438, %for.body.i.i.i.i1271 ] + %440 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1276, align 8 + %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1277 = load i64, ptr %440, align 8 + %441 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1277, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1278 = icmp eq i64 %441, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1278, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1285, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i1279 + +if.then.i.i.i.i.i.i.i.i.i.i.i.i1279: ; preds = %for.body.i.i.i.i.i.i.i.i.i1275 + %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1280 = add i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1277, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1281 = and i64 %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1280, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1282 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1277, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1283 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1281, %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1282 + store i64 %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1283, ptr %440, align 8 + %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1284 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1281, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1284, label %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1301, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1285 + +if.then13.i.i.i.i.i.i.i.i.i.i.i.i1301: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i1279 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %440) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1285 unwind label %terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1302 + +terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1302: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1301 + %442 = landingpad { ptr, i32 } + catch ptr null + %443 = extractvalue { ptr, i32 } %442, 0 + call void @__clang_call_terminate(ptr %443) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1285: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1301, %if.then.i.i.i.i.i.i.i.i.i.i.i.i1279, %for.body.i.i.i.i.i.i.i.i.i1275 + %incdec.ptr.i.i.i.i.i.i.i.i.i1286 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1276, i64 8 + %cmp.not.i.i.i.i.i.i.i.i.i1287 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i1286, %439 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i1287, label %invoke.contthread-pre-split.i.i.i.i.i.i1288, label %for.body.i.i.i.i.i.i.i.i.i1275, !llvm.loop !21 + +invoke.contthread-pre-split.i.i.i.i.i.i1288: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1285 + %.pr.i.i.i.i.i.i1289 = load ptr, ptr %__first.addr.04.i.i.i.i1272, align 8 + br label %invoke.cont.i.i.i.i.i.i1290 + +invoke.cont.i.i.i.i.i.i1290: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i1288, %for.body.i.i.i.i1271 + %444 = phi ptr [ %.pr.i.i.i.i.i.i1289, %invoke.contthread-pre-split.i.i.i.i.i.i1288 ], [ %438, %for.body.i.i.i.i1271 ] + %tobool.not.i.i.i.i.i.i.i.i1291 = icmp eq ptr %444, null + br i1 %tobool.not.i.i.i.i.i.i.i.i1291, label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1293, label %if.then.i.i.i.i.i.i.i.i1292 + +if.then.i.i.i.i.i.i.i.i1292: ; preds = %invoke.cont.i.i.i.i.i.i1290 + call void @_ZdlPv(ptr noundef nonnull %444) #26 + br label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1293 + +_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1293: ; preds = %if.then.i.i.i.i.i.i.i.i1292, %invoke.cont.i.i.i.i.i.i1290 + %incdec.ptr.i.i.i.i1294 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1272, i64 24 + %cmp.not.i.i.i.i1295 = icmp eq ptr %incdec.ptr.i.i.i.i1294, %437 + br i1 %cmp.not.i.i.i.i1295, label %invoke.contthread-pre-split.i1296, label %for.body.i.i.i.i1271, !llvm.loop !38 + +invoke.contthread-pre-split.i1296: ; preds = %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1293 + %.pr.i1297 = load ptr, ptr %split_new_part, align 8 + br label %invoke.cont.i1298 + +invoke.cont.i1298: ; preds = %invoke.contthread-pre-split.i1296, %ehcleanup531 + %445 = phi ptr [ %.pr.i1297, %invoke.contthread-pre-split.i1296 ], [ %436, %ehcleanup531 ] + %tobool.not.i.i.i1299 = icmp eq ptr %445, null + br i1 %tobool.not.i.i.i1299, label %ehcleanup532, label %if.then.i.i.i1300 + +if.then.i.i.i1300: ; preds = %invoke.cont.i1298 + call void @_ZdlPv(ptr noundef nonnull %445) #26 + br label %ehcleanup532 + +ehcleanup532: ; preds = %if.then.i.i.i1300, %invoke.cont.i1298, %lpad336.body, %lpad334 + %.pn8 = phi { ptr, i32 } [ %eh.lpad-body1343, %lpad336.body ], [ %232, %lpad334 ], [ %.pn2.pn.pn.pn.pn, %invoke.cont.i1298 ], [ %.pn2.pn.pn.pn.pn, %if.then.i.i.i1300 ] + %446 = load ptr, ptr %_M_parent.i.i.i.i.i498, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %dni_rem, ptr noundef %446) + to label %ehcleanup537 unwind label %terminate.lpad.i.i1305 + +terminate.lpad.i.i1305: ; preds = %ehcleanup532 + %447 = landingpad { ptr, i32 } + catch ptr null + %448 = extractvalue { ptr, i32 } %447, 0 + call void @__clang_call_terminate(ptr %448) #25 + unreachable + +for.inc534: ; preds = %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1267, %for.body316 + %call.i1307 = call noundef ptr @_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base(ptr noundef %it308.sroa.0.01804) #27 + %cmp.i491.not = icmp eq ptr %call.i1307, %0 + br i1 %cmp.i491.not, label %for.end536, label %for.body316, !llvm.loop !298 + +for.end536: ; preds = %for.inc534, %for.end307 + %449 = load ptr, ptr %_M_parent.i.i.i.i.i26, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn_cons, ptr noundef %449) + to label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1310 unwind label %terminate.lpad.i.i1309 + +terminate.lpad.i.i1309: ; preds = %for.end536 + %450 = landingpad { ptr, i32 } + catch ptr null + %451 = extractvalue { ptr, i32 } %450, 0 + call void @__clang_call_terminate(ptr %451) #25 + unreachable + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1310: ; preds = %for.end536 + %452 = load ptr, ptr %_M_parent.i.i.i.i.i22, align 8 + invoke void @_ZNSt8_Rb_treeIiSt4pairIKiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS6_EEESt10_Select1stIS9_ESt4lessIiESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E(ptr noundef nonnull align 8 dereferenceable(48) %new_part_rec, ptr noundef %452) + to label %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit unwind label %terminate.lpad.i.i1312 + +terminate.lpad.i.i1312: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1310 + %453 = landingpad { ptr, i32 } + catch ptr null + %454 = extractvalue { ptr, i32 } %453, 0 + call void @__clang_call_terminate(ptr %454) #25 + unreachable + +_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1310 + %455 = load ptr, ptr %_M_parent.i.i.i.i.i18, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St6vectorIS3_SaIS3_EEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E(ptr noundef nonnull align 8 dereferenceable(48) %new_part_c, ptr noundef %455) + to label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit unwind label %terminate.lpad.i.i1314 + +terminate.lpad.i.i1314: ; preds = %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit + %456 = landingpad { ptr, i32 } + catch ptr null + %457 = extractvalue { ptr, i32 } %456, 0 + call void @__clang_call_terminate(ptr %457) #25 + unreachable + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit: ; preds = %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit + %458 = load ptr, ptr %_M_parent.i.i.i.i.i, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St6vectorIS3_SaIS3_EEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E(ptr noundef nonnull align 8 dereferenceable(48) %new_part, ptr noundef %458) + to label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1317 unwind label %terminate.lpad.i.i1316 + +terminate.lpad.i.i1316: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit + %459 = landingpad { ptr, i32 } + catch ptr null + %460 = extractvalue { ptr, i32 } %459, 0 + call void @__clang_call_terminate(ptr %460) #25 + unreachable + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1317: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit + ret void + +ehcleanup537: ; preds = %ehcleanup532, %lpad296, %lpad254, %ehcleanup220, %lpad + %.pn15.pn = phi { ptr, i32 } [ %.pn15, %ehcleanup220 ], [ %27, %lpad ], [ %129, %lpad254 ], [ %140, %lpad296 ], [ %.pn8, %ehcleanup532 ] + %461 = load ptr, ptr %_M_parent.i.i.i.i.i26, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn_cons, ptr noundef %461) + to label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1320 unwind label %terminate.lpad.i.i1319 + +terminate.lpad.i.i1319: ; preds = %ehcleanup537 + %462 = landingpad { ptr, i32 } + catch ptr null + %463 = extractvalue { ptr, i32 } %462, 0 + call void @__clang_call_terminate(ptr %463) #25 + unreachable + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1320: ; preds = %ehcleanup537 + %464 = load ptr, ptr %_M_parent.i.i.i.i.i22, align 8 + invoke void @_ZNSt8_Rb_treeIiSt4pairIKiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS6_EEESt10_Select1stIS9_ESt4lessIiESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E(ptr noundef nonnull align 8 dereferenceable(48) %new_part_rec, ptr noundef %464) + to label %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit1323 unwind label %terminate.lpad.i.i1322 + +terminate.lpad.i.i1322: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1320 + %465 = landingpad { ptr, i32 } + catch ptr null + %466 = extractvalue { ptr, i32 } %465, 0 + call void @__clang_call_terminate(ptr %466) #25 + unreachable + +_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit1323: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1320 + %467 = load ptr, ptr %_M_parent.i.i.i.i.i18, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St6vectorIS3_SaIS3_EEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E(ptr noundef nonnull align 8 dereferenceable(48) %new_part_c, ptr noundef %467) + to label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1326 unwind label %terminate.lpad.i.i1325 + +terminate.lpad.i.i1325: ; preds = %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit1323 + %468 = landingpad { ptr, i32 } + catch ptr null + %469 = extractvalue { ptr, i32 } %468, 0 + call void @__clang_call_terminate(ptr %469) #25 + unreachable + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1326: ; preds = %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit1323 + %470 = load ptr, ptr %_M_parent.i.i.i.i.i, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St6vectorIS3_SaIS3_EEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E(ptr noundef nonnull align 8 dereferenceable(48) %new_part, ptr noundef %470) + to label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1329 unwind label %terminate.lpad.i.i1328 + +terminate.lpad.i.i1328: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1326 + %471 = landingpad { ptr, i32 } + catch ptr null + %472 = extractvalue { ptr, i32 } %471, 0 + call void @__clang_call_terminate(ptr %472) #25 + unreachable + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1329: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1326 + resume { ptr, i32 } %.pn15.pn +} + +; Function Attrs: mustprogress uwtable +define internal fastcc void @_ZN4cvc58internal6theory9datatypes15TheoryDatatypes17separateBisimilarERSt6vectorINS0_12NodeTemplateILb1EEESaIS6_EERS4_IS8_SaIS8_EES9_RSt3mapIS6_S6_St4lessIS6_ESaISt4pairIKS6_S6_EEERSD_IS6_SD_IS6_iSF_SaISG_ISH_iEEESF_SaISG_ISH_SO_EEEib.specialized.2(ptr noundef nonnull align 8 dereferenceable(2008) %this, ptr nocapture noundef nonnull readonly align 8 dereferenceable(24) %part, ptr noundef nonnull align 8 dereferenceable(24) %part_out, ptr noundef nonnull align 8 dereferenceable(24) %exp, ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr noundef nonnull align 8 dereferenceable(48) %dni) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { +entry: + %__second.i.i.i.i.i.i.i1478 = alloca %"class.std::tuple.1060", align 1 + %agg.tmp6.i.i.i.i.i.i1479 = alloca %"class.std::tuple.1066", align 8 + %__second.i.i.i.i.i.i.i1443 = alloca %"class.std::tuple.1060", align 1 + %agg.tmp6.i.i.i.i.i.i1444 = alloca %"class.std::tuple.1066", align 8 + %__second.i.i.i.i.i.i.i1407 = alloca %"class.std::tuple.1060", align 1 + %agg.tmp6.i.i.i.i.i.i1408 = alloca %"class.std::tuple.1066", align 8 + %__second.i.i.i.i.i.i.i1371 = alloca %"class.std::tuple.1060", align 1 + %agg.tmp6.i.i.i.i.i.i1372 = alloca %"class.std::tuple.1066", align 8 + %__z.i = alloca %"struct.std::_Rb_tree, std::pair, int>, std::_Select1st, int>>, std::less>>::_Auto_node", align 8 + %__second.i.i.i.i.i.i.i = alloca %"class.std::tuple.1060", align 1 + %agg.tmp6.i.i.i.i.i.i = alloca %"class.std::tuple.1066", align 8 + %ref.tmp9.i1169 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i1170 = alloca %"class.std::tuple.1060", align 1 + %nb.i.i = alloca %"class.cvc5::internal::NodeBuilder", align 8 + %agg.tmp.i.i = alloca %"class.cvc5::internal::NodeTemplate.733", align 8 + %agg.tmp4.i.i = alloca %"class.cvc5::internal::NodeTemplate.733", align 8 + %agg.tmp.i = alloca %"class.cvc5::internal::NodeTemplate.733", align 8 + %agg.tmp3.i = alloca %"class.cvc5::internal::NodeTemplate.733", align 8 + %ref.tmp9.i736 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i737 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i593 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i594 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i525 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i526 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i362 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i363 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i293 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i294 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i226 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i227 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i156 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i157 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i102 = alloca %"class.std::tuple.1121", align 8 + %ref.tmp10.i103 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i68 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i69 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i34 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i35 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i = alloca %"class.std::tuple.1060", align 1 + %new_part = alloca %"class.std::map.36", align 8 + %new_part_c = alloca %"class.std::map.36", align 8 + %new_part_rec = alloca %"class.std::map.940", align 8 + %cn_cons = alloca %"class.std::map.61", align 8 + %c = alloca %"class.cvc5::internal::NodeTemplate", align 8 + %ref.tmp83 = alloca %"class.cvc5::internal::TypeNode", align 8 + %ncons = alloca %"class.cvc5::internal::NodeTemplate", align 8 + %ref.tmp89 = alloca %"class.cvc5::internal::NodeTemplate.733", align 8 + %agg.tmp = alloca %"class.cvc5::internal::NodeTemplate.733", align 8 + %cc = alloca %"class.cvc5::internal::NodeTemplate", align 8 + %ref.tmp112 = alloca %"class.cvc5::internal::NodeTemplate", align 8 + %vec = alloca %"class.std::vector.525", align 8 + %vec278 = alloca %"class.std::vector.525", align 8 + %dni_rem = alloca %"class.std::map.61", align 8 + %n = alloca %"class.cvc5::internal::NodeTemplate", align 8 + %split_new_part = alloca %"class.std::vector.930", align 8 + %next_split_new_part = alloca %"class.std::vector.930", align 8 + %n407 = alloca %"class.cvc5::internal::NodeTemplate", align 8 + %ref.tmp418 = alloca %"class.cvc5::internal::NodeTemplate.733", align 8 + %ref.tmp438 = alloca %"class.cvc5::internal::NodeTemplate", align 8 + %c_part_out = alloca %"class.std::vector.930", align 8 + %0 = getelementptr inbounds i8, ptr %new_part, i64 8 + store i32 0, ptr %0, align 8 + %_M_parent.i.i.i.i.i = getelementptr inbounds i8, ptr %new_part, i64 16 + store ptr null, ptr %_M_parent.i.i.i.i.i, align 8 + %_M_left.i.i.i.i.i = getelementptr inbounds i8, ptr %new_part, i64 24 + store ptr %0, ptr %_M_left.i.i.i.i.i, align 8 + %_M_right.i.i.i.i.i = getelementptr inbounds i8, ptr %new_part, i64 32 + store ptr %0, ptr %_M_right.i.i.i.i.i, align 8 + %_M_node_count.i.i.i.i.i = getelementptr inbounds i8, ptr %new_part, i64 40 + store i64 0, ptr %_M_node_count.i.i.i.i.i, align 8 + %1 = getelementptr inbounds i8, ptr %new_part_c, i64 8 + store i32 0, ptr %1, align 8 + %_M_parent.i.i.i.i.i18 = getelementptr inbounds i8, ptr %new_part_c, i64 16 + store ptr null, ptr %_M_parent.i.i.i.i.i18, align 8 + %_M_left.i.i.i.i.i19 = getelementptr inbounds i8, ptr %new_part_c, i64 24 + store ptr %1, ptr %_M_left.i.i.i.i.i19, align 8 + %_M_right.i.i.i.i.i20 = getelementptr inbounds i8, ptr %new_part_c, i64 32 + store ptr %1, ptr %_M_right.i.i.i.i.i20, align 8 + %_M_node_count.i.i.i.i.i21 = getelementptr inbounds i8, ptr %new_part_c, i64 40 + store i64 0, ptr %_M_node_count.i.i.i.i.i21, align 8 + %2 = getelementptr inbounds i8, ptr %new_part_rec, i64 8 + store i32 0, ptr %2, align 8 + %_M_parent.i.i.i.i.i22 = getelementptr inbounds i8, ptr %new_part_rec, i64 16 + store ptr null, ptr %_M_parent.i.i.i.i.i22, align 8 + %_M_left.i.i.i.i.i23 = getelementptr inbounds i8, ptr %new_part_rec, i64 24 + store ptr %2, ptr %_M_left.i.i.i.i.i23, align 8 + %_M_right.i.i.i.i.i24 = getelementptr inbounds i8, ptr %new_part_rec, i64 32 + store ptr %2, ptr %_M_right.i.i.i.i.i24, align 8 + %_M_node_count.i.i.i.i.i25 = getelementptr inbounds i8, ptr %new_part_rec, i64 40 + store i64 0, ptr %_M_node_count.i.i.i.i.i25, align 8 + %3 = getelementptr inbounds i8, ptr %cn_cons, i64 8 + store i32 0, ptr %3, align 8 + %_M_parent.i.i.i.i.i26 = getelementptr inbounds i8, ptr %cn_cons, i64 16 + store ptr null, ptr %_M_parent.i.i.i.i.i26, align 8 + %_M_left.i.i.i.i.i27 = getelementptr inbounds i8, ptr %cn_cons, i64 24 + store ptr %3, ptr %_M_left.i.i.i.i.i27, align 8 + %_M_right.i.i.i.i.i28 = getelementptr inbounds i8, ptr %cn_cons, i64 32 + store ptr %3, ptr %_M_right.i.i.i.i.i28, align 8 + %_M_node_count.i.i.i.i.i29 = getelementptr inbounds i8, ptr %cn_cons, i64 40 + store i64 0, ptr %_M_node_count.i.i.i.i.i29, align 8 + %_M_finish.i = getelementptr inbounds i8, ptr %part, i64 8 + %4 = load ptr, ptr %_M_finish.i, align 8 + %5 = load ptr, ptr %part, align 8 + %cmp271767.not = icmp eq ptr %4, %5 + br i1 %cmp271767.not, label %for.end263, label %for.body28.lr.ph + +for.body28.lr.ph: ; preds = %entry + %_M_parent.i.i.i.i.i30 = getelementptr inbounds i8, ptr %cn, i64 16 + %add.ptr.i.i.i.i = getelementptr inbounds i8, ptr %cn, i64 8 + %_M_parent.i.i.i.i.i36 = getelementptr inbounds i8, ptr %dni, i64 16 + %add.ptr.i.i.i.i37 = getelementptr inbounds i8, ptr %dni, i64 8 + %_M_finish.i.i = getelementptr inbounds i8, ptr %exp, i64 8 + %_M_end_of_storage.i.i = getelementptr inbounds i8, ptr %exp, i64 16 + br label %for.body28 + +for.body28: ; preds = %for.body28.lr.ph, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430 + %6 = phi ptr [ %5, %for.body28.lr.ph ], [ %119, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430 ] + %conv251769 = phi i64 [ 0, %for.body28.lr.ph ], [ %conv25, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430 ] + %j.01768 = phi i32 [ 0, %for.body28.lr.ph ], [ %inc222, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430 ] + %add.ptr.i = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %6, i64 %conv251769 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i) + %7 = load ptr, ptr %_M_parent.i.i.i.i.i30, align 8 + %cmp.not5.i.i.i.i = icmp eq ptr %7, null + br i1 %cmp.not5.i.i.i.i, label %if.then.i, label %while.body.lr.ph.i.i.i.i + +while.body.lr.ph.i.i.i.i: ; preds = %for.body28 + %8 = load ptr, ptr %add.ptr.i, align 8 + %bf.load3.i.i.i.i.i.i = load i64, ptr %8, align 8 + %bf.clear4.i.i.i.i.i.i = and i64 %bf.load3.i.i.i.i.i.i, 1099511627775 + br label %while.body.i.i.i.i + +while.body.i.i.i.i: ; preds = %while.body.i.i.i.i, %while.body.lr.ph.i.i.i.i + %__x.addr.07.i.i.i.i = phi ptr [ %7, %while.body.lr.ph.i.i.i.i ], [ %__x.addr.1.i.i.i.i, %while.body.i.i.i.i ] + %__y.addr.06.i.i.i.i = phi ptr [ %add.ptr.i.i.i.i, %while.body.lr.ph.i.i.i.i ], [ %__y.addr.1.i.i.i.i, %while.body.i.i.i.i ] + %_M_storage.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i, i64 32 + %9 = load ptr, ptr %_M_storage.i.i.i.i.i.i, align 8 + %bf.load.i.i.i.i.i.i = load i64, ptr %9, align 8 + %bf.clear.i.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i.i, 1099511627775 + %cmp.i.i.i.i.i.i = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i, %bf.clear4.i.i.i.i.i.i + %__y.addr.1.i.i.i.i = select i1 %cmp.i.i.i.i.i.i, ptr %__y.addr.06.i.i.i.i, ptr %__x.addr.07.i.i.i.i + %__x.addr.1.in.v.i.i.i.i = select i1 %cmp.i.i.i.i.i.i, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i, i64 %__x.addr.1.in.v.i.i.i.i + %__x.addr.1.i.i.i.i = load ptr, ptr %__x.addr.1.in.i.i.i.i, align 8 + %cmp.not.i.i.i.i = icmp eq ptr %__x.addr.1.i.i.i.i, null + br i1 %cmp.not.i.i.i.i, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i, label %while.body.i.i.i.i, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i: ; preds = %while.body.i.i.i.i + %cmp.i.i = icmp eq ptr %__y.addr.1.i.i.i.i, %add.ptr.i.i.i.i + br i1 %cmp.i.i, label %if.then.i, label %lor.rhs.i + +lor.rhs.i: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i + %_M_storage.i.i.i = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i, i64 32 + %10 = load ptr, ptr %_M_storage.i.i.i, align 8 + %bf.load3.i.i.i = load i64, ptr %10, align 8 + %bf.clear4.i.i.i = and i64 %bf.load3.i.i.i, 1099511627775 + %cmp.i.i.i = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i, %bf.clear4.i.i.i + br i1 %cmp.i.i.i, label %if.then.i, label %invoke.cont + +if.then.i: ; preds = %lor.rhs.i, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i, %for.body28 + %__y.addr.0.lcssa.i.i.i9.i = phi ptr [ %__y.addr.1.i.i.i.i, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i ], [ %__y.addr.1.i.i.i.i, %lor.rhs.i ], [ %add.ptr.i.i.i.i, %for.body28 ] + store ptr %add.ptr.i, ptr %ref.tmp9.i, align 8 + %call12.i31 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESH_IJEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr %__y.addr.0.lcssa.i.i.i9.i, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i) + to label %invoke.cont unwind label %lpad + +invoke.cont: ; preds = %lor.rhs.i, %if.then.i + %__i.sroa.0.0.i = phi ptr [ %__y.addr.1.i.i.i.i, %lor.rhs.i ], [ %call12.i31, %if.then.i ] + %second.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i, i64 40 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i) + %11 = load ptr, ptr %second.i, align 8 + store ptr %11, ptr %c, align 8 + %bf.load.i.i = load i64, ptr %11, align 8 + %bf.lshr.i.i = lshr i64 %bf.load.i.i, 40 + %12 = trunc nuw nsw i64 %bf.lshr.i.i to i32 + %bf.cast.i.i = and i32 %12, 1048575 + %cmp.i.i32 = icmp samesign ult i32 %bf.cast.i.i, 1048574 + br i1 %cmp.i.i32, label %if.then.i.i, label %if.else.i.i + +if.then.i.i: ; preds = %invoke.cont + %bf.value.i.i = add i64 %bf.load.i.i, 1099511627776 + %bf.shl.i.i = and i64 %bf.value.i.i, 1152920405095219200 + %bf.clear7.i.i = and i64 %bf.load.i.i, -1152920405095219201 + %bf.set.i.i = or disjoint i64 %bf.shl.i.i, %bf.clear7.i.i + store i64 %bf.set.i.i, ptr %11, align 8 + br label %invoke.cont32 + +if.else.i.i: ; preds = %invoke.cont + %cmp12.i.i = icmp eq i32 %bf.cast.i.i, 1048574 + br i1 %cmp12.i.i, label %if.then13.i.i, label %invoke.cont32 + +if.then13.i.i: ; preds = %if.else.i.i + %bf.set23.i.i = or i64 %bf.load.i.i, 1152920405095219200 + store i64 %bf.set23.i.i, ptr %11, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %11) + to label %invoke.cont32 unwind label %lpad + +invoke.cont32: ; preds = %if.else.i.i, %if.then.i.i, %if.then13.i.i + %13 = load ptr, ptr %part, align 8 + %add.ptr.i33 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %13, i64 %conv251769 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i34) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i35) + %14 = load ptr, ptr %_M_parent.i.i.i.i.i36, align 8 + %cmp.not5.i.i.i.i38 = icmp eq ptr %14, null + br i1 %cmp.not5.i.i.i.i38, label %if.then.i62, label %while.body.lr.ph.i.i.i.i39 + +while.body.lr.ph.i.i.i.i39: ; preds = %invoke.cont32 + %15 = load ptr, ptr %add.ptr.i33, align 8 + %bf.load3.i.i.i.i.i.i40 = load i64, ptr %15, align 8 + %bf.clear4.i.i.i.i.i.i41 = and i64 %bf.load3.i.i.i.i.i.i40, 1099511627775 + br label %while.body.i.i.i.i42 + +while.body.i.i.i.i42: ; preds = %while.body.i.i.i.i42, %while.body.lr.ph.i.i.i.i39 + %__x.addr.07.i.i.i.i43 = phi ptr [ %14, %while.body.lr.ph.i.i.i.i39 ], [ %__x.addr.1.i.i.i.i52, %while.body.i.i.i.i42 ] + %__y.addr.06.i.i.i.i44 = phi ptr [ %add.ptr.i.i.i.i37, %while.body.lr.ph.i.i.i.i39 ], [ %__y.addr.1.i.i.i.i49, %while.body.i.i.i.i42 ] + %_M_storage.i.i.i.i.i.i45 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i43, i64 32 + %16 = load ptr, ptr %_M_storage.i.i.i.i.i.i45, align 8 + %bf.load.i.i.i.i.i.i46 = load i64, ptr %16, align 8 + %bf.clear.i.i.i.i.i.i47 = and i64 %bf.load.i.i.i.i.i.i46, 1099511627775 + %cmp.i.i.i.i.i.i48 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i47, %bf.clear4.i.i.i.i.i.i41 + %__y.addr.1.i.i.i.i49 = select i1 %cmp.i.i.i.i.i.i48, ptr %__y.addr.06.i.i.i.i44, ptr %__x.addr.07.i.i.i.i43 + %__x.addr.1.in.v.i.i.i.i50 = select i1 %cmp.i.i.i.i.i.i48, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i51 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i43, i64 %__x.addr.1.in.v.i.i.i.i50 + %__x.addr.1.i.i.i.i52 = load ptr, ptr %__x.addr.1.in.i.i.i.i51, align 8 + %cmp.not.i.i.i.i53 = icmp eq ptr %__x.addr.1.i.i.i.i52, null + br i1 %cmp.not.i.i.i.i53, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i, label %while.body.i.i.i.i42, !llvm.loop !275 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i: ; preds = %while.body.i.i.i.i42 + %cmp.i.i54 = icmp eq ptr %__y.addr.1.i.i.i.i49, %add.ptr.i.i.i.i37 + br i1 %cmp.i.i54, label %if.then.i62, label %lor.rhs.i55 + +lor.rhs.i55: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i + %_M_storage.i.i.i56 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i49, i64 32 + %17 = load ptr, ptr %_M_storage.i.i.i56, align 8 + %bf.load3.i.i.i57 = load i64, ptr %17, align 8 + %bf.clear4.i.i.i58 = and i64 %bf.load3.i.i.i57, 1099511627775 + %cmp.i.i.i59 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i41, %bf.clear4.i.i.i58 + br i1 %cmp.i.i.i59, label %if.then.i62, label %invoke.cont36 + +if.then.i62: ; preds = %lor.rhs.i55, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i, %invoke.cont32 + %__y.addr.0.lcssa.i.i.i9.i63 = phi ptr [ %__y.addr.1.i.i.i.i49, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i ], [ %__y.addr.1.i.i.i.i49, %lor.rhs.i55 ], [ %add.ptr.i.i.i.i37, %invoke.cont32 ] + store ptr %add.ptr.i33, ptr %ref.tmp9.i34, align 8 + %call12.i65 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St3mapIS3_iSt4lessIS3_ESaIS4_IS5_iEEEESt10_Select1stISC_ES8_SaISC_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESL_IJEEEEESt17_Rb_tree_iteratorISC_ESt23_Rb_tree_const_iteratorISC_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %dni, ptr %__y.addr.0.lcssa.i.i.i9.i63, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i34, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i35) + to label %invoke.cont36 unwind label %lpad35 + +invoke.cont36: ; preds = %lor.rhs.i55, %if.then.i62 + %__i.sroa.0.0.i60 = phi ptr [ %__y.addr.1.i.i.i.i49, %lor.rhs.i55 ], [ %call12.i65, %if.then.i62 ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i34) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i35) + %_M_parent.i.i.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i60, i64 56 + %18 = load ptr, ptr %_M_parent.i.i.i.i, align 8 + %add.ptr.i.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i60, i64 48 + %cmp.not5.i.i.i = icmp eq ptr %18, null + br i1 %cmp.not5.i.i.i, label %invoke.cont38, label %while.body.lr.ph.i.i.i + +while.body.lr.ph.i.i.i: ; preds = %invoke.cont36 + %19 = load ptr, ptr %c, align 8 + %bf.load3.i.i.i.i.i = load i64, ptr %19, align 8 + %bf.clear4.i.i.i.i.i = and i64 %bf.load3.i.i.i.i.i, 1099511627775 + br label %while.body.i.i.i + +while.body.i.i.i: ; preds = %while.body.i.i.i, %while.body.lr.ph.i.i.i + %__x.addr.07.i.i.i = phi ptr [ %18, %while.body.lr.ph.i.i.i ], [ %__x.addr.1.i.i.i, %while.body.i.i.i ] + %__y.addr.06.i.i.i = phi ptr [ %add.ptr.i.i.i, %while.body.lr.ph.i.i.i ], [ %__y.addr.1.i.i.i, %while.body.i.i.i ] + %_M_storage.i.i.i.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i, i64 32 + %20 = load ptr, ptr %_M_storage.i.i.i.i.i, align 8 + %bf.load.i.i.i.i.i = load i64, ptr %20, align 8 + %bf.clear.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i, 1099511627775 + %cmp.i.i.i.i.i = icmp samesign ult i64 %bf.clear.i.i.i.i.i, %bf.clear4.i.i.i.i.i + %__y.addr.1.i.i.i = select i1 %cmp.i.i.i.i.i, ptr %__y.addr.06.i.i.i, ptr %__x.addr.07.i.i.i + %__x.addr.1.in.v.i.i.i = select i1 %cmp.i.i.i.i.i, i64 24, i64 16 + %__x.addr.1.in.i.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i, i64 %__x.addr.1.in.v.i.i.i + %__x.addr.1.i.i.i = load ptr, ptr %__x.addr.1.in.i.i.i, align 8 + %cmp.not.i.i.i = icmp eq ptr %__x.addr.1.i.i.i, null + br i1 %cmp.not.i.i.i, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i, label %while.body.i.i.i, !llvm.loop !233 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i: ; preds = %while.body.i.i.i + %cmp.i.i.i66 = icmp eq ptr %__y.addr.1.i.i.i, %add.ptr.i.i.i + br i1 %cmp.i.i.i66, label %invoke.cont38, label %lor.lhs.false.i.i + +lor.lhs.false.i.i: ; preds = %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i + %_M_storage.i.i.i3.i.i = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i, i64 32 + %21 = load ptr, ptr %_M_storage.i.i.i3.i.i, align 8 + %bf.load3.i.i.i.i = load i64, ptr %21, align 8 + %bf.clear4.i.i.i.i = and i64 %bf.load3.i.i.i.i, 1099511627775 + %cmp.i.i.i.i = icmp samesign ult i64 %bf.clear4.i.i.i.i.i, %bf.clear4.i.i.i.i + %spec.select.i.i = select i1 %cmp.i.i.i.i, ptr %add.ptr.i.i.i, ptr %__y.addr.1.i.i.i + br label %invoke.cont38 + +invoke.cont38: ; preds = %lor.lhs.false.i.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i, %invoke.cont36 + %retval.sroa.0.0.i.i = phi ptr [ %add.ptr.i.i.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i ], [ %add.ptr.i.i.i, %invoke.cont36 ], [ %spec.select.i.i, %lor.lhs.false.i.i ] + %22 = load ptr, ptr %part, align 8 + %add.ptr.i67 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %22, i64 %conv251769 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i68) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i69) + %23 = load ptr, ptr %_M_parent.i.i.i.i.i36, align 8 + %cmp.not5.i.i.i.i72 = icmp eq ptr %23, null + br i1 %cmp.not5.i.i.i.i72, label %if.then.i97, label %while.body.lr.ph.i.i.i.i73 + +while.body.lr.ph.i.i.i.i73: ; preds = %invoke.cont38 + %24 = load ptr, ptr %add.ptr.i67, align 8 + %bf.load3.i.i.i.i.i.i74 = load i64, ptr %24, align 8 + %bf.clear4.i.i.i.i.i.i75 = and i64 %bf.load3.i.i.i.i.i.i74, 1099511627775 + br label %while.body.i.i.i.i76 + +while.body.i.i.i.i76: ; preds = %while.body.i.i.i.i76, %while.body.lr.ph.i.i.i.i73 + %__x.addr.07.i.i.i.i77 = phi ptr [ %23, %while.body.lr.ph.i.i.i.i73 ], [ %__x.addr.1.i.i.i.i86, %while.body.i.i.i.i76 ] + %__y.addr.06.i.i.i.i78 = phi ptr [ %add.ptr.i.i.i.i37, %while.body.lr.ph.i.i.i.i73 ], [ %__y.addr.1.i.i.i.i83, %while.body.i.i.i.i76 ] + %_M_storage.i.i.i.i.i.i79 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i77, i64 32 + %25 = load ptr, ptr %_M_storage.i.i.i.i.i.i79, align 8 + %bf.load.i.i.i.i.i.i80 = load i64, ptr %25, align 8 + %bf.clear.i.i.i.i.i.i81 = and i64 %bf.load.i.i.i.i.i.i80, 1099511627775 + %cmp.i.i.i.i.i.i82 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i81, %bf.clear4.i.i.i.i.i.i75 + %__y.addr.1.i.i.i.i83 = select i1 %cmp.i.i.i.i.i.i82, ptr %__y.addr.06.i.i.i.i78, ptr %__x.addr.07.i.i.i.i77 + %__x.addr.1.in.v.i.i.i.i84 = select i1 %cmp.i.i.i.i.i.i82, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i85 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i77, i64 %__x.addr.1.in.v.i.i.i.i84 + %__x.addr.1.i.i.i.i86 = load ptr, ptr %__x.addr.1.in.i.i.i.i85, align 8 + %cmp.not.i.i.i.i87 = icmp eq ptr %__x.addr.1.i.i.i.i86, null + br i1 %cmp.not.i.i.i.i87, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i88, label %while.body.i.i.i.i76, !llvm.loop !275 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i88: ; preds = %while.body.i.i.i.i76 + %cmp.i.i89 = icmp eq ptr %__y.addr.1.i.i.i.i83, %add.ptr.i.i.i.i37 + br i1 %cmp.i.i89, label %if.then.i97, label %lor.rhs.i90 + +lor.rhs.i90: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i88 + %_M_storage.i.i.i91 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i83, i64 32 + %26 = load ptr, ptr %_M_storage.i.i.i91, align 8 + %bf.load3.i.i.i92 = load i64, ptr %26, align 8 + %bf.clear4.i.i.i93 = and i64 %bf.load3.i.i.i92, 1099511627775 + %cmp.i.i.i94 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i75, %bf.clear4.i.i.i93 + br i1 %cmp.i.i.i94, label %if.then.i97, label %invoke.cont43 + +if.then.i97: ; preds = %lor.rhs.i90, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i88, %invoke.cont38 + %__y.addr.0.lcssa.i.i.i9.i98 = phi ptr [ %__y.addr.1.i.i.i.i83, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i88 ], [ %__y.addr.1.i.i.i.i83, %lor.rhs.i90 ], [ %add.ptr.i.i.i.i37, %invoke.cont38 ] + store ptr %add.ptr.i67, ptr %ref.tmp9.i68, align 8 + %call12.i100 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St3mapIS3_iSt4lessIS3_ESaIS4_IS5_iEEEESt10_Select1stISC_ES8_SaISC_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESL_IJEEEEESt17_Rb_tree_iteratorISC_ESt23_Rb_tree_const_iteratorISC_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %dni, ptr %__y.addr.0.lcssa.i.i.i9.i98, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i68, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i69) + to label %invoke.cont43 unwind label %lpad35 + +invoke.cont43: ; preds = %lor.rhs.i90, %if.then.i97 + %__i.sroa.0.0.i95 = phi ptr [ %__y.addr.1.i.i.i.i83, %lor.rhs.i90 ], [ %call12.i100, %if.then.i97 ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i68) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i69) + %add.ptr.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i95, i64 48 + %cmp.i.not = icmp eq ptr %retval.sroa.0.0.i.i, %add.ptr.i.i + br i1 %cmp.i.not, label %if.else, label %if.end75 + +lpad: ; preds = %if.then13.i.i, %if.then.i + %27 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup537 + +lpad35: ; preds = %if.else.i416.invoke, %if.then13.i.i.i.i.i409, %if.then.i391, %if.then13.i.i.i.i.i, %if.then.i123, %if.then.i97, %if.then.i62, %if.else + %28 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup220 + +if.end75: ; preds = %invoke.cont43 + %second77 = getelementptr inbounds i8, ptr %retval.sroa.0.0.i.i, i64 40 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i102) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i103) + %29 = load ptr, ptr %_M_parent.i.i.i.i.i22, align 8 + %cmp.not5.i.i.i.i106 = icmp eq ptr %29, null + br i1 %cmp.not5.i.i.i.i106, label %if.then.i123, label %while.body.lr.ph.i.i.i.i107 + +while.body.lr.ph.i.i.i.i107: ; preds = %if.end75 + %30 = load i32, ptr %second77, align 4 + br label %while.body.i.i.i.i108 + +while.body.i.i.i.i108: ; preds = %while.body.i.i.i.i108, %while.body.lr.ph.i.i.i.i107 + %__x.addr.07.i.i.i.i109 = phi ptr [ %29, %while.body.lr.ph.i.i.i.i107 ], [ %__x.addr.1.i.i.i.i116, %while.body.i.i.i.i108 ] + %__y.addr.06.i.i.i.i110 = phi ptr [ %2, %while.body.lr.ph.i.i.i.i107 ], [ %__y.addr.1.i.i.i.i113, %while.body.i.i.i.i108 ] + %_M_storage.i.i.i.i.i.i111 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i109, i64 32 + %31 = load i32, ptr %_M_storage.i.i.i.i.i.i111, align 4 + %cmp.i.i.i.i.i112 = icmp slt i32 %31, %30 + %__y.addr.1.i.i.i.i113 = select i1 %cmp.i.i.i.i.i112, ptr %__y.addr.06.i.i.i.i110, ptr %__x.addr.07.i.i.i.i109 + %__x.addr.1.in.v.i.i.i.i114 = select i1 %cmp.i.i.i.i.i112, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i115 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i109, i64 %__x.addr.1.in.v.i.i.i.i114 + %__x.addr.1.i.i.i.i116 = load ptr, ptr %__x.addr.1.in.i.i.i.i115, align 8 + %cmp.not.i.i.i.i117 = icmp eq ptr %__x.addr.1.i.i.i.i116, null + br i1 %cmp.not.i.i.i.i117, label %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEE11lower_boundERSA_.exit.i, label %while.body.i.i.i.i108, !llvm.loop !276 + +_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEE11lower_boundERSA_.exit.i: ; preds = %while.body.i.i.i.i108 + %cmp.i.i118 = icmp eq ptr %__y.addr.1.i.i.i.i113, %2 + br i1 %cmp.i.i118, label %if.then.i123, label %lor.rhs.i119 + +lor.rhs.i119: ; preds = %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEE11lower_boundERSA_.exit.i + %__y.addr.1.i.i.i.i113.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i112, ptr %__y.addr.06.i.i.i.i110, ptr %__x.addr.07.i.i.i.i109 + %__y.addr.1.i.i.i.i113.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i113.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %32 = load i32, ptr %__y.addr.1.i.i.i.i113.sroa.sel.v.sroa.sel.v.sroa.sel, align 4 + %cmp.i3.i = icmp slt i32 %30, %32 + br i1 %cmp.i3.i, label %if.then.i123, label %invoke.cont78 + +if.then.i123: ; preds = %lor.rhs.i119, %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEE11lower_boundERSA_.exit.i, %if.end75 + %__y.addr.0.lcssa.i.i.i10.i = phi ptr [ %__y.addr.1.i.i.i.i113, %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEE11lower_boundERSA_.exit.i ], [ %__y.addr.1.i.i.i.i113, %lor.rhs.i119 ], [ %2, %if.end75 ] + store ptr %second77, ptr %ref.tmp9.i102, align 8 + %call12.i125 = invoke ptr @_ZNSt8_Rb_treeIiSt4pairIKiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS6_EEESt10_Select1stIS9_ESt4lessIiESaIS9_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESK_IJEEEEESt17_Rb_tree_iteratorIS9_ESt23_Rb_tree_const_iteratorIS9_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %new_part_rec, ptr %__y.addr.0.lcssa.i.i.i10.i, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i102, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i103) + to label %invoke.cont78 unwind label %lpad35 + +invoke.cont78: ; preds = %lor.rhs.i119, %if.then.i123 + %__i.sroa.0.0.i121 = phi ptr [ %__y.addr.1.i.i.i.i113, %lor.rhs.i119 ], [ %call12.i125, %if.then.i123 ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i102) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i103) + %33 = load ptr, ptr %part, align 8 + %add.ptr.i126 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %33, i64 %conv251769 + %_M_finish.i127 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i121, i64 48 + %34 = load ptr, ptr %_M_finish.i127, align 8 + %_M_end_of_storage.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i121, i64 56 + %35 = load ptr, ptr %_M_end_of_storage.i, align 8 + %cmp.not.i = icmp eq ptr %34, %35 + br i1 %cmp.not.i, label %if.else.i416.invoke, label %if.then.i128 + +if.then.i128: ; preds = %invoke.cont78 + %36 = load ptr, ptr %add.ptr.i126, align 8 + store ptr %36, ptr %34, align 8 + %bf.load.i.i.i.i.i129 = load i64, ptr %36, align 8 + %bf.lshr.i.i.i.i.i = lshr i64 %bf.load.i.i.i.i.i129, 40 + %37 = trunc nuw nsw i64 %bf.lshr.i.i.i.i.i to i32 + %bf.cast.i.i.i.i.i = and i32 %37, 1048575 + %cmp.i.i.i.i.i130 = icmp samesign ult i32 %bf.cast.i.i.i.i.i, 1048574 + br i1 %cmp.i.i.i.i.i130, label %if.then.i.i.i.i.i, label %if.else.i.i.i.i.i + +if.then.i.i.i.i.i: ; preds = %if.then.i128 + %bf.value.i.i.i.i.i = add i64 %bf.load.i.i.i.i.i129, 1099511627776 + %bf.shl.i.i.i.i.i = and i64 %bf.value.i.i.i.i.i, 1152920405095219200 + %bf.clear7.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i129, -1152920405095219201 + %bf.set.i.i.i.i.i = or disjoint i64 %bf.shl.i.i.i.i.i, %bf.clear7.i.i.i.i.i + store i64 %bf.set.i.i.i.i.i, ptr %36, align 8 + br label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i + +if.else.i.i.i.i.i: ; preds = %if.then.i128 + %cmp12.i.i.i.i.i = icmp eq i32 %bf.cast.i.i.i.i.i, 1048574 + br i1 %cmp12.i.i.i.i.i, label %if.then13.i.i.i.i.i, label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i + +if.then13.i.i.i.i.i: ; preds = %if.else.i.i.i.i.i + %bf.set23.i.i.i.i.i = or i64 %bf.load.i.i.i.i.i129, 1152920405095219200 + store i64 %bf.set23.i.i.i.i.i, ptr %36, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %36) + to label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i unwind label %lpad35 + +_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i: ; preds = %if.then13.i.i.i.i.i, %if.else.i.i.i.i.i, %if.then.i.i.i.i.i + %38 = load ptr, ptr %_M_finish.i127, align 8 + %incdec.ptr.i = getelementptr inbounds i8, ptr %38, i64 8 + store ptr %incdec.ptr.i, ptr %_M_finish.i127, align 8 + br label %if.end219 + +if.else: ; preds = %invoke.cont43 + invoke void @_ZNK4cvc58internal12NodeTemplateILb1EE7getTypeEb(ptr nonnull sret(%"class.cvc5::internal::TypeNode") align 8 %ref.tmp83, ptr noundef nonnull align 8 dereferenceable(8) %c, i1 noundef zeroext false) + to label %invoke.cont84 unwind label %lpad35 + +invoke.cont84: ; preds = %if.else + %call87 = invoke noundef zeroext i1 @_ZNK4cvc58internal8TypeNode10isDatatypeEv(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp83) + to label %invoke.cont86 unwind label %lpad85 + +invoke.cont86: ; preds = %invoke.cont84 + %39 = load ptr, ptr %ref.tmp83, align 8 + %bf.load.i.i133 = load i64, ptr %39, align 8 + %40 = and i64 %bf.load.i.i133, 1152920405095219200 + %cmp.not.i.i = icmp eq i64 %40, 1152920405095219200 + br i1 %cmp.not.i.i, label %_ZN4cvc58internal8TypeNodeD2Ev.exit, label %if.then.i.i134 + +if.then.i.i134: ; preds = %invoke.cont86 + %bf.value.i.i135 = add i64 %bf.load.i.i133, 1152920405095219200 + %bf.shl.i.i136 = and i64 %bf.value.i.i135, 1152920405095219200 + %bf.clear7.i.i137 = and i64 %bf.load.i.i133, -1152920405095219201 + %bf.set.i.i138 = or disjoint i64 %bf.shl.i.i136, %bf.clear7.i.i137 + store i64 %bf.set.i.i138, ptr %39, align 8 + %cmp12.i.i139 = icmp eq i64 %bf.shl.i.i136, 0 + br i1 %cmp12.i.i139, label %if.then13.i.i140, label %_ZN4cvc58internal8TypeNodeD2Ev.exit + +if.then13.i.i140: ; preds = %if.then.i.i134 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %39) + to label %_ZN4cvc58internal8TypeNodeD2Ev.exit unwind label %terminate.lpad.i + +terminate.lpad.i: ; preds = %if.then13.i.i140 + %41 = landingpad { ptr, i32 } + catch ptr null + %42 = extractvalue { ptr, i32 } %41, 0 + call void @__clang_call_terminate(ptr %42) #25 + unreachable + +_ZN4cvc58internal8TypeNodeD2Ev.exit: ; preds = %invoke.cont86, %if.then.i.i134, %if.then13.i.i140 + br i1 %call87, label %if.then88, label %if.end212 + +if.then88: ; preds = %_ZN4cvc58internal8TypeNodeD2Ev.exit + %43 = load ptr, ptr %c, align 8 + store ptr %43, ptr %agg.tmp, align 8 + invoke void @_ZN4cvc58internal6theory9datatypes15TheoryDatatypes17getEqcConstructorENS0_12NodeTemplateILb0EEE(ptr nonnull sret(%"class.cvc5::internal::NodeTemplate.733") align 8 %ref.tmp89, ptr noundef nonnull align 8 dereferenceable(2008) %this, ptr noundef nonnull %agg.tmp) + to label %invoke.cont92 unwind label %lpad91 + +invoke.cont92: ; preds = %if.then88 + %44 = load ptr, ptr %ref.tmp89, align 8 + store ptr %44, ptr %ncons, align 8 + %bf.load.i.i141 = load i64, ptr %44, align 8 + %bf.lshr.i.i142 = lshr i64 %bf.load.i.i141, 40 + %45 = trunc nuw nsw i64 %bf.lshr.i.i142 to i32 + %bf.cast.i.i143 = and i32 %45, 1048575 + %cmp.i.i144 = icmp samesign ult i32 %bf.cast.i.i143, 1048574 + br i1 %cmp.i.i144, label %if.then.i.i149, label %if.else.i.i145 + +if.then.i.i149: ; preds = %invoke.cont92 + %bf.value.i.i150 = add i64 %bf.load.i.i141, 1099511627776 + %bf.shl.i.i151 = and i64 %bf.value.i.i150, 1152920405095219200 + %bf.clear7.i.i152 = and i64 %bf.load.i.i141, -1152920405095219201 + %bf.set.i.i153 = or disjoint i64 %bf.shl.i.i151, %bf.clear7.i.i152 + store i64 %bf.set.i.i153, ptr %44, align 8 + br label %invoke.cont94 + +if.else.i.i145: ; preds = %invoke.cont92 + %cmp12.i.i146 = icmp eq i32 %bf.cast.i.i143, 1048574 + br i1 %cmp12.i.i146, label %if.then13.i.i147, label %invoke.cont94 + +if.then13.i.i147: ; preds = %if.else.i.i145 + %bf.set23.i.i148 = or i64 %bf.load.i.i141, 1152920405095219200 + store i64 %bf.set23.i.i148, ptr %44, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %44) + to label %invoke.cont94 unwind label %lpad93 + +invoke.cont94: ; preds = %if.else.i.i145, %if.then.i.i149, %if.then13.i.i147 + %46 = load ptr, ptr %ncons, align 8 + %d_kind.i = getelementptr inbounds i8, ptr %46, i64 8 + %bf.load.i = load i16, ptr %d_kind.i, align 8 + %bf.clear.i = and i16 %bf.load.i, 1023 + %cmp98 = icmp eq i16 %bf.clear.i, 217 + br i1 %cmp98, label %if.then99, label %if.else152 + +if.then99: ; preds = %invoke.cont94 + invoke void @_ZNK4cvc58internal12NodeTemplateILb1EE11getOperatorEv(ptr nonnull sret(%"class.cvc5::internal::NodeTemplate") align 8 %cc, ptr noundef nonnull align 8 dereferenceable(8) %ncons) + to label %invoke.cont100 unwind label %lpad95 + +invoke.cont100: ; preds = %if.then99 + %47 = load ptr, ptr %part, align 8 + %add.ptr.i155 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %47, i64 %conv251769 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i156) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i157) + %48 = load ptr, ptr %_M_parent.i.i.i.i.i26, align 8 + %cmp.not5.i.i.i.i160 = icmp eq ptr %48, null + br i1 %cmp.not5.i.i.i.i160, label %if.then.i185, label %while.body.lr.ph.i.i.i.i161 + +while.body.lr.ph.i.i.i.i161: ; preds = %invoke.cont100 + %49 = load ptr, ptr %add.ptr.i155, align 8 + %bf.load3.i.i.i.i.i.i162 = load i64, ptr %49, align 8 + %bf.clear4.i.i.i.i.i.i163 = and i64 %bf.load3.i.i.i.i.i.i162, 1099511627775 + br label %while.body.i.i.i.i164 + +while.body.i.i.i.i164: ; preds = %while.body.i.i.i.i164, %while.body.lr.ph.i.i.i.i161 + %__x.addr.07.i.i.i.i165 = phi ptr [ %48, %while.body.lr.ph.i.i.i.i161 ], [ %__x.addr.1.i.i.i.i174, %while.body.i.i.i.i164 ] + %__y.addr.06.i.i.i.i166 = phi ptr [ %3, %while.body.lr.ph.i.i.i.i161 ], [ %__y.addr.1.i.i.i.i171, %while.body.i.i.i.i164 ] + %_M_storage.i.i.i.i.i.i167 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i165, i64 32 + %50 = load ptr, ptr %_M_storage.i.i.i.i.i.i167, align 8 + %bf.load.i.i.i.i.i.i168 = load i64, ptr %50, align 8 + %bf.clear.i.i.i.i.i.i169 = and i64 %bf.load.i.i.i.i.i.i168, 1099511627775 + %cmp.i.i.i.i.i.i170 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i169, %bf.clear4.i.i.i.i.i.i163 + %__y.addr.1.i.i.i.i171 = select i1 %cmp.i.i.i.i.i.i170, ptr %__y.addr.06.i.i.i.i166, ptr %__x.addr.07.i.i.i.i165 + %__x.addr.1.in.v.i.i.i.i172 = select i1 %cmp.i.i.i.i.i.i170, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i173 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i165, i64 %__x.addr.1.in.v.i.i.i.i172 + %__x.addr.1.i.i.i.i174 = load ptr, ptr %__x.addr.1.in.i.i.i.i173, align 8 + %cmp.not.i.i.i.i175 = icmp eq ptr %__x.addr.1.i.i.i.i174, null + br i1 %cmp.not.i.i.i.i175, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i176, label %while.body.i.i.i.i164, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i176: ; preds = %while.body.i.i.i.i164 + %cmp.i.i177 = icmp eq ptr %__y.addr.1.i.i.i.i171, %3 + br i1 %cmp.i.i177, label %if.then.i185, label %lor.rhs.i178 + +lor.rhs.i178: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i176 + %__y.addr.1.i.i.i.i171.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i170, ptr %__y.addr.06.i.i.i.i166, ptr %__x.addr.07.i.i.i.i165 + %__y.addr.1.i.i.i.i171.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i171.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %51 = load ptr, ptr %__y.addr.1.i.i.i.i171.sroa.sel.v.sroa.sel.v.sroa.sel, align 8 + %bf.load3.i.i.i180 = load i64, ptr %51, align 8 + %bf.clear4.i.i.i181 = and i64 %bf.load3.i.i.i180, 1099511627775 + %cmp.i.i.i182 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i163, %bf.clear4.i.i.i181 + br i1 %cmp.i.i.i182, label %if.then.i185, label %invoke.cont104 + +if.then.i185: ; preds = %lor.rhs.i178, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i176, %invoke.cont100 + %__y.addr.0.lcssa.i.i.i9.i186 = phi ptr [ %__y.addr.1.i.i.i.i171, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i176 ], [ %__y.addr.1.i.i.i.i171, %lor.rhs.i178 ], [ %3, %invoke.cont100 ] + store ptr %add.ptr.i155, ptr %ref.tmp9.i156, align 8 + %call12.i188 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESH_IJEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %cn_cons, ptr %__y.addr.0.lcssa.i.i.i9.i186, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i156, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i157) + to label %invoke.cont104 unwind label %lpad103 + +invoke.cont104: ; preds = %lor.rhs.i178, %if.then.i185 + %__i.sroa.0.0.i183 = phi ptr [ %__y.addr.1.i.i.i.i171, %lor.rhs.i178 ], [ %call12.i188, %if.then.i185 ] + %second.i184 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i183, i64 40 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i156) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i157) + %52 = load ptr, ptr %second.i184, align 8 + %53 = load ptr, ptr %ncons, align 8 + %cmp.not.i190 = icmp eq ptr %52, %53 + br i1 %cmp.not.i190, label %land.lhs.true, label %if.then.i191 + +if.then.i191: ; preds = %invoke.cont104 + %bf.load.i.i192 = load i64, ptr %52, align 8 + %54 = and i64 %bf.load.i.i192, 1152920405095219200 + %cmp.not.i.i193 = icmp eq i64 %54, 1152920405095219200 + br i1 %cmp.not.i.i193, label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i, label %if.then.i.i194 + +if.then.i.i194: ; preds = %if.then.i191 + %bf.value.i.i195 = add i64 %bf.load.i.i192, 1152920405095219200 + %bf.shl.i.i196 = and i64 %bf.value.i.i195, 1152920405095219200 + %bf.clear7.i.i197 = and i64 %bf.load.i.i192, -1152920405095219201 + %bf.set.i.i198 = or disjoint i64 %bf.shl.i.i196, %bf.clear7.i.i197 + store i64 %bf.set.i.i198, ptr %52, align 8 + %cmp12.i.i199 = icmp eq i64 %bf.shl.i.i196, 0 + br i1 %cmp12.i.i199, label %if.then13.i.i205, label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i + +if.then13.i.i205: ; preds = %if.then.i.i194 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %52) + to label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i unwind label %lpad103 + +_ZN4cvc58internal4expr9NodeValue3decEv.exit.i: ; preds = %if.then13.i.i205, %if.then.i.i194, %if.then.i191 + %55 = load ptr, ptr %ncons, align 8 + store ptr %55, ptr %second.i184, align 8 + %bf.load.i2.i = load i64, ptr %55, align 8 + %bf.lshr.i.i200 = lshr i64 %bf.load.i2.i, 40 + %56 = trunc nuw nsw i64 %bf.lshr.i.i200 to i32 + %bf.cast.i.i201 = and i32 %56, 1048575 + %cmp.i.i202 = icmp samesign ult i32 %bf.cast.i.i201, 1048574 + br i1 %cmp.i.i202, label %if.then.i5.i, label %if.else.i.i203 + +if.then.i5.i: ; preds = %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i + %bf.value.i6.i = add i64 %bf.load.i2.i, 1099511627776 + %bf.shl.i7.i = and i64 %bf.value.i6.i, 1152920405095219200 + %bf.clear7.i8.i = and i64 %bf.load.i2.i, -1152920405095219201 + %bf.set.i9.i = or disjoint i64 %bf.shl.i7.i, %bf.clear7.i8.i + store i64 %bf.set.i9.i, ptr %55, align 8 + br label %land.lhs.true + +if.else.i.i203: ; preds = %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i + %cmp12.i3.i = icmp eq i32 %bf.cast.i.i201, 1048574 + br i1 %cmp12.i3.i, label %if.then13.i4.i, label %land.lhs.true + +if.then13.i4.i: ; preds = %if.else.i.i203 + %bf.set23.i.i204 = or i64 %bf.load.i2.i, 1152920405095219200 + store i64 %bf.set23.i.i204, ptr %55, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %55) + to label %land.lhs.true unwind label %lpad103 + +land.lhs.true: ; preds = %if.else.i.i203, %if.then.i5.i, %invoke.cont104, %if.then13.i4.i + %57 = load ptr, ptr %c, align 8 + %58 = load ptr, ptr %ncons, align 8 + %cmp.i208.not = icmp eq ptr %57, %58 + br i1 %cmp.i208.not, label %if.end117, label %if.then111 + +if.then111: ; preds = %land.lhs.true + invoke void @_ZNK4cvc58internal12NodeTemplateILb1EE6eqNodeILb1EEES2_RKNS1_IXT_EEE(ptr nonnull sret(%"class.cvc5::internal::NodeTemplate") align 8 %ref.tmp112, ptr noundef nonnull align 8 dereferenceable(8) %c, ptr noundef nonnull align 8 dereferenceable(8) %ncons) + to label %invoke.cont113 unwind label %lpad103 + +invoke.cont113: ; preds = %if.then111 + %59 = load ptr, ptr %_M_finish.i.i, align 8 + %60 = load ptr, ptr %_M_end_of_storage.i.i, align 8 + %cmp.not.i.i209 = icmp eq ptr %59, %60 + br i1 %cmp.not.i.i209, label %if.else.i.i213, label %if.then.i.i210 + +if.then.i.i210: ; preds = %invoke.cont113 + %61 = load ptr, ptr %ref.tmp112, align 8 + store ptr %61, ptr %59, align 8 + %bf.load.i.i.i.i.i.i211 = load i64, ptr %61, align 8 + %bf.lshr.i.i.i.i.i.i = lshr i64 %bf.load.i.i.i.i.i.i211, 40 + %62 = trunc nuw nsw i64 %bf.lshr.i.i.i.i.i.i to i32 + %bf.cast.i.i.i.i.i.i = and i32 %62, 1048575 + %cmp.i.i.i.i.i.i212 = icmp samesign ult i32 %bf.cast.i.i.i.i.i.i, 1048574 + br i1 %cmp.i.i.i.i.i.i212, label %if.then.i.i.i.i.i.i, label %if.else.i.i.i.i.i.i + +if.then.i.i.i.i.i.i: ; preds = %if.then.i.i210 + %bf.value.i.i.i.i.i.i = add i64 %bf.load.i.i.i.i.i.i211, 1099511627776 + %bf.shl.i.i.i.i.i.i = and i64 %bf.value.i.i.i.i.i.i, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i.i211, -1152920405095219201 + %bf.set.i.i.i.i.i.i = or disjoint i64 %bf.shl.i.i.i.i.i.i, %bf.clear7.i.i.i.i.i.i + store i64 %bf.set.i.i.i.i.i.i, ptr %61, align 8 + br label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i + +if.else.i.i.i.i.i.i: ; preds = %if.then.i.i210 + %cmp12.i.i.i.i.i.i = icmp eq i32 %bf.cast.i.i.i.i.i.i, 1048574 + br i1 %cmp12.i.i.i.i.i.i, label %if.then13.i.i.i.i.i.i, label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i + +if.then13.i.i.i.i.i.i: ; preds = %if.else.i.i.i.i.i.i + %bf.set23.i.i.i.i.i.i = or i64 %bf.load.i.i.i.i.i.i211, 1152920405095219200 + store i64 %bf.set23.i.i.i.i.i.i, ptr %61, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %61) + to label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i unwind label %lpad114 + +_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i: ; preds = %if.then13.i.i.i.i.i.i, %if.else.i.i.i.i.i.i, %if.then.i.i.i.i.i.i + %63 = load ptr, ptr %_M_finish.i.i, align 8 + %incdec.ptr.i.i = getelementptr inbounds i8, ptr %63, i64 8 + store ptr %incdec.ptr.i.i, ptr %_M_finish.i.i, align 8 + br label %invoke.cont115 + +if.else.i.i213: ; preds = %invoke.cont113 + invoke void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %exp, ptr %59, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp112) + to label %invoke.cont115 unwind label %lpad114 + +invoke.cont115: ; preds = %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i, %if.else.i.i213 + %64 = load ptr, ptr %ref.tmp112, align 8 + %bf.load.i.i216 = load i64, ptr %64, align 8 + %65 = and i64 %bf.load.i.i216, 1152920405095219200 + %cmp.not.i.i217 = icmp eq i64 %65, 1152920405095219200 + br i1 %cmp.not.i.i217, label %if.end117, label %if.then.i.i218 + +if.then.i.i218: ; preds = %invoke.cont115 + %bf.value.i.i219 = add i64 %bf.load.i.i216, 1152920405095219200 + %bf.shl.i.i220 = and i64 %bf.value.i.i219, 1152920405095219200 + %bf.clear7.i.i221 = and i64 %bf.load.i.i216, -1152920405095219201 + %bf.set.i.i222 = or disjoint i64 %bf.shl.i.i220, %bf.clear7.i.i221 + store i64 %bf.set.i.i222, ptr %64, align 8 + %cmp12.i.i223 = icmp eq i64 %bf.shl.i.i220, 0 + br i1 %cmp12.i.i223, label %if.then13.i.i224, label %if.end117 + +if.then13.i.i224: ; preds = %if.then.i.i218 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %64) + to label %if.end117 unwind label %terminate.lpad.i225 + +terminate.lpad.i225: ; preds = %if.then13.i.i224 + %66 = landingpad { ptr, i32 } + catch ptr null + %67 = extractvalue { ptr, i32 } %66, 0 + call void @__clang_call_terminate(ptr %67) #25 + unreachable + +lpad85: ; preds = %invoke.cont84 + %68 = landingpad { ptr, i32 } + cleanup + call void @_ZN4cvc58internal8TypeNodeD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp83) #23 + br label %ehcleanup220 + +lpad91: ; preds = %if.then88 + %69 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup220 + +lpad93: ; preds = %if.then13.i.i147 + %70 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup220 + +lpad95: ; preds = %if.else.i347, %if.then13.i.i.i.i.i340, %if.then.i322, %if.then99 + %71 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup183 + +lpad103: ; preds = %if.else.i278, %if.then13.i.i.i.i.i271, %if.then.i254, %if.then13.i4.i, %if.then13.i.i205, %if.then.i185, %if.then111 + %72 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup151 + +lpad114: ; preds = %if.else.i.i213, %if.then13.i.i.i.i.i.i + %73 = landingpad { ptr, i32 } + cleanup + call void @_ZN4cvc58internal12NodeTemplateILb1EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp112) #23 + br label %ehcleanup151 + +if.end117: ; preds = %if.then13.i.i224, %if.then.i.i218, %invoke.cont115, %land.lhs.true + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i226) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i227) + %74 = load ptr, ptr %_M_parent.i.i.i.i.i, align 8 + %cmp.not5.i.i.i.i230 = icmp eq ptr %74, null + br i1 %cmp.not5.i.i.i.i230, label %if.then.i254, label %while.body.lr.ph.i.i.i.i231 + +while.body.lr.ph.i.i.i.i231: ; preds = %if.end117 + %75 = load ptr, ptr %cc, align 8 + %bf.load3.i.i.i.i.i.i232 = load i64, ptr %75, align 8 + %bf.clear4.i.i.i.i.i.i233 = and i64 %bf.load3.i.i.i.i.i.i232, 1099511627775 + br label %while.body.i.i.i.i234 + +while.body.i.i.i.i234: ; preds = %while.body.i.i.i.i234, %while.body.lr.ph.i.i.i.i231 + %__x.addr.07.i.i.i.i235 = phi ptr [ %74, %while.body.lr.ph.i.i.i.i231 ], [ %__x.addr.1.i.i.i.i244, %while.body.i.i.i.i234 ] + %__y.addr.06.i.i.i.i236 = phi ptr [ %0, %while.body.lr.ph.i.i.i.i231 ], [ %__y.addr.1.i.i.i.i241, %while.body.i.i.i.i234 ] + %_M_storage.i.i.i.i.i.i237 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i235, i64 32 + %76 = load ptr, ptr %_M_storage.i.i.i.i.i.i237, align 8 + %bf.load.i.i.i.i.i.i238 = load i64, ptr %76, align 8 + %bf.clear.i.i.i.i.i.i239 = and i64 %bf.load.i.i.i.i.i.i238, 1099511627775 + %cmp.i.i.i.i.i.i240 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i239, %bf.clear4.i.i.i.i.i.i233 + %__y.addr.1.i.i.i.i241 = select i1 %cmp.i.i.i.i.i.i240, ptr %__y.addr.06.i.i.i.i236, ptr %__x.addr.07.i.i.i.i235 + %__x.addr.1.in.v.i.i.i.i242 = select i1 %cmp.i.i.i.i.i.i240, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i243 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i235, i64 %__x.addr.1.in.v.i.i.i.i242 + %__x.addr.1.i.i.i.i244 = load ptr, ptr %__x.addr.1.in.i.i.i.i243, align 8 + %cmp.not.i.i.i.i245 = icmp eq ptr %__x.addr.1.i.i.i.i244, null + br i1 %cmp.not.i.i.i.i245, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i, label %while.body.i.i.i.i234, !llvm.loop !73 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i: ; preds = %while.body.i.i.i.i234 + %cmp.i.i246 = icmp eq ptr %__y.addr.1.i.i.i.i241, %0 + br i1 %cmp.i.i246, label %if.then.i254, label %lor.rhs.i247 + +lor.rhs.i247: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i + %__y.addr.1.i.i.i.i241.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i240, ptr %__y.addr.06.i.i.i.i236, ptr %__x.addr.07.i.i.i.i235 + %__y.addr.1.i.i.i.i241.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i241.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %77 = load ptr, ptr %__y.addr.1.i.i.i.i241.sroa.sel.v.sroa.sel.v.sroa.sel, align 8 + %bf.load3.i.i.i249 = load i64, ptr %77, align 8 + %bf.clear4.i.i.i250 = and i64 %bf.load3.i.i.i249, 1099511627775 + %cmp.i.i.i251 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i233, %bf.clear4.i.i.i250 + br i1 %cmp.i.i.i251, label %if.then.i254, label %invoke.cont118 + +if.then.i254: ; preds = %lor.rhs.i247, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i, %if.end117 + %__y.addr.0.lcssa.i.i.i9.i255 = phi ptr [ %__y.addr.1.i.i.i.i241, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i ], [ %__y.addr.1.i.i.i.i241, %lor.rhs.i247 ], [ %0, %if.end117 ] + store ptr %cc, ptr %ref.tmp9.i226, align 8 + %call12.i257 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St6vectorIS3_SaIS3_EEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESK_IJEEEEESt17_Rb_tree_iteratorIS9_ESt23_Rb_tree_const_iteratorIS9_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %new_part, ptr %__y.addr.0.lcssa.i.i.i9.i255, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i226, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i227) + to label %invoke.cont118 unwind label %lpad103 + +invoke.cont118: ; preds = %lor.rhs.i247, %if.then.i254 + %__i.sroa.0.0.i252 = phi ptr [ %__y.addr.1.i.i.i.i241, %lor.rhs.i247 ], [ %call12.i257, %if.then.i254 ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i226) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i227) + %78 = load ptr, ptr %part, align 8 + %add.ptr.i258 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %78, i64 %conv251769 + %_M_finish.i259 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i252, i64 48 + %79 = load ptr, ptr %_M_finish.i259, align 8 + %_M_end_of_storage.i260 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i252, i64 56 + %80 = load ptr, ptr %_M_end_of_storage.i260, align 8 + %cmp.not.i261 = icmp eq ptr %79, %80 + br i1 %cmp.not.i261, label %if.else.i278, label %if.then.i262 + +if.then.i262: ; preds = %invoke.cont118 + %81 = load ptr, ptr %add.ptr.i258, align 8 + store ptr %81, ptr %79, align 8 + %bf.load.i.i.i.i.i263 = load i64, ptr %81, align 8 + %bf.lshr.i.i.i.i.i264 = lshr i64 %bf.load.i.i.i.i.i263, 40 + %82 = trunc nuw nsw i64 %bf.lshr.i.i.i.i.i264 to i32 + %bf.cast.i.i.i.i.i265 = and i32 %82, 1048575 + %cmp.i.i.i.i.i266 = icmp samesign ult i32 %bf.cast.i.i.i.i.i265, 1048574 + br i1 %cmp.i.i.i.i.i266, label %if.then.i.i.i.i.i273, label %if.else.i.i.i.i.i267 + +if.then.i.i.i.i.i273: ; preds = %if.then.i262 + %bf.value.i.i.i.i.i274 = add i64 %bf.load.i.i.i.i.i263, 1099511627776 + %bf.shl.i.i.i.i.i275 = and i64 %bf.value.i.i.i.i.i274, 1152920405095219200 + %bf.clear7.i.i.i.i.i276 = and i64 %bf.load.i.i.i.i.i263, -1152920405095219201 + %bf.set.i.i.i.i.i277 = or disjoint i64 %bf.shl.i.i.i.i.i275, %bf.clear7.i.i.i.i.i276 + store i64 %bf.set.i.i.i.i.i277, ptr %81, align 8 + br label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i269 + +if.else.i.i.i.i.i267: ; preds = %if.then.i262 + %cmp12.i.i.i.i.i268 = icmp eq i32 %bf.cast.i.i.i.i.i265, 1048574 + br i1 %cmp12.i.i.i.i.i268, label %if.then13.i.i.i.i.i271, label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i269 + +if.then13.i.i.i.i.i271: ; preds = %if.else.i.i.i.i.i267 + %bf.set23.i.i.i.i.i272 = or i64 %bf.load.i.i.i.i.i263, 1152920405095219200 + store i64 %bf.set23.i.i.i.i.i272, ptr %81, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %81) + to label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i269 unwind label %lpad103 + +_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i269: ; preds = %if.then13.i.i.i.i.i271, %if.else.i.i.i.i.i267, %if.then.i.i.i.i.i273 + %83 = load ptr, ptr %_M_finish.i259, align 8 + %incdec.ptr.i270 = getelementptr inbounds i8, ptr %83, i64 8 + store ptr %incdec.ptr.i270, ptr %_M_finish.i259, align 8 + br label %if.end150 + +if.else.i278: ; preds = %invoke.cont118 + %second.i253 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i252, i64 40 + invoke void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %second.i253, ptr %79, ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i258) + to label %if.end150 unwind label %lpad103 + +if.end150: ; preds = %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i269, %if.else.i278 + %84 = load ptr, ptr %cc, align 8 + %bf.load.i.i282 = load i64, ptr %84, align 8 + %85 = and i64 %bf.load.i.i282, 1152920405095219200 + %cmp.not.i.i283 = icmp eq i64 %85, 1152920405095219200 + br i1 %cmp.not.i.i283, label %if.end182, label %if.then.i.i284 + +if.then.i.i284: ; preds = %if.end150 + %bf.value.i.i285 = add i64 %bf.load.i.i282, 1152920405095219200 + %bf.shl.i.i286 = and i64 %bf.value.i.i285, 1152920405095219200 + %bf.clear7.i.i287 = and i64 %bf.load.i.i282, -1152920405095219201 + %bf.set.i.i288 = or disjoint i64 %bf.shl.i.i286, %bf.clear7.i.i287 + store i64 %bf.set.i.i288, ptr %84, align 8 + %cmp12.i.i289 = icmp eq i64 %bf.shl.i.i286, 0 + br i1 %cmp12.i.i289, label %if.then13.i.i290, label %if.end182 + +if.then13.i.i290: ; preds = %if.then.i.i284 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %84) + to label %if.end182 unwind label %terminate.lpad.i291 + +terminate.lpad.i291: ; preds = %if.then13.i.i290 + %86 = landingpad { ptr, i32 } + catch ptr null + %87 = extractvalue { ptr, i32 } %86, 0 + call void @__clang_call_terminate(ptr %87) #25 + unreachable + +ehcleanup151: ; preds = %lpad114, %lpad103 + %.pn12 = phi { ptr, i32 } [ %72, %lpad103 ], [ %73, %lpad114 ] + call void @_ZN4cvc58internal12NodeTemplateILb1EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %cc) #23 + br label %ehcleanup183 + +if.else152: ; preds = %invoke.cont94 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i293) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i294) + %88 = load ptr, ptr %_M_parent.i.i.i.i.i18, align 8 + %cmp.not5.i.i.i.i297 = icmp eq ptr %88, null + br i1 %cmp.not5.i.i.i.i297, label %if.then.i322, label %while.body.lr.ph.i.i.i.i298 + +while.body.lr.ph.i.i.i.i298: ; preds = %if.else152 + %89 = load ptr, ptr %c, align 8 + %bf.load3.i.i.i.i.i.i299 = load i64, ptr %89, align 8 + %bf.clear4.i.i.i.i.i.i300 = and i64 %bf.load3.i.i.i.i.i.i299, 1099511627775 + br label %while.body.i.i.i.i301 + +while.body.i.i.i.i301: ; preds = %while.body.i.i.i.i301, %while.body.lr.ph.i.i.i.i298 + %__x.addr.07.i.i.i.i302 = phi ptr [ %88, %while.body.lr.ph.i.i.i.i298 ], [ %__x.addr.1.i.i.i.i311, %while.body.i.i.i.i301 ] + %__y.addr.06.i.i.i.i303 = phi ptr [ %1, %while.body.lr.ph.i.i.i.i298 ], [ %__y.addr.1.i.i.i.i308, %while.body.i.i.i.i301 ] + %_M_storage.i.i.i.i.i.i304 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i302, i64 32 + %90 = load ptr, ptr %_M_storage.i.i.i.i.i.i304, align 8 + %bf.load.i.i.i.i.i.i305 = load i64, ptr %90, align 8 + %bf.clear.i.i.i.i.i.i306 = and i64 %bf.load.i.i.i.i.i.i305, 1099511627775 + %cmp.i.i.i.i.i.i307 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i306, %bf.clear4.i.i.i.i.i.i300 + %__y.addr.1.i.i.i.i308 = select i1 %cmp.i.i.i.i.i.i307, ptr %__y.addr.06.i.i.i.i303, ptr %__x.addr.07.i.i.i.i302 + %__x.addr.1.in.v.i.i.i.i309 = select i1 %cmp.i.i.i.i.i.i307, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i310 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i302, i64 %__x.addr.1.in.v.i.i.i.i309 + %__x.addr.1.i.i.i.i311 = load ptr, ptr %__x.addr.1.in.i.i.i.i310, align 8 + %cmp.not.i.i.i.i312 = icmp eq ptr %__x.addr.1.i.i.i.i311, null + br i1 %cmp.not.i.i.i.i312, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i313, label %while.body.i.i.i.i301, !llvm.loop !73 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i313: ; preds = %while.body.i.i.i.i301 + %cmp.i.i314 = icmp eq ptr %__y.addr.1.i.i.i.i308, %1 + br i1 %cmp.i.i314, label %if.then.i322, label %lor.rhs.i315 + +lor.rhs.i315: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i313 + %__y.addr.1.i.i.i.i308.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i307, ptr %__y.addr.06.i.i.i.i303, ptr %__x.addr.07.i.i.i.i302 + %__y.addr.1.i.i.i.i308.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i308.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %91 = load ptr, ptr %__y.addr.1.i.i.i.i308.sroa.sel.v.sroa.sel.v.sroa.sel, align 8 + %bf.load3.i.i.i317 = load i64, ptr %91, align 8 + %bf.clear4.i.i.i318 = and i64 %bf.load3.i.i.i317, 1099511627775 + %cmp.i.i.i319 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i300, %bf.clear4.i.i.i318 + br i1 %cmp.i.i.i319, label %if.then.i322, label %invoke.cont153 + +if.then.i322: ; preds = %lor.rhs.i315, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i313, %if.else152 + %__y.addr.0.lcssa.i.i.i9.i323 = phi ptr [ %__y.addr.1.i.i.i.i308, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i313 ], [ %__y.addr.1.i.i.i.i308, %lor.rhs.i315 ], [ %1, %if.else152 ] + store ptr %c, ptr %ref.tmp9.i293, align 8 + %call12.i325 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St6vectorIS3_SaIS3_EEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESK_IJEEEEESt17_Rb_tree_iteratorIS9_ESt23_Rb_tree_const_iteratorIS9_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %new_part_c, ptr %__y.addr.0.lcssa.i.i.i9.i323, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i293, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i294) + to label %invoke.cont153 unwind label %lpad95 + +invoke.cont153: ; preds = %lor.rhs.i315, %if.then.i322 + %__i.sroa.0.0.i320 = phi ptr [ %__y.addr.1.i.i.i.i308, %lor.rhs.i315 ], [ %call12.i325, %if.then.i322 ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i293) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i294) + %92 = load ptr, ptr %part, align 8 + %add.ptr.i327 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %92, i64 %conv251769 + %_M_finish.i328 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i320, i64 48 + %93 = load ptr, ptr %_M_finish.i328, align 8 + %_M_end_of_storage.i329 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i320, i64 56 + %94 = load ptr, ptr %_M_end_of_storage.i329, align 8 + %cmp.not.i330 = icmp eq ptr %93, %94 + br i1 %cmp.not.i330, label %if.else.i347, label %if.then.i331 + +if.then.i331: ; preds = %invoke.cont153 + %95 = load ptr, ptr %add.ptr.i327, align 8 + store ptr %95, ptr %93, align 8 + %bf.load.i.i.i.i.i332 = load i64, ptr %95, align 8 + %bf.lshr.i.i.i.i.i333 = lshr i64 %bf.load.i.i.i.i.i332, 40 + %96 = trunc nuw nsw i64 %bf.lshr.i.i.i.i.i333 to i32 + %bf.cast.i.i.i.i.i334 = and i32 %96, 1048575 + %cmp.i.i.i.i.i335 = icmp samesign ult i32 %bf.cast.i.i.i.i.i334, 1048574 + br i1 %cmp.i.i.i.i.i335, label %if.then.i.i.i.i.i342, label %if.else.i.i.i.i.i336 + +if.then.i.i.i.i.i342: ; preds = %if.then.i331 + %bf.value.i.i.i.i.i343 = add i64 %bf.load.i.i.i.i.i332, 1099511627776 + %bf.shl.i.i.i.i.i344 = and i64 %bf.value.i.i.i.i.i343, 1152920405095219200 + %bf.clear7.i.i.i.i.i345 = and i64 %bf.load.i.i.i.i.i332, -1152920405095219201 + %bf.set.i.i.i.i.i346 = or disjoint i64 %bf.shl.i.i.i.i.i344, %bf.clear7.i.i.i.i.i345 + store i64 %bf.set.i.i.i.i.i346, ptr %95, align 8 + br label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i338 + +if.else.i.i.i.i.i336: ; preds = %if.then.i331 + %cmp12.i.i.i.i.i337 = icmp eq i32 %bf.cast.i.i.i.i.i334, 1048574 + br i1 %cmp12.i.i.i.i.i337, label %if.then13.i.i.i.i.i340, label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i338 + +if.then13.i.i.i.i.i340: ; preds = %if.else.i.i.i.i.i336 + %bf.set23.i.i.i.i.i341 = or i64 %bf.load.i.i.i.i.i332, 1152920405095219200 + store i64 %bf.set23.i.i.i.i.i341, ptr %95, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %95) + to label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i338 unwind label %lpad95 + +_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i338: ; preds = %if.then13.i.i.i.i.i340, %if.else.i.i.i.i.i336, %if.then.i.i.i.i.i342 + %97 = load ptr, ptr %_M_finish.i328, align 8 + %incdec.ptr.i339 = getelementptr inbounds i8, ptr %97, i64 8 + store ptr %incdec.ptr.i339, ptr %_M_finish.i328, align 8 + br label %if.end182 + +if.else.i347: ; preds = %invoke.cont153 + %second.i321 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i320, i64 40 + invoke void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %second.i321, ptr %93, ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i327) + to label %if.end182 unwind label %lpad95 + +if.end182: ; preds = %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i338, %if.else.i347, %if.then13.i.i290, %if.then.i.i284, %if.end150 + %98 = load ptr, ptr %ncons, align 8 + %bf.load.i.i351 = load i64, ptr %98, align 8 + %99 = and i64 %bf.load.i.i351, 1152920405095219200 + %cmp.not.i.i352 = icmp eq i64 %99, 1152920405095219200 + br i1 %cmp.not.i.i352, label %if.end219, label %if.then.i.i353 + +if.then.i.i353: ; preds = %if.end182 + %bf.value.i.i354 = add i64 %bf.load.i.i351, 1152920405095219200 + %bf.shl.i.i355 = and i64 %bf.value.i.i354, 1152920405095219200 + %bf.clear7.i.i356 = and i64 %bf.load.i.i351, -1152920405095219201 + %bf.set.i.i357 = or disjoint i64 %bf.shl.i.i355, %bf.clear7.i.i356 + store i64 %bf.set.i.i357, ptr %98, align 8 + %cmp12.i.i358 = icmp eq i64 %bf.shl.i.i355, 0 + br i1 %cmp12.i.i358, label %if.then13.i.i359, label %if.end219 + +if.then13.i.i359: ; preds = %if.then.i.i353 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %98) + to label %if.end219 unwind label %terminate.lpad.i360 + +terminate.lpad.i360: ; preds = %if.then13.i.i359 + %100 = landingpad { ptr, i32 } + catch ptr null + %101 = extractvalue { ptr, i32 } %100, 0 + call void @__clang_call_terminate(ptr %101) #25 + unreachable + +ehcleanup183: ; preds = %ehcleanup151, %lpad95 + %.pn12.pn = phi { ptr, i32 } [ %.pn12, %ehcleanup151 ], [ %71, %lpad95 ] + call void @_ZN4cvc58internal12NodeTemplateILb1EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %ncons) #23 + br label %ehcleanup220 + +if.end212: ; preds = %_ZN4cvc58internal8TypeNodeD2Ev.exit + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i362) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i363) + %102 = load ptr, ptr %_M_parent.i.i.i.i.i18, align 8 + %cmp.not5.i.i.i.i366 = icmp eq ptr %102, null + br i1 %cmp.not5.i.i.i.i366, label %if.then.i391, label %while.body.lr.ph.i.i.i.i367 + +while.body.lr.ph.i.i.i.i367: ; preds = %if.end212 + %103 = load ptr, ptr %c, align 8 + %bf.load3.i.i.i.i.i.i368 = load i64, ptr %103, align 8 + %bf.clear4.i.i.i.i.i.i369 = and i64 %bf.load3.i.i.i.i.i.i368, 1099511627775 + br label %while.body.i.i.i.i370 + +while.body.i.i.i.i370: ; preds = %while.body.i.i.i.i370, %while.body.lr.ph.i.i.i.i367 + %__x.addr.07.i.i.i.i371 = phi ptr [ %102, %while.body.lr.ph.i.i.i.i367 ], [ %__x.addr.1.i.i.i.i380, %while.body.i.i.i.i370 ] + %__y.addr.06.i.i.i.i372 = phi ptr [ %1, %while.body.lr.ph.i.i.i.i367 ], [ %__y.addr.1.i.i.i.i377, %while.body.i.i.i.i370 ] + %_M_storage.i.i.i.i.i.i373 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i371, i64 32 + %104 = load ptr, ptr %_M_storage.i.i.i.i.i.i373, align 8 + %bf.load.i.i.i.i.i.i374 = load i64, ptr %104, align 8 + %bf.clear.i.i.i.i.i.i375 = and i64 %bf.load.i.i.i.i.i.i374, 1099511627775 + %cmp.i.i.i.i.i.i376 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i375, %bf.clear4.i.i.i.i.i.i369 + %__y.addr.1.i.i.i.i377 = select i1 %cmp.i.i.i.i.i.i376, ptr %__y.addr.06.i.i.i.i372, ptr %__x.addr.07.i.i.i.i371 + %__x.addr.1.in.v.i.i.i.i378 = select i1 %cmp.i.i.i.i.i.i376, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i379 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i371, i64 %__x.addr.1.in.v.i.i.i.i378 + %__x.addr.1.i.i.i.i380 = load ptr, ptr %__x.addr.1.in.i.i.i.i379, align 8 + %cmp.not.i.i.i.i381 = icmp eq ptr %__x.addr.1.i.i.i.i380, null + br i1 %cmp.not.i.i.i.i381, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i382, label %while.body.i.i.i.i370, !llvm.loop !73 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i382: ; preds = %while.body.i.i.i.i370 + %cmp.i.i383 = icmp eq ptr %__y.addr.1.i.i.i.i377, %1 + br i1 %cmp.i.i383, label %if.then.i391, label %lor.rhs.i384 + +lor.rhs.i384: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i382 + %__y.addr.1.i.i.i.i377.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i376, ptr %__y.addr.06.i.i.i.i372, ptr %__x.addr.07.i.i.i.i371 + %__y.addr.1.i.i.i.i377.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i377.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %105 = load ptr, ptr %__y.addr.1.i.i.i.i377.sroa.sel.v.sroa.sel.v.sroa.sel, align 8 + %bf.load3.i.i.i386 = load i64, ptr %105, align 8 + %bf.clear4.i.i.i387 = and i64 %bf.load3.i.i.i386, 1099511627775 + %cmp.i.i.i388 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i369, %bf.clear4.i.i.i387 + br i1 %cmp.i.i.i388, label %if.then.i391, label %invoke.cont213 + +if.then.i391: ; preds = %lor.rhs.i384, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i382, %if.end212 + %__y.addr.0.lcssa.i.i.i9.i392 = phi ptr [ %__y.addr.1.i.i.i.i377, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i382 ], [ %__y.addr.1.i.i.i.i377, %lor.rhs.i384 ], [ %1, %if.end212 ] + store ptr %c, ptr %ref.tmp9.i362, align 8 + %call12.i394 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St6vectorIS3_SaIS3_EEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESK_IJEEEEESt17_Rb_tree_iteratorIS9_ESt23_Rb_tree_const_iteratorIS9_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %new_part_c, ptr %__y.addr.0.lcssa.i.i.i9.i392, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i362, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i363) + to label %invoke.cont213 unwind label %lpad35 + +invoke.cont213: ; preds = %lor.rhs.i384, %if.then.i391 + %__i.sroa.0.0.i389 = phi ptr [ %__y.addr.1.i.i.i.i377, %lor.rhs.i384 ], [ %call12.i394, %if.then.i391 ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i362) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i363) + %106 = load ptr, ptr %part, align 8 + %add.ptr.i396 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %106, i64 %conv251769 + %_M_finish.i397 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i389, i64 48 + %107 = load ptr, ptr %_M_finish.i397, align 8 + %_M_end_of_storage.i398 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i389, i64 56 + %108 = load ptr, ptr %_M_end_of_storage.i398, align 8 + %cmp.not.i399 = icmp eq ptr %107, %108 + br i1 %cmp.not.i399, label %if.else.i416.invoke, label %if.then.i400 + +if.then.i400: ; preds = %invoke.cont213 + %109 = load ptr, ptr %add.ptr.i396, align 8 + store ptr %109, ptr %107, align 8 + %bf.load.i.i.i.i.i401 = load i64, ptr %109, align 8 + %bf.lshr.i.i.i.i.i402 = lshr i64 %bf.load.i.i.i.i.i401, 40 + %110 = trunc nuw nsw i64 %bf.lshr.i.i.i.i.i402 to i32 + %bf.cast.i.i.i.i.i403 = and i32 %110, 1048575 + %cmp.i.i.i.i.i404 = icmp samesign ult i32 %bf.cast.i.i.i.i.i403, 1048574 + br i1 %cmp.i.i.i.i.i404, label %if.then.i.i.i.i.i411, label %if.else.i.i.i.i.i405 + +if.then.i.i.i.i.i411: ; preds = %if.then.i400 + %bf.value.i.i.i.i.i412 = add i64 %bf.load.i.i.i.i.i401, 1099511627776 + %bf.shl.i.i.i.i.i413 = and i64 %bf.value.i.i.i.i.i412, 1152920405095219200 + %bf.clear7.i.i.i.i.i414 = and i64 %bf.load.i.i.i.i.i401, -1152920405095219201 + %bf.set.i.i.i.i.i415 = or disjoint i64 %bf.shl.i.i.i.i.i413, %bf.clear7.i.i.i.i.i414 + store i64 %bf.set.i.i.i.i.i415, ptr %109, align 8 + br label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i407 + +if.else.i.i.i.i.i405: ; preds = %if.then.i400 + %cmp12.i.i.i.i.i406 = icmp eq i32 %bf.cast.i.i.i.i.i403, 1048574 + br i1 %cmp12.i.i.i.i.i406, label %if.then13.i.i.i.i.i409, label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i407 + +if.then13.i.i.i.i.i409: ; preds = %if.else.i.i.i.i.i405 + %bf.set23.i.i.i.i.i410 = or i64 %bf.load.i.i.i.i.i401, 1152920405095219200 + store i64 %bf.set23.i.i.i.i.i410, ptr %109, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %109) + to label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i407 unwind label %lpad35 + +_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i407: ; preds = %if.then13.i.i.i.i.i409, %if.else.i.i.i.i.i405, %if.then.i.i.i.i.i411 + %111 = load ptr, ptr %_M_finish.i397, align 8 + %incdec.ptr.i408 = getelementptr inbounds i8, ptr %111, i64 8 + store ptr %incdec.ptr.i408, ptr %_M_finish.i397, align 8 + br label %if.end219 + +if.else.i416.invoke: ; preds = %invoke.cont213, %invoke.cont78 + %__i.sroa.0.0.i121.sink = phi ptr [ %__i.sroa.0.0.i121, %invoke.cont78 ], [ %__i.sroa.0.0.i389, %invoke.cont213 ] + %112 = phi ptr [ %34, %invoke.cont78 ], [ %107, %invoke.cont213 ] + %113 = phi ptr [ %add.ptr.i126, %invoke.cont78 ], [ %add.ptr.i396, %invoke.cont213 ] + %second.i122 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i121.sink, i64 40 + invoke void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %second.i122, ptr %112, ptr noundef nonnull align 8 dereferenceable(8) %113) + to label %if.end219 unwind label %lpad35 + +if.end219: ; preds = %if.else.i416.invoke, %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i407, %if.then13.i.i359, %if.then.i.i353, %if.end182, %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i + %114 = load ptr, ptr %c, align 8 + %bf.load.i.i420 = load i64, ptr %114, align 8 + %115 = and i64 %bf.load.i.i420, 1152920405095219200 + %cmp.not.i.i421 = icmp eq i64 %115, 1152920405095219200 + br i1 %cmp.not.i.i421, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430, label %if.then.i.i422 + +if.then.i.i422: ; preds = %if.end219 + %bf.value.i.i423 = add i64 %bf.load.i.i420, 1152920405095219200 + %bf.shl.i.i424 = and i64 %bf.value.i.i423, 1152920405095219200 + %bf.clear7.i.i425 = and i64 %bf.load.i.i420, -1152920405095219201 + %bf.set.i.i426 = or disjoint i64 %bf.shl.i.i424, %bf.clear7.i.i425 + store i64 %bf.set.i.i426, ptr %114, align 8 + %cmp12.i.i427 = icmp eq i64 %bf.shl.i.i424, 0 + br i1 %cmp12.i.i427, label %if.then13.i.i428, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430 + +if.then13.i.i428: ; preds = %if.then.i.i422 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %114) + to label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430 unwind label %terminate.lpad.i429 + +terminate.lpad.i429: ; preds = %if.then13.i.i428 + %116 = landingpad { ptr, i32 } + catch ptr null + %117 = extractvalue { ptr, i32 } %116, 0 + call void @__clang_call_terminate(ptr %117) #25 + unreachable + +_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430: ; preds = %if.end219, %if.then.i.i422, %if.then13.i.i428 + %inc222 = add i32 %j.01768, 1 + %conv25 = zext i32 %inc222 to i64 + %118 = load ptr, ptr %_M_finish.i, align 8 + %119 = load ptr, ptr %part, align 8 + %sub.ptr.lhs.cast.i = ptrtoint ptr %118 to i64 + %sub.ptr.rhs.cast.i = ptrtoint ptr %119 to i64 + %sub.ptr.sub.i = sub i64 %sub.ptr.lhs.cast.i, %sub.ptr.rhs.cast.i + %sub.ptr.div.i = ashr exact i64 %sub.ptr.sub.i, 3 + %cmp27 = icmp ugt i64 %sub.ptr.div.i, %conv25 + br i1 %cmp27, label %for.body28, label %for.end223, !llvm.loop !277 + +ehcleanup220: ; preds = %lpad91, %lpad93, %ehcleanup183, %lpad85, %lpad35 + %.pn15 = phi { ptr, i32 } [ %28, %lpad35 ], [ %.pn12.pn, %ehcleanup183 ], [ %68, %lpad85 ], [ %70, %lpad93 ], [ %69, %lpad91 ] + call void @_ZN4cvc58internal12NodeTemplateILb1EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %c) #23 + br label %ehcleanup537 + +for.end223: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430 + %.pre = load ptr, ptr %_M_left.i.i.i.i.i19, align 8 + %cmp.i432.not1770 = icmp eq ptr %.pre, %1 + br i1 %cmp.i432.not1770, label %for.end263, label %for.body231.lr.ph + +for.body231.lr.ph: ; preds = %for.end223 + %_M_finish.i444 = getelementptr inbounds i8, ptr %vec, i64 8 + br label %for.body231 + +for.body231: ; preds = %for.body231.lr.ph, %for.inc261 + %it.sroa.0.01771 = phi ptr [ %.pre, %for.body231.lr.ph ], [ %call.i, %for.inc261 ] + %second233 = getelementptr inbounds i8, ptr %it.sroa.0.01771, i64 40 + %_M_finish.i434 = getelementptr inbounds i8, ptr %it.sroa.0.01771, i64 48 + %120 = load ptr, ptr %_M_finish.i434, align 8 + %121 = load ptr, ptr %second233, align 8 + %sub.ptr.lhs.cast.i435 = ptrtoint ptr %120 to i64 + %sub.ptr.rhs.cast.i436 = ptrtoint ptr %121 to i64 + %sub.ptr.sub.i437 = sub i64 %sub.ptr.lhs.cast.i435, %sub.ptr.rhs.cast.i436 + %cmp235 = icmp ugt i64 %sub.ptr.sub.i437, 8 + br i1 %cmp235, label %if.then236, label %for.inc261 + +if.then236: ; preds = %for.body231 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %vec, i8 0, i64 24, i1 false) + invoke void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS3_S5_EEEEvSA_T_SB_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %vec, ptr null, ptr %121, ptr %120) + to label %invoke.cont255 unwind label %lpad254 + +invoke.cont255: ; preds = %if.then236 + invoke void @_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE9push_backERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %part_out, ptr noundef nonnull align 8 dereferenceable(24) %vec) + to label %invoke.cont258 unwind label %lpad254 + +invoke.cont258: ; preds = %invoke.cont255 + %122 = load ptr, ptr %vec, align 8 + %123 = load ptr, ptr %_M_finish.i444, align 8 + %cmp.not3.i.i.i.i = icmp eq ptr %122, %123 + br i1 %cmp.not3.i.i.i.i, label %invoke.cont.i, label %for.body.i.i.i.i + +for.body.i.i.i.i: ; preds = %invoke.cont258, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i + %__first.addr.04.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i ], [ %122, %invoke.cont258 ] + %124 = load ptr, ptr %__first.addr.04.i.i.i.i, align 8 + %bf.load.i.i.i.i.i.i.i = load i64, ptr %124, align 8 + %125 = and i64 %bf.load.i.i.i.i.i.i.i, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i = icmp eq i64 %125, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i, label %if.then.i.i.i.i.i.i.i + +if.then.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i + %bf.value.i.i.i.i.i.i.i = add i64 %bf.load.i.i.i.i.i.i.i, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i = and i64 %bf.value.i.i.i.i.i.i.i, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i.i.i, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i = or disjoint i64 %bf.shl.i.i.i.i.i.i.i, %bf.clear7.i.i.i.i.i.i.i + store i64 %bf.set.i.i.i.i.i.i.i, ptr %124, align 8 + %cmp12.i.i.i.i.i.i.i = icmp eq i64 %bf.shl.i.i.i.i.i.i.i, 0 + br i1 %cmp12.i.i.i.i.i.i.i, label %if.then13.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i + +if.then13.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %124) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i unwind label %terminate.lpad.i.i.i.i.i.i + +terminate.lpad.i.i.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i + %126 = landingpad { ptr, i32 } + catch ptr null + %127 = extractvalue { ptr, i32 } %126, 0 + call void @__clang_call_terminate(ptr %127) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i, %for.body.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i, i64 8 + %cmp.not.i.i.i.i445 = icmp eq ptr %incdec.ptr.i.i.i.i, %123 + br i1 %cmp.not.i.i.i.i445, label %invoke.contthread-pre-split.i, label %for.body.i.i.i.i, !llvm.loop !21 + +invoke.contthread-pre-split.i: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i + %.pr.i = load ptr, ptr %vec, align 8 + br label %invoke.cont.i + +invoke.cont.i: ; preds = %invoke.contthread-pre-split.i, %invoke.cont258 + %128 = phi ptr [ %.pr.i, %invoke.contthread-pre-split.i ], [ %122, %invoke.cont258 ] + %tobool.not.i.i.i = icmp eq ptr %128, null + br i1 %tobool.not.i.i.i, label %for.inc261, label %if.then.i.i.i + +if.then.i.i.i: ; preds = %invoke.cont.i + call void @_ZdlPv(ptr noundef nonnull %128) #26 + br label %for.inc261 + +lpad254: ; preds = %if.then236, %invoke.cont255 + %129 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %vec) #23 + br label %ehcleanup537 + +for.inc261: ; preds = %if.then.i.i.i, %invoke.cont.i, %for.body231 + %call.i = call noundef ptr @_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base(ptr noundef %it.sroa.0.01771) #27 + %cmp.i432.not = icmp eq ptr %call.i, %1 + br i1 %cmp.i432.not, label %for.end263, label %for.body231, !llvm.loop !278 + +for.end263: ; preds = %for.inc261, %entry, %for.end223 + %130 = load ptr, ptr %_M_left.i.i.i.i.i23, align 8 + %cmp.i448.not1772 = icmp eq ptr %130, %2 + br i1 %cmp.i448.not1772, label %for.end307, label %for.body272.lr.ph + +for.body272.lr.ph: ; preds = %for.end263 + %_M_finish.i465 = getelementptr inbounds i8, ptr %vec278, i64 8 + br label %for.body272 + +for.body272: ; preds = %for.body272.lr.ph, %for.inc305 + %it264.sroa.0.01773 = phi ptr [ %130, %for.body272.lr.ph ], [ %call.i488, %for.inc305 ] + %second274 = getelementptr inbounds i8, ptr %it264.sroa.0.01773, i64 40 + %_M_finish.i450 = getelementptr inbounds i8, ptr %it264.sroa.0.01773, i64 48 + %131 = load ptr, ptr %_M_finish.i450, align 8 + %132 = load ptr, ptr %second274, align 8 + %sub.ptr.lhs.cast.i451 = ptrtoint ptr %131 to i64 + %sub.ptr.rhs.cast.i452 = ptrtoint ptr %132 to i64 + %sub.ptr.sub.i453 = sub i64 %sub.ptr.lhs.cast.i451, %sub.ptr.rhs.cast.i452 + %cmp276 = icmp ugt i64 %sub.ptr.sub.i453, 8 + br i1 %cmp276, label %if.then277, label %for.inc305 + +if.then277: ; preds = %for.body272 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %vec278, i8 0, i64 24, i1 false) + invoke void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS3_S5_EEEEvSA_T_SB_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %vec278, ptr null, ptr %132, ptr %131) + to label %invoke.cont297 unwind label %lpad296 + +invoke.cont297: ; preds = %if.then277 + invoke void @_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE9push_backERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %part_out, ptr noundef nonnull align 8 dereferenceable(24) %vec278) + to label %invoke.cont301 unwind label %lpad296 + +invoke.cont301: ; preds = %invoke.cont297 + %133 = load ptr, ptr %vec278, align 8 + %134 = load ptr, ptr %_M_finish.i465, align 8 + %cmp.not3.i.i.i.i466 = icmp eq ptr %133, %134 + br i1 %cmp.not3.i.i.i.i466, label %invoke.cont.i482, label %for.body.i.i.i.i467 + +for.body.i.i.i.i467: ; preds = %invoke.cont301, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i477 + %__first.addr.04.i.i.i.i468 = phi ptr [ %incdec.ptr.i.i.i.i478, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i477 ], [ %133, %invoke.cont301 ] + %135 = load ptr, ptr %__first.addr.04.i.i.i.i468, align 8 + %bf.load.i.i.i.i.i.i.i469 = load i64, ptr %135, align 8 + %136 = and i64 %bf.load.i.i.i.i.i.i.i469, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i470 = icmp eq i64 %136, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i470, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i477, label %if.then.i.i.i.i.i.i.i471 + +if.then.i.i.i.i.i.i.i471: ; preds = %for.body.i.i.i.i467 + %bf.value.i.i.i.i.i.i.i472 = add i64 %bf.load.i.i.i.i.i.i.i469, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i473 = and i64 %bf.value.i.i.i.i.i.i.i472, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i474 = and i64 %bf.load.i.i.i.i.i.i.i469, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i475 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i473, %bf.clear7.i.i.i.i.i.i.i474 + store i64 %bf.set.i.i.i.i.i.i.i475, ptr %135, align 8 + %cmp12.i.i.i.i.i.i.i476 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i473, 0 + br i1 %cmp12.i.i.i.i.i.i.i476, label %if.then13.i.i.i.i.i.i.i485, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i477 + +if.then13.i.i.i.i.i.i.i485: ; preds = %if.then.i.i.i.i.i.i.i471 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %135) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i477 unwind label %terminate.lpad.i.i.i.i.i.i486 + +terminate.lpad.i.i.i.i.i.i486: ; preds = %if.then13.i.i.i.i.i.i.i485 + %137 = landingpad { ptr, i32 } + catch ptr null + %138 = extractvalue { ptr, i32 } %137, 0 + call void @__clang_call_terminate(ptr %138) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i477: ; preds = %if.then13.i.i.i.i.i.i.i485, %if.then.i.i.i.i.i.i.i471, %for.body.i.i.i.i467 + %incdec.ptr.i.i.i.i478 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i468, i64 8 + %cmp.not.i.i.i.i479 = icmp eq ptr %incdec.ptr.i.i.i.i478, %134 + br i1 %cmp.not.i.i.i.i479, label %invoke.contthread-pre-split.i480, label %for.body.i.i.i.i467, !llvm.loop !21 + +invoke.contthread-pre-split.i480: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i477 + %.pr.i481 = load ptr, ptr %vec278, align 8 + br label %invoke.cont.i482 + +invoke.cont.i482: ; preds = %invoke.contthread-pre-split.i480, %invoke.cont301 + %139 = phi ptr [ %.pr.i481, %invoke.contthread-pre-split.i480 ], [ %133, %invoke.cont301 ] + %tobool.not.i.i.i483 = icmp eq ptr %139, null + br i1 %tobool.not.i.i.i483, label %for.inc305, label %if.then.i.i.i484 + +if.then.i.i.i484: ; preds = %invoke.cont.i482 + call void @_ZdlPv(ptr noundef nonnull %139) #26 + br label %for.inc305 + +lpad296: ; preds = %if.then277, %invoke.cont297 + %140 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %vec278) #23 + br label %ehcleanup537 + +for.inc305: ; preds = %if.then.i.i.i484, %invoke.cont.i482, %for.body272 + %call.i488 = call noundef ptr @_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base(ptr noundef %it264.sroa.0.01773) #27 + %cmp.i448.not = icmp eq ptr %call.i488, %2 + br i1 %cmp.i448.not, label %for.end307, label %for.body272, !llvm.loop !279 + +for.end307: ; preds = %for.inc305, %for.end263 + %141 = load ptr, ptr %_M_left.i.i.i.i.i, align 8 + %cmp.i491.not1803 = icmp eq ptr %141, %0 + br i1 %cmp.i491.not1803, label %for.end536, label %for.body316.lr.ph + +for.body316.lr.ph: ; preds = %for.end307 + %142 = getelementptr inbounds i8, ptr %dni_rem, i64 8 + %_M_parent.i.i.i.i.i498 = getelementptr inbounds i8, ptr %dni_rem, i64 16 + %_M_left.i.i.i.i.i499 = getelementptr inbounds i8, ptr %dni_rem, i64 24 + %_M_right.i.i.i.i.i500 = getelementptr inbounds i8, ptr %dni_rem, i64 32 + %_M_node_count.i.i.i.i.i501 = getelementptr inbounds i8, ptr %dni_rem, i64 40 + %_M_parent.i.i.i.i.i527 = getelementptr inbounds i8, ptr %dni, i64 16 + %add.ptr.i.i.i.i528 = getelementptr inbounds i8, ptr %dni, i64 8 + %_M_parent.i.i.i.i.i561 = getelementptr inbounds i8, ptr %cn, i64 16 + %add.ptr.i.i.i.i562 = getelementptr inbounds i8, ptr %cn, i64 8 + %143 = ptrtoint ptr %n to i64 + %_M_node_count.i.i.i1341 = getelementptr inbounds i8, ptr %cn, i64 40 + %_M_node.i.i = getelementptr inbounds i8, ptr %__z.i, i64 8 + %_M_finish.i.i774 = getelementptr inbounds i8, ptr %split_new_part, i64 8 + %144 = ptrtoint ptr %n407 to i64 + %d_equalityEngine.i = getelementptr inbounds i8, ptr %this, i64 160 + %_M_finish.i.i937 = getelementptr inbounds i8, ptr %exp, i64 8 + %_M_end_of_storage.i.i938 = getelementptr inbounds i8, ptr %exp, i64 16 + %_M_finish.i1057 = getelementptr inbounds i8, ptr %next_split_new_part, i64 8 + %_M_finish.i1058 = getelementptr inbounds i8, ptr %c_part_out, i64 8 + %_M_finish.i1156 = getelementptr inbounds i8, ptr %part_out, i64 8 + br label %for.body316 + +for.body316: ; preds = %for.body316.lr.ph, %for.inc534 + %it308.sroa.0.01804 = phi ptr [ %141, %for.body316.lr.ph ], [ %call.i1307, %for.inc534 ] + %second318 = getelementptr inbounds i8, ptr %it308.sroa.0.01804, i64 40 + %_M_finish.i493 = getelementptr inbounds i8, ptr %it308.sroa.0.01804, i64 48 + %145 = load ptr, ptr %_M_finish.i493, align 8 + %146 = load ptr, ptr %second318, align 8 + %sub.ptr.lhs.cast.i494 = ptrtoint ptr %145 to i64 + %sub.ptr.rhs.cast.i495 = ptrtoint ptr %146 to i64 + %sub.ptr.sub.i496 = sub i64 %sub.ptr.lhs.cast.i494, %sub.ptr.rhs.cast.i495 + %cmp320 = icmp ugt i64 %sub.ptr.sub.i496, 8 + br i1 %cmp320, label %if.then321, label %for.inc534 + +if.then321: ; preds = %for.body316 + store i32 0, ptr %142, align 8 + store ptr null, ptr %_M_parent.i.i.i.i.i498, align 8 + store ptr %142, ptr %_M_left.i.i.i.i.i499, align 8 + store ptr %142, ptr %_M_right.i.i.i.i.i500, align 8 + store i64 0, ptr %_M_node_count.i.i.i.i.i501, align 8 + %147 = load ptr, ptr %second318, align 8 + %cmp3281778.not = icmp eq ptr %145, %147 + br i1 %cmp3281778.not, label %for.end352, label %for.body329 + +for.body329: ; preds = %if.then321, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732 + %148 = phi ptr [ %231, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732 ], [ %147, %if.then321 ] + %conv3241780 = phi i64 [ %conv324, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732 ], [ 0, %if.then321 ] + %i322.01779 = phi i32 [ %inc351, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732 ], [ 0, %if.then321 ] + %add.ptr.i509 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %148, i64 %conv3241780 + %149 = load ptr, ptr %add.ptr.i509, align 8 + store ptr %149, ptr %n, align 8 + %bf.load.i.i510 = load i64, ptr %149, align 8 + %bf.lshr.i.i511 = lshr i64 %bf.load.i.i510, 40 + %150 = trunc nuw nsw i64 %bf.lshr.i.i511 to i32 + %bf.cast.i.i512 = and i32 %150, 1048575 + %cmp.i.i513 = icmp samesign ult i32 %bf.cast.i.i512, 1048574 + br i1 %cmp.i.i513, label %if.then.i.i518, label %if.else.i.i514 + +if.then.i.i518: ; preds = %for.body329 + %bf.value.i.i519 = add i64 %bf.load.i.i510, 1099511627776 + %bf.shl.i.i520 = and i64 %bf.value.i.i519, 1152920405095219200 + %bf.clear7.i.i521 = and i64 %bf.load.i.i510, -1152920405095219201 + %bf.set.i.i522 = or disjoint i64 %bf.shl.i.i520, %bf.clear7.i.i521 + store i64 %bf.set.i.i522, ptr %149, align 8 + br label %invoke.cont335 + +if.else.i.i514: ; preds = %for.body329 + %cmp12.i.i515 = icmp eq i32 %bf.cast.i.i512, 1048574 + br i1 %cmp12.i.i515, label %if.then13.i.i516, label %invoke.cont335 + +if.then13.i.i516: ; preds = %if.else.i.i514 + %bf.set23.i.i517 = or i64 %bf.load.i.i510, 1152920405095219200 + store i64 %bf.set23.i.i517, ptr %149, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %149) + to label %invoke.cont335 unwind label %lpad334 + +invoke.cont335: ; preds = %if.else.i.i514, %if.then.i.i518, %if.then13.i.i516 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i525) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i526) + %151 = load ptr, ptr %_M_parent.i.i.i.i.i527, align 8 + %cmp.not5.i.i.i.i529 = icmp eq ptr %151, null + br i1 %cmp.not5.i.i.i.i529, label %if.then.i554, label %while.body.lr.ph.i.i.i.i530 + +while.body.lr.ph.i.i.i.i530: ; preds = %invoke.cont335 + %152 = load ptr, ptr %n, align 8 + %bf.load3.i.i.i.i.i.i531 = load i64, ptr %152, align 8 + %bf.clear4.i.i.i.i.i.i532 = and i64 %bf.load3.i.i.i.i.i.i531, 1099511627775 + br label %while.body.i.i.i.i533 + +while.body.i.i.i.i533: ; preds = %while.body.i.i.i.i533, %while.body.lr.ph.i.i.i.i530 + %__x.addr.07.i.i.i.i534 = phi ptr [ %151, %while.body.lr.ph.i.i.i.i530 ], [ %__x.addr.1.i.i.i.i543, %while.body.i.i.i.i533 ] + %__y.addr.06.i.i.i.i535 = phi ptr [ %add.ptr.i.i.i.i528, %while.body.lr.ph.i.i.i.i530 ], [ %__y.addr.1.i.i.i.i540, %while.body.i.i.i.i533 ] + %_M_storage.i.i.i.i.i.i536 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i534, i64 32 + %153 = load ptr, ptr %_M_storage.i.i.i.i.i.i536, align 8 + %bf.load.i.i.i.i.i.i537 = load i64, ptr %153, align 8 + %bf.clear.i.i.i.i.i.i538 = and i64 %bf.load.i.i.i.i.i.i537, 1099511627775 + %cmp.i.i.i.i.i.i539 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i538, %bf.clear4.i.i.i.i.i.i532 + %__y.addr.1.i.i.i.i540 = select i1 %cmp.i.i.i.i.i.i539, ptr %__y.addr.06.i.i.i.i535, ptr %__x.addr.07.i.i.i.i534 + %__x.addr.1.in.v.i.i.i.i541 = select i1 %cmp.i.i.i.i.i.i539, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i542 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i534, i64 %__x.addr.1.in.v.i.i.i.i541 + %__x.addr.1.i.i.i.i543 = load ptr, ptr %__x.addr.1.in.i.i.i.i542, align 8 + %cmp.not.i.i.i.i544 = icmp eq ptr %__x.addr.1.i.i.i.i543, null + br i1 %cmp.not.i.i.i.i544, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i545, label %while.body.i.i.i.i533, !llvm.loop !275 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i545: ; preds = %while.body.i.i.i.i533 + %cmp.i.i546 = icmp eq ptr %__y.addr.1.i.i.i.i540, %add.ptr.i.i.i.i528 + br i1 %cmp.i.i546, label %if.then.i554, label %lor.rhs.i547 + +lor.rhs.i547: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i545 + %_M_storage.i.i.i548 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i540, i64 32 + %154 = load ptr, ptr %_M_storage.i.i.i548, align 8 + %bf.load3.i.i.i549 = load i64, ptr %154, align 8 + %bf.clear4.i.i.i550 = and i64 %bf.load3.i.i.i549, 1099511627775 + %cmp.i.i.i551 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i532, %bf.clear4.i.i.i550 + br i1 %cmp.i.i.i551, label %if.then.i554, label %invoke.cont337 + +if.then.i554: ; preds = %lor.rhs.i547, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i545, %invoke.cont335 + %__y.addr.0.lcssa.i.i.i9.i555 = phi ptr [ %__y.addr.1.i.i.i.i540, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i545 ], [ %__y.addr.1.i.i.i.i540, %lor.rhs.i547 ], [ %add.ptr.i.i.i.i528, %invoke.cont335 ] + store ptr %n, ptr %ref.tmp9.i525, align 8 + %call12.i557 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St3mapIS3_iSt4lessIS3_ESaIS4_IS5_iEEEESt10_Select1stISC_ES8_SaISC_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESL_IJEEEEESt17_Rb_tree_iteratorISC_ESt23_Rb_tree_const_iteratorISC_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %dni, ptr %__y.addr.0.lcssa.i.i.i9.i555, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i525, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i526) + to label %invoke.cont337 unwind label %lpad336 + +invoke.cont337: ; preds = %lor.rhs.i547, %if.then.i554 + %__i.sroa.0.0.i552 = phi ptr [ %__y.addr.1.i.i.i.i540, %lor.rhs.i547 ], [ %call12.i557, %if.then.i554 ] + %second.i553 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i552, i64 40 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i525) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i526) + %155 = load ptr, ptr %_M_parent.i.i.i.i.i561, align 8 + %cmp.not5.i.i.i.i563 = icmp eq ptr %155, null + br i1 %cmp.not5.i.i.i.i563, label %if.then.i588, label %while.body.lr.ph.i.i.i.i564 + +while.body.lr.ph.i.i.i.i564: ; preds = %invoke.cont337 + %156 = load ptr, ptr %n, align 8 + %bf.load3.i.i.i.i.i.i565 = load i64, ptr %156, align 8 + %bf.clear4.i.i.i.i.i.i566 = and i64 %bf.load3.i.i.i.i.i.i565, 1099511627775 + br label %while.body.i.i.i.i567 + +while.body.i.i.i.i567: ; preds = %while.body.i.i.i.i567, %while.body.lr.ph.i.i.i.i564 + %__x.addr.07.i.i.i.i568 = phi ptr [ %155, %while.body.lr.ph.i.i.i.i564 ], [ %__x.addr.1.i.i.i.i577, %while.body.i.i.i.i567 ] + %__y.addr.06.i.i.i.i569 = phi ptr [ %add.ptr.i.i.i.i562, %while.body.lr.ph.i.i.i.i564 ], [ %__y.addr.1.i.i.i.i574, %while.body.i.i.i.i567 ] + %_M_storage.i.i.i.i.i.i570 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i568, i64 32 + %157 = load ptr, ptr %_M_storage.i.i.i.i.i.i570, align 8 + %bf.load.i.i.i.i.i.i571 = load i64, ptr %157, align 8 + %bf.clear.i.i.i.i.i.i572 = and i64 %bf.load.i.i.i.i.i.i571, 1099511627775 + %cmp.i.i.i.i.i.i573 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i572, %bf.clear4.i.i.i.i.i.i566 + %__y.addr.1.i.i.i.i574 = select i1 %cmp.i.i.i.i.i.i573, ptr %__y.addr.06.i.i.i.i569, ptr %__x.addr.07.i.i.i.i568 + %__x.addr.1.in.v.i.i.i.i575 = select i1 %cmp.i.i.i.i.i.i573, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i576 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i568, i64 %__x.addr.1.in.v.i.i.i.i575 + %__x.addr.1.i.i.i.i577 = load ptr, ptr %__x.addr.1.in.i.i.i.i576, align 8 + %cmp.not.i.i.i.i578 = icmp eq ptr %__x.addr.1.i.i.i.i577, null + br i1 %cmp.not.i.i.i.i578, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i579, label %while.body.i.i.i.i567, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i579: ; preds = %while.body.i.i.i.i567 + %cmp.i.i580 = icmp eq ptr %__y.addr.1.i.i.i.i574, %add.ptr.i.i.i.i562 + br i1 %cmp.i.i580, label %if.then.i588, label %lor.rhs.i581 + +lor.rhs.i581: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i579 + %_M_storage.i.i.i582 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i574, i64 32 + %158 = load ptr, ptr %_M_storage.i.i.i582, align 8 + %bf.load3.i.i.i583 = load i64, ptr %158, align 8 + %bf.clear4.i.i.i584 = and i64 %bf.load3.i.i.i583, 1099511627775 + %cmp.i.i.i585 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i566, %bf.clear4.i.i.i584 + br i1 %cmp.i.i.i585, label %if.then.i588, label %invoke.cont339 + +if.then.i588: ; preds = %lor.rhs.i581, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i579, %invoke.cont337 + %__y.addr.0.lcssa.i.i.i9.i589 = phi ptr [ %__y.addr.1.i.i.i.i574, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i579 ], [ %__y.addr.1.i.i.i.i574, %lor.rhs.i581 ], [ %add.ptr.i.i.i.i562, %invoke.cont337 ] + %call5.i.i.i.i.i.i1342 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #24 + to label %call5.i.i.i.i.i.i.noexc unwind label %lpad336 + +call5.i.i.i.i.i.i.noexc: ; preds = %if.then.i588 + %_M_storage.i.i.i.i.i1330 = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1342, i64 32 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i) + store i64 %143, ptr %agg.tmp6.i.i.i.i.i.i, align 8 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i) + invoke void @_ZNSt4pairIKN4cvc58internal12NodeTemplateILb1EEES3_EC2IJRS4_EJLm0EEJETpTnmJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE(ptr noundef nonnull align 8 dereferenceable(16) %_M_storage.i.i.i.i.i1330, ptr noundef nonnull align 8 dereferenceable(8) %agg.tmp6.i.i.i.i.i.i, ptr noundef nonnull align 1 dereferenceable(1) %__second.i.i.i.i.i.i.i) + to label %invoke.cont.i1331 unwind label %lpad.i.i.i.i + +lpad.i.i.i.i: ; preds = %call5.i.i.i.i.i.i.noexc + %159 = landingpad { ptr, i32 } + catch ptr null + %160 = extractvalue { ptr, i32 } %159, 0 + %161 = call ptr @__cxa_begin_catch(ptr %160) #23 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1342) #26 + invoke void @__cxa_rethrow() #29 + to label %unreachable.i.i.i.i unwind label %lpad7.i.i.i.i + +lpad7.i.i.i.i: ; preds = %lpad.i.i.i.i + %162 = landingpad { ptr, i32 } + cleanup + invoke void @__cxa_end_catch() + to label %lpad336.body unwind label %terminate.lpad.i.i.i.i + +terminate.lpad.i.i.i.i: ; preds = %lpad7.i.i.i.i + %163 = landingpad { ptr, i32 } + catch ptr null + %164 = extractvalue { ptr, i32 } %163, 0 + call void @__clang_call_terminate(ptr %164) #25 + unreachable + +unreachable.i.i.i.i: ; preds = %lpad.i.i.i.i + unreachable + +invoke.cont.i1331: ; preds = %call5.i.i.i.i.i.i.noexc + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i) + %call8.i = invoke { ptr, ptr } @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS6_ERS5_(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr %__y.addr.0.lcssa.i.i.i9.i589, ptr noundef nonnull align 8 dereferenceable(8) %_M_storage.i.i.i.i.i1330) + to label %invoke.cont7.i unwind label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i + +invoke.cont7.i: ; preds = %invoke.cont.i1331 + %165 = extractvalue { ptr, ptr } %call8.i, 0 + %166 = extractvalue { ptr, ptr } %call8.i, 1 + %tobool.not.i = icmp eq ptr %166, null + br i1 %tobool.not.i, label %if.then.i7.i, label %if.then.i1332 + +if.then.i1332: ; preds = %invoke.cont7.i + %cmp.not.i.i.i1333 = icmp ne ptr %165, null + %cmp2.i.i.i = icmp eq ptr %166, %add.ptr.i.i.i.i562 + %or.cond.i.i.i = select i1 %cmp.not.i.i.i1333, i1 true, i1 %cmp2.i.i.i + br i1 %or.cond.i.i.i, label %cleanup.thread.i, label %lor.rhs.i.i.i + +lor.rhs.i.i.i: ; preds = %if.then.i1332 + %_M_storage.i.i.i.i.i.i1335 = getelementptr inbounds i8, ptr %166, i64 32 + %167 = load ptr, ptr %_M_storage.i.i.i.i.i1330, align 8 + %bf.load.i.i.i.i.i1336 = load i64, ptr %167, align 8 + %bf.clear.i.i.i.i.i1337 = and i64 %bf.load.i.i.i.i.i1336, 1099511627775 + %168 = load ptr, ptr %_M_storage.i.i.i.i.i.i1335, align 8 + %bf.load3.i.i.i.i.i1338 = load i64, ptr %168, align 8 + %bf.clear4.i.i.i.i.i1339 = and i64 %bf.load3.i.i.i.i.i1338, 1099511627775 + %cmp.i.i.i.i.i1340 = icmp samesign ult i64 %bf.clear.i.i.i.i.i1337, %bf.clear4.i.i.i.i.i1339 + br label %cleanup.thread.i + +cleanup.thread.i: ; preds = %lor.rhs.i.i.i, %if.then.i1332 + %169 = phi i1 [ true, %if.then.i1332 ], [ %cmp.i.i.i.i.i1340, %lor.rhs.i.i.i ] + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %169, ptr noundef nonnull %call5.i.i.i.i.i.i1342, ptr noundef nonnull %166, ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i.i.i.i562) #23 + %170 = load i64, ptr %_M_node_count.i.i.i1341, align 8 + %inc.i.i.i = add i64 %170, 1 + store i64 %inc.i.i.i, ptr %_M_node_count.i.i.i1341, align 8 + br label %invoke.cont339 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i: ; preds = %invoke.cont.i1331 + %171 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr noundef nonnull %call5.i.i.i.i.i.i1342) #23 + br label %lpad336.body + +if.then.i7.i: ; preds = %invoke.cont7.i + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr noundef nonnull %call5.i.i.i.i.i.i1342) #23 + br label %invoke.cont339 + +invoke.cont339: ; preds = %lor.rhs.i581, %if.then.i7.i, %cleanup.thread.i + %__i.sroa.0.0.i586 = phi ptr [ %__y.addr.1.i.i.i.i574, %lor.rhs.i581 ], [ %call5.i.i.i.i.i.i1342, %cleanup.thread.i ], [ %165, %if.then.i7.i ] + %second.i587 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i586, i64 40 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i593) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i594) + %_M_parent.i.i.i.i.i595 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i552, i64 56 + %172 = load ptr, ptr %_M_parent.i.i.i.i.i595, align 8 + %add.ptr.i.i.i.i596 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i552, i64 48 + %cmp.not5.i.i.i.i597 = icmp eq ptr %172, null + br i1 %cmp.not5.i.i.i.i597, label %if.then.i621, label %while.body.lr.ph.i.i.i.i598 + +while.body.lr.ph.i.i.i.i598: ; preds = %invoke.cont339 + %173 = load ptr, ptr %second.i587, align 8 + %bf.load3.i.i.i.i.i.i599 = load i64, ptr %173, align 8 + %bf.clear4.i.i.i.i.i.i600 = and i64 %bf.load3.i.i.i.i.i.i599, 1099511627775 + br label %while.body.i.i.i.i601 + +while.body.i.i.i.i601: ; preds = %while.body.i.i.i.i601, %while.body.lr.ph.i.i.i.i598 + %__x.addr.07.i.i.i.i602 = phi ptr [ %172, %while.body.lr.ph.i.i.i.i598 ], [ %__x.addr.1.i.i.i.i611, %while.body.i.i.i.i601 ] + %__y.addr.06.i.i.i.i603 = phi ptr [ %add.ptr.i.i.i.i596, %while.body.lr.ph.i.i.i.i598 ], [ %__y.addr.1.i.i.i.i608, %while.body.i.i.i.i601 ] + %_M_storage.i.i.i.i.i.i604 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i602, i64 32 + %174 = load ptr, ptr %_M_storage.i.i.i.i.i.i604, align 8 + %bf.load.i.i.i.i.i.i605 = load i64, ptr %174, align 8 + %bf.clear.i.i.i.i.i.i606 = and i64 %bf.load.i.i.i.i.i.i605, 1099511627775 + %cmp.i.i.i.i.i.i607 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i606, %bf.clear4.i.i.i.i.i.i600 + %__y.addr.1.i.i.i.i608 = select i1 %cmp.i.i.i.i.i.i607, ptr %__y.addr.06.i.i.i.i603, ptr %__x.addr.07.i.i.i.i602 + %__x.addr.1.in.v.i.i.i.i609 = select i1 %cmp.i.i.i.i.i.i607, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i610 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i602, i64 %__x.addr.1.in.v.i.i.i.i609 + %__x.addr.1.i.i.i.i611 = load ptr, ptr %__x.addr.1.in.i.i.i.i610, align 8 + %cmp.not.i.i.i.i612 = icmp eq ptr %__x.addr.1.i.i.i.i611, null + br i1 %cmp.not.i.i.i.i612, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEEiSt4lessIS3_ESaISt4pairIKS3_iEEE11lower_boundERS7_.exit.i, label %while.body.i.i.i.i601, !llvm.loop !233 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEEiSt4lessIS3_ESaISt4pairIKS3_iEEE11lower_boundERS7_.exit.i: ; preds = %while.body.i.i.i.i601 + %cmp.i.i613 = icmp eq ptr %__y.addr.1.i.i.i.i608, %add.ptr.i.i.i.i596 + br i1 %cmp.i.i613, label %if.then.i621, label %lor.rhs.i614 + +lor.rhs.i614: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEEiSt4lessIS3_ESaISt4pairIKS3_iEEE11lower_boundERS7_.exit.i + %_M_storage.i.i.i615 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i608, i64 32 + %175 = load ptr, ptr %_M_storage.i.i.i615, align 8 + %bf.load3.i.i.i616 = load i64, ptr %175, align 8 + %bf.clear4.i.i.i617 = and i64 %bf.load3.i.i.i616, 1099511627775 + %cmp.i.i.i618 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i600, %bf.clear4.i.i.i617 + br i1 %cmp.i.i.i618, label %if.then.i621, label %invoke.cont341 + +if.then.i621: ; preds = %lor.rhs.i614, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEEiSt4lessIS3_ESaISt4pairIKS3_iEEE11lower_boundERS7_.exit.i, %invoke.cont339 + %__y.addr.0.lcssa.i.i.i9.i622 = phi ptr [ %__y.addr.1.i.i.i.i608, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEEiSt4lessIS3_ESaISt4pairIKS3_iEEE11lower_boundERS7_.exit.i ], [ %__y.addr.1.i.i.i.i608, %lor.rhs.i614 ], [ %add.ptr.i.i.i.i596, %invoke.cont339 ] + store ptr %second.i587, ptr %ref.tmp9.i593, align 8 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %__z.i) + store ptr %second.i553, ptr %__z.i, align 8 + %call5.i.i.i.i.i.i1367 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #24 + to label %call5.i.i.i.i.i.i.noexc1366 unwind label %lpad336 + +call5.i.i.i.i.i.i.noexc1366: ; preds = %if.then.i621 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE17_M_construct_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESH_IJEEEEEvPSt13_Rb_tree_nodeIS6_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %second.i553, ptr noundef nonnull %call5.i.i.i.i.i.i1367, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i593, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i594) + to label %.noexc1368 unwind label %lpad336 + +.noexc1368: ; preds = %call5.i.i.i.i.i.i.noexc1366 + store ptr %call5.i.i.i.i.i.i1367, ptr %_M_node.i.i, align 8 + %_M_storage.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1367, i64 32 + %call8.i1345 = invoke { ptr, ptr } @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS6_ERS5_(ptr noundef nonnull align 8 dereferenceable(48) %second.i553, ptr %__y.addr.0.lcssa.i.i.i9.i622, ptr noundef nonnull align 8 dereferenceable(8) %_M_storage.i.i.i.i) + to label %invoke.cont7.i1346 unwind label %lpad.i + +invoke.cont7.i1346: ; preds = %.noexc1368 + %176 = extractvalue { ptr, ptr } %call8.i1345, 0 + %177 = extractvalue { ptr, ptr } %call8.i1345, 1 + %tobool.not.i1347 = icmp eq ptr %177, null + br i1 %tobool.not.i1347, label %if.then.i.i1363, label %if.then.i1348 + +if.then.i1348: ; preds = %invoke.cont7.i1346 + %cmp.not.i.i.i1349 = icmp ne ptr %176, null + %cmp2.i.i.i1351 = icmp eq ptr %177, %add.ptr.i.i.i.i596 + %or.cond.i.i.i1352 = select i1 %cmp.not.i.i.i1349, i1 true, i1 %cmp2.i.i.i1351 + br i1 %or.cond.i.i.i1352, label %cleanup.thread.i1360, label %lor.rhs.i.i.i1353 + +lor.rhs.i.i.i1353: ; preds = %if.then.i1348 + %_M_storage.i.i.i.i.i.i1354 = getelementptr inbounds i8, ptr %177, i64 32 + %178 = load ptr, ptr %_M_storage.i.i.i.i, align 8 + %bf.load.i.i.i.i.i1355 = load i64, ptr %178, align 8 + %bf.clear.i.i.i.i.i1356 = and i64 %bf.load.i.i.i.i.i1355, 1099511627775 + %179 = load ptr, ptr %_M_storage.i.i.i.i.i.i1354, align 8 + %bf.load3.i.i.i.i.i1357 = load i64, ptr %179, align 8 + %bf.clear4.i.i.i.i.i1358 = and i64 %bf.load3.i.i.i.i.i1357, 1099511627775 + %cmp.i.i.i.i.i1359 = icmp samesign ult i64 %bf.clear.i.i.i.i.i1356, %bf.clear4.i.i.i.i.i1358 + br label %cleanup.thread.i1360 + +cleanup.thread.i1360: ; preds = %lor.rhs.i.i.i1353, %if.then.i1348 + %180 = phi i1 [ true, %if.then.i1348 ], [ %cmp.i.i.i.i.i1359, %lor.rhs.i.i.i1353 ] + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %180, ptr noundef nonnull %call5.i.i.i.i.i.i1367, ptr noundef nonnull %177, ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i.i.i.i596) #23 + %_M_node_count.i.i.i1361 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i552, i64 80 + %181 = load i64, ptr %_M_node_count.i.i.i1361, align 8 + %inc.i.i.i1362 = add i64 %181, 1 + store i64 %inc.i.i.i1362, ptr %_M_node_count.i.i.i1361, align 8 + br label %call12.i.noexc623 + +lpad.i: ; preds = %.noexc1368 + %182 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %__z.i) #23 + br label %lpad336.body + +if.then.i.i1363: ; preds = %invoke.cont7.i1346 + %183 = load ptr, ptr %_M_storage.i.i.i.i, align 8 + %bf.load.i.i.i.i.i.i.i.i.i = load i64, ptr %183, align 8 + %184 = and i64 %bf.load.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i1364 = icmp eq i64 %184, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i1364, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit.i.i, label %if.then.i.i.i.i.i.i.i.i.i1365 + +if.then.i.i.i.i.i.i.i.i.i1365: ; preds = %if.then.i.i1363 + %bf.value.i.i.i.i.i.i.i.i.i = add i64 %bf.load.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i = and i64 %bf.value.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i.i.i.i.i, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i, %bf.clear7.i.i.i.i.i.i.i.i.i + store i64 %bf.set.i.i.i.i.i.i.i.i.i, ptr %183, align 8 + %cmp12.i.i.i.i.i.i.i.i.i = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i, label %if.then13.i.i.i.i.i.i.i.i.i, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit.i.i + +if.then13.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i1365 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %183) + to label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit.i.i unwind label %terminate.lpad.i.i.i.i.i.i.i.i + +terminate.lpad.i.i.i.i.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i.i.i + %185 = landingpad { ptr, i32 } + catch ptr null + %186 = extractvalue { ptr, i32 } %185, 0 + call void @__clang_call_terminate(ptr %186) #25 + unreachable + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit.i.i: ; preds = %if.then13.i.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i.i1365, %if.then.i.i1363 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1367) #26 + br label %call12.i.noexc623 + +call12.i.noexc623: ; preds = %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit.i.i, %cleanup.thread.i1360 + %retval.sroa.0.07.i = phi ptr [ %call5.i.i.i.i.i.i1367, %cleanup.thread.i1360 ], [ %176, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit.i.i ] + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %__z.i) + br label %invoke.cont341 + +invoke.cont341: ; preds = %call12.i.noexc623, %lor.rhs.i614 + %__i.sroa.0.0.i619 = phi ptr [ %retval.sroa.0.07.i, %call12.i.noexc623 ], [ %__y.addr.1.i.i.i.i608, %lor.rhs.i614 ] + %second.i620 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i619, i64 40 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i593) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i594) + store i32 1, ptr %second.i620, align 4 + %187 = load ptr, ptr %_M_parent.i.i.i.i.i561, align 8 + %cmp.not5.i.i.i.i629 = icmp eq ptr %187, null + br i1 %cmp.not5.i.i.i.i629, label %if.then.i654, label %while.body.lr.ph.i.i.i.i630 + +while.body.lr.ph.i.i.i.i630: ; preds = %invoke.cont341 + %188 = load ptr, ptr %n, align 8 + %bf.load3.i.i.i.i.i.i631 = load i64, ptr %188, align 8 + %bf.clear4.i.i.i.i.i.i632 = and i64 %bf.load3.i.i.i.i.i.i631, 1099511627775 + br label %while.body.i.i.i.i633 + +while.body.i.i.i.i633: ; preds = %while.body.i.i.i.i633, %while.body.lr.ph.i.i.i.i630 + %__x.addr.07.i.i.i.i634 = phi ptr [ %187, %while.body.lr.ph.i.i.i.i630 ], [ %__x.addr.1.i.i.i.i643, %while.body.i.i.i.i633 ] + %__y.addr.06.i.i.i.i635 = phi ptr [ %add.ptr.i.i.i.i562, %while.body.lr.ph.i.i.i.i630 ], [ %__y.addr.1.i.i.i.i640, %while.body.i.i.i.i633 ] + %_M_storage.i.i.i.i.i.i636 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i634, i64 32 + %189 = load ptr, ptr %_M_storage.i.i.i.i.i.i636, align 8 + %bf.load.i.i.i.i.i.i637 = load i64, ptr %189, align 8 + %bf.clear.i.i.i.i.i.i638 = and i64 %bf.load.i.i.i.i.i.i637, 1099511627775 + %cmp.i.i.i.i.i.i639 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i638, %bf.clear4.i.i.i.i.i.i632 + %__y.addr.1.i.i.i.i640 = select i1 %cmp.i.i.i.i.i.i639, ptr %__y.addr.06.i.i.i.i635, ptr %__x.addr.07.i.i.i.i634 + %__x.addr.1.in.v.i.i.i.i641 = select i1 %cmp.i.i.i.i.i.i639, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i642 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i634, i64 %__x.addr.1.in.v.i.i.i.i641 + %__x.addr.1.i.i.i.i643 = load ptr, ptr %__x.addr.1.in.i.i.i.i642, align 8 + %cmp.not.i.i.i.i644 = icmp eq ptr %__x.addr.1.i.i.i.i643, null + br i1 %cmp.not.i.i.i.i644, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i645, label %while.body.i.i.i.i633, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i645: ; preds = %while.body.i.i.i.i633 + %cmp.i.i646 = icmp eq ptr %__y.addr.1.i.i.i.i640, %add.ptr.i.i.i.i562 + br i1 %cmp.i.i646, label %if.then.i654, label %lor.rhs.i647 + +lor.rhs.i647: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i645 + %_M_storage.i.i.i648 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i640, i64 32 + %190 = load ptr, ptr %_M_storage.i.i.i648, align 8 + %bf.load3.i.i.i649 = load i64, ptr %190, align 8 + %bf.clear4.i.i.i650 = and i64 %bf.load3.i.i.i649, 1099511627775 + %cmp.i.i.i651 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i632, %bf.clear4.i.i.i650 + br i1 %cmp.i.i.i651, label %if.then.i654, label %invoke.cont343 + +if.then.i654: ; preds = %lor.rhs.i647, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i645, %invoke.cont341 + %__y.addr.0.lcssa.i.i.i9.i655 = phi ptr [ %__y.addr.1.i.i.i.i640, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i645 ], [ %__y.addr.1.i.i.i.i640, %lor.rhs.i647 ], [ %add.ptr.i.i.i.i562, %invoke.cont341 ] + %call5.i.i.i.i.i.i1403 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #24 + to label %call5.i.i.i.i.i.i.noexc1402 unwind label %lpad336 + +call5.i.i.i.i.i.i.noexc1402: ; preds = %if.then.i654 + %_M_storage.i.i.i.i.i1373 = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1403, i64 32 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1372) + store i64 %143, ptr %agg.tmp6.i.i.i.i.i.i1372, align 8 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1371) + invoke void @_ZNSt4pairIKN4cvc58internal12NodeTemplateILb1EEES3_EC2IJRS4_EJLm0EEJETpTnmJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE(ptr noundef nonnull align 8 dereferenceable(16) %_M_storage.i.i.i.i.i1373, ptr noundef nonnull align 8 dereferenceable(8) %agg.tmp6.i.i.i.i.i.i1372, ptr noundef nonnull align 1 dereferenceable(1) %__second.i.i.i.i.i.i.i1371) + to label %invoke.cont.i1380 unwind label %lpad.i.i.i.i1374 + +lpad.i.i.i.i1374: ; preds = %call5.i.i.i.i.i.i.noexc1402 + %191 = landingpad { ptr, i32 } + catch ptr null + %192 = extractvalue { ptr, i32 } %191, 0 + %193 = call ptr @__cxa_begin_catch(ptr %192) #23 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1403) #26 + invoke void @__cxa_rethrow() #29 + to label %unreachable.i.i.i.i1379 unwind label %lpad7.i.i.i.i1375 + +lpad7.i.i.i.i1375: ; preds = %lpad.i.i.i.i1374 + %194 = landingpad { ptr, i32 } + cleanup + invoke void @__cxa_end_catch() + to label %lpad336.body unwind label %terminate.lpad.i.i.i.i1376 + +terminate.lpad.i.i.i.i1376: ; preds = %lpad7.i.i.i.i1375 + %195 = landingpad { ptr, i32 } + catch ptr null + %196 = extractvalue { ptr, i32 } %195, 0 + call void @__clang_call_terminate(ptr %196) #25 + unreachable + +unreachable.i.i.i.i1379: ; preds = %lpad.i.i.i.i1374 + unreachable + +invoke.cont.i1380: ; preds = %call5.i.i.i.i.i.i.noexc1402 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1371) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1372) + %call8.i1381 = invoke { ptr, ptr } @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS6_ERS5_(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr %__y.addr.0.lcssa.i.i.i9.i655, ptr noundef nonnull align 8 dereferenceable(8) %_M_storage.i.i.i.i.i1373) + to label %invoke.cont7.i1383 unwind label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1382 + +invoke.cont7.i1383: ; preds = %invoke.cont.i1380 + %197 = extractvalue { ptr, ptr } %call8.i1381, 0 + %198 = extractvalue { ptr, ptr } %call8.i1381, 1 + %tobool.not.i1384 = icmp eq ptr %198, null + br i1 %tobool.not.i1384, label %if.then.i7.i1401, label %if.then.i1385 + +if.then.i1385: ; preds = %invoke.cont7.i1383 + %cmp.not.i.i.i1386 = icmp ne ptr %197, null + %cmp2.i.i.i1388 = icmp eq ptr %198, %add.ptr.i.i.i.i562 + %or.cond.i.i.i1389 = select i1 %cmp.not.i.i.i1386, i1 true, i1 %cmp2.i.i.i1388 + br i1 %or.cond.i.i.i1389, label %cleanup.thread.i1397, label %lor.rhs.i.i.i1390 + +lor.rhs.i.i.i1390: ; preds = %if.then.i1385 + %_M_storage.i.i.i.i.i.i1391 = getelementptr inbounds i8, ptr %198, i64 32 + %199 = load ptr, ptr %_M_storage.i.i.i.i.i1373, align 8 + %bf.load.i.i.i.i.i1392 = load i64, ptr %199, align 8 + %bf.clear.i.i.i.i.i1393 = and i64 %bf.load.i.i.i.i.i1392, 1099511627775 + %200 = load ptr, ptr %_M_storage.i.i.i.i.i.i1391, align 8 + %bf.load3.i.i.i.i.i1394 = load i64, ptr %200, align 8 + %bf.clear4.i.i.i.i.i1395 = and i64 %bf.load3.i.i.i.i.i1394, 1099511627775 + %cmp.i.i.i.i.i1396 = icmp samesign ult i64 %bf.clear.i.i.i.i.i1393, %bf.clear4.i.i.i.i.i1395 + br label %cleanup.thread.i1397 + +cleanup.thread.i1397: ; preds = %lor.rhs.i.i.i1390, %if.then.i1385 + %201 = phi i1 [ true, %if.then.i1385 ], [ %cmp.i.i.i.i.i1396, %lor.rhs.i.i.i1390 ] + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %201, ptr noundef nonnull %call5.i.i.i.i.i.i1403, ptr noundef nonnull %198, ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i.i.i.i562) #23 + %202 = load i64, ptr %_M_node_count.i.i.i1341, align 8 + %inc.i.i.i1399 = add i64 %202, 1 + store i64 %inc.i.i.i1399, ptr %_M_node_count.i.i.i1341, align 8 + br label %invoke.cont343 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1382: ; preds = %invoke.cont.i1380 + %203 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr noundef nonnull %call5.i.i.i.i.i.i1403) #23 + br label %lpad336.body + +if.then.i7.i1401: ; preds = %invoke.cont7.i1383 + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr noundef nonnull %call5.i.i.i.i.i.i1403) #23 + br label %invoke.cont343 + +invoke.cont343: ; preds = %lor.rhs.i647, %if.then.i7.i1401, %cleanup.thread.i1397 + %__i.sroa.0.0.i652 = phi ptr [ %__y.addr.1.i.i.i.i640, %lor.rhs.i647 ], [ %call5.i.i.i.i.i.i1403, %cleanup.thread.i1397 ], [ %197, %if.then.i7.i1401 ] + %second.i653 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i652, i64 40 + %204 = load ptr, ptr %_M_parent.i.i.i.i.i498, align 8 + %cmp.not5.i.i.i.i663 = icmp eq ptr %204, null + br i1 %cmp.not5.i.i.i.i663, label %if.then.i688, label %while.body.lr.ph.i.i.i.i664 + +while.body.lr.ph.i.i.i.i664: ; preds = %invoke.cont343 + %205 = load ptr, ptr %n, align 8 + %bf.load3.i.i.i.i.i.i665 = load i64, ptr %205, align 8 + %bf.clear4.i.i.i.i.i.i666 = and i64 %bf.load3.i.i.i.i.i.i665, 1099511627775 + br label %while.body.i.i.i.i667 + +while.body.i.i.i.i667: ; preds = %while.body.i.i.i.i667, %while.body.lr.ph.i.i.i.i664 + %__x.addr.07.i.i.i.i668 = phi ptr [ %204, %while.body.lr.ph.i.i.i.i664 ], [ %__x.addr.1.i.i.i.i677, %while.body.i.i.i.i667 ] + %__y.addr.06.i.i.i.i669 = phi ptr [ %142, %while.body.lr.ph.i.i.i.i664 ], [ %__y.addr.1.i.i.i.i674, %while.body.i.i.i.i667 ] + %_M_storage.i.i.i.i.i.i670 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i668, i64 32 + %206 = load ptr, ptr %_M_storage.i.i.i.i.i.i670, align 8 + %bf.load.i.i.i.i.i.i671 = load i64, ptr %206, align 8 + %bf.clear.i.i.i.i.i.i672 = and i64 %bf.load.i.i.i.i.i.i671, 1099511627775 + %cmp.i.i.i.i.i.i673 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i672, %bf.clear4.i.i.i.i.i.i666 + %__y.addr.1.i.i.i.i674 = select i1 %cmp.i.i.i.i.i.i673, ptr %__y.addr.06.i.i.i.i669, ptr %__x.addr.07.i.i.i.i668 + %__x.addr.1.in.v.i.i.i.i675 = select i1 %cmp.i.i.i.i.i.i673, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i676 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i668, i64 %__x.addr.1.in.v.i.i.i.i675 + %__x.addr.1.i.i.i.i677 = load ptr, ptr %__x.addr.1.in.i.i.i.i676, align 8 + %cmp.not.i.i.i.i678 = icmp eq ptr %__x.addr.1.i.i.i.i677, null + br i1 %cmp.not.i.i.i.i678, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i679, label %while.body.i.i.i.i667, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i679: ; preds = %while.body.i.i.i.i667 + %cmp.i.i680 = icmp eq ptr %__y.addr.1.i.i.i.i674, %142 + br i1 %cmp.i.i680, label %if.then.i688, label %lor.rhs.i681 + +lor.rhs.i681: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i679 + %__y.addr.1.i.i.i.i674.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i673, ptr %__y.addr.06.i.i.i.i669, ptr %__x.addr.07.i.i.i.i668 + %__y.addr.1.i.i.i.i674.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i674.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %207 = load ptr, ptr %__y.addr.1.i.i.i.i674.sroa.sel.v.sroa.sel.v.sroa.sel, align 8 + %bf.load3.i.i.i683 = load i64, ptr %207, align 8 + %bf.clear4.i.i.i684 = and i64 %bf.load3.i.i.i683, 1099511627775 + %cmp.i.i.i685 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i666, %bf.clear4.i.i.i684 + br i1 %cmp.i.i.i685, label %if.then.i688, label %invoke.cont345 + +if.then.i688: ; preds = %lor.rhs.i681, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i679, %invoke.cont343 + %__y.addr.0.lcssa.i.i.i9.i689 = phi ptr [ %__y.addr.1.i.i.i.i674, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i679 ], [ %__y.addr.1.i.i.i.i674, %lor.rhs.i681 ], [ %142, %invoke.cont343 ] + %call5.i.i.i.i.i.i1439 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #24 + to label %call5.i.i.i.i.i.i.noexc1438 unwind label %lpad336 + +call5.i.i.i.i.i.i.noexc1438: ; preds = %if.then.i688 + %_M_storage.i.i.i.i.i1409 = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1439, i64 32 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1408) + store i64 %143, ptr %agg.tmp6.i.i.i.i.i.i1408, align 8 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1407) + invoke void @_ZNSt4pairIKN4cvc58internal12NodeTemplateILb1EEES3_EC2IJRS4_EJLm0EEJETpTnmJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE(ptr noundef nonnull align 8 dereferenceable(16) %_M_storage.i.i.i.i.i1409, ptr noundef nonnull align 8 dereferenceable(8) %agg.tmp6.i.i.i.i.i.i1408, ptr noundef nonnull align 1 dereferenceable(1) %__second.i.i.i.i.i.i.i1407) + to label %invoke.cont.i1416 unwind label %lpad.i.i.i.i1410 + +lpad.i.i.i.i1410: ; preds = %call5.i.i.i.i.i.i.noexc1438 + %208 = landingpad { ptr, i32 } + catch ptr null + %209 = extractvalue { ptr, i32 } %208, 0 + %210 = call ptr @__cxa_begin_catch(ptr %209) #23 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1439) #26 + invoke void @__cxa_rethrow() #29 + to label %unreachable.i.i.i.i1415 unwind label %lpad7.i.i.i.i1411 + +lpad7.i.i.i.i1411: ; preds = %lpad.i.i.i.i1410 + %211 = landingpad { ptr, i32 } + cleanup + invoke void @__cxa_end_catch() + to label %lpad336.body unwind label %terminate.lpad.i.i.i.i1412 + +terminate.lpad.i.i.i.i1412: ; preds = %lpad7.i.i.i.i1411 + %212 = landingpad { ptr, i32 } + catch ptr null + %213 = extractvalue { ptr, i32 } %212, 0 + call void @__clang_call_terminate(ptr %213) #25 + unreachable + +unreachable.i.i.i.i1415: ; preds = %lpad.i.i.i.i1410 + unreachable + +invoke.cont.i1416: ; preds = %call5.i.i.i.i.i.i.noexc1438 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1407) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1408) + %call8.i1417 = invoke { ptr, ptr } @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS6_ERS5_(ptr noundef nonnull align 8 dereferenceable(48) %dni_rem, ptr %__y.addr.0.lcssa.i.i.i9.i689, ptr noundef nonnull align 8 dereferenceable(8) %_M_storage.i.i.i.i.i1409) + to label %invoke.cont7.i1419 unwind label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1418 + +invoke.cont7.i1419: ; preds = %invoke.cont.i1416 + %214 = extractvalue { ptr, ptr } %call8.i1417, 0 + %215 = extractvalue { ptr, ptr } %call8.i1417, 1 + %tobool.not.i1420 = icmp eq ptr %215, null + br i1 %tobool.not.i1420, label %if.then.i7.i1437, label %if.then.i1421 + +if.then.i1421: ; preds = %invoke.cont7.i1419 + %cmp.not.i.i.i1422 = icmp ne ptr %214, null + %cmp2.i.i.i1424 = icmp eq ptr %215, %142 + %or.cond.i.i.i1425 = or i1 %cmp.not.i.i.i1422, %cmp2.i.i.i1424 + br i1 %or.cond.i.i.i1425, label %cleanup.thread.i1433, label %lor.rhs.i.i.i1426 + +lor.rhs.i.i.i1426: ; preds = %if.then.i1421 + %_M_storage.i.i.i.i.i.i1427 = getelementptr inbounds i8, ptr %215, i64 32 + %216 = load ptr, ptr %_M_storage.i.i.i.i.i1409, align 8 + %bf.load.i.i.i.i.i1428 = load i64, ptr %216, align 8 + %bf.clear.i.i.i.i.i1429 = and i64 %bf.load.i.i.i.i.i1428, 1099511627775 + %217 = load ptr, ptr %_M_storage.i.i.i.i.i.i1427, align 8 + %bf.load3.i.i.i.i.i1430 = load i64, ptr %217, align 8 + %bf.clear4.i.i.i.i.i1431 = and i64 %bf.load3.i.i.i.i.i1430, 1099511627775 + %cmp.i.i.i.i.i1432 = icmp samesign ult i64 %bf.clear.i.i.i.i.i1429, %bf.clear4.i.i.i.i.i1431 + br label %cleanup.thread.i1433 + +cleanup.thread.i1433: ; preds = %lor.rhs.i.i.i1426, %if.then.i1421 + %218 = phi i1 [ true, %if.then.i1421 ], [ %cmp.i.i.i.i.i1432, %lor.rhs.i.i.i1426 ] + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %218, ptr noundef nonnull %call5.i.i.i.i.i.i1439, ptr noundef nonnull %215, ptr noundef nonnull align 8 dereferenceable(32) %142) #23 + %219 = load i64, ptr %_M_node_count.i.i.i.i.i501, align 8 + %inc.i.i.i1435 = add i64 %219, 1 + store i64 %inc.i.i.i1435, ptr %_M_node_count.i.i.i.i.i501, align 8 + br label %invoke.cont345 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1418: ; preds = %invoke.cont.i1416 + %220 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %dni_rem, ptr noundef nonnull %call5.i.i.i.i.i.i1439) #23 + br label %lpad336.body + +if.then.i7.i1437: ; preds = %invoke.cont7.i1419 + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %dni_rem, ptr noundef nonnull %call5.i.i.i.i.i.i1439) #23 + br label %invoke.cont345 + +invoke.cont345: ; preds = %lor.rhs.i681, %if.then.i7.i1437, %cleanup.thread.i1433 + %__i.sroa.0.0.i686 = phi ptr [ %__y.addr.1.i.i.i.i674, %lor.rhs.i681 ], [ %call5.i.i.i.i.i.i1439, %cleanup.thread.i1433 ], [ %214, %if.then.i7.i1437 ] + %second.i687 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i686, i64 40 + %221 = load ptr, ptr %second.i687, align 8 + %222 = load ptr, ptr %second.i653, align 8 + %cmp.not.i693 = icmp eq ptr %221, %222 + br i1 %cmp.not.i693, label %invoke.cont347, label %if.then.i694 + +if.then.i694: ; preds = %invoke.cont345 + %bf.load.i.i695 = load i64, ptr %221, align 8 + %223 = and i64 %bf.load.i.i695, 1152920405095219200 + %cmp.not.i.i696 = icmp eq i64 %223, 1152920405095219200 + br i1 %cmp.not.i.i696, label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i703, label %if.then.i.i697 + +if.then.i.i697: ; preds = %if.then.i694 + %bf.value.i.i698 = add i64 %bf.load.i.i695, 1152920405095219200 + %bf.shl.i.i699 = and i64 %bf.value.i.i698, 1152920405095219200 + %bf.clear7.i.i700 = and i64 %bf.load.i.i695, -1152920405095219201 + %bf.set.i.i701 = or disjoint i64 %bf.shl.i.i699, %bf.clear7.i.i700 + store i64 %bf.set.i.i701, ptr %221, align 8 + %cmp12.i.i702 = icmp eq i64 %bf.shl.i.i699, 0 + br i1 %cmp12.i.i702, label %if.then13.i.i717, label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i703 + +if.then13.i.i717: ; preds = %if.then.i.i697 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %221) + to label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i703 unwind label %lpad336 + +_ZN4cvc58internal4expr9NodeValue3decEv.exit.i703: ; preds = %if.then13.i.i717, %if.then.i.i697, %if.then.i694 + %224 = load ptr, ptr %second.i653, align 8 + store ptr %224, ptr %second.i687, align 8 + %bf.load.i2.i704 = load i64, ptr %224, align 8 + %bf.lshr.i.i705 = lshr i64 %bf.load.i2.i704, 40 + %225 = trunc nuw nsw i64 %bf.lshr.i.i705 to i32 + %bf.cast.i.i706 = and i32 %225, 1048575 + %cmp.i.i707 = icmp samesign ult i32 %bf.cast.i.i706, 1048574 + br i1 %cmp.i.i707, label %if.then.i5.i712, label %if.else.i.i708 + +if.then.i5.i712: ; preds = %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i703 + %bf.value.i6.i713 = add i64 %bf.load.i2.i704, 1099511627776 + %bf.shl.i7.i714 = and i64 %bf.value.i6.i713, 1152920405095219200 + %bf.clear7.i8.i715 = and i64 %bf.load.i2.i704, -1152920405095219201 + %bf.set.i9.i716 = or disjoint i64 %bf.shl.i7.i714, %bf.clear7.i8.i715 + store i64 %bf.set.i9.i716, ptr %224, align 8 + br label %invoke.cont347 + +if.else.i.i708: ; preds = %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i703 + %cmp12.i3.i709 = icmp eq i32 %bf.cast.i.i706, 1048574 + br i1 %cmp12.i3.i709, label %if.then13.i4.i710, label %invoke.cont347 + +if.then13.i4.i710: ; preds = %if.else.i.i708 + %bf.set23.i.i711 = or i64 %bf.load.i2.i704, 1152920405095219200 + store i64 %bf.set23.i.i711, ptr %224, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %224) + to label %invoke.cont347 unwind label %lpad336 + +invoke.cont347: ; preds = %if.else.i.i708, %if.then.i5.i712, %invoke.cont345, %if.then13.i4.i710 + %226 = load ptr, ptr %n, align 8 + %bf.load.i.i721 = load i64, ptr %226, align 8 + %227 = and i64 %bf.load.i.i721, 1152920405095219200 + %cmp.not.i.i722 = icmp eq i64 %227, 1152920405095219200 + br i1 %cmp.not.i.i722, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732, label %if.then.i.i723 + +if.then.i.i723: ; preds = %invoke.cont347 + %bf.value.i.i724 = add i64 %bf.load.i.i721, 1152920405095219200 + %bf.shl.i.i725 = and i64 %bf.value.i.i724, 1152920405095219200 + %bf.clear7.i.i726 = and i64 %bf.load.i.i721, -1152920405095219201 + %bf.set.i.i727 = or disjoint i64 %bf.shl.i.i725, %bf.clear7.i.i726 + store i64 %bf.set.i.i727, ptr %226, align 8 + %cmp12.i.i728 = icmp eq i64 %bf.shl.i.i725, 0 + br i1 %cmp12.i.i728, label %if.then13.i.i730, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732 + +if.then13.i.i730: ; preds = %if.then.i.i723 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %226) + to label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732 unwind label %terminate.lpad.i731 + +terminate.lpad.i731: ; preds = %if.then13.i.i730 + %228 = landingpad { ptr, i32 } + catch ptr null + %229 = extractvalue { ptr, i32 } %228, 0 + call void @__clang_call_terminate(ptr %229) #25 + unreachable + +_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732: ; preds = %invoke.cont347, %if.then.i.i723, %if.then13.i.i730 + %inc351 = add i32 %i322.01779, 1 + %conv324 = zext i32 %inc351 to i64 + %230 = load ptr, ptr %_M_finish.i493, align 8 + %231 = load ptr, ptr %second318, align 8 + %sub.ptr.lhs.cast.i504 = ptrtoint ptr %230 to i64 + %sub.ptr.rhs.cast.i505 = ptrtoint ptr %231 to i64 + %sub.ptr.sub.i506 = sub i64 %sub.ptr.lhs.cast.i504, %sub.ptr.rhs.cast.i505 + %sub.ptr.div.i507 = ashr exact i64 %sub.ptr.sub.i506, 3 + %cmp328 = icmp ugt i64 %sub.ptr.div.i507, %conv324 + br i1 %cmp328, label %for.body329, label %for.end352, !llvm.loop !280 + +lpad334: ; preds = %if.then13.i.i516 + %232 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup532 + +lpad336: ; preds = %if.then.i688, %if.then.i654, %call5.i.i.i.i.i.i.noexc1366, %if.then.i621, %if.then.i588, %if.then13.i4.i710, %if.then13.i.i717, %if.then.i554 + %233 = landingpad { ptr, i32 } + cleanup + br label %lpad336.body + +lpad336.body: ; preds = %lpad.i, %lpad336, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1418, %lpad7.i.i.i.i1411, %lpad7.i.i.i.i1375, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1382, %lpad7.i.i.i.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i + %eh.lpad-body1343 = phi { ptr, i32 } [ %171, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i ], [ %162, %lpad7.i.i.i.i ], [ %182, %lpad.i ], [ %203, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1382 ], [ %194, %lpad7.i.i.i.i1375 ], [ %233, %lpad336 ], [ %220, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1418 ], [ %211, %lpad7.i.i.i.i1411 ] + call void @_ZN4cvc58internal12NodeTemplateILb1EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %n) #23 + br label %ehcleanup532 + +for.end352: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732, %if.then321 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %split_new_part, i8 0, i64 24, i1 false) + invoke void @_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE9push_backERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %split_new_part, ptr noundef nonnull align 8 dereferenceable(24) %second318) + to label %invoke.cont356 unwind label %lpad355.loopexit.split-lp + +invoke.cont356: ; preds = %for.end352 + %234 = load ptr, ptr %second318, align 8 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i736) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i737) + %235 = load ptr, ptr %_M_parent.i.i.i.i.i26, align 8 + %cmp.not5.i.i.i.i740 = icmp eq ptr %235, null + br i1 %cmp.not5.i.i.i.i740, label %if.then.i765, label %while.body.lr.ph.i.i.i.i741 + +while.body.lr.ph.i.i.i.i741: ; preds = %invoke.cont356 + %236 = load ptr, ptr %234, align 8 + %bf.load3.i.i.i.i.i.i742 = load i64, ptr %236, align 8 + %bf.clear4.i.i.i.i.i.i743 = and i64 %bf.load3.i.i.i.i.i.i742, 1099511627775 + br label %while.body.i.i.i.i744 + +while.body.i.i.i.i744: ; preds = %while.body.i.i.i.i744, %while.body.lr.ph.i.i.i.i741 + %__x.addr.07.i.i.i.i745 = phi ptr [ %235, %while.body.lr.ph.i.i.i.i741 ], [ %__x.addr.1.i.i.i.i754, %while.body.i.i.i.i744 ] + %__y.addr.06.i.i.i.i746 = phi ptr [ %3, %while.body.lr.ph.i.i.i.i741 ], [ %__y.addr.1.i.i.i.i751, %while.body.i.i.i.i744 ] + %_M_storage.i.i.i.i.i.i747 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i745, i64 32 + %237 = load ptr, ptr %_M_storage.i.i.i.i.i.i747, align 8 + %bf.load.i.i.i.i.i.i748 = load i64, ptr %237, align 8 + %bf.clear.i.i.i.i.i.i749 = and i64 %bf.load.i.i.i.i.i.i748, 1099511627775 + %cmp.i.i.i.i.i.i750 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i749, %bf.clear4.i.i.i.i.i.i743 + %__y.addr.1.i.i.i.i751 = select i1 %cmp.i.i.i.i.i.i750, ptr %__y.addr.06.i.i.i.i746, ptr %__x.addr.07.i.i.i.i745 + %__x.addr.1.in.v.i.i.i.i752 = select i1 %cmp.i.i.i.i.i.i750, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i753 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i745, i64 %__x.addr.1.in.v.i.i.i.i752 + %__x.addr.1.i.i.i.i754 = load ptr, ptr %__x.addr.1.in.i.i.i.i753, align 8 + %cmp.not.i.i.i.i755 = icmp eq ptr %__x.addr.1.i.i.i.i754, null + br i1 %cmp.not.i.i.i.i755, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i756, label %while.body.i.i.i.i744, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i756: ; preds = %while.body.i.i.i.i744 + %cmp.i.i757 = icmp eq ptr %__y.addr.1.i.i.i.i751, %3 + br i1 %cmp.i.i757, label %if.then.i765, label %lor.rhs.i758 + +lor.rhs.i758: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i756 + %__y.addr.1.i.i.i.i751.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i750, ptr %__y.addr.06.i.i.i.i746, ptr %__x.addr.07.i.i.i.i745 + %__y.addr.1.i.i.i.i751.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i751.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %238 = load ptr, ptr %__y.addr.1.i.i.i.i751.sroa.sel.v.sroa.sel.v.sroa.sel, align 8 + %bf.load3.i.i.i760 = load i64, ptr %238, align 8 + %bf.clear4.i.i.i761 = and i64 %bf.load3.i.i.i760, 1099511627775 + %cmp.i.i.i762 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i743, %bf.clear4.i.i.i761 + br i1 %cmp.i.i.i762, label %if.then.i765, label %invoke.cont360 + +if.then.i765: ; preds = %lor.rhs.i758, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i756, %invoke.cont356 + %__y.addr.0.lcssa.i.i.i9.i766 = phi ptr [ %__y.addr.1.i.i.i.i751, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i756 ], [ %__y.addr.1.i.i.i.i751, %lor.rhs.i758 ], [ %3, %invoke.cont356 ] + store ptr %234, ptr %ref.tmp9.i736, align 8 + %call12.i768 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESH_IJEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %cn_cons, ptr %__y.addr.0.lcssa.i.i.i9.i766, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i736, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i737) + to label %invoke.cont360 unwind label %lpad355.loopexit.split-lp + +invoke.cont360: ; preds = %lor.rhs.i758, %if.then.i765 + %__i.sroa.0.0.i763 = phi ptr [ %__y.addr.1.i.i.i.i751, %lor.rhs.i758 ], [ %call12.i768, %if.then.i765 ] + %second.i764 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i763, i64 40 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i736) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i737) + %239 = load ptr, ptr %second.i764, align 8 + %d_kind.i.i.i.i = getelementptr inbounds i8, ptr %239, i64 8 + %bf.load.i.i.i.i = load i16, ptr %d_kind.i.i.i.i, align 8 + %bf.clear.i.i.i.i = and i16 %bf.load.i.i.i.i, 1023 + %bf.cast.i.i.i.i = zext nneg i16 %bf.clear.i.i.i.i to i32 + %cmp.i.i.i.i.i770 = icmp eq i16 %bf.clear.i.i.i.i, 1023 + %cond.i.i.i.i.i = select i1 %cmp.i.i.i.i.i770, i32 -1, i32 %bf.cast.i.i.i.i + %call2.i.i.i773 = invoke noundef i32 @_ZN4cvc58internal4kind10metaKindOfENS1_6Kind_tE(i32 noundef %cond.i.i.i.i.i) + to label %invoke.cont362 unwind label %lpad355.loopexit.split-lp + +invoke.cont362: ; preds = %invoke.cont360 + %cmp.i.i771 = icmp eq i32 %call2.i.i.i773, 2 + %d_nchildren.i.i = getelementptr inbounds i8, ptr %239, i64 12 + %bf.load.i.i772 = load i32, ptr %d_nchildren.i.i, align 4 + %bf.clear.i.i = and i32 %bf.load.i.i772, 67108863 + %sub.i.i = sext i1 %cmp.i.i771 to i32 + %cond.i.i = add nsw i32 %bf.clear.i.i, %sub.i.i + %cmp3651799.not = icmp eq i32 %cond.i.i, 0 + br i1 %cmp3651799.not, label %while.end, label %land.rhs + +land.rhs: ; preds = %invoke.cont362, %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1120 + %cindex.01800 = phi i32 [ %inc493, %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1120 ], [ 0, %invoke.cont362 ] + %240 = load ptr, ptr %split_new_part, align 8 + %241 = load ptr, ptr %_M_finish.i.i774, align 8 + %cmp.i.i775 = icmp eq ptr %240, %241 + br i1 %cmp.i.i775, label %while.end, label %for.cond400.preheader.preheader + +lpad355.loopexit: ; preds = %if.then.i1199 + %lpad.loopexit1600 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup531 + +lpad355.loopexit.split-lp: ; preds = %for.end352, %if.then.i765, %invoke.cont360, %while.end + %lpad.loopexit.split-lp1601 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup531 + +for.cond400.preheader.preheader: ; preds = %land.rhs + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %next_split_new_part, i8 0, i64 24, i1 false) + br label %for.cond400.preheader + +for.cond400.preheader: ; preds = %for.cond400.preheader.preheader, %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit + %242 = phi ptr [ %367, %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit ], [ %240, %for.cond400.preheader.preheader ] + %conv3961796 = phi i64 [ %conv396, %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit ], [ 0, %for.cond400.preheader.preheader ] + %j394.01795 = phi i32 [ %inc474, %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit ], [ 0, %for.cond400.preheader.preheader ] + %add.ptr.i7811781 = getelementptr inbounds %"class.std::vector.525", ptr %242, i64 %conv3961796 + %_M_finish.i7821782 = getelementptr inbounds i8, ptr %add.ptr.i7811781, i64 8 + %243 = load ptr, ptr %_M_finish.i7821782, align 8 + %244 = load ptr, ptr %add.ptr.i7811781, align 8 + %cmp4051787.not = icmp eq ptr %243, %244 + br i1 %cmp4051787.not, label %for.end449, label %for.body406 + +for.body406: ; preds = %for.cond400.preheader, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019 + %245 = phi ptr [ %341, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019 ], [ %244, %for.cond400.preheader ] + %conv4011789 = phi i64 [ %conv401, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019 ], [ 0, %for.cond400.preheader ] + %k.01788 = phi i32 [ %inc448, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019 ], [ 0, %for.cond400.preheader ] + %add.ptr.i788 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %245, i64 %conv4011789 + %246 = load ptr, ptr %add.ptr.i788, align 8 + store ptr %246, ptr %n407, align 8 + %bf.load.i.i789 = load i64, ptr %246, align 8 + %bf.lshr.i.i790 = lshr i64 %bf.load.i.i789, 40 + %247 = trunc nuw nsw i64 %bf.lshr.i.i790 to i32 + %bf.cast.i.i791 = and i32 %247, 1048575 + %cmp.i.i792 = icmp samesign ult i32 %bf.cast.i.i791, 1048574 + br i1 %cmp.i.i792, label %if.then.i.i797, label %if.else.i.i793 + +if.then.i.i797: ; preds = %for.body406 + %bf.value.i.i798 = add i64 %bf.load.i.i789, 1099511627776 + %bf.shl.i.i799 = and i64 %bf.value.i.i798, 1152920405095219200 + %bf.clear7.i.i800 = and i64 %bf.load.i.i789, -1152920405095219201 + %bf.set.i.i801 = or disjoint i64 %bf.shl.i.i799, %bf.clear7.i.i800 + store i64 %bf.set.i.i801, ptr %246, align 8 + br label %invoke.cont413 + +if.else.i.i793: ; preds = %for.body406 + %cmp12.i.i794 = icmp eq i32 %bf.cast.i.i791, 1048574 + br i1 %cmp12.i.i794, label %if.then13.i.i795, label %invoke.cont413 + +if.then13.i.i795: ; preds = %if.else.i.i793 + %bf.set23.i.i796 = or i64 %bf.load.i.i789, 1152920405095219200 + store i64 %bf.set23.i.i796, ptr %246, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %246) + to label %invoke.cont413 unwind label %lpad412.loopexit + +invoke.cont413: ; preds = %if.else.i.i793, %if.then.i.i797, %if.then13.i.i795 + %248 = load ptr, ptr %_M_parent.i.i.i.i.i26, align 8 + %cmp.not5.i.i.i.i808 = icmp eq ptr %248, null + br i1 %cmp.not5.i.i.i.i808, label %if.then.i833, label %while.body.lr.ph.i.i.i.i809 + +while.body.lr.ph.i.i.i.i809: ; preds = %invoke.cont413 + %249 = load ptr, ptr %n407, align 8 + %bf.load3.i.i.i.i.i.i810 = load i64, ptr %249, align 8 + %bf.clear4.i.i.i.i.i.i811 = and i64 %bf.load3.i.i.i.i.i.i810, 1099511627775 + br label %while.body.i.i.i.i812 + +while.body.i.i.i.i812: ; preds = %while.body.i.i.i.i812, %while.body.lr.ph.i.i.i.i809 + %__x.addr.07.i.i.i.i813 = phi ptr [ %248, %while.body.lr.ph.i.i.i.i809 ], [ %__x.addr.1.i.i.i.i822, %while.body.i.i.i.i812 ] + %__y.addr.06.i.i.i.i814 = phi ptr [ %3, %while.body.lr.ph.i.i.i.i809 ], [ %__y.addr.1.i.i.i.i819, %while.body.i.i.i.i812 ] + %_M_storage.i.i.i.i.i.i815 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i813, i64 32 + %250 = load ptr, ptr %_M_storage.i.i.i.i.i.i815, align 8 + %bf.load.i.i.i.i.i.i816 = load i64, ptr %250, align 8 + %bf.clear.i.i.i.i.i.i817 = and i64 %bf.load.i.i.i.i.i.i816, 1099511627775 + %cmp.i.i.i.i.i.i818 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i817, %bf.clear4.i.i.i.i.i.i811 + %__y.addr.1.i.i.i.i819 = select i1 %cmp.i.i.i.i.i.i818, ptr %__y.addr.06.i.i.i.i814, ptr %__x.addr.07.i.i.i.i813 + %__x.addr.1.in.v.i.i.i.i820 = select i1 %cmp.i.i.i.i.i.i818, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i821 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i813, i64 %__x.addr.1.in.v.i.i.i.i820 + %__x.addr.1.i.i.i.i822 = load ptr, ptr %__x.addr.1.in.i.i.i.i821, align 8 + %cmp.not.i.i.i.i823 = icmp eq ptr %__x.addr.1.i.i.i.i822, null + br i1 %cmp.not.i.i.i.i823, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i824, label %while.body.i.i.i.i812, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i824: ; preds = %while.body.i.i.i.i812 + %cmp.i.i825 = icmp eq ptr %__y.addr.1.i.i.i.i819, %3 + br i1 %cmp.i.i825, label %if.then.i833, label %lor.rhs.i826 + +lor.rhs.i826: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i824 + %__y.addr.1.i.i.i.i819.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i818, ptr %__y.addr.06.i.i.i.i814, ptr %__x.addr.07.i.i.i.i813 + %__y.addr.1.i.i.i.i819.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i819.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %251 = load ptr, ptr %__y.addr.1.i.i.i.i819.sroa.sel.v.sroa.sel.v.sroa.sel, align 8 + %bf.load3.i.i.i828 = load i64, ptr %251, align 8 + %bf.clear4.i.i.i829 = and i64 %bf.load3.i.i.i828, 1099511627775 + %cmp.i.i.i830 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i811, %bf.clear4.i.i.i829 + br i1 %cmp.i.i.i830, label %if.then.i833, label %invoke.cont415 + +if.then.i833: ; preds = %lor.rhs.i826, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i824, %invoke.cont413 + %__y.addr.0.lcssa.i.i.i9.i834 = phi ptr [ %__y.addr.1.i.i.i.i819, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i824 ], [ %__y.addr.1.i.i.i.i819, %lor.rhs.i826 ], [ %3, %invoke.cont413 ] + %call5.i.i.i.i.i.i1475 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #24 + to label %call5.i.i.i.i.i.i.noexc1474 unwind label %lpad414 + +call5.i.i.i.i.i.i.noexc1474: ; preds = %if.then.i833 + %_M_storage.i.i.i.i.i1445 = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1475, i64 32 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1444) + store i64 %144, ptr %agg.tmp6.i.i.i.i.i.i1444, align 8 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1443) + invoke void @_ZNSt4pairIKN4cvc58internal12NodeTemplateILb1EEES3_EC2IJRS4_EJLm0EEJETpTnmJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE(ptr noundef nonnull align 8 dereferenceable(16) %_M_storage.i.i.i.i.i1445, ptr noundef nonnull align 8 dereferenceable(8) %agg.tmp6.i.i.i.i.i.i1444, ptr noundef nonnull align 1 dereferenceable(1) %__second.i.i.i.i.i.i.i1443) + to label %invoke.cont.i1452 unwind label %lpad.i.i.i.i1446 + +lpad.i.i.i.i1446: ; preds = %call5.i.i.i.i.i.i.noexc1474 + %252 = landingpad { ptr, i32 } + catch ptr null + %253 = extractvalue { ptr, i32 } %252, 0 + %254 = call ptr @__cxa_begin_catch(ptr %253) #23 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1475) #26 + invoke void @__cxa_rethrow() #29 + to label %unreachable.i.i.i.i1451 unwind label %lpad7.i.i.i.i1447 + +lpad7.i.i.i.i1447: ; preds = %lpad.i.i.i.i1446 + %255 = landingpad { ptr, i32 } + cleanup + invoke void @__cxa_end_catch() + to label %ehcleanup446 unwind label %terminate.lpad.i.i.i.i1448 + +terminate.lpad.i.i.i.i1448: ; preds = %lpad7.i.i.i.i1447 + %256 = landingpad { ptr, i32 } + catch ptr null + %257 = extractvalue { ptr, i32 } %256, 0 + call void @__clang_call_terminate(ptr %257) #25 + unreachable + +unreachable.i.i.i.i1451: ; preds = %lpad.i.i.i.i1446 + unreachable + +invoke.cont.i1452: ; preds = %call5.i.i.i.i.i.i.noexc1474 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1443) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1444) + %call8.i1453 = invoke { ptr, ptr } @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS6_ERS5_(ptr noundef nonnull align 8 dereferenceable(48) %cn_cons, ptr %__y.addr.0.lcssa.i.i.i9.i834, ptr noundef nonnull align 8 dereferenceable(8) %_M_storage.i.i.i.i.i1445) + to label %invoke.cont7.i1455 unwind label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1454 + +invoke.cont7.i1455: ; preds = %invoke.cont.i1452 + %258 = extractvalue { ptr, ptr } %call8.i1453, 0 + %259 = extractvalue { ptr, ptr } %call8.i1453, 1 + %tobool.not.i1456 = icmp eq ptr %259, null + br i1 %tobool.not.i1456, label %if.then.i7.i1473, label %if.then.i1457 + +if.then.i1457: ; preds = %invoke.cont7.i1455 + %cmp.not.i.i.i1458 = icmp ne ptr %258, null + %cmp2.i.i.i1460 = icmp eq ptr %259, %3 + %or.cond.i.i.i1461 = or i1 %cmp.not.i.i.i1458, %cmp2.i.i.i1460 + br i1 %or.cond.i.i.i1461, label %cleanup.thread.i1469, label %lor.rhs.i.i.i1462 + +lor.rhs.i.i.i1462: ; preds = %if.then.i1457 + %_M_storage.i.i.i.i.i.i1463 = getelementptr inbounds i8, ptr %259, i64 32 + %260 = load ptr, ptr %_M_storage.i.i.i.i.i1445, align 8 + %bf.load.i.i.i.i.i1464 = load i64, ptr %260, align 8 + %bf.clear.i.i.i.i.i1465 = and i64 %bf.load.i.i.i.i.i1464, 1099511627775 + %261 = load ptr, ptr %_M_storage.i.i.i.i.i.i1463, align 8 + %bf.load3.i.i.i.i.i1466 = load i64, ptr %261, align 8 + %bf.clear4.i.i.i.i.i1467 = and i64 %bf.load3.i.i.i.i.i1466, 1099511627775 + %cmp.i.i.i.i.i1468 = icmp samesign ult i64 %bf.clear.i.i.i.i.i1465, %bf.clear4.i.i.i.i.i1467 + br label %cleanup.thread.i1469 + +cleanup.thread.i1469: ; preds = %lor.rhs.i.i.i1462, %if.then.i1457 + %262 = phi i1 [ true, %if.then.i1457 ], [ %cmp.i.i.i.i.i1468, %lor.rhs.i.i.i1462 ] + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %262, ptr noundef nonnull %call5.i.i.i.i.i.i1475, ptr noundef nonnull %259, ptr noundef nonnull align 8 dereferenceable(32) %3) #23 + %263 = load i64, ptr %_M_node_count.i.i.i.i.i29, align 8 + %inc.i.i.i1471 = add i64 %263, 1 + store i64 %inc.i.i.i1471, ptr %_M_node_count.i.i.i.i.i29, align 8 + br label %invoke.cont415 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1454: ; preds = %invoke.cont.i1452 + %264 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn_cons, ptr noundef nonnull %call5.i.i.i.i.i.i1475) #23 + br label %ehcleanup446 + +if.then.i7.i1473: ; preds = %invoke.cont7.i1455 + %second.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1475, i64 40 + %265 = load ptr, ptr %second.i.i.i.i.i, align 8 + %bf.load.i.i.i.i.i.i.i1536 = load i64, ptr %265, align 8 + %266 = and i64 %bf.load.i.i.i.i.i.i.i1536, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i1537 = icmp eq i64 %266, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i1537, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i1538 + +if.then.i.i.i.i.i.i.i1538: ; preds = %if.then.i7.i1473 + %bf.value.i.i.i.i.i.i.i1539 = add i64 %bf.load.i.i.i.i.i.i.i1536, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i1540 = and i64 %bf.value.i.i.i.i.i.i.i1539, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i1541 = and i64 %bf.load.i.i.i.i.i.i.i1536, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i1542 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i1540, %bf.clear7.i.i.i.i.i.i.i1541 + store i64 %bf.set.i.i.i.i.i.i.i1542, ptr %265, align 8 + %cmp12.i.i.i.i.i.i.i1543 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i1540, 0 + br i1 %cmp12.i.i.i.i.i.i.i1543, label %if.then13.i.i.i.i.i.i.i1544, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i + +if.then13.i.i.i.i.i.i.i1544: ; preds = %if.then.i.i.i.i.i.i.i1538 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %265) + to label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i unwind label %terminate.lpad.i.i.i.i.i.i1545 + +terminate.lpad.i.i.i.i.i.i1545: ; preds = %if.then13.i.i.i.i.i.i.i1544 + %267 = landingpad { ptr, i32 } + catch ptr null + %268 = extractvalue { ptr, i32 } %267, 0 + call void @__clang_call_terminate(ptr %268) #25 + unreachable + +_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i1544, %if.then.i.i.i.i.i.i.i1538, %if.then.i7.i1473 + %269 = load ptr, ptr %_M_storage.i.i.i.i.i1445, align 8 + %bf.load.i.i1.i.i.i.i.i = load i64, ptr %269, align 8 + %270 = and i64 %bf.load.i.i1.i.i.i.i.i, 1152920405095219200 + %cmp.not.i.i2.i.i.i.i.i = icmp eq i64 %270, 1152920405095219200 + br i1 %cmp.not.i.i2.i.i.i.i.i, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit, label %if.then.i.i3.i.i.i.i.i + +if.then.i.i3.i.i.i.i.i: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i + %bf.value.i.i4.i.i.i.i.i = add i64 %bf.load.i.i1.i.i.i.i.i, 1152920405095219200 + %bf.shl.i.i5.i.i.i.i.i = and i64 %bf.value.i.i4.i.i.i.i.i, 1152920405095219200 + %bf.clear7.i.i6.i.i.i.i.i = and i64 %bf.load.i.i1.i.i.i.i.i, -1152920405095219201 + %bf.set.i.i7.i.i.i.i.i = or disjoint i64 %bf.shl.i.i5.i.i.i.i.i, %bf.clear7.i.i6.i.i.i.i.i + store i64 %bf.set.i.i7.i.i.i.i.i, ptr %269, align 8 + %cmp12.i.i8.i.i.i.i.i = icmp eq i64 %bf.shl.i.i5.i.i.i.i.i, 0 + br i1 %cmp12.i.i8.i.i.i.i.i, label %if.then13.i.i9.i.i.i.i.i, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit + +if.then13.i.i9.i.i.i.i.i: ; preds = %if.then.i.i3.i.i.i.i.i + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %269) + to label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit unwind label %terminate.lpad.i10.i.i.i.i.i + +terminate.lpad.i10.i.i.i.i.i: ; preds = %if.then13.i.i9.i.i.i.i.i + %271 = landingpad { ptr, i32 } + catch ptr null + %272 = extractvalue { ptr, i32 } %271, 0 + call void @__clang_call_terminate(ptr %272) #25 + unreachable + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i, %if.then.i.i3.i.i.i.i.i, %if.then13.i.i9.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1475) #26 + br label %invoke.cont415 + +invoke.cont415: ; preds = %lor.rhs.i826, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit, %cleanup.thread.i1469 + %__i.sroa.0.0.i831 = phi ptr [ %__y.addr.1.i.i.i.i819, %lor.rhs.i826 ], [ %call5.i.i.i.i.i.i1475, %cleanup.thread.i1469 ], [ %258, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit ] + %second.i832 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i831, i64 40 + %273 = load ptr, ptr %second.i832, align 8, !noalias !421 + %d_kind.i.i.i.i838 = getelementptr inbounds i8, ptr %273, i64 8 + %bf.load.i.i.i.i839 = load i16, ptr %d_kind.i.i.i.i838, align 8, !noalias !421 + %bf.clear.i.i.i.i840 = and i16 %bf.load.i.i.i.i839, 1023 + %bf.cast.i.i.i.i841 = zext nneg i16 %bf.clear.i.i.i.i840 to i32 + %cmp.i.i.i.i.i842 = icmp eq i16 %bf.clear.i.i.i.i840, 1023 + %cond.i.i.i.i.i843 = select i1 %cmp.i.i.i.i.i842, i32 -1, i32 %bf.cast.i.i.i.i841 + %call2.i.i.i848 = invoke noundef i32 @_ZN4cvc58internal4kind10metaKindOfENS1_6Kind_tE(i32 noundef %cond.i.i.i.i.i843) + to label %call2.i.i.i.noexc unwind label %lpad414 + +call2.i.i.i.noexc: ; preds = %invoke.cont415 + %cmp.i.i844 = icmp eq i32 %call2.i.i.i848, 2 + %inc.i.i = zext i1 %cmp.i.i844 to i32 + %spec.select.i.i845 = add nsw i32 %cindex.01800, %inc.i.i + %d_children.i.i = getelementptr inbounds i8, ptr %273, i64 16 + %idxprom.i.i = sext i32 %spec.select.i.i845 to i64 + %arrayidx.i.i = getelementptr inbounds [0 x ptr], ptr %d_children.i.i, i64 0, i64 %idxprom.i.i + %274 = load ptr, ptr %arrayidx.i.i, align 8, !noalias !421 + %bf.load.i.i.i = load i64, ptr %274, align 8, !noalias !421 + %bf.lshr.i.i.i = lshr i64 %bf.load.i.i.i, 40 + %275 = trunc nuw nsw i64 %bf.lshr.i.i.i to i32 + %bf.cast.i.i.i = and i32 %275, 1048575 + %cmp.i.i.i846 = icmp samesign ult i32 %bf.cast.i.i.i, 1048574 + br i1 %cmp.i.i.i846, label %if.then.i.i.i847, label %if.else.i.i.i + +if.then.i.i.i847: ; preds = %call2.i.i.i.noexc + %bf.value.i.i.i = add i64 %bf.load.i.i.i, 1099511627776 + %bf.shl.i.i.i = and i64 %bf.value.i.i.i, 1152920405095219200 + %bf.clear7.i.i.i = and i64 %bf.load.i.i.i, -1152920405095219201 + %bf.set.i.i.i = or disjoint i64 %bf.shl.i.i.i, %bf.clear7.i.i.i + store i64 %bf.set.i.i.i, ptr %274, align 8, !noalias !421 + br label %invoke.cont417 + +if.else.i.i.i: ; preds = %call2.i.i.i.noexc + %cmp12.i.i.i = icmp eq i32 %bf.cast.i.i.i, 1048574 + br i1 %cmp12.i.i.i, label %if.then13.i.i.i, label %invoke.cont417 + +if.then13.i.i.i: ; preds = %if.else.i.i.i + %bf.set23.i.i.i = or i64 %bf.load.i.i.i, 1152920405095219200 + store i64 %bf.set23.i.i.i, ptr %274, align 8, !noalias !421 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %274) + to label %invoke.cont417 unwind label %lpad414 + +invoke.cont417: ; preds = %if.else.i.i.i, %if.then.i.i.i847, %if.then13.i.i.i + call void @llvm.experimental.noalias.scope.decl(metadata !424) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + %276 = load ptr, ptr %d_equalityEngine.i, align 8, !noalias !424 + store ptr %274, ptr %agg.tmp.i, align 8, !noalias !424 + %call.i850852 = invoke noundef zeroext i1 @_ZNK4cvc58internal6theory2eq14EqualityEngine7hasTermENS0_12NodeTemplateILb0EEE(ptr noundef nonnull align 8 dereferenceable(1784) %276, ptr noundef nonnull %agg.tmp.i) + to label %call.i850.noexc unwind label %lpad422 + +call.i850.noexc: ; preds = %invoke.cont417 + br i1 %call.i850852, label %if.then.i851, label %if.end.i + +if.then.i851: ; preds = %call.i850.noexc + %277 = load ptr, ptr %d_equalityEngine.i, align 8, !noalias !424 + store ptr %274, ptr %agg.tmp3.i, align 8, !noalias !424 + invoke void @_ZNK4cvc58internal6theory2eq14EqualityEngine17getRepresentativeENS0_12NodeTemplateILb0EEE(ptr nonnull sret(%"class.cvc5::internal::NodeTemplate.733") align 8 %ref.tmp418, ptr noundef nonnull align 8 dereferenceable(1784) %277, ptr noundef nonnull %agg.tmp3.i) + to label %if.then.i851.invoke.cont423_crit_edge unwind label %lpad422 + +if.then.i851.invoke.cont423_crit_edge: ; preds = %if.then.i851 + %.pre1850 = load ptr, ptr %ref.tmp418, align 8 + br label %invoke.cont423 + +if.end.i: ; preds = %call.i850.noexc + store ptr %274, ptr %ref.tmp418, align 8, !alias.scope !424 + br label %invoke.cont423 + +invoke.cont423: ; preds = %if.then.i851.invoke.cont423_crit_edge, %if.end.i + %278 = phi ptr [ %.pre1850, %if.then.i851.invoke.cont423_crit_edge ], [ %274, %if.end.i ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + %bf.load.i.i854 = load i64, ptr %278, align 8 + %bf.lshr.i.i855 = lshr i64 %bf.load.i.i854, 40 + %279 = trunc nuw nsw i64 %bf.lshr.i.i855 to i32 + %bf.cast.i.i856 = and i32 %279, 1048575 + %cmp.i.i857 = icmp samesign ult i32 %bf.cast.i.i856, 1048574 + br i1 %cmp.i.i857, label %if.then.i.i862, label %if.else.i.i858 + +if.then.i.i862: ; preds = %invoke.cont423 + %bf.value.i.i863 = add i64 %bf.load.i.i854, 1099511627776 + %bf.shl.i.i864 = and i64 %bf.value.i.i863, 1152920405095219200 + %bf.clear7.i.i865 = and i64 %bf.load.i.i854, -1152920405095219201 + %bf.set.i.i866 = or disjoint i64 %bf.shl.i.i864, %bf.clear7.i.i865 + store i64 %bf.set.i.i866, ptr %278, align 8 + br label %invoke.cont425 + +if.else.i.i858: ; preds = %invoke.cont423 + %cmp12.i.i859 = icmp eq i32 %bf.cast.i.i856, 1048574 + br i1 %cmp12.i.i859, label %if.then13.i.i860, label %invoke.cont425 + +if.then13.i.i860: ; preds = %if.else.i.i858 + %bf.set23.i.i861 = or i64 %bf.load.i.i854, 1152920405095219200 + store i64 %bf.set23.i.i861, ptr %278, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %278) + to label %invoke.cont425 unwind label %lpad424 + +invoke.cont425: ; preds = %if.else.i.i858, %if.then.i.i862, %if.then13.i.i860 + %280 = load ptr, ptr %_M_parent.i.i.i.i.i561, align 8 + %cmp.not5.i.i.i.i873 = icmp eq ptr %280, null + br i1 %cmp.not5.i.i.i.i873, label %if.then.i899, label %while.body.lr.ph.i.i.i.i874 + +while.body.lr.ph.i.i.i.i874: ; preds = %invoke.cont425 + %281 = load ptr, ptr %n407, align 8 + %bf.load3.i.i.i.i.i.i875 = load i64, ptr %281, align 8 + %bf.clear4.i.i.i.i.i.i876 = and i64 %bf.load3.i.i.i.i.i.i875, 1099511627775 + br label %while.body.i.i.i.i877 + +while.body.i.i.i.i877: ; preds = %while.body.i.i.i.i877, %while.body.lr.ph.i.i.i.i874 + %__x.addr.07.i.i.i.i878 = phi ptr [ %280, %while.body.lr.ph.i.i.i.i874 ], [ %__x.addr.1.i.i.i.i887, %while.body.i.i.i.i877 ] + %__y.addr.06.i.i.i.i879 = phi ptr [ %add.ptr.i.i.i.i562, %while.body.lr.ph.i.i.i.i874 ], [ %__y.addr.1.i.i.i.i884, %while.body.i.i.i.i877 ] + %_M_storage.i.i.i.i.i.i880 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i878, i64 32 + %282 = load ptr, ptr %_M_storage.i.i.i.i.i.i880, align 8 + %bf.load.i.i.i.i.i.i881 = load i64, ptr %282, align 8 + %bf.clear.i.i.i.i.i.i882 = and i64 %bf.load.i.i.i.i.i.i881, 1099511627775 + %cmp.i.i.i.i.i.i883 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i882, %bf.clear4.i.i.i.i.i.i876 + %__y.addr.1.i.i.i.i884 = select i1 %cmp.i.i.i.i.i.i883, ptr %__y.addr.06.i.i.i.i879, ptr %__x.addr.07.i.i.i.i878 + %__x.addr.1.in.v.i.i.i.i885 = select i1 %cmp.i.i.i.i.i.i883, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i886 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i878, i64 %__x.addr.1.in.v.i.i.i.i885 + %__x.addr.1.i.i.i.i887 = load ptr, ptr %__x.addr.1.in.i.i.i.i886, align 8 + %cmp.not.i.i.i.i888 = icmp eq ptr %__x.addr.1.i.i.i.i887, null + br i1 %cmp.not.i.i.i.i888, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i889, label %while.body.i.i.i.i877, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i889: ; preds = %while.body.i.i.i.i877 + %cmp.i.i890 = icmp eq ptr %__y.addr.1.i.i.i.i884, %add.ptr.i.i.i.i562 + br i1 %cmp.i.i890, label %if.then.i899, label %lor.rhs.i891 + +lor.rhs.i891: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i889 + %_M_storage.i.i.i892 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i884, i64 32 + %283 = load ptr, ptr %_M_storage.i.i.i892, align 8 + %bf.load3.i.i.i893 = load i64, ptr %283, align 8 + %bf.clear4.i.i.i894 = and i64 %bf.load3.i.i.i893, 1099511627775 + %cmp.i.i.i895 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i876, %bf.clear4.i.i.i894 + br i1 %cmp.i.i.i895, label %if.then.i899, label %invoke.cont429 + +if.then.i899: ; preds = %lor.rhs.i891, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i889, %invoke.cont425 + %__y.addr.0.lcssa.i.i.i9.i900 = phi ptr [ %__y.addr.1.i.i.i.i884, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i889 ], [ %__y.addr.1.i.i.i.i884, %lor.rhs.i891 ], [ %add.ptr.i.i.i.i562, %invoke.cont425 ] + %call5.i.i.i.i.i.i1510 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #24 + to label %call5.i.i.i.i.i.i.noexc1509 unwind label %lpad428 + +call5.i.i.i.i.i.i.noexc1509: ; preds = %if.then.i899 + %_M_storage.i.i.i.i.i1480 = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1510, i64 32 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1479) + store i64 %144, ptr %agg.tmp6.i.i.i.i.i.i1479, align 8 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1478) + invoke void @_ZNSt4pairIKN4cvc58internal12NodeTemplateILb1EEES3_EC2IJRS4_EJLm0EEJETpTnmJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE(ptr noundef nonnull align 8 dereferenceable(16) %_M_storage.i.i.i.i.i1480, ptr noundef nonnull align 8 dereferenceable(8) %agg.tmp6.i.i.i.i.i.i1479, ptr noundef nonnull align 1 dereferenceable(1) %__second.i.i.i.i.i.i.i1478) + to label %invoke.cont.i1487 unwind label %lpad.i.i.i.i1481 + +lpad.i.i.i.i1481: ; preds = %call5.i.i.i.i.i.i.noexc1509 + %284 = landingpad { ptr, i32 } + catch ptr null + %285 = extractvalue { ptr, i32 } %284, 0 + %286 = call ptr @__cxa_begin_catch(ptr %285) #23 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1510) #26 + invoke void @__cxa_rethrow() #29 + to label %unreachable.i.i.i.i1486 unwind label %lpad7.i.i.i.i1482 + +lpad7.i.i.i.i1482: ; preds = %lpad.i.i.i.i1481 + %287 = landingpad { ptr, i32 } + cleanup + invoke void @__cxa_end_catch() + to label %ehcleanup444 unwind label %terminate.lpad.i.i.i.i1483 + +terminate.lpad.i.i.i.i1483: ; preds = %lpad7.i.i.i.i1482 + %288 = landingpad { ptr, i32 } + catch ptr null + %289 = extractvalue { ptr, i32 } %288, 0 + call void @__clang_call_terminate(ptr %289) #25 + unreachable + +unreachable.i.i.i.i1486: ; preds = %lpad.i.i.i.i1481 + unreachable + +invoke.cont.i1487: ; preds = %call5.i.i.i.i.i.i.noexc1509 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1478) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1479) + %call8.i1488 = invoke { ptr, ptr } @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS6_ERS5_(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr %__y.addr.0.lcssa.i.i.i9.i900, ptr noundef nonnull align 8 dereferenceable(8) %_M_storage.i.i.i.i.i1480) + to label %invoke.cont7.i1490 unwind label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1489 + +invoke.cont7.i1490: ; preds = %invoke.cont.i1487 + %290 = extractvalue { ptr, ptr } %call8.i1488, 0 + %291 = extractvalue { ptr, ptr } %call8.i1488, 1 + %tobool.not.i1491 = icmp eq ptr %291, null + br i1 %tobool.not.i1491, label %if.then.i7.i1508, label %if.then.i1492 + +if.then.i1492: ; preds = %invoke.cont7.i1490 + %cmp.not.i.i.i1493 = icmp ne ptr %290, null + %cmp2.i.i.i1495 = icmp eq ptr %291, %add.ptr.i.i.i.i562 + %or.cond.i.i.i1496 = select i1 %cmp.not.i.i.i1493, i1 true, i1 %cmp2.i.i.i1495 + br i1 %or.cond.i.i.i1496, label %cleanup.thread.i1504, label %lor.rhs.i.i.i1497 + +lor.rhs.i.i.i1497: ; preds = %if.then.i1492 + %_M_storage.i.i.i.i.i.i1498 = getelementptr inbounds i8, ptr %291, i64 32 + %292 = load ptr, ptr %_M_storage.i.i.i.i.i1480, align 8 + %bf.load.i.i.i.i.i1499 = load i64, ptr %292, align 8 + %bf.clear.i.i.i.i.i1500 = and i64 %bf.load.i.i.i.i.i1499, 1099511627775 + %293 = load ptr, ptr %_M_storage.i.i.i.i.i.i1498, align 8 + %bf.load3.i.i.i.i.i1501 = load i64, ptr %293, align 8 + %bf.clear4.i.i.i.i.i1502 = and i64 %bf.load3.i.i.i.i.i1501, 1099511627775 + %cmp.i.i.i.i.i1503 = icmp samesign ult i64 %bf.clear.i.i.i.i.i1500, %bf.clear4.i.i.i.i.i1502 + br label %cleanup.thread.i1504 + +cleanup.thread.i1504: ; preds = %lor.rhs.i.i.i1497, %if.then.i1492 + %294 = phi i1 [ true, %if.then.i1492 ], [ %cmp.i.i.i.i.i1503, %lor.rhs.i.i.i1497 ] + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %294, ptr noundef nonnull %call5.i.i.i.i.i.i1510, ptr noundef nonnull %291, ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i.i.i.i562) #23 + %295 = load i64, ptr %_M_node_count.i.i.i1341, align 8 + %inc.i.i.i1506 = add i64 %295, 1 + store i64 %inc.i.i.i1506, ptr %_M_node_count.i.i.i1341, align 8 + br label %invoke.cont429 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1489: ; preds = %invoke.cont.i1487 + %296 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr noundef nonnull %call5.i.i.i.i.i.i1510) #23 + br label %ehcleanup444 + +if.then.i7.i1508: ; preds = %invoke.cont7.i1490 + %second.i.i.i.i.i1547 = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1510, i64 40 + %297 = load ptr, ptr %second.i.i.i.i.i1547, align 8 + %bf.load.i.i.i.i.i.i.i1548 = load i64, ptr %297, align 8 + %298 = and i64 %bf.load.i.i.i.i.i.i.i1548, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i1549 = icmp eq i64 %298, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i1549, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i1556, label %if.then.i.i.i.i.i.i.i1550 + +if.then.i.i.i.i.i.i.i1550: ; preds = %if.then.i7.i1508 + %bf.value.i.i.i.i.i.i.i1551 = add i64 %bf.load.i.i.i.i.i.i.i1548, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i1552 = and i64 %bf.value.i.i.i.i.i.i.i1551, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i1553 = and i64 %bf.load.i.i.i.i.i.i.i1548, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i1554 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i1552, %bf.clear7.i.i.i.i.i.i.i1553 + store i64 %bf.set.i.i.i.i.i.i.i1554, ptr %297, align 8 + %cmp12.i.i.i.i.i.i.i1555 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i1552, 0 + br i1 %cmp12.i.i.i.i.i.i.i1555, label %if.then13.i.i.i.i.i.i.i1567, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i1556 + +if.then13.i.i.i.i.i.i.i1567: ; preds = %if.then.i.i.i.i.i.i.i1550 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %297) + to label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i1556 unwind label %terminate.lpad.i.i.i.i.i.i1568 + +terminate.lpad.i.i.i.i.i.i1568: ; preds = %if.then13.i.i.i.i.i.i.i1567 + %299 = landingpad { ptr, i32 } + catch ptr null + %300 = extractvalue { ptr, i32 } %299, 0 + call void @__clang_call_terminate(ptr %300) #25 + unreachable + +_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i1556: ; preds = %if.then13.i.i.i.i.i.i.i1567, %if.then.i.i.i.i.i.i.i1550, %if.then.i7.i1508 + %301 = load ptr, ptr %_M_storage.i.i.i.i.i1480, align 8 + %bf.load.i.i1.i.i.i.i.i1557 = load i64, ptr %301, align 8 + %302 = and i64 %bf.load.i.i1.i.i.i.i.i1557, 1152920405095219200 + %cmp.not.i.i2.i.i.i.i.i1558 = icmp eq i64 %302, 1152920405095219200 + br i1 %cmp.not.i.i2.i.i.i.i.i1558, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit1569, label %if.then.i.i3.i.i.i.i.i1559 + +if.then.i.i3.i.i.i.i.i1559: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i1556 + %bf.value.i.i4.i.i.i.i.i1560 = add i64 %bf.load.i.i1.i.i.i.i.i1557, 1152920405095219200 + %bf.shl.i.i5.i.i.i.i.i1561 = and i64 %bf.value.i.i4.i.i.i.i.i1560, 1152920405095219200 + %bf.clear7.i.i6.i.i.i.i.i1562 = and i64 %bf.load.i.i1.i.i.i.i.i1557, -1152920405095219201 + %bf.set.i.i7.i.i.i.i.i1563 = or disjoint i64 %bf.shl.i.i5.i.i.i.i.i1561, %bf.clear7.i.i6.i.i.i.i.i1562 + store i64 %bf.set.i.i7.i.i.i.i.i1563, ptr %301, align 8 + %cmp12.i.i8.i.i.i.i.i1564 = icmp eq i64 %bf.shl.i.i5.i.i.i.i.i1561, 0 + br i1 %cmp12.i.i8.i.i.i.i.i1564, label %if.then13.i.i9.i.i.i.i.i1565, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit1569 + +if.then13.i.i9.i.i.i.i.i1565: ; preds = %if.then.i.i3.i.i.i.i.i1559 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %301) + to label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit1569 unwind label %terminate.lpad.i10.i.i.i.i.i1566 + +terminate.lpad.i10.i.i.i.i.i1566: ; preds = %if.then13.i.i9.i.i.i.i.i1565 + %303 = landingpad { ptr, i32 } + catch ptr null + %304 = extractvalue { ptr, i32 } %303, 0 + call void @__clang_call_terminate(ptr %304) #25 + unreachable + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit1569: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i1556, %if.then.i.i3.i.i.i.i.i1559, %if.then13.i.i9.i.i.i.i.i1565 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1510) #26 + br label %invoke.cont429 + +invoke.cont429: ; preds = %lor.rhs.i891, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit1569, %cleanup.thread.i1504 + %__i.sroa.0.0.i897 = phi ptr [ %__y.addr.1.i.i.i.i884, %lor.rhs.i891 ], [ %call5.i.i.i.i.i.i1510, %cleanup.thread.i1504 ], [ %290, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit1569 ] + %second.i898 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i897, i64 40 + %305 = load ptr, ptr %second.i898, align 8 + %cmp.not.i904 = icmp eq ptr %305, %278 + br i1 %cmp.not.i904, label %land.lhs.true434, label %if.then.i905 + +if.then.i905: ; preds = %invoke.cont429 + %bf.load.i.i906 = load i64, ptr %305, align 8 + %306 = and i64 %bf.load.i.i906, 1152920405095219200 + %cmp.not.i.i907 = icmp eq i64 %306, 1152920405095219200 + br i1 %cmp.not.i.i907, label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i914, label %if.then.i.i908 + +if.then.i.i908: ; preds = %if.then.i905 + %bf.value.i.i909 = add i64 %bf.load.i.i906, 1152920405095219200 + %bf.shl.i.i910 = and i64 %bf.value.i.i909, 1152920405095219200 + %bf.clear7.i.i911 = and i64 %bf.load.i.i906, -1152920405095219201 + %bf.set.i.i912 = or disjoint i64 %bf.shl.i.i910, %bf.clear7.i.i911 + store i64 %bf.set.i.i912, ptr %305, align 8 + %cmp12.i.i913 = icmp eq i64 %bf.shl.i.i910, 0 + br i1 %cmp12.i.i913, label %if.then13.i.i929, label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i914 + +if.then13.i.i929: ; preds = %if.then.i.i908 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %305) + to label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i914 unwind label %lpad428 + +_ZN4cvc58internal4expr9NodeValue3decEv.exit.i914: ; preds = %if.then13.i.i929, %if.then.i.i908, %if.then.i905 + store ptr %278, ptr %second.i898, align 8 + %bf.load.i2.i915 = load i64, ptr %278, align 8 + %bf.lshr.i.i916 = lshr i64 %bf.load.i2.i915, 40 + %307 = trunc nuw nsw i64 %bf.lshr.i.i916 to i32 + %bf.cast.i.i917 = and i32 %307, 1048575 + %cmp.i.i918 = icmp samesign ult i32 %bf.cast.i.i917, 1048574 + br i1 %cmp.i.i918, label %if.then.i5.i924, label %if.else.i.i919 + +if.then.i5.i924: ; preds = %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i914 + %bf.value.i6.i925 = add i64 %bf.load.i2.i915, 1099511627776 + %bf.shl.i7.i926 = and i64 %bf.value.i6.i925, 1152920405095219200 + %bf.clear7.i8.i927 = and i64 %bf.load.i2.i915, -1152920405095219201 + %bf.set.i9.i928 = or disjoint i64 %bf.shl.i7.i926, %bf.clear7.i8.i927 + store i64 %bf.set.i9.i928, ptr %278, align 8 + br label %land.lhs.true434 + +if.else.i.i919: ; preds = %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i914 + %cmp12.i3.i920 = icmp eq i32 %bf.cast.i.i917, 1048574 + br i1 %cmp12.i3.i920, label %if.then13.i4.i922, label %land.lhs.true434 + +if.then13.i4.i922: ; preds = %if.else.i.i919 + %bf.set23.i.i923 = or i64 %bf.load.i2.i915, 1152920405095219200 + store i64 %bf.set23.i.i923, ptr %278, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %278) + to label %land.lhs.true434 unwind label %lpad428 + +land.lhs.true434: ; preds = %if.else.i.i919, %if.then.i5.i924, %invoke.cont429, %if.then13.i4.i922 + %cmp.i933.not = icmp eq ptr %274, %278 + br i1 %cmp.i933.not, label %if.end443, label %if.then437 + +if.then437: ; preds = %land.lhs.true434 + %call.i934935 = invoke noundef ptr @_ZN4cvc58internal11NodeManager9currentNMEv() + to label %call.i934.noexc unwind label %lpad428 + +call.i934.noexc: ; preds = %if.then437 + call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %nb.i.i), !noalias !427 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i.i), !noalias !427 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp4.i.i), !noalias !427 + invoke void @_ZN4cvc58internal11NodeBuilderC1EPNS0_11NodeManagerENS0_4kind6Kind_tE(ptr noundef nonnull align 8 dereferenceable(116) %nb.i.i, ptr noundef nonnull align 8 dereferenceable(3360) %call.i934935, i32 noundef 5) + to label %.noexc936 unwind label %lpad428 + +.noexc936: ; preds = %call.i934.noexc + store ptr %278, ptr %agg.tmp.i.i, align 8, !noalias !430 + %call.i.i = invoke noundef nonnull align 8 dereferenceable(116) ptr @_ZN4cvc58internal11NodeBuilderlsENS0_12NodeTemplateILb0EEE(ptr noundef nonnull align 8 dereferenceable(116) %nb.i.i, ptr noundef nonnull %agg.tmp.i.i) + to label %invoke.cont3.i.i unwind label %lpad2.i.i, !noalias !430 + +invoke.cont3.i.i: ; preds = %.noexc936 + store ptr %274, ptr %agg.tmp4.i.i, align 8, !noalias !430 + %call8.i.i = invoke noundef nonnull align 8 dereferenceable(116) ptr @_ZN4cvc58internal11NodeBuilderlsENS0_12NodeTemplateILb0EEE(ptr noundef nonnull align 8 dereferenceable(116) %call.i.i, ptr noundef nonnull %agg.tmp4.i.i) + to label %invoke.cont7.i.i unwind label %lpad6.i.i, !noalias !430 + +invoke.cont7.i.i: ; preds = %invoke.cont3.i.i + invoke void @_ZN4cvc58internal11NodeBuilder13constructNodeEv(ptr nonnull sret(%"class.cvc5::internal::NodeTemplate") align 8 %ref.tmp438, ptr noundef nonnull align 8 dereferenceable(116) %nb.i.i) + to label %invoke.cont439 unwind label %lpad.i.i + +lpad.i.i: ; preds = %invoke.cont7.i.i + %308 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup10.i.i + +lpad2.i.i: ; preds = %.noexc936 + %309 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup10.i.i + +lpad6.i.i: ; preds = %invoke.cont3.i.i + %310 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup10.i.i + +ehcleanup10.i.i: ; preds = %lpad6.i.i, %lpad2.i.i, %lpad.i.i + %.pn2.i.i = phi { ptr, i32 } [ %308, %lpad.i.i ], [ %310, %lpad6.i.i ], [ %309, %lpad2.i.i ] + call void @_ZN4cvc58internal11NodeBuilderD1Ev(ptr noundef nonnull align 8 dereferenceable(116) %nb.i.i) #23 + br label %ehcleanup444 + +invoke.cont439: ; preds = %invoke.cont7.i.i + call void @_ZN4cvc58internal11NodeBuilderD1Ev(ptr noundef nonnull align 8 dereferenceable(116) %nb.i.i) #23 + call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %nb.i.i), !noalias !427 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i.i), !noalias !427 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp4.i.i), !noalias !427 + %311 = load ptr, ptr %_M_finish.i.i937, align 8 + %312 = load ptr, ptr %_M_end_of_storage.i.i938, align 8 + %cmp.not.i.i939 = icmp eq ptr %311, %312 + br i1 %cmp.not.i.i939, label %if.else.i.i956, label %if.then.i.i940 + +if.then.i.i940: ; preds = %invoke.cont439 + %313 = load ptr, ptr %ref.tmp438, align 8 + store ptr %313, ptr %311, align 8 + %bf.load.i.i.i.i.i.i941 = load i64, ptr %313, align 8 + %bf.lshr.i.i.i.i.i.i942 = lshr i64 %bf.load.i.i.i.i.i.i941, 40 + %314 = trunc nuw nsw i64 %bf.lshr.i.i.i.i.i.i942 to i32 + %bf.cast.i.i.i.i.i.i943 = and i32 %314, 1048575 + %cmp.i.i.i.i.i.i944 = icmp samesign ult i32 %bf.cast.i.i.i.i.i.i943, 1048574 + br i1 %cmp.i.i.i.i.i.i944, label %if.then.i.i.i.i.i.i951, label %if.else.i.i.i.i.i.i945 + +if.then.i.i.i.i.i.i951: ; preds = %if.then.i.i940 + %bf.value.i.i.i.i.i.i952 = add i64 %bf.load.i.i.i.i.i.i941, 1099511627776 + %bf.shl.i.i.i.i.i.i953 = and i64 %bf.value.i.i.i.i.i.i952, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i954 = and i64 %bf.load.i.i.i.i.i.i941, -1152920405095219201 + %bf.set.i.i.i.i.i.i955 = or disjoint i64 %bf.shl.i.i.i.i.i.i953, %bf.clear7.i.i.i.i.i.i954 + store i64 %bf.set.i.i.i.i.i.i955, ptr %313, align 8 + br label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i947 + +if.else.i.i.i.i.i.i945: ; preds = %if.then.i.i940 + %cmp12.i.i.i.i.i.i946 = icmp eq i32 %bf.cast.i.i.i.i.i.i943, 1048574 + br i1 %cmp12.i.i.i.i.i.i946, label %if.then13.i.i.i.i.i.i949, label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i947 + +if.then13.i.i.i.i.i.i949: ; preds = %if.else.i.i.i.i.i.i945 + %bf.set23.i.i.i.i.i.i950 = or i64 %bf.load.i.i.i.i.i.i941, 1152920405095219200 + store i64 %bf.set23.i.i.i.i.i.i950, ptr %313, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %313) + to label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i947 unwind label %lpad440 + +_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i947: ; preds = %if.then13.i.i.i.i.i.i949, %if.else.i.i.i.i.i.i945, %if.then.i.i.i.i.i.i951 + %315 = load ptr, ptr %_M_finish.i.i937, align 8 + %incdec.ptr.i.i948 = getelementptr inbounds i8, ptr %315, i64 8 + store ptr %incdec.ptr.i.i948, ptr %_M_finish.i.i937, align 8 + br label %invoke.cont441 + +if.else.i.i956: ; preds = %invoke.cont439 + invoke void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %exp, ptr %311, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp438) + to label %invoke.cont441 unwind label %lpad440 + +invoke.cont441: ; preds = %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i947, %if.else.i.i956 + %316 = load ptr, ptr %ref.tmp438, align 8 + %bf.load.i.i960 = load i64, ptr %316, align 8 + %317 = and i64 %bf.load.i.i960, 1152920405095219200 + %cmp.not.i.i961 = icmp eq i64 %317, 1152920405095219200 + br i1 %cmp.not.i.i961, label %if.end443, label %if.then.i.i962 + +if.then.i.i962: ; preds = %invoke.cont441 + %bf.value.i.i963 = add i64 %bf.load.i.i960, 1152920405095219200 + %bf.shl.i.i964 = and i64 %bf.value.i.i963, 1152920405095219200 + %bf.clear7.i.i965 = and i64 %bf.load.i.i960, -1152920405095219201 + %bf.set.i.i966 = or disjoint i64 %bf.shl.i.i964, %bf.clear7.i.i965 + store i64 %bf.set.i.i966, ptr %316, align 8 + %cmp12.i.i967 = icmp eq i64 %bf.shl.i.i964, 0 + br i1 %cmp12.i.i967, label %if.then13.i.i969, label %if.end443 + +if.then13.i.i969: ; preds = %if.then.i.i962 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %316) + to label %if.end443 unwind label %terminate.lpad.i970 + +terminate.lpad.i970: ; preds = %if.then13.i.i969 + %318 = landingpad { ptr, i32 } + catch ptr null + %319 = extractvalue { ptr, i32 } %318, 0 + call void @__clang_call_terminate(ptr %319) #25 + unreachable + +lpad412.loopexit: ; preds = %if.then13.i.i795 + %lpad.loopexit = landingpad { ptr, i32 } + cleanup + br label %ehcleanup494 + +lpad412.loopexit.split-lp: ; preds = %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE5clearEv.exit + %lpad.loopexit.split-lp = landingpad { ptr, i32 } + cleanup + br label %ehcleanup494 + +lpad414: ; preds = %if.then.i833, %if.then13.i.i.i, %invoke.cont415 + %320 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup446 + +lpad422: ; preds = %if.then.i851, %invoke.cont417 + %321 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup445 + +lpad424: ; preds = %if.then13.i.i860 + %322 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup445 + +lpad428: ; preds = %if.then.i899, %call.i934.noexc, %if.then437, %if.then13.i4.i922, %if.then13.i.i929 + %323 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup444 + +lpad440: ; preds = %if.else.i.i956, %if.then13.i.i.i.i.i.i949 + %324 = landingpad { ptr, i32 } + cleanup + %325 = load ptr, ptr %ref.tmp438, align 8 + %bf.load.i.i972 = load i64, ptr %325, align 8 + %326 = and i64 %bf.load.i.i972, 1152920405095219200 + %cmp.not.i.i973 = icmp eq i64 %326, 1152920405095219200 + br i1 %cmp.not.i.i973, label %ehcleanup444, label %if.then.i.i974 + +if.then.i.i974: ; preds = %lpad440 + %bf.value.i.i975 = add i64 %bf.load.i.i972, 1152920405095219200 + %bf.shl.i.i976 = and i64 %bf.value.i.i975, 1152920405095219200 + %bf.clear7.i.i977 = and i64 %bf.load.i.i972, -1152920405095219201 + %bf.set.i.i978 = or disjoint i64 %bf.shl.i.i976, %bf.clear7.i.i977 + store i64 %bf.set.i.i978, ptr %325, align 8 + %cmp12.i.i979 = icmp eq i64 %bf.shl.i.i976, 0 + br i1 %cmp12.i.i979, label %if.then13.i.i981, label %ehcleanup444 + +if.then13.i.i981: ; preds = %if.then.i.i974 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %325) + to label %ehcleanup444 unwind label %terminate.lpad.i982 + +terminate.lpad.i982: ; preds = %if.then13.i.i981 + %327 = landingpad { ptr, i32 } + catch ptr null + %328 = extractvalue { ptr, i32 } %327, 0 + call void @__clang_call_terminate(ptr %328) #25 + unreachable + +if.end443: ; preds = %if.then13.i.i969, %if.then.i.i962, %invoke.cont441, %land.lhs.true434 + %bf.load.i.i984 = load i64, ptr %278, align 8 + %329 = and i64 %bf.load.i.i984, 1152920405095219200 + %cmp.not.i.i985 = icmp eq i64 %329, 1152920405095219200 + br i1 %cmp.not.i.i985, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit995, label %if.then.i.i986 + +if.then.i.i986: ; preds = %if.end443 + %bf.value.i.i987 = add i64 %bf.load.i.i984, 1152920405095219200 + %bf.shl.i.i988 = and i64 %bf.value.i.i987, 1152920405095219200 + %bf.clear7.i.i989 = and i64 %bf.load.i.i984, -1152920405095219201 + %bf.set.i.i990 = or disjoint i64 %bf.shl.i.i988, %bf.clear7.i.i989 + store i64 %bf.set.i.i990, ptr %278, align 8 + %cmp12.i.i991 = icmp eq i64 %bf.shl.i.i988, 0 + br i1 %cmp12.i.i991, label %if.then13.i.i993, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit995 + +if.then13.i.i993: ; preds = %if.then.i.i986 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %278) + to label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit995 unwind label %terminate.lpad.i994 + +terminate.lpad.i994: ; preds = %if.then13.i.i993 + %330 = landingpad { ptr, i32 } + catch ptr null + %331 = extractvalue { ptr, i32 } %330, 0 + call void @__clang_call_terminate(ptr %331) #25 + unreachable + +_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit995: ; preds = %if.end443, %if.then.i.i986, %if.then13.i.i993 + %bf.load.i.i996 = load i64, ptr %274, align 8 + %332 = and i64 %bf.load.i.i996, 1152920405095219200 + %cmp.not.i.i997 = icmp eq i64 %332, 1152920405095219200 + br i1 %cmp.not.i.i997, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1007, label %if.then.i.i998 + +if.then.i.i998: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit995 + %bf.value.i.i999 = add i64 %bf.load.i.i996, 1152920405095219200 + %bf.shl.i.i1000 = and i64 %bf.value.i.i999, 1152920405095219200 + %bf.clear7.i.i1001 = and i64 %bf.load.i.i996, -1152920405095219201 + %bf.set.i.i1002 = or disjoint i64 %bf.shl.i.i1000, %bf.clear7.i.i1001 + store i64 %bf.set.i.i1002, ptr %274, align 8 + %cmp12.i.i1003 = icmp eq i64 %bf.shl.i.i1000, 0 + br i1 %cmp12.i.i1003, label %if.then13.i.i1005, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1007 + +if.then13.i.i1005: ; preds = %if.then.i.i998 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %274) + to label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1007 unwind label %terminate.lpad.i1006 + +terminate.lpad.i1006: ; preds = %if.then13.i.i1005 + %333 = landingpad { ptr, i32 } + catch ptr null + %334 = extractvalue { ptr, i32 } %333, 0 + call void @__clang_call_terminate(ptr %334) #25 + unreachable + +_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1007: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit995, %if.then.i.i998, %if.then13.i.i1005 + %335 = load ptr, ptr %n407, align 8 + %bf.load.i.i1008 = load i64, ptr %335, align 8 + %336 = and i64 %bf.load.i.i1008, 1152920405095219200 + %cmp.not.i.i1009 = icmp eq i64 %336, 1152920405095219200 + br i1 %cmp.not.i.i1009, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019, label %if.then.i.i1010 + +if.then.i.i1010: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1007 + %bf.value.i.i1011 = add i64 %bf.load.i.i1008, 1152920405095219200 + %bf.shl.i.i1012 = and i64 %bf.value.i.i1011, 1152920405095219200 + %bf.clear7.i.i1013 = and i64 %bf.load.i.i1008, -1152920405095219201 + %bf.set.i.i1014 = or disjoint i64 %bf.shl.i.i1012, %bf.clear7.i.i1013 + store i64 %bf.set.i.i1014, ptr %335, align 8 + %cmp12.i.i1015 = icmp eq i64 %bf.shl.i.i1012, 0 + br i1 %cmp12.i.i1015, label %if.then13.i.i1017, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019 + +if.then13.i.i1017: ; preds = %if.then.i.i1010 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %335) + to label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019 unwind label %terminate.lpad.i1018 + +terminate.lpad.i1018: ; preds = %if.then13.i.i1017 + %337 = landingpad { ptr, i32 } + catch ptr null + %338 = extractvalue { ptr, i32 } %337, 0 + call void @__clang_call_terminate(ptr %338) #25 + unreachable + +_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1007, %if.then.i.i1010, %if.then13.i.i1017 + %inc448 = add i32 %k.01788, 1 + %conv401 = zext i32 %inc448 to i64 + %339 = load ptr, ptr %split_new_part, align 8 + %add.ptr.i781 = getelementptr inbounds %"class.std::vector.525", ptr %339, i64 %conv3961796 + %_M_finish.i782 = getelementptr inbounds i8, ptr %add.ptr.i781, i64 8 + %340 = load ptr, ptr %_M_finish.i782, align 8 + %341 = load ptr, ptr %add.ptr.i781, align 8 + %sub.ptr.lhs.cast.i783 = ptrtoint ptr %340 to i64 + %sub.ptr.rhs.cast.i784 = ptrtoint ptr %341 to i64 + %sub.ptr.sub.i785 = sub i64 %sub.ptr.lhs.cast.i783, %sub.ptr.rhs.cast.i784 + %sub.ptr.div.i786 = ashr exact i64 %sub.ptr.sub.i785, 3 + %cmp405 = icmp ugt i64 %sub.ptr.div.i786, %conv401 + br i1 %cmp405, label %for.body406, label %for.end449, !llvm.loop !293 + +ehcleanup444: ; preds = %if.then13.i.i981, %if.then.i.i974, %lpad440, %ehcleanup10.i.i, %lpad7.i.i.i.i1482, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1489, %lpad428 + %.pn2 = phi { ptr, i32 } [ %.pn2.i.i, %ehcleanup10.i.i ], [ %323, %lpad428 ], [ %296, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1489 ], [ %287, %lpad7.i.i.i.i1482 ], [ %324, %lpad440 ], [ %324, %if.then.i.i974 ], [ %324, %if.then13.i.i981 ] + %bf.load.i.i1020 = load i64, ptr %278, align 8 + %342 = and i64 %bf.load.i.i1020, 1152920405095219200 + %cmp.not.i.i1021 = icmp eq i64 %342, 1152920405095219200 + br i1 %cmp.not.i.i1021, label %ehcleanup445, label %if.then.i.i1022 + +if.then.i.i1022: ; preds = %ehcleanup444 + %bf.value.i.i1023 = add i64 %bf.load.i.i1020, 1152920405095219200 + %bf.shl.i.i1024 = and i64 %bf.value.i.i1023, 1152920405095219200 + %bf.clear7.i.i1025 = and i64 %bf.load.i.i1020, -1152920405095219201 + %bf.set.i.i1026 = or disjoint i64 %bf.shl.i.i1024, %bf.clear7.i.i1025 + store i64 %bf.set.i.i1026, ptr %278, align 8 + %cmp12.i.i1027 = icmp eq i64 %bf.shl.i.i1024, 0 + br i1 %cmp12.i.i1027, label %if.then13.i.i1029, label %ehcleanup445 + +if.then13.i.i1029: ; preds = %if.then.i.i1022 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %278) + to label %ehcleanup445 unwind label %terminate.lpad.i1030 + +terminate.lpad.i1030: ; preds = %if.then13.i.i1029 + %343 = landingpad { ptr, i32 } + catch ptr null + %344 = extractvalue { ptr, i32 } %343, 0 + call void @__clang_call_terminate(ptr %344) #25 + unreachable + +ehcleanup445: ; preds = %if.then13.i.i1029, %if.then.i.i1022, %ehcleanup444, %lpad422, %lpad424 + %.pn2.pn = phi { ptr, i32 } [ %322, %lpad424 ], [ %321, %lpad422 ], [ %.pn2, %ehcleanup444 ], [ %.pn2, %if.then.i.i1022 ], [ %.pn2, %if.then13.i.i1029 ] + %bf.load.i.i1032 = load i64, ptr %274, align 8 + %345 = and i64 %bf.load.i.i1032, 1152920405095219200 + %cmp.not.i.i1033 = icmp eq i64 %345, 1152920405095219200 + br i1 %cmp.not.i.i1033, label %ehcleanup446, label %if.then.i.i1034 + +if.then.i.i1034: ; preds = %ehcleanup445 + %bf.value.i.i1035 = add i64 %bf.load.i.i1032, 1152920405095219200 + %bf.shl.i.i1036 = and i64 %bf.value.i.i1035, 1152920405095219200 + %bf.clear7.i.i1037 = and i64 %bf.load.i.i1032, -1152920405095219201 + %bf.set.i.i1038 = or disjoint i64 %bf.shl.i.i1036, %bf.clear7.i.i1037 + store i64 %bf.set.i.i1038, ptr %274, align 8 + %cmp12.i.i1039 = icmp eq i64 %bf.shl.i.i1036, 0 + br i1 %cmp12.i.i1039, label %if.then13.i.i1041, label %ehcleanup446 + +if.then13.i.i1041: ; preds = %if.then.i.i1034 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %274) + to label %ehcleanup446 unwind label %terminate.lpad.i1042 + +terminate.lpad.i1042: ; preds = %if.then13.i.i1041 + %346 = landingpad { ptr, i32 } + catch ptr null + %347 = extractvalue { ptr, i32 } %346, 0 + call void @__clang_call_terminate(ptr %347) #25 + unreachable + +ehcleanup446: ; preds = %if.then13.i.i1041, %if.then.i.i1034, %ehcleanup445, %lpad414, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1454, %lpad7.i.i.i.i1447 + %.pn2.pn.pn = phi { ptr, i32 } [ %320, %lpad414 ], [ %264, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1454 ], [ %255, %lpad7.i.i.i.i1447 ], [ %.pn2.pn, %ehcleanup445 ], [ %.pn2.pn, %if.then.i.i1034 ], [ %.pn2.pn, %if.then13.i.i1041 ] + %348 = load ptr, ptr %n407, align 8 + %bf.load.i.i1044 = load i64, ptr %348, align 8 + %349 = and i64 %bf.load.i.i1044, 1152920405095219200 + %cmp.not.i.i1045 = icmp eq i64 %349, 1152920405095219200 + br i1 %cmp.not.i.i1045, label %ehcleanup494, label %if.then.i.i1046 + +if.then.i.i1046: ; preds = %ehcleanup446 + %bf.value.i.i1047 = add i64 %bf.load.i.i1044, 1152920405095219200 + %bf.shl.i.i1048 = and i64 %bf.value.i.i1047, 1152920405095219200 + %bf.clear7.i.i1049 = and i64 %bf.load.i.i1044, -1152920405095219201 + %bf.set.i.i1050 = or disjoint i64 %bf.shl.i.i1048, %bf.clear7.i.i1049 + store i64 %bf.set.i.i1050, ptr %348, align 8 + %cmp12.i.i1051 = icmp eq i64 %bf.shl.i.i1048, 0 + br i1 %cmp12.i.i1051, label %if.then13.i.i1053, label %ehcleanup494 + +if.then13.i.i1053: ; preds = %if.then.i.i1046 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %348) + to label %ehcleanup494 unwind label %terminate.lpad.i1054 + +terminate.lpad.i1054: ; preds = %if.then13.i.i1053 + %350 = landingpad { ptr, i32 } + catch ptr null + %351 = extractvalue { ptr, i32 } %350, 0 + call void @__clang_call_terminate(ptr %351) #25 + unreachable + +for.end449: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019, %for.cond400.preheader + %add.ptr.i781.lcssa = phi ptr [ %add.ptr.i7811781, %for.cond400.preheader ], [ %add.ptr.i781, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019 ] + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %c_part_out, i8 0, i64 24, i1 false) + invoke fastcc void @_ZN4cvc58internal6theory9datatypes15TheoryDatatypes17separateBisimilarERSt6vectorINS0_12NodeTemplateILb1EEESaIS6_EERS4_IS8_SaIS8_EES9_RSt3mapIS6_S6_St4lessIS6_ESaISt4pairIKS6_S6_EEERSD_IS6_SD_IS6_iSF_SaISG_ISH_iEEESF_SaISG_ISH_SO_EEEib.specialized.3(ptr noundef nonnull align 8 dereferenceable(2008) %this, ptr noundef nonnull align 8 dereferenceable(24) %add.ptr.i781.lcssa, ptr noundef nonnull align 8 dereferenceable(24) %c_part_out, ptr noundef nonnull align 8 dereferenceable(24) %exp, ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr noundef nonnull align 8 dereferenceable(48) %dni) + to label %invoke.cont454 unwind label %lpad453 + +invoke.cont454: ; preds = %for.end449 + %352 = load ptr, ptr %_M_finish.i1057, align 8 + %353 = load ptr, ptr %c_part_out, align 8 + %354 = load ptr, ptr %_M_finish.i1058, align 8 + %355 = load ptr, ptr %next_split_new_part, align 8 + %sub.ptr.lhs.cast.i.i1059 = ptrtoint ptr %352 to i64 + %sub.ptr.rhs.cast.i.i1060 = ptrtoint ptr %355 to i64 + %sub.ptr.sub.i.i1061 = sub i64 %sub.ptr.lhs.cast.i.i1059, %sub.ptr.rhs.cast.i.i1060 + %add.ptr.i.i1062 = getelementptr inbounds i8, ptr %355, i64 %sub.ptr.sub.i.i1061 + invoke void @_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %next_split_new_part, ptr %add.ptr.i.i1062, ptr %353, ptr %354) + to label %invoke.cont468 unwind label %lpad453 + +invoke.cont468: ; preds = %invoke.cont454 + %356 = load ptr, ptr %c_part_out, align 8 + %357 = load ptr, ptr %_M_finish.i1058, align 8 + %cmp.not3.i.i.i.i1066 = icmp eq ptr %356, %357 + br i1 %cmp.not3.i.i.i.i1066, label %invoke.cont.i1073, label %for.body.i.i.i.i1067 + +for.body.i.i.i.i1067: ; preds = %invoke.cont468, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i + %__first.addr.04.i.i.i.i1068 = phi ptr [ %incdec.ptr.i.i.i.i1069, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i ], [ %356, %invoke.cont468 ] + %358 = load ptr, ptr %__first.addr.04.i.i.i.i1068, align 8 + %_M_finish.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1068, i64 8 + %359 = load ptr, ptr %_M_finish.i.i.i.i.i.i, align 8 + %cmp.not3.i.i.i.i.i.i.i.i.i = icmp eq ptr %358, %359 + br i1 %cmp.not3.i.i.i.i.i.i.i.i.i, label %invoke.cont.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i.i.i.i + +for.body.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i1067, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i + %__first.addr.04.i.i.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i ], [ %358, %for.body.i.i.i.i1067 ] + %360 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i, align 8 + %bf.load.i.i.i.i.i.i.i.i.i.i.i.i = load i64, ptr %360, align 8 + %361 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %361, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i + +if.then.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i + %bf.value.i.i.i.i.i.i.i.i.i.i.i.i = add i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i = and i64 %bf.value.i.i.i.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i.i.i.i = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i, %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i + store i64 %bf.set.i.i.i.i.i.i.i.i.i.i.i.i, ptr %360, align 8 + %cmp12.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i.i.i.i, label %if.then13.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i + +if.then13.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %360) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i unwind label %terminate.lpad.i.i.i.i.i.i.i.i.i.i.i + +terminate.lpad.i.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i + %362 = landingpad { ptr, i32 } + catch ptr null + %363 = extractvalue { ptr, i32 } %362, 0 + call void @__clang_call_terminate(ptr %363) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i, i64 8 + %cmp.not.i.i.i.i.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i, %359 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i, label %invoke.contthread-pre-split.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i.i.i.i, !llvm.loop !21 + +invoke.contthread-pre-split.i.i.i.i.i.i: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i + %.pr.i.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i1068, align 8 + br label %invoke.cont.i.i.i.i.i.i + +invoke.cont.i.i.i.i.i.i: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i, %for.body.i.i.i.i1067 + %364 = phi ptr [ %.pr.i.i.i.i.i.i, %invoke.contthread-pre-split.i.i.i.i.i.i ], [ %358, %for.body.i.i.i.i1067 ] + %tobool.not.i.i.i.i.i.i.i.i = icmp eq ptr %364, null + br i1 %tobool.not.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i + +if.then.i.i.i.i.i.i.i.i: ; preds = %invoke.cont.i.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %364) #26 + br label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i + +_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i, %invoke.cont.i.i.i.i.i.i + %incdec.ptr.i.i.i.i1069 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1068, i64 24 + %cmp.not.i.i.i.i1070 = icmp eq ptr %incdec.ptr.i.i.i.i1069, %357 + br i1 %cmp.not.i.i.i.i1070, label %invoke.contthread-pre-split.i1071, label %for.body.i.i.i.i1067, !llvm.loop !38 + +invoke.contthread-pre-split.i1071: ; preds = %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i + %.pr.i1072 = load ptr, ptr %c_part_out, align 8 + br label %invoke.cont.i1073 + +invoke.cont.i1073: ; preds = %invoke.contthread-pre-split.i1071, %invoke.cont468 + %365 = phi ptr [ %.pr.i1072, %invoke.contthread-pre-split.i1071 ], [ %356, %invoke.cont468 ] + %tobool.not.i.i.i1074 = icmp eq ptr %365, null + br i1 %tobool.not.i.i.i1074, label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit, label %if.then.i.i.i1075 + +if.then.i.i.i1075: ; preds = %invoke.cont.i1073 + call void @_ZdlPv(ptr noundef nonnull %365) #26 + br label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit + +_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit: ; preds = %invoke.cont.i1073, %if.then.i.i.i1075 + %inc474 = add i32 %j394.01795, 1 + %conv396 = zext i32 %inc474 to i64 + %366 = load ptr, ptr %_M_finish.i.i774, align 8 + %367 = load ptr, ptr %split_new_part, align 8 + %sub.ptr.lhs.cast.i777 = ptrtoint ptr %366 to i64 + %sub.ptr.rhs.cast.i778 = ptrtoint ptr %367 to i64 + %sub.ptr.sub.i779 = sub i64 %sub.ptr.lhs.cast.i777, %sub.ptr.rhs.cast.i778 + %sub.ptr.div.i780 = sdiv exact i64 %sub.ptr.sub.i779, 24 + %cmp398 = icmp ugt i64 %sub.ptr.div.i780, %conv396 + br i1 %cmp398, label %for.cond400.preheader, label %for.end475, !llvm.loop !294 + +lpad453: ; preds = %for.end449, %invoke.cont454 + %368 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %c_part_out) #23 + br label %ehcleanup494 + +for.end475: ; preds = %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit + %tobool.not.i.i = icmp eq ptr %366, %367 + br i1 %tobool.not.i.i, label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE5clearEv.exit, label %for.body.i.i.i.i.i + +for.body.i.i.i.i.i: ; preds = %for.end475, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i.i + %__first.addr.04.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i.i ], [ %367, %for.end475 ] + %369 = load ptr, ptr %__first.addr.04.i.i.i.i.i, align 8 + %_M_finish.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i, i64 8 + %370 = load ptr, ptr %_M_finish.i.i.i.i.i.i.i, align 8 + %cmp.not3.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %369, %370 + br i1 %cmp.not3.i.i.i.i.i.i.i.i.i.i, label %invoke.cont.i.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i.i.i.i.i + +for.body.i.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i + %__first.addr.04.i.i.i.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i.i, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i ], [ %369, %for.body.i.i.i.i.i ] + %371 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i.i, align 8 + %bf.load.i.i.i.i.i.i.i.i.i.i.i.i.i = load i64, ptr %371, align 8 + %372 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %372, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i + +if.then.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i.i + %bf.value.i.i.i.i.i.i.i.i.i.i.i.i.i = add i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i.i = and i64 %bf.value.i.i.i.i.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i.i, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i.i.i.i.i = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i.i, %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i.i + store i64 %bf.set.i.i.i.i.i.i.i.i.i.i.i.i.i, ptr %371, align 8 + %cmp12.i.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i.i, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i.i.i.i.i, label %if.then13.i.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i + +if.then13.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %371) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i unwind label %terminate.lpad.i.i.i.i.i.i.i.i.i.i.i.i + +terminate.lpad.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i.i + %373 = landingpad { ptr, i32 } + catch ptr null + %374 = extractvalue { ptr, i32 } %373, 0 + call void @__clang_call_terminate(ptr %374) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i.i, i64 8 + %cmp.not.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i.i, %370 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i, label %invoke.contthread-pre-split.i.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i.i.i.i.i, !llvm.loop !21 + +invoke.contthread-pre-split.i.i.i.i.i.i.i: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i + %.pr.i.i.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i.i, align 8 + br label %invoke.cont.i.i.i.i.i.i.i + +invoke.cont.i.i.i.i.i.i.i: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i.i, %for.body.i.i.i.i.i + %375 = phi ptr [ %.pr.i.i.i.i.i.i.i, %invoke.contthread-pre-split.i.i.i.i.i.i.i ], [ %369, %for.body.i.i.i.i.i ] + %tobool.not.i.i.i.i.i.i.i.i.i = icmp eq ptr %375, null + br i1 %tobool.not.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i + +if.then.i.i.i.i.i.i.i.i.i: ; preds = %invoke.cont.i.i.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %375) #26 + br label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i.i + +_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i, %invoke.cont.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i, i64 24 + %cmp.not.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i, %366 + br i1 %cmp.not.i.i.i.i.i, label %invoke.cont.i.i, label %for.body.i.i.i.i.i, !llvm.loop !38 + +invoke.cont.i.i: ; preds = %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i.i + store ptr %367, ptr %_M_finish.i.i774, align 8 + %.pre1851 = load ptr, ptr %split_new_part, align 8 + br label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE5clearEv.exit + +_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE5clearEv.exit: ; preds = %for.end475, %invoke.cont.i.i + %376 = phi ptr [ %367, %for.end475 ], [ %.pre1851, %invoke.cont.i.i ] + %377 = phi ptr [ %366, %for.end475 ], [ %367, %invoke.cont.i.i ] + %378 = load ptr, ptr %next_split_new_part, align 8 + %379 = load ptr, ptr %_M_finish.i1057, align 8 + %sub.ptr.lhs.cast.i.i1079 = ptrtoint ptr %377 to i64 + %sub.ptr.rhs.cast.i.i1080 = ptrtoint ptr %376 to i64 + %sub.ptr.sub.i.i1081 = sub i64 %sub.ptr.lhs.cast.i.i1079, %sub.ptr.rhs.cast.i.i1080 + %add.ptr.i.i1082 = getelementptr inbounds i8, ptr %376, i64 %sub.ptr.sub.i.i1081 + invoke void @_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %split_new_part, ptr %add.ptr.i.i1082, ptr %378, ptr %379) + to label %invoke.cont489 unwind label %lpad412.loopexit.split-lp + +invoke.cont489: ; preds = %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE5clearEv.exit + %inc493 = add nuw i32 %cindex.01800, 1 + %380 = load ptr, ptr %next_split_new_part, align 8 + %381 = load ptr, ptr %_M_finish.i1057, align 8 + %cmp.not3.i.i.i.i1087 = icmp eq ptr %380, %381 + br i1 %cmp.not3.i.i.i.i1087, label %invoke.cont.i1115, label %for.body.i.i.i.i1088 + +for.body.i.i.i.i1088: ; preds = %invoke.cont489, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1110 + %__first.addr.04.i.i.i.i1089 = phi ptr [ %incdec.ptr.i.i.i.i1111, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1110 ], [ %380, %invoke.cont489 ] + %382 = load ptr, ptr %__first.addr.04.i.i.i.i1089, align 8 + %_M_finish.i.i.i.i.i.i1090 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1089, i64 8 + %383 = load ptr, ptr %_M_finish.i.i.i.i.i.i1090, align 8 + %cmp.not3.i.i.i.i.i.i.i.i.i1091 = icmp eq ptr %382, %383 + br i1 %cmp.not3.i.i.i.i.i.i.i.i.i1091, label %invoke.cont.i.i.i.i.i.i1107, label %for.body.i.i.i.i.i.i.i.i.i1092 + +for.body.i.i.i.i.i.i.i.i.i1092: ; preds = %for.body.i.i.i.i1088, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1102 + %__first.addr.04.i.i.i.i.i.i.i.i.i1093 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i1103, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1102 ], [ %382, %for.body.i.i.i.i1088 ] + %384 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1093, align 8 + %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1094 = load i64, ptr %384, align 8 + %385 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1094, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1095 = icmp eq i64 %385, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1095, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1102, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i1096 + +if.then.i.i.i.i.i.i.i.i.i.i.i.i1096: ; preds = %for.body.i.i.i.i.i.i.i.i.i1092 + %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1097 = add i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1094, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1098 = and i64 %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1097, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1099 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1094, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1100 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1098, %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1099 + store i64 %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1100, ptr %384, align 8 + %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1101 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1098, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1101, label %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1118, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1102 + +if.then13.i.i.i.i.i.i.i.i.i.i.i.i1118: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i1096 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %384) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1102 unwind label %terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1119 + +terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1119: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1118 + %386 = landingpad { ptr, i32 } + catch ptr null + %387 = extractvalue { ptr, i32 } %386, 0 + call void @__clang_call_terminate(ptr %387) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1102: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1118, %if.then.i.i.i.i.i.i.i.i.i.i.i.i1096, %for.body.i.i.i.i.i.i.i.i.i1092 + %incdec.ptr.i.i.i.i.i.i.i.i.i1103 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1093, i64 8 + %cmp.not.i.i.i.i.i.i.i.i.i1104 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i1103, %383 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i1104, label %invoke.contthread-pre-split.i.i.i.i.i.i1105, label %for.body.i.i.i.i.i.i.i.i.i1092, !llvm.loop !21 + +invoke.contthread-pre-split.i.i.i.i.i.i1105: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1102 + %.pr.i.i.i.i.i.i1106 = load ptr, ptr %__first.addr.04.i.i.i.i1089, align 8 + br label %invoke.cont.i.i.i.i.i.i1107 + +invoke.cont.i.i.i.i.i.i1107: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i1105, %for.body.i.i.i.i1088 + %388 = phi ptr [ %.pr.i.i.i.i.i.i1106, %invoke.contthread-pre-split.i.i.i.i.i.i1105 ], [ %382, %for.body.i.i.i.i1088 ] + %tobool.not.i.i.i.i.i.i.i.i1108 = icmp eq ptr %388, null + br i1 %tobool.not.i.i.i.i.i.i.i.i1108, label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1110, label %if.then.i.i.i.i.i.i.i.i1109 + +if.then.i.i.i.i.i.i.i.i1109: ; preds = %invoke.cont.i.i.i.i.i.i1107 + call void @_ZdlPv(ptr noundef nonnull %388) #26 + br label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1110 + +_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1110: ; preds = %if.then.i.i.i.i.i.i.i.i1109, %invoke.cont.i.i.i.i.i.i1107 + %incdec.ptr.i.i.i.i1111 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1089, i64 24 + %cmp.not.i.i.i.i1112 = icmp eq ptr %incdec.ptr.i.i.i.i1111, %381 + br i1 %cmp.not.i.i.i.i1112, label %invoke.contthread-pre-split.i1113, label %for.body.i.i.i.i1088, !llvm.loop !38 + +invoke.contthread-pre-split.i1113: ; preds = %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1110 + %.pr.i1114 = load ptr, ptr %next_split_new_part, align 8 + br label %invoke.cont.i1115 + +invoke.cont.i1115: ; preds = %invoke.contthread-pre-split.i1113, %invoke.cont489 + %389 = phi ptr [ %.pr.i1114, %invoke.contthread-pre-split.i1113 ], [ %380, %invoke.cont489 ] + %tobool.not.i.i.i1116 = icmp eq ptr %389, null + br i1 %tobool.not.i.i.i1116, label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1120, label %if.then.i.i.i1117 + +if.then.i.i.i1117: ; preds = %invoke.cont.i1115 + call void @_ZdlPv(ptr noundef nonnull %389) #26 + br label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1120 + +_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1120: ; preds = %invoke.cont.i1115, %if.then.i.i.i1117 + %exitcond.not = icmp eq i32 %inc493, %cond.i.i + br i1 %exitcond.not, label %while.end, label %land.rhs, !llvm.loop !295 + +ehcleanup494: ; preds = %lpad412.loopexit, %lpad412.loopexit.split-lp, %if.then13.i.i1053, %if.then.i.i1046, %ehcleanup446, %lpad453 + %.pn2.pn.pn.pn = phi { ptr, i32 } [ %368, %lpad453 ], [ %.pn2.pn.pn, %ehcleanup446 ], [ %.pn2.pn.pn, %if.then.i.i1046 ], [ %.pn2.pn.pn, %if.then13.i.i1053 ], [ %lpad.loopexit, %lpad412.loopexit ], [ %lpad.loopexit.split-lp, %lpad412.loopexit.split-lp ] + %390 = load ptr, ptr %next_split_new_part, align 8 + %391 = load ptr, ptr %_M_finish.i1057, align 8 + %cmp.not3.i.i.i.i1122 = icmp eq ptr %390, %391 + br i1 %cmp.not3.i.i.i.i1122, label %invoke.cont.i1150, label %for.body.i.i.i.i1123 + +for.body.i.i.i.i1123: ; preds = %ehcleanup494, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1145 + %__first.addr.04.i.i.i.i1124 = phi ptr [ %incdec.ptr.i.i.i.i1146, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1145 ], [ %390, %ehcleanup494 ] + %392 = load ptr, ptr %__first.addr.04.i.i.i.i1124, align 8 + %_M_finish.i.i.i.i.i.i1125 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1124, i64 8 + %393 = load ptr, ptr %_M_finish.i.i.i.i.i.i1125, align 8 + %cmp.not3.i.i.i.i.i.i.i.i.i1126 = icmp eq ptr %392, %393 + br i1 %cmp.not3.i.i.i.i.i.i.i.i.i1126, label %invoke.cont.i.i.i.i.i.i1142, label %for.body.i.i.i.i.i.i.i.i.i1127 + +for.body.i.i.i.i.i.i.i.i.i1127: ; preds = %for.body.i.i.i.i1123, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1137 + %__first.addr.04.i.i.i.i.i.i.i.i.i1128 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i1138, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1137 ], [ %392, %for.body.i.i.i.i1123 ] + %394 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1128, align 8 + %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1129 = load i64, ptr %394, align 8 + %395 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1129, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1130 = icmp eq i64 %395, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1130, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1137, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i1131 + +if.then.i.i.i.i.i.i.i.i.i.i.i.i1131: ; preds = %for.body.i.i.i.i.i.i.i.i.i1127 + %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1132 = add i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1129, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1133 = and i64 %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1132, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1134 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1129, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1135 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1133, %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1134 + store i64 %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1135, ptr %394, align 8 + %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1136 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1133, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1136, label %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1153, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1137 + +if.then13.i.i.i.i.i.i.i.i.i.i.i.i1153: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i1131 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %394) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1137 unwind label %terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1154 + +terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1154: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1153 + %396 = landingpad { ptr, i32 } + catch ptr null + %397 = extractvalue { ptr, i32 } %396, 0 + call void @__clang_call_terminate(ptr %397) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1137: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1153, %if.then.i.i.i.i.i.i.i.i.i.i.i.i1131, %for.body.i.i.i.i.i.i.i.i.i1127 + %incdec.ptr.i.i.i.i.i.i.i.i.i1138 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1128, i64 8 + %cmp.not.i.i.i.i.i.i.i.i.i1139 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i1138, %393 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i1139, label %invoke.contthread-pre-split.i.i.i.i.i.i1140, label %for.body.i.i.i.i.i.i.i.i.i1127, !llvm.loop !21 + +invoke.contthread-pre-split.i.i.i.i.i.i1140: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1137 + %.pr.i.i.i.i.i.i1141 = load ptr, ptr %__first.addr.04.i.i.i.i1124, align 8 + br label %invoke.cont.i.i.i.i.i.i1142 + +invoke.cont.i.i.i.i.i.i1142: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i1140, %for.body.i.i.i.i1123 + %398 = phi ptr [ %.pr.i.i.i.i.i.i1141, %invoke.contthread-pre-split.i.i.i.i.i.i1140 ], [ %392, %for.body.i.i.i.i1123 ] + %tobool.not.i.i.i.i.i.i.i.i1143 = icmp eq ptr %398, null + br i1 %tobool.not.i.i.i.i.i.i.i.i1143, label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1145, label %if.then.i.i.i.i.i.i.i.i1144 + +if.then.i.i.i.i.i.i.i.i1144: ; preds = %invoke.cont.i.i.i.i.i.i1142 + call void @_ZdlPv(ptr noundef nonnull %398) #26 + br label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1145 + +_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1145: ; preds = %if.then.i.i.i.i.i.i.i.i1144, %invoke.cont.i.i.i.i.i.i1142 + %incdec.ptr.i.i.i.i1146 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1124, i64 24 + %cmp.not.i.i.i.i1147 = icmp eq ptr %incdec.ptr.i.i.i.i1146, %391 + br i1 %cmp.not.i.i.i.i1147, label %invoke.contthread-pre-split.i1148, label %for.body.i.i.i.i1123, !llvm.loop !38 + +invoke.contthread-pre-split.i1148: ; preds = %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1145 + %.pr.i1149 = load ptr, ptr %next_split_new_part, align 8 + br label %invoke.cont.i1150 + +invoke.cont.i1150: ; preds = %invoke.contthread-pre-split.i1148, %ehcleanup494 + %399 = phi ptr [ %.pr.i1149, %invoke.contthread-pre-split.i1148 ], [ %390, %ehcleanup494 ] + %tobool.not.i.i.i1151 = icmp eq ptr %399, null + br i1 %tobool.not.i.i.i1151, label %ehcleanup531, label %if.then.i.i.i1152 + +if.then.i.i.i1152: ; preds = %invoke.cont.i1150 + call void @_ZdlPv(ptr noundef nonnull %399) #26 + br label %ehcleanup531 + +while.end: ; preds = %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1120, %land.rhs, %invoke.cont362 + %400 = load ptr, ptr %_M_finish.i1156, align 8 + %401 = load ptr, ptr %split_new_part, align 8 + %402 = load ptr, ptr %_M_finish.i.i774, align 8 + %403 = load ptr, ptr %part_out, align 8 + %sub.ptr.lhs.cast.i.i1158 = ptrtoint ptr %400 to i64 + %sub.ptr.rhs.cast.i.i1159 = ptrtoint ptr %403 to i64 + %sub.ptr.sub.i.i1160 = sub i64 %sub.ptr.lhs.cast.i.i1158, %sub.ptr.rhs.cast.i.i1159 + %add.ptr.i.i1161 = getelementptr inbounds i8, ptr %403, i64 %sub.ptr.sub.i.i1160 + invoke void @_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %part_out, ptr %add.ptr.i.i1161, ptr %401, ptr %402) + to label %invoke.cont508 unwind label %lpad355.loopexit.split-lp + +invoke.cont508: ; preds = %while.end + %404 = load ptr, ptr %_M_left.i.i.i.i.i499, align 8 + %cmp.i1167.not1801 = icmp eq ptr %404, %142 + br i1 %cmp.i1167.not1801, label %for.end530, label %for.body519 + +for.body519: ; preds = %invoke.cont508, %for.inc528 + %it2.sroa.0.01802 = phi ptr [ %call.i1232, %for.inc528 ], [ %404, %invoke.cont508 ] + %_M_storage.i.i1168 = getelementptr inbounds i8, ptr %it2.sroa.0.01802, i64 32 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i1169) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i1170) + %405 = load ptr, ptr %_M_parent.i.i.i.i.i527, align 8 + %cmp.not5.i.i.i.i1173 = icmp eq ptr %405, null + br i1 %cmp.not5.i.i.i.i1173, label %if.then.i1199, label %while.body.lr.ph.i.i.i.i1174 + +while.body.lr.ph.i.i.i.i1174: ; preds = %for.body519 + %406 = load ptr, ptr %_M_storage.i.i1168, align 8 + %bf.load3.i.i.i.i.i.i1175 = load i64, ptr %406, align 8 + %bf.clear4.i.i.i.i.i.i1176 = and i64 %bf.load3.i.i.i.i.i.i1175, 1099511627775 + br label %while.body.i.i.i.i1177 + +while.body.i.i.i.i1177: ; preds = %while.body.i.i.i.i1177, %while.body.lr.ph.i.i.i.i1174 + %__x.addr.07.i.i.i.i1178 = phi ptr [ %405, %while.body.lr.ph.i.i.i.i1174 ], [ %__x.addr.1.i.i.i.i1187, %while.body.i.i.i.i1177 ] + %__y.addr.06.i.i.i.i1179 = phi ptr [ %add.ptr.i.i.i.i528, %while.body.lr.ph.i.i.i.i1174 ], [ %__y.addr.1.i.i.i.i1184, %while.body.i.i.i.i1177 ] + %_M_storage.i.i.i.i.i.i1180 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i1178, i64 32 + %407 = load ptr, ptr %_M_storage.i.i.i.i.i.i1180, align 8 + %bf.load.i.i.i.i.i.i1181 = load i64, ptr %407, align 8 + %bf.clear.i.i.i.i.i.i1182 = and i64 %bf.load.i.i.i.i.i.i1181, 1099511627775 + %cmp.i.i.i.i.i.i1183 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i1182, %bf.clear4.i.i.i.i.i.i1176 + %__y.addr.1.i.i.i.i1184 = select i1 %cmp.i.i.i.i.i.i1183, ptr %__y.addr.06.i.i.i.i1179, ptr %__x.addr.07.i.i.i.i1178 + %__x.addr.1.in.v.i.i.i.i1185 = select i1 %cmp.i.i.i.i.i.i1183, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i1186 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i1178, i64 %__x.addr.1.in.v.i.i.i.i1185 + %__x.addr.1.i.i.i.i1187 = load ptr, ptr %__x.addr.1.in.i.i.i.i1186, align 8 + %cmp.not.i.i.i.i1188 = icmp eq ptr %__x.addr.1.i.i.i.i1187, null + br i1 %cmp.not.i.i.i.i1188, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i1189, label %while.body.i.i.i.i1177, !llvm.loop !275 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i1189: ; preds = %while.body.i.i.i.i1177 + %cmp.i.i1190 = icmp eq ptr %__y.addr.1.i.i.i.i1184, %add.ptr.i.i.i.i528 + br i1 %cmp.i.i1190, label %if.then.i1199, label %lor.rhs.i1191 + +lor.rhs.i1191: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i1189 + %_M_storage.i.i.i1192 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i1184, i64 32 + %408 = load ptr, ptr %_M_storage.i.i.i1192, align 8 + %bf.load3.i.i.i1193 = load i64, ptr %408, align 8 + %bf.clear4.i.i.i1194 = and i64 %bf.load3.i.i.i1193, 1099511627775 + %cmp.i.i.i1195 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i1176, %bf.clear4.i.i.i1194 + br i1 %cmp.i.i.i1195, label %if.then.i1199, label %invoke.cont522 + +if.then.i1199: ; preds = %lor.rhs.i1191, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i1189, %for.body519 + %__y.addr.0.lcssa.i.i.i9.i1200 = phi ptr [ %__y.addr.1.i.i.i.i1184, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i1189 ], [ %__y.addr.1.i.i.i.i1184, %lor.rhs.i1191 ], [ %add.ptr.i.i.i.i528, %for.body519 ] + store ptr %_M_storage.i.i1168, ptr %ref.tmp9.i1169, align 8 + %call12.i1202 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St3mapIS3_iSt4lessIS3_ESaIS4_IS5_iEEEESt10_Select1stISC_ES8_SaISC_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESL_IJEEEEESt17_Rb_tree_iteratorISC_ESt23_Rb_tree_const_iteratorISC_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %dni, ptr %__y.addr.0.lcssa.i.i.i9.i1200, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i1169, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i1170) + to label %invoke.cont522 unwind label %lpad355.loopexit + +invoke.cont522: ; preds = %lor.rhs.i1191, %if.then.i1199 + %__i.sroa.0.0.i1197 = phi ptr [ %__y.addr.1.i.i.i.i1184, %lor.rhs.i1191 ], [ %call12.i1202, %if.then.i1199 ] + %second.i1198 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i1197, i64 40 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i1169) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i1170) + %_M_parent.i.i.i.i.i1205 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i1197, i64 56 + %add.ptr.i.i.i.i1206 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i1197, i64 48 + %__x.046.i.i.i = load ptr, ptr %_M_parent.i.i.i.i.i1205, align 8 + %cmp.not47.i.i.i = icmp eq ptr %__x.046.i.i.i, null + br i1 %cmp.not47.i.i.i, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseERS5_.exit.i, label %while.body.lr.ph.i.i.i1207 + +while.body.lr.ph.i.i.i1207: ; preds = %invoke.cont522 + %second525 = getelementptr inbounds i8, ptr %it2.sroa.0.01802, i64 40 + %409 = load ptr, ptr %second525, align 8 + %bf.load3.i.i.i.i.i1208 = load i64, ptr %409, align 8 + %bf.clear4.i.i.i.i.i1209 = and i64 %bf.load3.i.i.i.i.i1208, 1099511627775 + br label %while.body.i.i.i1210 + +while.body.i.i.i1210: ; preds = %if.end19.i.i.i, %while.body.lr.ph.i.i.i1207 + %__x.049.i.i.i = phi ptr [ %__x.046.i.i.i, %while.body.lr.ph.i.i.i1207 ], [ %__x.0.i.i.i, %if.end19.i.i.i ] + %__y.048.i.i.i = phi ptr [ %add.ptr.i.i.i.i1206, %while.body.lr.ph.i.i.i1207 ], [ %__y.1.i.i.i, %if.end19.i.i.i ] + %_M_storage.i.i.i.i.i1211 = getelementptr inbounds i8, ptr %__x.049.i.i.i, i64 32 + %410 = load ptr, ptr %_M_storage.i.i.i.i.i1211, align 8 + %bf.load.i.i.i.i.i1212 = load i64, ptr %410, align 8 + %bf.clear.i.i.i.i.i1213 = and i64 %bf.load.i.i.i.i.i1212, 1099511627775 + %cmp.i.i.i.i.i1214 = icmp samesign ult i64 %bf.clear.i.i.i.i.i1213, %bf.clear4.i.i.i.i.i1209 + br i1 %cmp.i.i.i.i.i1214, label %if.end19.i.i.i, label %if.else.i.i.i1215 + +if.else.i.i.i1215: ; preds = %while.body.i.i.i1210 + %cmp.i.i22.i.i.i = icmp samesign ult i64 %bf.clear4.i.i.i.i.i1209, %bf.clear.i.i.i.i.i1213 + br i1 %cmp.i.i22.i.i.i, label %if.end19.i.i.i, label %if.else12.i.i.i + +if.else12.i.i.i: ; preds = %if.else.i.i.i1215 + %_M_left.i23.i.i.i = getelementptr inbounds i8, ptr %__x.049.i.i.i, i64 16 + %411 = load ptr, ptr %_M_left.i23.i.i.i, align 8 + %_M_right.i24.i.i.i = getelementptr inbounds i8, ptr %__x.049.i.i.i, i64 24 + %412 = load ptr, ptr %_M_right.i24.i.i.i, align 8 + %cmp.not5.i.i.i.i1216 = icmp eq ptr %411, null + br i1 %cmp.not5.i.i.i.i1216, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i, label %while.body.i.i.i.i1217 + +while.body.i.i.i.i1217: ; preds = %if.else12.i.i.i, %while.body.i.i.i.i1217 + %__x.addr.07.i.i.i.i1218 = phi ptr [ %__x.addr.1.i.i.i.i1227, %while.body.i.i.i.i1217 ], [ %411, %if.else12.i.i.i ] + %__y.addr.06.i.i.i.i1219 = phi ptr [ %__y.addr.1.i.i.i.i1224, %while.body.i.i.i.i1217 ], [ %__x.049.i.i.i, %if.else12.i.i.i ] + %_M_storage.i.i.i.i.i.i1220 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i1218, i64 32 + %413 = load ptr, ptr %_M_storage.i.i.i.i.i.i1220, align 8 + %bf.load.i.i.i.i.i.i1221 = load i64, ptr %413, align 8 + %bf.clear.i.i.i.i.i.i1222 = and i64 %bf.load.i.i.i.i.i.i1221, 1099511627775 + %cmp.i.i.i.i.i.i1223 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i1222, %bf.clear4.i.i.i.i.i1209 + %__y.addr.1.i.i.i.i1224 = select i1 %cmp.i.i.i.i.i.i1223, ptr %__y.addr.06.i.i.i.i1219, ptr %__x.addr.07.i.i.i.i1218 + %__x.addr.1.in.v.i.i.i.i1225 = select i1 %cmp.i.i.i.i.i.i1223, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i1226 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i1218, i64 %__x.addr.1.in.v.i.i.i.i1225 + %__x.addr.1.i.i.i.i1227 = load ptr, ptr %__x.addr.1.in.i.i.i.i1226, align 8 + %cmp.not.i.i.i.i1228 = icmp eq ptr %__x.addr.1.i.i.i.i1227, null + br i1 %cmp.not.i.i.i.i1228, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i, label %while.body.i.i.i.i1217, !llvm.loop !233 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i: ; preds = %while.body.i.i.i.i1217, %if.else12.i.i.i + %__y.addr.0.lcssa.i.i.i.i = phi ptr [ %__x.049.i.i.i, %if.else12.i.i.i ], [ %__y.addr.1.i.i.i.i1224, %while.body.i.i.i.i1217 ] + %cmp.not5.i25.i.i.i = icmp eq ptr %412, null + br i1 %cmp.not5.i25.i.i.i, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseERS5_.exit.i, label %while.body.i29.i.i.i + +while.body.i29.i.i.i: ; preds = %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i, %while.body.i29.i.i.i + %__x.addr.07.i30.i.i.i = phi ptr [ %__x.addr.1.i39.i.i.i, %while.body.i29.i.i.i ], [ %412, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i ] + %__y.addr.06.i31.i.i.i = phi ptr [ %__y.addr.1.i36.i.i.i, %while.body.i29.i.i.i ], [ %__y.048.i.i.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i ] + %_M_storage.i.i.i32.i.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i30.i.i.i, i64 32 + %414 = load ptr, ptr %_M_storage.i.i.i32.i.i.i, align 8 + %bf.load3.i.i.i33.i.i.i = load i64, ptr %414, align 8 + %bf.clear4.i.i.i34.i.i.i = and i64 %bf.load3.i.i.i33.i.i.i, 1099511627775 + %cmp.i.i.i35.i.i.i = icmp samesign ult i64 %bf.clear4.i.i.i.i.i1209, %bf.clear4.i.i.i34.i.i.i + %__y.addr.1.i36.i.i.i = select i1 %cmp.i.i.i35.i.i.i, ptr %__x.addr.07.i30.i.i.i, ptr %__y.addr.06.i31.i.i.i + %__x.addr.1.in.v.i37.i.i.i = select i1 %cmp.i.i.i35.i.i.i, i64 16, i64 24 + %__x.addr.1.in.i38.i.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i30.i.i.i, i64 %__x.addr.1.in.v.i37.i.i.i + %__x.addr.1.i39.i.i.i = load ptr, ptr %__x.addr.1.in.i38.i.i.i, align 8 + %cmp.not.i40.i.i.i = icmp eq ptr %__x.addr.1.i39.i.i.i, null + br i1 %cmp.not.i40.i.i.i, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseERS5_.exit.i, label %while.body.i29.i.i.i, !llvm.loop !241 + +if.end19.i.i.i: ; preds = %if.else.i.i.i1215, %while.body.i.i.i1210 + %.sink.i.i.i = phi i64 [ 24, %while.body.i.i.i1210 ], [ 16, %if.else.i.i.i1215 ] + %__y.1.i.i.i = phi ptr [ %__y.048.i.i.i, %while.body.i.i.i1210 ], [ %__x.049.i.i.i, %if.else.i.i.i1215 ] + %_M_left.i.i.i.i = getelementptr inbounds i8, ptr %__x.049.i.i.i, i64 %.sink.i.i.i + %__x.0.i.i.i = load ptr, ptr %_M_left.i.i.i.i, align 8 + %cmp.not.i.i.i1230 = icmp eq ptr %__x.0.i.i.i, null + br i1 %cmp.not.i.i.i1230, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseERS5_.exit.i, label %while.body.i.i.i1210, !llvm.loop !242 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseERS5_.exit.i: ; preds = %if.end19.i.i.i, %while.body.i29.i.i.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i, %invoke.cont522 + %retval.sroa.0.0.i.i.i = phi ptr [ %__y.addr.0.lcssa.i.i.i.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i ], [ %add.ptr.i.i.i.i1206, %invoke.cont522 ], [ %__y.addr.0.lcssa.i.i.i.i, %while.body.i29.i.i.i ], [ %__y.1.i.i.i, %if.end19.i.i.i ] + %retval.sroa.3.0.i.i.i = phi ptr [ %__y.048.i.i.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i ], [ %add.ptr.i.i.i.i1206, %invoke.cont522 ], [ %__y.addr.1.i36.i.i.i, %while.body.i29.i.i.i ], [ %__y.1.i.i.i, %if.end19.i.i.i ] + %_M_node_count.i.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i1197, i64 80 + %_M_left.i.i1514 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i1197, i64 64 + %415 = load ptr, ptr %_M_left.i.i1514, align 8 + %cmp.i.i1515 = icmp eq ptr %retval.sroa.0.0.i.i.i, %415 + %cmp.i1.i = icmp eq ptr %retval.sroa.3.0.i.i.i, %add.ptr.i.i.i.i1206 + %or.cond = select i1 %cmp.i.i1515, i1 %cmp.i1.i, i1 false + br i1 %or.cond, label %if.then.i1531, label %if.else.i1516 + +if.then.i1531: ; preds = %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseERS5_.exit.i + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %second.i1198, ptr noundef %__x.046.i.i.i) + to label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5clearEv.exit.i unwind label %terminate.lpad.i.i1533 + +terminate.lpad.i.i1533: ; preds = %if.then.i1531 + %416 = landingpad { ptr, i32 } + catch ptr null + %417 = extractvalue { ptr, i32 } %416, 0 + call void @__clang_call_terminate(ptr %417) #25 + unreachable + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5clearEv.exit.i: ; preds = %if.then.i1531 + store ptr null, ptr %_M_parent.i.i.i.i.i1205, align 8 + store ptr %add.ptr.i.i.i.i1206, ptr %_M_left.i.i1514, align 8 + %_M_right.i.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i1197, i64 72 + store ptr %add.ptr.i.i.i.i1206, ptr %_M_right.i.i.i, align 8 + store i64 0, ptr %_M_node_count.i.i.i, align 8 + br label %for.inc528 + +if.else.i1516: ; preds = %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseERS5_.exit.i + %cmp.i3.not8.i = icmp eq ptr %retval.sroa.0.0.i.i.i, %retval.sroa.3.0.i.i.i + br i1 %cmp.i3.not8.i, label %for.inc528, label %while.body.i + +while.body.i: ; preds = %if.else.i1516, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E.exit.i + %__first.sroa.0.09.i = phi ptr [ %call.i.i1517, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E.exit.i ], [ %retval.sroa.0.0.i.i.i, %if.else.i1516 ] + %call.i.i1517 = call noundef ptr @_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base(ptr noundef %__first.sroa.0.09.i) #27 + %call.i5.i = call noundef nonnull ptr @_ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_(ptr noundef %__first.sroa.0.09.i, ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i.i.i.i1206) #23 + %_M_storage.i.i.i.i.i1518 = getelementptr inbounds i8, ptr %call.i5.i, i64 32 + %418 = load ptr, ptr %_M_storage.i.i.i.i.i1518, align 8 + %bf.load.i.i.i.i.i.i.i.i.i1519 = load i64, ptr %418, align 8 + %419 = and i64 %bf.load.i.i.i.i.i.i.i.i.i1519, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i1520 = icmp eq i64 %419, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i1520, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E.exit.i, label %if.then.i.i.i.i.i.i.i.i.i1521 + +if.then.i.i.i.i.i.i.i.i.i1521: ; preds = %while.body.i + %bf.value.i.i.i.i.i.i.i.i.i1522 = add i64 %bf.load.i.i.i.i.i.i.i.i.i1519, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i1523 = and i64 %bf.value.i.i.i.i.i.i.i.i.i1522, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i1524 = and i64 %bf.load.i.i.i.i.i.i.i.i.i1519, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i1525 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i1523, %bf.clear7.i.i.i.i.i.i.i.i.i1524 + store i64 %bf.set.i.i.i.i.i.i.i.i.i1525, ptr %418, align 8 + %cmp12.i.i.i.i.i.i.i.i.i1526 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i1523, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i1526, label %if.then13.i.i.i.i.i.i.i.i.i1528, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E.exit.i + +if.then13.i.i.i.i.i.i.i.i.i1528: ; preds = %if.then.i.i.i.i.i.i.i.i.i1521 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %418) + to label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E.exit.i unwind label %terminate.lpad.i.i.i.i.i.i.i.i1529 + +terminate.lpad.i.i.i.i.i.i.i.i1529: ; preds = %if.then13.i.i.i.i.i.i.i.i.i1528 + %420 = landingpad { ptr, i32 } + catch ptr null + %421 = extractvalue { ptr, i32 } %420, 0 + call void @__clang_call_terminate(ptr %421) #25 + unreachable + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E.exit.i: ; preds = %if.then13.i.i.i.i.i.i.i.i.i1528, %if.then.i.i.i.i.i.i.i.i.i1521, %while.body.i + call void @_ZdlPv(ptr noundef nonnull %call.i5.i) #26 + %422 = load i64, ptr %_M_node_count.i.i.i, align 8 + %dec.i.i = add i64 %422, -1 + store i64 %dec.i.i, ptr %_M_node_count.i.i.i, align 8 + %cmp.i3.not.i = icmp eq ptr %call.i.i1517, %retval.sroa.3.0.i.i.i + br i1 %cmp.i3.not.i, label %for.inc528, label %while.body.i, !llvm.loop !296 + +for.inc528: ; preds = %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E.exit.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5clearEv.exit.i, %if.else.i1516 + %call.i1232 = call noundef ptr @_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base(ptr noundef %it2.sroa.0.01802) #27 + %cmp.i1167.not = icmp eq ptr %call.i1232, %142 + br i1 %cmp.i1167.not, label %for.end530, label %for.body519, !llvm.loop !297 + +for.end530: ; preds = %for.inc528, %invoke.cont508 + %423 = load ptr, ptr %split_new_part, align 8 + %424 = load ptr, ptr %_M_finish.i.i774, align 8 + %cmp.not3.i.i.i.i1234 = icmp eq ptr %423, %424 + br i1 %cmp.not3.i.i.i.i1234, label %invoke.cont.i1262, label %for.body.i.i.i.i1235 + +for.body.i.i.i.i1235: ; preds = %for.end530, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1257 + %__first.addr.04.i.i.i.i1236 = phi ptr [ %incdec.ptr.i.i.i.i1258, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1257 ], [ %423, %for.end530 ] + %425 = load ptr, ptr %__first.addr.04.i.i.i.i1236, align 8 + %_M_finish.i.i.i.i.i.i1237 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1236, i64 8 + %426 = load ptr, ptr %_M_finish.i.i.i.i.i.i1237, align 8 + %cmp.not3.i.i.i.i.i.i.i.i.i1238 = icmp eq ptr %425, %426 + br i1 %cmp.not3.i.i.i.i.i.i.i.i.i1238, label %invoke.cont.i.i.i.i.i.i1254, label %for.body.i.i.i.i.i.i.i.i.i1239 + +for.body.i.i.i.i.i.i.i.i.i1239: ; preds = %for.body.i.i.i.i1235, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1249 + %__first.addr.04.i.i.i.i.i.i.i.i.i1240 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i1250, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1249 ], [ %425, %for.body.i.i.i.i1235 ] + %427 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1240, align 8 + %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1241 = load i64, ptr %427, align 8 + %428 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1241, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1242 = icmp eq i64 %428, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1242, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1249, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i1243 + +if.then.i.i.i.i.i.i.i.i.i.i.i.i1243: ; preds = %for.body.i.i.i.i.i.i.i.i.i1239 + %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1244 = add i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1241, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1245 = and i64 %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1244, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1246 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1241, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1247 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1245, %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1246 + store i64 %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1247, ptr %427, align 8 + %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1248 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1245, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1248, label %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1265, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1249 + +if.then13.i.i.i.i.i.i.i.i.i.i.i.i1265: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i1243 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %427) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1249 unwind label %terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1266 + +terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1266: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1265 + %429 = landingpad { ptr, i32 } + catch ptr null + %430 = extractvalue { ptr, i32 } %429, 0 + call void @__clang_call_terminate(ptr %430) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1249: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1265, %if.then.i.i.i.i.i.i.i.i.i.i.i.i1243, %for.body.i.i.i.i.i.i.i.i.i1239 + %incdec.ptr.i.i.i.i.i.i.i.i.i1250 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1240, i64 8 + %cmp.not.i.i.i.i.i.i.i.i.i1251 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i1250, %426 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i1251, label %invoke.contthread-pre-split.i.i.i.i.i.i1252, label %for.body.i.i.i.i.i.i.i.i.i1239, !llvm.loop !21 + +invoke.contthread-pre-split.i.i.i.i.i.i1252: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1249 + %.pr.i.i.i.i.i.i1253 = load ptr, ptr %__first.addr.04.i.i.i.i1236, align 8 + br label %invoke.cont.i.i.i.i.i.i1254 + +invoke.cont.i.i.i.i.i.i1254: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i1252, %for.body.i.i.i.i1235 + %431 = phi ptr [ %.pr.i.i.i.i.i.i1253, %invoke.contthread-pre-split.i.i.i.i.i.i1252 ], [ %425, %for.body.i.i.i.i1235 ] + %tobool.not.i.i.i.i.i.i.i.i1255 = icmp eq ptr %431, null + br i1 %tobool.not.i.i.i.i.i.i.i.i1255, label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1257, label %if.then.i.i.i.i.i.i.i.i1256 + +if.then.i.i.i.i.i.i.i.i1256: ; preds = %invoke.cont.i.i.i.i.i.i1254 + call void @_ZdlPv(ptr noundef nonnull %431) #26 + br label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1257 + +_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1257: ; preds = %if.then.i.i.i.i.i.i.i.i1256, %invoke.cont.i.i.i.i.i.i1254 + %incdec.ptr.i.i.i.i1258 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1236, i64 24 + %cmp.not.i.i.i.i1259 = icmp eq ptr %incdec.ptr.i.i.i.i1258, %424 + br i1 %cmp.not.i.i.i.i1259, label %invoke.contthread-pre-split.i1260, label %for.body.i.i.i.i1235, !llvm.loop !38 + +invoke.contthread-pre-split.i1260: ; preds = %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1257 + %.pr.i1261 = load ptr, ptr %split_new_part, align 8 + br label %invoke.cont.i1262 + +invoke.cont.i1262: ; preds = %invoke.contthread-pre-split.i1260, %for.end530 + %432 = phi ptr [ %.pr.i1261, %invoke.contthread-pre-split.i1260 ], [ %423, %for.end530 ] + %tobool.not.i.i.i1263 = icmp eq ptr %432, null + br i1 %tobool.not.i.i.i1263, label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1267, label %if.then.i.i.i1264 + +if.then.i.i.i1264: ; preds = %invoke.cont.i1262 + call void @_ZdlPv(ptr noundef nonnull %432) #26 + br label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1267 + +_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1267: ; preds = %invoke.cont.i1262, %if.then.i.i.i1264 + %433 = load ptr, ptr %_M_parent.i.i.i.i.i498, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %dni_rem, ptr noundef %433) + to label %for.inc534 unwind label %terminate.lpad.i.i + +terminate.lpad.i.i: ; preds = %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1267 + %434 = landingpad { ptr, i32 } + catch ptr null + %435 = extractvalue { ptr, i32 } %434, 0 + call void @__clang_call_terminate(ptr %435) #25 + unreachable + +ehcleanup531: ; preds = %lpad355.loopexit, %lpad355.loopexit.split-lp, %if.then.i.i.i1152, %invoke.cont.i1150 + %.pn2.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn2.pn.pn.pn, %invoke.cont.i1150 ], [ %.pn2.pn.pn.pn, %if.then.i.i.i1152 ], [ %lpad.loopexit1600, %lpad355.loopexit ], [ %lpad.loopexit.split-lp1601, %lpad355.loopexit.split-lp ] + %436 = load ptr, ptr %split_new_part, align 8 + %437 = load ptr, ptr %_M_finish.i.i774, align 8 + %cmp.not3.i.i.i.i1270 = icmp eq ptr %436, %437 + br i1 %cmp.not3.i.i.i.i1270, label %invoke.cont.i1298, label %for.body.i.i.i.i1271 + +for.body.i.i.i.i1271: ; preds = %ehcleanup531, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1293 + %__first.addr.04.i.i.i.i1272 = phi ptr [ %incdec.ptr.i.i.i.i1294, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1293 ], [ %436, %ehcleanup531 ] + %438 = load ptr, ptr %__first.addr.04.i.i.i.i1272, align 8 + %_M_finish.i.i.i.i.i.i1273 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1272, i64 8 + %439 = load ptr, ptr %_M_finish.i.i.i.i.i.i1273, align 8 + %cmp.not3.i.i.i.i.i.i.i.i.i1274 = icmp eq ptr %438, %439 + br i1 %cmp.not3.i.i.i.i.i.i.i.i.i1274, label %invoke.cont.i.i.i.i.i.i1290, label %for.body.i.i.i.i.i.i.i.i.i1275 + +for.body.i.i.i.i.i.i.i.i.i1275: ; preds = %for.body.i.i.i.i1271, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1285 + %__first.addr.04.i.i.i.i.i.i.i.i.i1276 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i1286, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1285 ], [ %438, %for.body.i.i.i.i1271 ] + %440 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1276, align 8 + %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1277 = load i64, ptr %440, align 8 + %441 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1277, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1278 = icmp eq i64 %441, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1278, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1285, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i1279 + +if.then.i.i.i.i.i.i.i.i.i.i.i.i1279: ; preds = %for.body.i.i.i.i.i.i.i.i.i1275 + %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1280 = add i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1277, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1281 = and i64 %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1280, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1282 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1277, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1283 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1281, %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1282 + store i64 %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1283, ptr %440, align 8 + %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1284 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1281, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1284, label %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1301, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1285 + +if.then13.i.i.i.i.i.i.i.i.i.i.i.i1301: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i1279 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %440) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1285 unwind label %terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1302 + +terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1302: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1301 + %442 = landingpad { ptr, i32 } + catch ptr null + %443 = extractvalue { ptr, i32 } %442, 0 + call void @__clang_call_terminate(ptr %443) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1285: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1301, %if.then.i.i.i.i.i.i.i.i.i.i.i.i1279, %for.body.i.i.i.i.i.i.i.i.i1275 + %incdec.ptr.i.i.i.i.i.i.i.i.i1286 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1276, i64 8 + %cmp.not.i.i.i.i.i.i.i.i.i1287 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i1286, %439 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i1287, label %invoke.contthread-pre-split.i.i.i.i.i.i1288, label %for.body.i.i.i.i.i.i.i.i.i1275, !llvm.loop !21 + +invoke.contthread-pre-split.i.i.i.i.i.i1288: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1285 + %.pr.i.i.i.i.i.i1289 = load ptr, ptr %__first.addr.04.i.i.i.i1272, align 8 + br label %invoke.cont.i.i.i.i.i.i1290 + +invoke.cont.i.i.i.i.i.i1290: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i1288, %for.body.i.i.i.i1271 + %444 = phi ptr [ %.pr.i.i.i.i.i.i1289, %invoke.contthread-pre-split.i.i.i.i.i.i1288 ], [ %438, %for.body.i.i.i.i1271 ] + %tobool.not.i.i.i.i.i.i.i.i1291 = icmp eq ptr %444, null + br i1 %tobool.not.i.i.i.i.i.i.i.i1291, label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1293, label %if.then.i.i.i.i.i.i.i.i1292 + +if.then.i.i.i.i.i.i.i.i1292: ; preds = %invoke.cont.i.i.i.i.i.i1290 + call void @_ZdlPv(ptr noundef nonnull %444) #26 + br label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1293 + +_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1293: ; preds = %if.then.i.i.i.i.i.i.i.i1292, %invoke.cont.i.i.i.i.i.i1290 + %incdec.ptr.i.i.i.i1294 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1272, i64 24 + %cmp.not.i.i.i.i1295 = icmp eq ptr %incdec.ptr.i.i.i.i1294, %437 + br i1 %cmp.not.i.i.i.i1295, label %invoke.contthread-pre-split.i1296, label %for.body.i.i.i.i1271, !llvm.loop !38 + +invoke.contthread-pre-split.i1296: ; preds = %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1293 + %.pr.i1297 = load ptr, ptr %split_new_part, align 8 + br label %invoke.cont.i1298 + +invoke.cont.i1298: ; preds = %invoke.contthread-pre-split.i1296, %ehcleanup531 + %445 = phi ptr [ %.pr.i1297, %invoke.contthread-pre-split.i1296 ], [ %436, %ehcleanup531 ] + %tobool.not.i.i.i1299 = icmp eq ptr %445, null + br i1 %tobool.not.i.i.i1299, label %ehcleanup532, label %if.then.i.i.i1300 + +if.then.i.i.i1300: ; preds = %invoke.cont.i1298 + call void @_ZdlPv(ptr noundef nonnull %445) #26 + br label %ehcleanup532 + +ehcleanup532: ; preds = %if.then.i.i.i1300, %invoke.cont.i1298, %lpad336.body, %lpad334 + %.pn8 = phi { ptr, i32 } [ %eh.lpad-body1343, %lpad336.body ], [ %232, %lpad334 ], [ %.pn2.pn.pn.pn.pn, %invoke.cont.i1298 ], [ %.pn2.pn.pn.pn.pn, %if.then.i.i.i1300 ] + %446 = load ptr, ptr %_M_parent.i.i.i.i.i498, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %dni_rem, ptr noundef %446) + to label %ehcleanup537 unwind label %terminate.lpad.i.i1305 + +terminate.lpad.i.i1305: ; preds = %ehcleanup532 + %447 = landingpad { ptr, i32 } + catch ptr null + %448 = extractvalue { ptr, i32 } %447, 0 + call void @__clang_call_terminate(ptr %448) #25 + unreachable + +for.inc534: ; preds = %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1267, %for.body316 + %call.i1307 = call noundef ptr @_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base(ptr noundef %it308.sroa.0.01804) #27 + %cmp.i491.not = icmp eq ptr %call.i1307, %0 + br i1 %cmp.i491.not, label %for.end536, label %for.body316, !llvm.loop !298 + +for.end536: ; preds = %for.inc534, %for.end307 + %449 = load ptr, ptr %_M_parent.i.i.i.i.i26, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn_cons, ptr noundef %449) + to label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1310 unwind label %terminate.lpad.i.i1309 + +terminate.lpad.i.i1309: ; preds = %for.end536 + %450 = landingpad { ptr, i32 } + catch ptr null + %451 = extractvalue { ptr, i32 } %450, 0 + call void @__clang_call_terminate(ptr %451) #25 + unreachable + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1310: ; preds = %for.end536 + %452 = load ptr, ptr %_M_parent.i.i.i.i.i22, align 8 + invoke void @_ZNSt8_Rb_treeIiSt4pairIKiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS6_EEESt10_Select1stIS9_ESt4lessIiESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E(ptr noundef nonnull align 8 dereferenceable(48) %new_part_rec, ptr noundef %452) + to label %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit unwind label %terminate.lpad.i.i1312 + +terminate.lpad.i.i1312: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1310 + %453 = landingpad { ptr, i32 } + catch ptr null + %454 = extractvalue { ptr, i32 } %453, 0 + call void @__clang_call_terminate(ptr %454) #25 + unreachable + +_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1310 + %455 = load ptr, ptr %_M_parent.i.i.i.i.i18, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St6vectorIS3_SaIS3_EEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E(ptr noundef nonnull align 8 dereferenceable(48) %new_part_c, ptr noundef %455) + to label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit unwind label %terminate.lpad.i.i1314 + +terminate.lpad.i.i1314: ; preds = %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit + %456 = landingpad { ptr, i32 } + catch ptr null + %457 = extractvalue { ptr, i32 } %456, 0 + call void @__clang_call_terminate(ptr %457) #25 + unreachable + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit: ; preds = %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit + %458 = load ptr, ptr %_M_parent.i.i.i.i.i, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St6vectorIS3_SaIS3_EEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E(ptr noundef nonnull align 8 dereferenceable(48) %new_part, ptr noundef %458) + to label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1317 unwind label %terminate.lpad.i.i1316 + +terminate.lpad.i.i1316: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit + %459 = landingpad { ptr, i32 } + catch ptr null + %460 = extractvalue { ptr, i32 } %459, 0 + call void @__clang_call_terminate(ptr %460) #25 + unreachable + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1317: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit + ret void + +ehcleanup537: ; preds = %ehcleanup532, %lpad296, %lpad254, %ehcleanup220, %lpad + %.pn15.pn = phi { ptr, i32 } [ %.pn15, %ehcleanup220 ], [ %27, %lpad ], [ %129, %lpad254 ], [ %140, %lpad296 ], [ %.pn8, %ehcleanup532 ] + %461 = load ptr, ptr %_M_parent.i.i.i.i.i26, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn_cons, ptr noundef %461) + to label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1320 unwind label %terminate.lpad.i.i1319 + +terminate.lpad.i.i1319: ; preds = %ehcleanup537 + %462 = landingpad { ptr, i32 } + catch ptr null + %463 = extractvalue { ptr, i32 } %462, 0 + call void @__clang_call_terminate(ptr %463) #25 + unreachable + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1320: ; preds = %ehcleanup537 + %464 = load ptr, ptr %_M_parent.i.i.i.i.i22, align 8 + invoke void @_ZNSt8_Rb_treeIiSt4pairIKiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS6_EEESt10_Select1stIS9_ESt4lessIiESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E(ptr noundef nonnull align 8 dereferenceable(48) %new_part_rec, ptr noundef %464) + to label %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit1323 unwind label %terminate.lpad.i.i1322 + +terminate.lpad.i.i1322: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1320 + %465 = landingpad { ptr, i32 } + catch ptr null + %466 = extractvalue { ptr, i32 } %465, 0 + call void @__clang_call_terminate(ptr %466) #25 + unreachable + +_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit1323: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1320 + %467 = load ptr, ptr %_M_parent.i.i.i.i.i18, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St6vectorIS3_SaIS3_EEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E(ptr noundef nonnull align 8 dereferenceable(48) %new_part_c, ptr noundef %467) + to label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1326 unwind label %terminate.lpad.i.i1325 + +terminate.lpad.i.i1325: ; preds = %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit1323 + %468 = landingpad { ptr, i32 } + catch ptr null + %469 = extractvalue { ptr, i32 } %468, 0 + call void @__clang_call_terminate(ptr %469) #25 + unreachable + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1326: ; preds = %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit1323 + %470 = load ptr, ptr %_M_parent.i.i.i.i.i, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St6vectorIS3_SaIS3_EEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E(ptr noundef nonnull align 8 dereferenceable(48) %new_part, ptr noundef %470) + to label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1329 unwind label %terminate.lpad.i.i1328 + +terminate.lpad.i.i1328: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1326 + %471 = landingpad { ptr, i32 } + catch ptr null + %472 = extractvalue { ptr, i32 } %471, 0 + call void @__clang_call_terminate(ptr %472) #25 + unreachable + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1329: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1326 + resume { ptr, i32 } %.pn15.pn +} + +; Function Attrs: mustprogress uwtable +define internal fastcc void @_ZN4cvc58internal6theory9datatypes15TheoryDatatypes17separateBisimilarERSt6vectorINS0_12NodeTemplateILb1EEESaIS6_EERS4_IS8_SaIS8_EES9_RSt3mapIS6_S6_St4lessIS6_ESaISt4pairIKS6_S6_EEERSD_IS6_SD_IS6_iSF_SaISG_ISH_iEEESF_SaISG_ISH_SO_EEEib.specialized.3(ptr noundef nonnull align 8 dereferenceable(2008) %this, ptr nocapture noundef nonnull readonly align 8 dereferenceable(24) %part, ptr noundef nonnull align 8 dereferenceable(24) %part_out, ptr noundef nonnull align 8 dereferenceable(24) %exp, ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr noundef nonnull align 8 dereferenceable(48) %dni) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { +entry: + %__second.i.i.i.i.i.i.i1478 = alloca %"class.std::tuple.1060", align 1 + %agg.tmp6.i.i.i.i.i.i1479 = alloca %"class.std::tuple.1066", align 8 + %__second.i.i.i.i.i.i.i1443 = alloca %"class.std::tuple.1060", align 1 + %agg.tmp6.i.i.i.i.i.i1444 = alloca %"class.std::tuple.1066", align 8 + %__second.i.i.i.i.i.i.i1407 = alloca %"class.std::tuple.1060", align 1 + %agg.tmp6.i.i.i.i.i.i1408 = alloca %"class.std::tuple.1066", align 8 + %__second.i.i.i.i.i.i.i1371 = alloca %"class.std::tuple.1060", align 1 + %agg.tmp6.i.i.i.i.i.i1372 = alloca %"class.std::tuple.1066", align 8 + %__z.i = alloca %"struct.std::_Rb_tree, std::pair, int>, std::_Select1st, int>>, std::less>>::_Auto_node", align 8 + %__second.i.i.i.i.i.i.i = alloca %"class.std::tuple.1060", align 1 + %agg.tmp6.i.i.i.i.i.i = alloca %"class.std::tuple.1066", align 8 + %ref.tmp9.i1169 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i1170 = alloca %"class.std::tuple.1060", align 1 + %nb.i.i = alloca %"class.cvc5::internal::NodeBuilder", align 8 + %agg.tmp.i.i = alloca %"class.cvc5::internal::NodeTemplate.733", align 8 + %agg.tmp4.i.i = alloca %"class.cvc5::internal::NodeTemplate.733", align 8 + %agg.tmp.i = alloca %"class.cvc5::internal::NodeTemplate.733", align 8 + %agg.tmp3.i = alloca %"class.cvc5::internal::NodeTemplate.733", align 8 + %ref.tmp9.i736 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i737 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i593 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i594 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i525 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i526 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i362 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i363 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i293 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i294 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i226 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i227 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i156 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i157 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i102 = alloca %"class.std::tuple.1121", align 8 + %ref.tmp10.i103 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i68 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i69 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i34 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i35 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i = alloca %"class.std::tuple.1060", align 1 + %new_part = alloca %"class.std::map.36", align 8 + %new_part_c = alloca %"class.std::map.36", align 8 + %new_part_rec = alloca %"class.std::map.940", align 8 + %cn_cons = alloca %"class.std::map.61", align 8 + %c = alloca %"class.cvc5::internal::NodeTemplate", align 8 + %ref.tmp83 = alloca %"class.cvc5::internal::TypeNode", align 8 + %ncons = alloca %"class.cvc5::internal::NodeTemplate", align 8 + %ref.tmp89 = alloca %"class.cvc5::internal::NodeTemplate.733", align 8 + %agg.tmp = alloca %"class.cvc5::internal::NodeTemplate.733", align 8 + %cc = alloca %"class.cvc5::internal::NodeTemplate", align 8 + %ref.tmp112 = alloca %"class.cvc5::internal::NodeTemplate", align 8 + %vec = alloca %"class.std::vector.525", align 8 + %vec278 = alloca %"class.std::vector.525", align 8 + %dni_rem = alloca %"class.std::map.61", align 8 + %n = alloca %"class.cvc5::internal::NodeTemplate", align 8 + %split_new_part = alloca %"class.std::vector.930", align 8 + %next_split_new_part = alloca %"class.std::vector.930", align 8 + %n407 = alloca %"class.cvc5::internal::NodeTemplate", align 8 + %ref.tmp418 = alloca %"class.cvc5::internal::NodeTemplate.733", align 8 + %ref.tmp438 = alloca %"class.cvc5::internal::NodeTemplate", align 8 + %c_part_out = alloca %"class.std::vector.930", align 8 + %0 = getelementptr inbounds i8, ptr %new_part, i64 8 + store i32 0, ptr %0, align 8 + %_M_parent.i.i.i.i.i = getelementptr inbounds i8, ptr %new_part, i64 16 + store ptr null, ptr %_M_parent.i.i.i.i.i, align 8 + %_M_left.i.i.i.i.i = getelementptr inbounds i8, ptr %new_part, i64 24 + store ptr %0, ptr %_M_left.i.i.i.i.i, align 8 + %_M_right.i.i.i.i.i = getelementptr inbounds i8, ptr %new_part, i64 32 + store ptr %0, ptr %_M_right.i.i.i.i.i, align 8 + %_M_node_count.i.i.i.i.i = getelementptr inbounds i8, ptr %new_part, i64 40 + store i64 0, ptr %_M_node_count.i.i.i.i.i, align 8 + %1 = getelementptr inbounds i8, ptr %new_part_c, i64 8 + store i32 0, ptr %1, align 8 + %_M_parent.i.i.i.i.i18 = getelementptr inbounds i8, ptr %new_part_c, i64 16 + store ptr null, ptr %_M_parent.i.i.i.i.i18, align 8 + %_M_left.i.i.i.i.i19 = getelementptr inbounds i8, ptr %new_part_c, i64 24 + store ptr %1, ptr %_M_left.i.i.i.i.i19, align 8 + %_M_right.i.i.i.i.i20 = getelementptr inbounds i8, ptr %new_part_c, i64 32 + store ptr %1, ptr %_M_right.i.i.i.i.i20, align 8 + %_M_node_count.i.i.i.i.i21 = getelementptr inbounds i8, ptr %new_part_c, i64 40 + store i64 0, ptr %_M_node_count.i.i.i.i.i21, align 8 + %2 = getelementptr inbounds i8, ptr %new_part_rec, i64 8 + store i32 0, ptr %2, align 8 + %_M_parent.i.i.i.i.i22 = getelementptr inbounds i8, ptr %new_part_rec, i64 16 + store ptr null, ptr %_M_parent.i.i.i.i.i22, align 8 + %_M_left.i.i.i.i.i23 = getelementptr inbounds i8, ptr %new_part_rec, i64 24 + store ptr %2, ptr %_M_left.i.i.i.i.i23, align 8 + %_M_right.i.i.i.i.i24 = getelementptr inbounds i8, ptr %new_part_rec, i64 32 + store ptr %2, ptr %_M_right.i.i.i.i.i24, align 8 + %_M_node_count.i.i.i.i.i25 = getelementptr inbounds i8, ptr %new_part_rec, i64 40 + store i64 0, ptr %_M_node_count.i.i.i.i.i25, align 8 + %3 = getelementptr inbounds i8, ptr %cn_cons, i64 8 + store i32 0, ptr %3, align 8 + %_M_parent.i.i.i.i.i26 = getelementptr inbounds i8, ptr %cn_cons, i64 16 + store ptr null, ptr %_M_parent.i.i.i.i.i26, align 8 + %_M_left.i.i.i.i.i27 = getelementptr inbounds i8, ptr %cn_cons, i64 24 + store ptr %3, ptr %_M_left.i.i.i.i.i27, align 8 + %_M_right.i.i.i.i.i28 = getelementptr inbounds i8, ptr %cn_cons, i64 32 + store ptr %3, ptr %_M_right.i.i.i.i.i28, align 8 + %_M_node_count.i.i.i.i.i29 = getelementptr inbounds i8, ptr %cn_cons, i64 40 + store i64 0, ptr %_M_node_count.i.i.i.i.i29, align 8 + %_M_finish.i = getelementptr inbounds i8, ptr %part, i64 8 + %4 = load ptr, ptr %_M_finish.i, align 8 + %5 = load ptr, ptr %part, align 8 + %cmp271767.not = icmp eq ptr %4, %5 + br i1 %cmp271767.not, label %for.end263, label %for.body28.lr.ph + +for.body28.lr.ph: ; preds = %entry + %_M_parent.i.i.i.i.i30 = getelementptr inbounds i8, ptr %cn, i64 16 + %add.ptr.i.i.i.i = getelementptr inbounds i8, ptr %cn, i64 8 + %_M_parent.i.i.i.i.i36 = getelementptr inbounds i8, ptr %dni, i64 16 + %add.ptr.i.i.i.i37 = getelementptr inbounds i8, ptr %dni, i64 8 + %_M_finish.i.i = getelementptr inbounds i8, ptr %exp, i64 8 + %_M_end_of_storage.i.i = getelementptr inbounds i8, ptr %exp, i64 16 + br label %for.body28 + +for.body28: ; preds = %for.body28.lr.ph, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430 + %6 = phi ptr [ %5, %for.body28.lr.ph ], [ %119, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430 ] + %conv251769 = phi i64 [ 0, %for.body28.lr.ph ], [ %conv25, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430 ] + %j.01768 = phi i32 [ 0, %for.body28.lr.ph ], [ %inc222, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430 ] + %add.ptr.i = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %6, i64 %conv251769 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i) + %7 = load ptr, ptr %_M_parent.i.i.i.i.i30, align 8 + %cmp.not5.i.i.i.i = icmp eq ptr %7, null + br i1 %cmp.not5.i.i.i.i, label %if.then.i, label %while.body.lr.ph.i.i.i.i + +while.body.lr.ph.i.i.i.i: ; preds = %for.body28 + %8 = load ptr, ptr %add.ptr.i, align 8 + %bf.load3.i.i.i.i.i.i = load i64, ptr %8, align 8 + %bf.clear4.i.i.i.i.i.i = and i64 %bf.load3.i.i.i.i.i.i, 1099511627775 + br label %while.body.i.i.i.i + +while.body.i.i.i.i: ; preds = %while.body.i.i.i.i, %while.body.lr.ph.i.i.i.i + %__x.addr.07.i.i.i.i = phi ptr [ %7, %while.body.lr.ph.i.i.i.i ], [ %__x.addr.1.i.i.i.i, %while.body.i.i.i.i ] + %__y.addr.06.i.i.i.i = phi ptr [ %add.ptr.i.i.i.i, %while.body.lr.ph.i.i.i.i ], [ %__y.addr.1.i.i.i.i, %while.body.i.i.i.i ] + %_M_storage.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i, i64 32 + %9 = load ptr, ptr %_M_storage.i.i.i.i.i.i, align 8 + %bf.load.i.i.i.i.i.i = load i64, ptr %9, align 8 + %bf.clear.i.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i.i, 1099511627775 + %cmp.i.i.i.i.i.i = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i, %bf.clear4.i.i.i.i.i.i + %__y.addr.1.i.i.i.i = select i1 %cmp.i.i.i.i.i.i, ptr %__y.addr.06.i.i.i.i, ptr %__x.addr.07.i.i.i.i + %__x.addr.1.in.v.i.i.i.i = select i1 %cmp.i.i.i.i.i.i, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i, i64 %__x.addr.1.in.v.i.i.i.i + %__x.addr.1.i.i.i.i = load ptr, ptr %__x.addr.1.in.i.i.i.i, align 8 + %cmp.not.i.i.i.i = icmp eq ptr %__x.addr.1.i.i.i.i, null + br i1 %cmp.not.i.i.i.i, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i, label %while.body.i.i.i.i, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i: ; preds = %while.body.i.i.i.i + %cmp.i.i = icmp eq ptr %__y.addr.1.i.i.i.i, %add.ptr.i.i.i.i + br i1 %cmp.i.i, label %if.then.i, label %lor.rhs.i + +lor.rhs.i: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i + %_M_storage.i.i.i = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i, i64 32 + %10 = load ptr, ptr %_M_storage.i.i.i, align 8 + %bf.load3.i.i.i = load i64, ptr %10, align 8 + %bf.clear4.i.i.i = and i64 %bf.load3.i.i.i, 1099511627775 + %cmp.i.i.i = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i, %bf.clear4.i.i.i + br i1 %cmp.i.i.i, label %if.then.i, label %invoke.cont + +if.then.i: ; preds = %lor.rhs.i, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i, %for.body28 + %__y.addr.0.lcssa.i.i.i9.i = phi ptr [ %__y.addr.1.i.i.i.i, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i ], [ %__y.addr.1.i.i.i.i, %lor.rhs.i ], [ %add.ptr.i.i.i.i, %for.body28 ] + store ptr %add.ptr.i, ptr %ref.tmp9.i, align 8 + %call12.i31 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESH_IJEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr %__y.addr.0.lcssa.i.i.i9.i, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i) + to label %invoke.cont unwind label %lpad + +invoke.cont: ; preds = %lor.rhs.i, %if.then.i + %__i.sroa.0.0.i = phi ptr [ %__y.addr.1.i.i.i.i, %lor.rhs.i ], [ %call12.i31, %if.then.i ] + %second.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i, i64 40 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i) + %11 = load ptr, ptr %second.i, align 8 + store ptr %11, ptr %c, align 8 + %bf.load.i.i = load i64, ptr %11, align 8 + %bf.lshr.i.i = lshr i64 %bf.load.i.i, 40 + %12 = trunc nuw nsw i64 %bf.lshr.i.i to i32 + %bf.cast.i.i = and i32 %12, 1048575 + %cmp.i.i32 = icmp samesign ult i32 %bf.cast.i.i, 1048574 + br i1 %cmp.i.i32, label %if.then.i.i, label %if.else.i.i + +if.then.i.i: ; preds = %invoke.cont + %bf.value.i.i = add i64 %bf.load.i.i, 1099511627776 + %bf.shl.i.i = and i64 %bf.value.i.i, 1152920405095219200 + %bf.clear7.i.i = and i64 %bf.load.i.i, -1152920405095219201 + %bf.set.i.i = or disjoint i64 %bf.shl.i.i, %bf.clear7.i.i + store i64 %bf.set.i.i, ptr %11, align 8 + br label %invoke.cont32 + +if.else.i.i: ; preds = %invoke.cont + %cmp12.i.i = icmp eq i32 %bf.cast.i.i, 1048574 + br i1 %cmp12.i.i, label %if.then13.i.i, label %invoke.cont32 + +if.then13.i.i: ; preds = %if.else.i.i + %bf.set23.i.i = or i64 %bf.load.i.i, 1152920405095219200 + store i64 %bf.set23.i.i, ptr %11, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %11) + to label %invoke.cont32 unwind label %lpad + +invoke.cont32: ; preds = %if.else.i.i, %if.then.i.i, %if.then13.i.i + %13 = load ptr, ptr %part, align 8 + %add.ptr.i33 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %13, i64 %conv251769 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i34) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i35) + %14 = load ptr, ptr %_M_parent.i.i.i.i.i36, align 8 + %cmp.not5.i.i.i.i38 = icmp eq ptr %14, null + br i1 %cmp.not5.i.i.i.i38, label %if.then.i62, label %while.body.lr.ph.i.i.i.i39 + +while.body.lr.ph.i.i.i.i39: ; preds = %invoke.cont32 + %15 = load ptr, ptr %add.ptr.i33, align 8 + %bf.load3.i.i.i.i.i.i40 = load i64, ptr %15, align 8 + %bf.clear4.i.i.i.i.i.i41 = and i64 %bf.load3.i.i.i.i.i.i40, 1099511627775 + br label %while.body.i.i.i.i42 + +while.body.i.i.i.i42: ; preds = %while.body.i.i.i.i42, %while.body.lr.ph.i.i.i.i39 + %__x.addr.07.i.i.i.i43 = phi ptr [ %14, %while.body.lr.ph.i.i.i.i39 ], [ %__x.addr.1.i.i.i.i52, %while.body.i.i.i.i42 ] + %__y.addr.06.i.i.i.i44 = phi ptr [ %add.ptr.i.i.i.i37, %while.body.lr.ph.i.i.i.i39 ], [ %__y.addr.1.i.i.i.i49, %while.body.i.i.i.i42 ] + %_M_storage.i.i.i.i.i.i45 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i43, i64 32 + %16 = load ptr, ptr %_M_storage.i.i.i.i.i.i45, align 8 + %bf.load.i.i.i.i.i.i46 = load i64, ptr %16, align 8 + %bf.clear.i.i.i.i.i.i47 = and i64 %bf.load.i.i.i.i.i.i46, 1099511627775 + %cmp.i.i.i.i.i.i48 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i47, %bf.clear4.i.i.i.i.i.i41 + %__y.addr.1.i.i.i.i49 = select i1 %cmp.i.i.i.i.i.i48, ptr %__y.addr.06.i.i.i.i44, ptr %__x.addr.07.i.i.i.i43 + %__x.addr.1.in.v.i.i.i.i50 = select i1 %cmp.i.i.i.i.i.i48, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i51 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i43, i64 %__x.addr.1.in.v.i.i.i.i50 + %__x.addr.1.i.i.i.i52 = load ptr, ptr %__x.addr.1.in.i.i.i.i51, align 8 + %cmp.not.i.i.i.i53 = icmp eq ptr %__x.addr.1.i.i.i.i52, null + br i1 %cmp.not.i.i.i.i53, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i, label %while.body.i.i.i.i42, !llvm.loop !275 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i: ; preds = %while.body.i.i.i.i42 + %cmp.i.i54 = icmp eq ptr %__y.addr.1.i.i.i.i49, %add.ptr.i.i.i.i37 + br i1 %cmp.i.i54, label %if.then.i62, label %lor.rhs.i55 + +lor.rhs.i55: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i + %_M_storage.i.i.i56 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i49, i64 32 + %17 = load ptr, ptr %_M_storage.i.i.i56, align 8 + %bf.load3.i.i.i57 = load i64, ptr %17, align 8 + %bf.clear4.i.i.i58 = and i64 %bf.load3.i.i.i57, 1099511627775 + %cmp.i.i.i59 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i41, %bf.clear4.i.i.i58 + br i1 %cmp.i.i.i59, label %if.then.i62, label %invoke.cont36 + +if.then.i62: ; preds = %lor.rhs.i55, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i, %invoke.cont32 + %__y.addr.0.lcssa.i.i.i9.i63 = phi ptr [ %__y.addr.1.i.i.i.i49, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i ], [ %__y.addr.1.i.i.i.i49, %lor.rhs.i55 ], [ %add.ptr.i.i.i.i37, %invoke.cont32 ] + store ptr %add.ptr.i33, ptr %ref.tmp9.i34, align 8 + %call12.i65 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St3mapIS3_iSt4lessIS3_ESaIS4_IS5_iEEEESt10_Select1stISC_ES8_SaISC_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESL_IJEEEEESt17_Rb_tree_iteratorISC_ESt23_Rb_tree_const_iteratorISC_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %dni, ptr %__y.addr.0.lcssa.i.i.i9.i63, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i34, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i35) + to label %invoke.cont36 unwind label %lpad35 + +invoke.cont36: ; preds = %lor.rhs.i55, %if.then.i62 + %__i.sroa.0.0.i60 = phi ptr [ %__y.addr.1.i.i.i.i49, %lor.rhs.i55 ], [ %call12.i65, %if.then.i62 ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i34) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i35) + %_M_parent.i.i.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i60, i64 56 + %18 = load ptr, ptr %_M_parent.i.i.i.i, align 8 + %add.ptr.i.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i60, i64 48 + %cmp.not5.i.i.i = icmp eq ptr %18, null + br i1 %cmp.not5.i.i.i, label %invoke.cont38, label %while.body.lr.ph.i.i.i + +while.body.lr.ph.i.i.i: ; preds = %invoke.cont36 + %19 = load ptr, ptr %c, align 8 + %bf.load3.i.i.i.i.i = load i64, ptr %19, align 8 + %bf.clear4.i.i.i.i.i = and i64 %bf.load3.i.i.i.i.i, 1099511627775 + br label %while.body.i.i.i + +while.body.i.i.i: ; preds = %while.body.i.i.i, %while.body.lr.ph.i.i.i + %__x.addr.07.i.i.i = phi ptr [ %18, %while.body.lr.ph.i.i.i ], [ %__x.addr.1.i.i.i, %while.body.i.i.i ] + %__y.addr.06.i.i.i = phi ptr [ %add.ptr.i.i.i, %while.body.lr.ph.i.i.i ], [ %__y.addr.1.i.i.i, %while.body.i.i.i ] + %_M_storage.i.i.i.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i, i64 32 + %20 = load ptr, ptr %_M_storage.i.i.i.i.i, align 8 + %bf.load.i.i.i.i.i = load i64, ptr %20, align 8 + %bf.clear.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i, 1099511627775 + %cmp.i.i.i.i.i = icmp samesign ult i64 %bf.clear.i.i.i.i.i, %bf.clear4.i.i.i.i.i + %__y.addr.1.i.i.i = select i1 %cmp.i.i.i.i.i, ptr %__y.addr.06.i.i.i, ptr %__x.addr.07.i.i.i + %__x.addr.1.in.v.i.i.i = select i1 %cmp.i.i.i.i.i, i64 24, i64 16 + %__x.addr.1.in.i.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i, i64 %__x.addr.1.in.v.i.i.i + %__x.addr.1.i.i.i = load ptr, ptr %__x.addr.1.in.i.i.i, align 8 + %cmp.not.i.i.i = icmp eq ptr %__x.addr.1.i.i.i, null + br i1 %cmp.not.i.i.i, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i, label %while.body.i.i.i, !llvm.loop !233 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i: ; preds = %while.body.i.i.i + %cmp.i.i.i66 = icmp eq ptr %__y.addr.1.i.i.i, %add.ptr.i.i.i + br i1 %cmp.i.i.i66, label %invoke.cont38, label %lor.lhs.false.i.i + +lor.lhs.false.i.i: ; preds = %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i + %_M_storage.i.i.i3.i.i = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i, i64 32 + %21 = load ptr, ptr %_M_storage.i.i.i3.i.i, align 8 + %bf.load3.i.i.i.i = load i64, ptr %21, align 8 + %bf.clear4.i.i.i.i = and i64 %bf.load3.i.i.i.i, 1099511627775 + %cmp.i.i.i.i = icmp samesign ult i64 %bf.clear4.i.i.i.i.i, %bf.clear4.i.i.i.i + %spec.select.i.i = select i1 %cmp.i.i.i.i, ptr %add.ptr.i.i.i, ptr %__y.addr.1.i.i.i + br label %invoke.cont38 + +invoke.cont38: ; preds = %lor.lhs.false.i.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i, %invoke.cont36 + %retval.sroa.0.0.i.i = phi ptr [ %add.ptr.i.i.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i ], [ %add.ptr.i.i.i, %invoke.cont36 ], [ %spec.select.i.i, %lor.lhs.false.i.i ] + %22 = load ptr, ptr %part, align 8 + %add.ptr.i67 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %22, i64 %conv251769 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i68) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i69) + %23 = load ptr, ptr %_M_parent.i.i.i.i.i36, align 8 + %cmp.not5.i.i.i.i72 = icmp eq ptr %23, null + br i1 %cmp.not5.i.i.i.i72, label %if.then.i97, label %while.body.lr.ph.i.i.i.i73 + +while.body.lr.ph.i.i.i.i73: ; preds = %invoke.cont38 + %24 = load ptr, ptr %add.ptr.i67, align 8 + %bf.load3.i.i.i.i.i.i74 = load i64, ptr %24, align 8 + %bf.clear4.i.i.i.i.i.i75 = and i64 %bf.load3.i.i.i.i.i.i74, 1099511627775 + br label %while.body.i.i.i.i76 + +while.body.i.i.i.i76: ; preds = %while.body.i.i.i.i76, %while.body.lr.ph.i.i.i.i73 + %__x.addr.07.i.i.i.i77 = phi ptr [ %23, %while.body.lr.ph.i.i.i.i73 ], [ %__x.addr.1.i.i.i.i86, %while.body.i.i.i.i76 ] + %__y.addr.06.i.i.i.i78 = phi ptr [ %add.ptr.i.i.i.i37, %while.body.lr.ph.i.i.i.i73 ], [ %__y.addr.1.i.i.i.i83, %while.body.i.i.i.i76 ] + %_M_storage.i.i.i.i.i.i79 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i77, i64 32 + %25 = load ptr, ptr %_M_storage.i.i.i.i.i.i79, align 8 + %bf.load.i.i.i.i.i.i80 = load i64, ptr %25, align 8 + %bf.clear.i.i.i.i.i.i81 = and i64 %bf.load.i.i.i.i.i.i80, 1099511627775 + %cmp.i.i.i.i.i.i82 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i81, %bf.clear4.i.i.i.i.i.i75 + %__y.addr.1.i.i.i.i83 = select i1 %cmp.i.i.i.i.i.i82, ptr %__y.addr.06.i.i.i.i78, ptr %__x.addr.07.i.i.i.i77 + %__x.addr.1.in.v.i.i.i.i84 = select i1 %cmp.i.i.i.i.i.i82, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i85 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i77, i64 %__x.addr.1.in.v.i.i.i.i84 + %__x.addr.1.i.i.i.i86 = load ptr, ptr %__x.addr.1.in.i.i.i.i85, align 8 + %cmp.not.i.i.i.i87 = icmp eq ptr %__x.addr.1.i.i.i.i86, null + br i1 %cmp.not.i.i.i.i87, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i88, label %while.body.i.i.i.i76, !llvm.loop !275 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i88: ; preds = %while.body.i.i.i.i76 + %cmp.i.i89 = icmp eq ptr %__y.addr.1.i.i.i.i83, %add.ptr.i.i.i.i37 + br i1 %cmp.i.i89, label %if.then.i97, label %lor.rhs.i90 + +lor.rhs.i90: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i88 + %_M_storage.i.i.i91 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i83, i64 32 + %26 = load ptr, ptr %_M_storage.i.i.i91, align 8 + %bf.load3.i.i.i92 = load i64, ptr %26, align 8 + %bf.clear4.i.i.i93 = and i64 %bf.load3.i.i.i92, 1099511627775 + %cmp.i.i.i94 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i75, %bf.clear4.i.i.i93 + br i1 %cmp.i.i.i94, label %if.then.i97, label %invoke.cont43 + +if.then.i97: ; preds = %lor.rhs.i90, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i88, %invoke.cont38 + %__y.addr.0.lcssa.i.i.i9.i98 = phi ptr [ %__y.addr.1.i.i.i.i83, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i88 ], [ %__y.addr.1.i.i.i.i83, %lor.rhs.i90 ], [ %add.ptr.i.i.i.i37, %invoke.cont38 ] + store ptr %add.ptr.i67, ptr %ref.tmp9.i68, align 8 + %call12.i100 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St3mapIS3_iSt4lessIS3_ESaIS4_IS5_iEEEESt10_Select1stISC_ES8_SaISC_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESL_IJEEEEESt17_Rb_tree_iteratorISC_ESt23_Rb_tree_const_iteratorISC_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %dni, ptr %__y.addr.0.lcssa.i.i.i9.i98, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i68, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i69) + to label %invoke.cont43 unwind label %lpad35 + +invoke.cont43: ; preds = %lor.rhs.i90, %if.then.i97 + %__i.sroa.0.0.i95 = phi ptr [ %__y.addr.1.i.i.i.i83, %lor.rhs.i90 ], [ %call12.i100, %if.then.i97 ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i68) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i69) + %add.ptr.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i95, i64 48 + %cmp.i.not = icmp eq ptr %retval.sroa.0.0.i.i, %add.ptr.i.i + br i1 %cmp.i.not, label %if.else, label %if.end75 + +lpad: ; preds = %if.then13.i.i, %if.then.i + %27 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup537 + +lpad35: ; preds = %if.else.i416.invoke, %if.then13.i.i.i.i.i409, %if.then.i391, %if.then13.i.i.i.i.i, %if.then.i123, %if.then.i97, %if.then.i62, %if.else + %28 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup220 + +if.end75: ; preds = %invoke.cont43 + %second77 = getelementptr inbounds i8, ptr %retval.sroa.0.0.i.i, i64 40 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i102) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i103) + %29 = load ptr, ptr %_M_parent.i.i.i.i.i22, align 8 + %cmp.not5.i.i.i.i106 = icmp eq ptr %29, null + br i1 %cmp.not5.i.i.i.i106, label %if.then.i123, label %while.body.lr.ph.i.i.i.i107 + +while.body.lr.ph.i.i.i.i107: ; preds = %if.end75 + %30 = load i32, ptr %second77, align 4 + br label %while.body.i.i.i.i108 + +while.body.i.i.i.i108: ; preds = %while.body.i.i.i.i108, %while.body.lr.ph.i.i.i.i107 + %__x.addr.07.i.i.i.i109 = phi ptr [ %29, %while.body.lr.ph.i.i.i.i107 ], [ %__x.addr.1.i.i.i.i116, %while.body.i.i.i.i108 ] + %__y.addr.06.i.i.i.i110 = phi ptr [ %2, %while.body.lr.ph.i.i.i.i107 ], [ %__y.addr.1.i.i.i.i113, %while.body.i.i.i.i108 ] + %_M_storage.i.i.i.i.i.i111 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i109, i64 32 + %31 = load i32, ptr %_M_storage.i.i.i.i.i.i111, align 4 + %cmp.i.i.i.i.i112 = icmp slt i32 %31, %30 + %__y.addr.1.i.i.i.i113 = select i1 %cmp.i.i.i.i.i112, ptr %__y.addr.06.i.i.i.i110, ptr %__x.addr.07.i.i.i.i109 + %__x.addr.1.in.v.i.i.i.i114 = select i1 %cmp.i.i.i.i.i112, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i115 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i109, i64 %__x.addr.1.in.v.i.i.i.i114 + %__x.addr.1.i.i.i.i116 = load ptr, ptr %__x.addr.1.in.i.i.i.i115, align 8 + %cmp.not.i.i.i.i117 = icmp eq ptr %__x.addr.1.i.i.i.i116, null + br i1 %cmp.not.i.i.i.i117, label %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEE11lower_boundERSA_.exit.i, label %while.body.i.i.i.i108, !llvm.loop !276 + +_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEE11lower_boundERSA_.exit.i: ; preds = %while.body.i.i.i.i108 + %cmp.i.i118 = icmp eq ptr %__y.addr.1.i.i.i.i113, %2 + br i1 %cmp.i.i118, label %if.then.i123, label %lor.rhs.i119 + +lor.rhs.i119: ; preds = %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEE11lower_boundERSA_.exit.i + %__y.addr.1.i.i.i.i113.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i112, ptr %__y.addr.06.i.i.i.i110, ptr %__x.addr.07.i.i.i.i109 + %__y.addr.1.i.i.i.i113.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i113.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %32 = load i32, ptr %__y.addr.1.i.i.i.i113.sroa.sel.v.sroa.sel.v.sroa.sel, align 4 + %cmp.i3.i = icmp slt i32 %30, %32 + br i1 %cmp.i3.i, label %if.then.i123, label %invoke.cont78 + +if.then.i123: ; preds = %lor.rhs.i119, %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEE11lower_boundERSA_.exit.i, %if.end75 + %__y.addr.0.lcssa.i.i.i10.i = phi ptr [ %__y.addr.1.i.i.i.i113, %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEE11lower_boundERSA_.exit.i ], [ %__y.addr.1.i.i.i.i113, %lor.rhs.i119 ], [ %2, %if.end75 ] + store ptr %second77, ptr %ref.tmp9.i102, align 8 + %call12.i125 = invoke ptr @_ZNSt8_Rb_treeIiSt4pairIKiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS6_EEESt10_Select1stIS9_ESt4lessIiESaIS9_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESK_IJEEEEESt17_Rb_tree_iteratorIS9_ESt23_Rb_tree_const_iteratorIS9_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %new_part_rec, ptr %__y.addr.0.lcssa.i.i.i10.i, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i102, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i103) + to label %invoke.cont78 unwind label %lpad35 + +invoke.cont78: ; preds = %lor.rhs.i119, %if.then.i123 + %__i.sroa.0.0.i121 = phi ptr [ %__y.addr.1.i.i.i.i113, %lor.rhs.i119 ], [ %call12.i125, %if.then.i123 ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i102) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i103) + %33 = load ptr, ptr %part, align 8 + %add.ptr.i126 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %33, i64 %conv251769 + %_M_finish.i127 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i121, i64 48 + %34 = load ptr, ptr %_M_finish.i127, align 8 + %_M_end_of_storage.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i121, i64 56 + %35 = load ptr, ptr %_M_end_of_storage.i, align 8 + %cmp.not.i = icmp eq ptr %34, %35 + br i1 %cmp.not.i, label %if.else.i416.invoke, label %if.then.i128 + +if.then.i128: ; preds = %invoke.cont78 + %36 = load ptr, ptr %add.ptr.i126, align 8 + store ptr %36, ptr %34, align 8 + %bf.load.i.i.i.i.i129 = load i64, ptr %36, align 8 + %bf.lshr.i.i.i.i.i = lshr i64 %bf.load.i.i.i.i.i129, 40 + %37 = trunc nuw nsw i64 %bf.lshr.i.i.i.i.i to i32 + %bf.cast.i.i.i.i.i = and i32 %37, 1048575 + %cmp.i.i.i.i.i130 = icmp samesign ult i32 %bf.cast.i.i.i.i.i, 1048574 + br i1 %cmp.i.i.i.i.i130, label %if.then.i.i.i.i.i, label %if.else.i.i.i.i.i + +if.then.i.i.i.i.i: ; preds = %if.then.i128 + %bf.value.i.i.i.i.i = add i64 %bf.load.i.i.i.i.i129, 1099511627776 + %bf.shl.i.i.i.i.i = and i64 %bf.value.i.i.i.i.i, 1152920405095219200 + %bf.clear7.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i129, -1152920405095219201 + %bf.set.i.i.i.i.i = or disjoint i64 %bf.shl.i.i.i.i.i, %bf.clear7.i.i.i.i.i + store i64 %bf.set.i.i.i.i.i, ptr %36, align 8 + br label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i + +if.else.i.i.i.i.i: ; preds = %if.then.i128 + %cmp12.i.i.i.i.i = icmp eq i32 %bf.cast.i.i.i.i.i, 1048574 + br i1 %cmp12.i.i.i.i.i, label %if.then13.i.i.i.i.i, label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i + +if.then13.i.i.i.i.i: ; preds = %if.else.i.i.i.i.i + %bf.set23.i.i.i.i.i = or i64 %bf.load.i.i.i.i.i129, 1152920405095219200 + store i64 %bf.set23.i.i.i.i.i, ptr %36, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %36) + to label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i unwind label %lpad35 + +_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i: ; preds = %if.then13.i.i.i.i.i, %if.else.i.i.i.i.i, %if.then.i.i.i.i.i + %38 = load ptr, ptr %_M_finish.i127, align 8 + %incdec.ptr.i = getelementptr inbounds i8, ptr %38, i64 8 + store ptr %incdec.ptr.i, ptr %_M_finish.i127, align 8 + br label %if.end219 + +if.else: ; preds = %invoke.cont43 + invoke void @_ZNK4cvc58internal12NodeTemplateILb1EE7getTypeEb(ptr nonnull sret(%"class.cvc5::internal::TypeNode") align 8 %ref.tmp83, ptr noundef nonnull align 8 dereferenceable(8) %c, i1 noundef zeroext false) + to label %invoke.cont84 unwind label %lpad35 + +invoke.cont84: ; preds = %if.else + %call87 = invoke noundef zeroext i1 @_ZNK4cvc58internal8TypeNode10isDatatypeEv(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp83) + to label %invoke.cont86 unwind label %lpad85 + +invoke.cont86: ; preds = %invoke.cont84 + %39 = load ptr, ptr %ref.tmp83, align 8 + %bf.load.i.i133 = load i64, ptr %39, align 8 + %40 = and i64 %bf.load.i.i133, 1152920405095219200 + %cmp.not.i.i = icmp eq i64 %40, 1152920405095219200 + br i1 %cmp.not.i.i, label %_ZN4cvc58internal8TypeNodeD2Ev.exit, label %if.then.i.i134 + +if.then.i.i134: ; preds = %invoke.cont86 + %bf.value.i.i135 = add i64 %bf.load.i.i133, 1152920405095219200 + %bf.shl.i.i136 = and i64 %bf.value.i.i135, 1152920405095219200 + %bf.clear7.i.i137 = and i64 %bf.load.i.i133, -1152920405095219201 + %bf.set.i.i138 = or disjoint i64 %bf.shl.i.i136, %bf.clear7.i.i137 + store i64 %bf.set.i.i138, ptr %39, align 8 + %cmp12.i.i139 = icmp eq i64 %bf.shl.i.i136, 0 + br i1 %cmp12.i.i139, label %if.then13.i.i140, label %_ZN4cvc58internal8TypeNodeD2Ev.exit + +if.then13.i.i140: ; preds = %if.then.i.i134 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %39) + to label %_ZN4cvc58internal8TypeNodeD2Ev.exit unwind label %terminate.lpad.i + +terminate.lpad.i: ; preds = %if.then13.i.i140 + %41 = landingpad { ptr, i32 } + catch ptr null + %42 = extractvalue { ptr, i32 } %41, 0 + call void @__clang_call_terminate(ptr %42) #25 + unreachable + +_ZN4cvc58internal8TypeNodeD2Ev.exit: ; preds = %invoke.cont86, %if.then.i.i134, %if.then13.i.i140 + br i1 %call87, label %if.then88, label %if.end212 + +if.then88: ; preds = %_ZN4cvc58internal8TypeNodeD2Ev.exit + %43 = load ptr, ptr %c, align 8 + store ptr %43, ptr %agg.tmp, align 8 + invoke void @_ZN4cvc58internal6theory9datatypes15TheoryDatatypes17getEqcConstructorENS0_12NodeTemplateILb0EEE(ptr nonnull sret(%"class.cvc5::internal::NodeTemplate.733") align 8 %ref.tmp89, ptr noundef nonnull align 8 dereferenceable(2008) %this, ptr noundef nonnull %agg.tmp) + to label %invoke.cont92 unwind label %lpad91 + +invoke.cont92: ; preds = %if.then88 + %44 = load ptr, ptr %ref.tmp89, align 8 + store ptr %44, ptr %ncons, align 8 + %bf.load.i.i141 = load i64, ptr %44, align 8 + %bf.lshr.i.i142 = lshr i64 %bf.load.i.i141, 40 + %45 = trunc nuw nsw i64 %bf.lshr.i.i142 to i32 + %bf.cast.i.i143 = and i32 %45, 1048575 + %cmp.i.i144 = icmp samesign ult i32 %bf.cast.i.i143, 1048574 + br i1 %cmp.i.i144, label %if.then.i.i149, label %if.else.i.i145 + +if.then.i.i149: ; preds = %invoke.cont92 + %bf.value.i.i150 = add i64 %bf.load.i.i141, 1099511627776 + %bf.shl.i.i151 = and i64 %bf.value.i.i150, 1152920405095219200 + %bf.clear7.i.i152 = and i64 %bf.load.i.i141, -1152920405095219201 + %bf.set.i.i153 = or disjoint i64 %bf.shl.i.i151, %bf.clear7.i.i152 + store i64 %bf.set.i.i153, ptr %44, align 8 + br label %invoke.cont94 + +if.else.i.i145: ; preds = %invoke.cont92 + %cmp12.i.i146 = icmp eq i32 %bf.cast.i.i143, 1048574 + br i1 %cmp12.i.i146, label %if.then13.i.i147, label %invoke.cont94 + +if.then13.i.i147: ; preds = %if.else.i.i145 + %bf.set23.i.i148 = or i64 %bf.load.i.i141, 1152920405095219200 + store i64 %bf.set23.i.i148, ptr %44, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %44) + to label %invoke.cont94 unwind label %lpad93 + +invoke.cont94: ; preds = %if.else.i.i145, %if.then.i.i149, %if.then13.i.i147 + %46 = load ptr, ptr %ncons, align 8 + %d_kind.i = getelementptr inbounds i8, ptr %46, i64 8 + %bf.load.i = load i16, ptr %d_kind.i, align 8 + %bf.clear.i = and i16 %bf.load.i, 1023 + %cmp98 = icmp eq i16 %bf.clear.i, 217 + br i1 %cmp98, label %if.then99, label %if.else152 + +if.then99: ; preds = %invoke.cont94 + invoke void @_ZNK4cvc58internal12NodeTemplateILb1EE11getOperatorEv(ptr nonnull sret(%"class.cvc5::internal::NodeTemplate") align 8 %cc, ptr noundef nonnull align 8 dereferenceable(8) %ncons) + to label %invoke.cont100 unwind label %lpad95 + +invoke.cont100: ; preds = %if.then99 + %47 = load ptr, ptr %part, align 8 + %add.ptr.i155 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %47, i64 %conv251769 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i156) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i157) + %48 = load ptr, ptr %_M_parent.i.i.i.i.i26, align 8 + %cmp.not5.i.i.i.i160 = icmp eq ptr %48, null + br i1 %cmp.not5.i.i.i.i160, label %if.then.i185, label %while.body.lr.ph.i.i.i.i161 + +while.body.lr.ph.i.i.i.i161: ; preds = %invoke.cont100 + %49 = load ptr, ptr %add.ptr.i155, align 8 + %bf.load3.i.i.i.i.i.i162 = load i64, ptr %49, align 8 + %bf.clear4.i.i.i.i.i.i163 = and i64 %bf.load3.i.i.i.i.i.i162, 1099511627775 + br label %while.body.i.i.i.i164 + +while.body.i.i.i.i164: ; preds = %while.body.i.i.i.i164, %while.body.lr.ph.i.i.i.i161 + %__x.addr.07.i.i.i.i165 = phi ptr [ %48, %while.body.lr.ph.i.i.i.i161 ], [ %__x.addr.1.i.i.i.i174, %while.body.i.i.i.i164 ] + %__y.addr.06.i.i.i.i166 = phi ptr [ %3, %while.body.lr.ph.i.i.i.i161 ], [ %__y.addr.1.i.i.i.i171, %while.body.i.i.i.i164 ] + %_M_storage.i.i.i.i.i.i167 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i165, i64 32 + %50 = load ptr, ptr %_M_storage.i.i.i.i.i.i167, align 8 + %bf.load.i.i.i.i.i.i168 = load i64, ptr %50, align 8 + %bf.clear.i.i.i.i.i.i169 = and i64 %bf.load.i.i.i.i.i.i168, 1099511627775 + %cmp.i.i.i.i.i.i170 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i169, %bf.clear4.i.i.i.i.i.i163 + %__y.addr.1.i.i.i.i171 = select i1 %cmp.i.i.i.i.i.i170, ptr %__y.addr.06.i.i.i.i166, ptr %__x.addr.07.i.i.i.i165 + %__x.addr.1.in.v.i.i.i.i172 = select i1 %cmp.i.i.i.i.i.i170, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i173 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i165, i64 %__x.addr.1.in.v.i.i.i.i172 + %__x.addr.1.i.i.i.i174 = load ptr, ptr %__x.addr.1.in.i.i.i.i173, align 8 + %cmp.not.i.i.i.i175 = icmp eq ptr %__x.addr.1.i.i.i.i174, null + br i1 %cmp.not.i.i.i.i175, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i176, label %while.body.i.i.i.i164, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i176: ; preds = %while.body.i.i.i.i164 + %cmp.i.i177 = icmp eq ptr %__y.addr.1.i.i.i.i171, %3 + br i1 %cmp.i.i177, label %if.then.i185, label %lor.rhs.i178 + +lor.rhs.i178: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i176 + %__y.addr.1.i.i.i.i171.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i170, ptr %__y.addr.06.i.i.i.i166, ptr %__x.addr.07.i.i.i.i165 + %__y.addr.1.i.i.i.i171.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i171.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %51 = load ptr, ptr %__y.addr.1.i.i.i.i171.sroa.sel.v.sroa.sel.v.sroa.sel, align 8 + %bf.load3.i.i.i180 = load i64, ptr %51, align 8 + %bf.clear4.i.i.i181 = and i64 %bf.load3.i.i.i180, 1099511627775 + %cmp.i.i.i182 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i163, %bf.clear4.i.i.i181 + br i1 %cmp.i.i.i182, label %if.then.i185, label %invoke.cont104 + +if.then.i185: ; preds = %lor.rhs.i178, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i176, %invoke.cont100 + %__y.addr.0.lcssa.i.i.i9.i186 = phi ptr [ %__y.addr.1.i.i.i.i171, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i176 ], [ %__y.addr.1.i.i.i.i171, %lor.rhs.i178 ], [ %3, %invoke.cont100 ] + store ptr %add.ptr.i155, ptr %ref.tmp9.i156, align 8 + %call12.i188 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESH_IJEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %cn_cons, ptr %__y.addr.0.lcssa.i.i.i9.i186, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i156, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i157) + to label %invoke.cont104 unwind label %lpad103 + +invoke.cont104: ; preds = %lor.rhs.i178, %if.then.i185 + %__i.sroa.0.0.i183 = phi ptr [ %__y.addr.1.i.i.i.i171, %lor.rhs.i178 ], [ %call12.i188, %if.then.i185 ] + %second.i184 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i183, i64 40 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i156) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i157) + %52 = load ptr, ptr %second.i184, align 8 + %53 = load ptr, ptr %ncons, align 8 + %cmp.not.i190 = icmp eq ptr %52, %53 + br i1 %cmp.not.i190, label %land.lhs.true, label %if.then.i191 + +if.then.i191: ; preds = %invoke.cont104 + %bf.load.i.i192 = load i64, ptr %52, align 8 + %54 = and i64 %bf.load.i.i192, 1152920405095219200 + %cmp.not.i.i193 = icmp eq i64 %54, 1152920405095219200 + br i1 %cmp.not.i.i193, label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i, label %if.then.i.i194 + +if.then.i.i194: ; preds = %if.then.i191 + %bf.value.i.i195 = add i64 %bf.load.i.i192, 1152920405095219200 + %bf.shl.i.i196 = and i64 %bf.value.i.i195, 1152920405095219200 + %bf.clear7.i.i197 = and i64 %bf.load.i.i192, -1152920405095219201 + %bf.set.i.i198 = or disjoint i64 %bf.shl.i.i196, %bf.clear7.i.i197 + store i64 %bf.set.i.i198, ptr %52, align 8 + %cmp12.i.i199 = icmp eq i64 %bf.shl.i.i196, 0 + br i1 %cmp12.i.i199, label %if.then13.i.i205, label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i + +if.then13.i.i205: ; preds = %if.then.i.i194 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %52) + to label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i unwind label %lpad103 + +_ZN4cvc58internal4expr9NodeValue3decEv.exit.i: ; preds = %if.then13.i.i205, %if.then.i.i194, %if.then.i191 + %55 = load ptr, ptr %ncons, align 8 + store ptr %55, ptr %second.i184, align 8 + %bf.load.i2.i = load i64, ptr %55, align 8 + %bf.lshr.i.i200 = lshr i64 %bf.load.i2.i, 40 + %56 = trunc nuw nsw i64 %bf.lshr.i.i200 to i32 + %bf.cast.i.i201 = and i32 %56, 1048575 + %cmp.i.i202 = icmp samesign ult i32 %bf.cast.i.i201, 1048574 + br i1 %cmp.i.i202, label %if.then.i5.i, label %if.else.i.i203 + +if.then.i5.i: ; preds = %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i + %bf.value.i6.i = add i64 %bf.load.i2.i, 1099511627776 + %bf.shl.i7.i = and i64 %bf.value.i6.i, 1152920405095219200 + %bf.clear7.i8.i = and i64 %bf.load.i2.i, -1152920405095219201 + %bf.set.i9.i = or disjoint i64 %bf.shl.i7.i, %bf.clear7.i8.i + store i64 %bf.set.i9.i, ptr %55, align 8 + br label %land.lhs.true + +if.else.i.i203: ; preds = %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i + %cmp12.i3.i = icmp eq i32 %bf.cast.i.i201, 1048574 + br i1 %cmp12.i3.i, label %if.then13.i4.i, label %land.lhs.true + +if.then13.i4.i: ; preds = %if.else.i.i203 + %bf.set23.i.i204 = or i64 %bf.load.i2.i, 1152920405095219200 + store i64 %bf.set23.i.i204, ptr %55, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %55) + to label %land.lhs.true unwind label %lpad103 + +land.lhs.true: ; preds = %if.else.i.i203, %if.then.i5.i, %invoke.cont104, %if.then13.i4.i + %57 = load ptr, ptr %c, align 8 + %58 = load ptr, ptr %ncons, align 8 + %cmp.i208.not = icmp eq ptr %57, %58 + br i1 %cmp.i208.not, label %if.end117, label %if.then111 + +if.then111: ; preds = %land.lhs.true + invoke void @_ZNK4cvc58internal12NodeTemplateILb1EE6eqNodeILb1EEES2_RKNS1_IXT_EEE(ptr nonnull sret(%"class.cvc5::internal::NodeTemplate") align 8 %ref.tmp112, ptr noundef nonnull align 8 dereferenceable(8) %c, ptr noundef nonnull align 8 dereferenceable(8) %ncons) + to label %invoke.cont113 unwind label %lpad103 + +invoke.cont113: ; preds = %if.then111 + %59 = load ptr, ptr %_M_finish.i.i, align 8 + %60 = load ptr, ptr %_M_end_of_storage.i.i, align 8 + %cmp.not.i.i209 = icmp eq ptr %59, %60 + br i1 %cmp.not.i.i209, label %if.else.i.i213, label %if.then.i.i210 + +if.then.i.i210: ; preds = %invoke.cont113 + %61 = load ptr, ptr %ref.tmp112, align 8 + store ptr %61, ptr %59, align 8 + %bf.load.i.i.i.i.i.i211 = load i64, ptr %61, align 8 + %bf.lshr.i.i.i.i.i.i = lshr i64 %bf.load.i.i.i.i.i.i211, 40 + %62 = trunc nuw nsw i64 %bf.lshr.i.i.i.i.i.i to i32 + %bf.cast.i.i.i.i.i.i = and i32 %62, 1048575 + %cmp.i.i.i.i.i.i212 = icmp samesign ult i32 %bf.cast.i.i.i.i.i.i, 1048574 + br i1 %cmp.i.i.i.i.i.i212, label %if.then.i.i.i.i.i.i, label %if.else.i.i.i.i.i.i + +if.then.i.i.i.i.i.i: ; preds = %if.then.i.i210 + %bf.value.i.i.i.i.i.i = add i64 %bf.load.i.i.i.i.i.i211, 1099511627776 + %bf.shl.i.i.i.i.i.i = and i64 %bf.value.i.i.i.i.i.i, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i.i211, -1152920405095219201 + %bf.set.i.i.i.i.i.i = or disjoint i64 %bf.shl.i.i.i.i.i.i, %bf.clear7.i.i.i.i.i.i + store i64 %bf.set.i.i.i.i.i.i, ptr %61, align 8 + br label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i + +if.else.i.i.i.i.i.i: ; preds = %if.then.i.i210 + %cmp12.i.i.i.i.i.i = icmp eq i32 %bf.cast.i.i.i.i.i.i, 1048574 + br i1 %cmp12.i.i.i.i.i.i, label %if.then13.i.i.i.i.i.i, label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i + +if.then13.i.i.i.i.i.i: ; preds = %if.else.i.i.i.i.i.i + %bf.set23.i.i.i.i.i.i = or i64 %bf.load.i.i.i.i.i.i211, 1152920405095219200 + store i64 %bf.set23.i.i.i.i.i.i, ptr %61, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %61) + to label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i unwind label %lpad114 + +_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i: ; preds = %if.then13.i.i.i.i.i.i, %if.else.i.i.i.i.i.i, %if.then.i.i.i.i.i.i + %63 = load ptr, ptr %_M_finish.i.i, align 8 + %incdec.ptr.i.i = getelementptr inbounds i8, ptr %63, i64 8 + store ptr %incdec.ptr.i.i, ptr %_M_finish.i.i, align 8 + br label %invoke.cont115 + +if.else.i.i213: ; preds = %invoke.cont113 + invoke void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %exp, ptr %59, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp112) + to label %invoke.cont115 unwind label %lpad114 + +invoke.cont115: ; preds = %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i, %if.else.i.i213 + %64 = load ptr, ptr %ref.tmp112, align 8 + %bf.load.i.i216 = load i64, ptr %64, align 8 + %65 = and i64 %bf.load.i.i216, 1152920405095219200 + %cmp.not.i.i217 = icmp eq i64 %65, 1152920405095219200 + br i1 %cmp.not.i.i217, label %if.end117, label %if.then.i.i218 + +if.then.i.i218: ; preds = %invoke.cont115 + %bf.value.i.i219 = add i64 %bf.load.i.i216, 1152920405095219200 + %bf.shl.i.i220 = and i64 %bf.value.i.i219, 1152920405095219200 + %bf.clear7.i.i221 = and i64 %bf.load.i.i216, -1152920405095219201 + %bf.set.i.i222 = or disjoint i64 %bf.shl.i.i220, %bf.clear7.i.i221 + store i64 %bf.set.i.i222, ptr %64, align 8 + %cmp12.i.i223 = icmp eq i64 %bf.shl.i.i220, 0 + br i1 %cmp12.i.i223, label %if.then13.i.i224, label %if.end117 + +if.then13.i.i224: ; preds = %if.then.i.i218 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %64) + to label %if.end117 unwind label %terminate.lpad.i225 + +terminate.lpad.i225: ; preds = %if.then13.i.i224 + %66 = landingpad { ptr, i32 } + catch ptr null + %67 = extractvalue { ptr, i32 } %66, 0 + call void @__clang_call_terminate(ptr %67) #25 + unreachable + +lpad85: ; preds = %invoke.cont84 + %68 = landingpad { ptr, i32 } + cleanup + call void @_ZN4cvc58internal8TypeNodeD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp83) #23 + br label %ehcleanup220 + +lpad91: ; preds = %if.then88 + %69 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup220 + +lpad93: ; preds = %if.then13.i.i147 + %70 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup220 + +lpad95: ; preds = %if.else.i347, %if.then13.i.i.i.i.i340, %if.then.i322, %if.then99 + %71 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup183 + +lpad103: ; preds = %if.else.i278, %if.then13.i.i.i.i.i271, %if.then.i254, %if.then13.i4.i, %if.then13.i.i205, %if.then.i185, %if.then111 + %72 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup151 + +lpad114: ; preds = %if.else.i.i213, %if.then13.i.i.i.i.i.i + %73 = landingpad { ptr, i32 } + cleanup + call void @_ZN4cvc58internal12NodeTemplateILb1EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp112) #23 + br label %ehcleanup151 + +if.end117: ; preds = %if.then13.i.i224, %if.then.i.i218, %invoke.cont115, %land.lhs.true + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i226) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i227) + %74 = load ptr, ptr %_M_parent.i.i.i.i.i, align 8 + %cmp.not5.i.i.i.i230 = icmp eq ptr %74, null + br i1 %cmp.not5.i.i.i.i230, label %if.then.i254, label %while.body.lr.ph.i.i.i.i231 + +while.body.lr.ph.i.i.i.i231: ; preds = %if.end117 + %75 = load ptr, ptr %cc, align 8 + %bf.load3.i.i.i.i.i.i232 = load i64, ptr %75, align 8 + %bf.clear4.i.i.i.i.i.i233 = and i64 %bf.load3.i.i.i.i.i.i232, 1099511627775 + br label %while.body.i.i.i.i234 + +while.body.i.i.i.i234: ; preds = %while.body.i.i.i.i234, %while.body.lr.ph.i.i.i.i231 + %__x.addr.07.i.i.i.i235 = phi ptr [ %74, %while.body.lr.ph.i.i.i.i231 ], [ %__x.addr.1.i.i.i.i244, %while.body.i.i.i.i234 ] + %__y.addr.06.i.i.i.i236 = phi ptr [ %0, %while.body.lr.ph.i.i.i.i231 ], [ %__y.addr.1.i.i.i.i241, %while.body.i.i.i.i234 ] + %_M_storage.i.i.i.i.i.i237 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i235, i64 32 + %76 = load ptr, ptr %_M_storage.i.i.i.i.i.i237, align 8 + %bf.load.i.i.i.i.i.i238 = load i64, ptr %76, align 8 + %bf.clear.i.i.i.i.i.i239 = and i64 %bf.load.i.i.i.i.i.i238, 1099511627775 + %cmp.i.i.i.i.i.i240 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i239, %bf.clear4.i.i.i.i.i.i233 + %__y.addr.1.i.i.i.i241 = select i1 %cmp.i.i.i.i.i.i240, ptr %__y.addr.06.i.i.i.i236, ptr %__x.addr.07.i.i.i.i235 + %__x.addr.1.in.v.i.i.i.i242 = select i1 %cmp.i.i.i.i.i.i240, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i243 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i235, i64 %__x.addr.1.in.v.i.i.i.i242 + %__x.addr.1.i.i.i.i244 = load ptr, ptr %__x.addr.1.in.i.i.i.i243, align 8 + %cmp.not.i.i.i.i245 = icmp eq ptr %__x.addr.1.i.i.i.i244, null + br i1 %cmp.not.i.i.i.i245, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i, label %while.body.i.i.i.i234, !llvm.loop !73 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i: ; preds = %while.body.i.i.i.i234 + %cmp.i.i246 = icmp eq ptr %__y.addr.1.i.i.i.i241, %0 + br i1 %cmp.i.i246, label %if.then.i254, label %lor.rhs.i247 + +lor.rhs.i247: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i + %__y.addr.1.i.i.i.i241.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i240, ptr %__y.addr.06.i.i.i.i236, ptr %__x.addr.07.i.i.i.i235 + %__y.addr.1.i.i.i.i241.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i241.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %77 = load ptr, ptr %__y.addr.1.i.i.i.i241.sroa.sel.v.sroa.sel.v.sroa.sel, align 8 + %bf.load3.i.i.i249 = load i64, ptr %77, align 8 + %bf.clear4.i.i.i250 = and i64 %bf.load3.i.i.i249, 1099511627775 + %cmp.i.i.i251 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i233, %bf.clear4.i.i.i250 + br i1 %cmp.i.i.i251, label %if.then.i254, label %invoke.cont118 + +if.then.i254: ; preds = %lor.rhs.i247, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i, %if.end117 + %__y.addr.0.lcssa.i.i.i9.i255 = phi ptr [ %__y.addr.1.i.i.i.i241, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i ], [ %__y.addr.1.i.i.i.i241, %lor.rhs.i247 ], [ %0, %if.end117 ] + store ptr %cc, ptr %ref.tmp9.i226, align 8 + %call12.i257 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St6vectorIS3_SaIS3_EEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESK_IJEEEEESt17_Rb_tree_iteratorIS9_ESt23_Rb_tree_const_iteratorIS9_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %new_part, ptr %__y.addr.0.lcssa.i.i.i9.i255, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i226, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i227) + to label %invoke.cont118 unwind label %lpad103 + +invoke.cont118: ; preds = %lor.rhs.i247, %if.then.i254 + %__i.sroa.0.0.i252 = phi ptr [ %__y.addr.1.i.i.i.i241, %lor.rhs.i247 ], [ %call12.i257, %if.then.i254 ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i226) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i227) + %78 = load ptr, ptr %part, align 8 + %add.ptr.i258 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %78, i64 %conv251769 + %_M_finish.i259 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i252, i64 48 + %79 = load ptr, ptr %_M_finish.i259, align 8 + %_M_end_of_storage.i260 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i252, i64 56 + %80 = load ptr, ptr %_M_end_of_storage.i260, align 8 + %cmp.not.i261 = icmp eq ptr %79, %80 + br i1 %cmp.not.i261, label %if.else.i278, label %if.then.i262 + +if.then.i262: ; preds = %invoke.cont118 + %81 = load ptr, ptr %add.ptr.i258, align 8 + store ptr %81, ptr %79, align 8 + %bf.load.i.i.i.i.i263 = load i64, ptr %81, align 8 + %bf.lshr.i.i.i.i.i264 = lshr i64 %bf.load.i.i.i.i.i263, 40 + %82 = trunc nuw nsw i64 %bf.lshr.i.i.i.i.i264 to i32 + %bf.cast.i.i.i.i.i265 = and i32 %82, 1048575 + %cmp.i.i.i.i.i266 = icmp samesign ult i32 %bf.cast.i.i.i.i.i265, 1048574 + br i1 %cmp.i.i.i.i.i266, label %if.then.i.i.i.i.i273, label %if.else.i.i.i.i.i267 + +if.then.i.i.i.i.i273: ; preds = %if.then.i262 + %bf.value.i.i.i.i.i274 = add i64 %bf.load.i.i.i.i.i263, 1099511627776 + %bf.shl.i.i.i.i.i275 = and i64 %bf.value.i.i.i.i.i274, 1152920405095219200 + %bf.clear7.i.i.i.i.i276 = and i64 %bf.load.i.i.i.i.i263, -1152920405095219201 + %bf.set.i.i.i.i.i277 = or disjoint i64 %bf.shl.i.i.i.i.i275, %bf.clear7.i.i.i.i.i276 + store i64 %bf.set.i.i.i.i.i277, ptr %81, align 8 + br label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i269 + +if.else.i.i.i.i.i267: ; preds = %if.then.i262 + %cmp12.i.i.i.i.i268 = icmp eq i32 %bf.cast.i.i.i.i.i265, 1048574 + br i1 %cmp12.i.i.i.i.i268, label %if.then13.i.i.i.i.i271, label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i269 + +if.then13.i.i.i.i.i271: ; preds = %if.else.i.i.i.i.i267 + %bf.set23.i.i.i.i.i272 = or i64 %bf.load.i.i.i.i.i263, 1152920405095219200 + store i64 %bf.set23.i.i.i.i.i272, ptr %81, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %81) + to label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i269 unwind label %lpad103 + +_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i269: ; preds = %if.then13.i.i.i.i.i271, %if.else.i.i.i.i.i267, %if.then.i.i.i.i.i273 + %83 = load ptr, ptr %_M_finish.i259, align 8 + %incdec.ptr.i270 = getelementptr inbounds i8, ptr %83, i64 8 + store ptr %incdec.ptr.i270, ptr %_M_finish.i259, align 8 + br label %if.end150 + +if.else.i278: ; preds = %invoke.cont118 + %second.i253 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i252, i64 40 + invoke void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %second.i253, ptr %79, ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i258) + to label %if.end150 unwind label %lpad103 + +if.end150: ; preds = %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i269, %if.else.i278 + %84 = load ptr, ptr %cc, align 8 + %bf.load.i.i282 = load i64, ptr %84, align 8 + %85 = and i64 %bf.load.i.i282, 1152920405095219200 + %cmp.not.i.i283 = icmp eq i64 %85, 1152920405095219200 + br i1 %cmp.not.i.i283, label %if.end182, label %if.then.i.i284 + +if.then.i.i284: ; preds = %if.end150 + %bf.value.i.i285 = add i64 %bf.load.i.i282, 1152920405095219200 + %bf.shl.i.i286 = and i64 %bf.value.i.i285, 1152920405095219200 + %bf.clear7.i.i287 = and i64 %bf.load.i.i282, -1152920405095219201 + %bf.set.i.i288 = or disjoint i64 %bf.shl.i.i286, %bf.clear7.i.i287 + store i64 %bf.set.i.i288, ptr %84, align 8 + %cmp12.i.i289 = icmp eq i64 %bf.shl.i.i286, 0 + br i1 %cmp12.i.i289, label %if.then13.i.i290, label %if.end182 + +if.then13.i.i290: ; preds = %if.then.i.i284 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %84) + to label %if.end182 unwind label %terminate.lpad.i291 + +terminate.lpad.i291: ; preds = %if.then13.i.i290 + %86 = landingpad { ptr, i32 } + catch ptr null + %87 = extractvalue { ptr, i32 } %86, 0 + call void @__clang_call_terminate(ptr %87) #25 + unreachable + +ehcleanup151: ; preds = %lpad114, %lpad103 + %.pn12 = phi { ptr, i32 } [ %72, %lpad103 ], [ %73, %lpad114 ] + call void @_ZN4cvc58internal12NodeTemplateILb1EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %cc) #23 + br label %ehcleanup183 + +if.else152: ; preds = %invoke.cont94 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i293) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i294) + %88 = load ptr, ptr %_M_parent.i.i.i.i.i18, align 8 + %cmp.not5.i.i.i.i297 = icmp eq ptr %88, null + br i1 %cmp.not5.i.i.i.i297, label %if.then.i322, label %while.body.lr.ph.i.i.i.i298 + +while.body.lr.ph.i.i.i.i298: ; preds = %if.else152 + %89 = load ptr, ptr %c, align 8 + %bf.load3.i.i.i.i.i.i299 = load i64, ptr %89, align 8 + %bf.clear4.i.i.i.i.i.i300 = and i64 %bf.load3.i.i.i.i.i.i299, 1099511627775 + br label %while.body.i.i.i.i301 + +while.body.i.i.i.i301: ; preds = %while.body.i.i.i.i301, %while.body.lr.ph.i.i.i.i298 + %__x.addr.07.i.i.i.i302 = phi ptr [ %88, %while.body.lr.ph.i.i.i.i298 ], [ %__x.addr.1.i.i.i.i311, %while.body.i.i.i.i301 ] + %__y.addr.06.i.i.i.i303 = phi ptr [ %1, %while.body.lr.ph.i.i.i.i298 ], [ %__y.addr.1.i.i.i.i308, %while.body.i.i.i.i301 ] + %_M_storage.i.i.i.i.i.i304 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i302, i64 32 + %90 = load ptr, ptr %_M_storage.i.i.i.i.i.i304, align 8 + %bf.load.i.i.i.i.i.i305 = load i64, ptr %90, align 8 + %bf.clear.i.i.i.i.i.i306 = and i64 %bf.load.i.i.i.i.i.i305, 1099511627775 + %cmp.i.i.i.i.i.i307 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i306, %bf.clear4.i.i.i.i.i.i300 + %__y.addr.1.i.i.i.i308 = select i1 %cmp.i.i.i.i.i.i307, ptr %__y.addr.06.i.i.i.i303, ptr %__x.addr.07.i.i.i.i302 + %__x.addr.1.in.v.i.i.i.i309 = select i1 %cmp.i.i.i.i.i.i307, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i310 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i302, i64 %__x.addr.1.in.v.i.i.i.i309 + %__x.addr.1.i.i.i.i311 = load ptr, ptr %__x.addr.1.in.i.i.i.i310, align 8 + %cmp.not.i.i.i.i312 = icmp eq ptr %__x.addr.1.i.i.i.i311, null + br i1 %cmp.not.i.i.i.i312, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i313, label %while.body.i.i.i.i301, !llvm.loop !73 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i313: ; preds = %while.body.i.i.i.i301 + %cmp.i.i314 = icmp eq ptr %__y.addr.1.i.i.i.i308, %1 + br i1 %cmp.i.i314, label %if.then.i322, label %lor.rhs.i315 + +lor.rhs.i315: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i313 + %__y.addr.1.i.i.i.i308.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i307, ptr %__y.addr.06.i.i.i.i303, ptr %__x.addr.07.i.i.i.i302 + %__y.addr.1.i.i.i.i308.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i308.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %91 = load ptr, ptr %__y.addr.1.i.i.i.i308.sroa.sel.v.sroa.sel.v.sroa.sel, align 8 + %bf.load3.i.i.i317 = load i64, ptr %91, align 8 + %bf.clear4.i.i.i318 = and i64 %bf.load3.i.i.i317, 1099511627775 + %cmp.i.i.i319 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i300, %bf.clear4.i.i.i318 + br i1 %cmp.i.i.i319, label %if.then.i322, label %invoke.cont153 + +if.then.i322: ; preds = %lor.rhs.i315, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i313, %if.else152 + %__y.addr.0.lcssa.i.i.i9.i323 = phi ptr [ %__y.addr.1.i.i.i.i308, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i313 ], [ %__y.addr.1.i.i.i.i308, %lor.rhs.i315 ], [ %1, %if.else152 ] + store ptr %c, ptr %ref.tmp9.i293, align 8 + %call12.i325 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St6vectorIS3_SaIS3_EEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESK_IJEEEEESt17_Rb_tree_iteratorIS9_ESt23_Rb_tree_const_iteratorIS9_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %new_part_c, ptr %__y.addr.0.lcssa.i.i.i9.i323, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i293, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i294) + to label %invoke.cont153 unwind label %lpad95 + +invoke.cont153: ; preds = %lor.rhs.i315, %if.then.i322 + %__i.sroa.0.0.i320 = phi ptr [ %__y.addr.1.i.i.i.i308, %lor.rhs.i315 ], [ %call12.i325, %if.then.i322 ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i293) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i294) + %92 = load ptr, ptr %part, align 8 + %add.ptr.i327 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %92, i64 %conv251769 + %_M_finish.i328 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i320, i64 48 + %93 = load ptr, ptr %_M_finish.i328, align 8 + %_M_end_of_storage.i329 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i320, i64 56 + %94 = load ptr, ptr %_M_end_of_storage.i329, align 8 + %cmp.not.i330 = icmp eq ptr %93, %94 + br i1 %cmp.not.i330, label %if.else.i347, label %if.then.i331 + +if.then.i331: ; preds = %invoke.cont153 + %95 = load ptr, ptr %add.ptr.i327, align 8 + store ptr %95, ptr %93, align 8 + %bf.load.i.i.i.i.i332 = load i64, ptr %95, align 8 + %bf.lshr.i.i.i.i.i333 = lshr i64 %bf.load.i.i.i.i.i332, 40 + %96 = trunc nuw nsw i64 %bf.lshr.i.i.i.i.i333 to i32 + %bf.cast.i.i.i.i.i334 = and i32 %96, 1048575 + %cmp.i.i.i.i.i335 = icmp samesign ult i32 %bf.cast.i.i.i.i.i334, 1048574 + br i1 %cmp.i.i.i.i.i335, label %if.then.i.i.i.i.i342, label %if.else.i.i.i.i.i336 + +if.then.i.i.i.i.i342: ; preds = %if.then.i331 + %bf.value.i.i.i.i.i343 = add i64 %bf.load.i.i.i.i.i332, 1099511627776 + %bf.shl.i.i.i.i.i344 = and i64 %bf.value.i.i.i.i.i343, 1152920405095219200 + %bf.clear7.i.i.i.i.i345 = and i64 %bf.load.i.i.i.i.i332, -1152920405095219201 + %bf.set.i.i.i.i.i346 = or disjoint i64 %bf.shl.i.i.i.i.i344, %bf.clear7.i.i.i.i.i345 + store i64 %bf.set.i.i.i.i.i346, ptr %95, align 8 + br label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i338 + +if.else.i.i.i.i.i336: ; preds = %if.then.i331 + %cmp12.i.i.i.i.i337 = icmp eq i32 %bf.cast.i.i.i.i.i334, 1048574 + br i1 %cmp12.i.i.i.i.i337, label %if.then13.i.i.i.i.i340, label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i338 + +if.then13.i.i.i.i.i340: ; preds = %if.else.i.i.i.i.i336 + %bf.set23.i.i.i.i.i341 = or i64 %bf.load.i.i.i.i.i332, 1152920405095219200 + store i64 %bf.set23.i.i.i.i.i341, ptr %95, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %95) + to label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i338 unwind label %lpad95 + +_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i338: ; preds = %if.then13.i.i.i.i.i340, %if.else.i.i.i.i.i336, %if.then.i.i.i.i.i342 + %97 = load ptr, ptr %_M_finish.i328, align 8 + %incdec.ptr.i339 = getelementptr inbounds i8, ptr %97, i64 8 + store ptr %incdec.ptr.i339, ptr %_M_finish.i328, align 8 + br label %if.end182 + +if.else.i347: ; preds = %invoke.cont153 + %second.i321 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i320, i64 40 + invoke void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %second.i321, ptr %93, ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i327) + to label %if.end182 unwind label %lpad95 + +if.end182: ; preds = %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i338, %if.else.i347, %if.then13.i.i290, %if.then.i.i284, %if.end150 + %98 = load ptr, ptr %ncons, align 8 + %bf.load.i.i351 = load i64, ptr %98, align 8 + %99 = and i64 %bf.load.i.i351, 1152920405095219200 + %cmp.not.i.i352 = icmp eq i64 %99, 1152920405095219200 + br i1 %cmp.not.i.i352, label %if.end219, label %if.then.i.i353 + +if.then.i.i353: ; preds = %if.end182 + %bf.value.i.i354 = add i64 %bf.load.i.i351, 1152920405095219200 + %bf.shl.i.i355 = and i64 %bf.value.i.i354, 1152920405095219200 + %bf.clear7.i.i356 = and i64 %bf.load.i.i351, -1152920405095219201 + %bf.set.i.i357 = or disjoint i64 %bf.shl.i.i355, %bf.clear7.i.i356 + store i64 %bf.set.i.i357, ptr %98, align 8 + %cmp12.i.i358 = icmp eq i64 %bf.shl.i.i355, 0 + br i1 %cmp12.i.i358, label %if.then13.i.i359, label %if.end219 + +if.then13.i.i359: ; preds = %if.then.i.i353 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %98) + to label %if.end219 unwind label %terminate.lpad.i360 + +terminate.lpad.i360: ; preds = %if.then13.i.i359 + %100 = landingpad { ptr, i32 } + catch ptr null + %101 = extractvalue { ptr, i32 } %100, 0 + call void @__clang_call_terminate(ptr %101) #25 + unreachable + +ehcleanup183: ; preds = %ehcleanup151, %lpad95 + %.pn12.pn = phi { ptr, i32 } [ %.pn12, %ehcleanup151 ], [ %71, %lpad95 ] + call void @_ZN4cvc58internal12NodeTemplateILb1EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %ncons) #23 + br label %ehcleanup220 + +if.end212: ; preds = %_ZN4cvc58internal8TypeNodeD2Ev.exit + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i362) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i363) + %102 = load ptr, ptr %_M_parent.i.i.i.i.i18, align 8 + %cmp.not5.i.i.i.i366 = icmp eq ptr %102, null + br i1 %cmp.not5.i.i.i.i366, label %if.then.i391, label %while.body.lr.ph.i.i.i.i367 + +while.body.lr.ph.i.i.i.i367: ; preds = %if.end212 + %103 = load ptr, ptr %c, align 8 + %bf.load3.i.i.i.i.i.i368 = load i64, ptr %103, align 8 + %bf.clear4.i.i.i.i.i.i369 = and i64 %bf.load3.i.i.i.i.i.i368, 1099511627775 + br label %while.body.i.i.i.i370 + +while.body.i.i.i.i370: ; preds = %while.body.i.i.i.i370, %while.body.lr.ph.i.i.i.i367 + %__x.addr.07.i.i.i.i371 = phi ptr [ %102, %while.body.lr.ph.i.i.i.i367 ], [ %__x.addr.1.i.i.i.i380, %while.body.i.i.i.i370 ] + %__y.addr.06.i.i.i.i372 = phi ptr [ %1, %while.body.lr.ph.i.i.i.i367 ], [ %__y.addr.1.i.i.i.i377, %while.body.i.i.i.i370 ] + %_M_storage.i.i.i.i.i.i373 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i371, i64 32 + %104 = load ptr, ptr %_M_storage.i.i.i.i.i.i373, align 8 + %bf.load.i.i.i.i.i.i374 = load i64, ptr %104, align 8 + %bf.clear.i.i.i.i.i.i375 = and i64 %bf.load.i.i.i.i.i.i374, 1099511627775 + %cmp.i.i.i.i.i.i376 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i375, %bf.clear4.i.i.i.i.i.i369 + %__y.addr.1.i.i.i.i377 = select i1 %cmp.i.i.i.i.i.i376, ptr %__y.addr.06.i.i.i.i372, ptr %__x.addr.07.i.i.i.i371 + %__x.addr.1.in.v.i.i.i.i378 = select i1 %cmp.i.i.i.i.i.i376, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i379 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i371, i64 %__x.addr.1.in.v.i.i.i.i378 + %__x.addr.1.i.i.i.i380 = load ptr, ptr %__x.addr.1.in.i.i.i.i379, align 8 + %cmp.not.i.i.i.i381 = icmp eq ptr %__x.addr.1.i.i.i.i380, null + br i1 %cmp.not.i.i.i.i381, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i382, label %while.body.i.i.i.i370, !llvm.loop !73 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i382: ; preds = %while.body.i.i.i.i370 + %cmp.i.i383 = icmp eq ptr %__y.addr.1.i.i.i.i377, %1 + br i1 %cmp.i.i383, label %if.then.i391, label %lor.rhs.i384 + +lor.rhs.i384: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i382 + %__y.addr.1.i.i.i.i377.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i376, ptr %__y.addr.06.i.i.i.i372, ptr %__x.addr.07.i.i.i.i371 + %__y.addr.1.i.i.i.i377.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i377.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %105 = load ptr, ptr %__y.addr.1.i.i.i.i377.sroa.sel.v.sroa.sel.v.sroa.sel, align 8 + %bf.load3.i.i.i386 = load i64, ptr %105, align 8 + %bf.clear4.i.i.i387 = and i64 %bf.load3.i.i.i386, 1099511627775 + %cmp.i.i.i388 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i369, %bf.clear4.i.i.i387 + br i1 %cmp.i.i.i388, label %if.then.i391, label %invoke.cont213 + +if.then.i391: ; preds = %lor.rhs.i384, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i382, %if.end212 + %__y.addr.0.lcssa.i.i.i9.i392 = phi ptr [ %__y.addr.1.i.i.i.i377, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i382 ], [ %__y.addr.1.i.i.i.i377, %lor.rhs.i384 ], [ %1, %if.end212 ] + store ptr %c, ptr %ref.tmp9.i362, align 8 + %call12.i394 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St6vectorIS3_SaIS3_EEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESK_IJEEEEESt17_Rb_tree_iteratorIS9_ESt23_Rb_tree_const_iteratorIS9_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %new_part_c, ptr %__y.addr.0.lcssa.i.i.i9.i392, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i362, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i363) + to label %invoke.cont213 unwind label %lpad35 + +invoke.cont213: ; preds = %lor.rhs.i384, %if.then.i391 + %__i.sroa.0.0.i389 = phi ptr [ %__y.addr.1.i.i.i.i377, %lor.rhs.i384 ], [ %call12.i394, %if.then.i391 ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i362) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i363) + %106 = load ptr, ptr %part, align 8 + %add.ptr.i396 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %106, i64 %conv251769 + %_M_finish.i397 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i389, i64 48 + %107 = load ptr, ptr %_M_finish.i397, align 8 + %_M_end_of_storage.i398 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i389, i64 56 + %108 = load ptr, ptr %_M_end_of_storage.i398, align 8 + %cmp.not.i399 = icmp eq ptr %107, %108 + br i1 %cmp.not.i399, label %if.else.i416.invoke, label %if.then.i400 + +if.then.i400: ; preds = %invoke.cont213 + %109 = load ptr, ptr %add.ptr.i396, align 8 + store ptr %109, ptr %107, align 8 + %bf.load.i.i.i.i.i401 = load i64, ptr %109, align 8 + %bf.lshr.i.i.i.i.i402 = lshr i64 %bf.load.i.i.i.i.i401, 40 + %110 = trunc nuw nsw i64 %bf.lshr.i.i.i.i.i402 to i32 + %bf.cast.i.i.i.i.i403 = and i32 %110, 1048575 + %cmp.i.i.i.i.i404 = icmp samesign ult i32 %bf.cast.i.i.i.i.i403, 1048574 + br i1 %cmp.i.i.i.i.i404, label %if.then.i.i.i.i.i411, label %if.else.i.i.i.i.i405 + +if.then.i.i.i.i.i411: ; preds = %if.then.i400 + %bf.value.i.i.i.i.i412 = add i64 %bf.load.i.i.i.i.i401, 1099511627776 + %bf.shl.i.i.i.i.i413 = and i64 %bf.value.i.i.i.i.i412, 1152920405095219200 + %bf.clear7.i.i.i.i.i414 = and i64 %bf.load.i.i.i.i.i401, -1152920405095219201 + %bf.set.i.i.i.i.i415 = or disjoint i64 %bf.shl.i.i.i.i.i413, %bf.clear7.i.i.i.i.i414 + store i64 %bf.set.i.i.i.i.i415, ptr %109, align 8 + br label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i407 + +if.else.i.i.i.i.i405: ; preds = %if.then.i400 + %cmp12.i.i.i.i.i406 = icmp eq i32 %bf.cast.i.i.i.i.i403, 1048574 + br i1 %cmp12.i.i.i.i.i406, label %if.then13.i.i.i.i.i409, label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i407 + +if.then13.i.i.i.i.i409: ; preds = %if.else.i.i.i.i.i405 + %bf.set23.i.i.i.i.i410 = or i64 %bf.load.i.i.i.i.i401, 1152920405095219200 + store i64 %bf.set23.i.i.i.i.i410, ptr %109, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %109) + to label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i407 unwind label %lpad35 + +_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i407: ; preds = %if.then13.i.i.i.i.i409, %if.else.i.i.i.i.i405, %if.then.i.i.i.i.i411 + %111 = load ptr, ptr %_M_finish.i397, align 8 + %incdec.ptr.i408 = getelementptr inbounds i8, ptr %111, i64 8 + store ptr %incdec.ptr.i408, ptr %_M_finish.i397, align 8 + br label %if.end219 + +if.else.i416.invoke: ; preds = %invoke.cont213, %invoke.cont78 + %__i.sroa.0.0.i121.sink = phi ptr [ %__i.sroa.0.0.i121, %invoke.cont78 ], [ %__i.sroa.0.0.i389, %invoke.cont213 ] + %112 = phi ptr [ %34, %invoke.cont78 ], [ %107, %invoke.cont213 ] + %113 = phi ptr [ %add.ptr.i126, %invoke.cont78 ], [ %add.ptr.i396, %invoke.cont213 ] + %second.i122 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i121.sink, i64 40 + invoke void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %second.i122, ptr %112, ptr noundef nonnull align 8 dereferenceable(8) %113) + to label %if.end219 unwind label %lpad35 + +if.end219: ; preds = %if.else.i416.invoke, %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i407, %if.then13.i.i359, %if.then.i.i353, %if.end182, %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i + %114 = load ptr, ptr %c, align 8 + %bf.load.i.i420 = load i64, ptr %114, align 8 + %115 = and i64 %bf.load.i.i420, 1152920405095219200 + %cmp.not.i.i421 = icmp eq i64 %115, 1152920405095219200 + br i1 %cmp.not.i.i421, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430, label %if.then.i.i422 + +if.then.i.i422: ; preds = %if.end219 + %bf.value.i.i423 = add i64 %bf.load.i.i420, 1152920405095219200 + %bf.shl.i.i424 = and i64 %bf.value.i.i423, 1152920405095219200 + %bf.clear7.i.i425 = and i64 %bf.load.i.i420, -1152920405095219201 + %bf.set.i.i426 = or disjoint i64 %bf.shl.i.i424, %bf.clear7.i.i425 + store i64 %bf.set.i.i426, ptr %114, align 8 + %cmp12.i.i427 = icmp eq i64 %bf.shl.i.i424, 0 + br i1 %cmp12.i.i427, label %if.then13.i.i428, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430 + +if.then13.i.i428: ; preds = %if.then.i.i422 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %114) + to label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430 unwind label %terminate.lpad.i429 + +terminate.lpad.i429: ; preds = %if.then13.i.i428 + %116 = landingpad { ptr, i32 } + catch ptr null + %117 = extractvalue { ptr, i32 } %116, 0 + call void @__clang_call_terminate(ptr %117) #25 + unreachable + +_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430: ; preds = %if.end219, %if.then.i.i422, %if.then13.i.i428 + %inc222 = add i32 %j.01768, 1 + %conv25 = zext i32 %inc222 to i64 + %118 = load ptr, ptr %_M_finish.i, align 8 + %119 = load ptr, ptr %part, align 8 + %sub.ptr.lhs.cast.i = ptrtoint ptr %118 to i64 + %sub.ptr.rhs.cast.i = ptrtoint ptr %119 to i64 + %sub.ptr.sub.i = sub i64 %sub.ptr.lhs.cast.i, %sub.ptr.rhs.cast.i + %sub.ptr.div.i = ashr exact i64 %sub.ptr.sub.i, 3 + %cmp27 = icmp ugt i64 %sub.ptr.div.i, %conv25 + br i1 %cmp27, label %for.body28, label %for.end223, !llvm.loop !277 + +ehcleanup220: ; preds = %lpad91, %lpad93, %ehcleanup183, %lpad85, %lpad35 + %.pn15 = phi { ptr, i32 } [ %28, %lpad35 ], [ %.pn12.pn, %ehcleanup183 ], [ %68, %lpad85 ], [ %70, %lpad93 ], [ %69, %lpad91 ] + call void @_ZN4cvc58internal12NodeTemplateILb1EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %c) #23 + br label %ehcleanup537 + +for.end223: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430 + %.pre = load ptr, ptr %_M_left.i.i.i.i.i19, align 8 + %cmp.i432.not1770 = icmp eq ptr %.pre, %1 + br i1 %cmp.i432.not1770, label %for.end263, label %for.body231.lr.ph + +for.body231.lr.ph: ; preds = %for.end223 + %_M_finish.i444 = getelementptr inbounds i8, ptr %vec, i64 8 + br label %for.body231 + +for.body231: ; preds = %for.body231.lr.ph, %for.inc261 + %it.sroa.0.01771 = phi ptr [ %.pre, %for.body231.lr.ph ], [ %call.i, %for.inc261 ] + %second233 = getelementptr inbounds i8, ptr %it.sroa.0.01771, i64 40 + %_M_finish.i434 = getelementptr inbounds i8, ptr %it.sroa.0.01771, i64 48 + %120 = load ptr, ptr %_M_finish.i434, align 8 + %121 = load ptr, ptr %second233, align 8 + %sub.ptr.lhs.cast.i435 = ptrtoint ptr %120 to i64 + %sub.ptr.rhs.cast.i436 = ptrtoint ptr %121 to i64 + %sub.ptr.sub.i437 = sub i64 %sub.ptr.lhs.cast.i435, %sub.ptr.rhs.cast.i436 + %cmp235 = icmp ugt i64 %sub.ptr.sub.i437, 8 + br i1 %cmp235, label %if.then236, label %for.inc261 + +if.then236: ; preds = %for.body231 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %vec, i8 0, i64 24, i1 false) + invoke void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS3_S5_EEEEvSA_T_SB_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %vec, ptr null, ptr %121, ptr %120) + to label %invoke.cont255 unwind label %lpad254 + +invoke.cont255: ; preds = %if.then236 + invoke void @_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE9push_backERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %part_out, ptr noundef nonnull align 8 dereferenceable(24) %vec) + to label %invoke.cont258 unwind label %lpad254 + +invoke.cont258: ; preds = %invoke.cont255 + %122 = load ptr, ptr %vec, align 8 + %123 = load ptr, ptr %_M_finish.i444, align 8 + %cmp.not3.i.i.i.i = icmp eq ptr %122, %123 + br i1 %cmp.not3.i.i.i.i, label %invoke.cont.i, label %for.body.i.i.i.i + +for.body.i.i.i.i: ; preds = %invoke.cont258, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i + %__first.addr.04.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i ], [ %122, %invoke.cont258 ] + %124 = load ptr, ptr %__first.addr.04.i.i.i.i, align 8 + %bf.load.i.i.i.i.i.i.i = load i64, ptr %124, align 8 + %125 = and i64 %bf.load.i.i.i.i.i.i.i, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i = icmp eq i64 %125, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i, label %if.then.i.i.i.i.i.i.i + +if.then.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i + %bf.value.i.i.i.i.i.i.i = add i64 %bf.load.i.i.i.i.i.i.i, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i = and i64 %bf.value.i.i.i.i.i.i.i, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i.i.i, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i = or disjoint i64 %bf.shl.i.i.i.i.i.i.i, %bf.clear7.i.i.i.i.i.i.i + store i64 %bf.set.i.i.i.i.i.i.i, ptr %124, align 8 + %cmp12.i.i.i.i.i.i.i = icmp eq i64 %bf.shl.i.i.i.i.i.i.i, 0 + br i1 %cmp12.i.i.i.i.i.i.i, label %if.then13.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i + +if.then13.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %124) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i unwind label %terminate.lpad.i.i.i.i.i.i + +terminate.lpad.i.i.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i + %126 = landingpad { ptr, i32 } + catch ptr null + %127 = extractvalue { ptr, i32 } %126, 0 + call void @__clang_call_terminate(ptr %127) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i, %for.body.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i, i64 8 + %cmp.not.i.i.i.i445 = icmp eq ptr %incdec.ptr.i.i.i.i, %123 + br i1 %cmp.not.i.i.i.i445, label %invoke.contthread-pre-split.i, label %for.body.i.i.i.i, !llvm.loop !21 + +invoke.contthread-pre-split.i: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i + %.pr.i = load ptr, ptr %vec, align 8 + br label %invoke.cont.i + +invoke.cont.i: ; preds = %invoke.contthread-pre-split.i, %invoke.cont258 + %128 = phi ptr [ %.pr.i, %invoke.contthread-pre-split.i ], [ %122, %invoke.cont258 ] + %tobool.not.i.i.i = icmp eq ptr %128, null + br i1 %tobool.not.i.i.i, label %for.inc261, label %if.then.i.i.i + +if.then.i.i.i: ; preds = %invoke.cont.i + call void @_ZdlPv(ptr noundef nonnull %128) #26 + br label %for.inc261 + +lpad254: ; preds = %if.then236, %invoke.cont255 + %129 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %vec) #23 + br label %ehcleanup537 + +for.inc261: ; preds = %if.then.i.i.i, %invoke.cont.i, %for.body231 + %call.i = call noundef ptr @_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base(ptr noundef %it.sroa.0.01771) #27 + %cmp.i432.not = icmp eq ptr %call.i, %1 + br i1 %cmp.i432.not, label %for.end263, label %for.body231, !llvm.loop !278 + +for.end263: ; preds = %for.inc261, %entry, %for.end223 + %130 = load ptr, ptr %_M_left.i.i.i.i.i23, align 8 + %cmp.i448.not1772 = icmp eq ptr %130, %2 + br i1 %cmp.i448.not1772, label %for.end307, label %for.body272.lr.ph + +for.body272.lr.ph: ; preds = %for.end263 + %_M_finish.i465 = getelementptr inbounds i8, ptr %vec278, i64 8 + br label %for.body272 + +for.body272: ; preds = %for.body272.lr.ph, %for.inc305 + %it264.sroa.0.01773 = phi ptr [ %130, %for.body272.lr.ph ], [ %call.i488, %for.inc305 ] + %second274 = getelementptr inbounds i8, ptr %it264.sroa.0.01773, i64 40 + %_M_finish.i450 = getelementptr inbounds i8, ptr %it264.sroa.0.01773, i64 48 + %131 = load ptr, ptr %_M_finish.i450, align 8 + %132 = load ptr, ptr %second274, align 8 + %sub.ptr.lhs.cast.i451 = ptrtoint ptr %131 to i64 + %sub.ptr.rhs.cast.i452 = ptrtoint ptr %132 to i64 + %sub.ptr.sub.i453 = sub i64 %sub.ptr.lhs.cast.i451, %sub.ptr.rhs.cast.i452 + %cmp276 = icmp ugt i64 %sub.ptr.sub.i453, 8 + br i1 %cmp276, label %if.then277, label %for.inc305 + +if.then277: ; preds = %for.body272 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %vec278, i8 0, i64 24, i1 false) + invoke void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS3_S5_EEEEvSA_T_SB_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %vec278, ptr null, ptr %132, ptr %131) + to label %invoke.cont297 unwind label %lpad296 + +invoke.cont297: ; preds = %if.then277 + invoke void @_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE9push_backERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %part_out, ptr noundef nonnull align 8 dereferenceable(24) %vec278) + to label %invoke.cont301 unwind label %lpad296 + +invoke.cont301: ; preds = %invoke.cont297 + %133 = load ptr, ptr %vec278, align 8 + %134 = load ptr, ptr %_M_finish.i465, align 8 + %cmp.not3.i.i.i.i466 = icmp eq ptr %133, %134 + br i1 %cmp.not3.i.i.i.i466, label %invoke.cont.i482, label %for.body.i.i.i.i467 + +for.body.i.i.i.i467: ; preds = %invoke.cont301, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i477 + %__first.addr.04.i.i.i.i468 = phi ptr [ %incdec.ptr.i.i.i.i478, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i477 ], [ %133, %invoke.cont301 ] + %135 = load ptr, ptr %__first.addr.04.i.i.i.i468, align 8 + %bf.load.i.i.i.i.i.i.i469 = load i64, ptr %135, align 8 + %136 = and i64 %bf.load.i.i.i.i.i.i.i469, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i470 = icmp eq i64 %136, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i470, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i477, label %if.then.i.i.i.i.i.i.i471 + +if.then.i.i.i.i.i.i.i471: ; preds = %for.body.i.i.i.i467 + %bf.value.i.i.i.i.i.i.i472 = add i64 %bf.load.i.i.i.i.i.i.i469, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i473 = and i64 %bf.value.i.i.i.i.i.i.i472, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i474 = and i64 %bf.load.i.i.i.i.i.i.i469, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i475 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i473, %bf.clear7.i.i.i.i.i.i.i474 + store i64 %bf.set.i.i.i.i.i.i.i475, ptr %135, align 8 + %cmp12.i.i.i.i.i.i.i476 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i473, 0 + br i1 %cmp12.i.i.i.i.i.i.i476, label %if.then13.i.i.i.i.i.i.i485, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i477 + +if.then13.i.i.i.i.i.i.i485: ; preds = %if.then.i.i.i.i.i.i.i471 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %135) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i477 unwind label %terminate.lpad.i.i.i.i.i.i486 + +terminate.lpad.i.i.i.i.i.i486: ; preds = %if.then13.i.i.i.i.i.i.i485 + %137 = landingpad { ptr, i32 } + catch ptr null + %138 = extractvalue { ptr, i32 } %137, 0 + call void @__clang_call_terminate(ptr %138) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i477: ; preds = %if.then13.i.i.i.i.i.i.i485, %if.then.i.i.i.i.i.i.i471, %for.body.i.i.i.i467 + %incdec.ptr.i.i.i.i478 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i468, i64 8 + %cmp.not.i.i.i.i479 = icmp eq ptr %incdec.ptr.i.i.i.i478, %134 + br i1 %cmp.not.i.i.i.i479, label %invoke.contthread-pre-split.i480, label %for.body.i.i.i.i467, !llvm.loop !21 + +invoke.contthread-pre-split.i480: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i477 + %.pr.i481 = load ptr, ptr %vec278, align 8 + br label %invoke.cont.i482 + +invoke.cont.i482: ; preds = %invoke.contthread-pre-split.i480, %invoke.cont301 + %139 = phi ptr [ %.pr.i481, %invoke.contthread-pre-split.i480 ], [ %133, %invoke.cont301 ] + %tobool.not.i.i.i483 = icmp eq ptr %139, null + br i1 %tobool.not.i.i.i483, label %for.inc305, label %if.then.i.i.i484 + +if.then.i.i.i484: ; preds = %invoke.cont.i482 + call void @_ZdlPv(ptr noundef nonnull %139) #26 + br label %for.inc305 + +lpad296: ; preds = %if.then277, %invoke.cont297 + %140 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %vec278) #23 + br label %ehcleanup537 + +for.inc305: ; preds = %if.then.i.i.i484, %invoke.cont.i482, %for.body272 + %call.i488 = call noundef ptr @_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base(ptr noundef %it264.sroa.0.01773) #27 + %cmp.i448.not = icmp eq ptr %call.i488, %2 + br i1 %cmp.i448.not, label %for.end307, label %for.body272, !llvm.loop !279 + +for.end307: ; preds = %for.inc305, %for.end263 + %141 = load ptr, ptr %_M_left.i.i.i.i.i, align 8 + %cmp.i491.not1803 = icmp eq ptr %141, %0 + br i1 %cmp.i491.not1803, label %for.end536, label %for.body316.lr.ph + +for.body316.lr.ph: ; preds = %for.end307 + %142 = getelementptr inbounds i8, ptr %dni_rem, i64 8 + %_M_parent.i.i.i.i.i498 = getelementptr inbounds i8, ptr %dni_rem, i64 16 + %_M_left.i.i.i.i.i499 = getelementptr inbounds i8, ptr %dni_rem, i64 24 + %_M_right.i.i.i.i.i500 = getelementptr inbounds i8, ptr %dni_rem, i64 32 + %_M_node_count.i.i.i.i.i501 = getelementptr inbounds i8, ptr %dni_rem, i64 40 + %_M_parent.i.i.i.i.i527 = getelementptr inbounds i8, ptr %dni, i64 16 + %add.ptr.i.i.i.i528 = getelementptr inbounds i8, ptr %dni, i64 8 + %_M_parent.i.i.i.i.i561 = getelementptr inbounds i8, ptr %cn, i64 16 + %add.ptr.i.i.i.i562 = getelementptr inbounds i8, ptr %cn, i64 8 + %143 = ptrtoint ptr %n to i64 + %_M_node_count.i.i.i1341 = getelementptr inbounds i8, ptr %cn, i64 40 + %_M_node.i.i = getelementptr inbounds i8, ptr %__z.i, i64 8 + %_M_finish.i.i774 = getelementptr inbounds i8, ptr %split_new_part, i64 8 + %144 = ptrtoint ptr %n407 to i64 + %d_equalityEngine.i = getelementptr inbounds i8, ptr %this, i64 160 + %_M_finish.i.i937 = getelementptr inbounds i8, ptr %exp, i64 8 + %_M_end_of_storage.i.i938 = getelementptr inbounds i8, ptr %exp, i64 16 + %_M_finish.i1057 = getelementptr inbounds i8, ptr %next_split_new_part, i64 8 + %_M_finish.i1058 = getelementptr inbounds i8, ptr %c_part_out, i64 8 + %_M_finish.i1156 = getelementptr inbounds i8, ptr %part_out, i64 8 + br label %for.body316 + +for.body316: ; preds = %for.body316.lr.ph, %for.inc534 + %it308.sroa.0.01804 = phi ptr [ %141, %for.body316.lr.ph ], [ %call.i1307, %for.inc534 ] + %second318 = getelementptr inbounds i8, ptr %it308.sroa.0.01804, i64 40 + %_M_finish.i493 = getelementptr inbounds i8, ptr %it308.sroa.0.01804, i64 48 + %145 = load ptr, ptr %_M_finish.i493, align 8 + %146 = load ptr, ptr %second318, align 8 + %sub.ptr.lhs.cast.i494 = ptrtoint ptr %145 to i64 + %sub.ptr.rhs.cast.i495 = ptrtoint ptr %146 to i64 + %sub.ptr.sub.i496 = sub i64 %sub.ptr.lhs.cast.i494, %sub.ptr.rhs.cast.i495 + %cmp320 = icmp ugt i64 %sub.ptr.sub.i496, 8 + br i1 %cmp320, label %if.then321, label %for.inc534 + +if.then321: ; preds = %for.body316 + store i32 0, ptr %142, align 8 + store ptr null, ptr %_M_parent.i.i.i.i.i498, align 8 + store ptr %142, ptr %_M_left.i.i.i.i.i499, align 8 + store ptr %142, ptr %_M_right.i.i.i.i.i500, align 8 + store i64 0, ptr %_M_node_count.i.i.i.i.i501, align 8 + %147 = load ptr, ptr %second318, align 8 + %cmp3281778.not = icmp eq ptr %145, %147 + br i1 %cmp3281778.not, label %for.end352, label %for.body329 + +for.body329: ; preds = %if.then321, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732 + %148 = phi ptr [ %231, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732 ], [ %147, %if.then321 ] + %conv3241780 = phi i64 [ %conv324, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732 ], [ 0, %if.then321 ] + %i322.01779 = phi i32 [ %inc351, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732 ], [ 0, %if.then321 ] + %add.ptr.i509 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %148, i64 %conv3241780 + %149 = load ptr, ptr %add.ptr.i509, align 8 + store ptr %149, ptr %n, align 8 + %bf.load.i.i510 = load i64, ptr %149, align 8 + %bf.lshr.i.i511 = lshr i64 %bf.load.i.i510, 40 + %150 = trunc nuw nsw i64 %bf.lshr.i.i511 to i32 + %bf.cast.i.i512 = and i32 %150, 1048575 + %cmp.i.i513 = icmp samesign ult i32 %bf.cast.i.i512, 1048574 + br i1 %cmp.i.i513, label %if.then.i.i518, label %if.else.i.i514 + +if.then.i.i518: ; preds = %for.body329 + %bf.value.i.i519 = add i64 %bf.load.i.i510, 1099511627776 + %bf.shl.i.i520 = and i64 %bf.value.i.i519, 1152920405095219200 + %bf.clear7.i.i521 = and i64 %bf.load.i.i510, -1152920405095219201 + %bf.set.i.i522 = or disjoint i64 %bf.shl.i.i520, %bf.clear7.i.i521 + store i64 %bf.set.i.i522, ptr %149, align 8 + br label %invoke.cont335 + +if.else.i.i514: ; preds = %for.body329 + %cmp12.i.i515 = icmp eq i32 %bf.cast.i.i512, 1048574 + br i1 %cmp12.i.i515, label %if.then13.i.i516, label %invoke.cont335 + +if.then13.i.i516: ; preds = %if.else.i.i514 + %bf.set23.i.i517 = or i64 %bf.load.i.i510, 1152920405095219200 + store i64 %bf.set23.i.i517, ptr %149, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %149) + to label %invoke.cont335 unwind label %lpad334 + +invoke.cont335: ; preds = %if.else.i.i514, %if.then.i.i518, %if.then13.i.i516 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i525) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i526) + %151 = load ptr, ptr %_M_parent.i.i.i.i.i527, align 8 + %cmp.not5.i.i.i.i529 = icmp eq ptr %151, null + br i1 %cmp.not5.i.i.i.i529, label %if.then.i554, label %while.body.lr.ph.i.i.i.i530 + +while.body.lr.ph.i.i.i.i530: ; preds = %invoke.cont335 + %152 = load ptr, ptr %n, align 8 + %bf.load3.i.i.i.i.i.i531 = load i64, ptr %152, align 8 + %bf.clear4.i.i.i.i.i.i532 = and i64 %bf.load3.i.i.i.i.i.i531, 1099511627775 + br label %while.body.i.i.i.i533 + +while.body.i.i.i.i533: ; preds = %while.body.i.i.i.i533, %while.body.lr.ph.i.i.i.i530 + %__x.addr.07.i.i.i.i534 = phi ptr [ %151, %while.body.lr.ph.i.i.i.i530 ], [ %__x.addr.1.i.i.i.i543, %while.body.i.i.i.i533 ] + %__y.addr.06.i.i.i.i535 = phi ptr [ %add.ptr.i.i.i.i528, %while.body.lr.ph.i.i.i.i530 ], [ %__y.addr.1.i.i.i.i540, %while.body.i.i.i.i533 ] + %_M_storage.i.i.i.i.i.i536 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i534, i64 32 + %153 = load ptr, ptr %_M_storage.i.i.i.i.i.i536, align 8 + %bf.load.i.i.i.i.i.i537 = load i64, ptr %153, align 8 + %bf.clear.i.i.i.i.i.i538 = and i64 %bf.load.i.i.i.i.i.i537, 1099511627775 + %cmp.i.i.i.i.i.i539 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i538, %bf.clear4.i.i.i.i.i.i532 + %__y.addr.1.i.i.i.i540 = select i1 %cmp.i.i.i.i.i.i539, ptr %__y.addr.06.i.i.i.i535, ptr %__x.addr.07.i.i.i.i534 + %__x.addr.1.in.v.i.i.i.i541 = select i1 %cmp.i.i.i.i.i.i539, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i542 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i534, i64 %__x.addr.1.in.v.i.i.i.i541 + %__x.addr.1.i.i.i.i543 = load ptr, ptr %__x.addr.1.in.i.i.i.i542, align 8 + %cmp.not.i.i.i.i544 = icmp eq ptr %__x.addr.1.i.i.i.i543, null + br i1 %cmp.not.i.i.i.i544, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i545, label %while.body.i.i.i.i533, !llvm.loop !275 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i545: ; preds = %while.body.i.i.i.i533 + %cmp.i.i546 = icmp eq ptr %__y.addr.1.i.i.i.i540, %add.ptr.i.i.i.i528 + br i1 %cmp.i.i546, label %if.then.i554, label %lor.rhs.i547 + +lor.rhs.i547: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i545 + %_M_storage.i.i.i548 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i540, i64 32 + %154 = load ptr, ptr %_M_storage.i.i.i548, align 8 + %bf.load3.i.i.i549 = load i64, ptr %154, align 8 + %bf.clear4.i.i.i550 = and i64 %bf.load3.i.i.i549, 1099511627775 + %cmp.i.i.i551 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i532, %bf.clear4.i.i.i550 + br i1 %cmp.i.i.i551, label %if.then.i554, label %invoke.cont337 + +if.then.i554: ; preds = %lor.rhs.i547, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i545, %invoke.cont335 + %__y.addr.0.lcssa.i.i.i9.i555 = phi ptr [ %__y.addr.1.i.i.i.i540, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i545 ], [ %__y.addr.1.i.i.i.i540, %lor.rhs.i547 ], [ %add.ptr.i.i.i.i528, %invoke.cont335 ] + store ptr %n, ptr %ref.tmp9.i525, align 8 + %call12.i557 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St3mapIS3_iSt4lessIS3_ESaIS4_IS5_iEEEESt10_Select1stISC_ES8_SaISC_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESL_IJEEEEESt17_Rb_tree_iteratorISC_ESt23_Rb_tree_const_iteratorISC_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %dni, ptr %__y.addr.0.lcssa.i.i.i9.i555, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i525, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i526) + to label %invoke.cont337 unwind label %lpad336 + +invoke.cont337: ; preds = %lor.rhs.i547, %if.then.i554 + %__i.sroa.0.0.i552 = phi ptr [ %__y.addr.1.i.i.i.i540, %lor.rhs.i547 ], [ %call12.i557, %if.then.i554 ] + %second.i553 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i552, i64 40 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i525) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i526) + %155 = load ptr, ptr %_M_parent.i.i.i.i.i561, align 8 + %cmp.not5.i.i.i.i563 = icmp eq ptr %155, null + br i1 %cmp.not5.i.i.i.i563, label %if.then.i588, label %while.body.lr.ph.i.i.i.i564 + +while.body.lr.ph.i.i.i.i564: ; preds = %invoke.cont337 + %156 = load ptr, ptr %n, align 8 + %bf.load3.i.i.i.i.i.i565 = load i64, ptr %156, align 8 + %bf.clear4.i.i.i.i.i.i566 = and i64 %bf.load3.i.i.i.i.i.i565, 1099511627775 + br label %while.body.i.i.i.i567 + +while.body.i.i.i.i567: ; preds = %while.body.i.i.i.i567, %while.body.lr.ph.i.i.i.i564 + %__x.addr.07.i.i.i.i568 = phi ptr [ %155, %while.body.lr.ph.i.i.i.i564 ], [ %__x.addr.1.i.i.i.i577, %while.body.i.i.i.i567 ] + %__y.addr.06.i.i.i.i569 = phi ptr [ %add.ptr.i.i.i.i562, %while.body.lr.ph.i.i.i.i564 ], [ %__y.addr.1.i.i.i.i574, %while.body.i.i.i.i567 ] + %_M_storage.i.i.i.i.i.i570 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i568, i64 32 + %157 = load ptr, ptr %_M_storage.i.i.i.i.i.i570, align 8 + %bf.load.i.i.i.i.i.i571 = load i64, ptr %157, align 8 + %bf.clear.i.i.i.i.i.i572 = and i64 %bf.load.i.i.i.i.i.i571, 1099511627775 + %cmp.i.i.i.i.i.i573 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i572, %bf.clear4.i.i.i.i.i.i566 + %__y.addr.1.i.i.i.i574 = select i1 %cmp.i.i.i.i.i.i573, ptr %__y.addr.06.i.i.i.i569, ptr %__x.addr.07.i.i.i.i568 + %__x.addr.1.in.v.i.i.i.i575 = select i1 %cmp.i.i.i.i.i.i573, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i576 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i568, i64 %__x.addr.1.in.v.i.i.i.i575 + %__x.addr.1.i.i.i.i577 = load ptr, ptr %__x.addr.1.in.i.i.i.i576, align 8 + %cmp.not.i.i.i.i578 = icmp eq ptr %__x.addr.1.i.i.i.i577, null + br i1 %cmp.not.i.i.i.i578, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i579, label %while.body.i.i.i.i567, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i579: ; preds = %while.body.i.i.i.i567 + %cmp.i.i580 = icmp eq ptr %__y.addr.1.i.i.i.i574, %add.ptr.i.i.i.i562 + br i1 %cmp.i.i580, label %if.then.i588, label %lor.rhs.i581 + +lor.rhs.i581: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i579 + %_M_storage.i.i.i582 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i574, i64 32 + %158 = load ptr, ptr %_M_storage.i.i.i582, align 8 + %bf.load3.i.i.i583 = load i64, ptr %158, align 8 + %bf.clear4.i.i.i584 = and i64 %bf.load3.i.i.i583, 1099511627775 + %cmp.i.i.i585 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i566, %bf.clear4.i.i.i584 + br i1 %cmp.i.i.i585, label %if.then.i588, label %invoke.cont339 + +if.then.i588: ; preds = %lor.rhs.i581, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i579, %invoke.cont337 + %__y.addr.0.lcssa.i.i.i9.i589 = phi ptr [ %__y.addr.1.i.i.i.i574, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i579 ], [ %__y.addr.1.i.i.i.i574, %lor.rhs.i581 ], [ %add.ptr.i.i.i.i562, %invoke.cont337 ] + %call5.i.i.i.i.i.i1342 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #24 + to label %call5.i.i.i.i.i.i.noexc unwind label %lpad336 + +call5.i.i.i.i.i.i.noexc: ; preds = %if.then.i588 + %_M_storage.i.i.i.i.i1330 = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1342, i64 32 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i) + store i64 %143, ptr %agg.tmp6.i.i.i.i.i.i, align 8 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i) + invoke void @_ZNSt4pairIKN4cvc58internal12NodeTemplateILb1EEES3_EC2IJRS4_EJLm0EEJETpTnmJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE(ptr noundef nonnull align 8 dereferenceable(16) %_M_storage.i.i.i.i.i1330, ptr noundef nonnull align 8 dereferenceable(8) %agg.tmp6.i.i.i.i.i.i, ptr noundef nonnull align 1 dereferenceable(1) %__second.i.i.i.i.i.i.i) + to label %invoke.cont.i1331 unwind label %lpad.i.i.i.i + +lpad.i.i.i.i: ; preds = %call5.i.i.i.i.i.i.noexc + %159 = landingpad { ptr, i32 } + catch ptr null + %160 = extractvalue { ptr, i32 } %159, 0 + %161 = call ptr @__cxa_begin_catch(ptr %160) #23 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1342) #26 + invoke void @__cxa_rethrow() #29 + to label %unreachable.i.i.i.i unwind label %lpad7.i.i.i.i + +lpad7.i.i.i.i: ; preds = %lpad.i.i.i.i + %162 = landingpad { ptr, i32 } + cleanup + invoke void @__cxa_end_catch() + to label %lpad336.body unwind label %terminate.lpad.i.i.i.i + +terminate.lpad.i.i.i.i: ; preds = %lpad7.i.i.i.i + %163 = landingpad { ptr, i32 } + catch ptr null + %164 = extractvalue { ptr, i32 } %163, 0 + call void @__clang_call_terminate(ptr %164) #25 + unreachable + +unreachable.i.i.i.i: ; preds = %lpad.i.i.i.i + unreachable + +invoke.cont.i1331: ; preds = %call5.i.i.i.i.i.i.noexc + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i) + %call8.i = invoke { ptr, ptr } @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS6_ERS5_(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr %__y.addr.0.lcssa.i.i.i9.i589, ptr noundef nonnull align 8 dereferenceable(8) %_M_storage.i.i.i.i.i1330) + to label %invoke.cont7.i unwind label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i + +invoke.cont7.i: ; preds = %invoke.cont.i1331 + %165 = extractvalue { ptr, ptr } %call8.i, 0 + %166 = extractvalue { ptr, ptr } %call8.i, 1 + %tobool.not.i = icmp eq ptr %166, null + br i1 %tobool.not.i, label %if.then.i7.i, label %if.then.i1332 + +if.then.i1332: ; preds = %invoke.cont7.i + %cmp.not.i.i.i1333 = icmp ne ptr %165, null + %cmp2.i.i.i = icmp eq ptr %166, %add.ptr.i.i.i.i562 + %or.cond.i.i.i = select i1 %cmp.not.i.i.i1333, i1 true, i1 %cmp2.i.i.i + br i1 %or.cond.i.i.i, label %cleanup.thread.i, label %lor.rhs.i.i.i + +lor.rhs.i.i.i: ; preds = %if.then.i1332 + %_M_storage.i.i.i.i.i.i1335 = getelementptr inbounds i8, ptr %166, i64 32 + %167 = load ptr, ptr %_M_storage.i.i.i.i.i1330, align 8 + %bf.load.i.i.i.i.i1336 = load i64, ptr %167, align 8 + %bf.clear.i.i.i.i.i1337 = and i64 %bf.load.i.i.i.i.i1336, 1099511627775 + %168 = load ptr, ptr %_M_storage.i.i.i.i.i.i1335, align 8 + %bf.load3.i.i.i.i.i1338 = load i64, ptr %168, align 8 + %bf.clear4.i.i.i.i.i1339 = and i64 %bf.load3.i.i.i.i.i1338, 1099511627775 + %cmp.i.i.i.i.i1340 = icmp samesign ult i64 %bf.clear.i.i.i.i.i1337, %bf.clear4.i.i.i.i.i1339 + br label %cleanup.thread.i + +cleanup.thread.i: ; preds = %lor.rhs.i.i.i, %if.then.i1332 + %169 = phi i1 [ true, %if.then.i1332 ], [ %cmp.i.i.i.i.i1340, %lor.rhs.i.i.i ] + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %169, ptr noundef nonnull %call5.i.i.i.i.i.i1342, ptr noundef nonnull %166, ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i.i.i.i562) #23 + %170 = load i64, ptr %_M_node_count.i.i.i1341, align 8 + %inc.i.i.i = add i64 %170, 1 + store i64 %inc.i.i.i, ptr %_M_node_count.i.i.i1341, align 8 + br label %invoke.cont339 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i: ; preds = %invoke.cont.i1331 + %171 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr noundef nonnull %call5.i.i.i.i.i.i1342) #23 + br label %lpad336.body + +if.then.i7.i: ; preds = %invoke.cont7.i + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr noundef nonnull %call5.i.i.i.i.i.i1342) #23 + br label %invoke.cont339 + +invoke.cont339: ; preds = %lor.rhs.i581, %if.then.i7.i, %cleanup.thread.i + %__i.sroa.0.0.i586 = phi ptr [ %__y.addr.1.i.i.i.i574, %lor.rhs.i581 ], [ %call5.i.i.i.i.i.i1342, %cleanup.thread.i ], [ %165, %if.then.i7.i ] + %second.i587 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i586, i64 40 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i593) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i594) + %_M_parent.i.i.i.i.i595 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i552, i64 56 + %172 = load ptr, ptr %_M_parent.i.i.i.i.i595, align 8 + %add.ptr.i.i.i.i596 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i552, i64 48 + %cmp.not5.i.i.i.i597 = icmp eq ptr %172, null + br i1 %cmp.not5.i.i.i.i597, label %if.then.i621, label %while.body.lr.ph.i.i.i.i598 + +while.body.lr.ph.i.i.i.i598: ; preds = %invoke.cont339 + %173 = load ptr, ptr %second.i587, align 8 + %bf.load3.i.i.i.i.i.i599 = load i64, ptr %173, align 8 + %bf.clear4.i.i.i.i.i.i600 = and i64 %bf.load3.i.i.i.i.i.i599, 1099511627775 + br label %while.body.i.i.i.i601 + +while.body.i.i.i.i601: ; preds = %while.body.i.i.i.i601, %while.body.lr.ph.i.i.i.i598 + %__x.addr.07.i.i.i.i602 = phi ptr [ %172, %while.body.lr.ph.i.i.i.i598 ], [ %__x.addr.1.i.i.i.i611, %while.body.i.i.i.i601 ] + %__y.addr.06.i.i.i.i603 = phi ptr [ %add.ptr.i.i.i.i596, %while.body.lr.ph.i.i.i.i598 ], [ %__y.addr.1.i.i.i.i608, %while.body.i.i.i.i601 ] + %_M_storage.i.i.i.i.i.i604 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i602, i64 32 + %174 = load ptr, ptr %_M_storage.i.i.i.i.i.i604, align 8 + %bf.load.i.i.i.i.i.i605 = load i64, ptr %174, align 8 + %bf.clear.i.i.i.i.i.i606 = and i64 %bf.load.i.i.i.i.i.i605, 1099511627775 + %cmp.i.i.i.i.i.i607 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i606, %bf.clear4.i.i.i.i.i.i600 + %__y.addr.1.i.i.i.i608 = select i1 %cmp.i.i.i.i.i.i607, ptr %__y.addr.06.i.i.i.i603, ptr %__x.addr.07.i.i.i.i602 + %__x.addr.1.in.v.i.i.i.i609 = select i1 %cmp.i.i.i.i.i.i607, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i610 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i602, i64 %__x.addr.1.in.v.i.i.i.i609 + %__x.addr.1.i.i.i.i611 = load ptr, ptr %__x.addr.1.in.i.i.i.i610, align 8 + %cmp.not.i.i.i.i612 = icmp eq ptr %__x.addr.1.i.i.i.i611, null + br i1 %cmp.not.i.i.i.i612, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEEiSt4lessIS3_ESaISt4pairIKS3_iEEE11lower_boundERS7_.exit.i, label %while.body.i.i.i.i601, !llvm.loop !233 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEEiSt4lessIS3_ESaISt4pairIKS3_iEEE11lower_boundERS7_.exit.i: ; preds = %while.body.i.i.i.i601 + %cmp.i.i613 = icmp eq ptr %__y.addr.1.i.i.i.i608, %add.ptr.i.i.i.i596 + br i1 %cmp.i.i613, label %if.then.i621, label %lor.rhs.i614 + +lor.rhs.i614: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEEiSt4lessIS3_ESaISt4pairIKS3_iEEE11lower_boundERS7_.exit.i + %_M_storage.i.i.i615 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i608, i64 32 + %175 = load ptr, ptr %_M_storage.i.i.i615, align 8 + %bf.load3.i.i.i616 = load i64, ptr %175, align 8 + %bf.clear4.i.i.i617 = and i64 %bf.load3.i.i.i616, 1099511627775 + %cmp.i.i.i618 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i600, %bf.clear4.i.i.i617 + br i1 %cmp.i.i.i618, label %if.then.i621, label %invoke.cont341 + +if.then.i621: ; preds = %lor.rhs.i614, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEEiSt4lessIS3_ESaISt4pairIKS3_iEEE11lower_boundERS7_.exit.i, %invoke.cont339 + %__y.addr.0.lcssa.i.i.i9.i622 = phi ptr [ %__y.addr.1.i.i.i.i608, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEEiSt4lessIS3_ESaISt4pairIKS3_iEEE11lower_boundERS7_.exit.i ], [ %__y.addr.1.i.i.i.i608, %lor.rhs.i614 ], [ %add.ptr.i.i.i.i596, %invoke.cont339 ] + store ptr %second.i587, ptr %ref.tmp9.i593, align 8 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %__z.i) + store ptr %second.i553, ptr %__z.i, align 8 + %call5.i.i.i.i.i.i1367 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #24 + to label %call5.i.i.i.i.i.i.noexc1366 unwind label %lpad336 + +call5.i.i.i.i.i.i.noexc1366: ; preds = %if.then.i621 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE17_M_construct_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESH_IJEEEEEvPSt13_Rb_tree_nodeIS6_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %second.i553, ptr noundef nonnull %call5.i.i.i.i.i.i1367, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i593, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i594) + to label %.noexc1368 unwind label %lpad336 + +.noexc1368: ; preds = %call5.i.i.i.i.i.i.noexc1366 + store ptr %call5.i.i.i.i.i.i1367, ptr %_M_node.i.i, align 8 + %_M_storage.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1367, i64 32 + %call8.i1345 = invoke { ptr, ptr } @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS6_ERS5_(ptr noundef nonnull align 8 dereferenceable(48) %second.i553, ptr %__y.addr.0.lcssa.i.i.i9.i622, ptr noundef nonnull align 8 dereferenceable(8) %_M_storage.i.i.i.i) + to label %invoke.cont7.i1346 unwind label %lpad.i + +invoke.cont7.i1346: ; preds = %.noexc1368 + %176 = extractvalue { ptr, ptr } %call8.i1345, 0 + %177 = extractvalue { ptr, ptr } %call8.i1345, 1 + %tobool.not.i1347 = icmp eq ptr %177, null + br i1 %tobool.not.i1347, label %if.then.i.i1363, label %if.then.i1348 + +if.then.i1348: ; preds = %invoke.cont7.i1346 + %cmp.not.i.i.i1349 = icmp ne ptr %176, null + %cmp2.i.i.i1351 = icmp eq ptr %177, %add.ptr.i.i.i.i596 + %or.cond.i.i.i1352 = select i1 %cmp.not.i.i.i1349, i1 true, i1 %cmp2.i.i.i1351 + br i1 %or.cond.i.i.i1352, label %cleanup.thread.i1360, label %lor.rhs.i.i.i1353 + +lor.rhs.i.i.i1353: ; preds = %if.then.i1348 + %_M_storage.i.i.i.i.i.i1354 = getelementptr inbounds i8, ptr %177, i64 32 + %178 = load ptr, ptr %_M_storage.i.i.i.i, align 8 + %bf.load.i.i.i.i.i1355 = load i64, ptr %178, align 8 + %bf.clear.i.i.i.i.i1356 = and i64 %bf.load.i.i.i.i.i1355, 1099511627775 + %179 = load ptr, ptr %_M_storage.i.i.i.i.i.i1354, align 8 + %bf.load3.i.i.i.i.i1357 = load i64, ptr %179, align 8 + %bf.clear4.i.i.i.i.i1358 = and i64 %bf.load3.i.i.i.i.i1357, 1099511627775 + %cmp.i.i.i.i.i1359 = icmp samesign ult i64 %bf.clear.i.i.i.i.i1356, %bf.clear4.i.i.i.i.i1358 + br label %cleanup.thread.i1360 + +cleanup.thread.i1360: ; preds = %lor.rhs.i.i.i1353, %if.then.i1348 + %180 = phi i1 [ true, %if.then.i1348 ], [ %cmp.i.i.i.i.i1359, %lor.rhs.i.i.i1353 ] + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %180, ptr noundef nonnull %call5.i.i.i.i.i.i1367, ptr noundef nonnull %177, ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i.i.i.i596) #23 + %_M_node_count.i.i.i1361 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i552, i64 80 + %181 = load i64, ptr %_M_node_count.i.i.i1361, align 8 + %inc.i.i.i1362 = add i64 %181, 1 + store i64 %inc.i.i.i1362, ptr %_M_node_count.i.i.i1361, align 8 + br label %call12.i.noexc623 + +lpad.i: ; preds = %.noexc1368 + %182 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %__z.i) #23 + br label %lpad336.body + +if.then.i.i1363: ; preds = %invoke.cont7.i1346 + %183 = load ptr, ptr %_M_storage.i.i.i.i, align 8 + %bf.load.i.i.i.i.i.i.i.i.i = load i64, ptr %183, align 8 + %184 = and i64 %bf.load.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i1364 = icmp eq i64 %184, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i1364, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit.i.i, label %if.then.i.i.i.i.i.i.i.i.i1365 + +if.then.i.i.i.i.i.i.i.i.i1365: ; preds = %if.then.i.i1363 + %bf.value.i.i.i.i.i.i.i.i.i = add i64 %bf.load.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i = and i64 %bf.value.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i.i.i.i.i, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i, %bf.clear7.i.i.i.i.i.i.i.i.i + store i64 %bf.set.i.i.i.i.i.i.i.i.i, ptr %183, align 8 + %cmp12.i.i.i.i.i.i.i.i.i = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i, label %if.then13.i.i.i.i.i.i.i.i.i, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit.i.i + +if.then13.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i1365 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %183) + to label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit.i.i unwind label %terminate.lpad.i.i.i.i.i.i.i.i + +terminate.lpad.i.i.i.i.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i.i.i + %185 = landingpad { ptr, i32 } + catch ptr null + %186 = extractvalue { ptr, i32 } %185, 0 + call void @__clang_call_terminate(ptr %186) #25 + unreachable + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit.i.i: ; preds = %if.then13.i.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i.i1365, %if.then.i.i1363 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1367) #26 + br label %call12.i.noexc623 + +call12.i.noexc623: ; preds = %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit.i.i, %cleanup.thread.i1360 + %retval.sroa.0.07.i = phi ptr [ %call5.i.i.i.i.i.i1367, %cleanup.thread.i1360 ], [ %176, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit.i.i ] + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %__z.i) + br label %invoke.cont341 + +invoke.cont341: ; preds = %call12.i.noexc623, %lor.rhs.i614 + %__i.sroa.0.0.i619 = phi ptr [ %retval.sroa.0.07.i, %call12.i.noexc623 ], [ %__y.addr.1.i.i.i.i608, %lor.rhs.i614 ] + %second.i620 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i619, i64 40 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i593) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i594) + store i32 2, ptr %second.i620, align 4 + %187 = load ptr, ptr %_M_parent.i.i.i.i.i561, align 8 + %cmp.not5.i.i.i.i629 = icmp eq ptr %187, null + br i1 %cmp.not5.i.i.i.i629, label %if.then.i654, label %while.body.lr.ph.i.i.i.i630 + +while.body.lr.ph.i.i.i.i630: ; preds = %invoke.cont341 + %188 = load ptr, ptr %n, align 8 + %bf.load3.i.i.i.i.i.i631 = load i64, ptr %188, align 8 + %bf.clear4.i.i.i.i.i.i632 = and i64 %bf.load3.i.i.i.i.i.i631, 1099511627775 + br label %while.body.i.i.i.i633 + +while.body.i.i.i.i633: ; preds = %while.body.i.i.i.i633, %while.body.lr.ph.i.i.i.i630 + %__x.addr.07.i.i.i.i634 = phi ptr [ %187, %while.body.lr.ph.i.i.i.i630 ], [ %__x.addr.1.i.i.i.i643, %while.body.i.i.i.i633 ] + %__y.addr.06.i.i.i.i635 = phi ptr [ %add.ptr.i.i.i.i562, %while.body.lr.ph.i.i.i.i630 ], [ %__y.addr.1.i.i.i.i640, %while.body.i.i.i.i633 ] + %_M_storage.i.i.i.i.i.i636 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i634, i64 32 + %189 = load ptr, ptr %_M_storage.i.i.i.i.i.i636, align 8 + %bf.load.i.i.i.i.i.i637 = load i64, ptr %189, align 8 + %bf.clear.i.i.i.i.i.i638 = and i64 %bf.load.i.i.i.i.i.i637, 1099511627775 + %cmp.i.i.i.i.i.i639 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i638, %bf.clear4.i.i.i.i.i.i632 + %__y.addr.1.i.i.i.i640 = select i1 %cmp.i.i.i.i.i.i639, ptr %__y.addr.06.i.i.i.i635, ptr %__x.addr.07.i.i.i.i634 + %__x.addr.1.in.v.i.i.i.i641 = select i1 %cmp.i.i.i.i.i.i639, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i642 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i634, i64 %__x.addr.1.in.v.i.i.i.i641 + %__x.addr.1.i.i.i.i643 = load ptr, ptr %__x.addr.1.in.i.i.i.i642, align 8 + %cmp.not.i.i.i.i644 = icmp eq ptr %__x.addr.1.i.i.i.i643, null + br i1 %cmp.not.i.i.i.i644, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i645, label %while.body.i.i.i.i633, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i645: ; preds = %while.body.i.i.i.i633 + %cmp.i.i646 = icmp eq ptr %__y.addr.1.i.i.i.i640, %add.ptr.i.i.i.i562 + br i1 %cmp.i.i646, label %if.then.i654, label %lor.rhs.i647 + +lor.rhs.i647: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i645 + %_M_storage.i.i.i648 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i640, i64 32 + %190 = load ptr, ptr %_M_storage.i.i.i648, align 8 + %bf.load3.i.i.i649 = load i64, ptr %190, align 8 + %bf.clear4.i.i.i650 = and i64 %bf.load3.i.i.i649, 1099511627775 + %cmp.i.i.i651 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i632, %bf.clear4.i.i.i650 + br i1 %cmp.i.i.i651, label %if.then.i654, label %invoke.cont343 + +if.then.i654: ; preds = %lor.rhs.i647, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i645, %invoke.cont341 + %__y.addr.0.lcssa.i.i.i9.i655 = phi ptr [ %__y.addr.1.i.i.i.i640, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i645 ], [ %__y.addr.1.i.i.i.i640, %lor.rhs.i647 ], [ %add.ptr.i.i.i.i562, %invoke.cont341 ] + %call5.i.i.i.i.i.i1403 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #24 + to label %call5.i.i.i.i.i.i.noexc1402 unwind label %lpad336 + +call5.i.i.i.i.i.i.noexc1402: ; preds = %if.then.i654 + %_M_storage.i.i.i.i.i1373 = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1403, i64 32 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1372) + store i64 %143, ptr %agg.tmp6.i.i.i.i.i.i1372, align 8 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1371) + invoke void @_ZNSt4pairIKN4cvc58internal12NodeTemplateILb1EEES3_EC2IJRS4_EJLm0EEJETpTnmJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE(ptr noundef nonnull align 8 dereferenceable(16) %_M_storage.i.i.i.i.i1373, ptr noundef nonnull align 8 dereferenceable(8) %agg.tmp6.i.i.i.i.i.i1372, ptr noundef nonnull align 1 dereferenceable(1) %__second.i.i.i.i.i.i.i1371) + to label %invoke.cont.i1380 unwind label %lpad.i.i.i.i1374 + +lpad.i.i.i.i1374: ; preds = %call5.i.i.i.i.i.i.noexc1402 + %191 = landingpad { ptr, i32 } + catch ptr null + %192 = extractvalue { ptr, i32 } %191, 0 + %193 = call ptr @__cxa_begin_catch(ptr %192) #23 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1403) #26 + invoke void @__cxa_rethrow() #29 + to label %unreachable.i.i.i.i1379 unwind label %lpad7.i.i.i.i1375 + +lpad7.i.i.i.i1375: ; preds = %lpad.i.i.i.i1374 + %194 = landingpad { ptr, i32 } + cleanup + invoke void @__cxa_end_catch() + to label %lpad336.body unwind label %terminate.lpad.i.i.i.i1376 + +terminate.lpad.i.i.i.i1376: ; preds = %lpad7.i.i.i.i1375 + %195 = landingpad { ptr, i32 } + catch ptr null + %196 = extractvalue { ptr, i32 } %195, 0 + call void @__clang_call_terminate(ptr %196) #25 + unreachable + +unreachable.i.i.i.i1379: ; preds = %lpad.i.i.i.i1374 + unreachable + +invoke.cont.i1380: ; preds = %call5.i.i.i.i.i.i.noexc1402 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1371) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1372) + %call8.i1381 = invoke { ptr, ptr } @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS6_ERS5_(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr %__y.addr.0.lcssa.i.i.i9.i655, ptr noundef nonnull align 8 dereferenceable(8) %_M_storage.i.i.i.i.i1373) + to label %invoke.cont7.i1383 unwind label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1382 + +invoke.cont7.i1383: ; preds = %invoke.cont.i1380 + %197 = extractvalue { ptr, ptr } %call8.i1381, 0 + %198 = extractvalue { ptr, ptr } %call8.i1381, 1 + %tobool.not.i1384 = icmp eq ptr %198, null + br i1 %tobool.not.i1384, label %if.then.i7.i1401, label %if.then.i1385 + +if.then.i1385: ; preds = %invoke.cont7.i1383 + %cmp.not.i.i.i1386 = icmp ne ptr %197, null + %cmp2.i.i.i1388 = icmp eq ptr %198, %add.ptr.i.i.i.i562 + %or.cond.i.i.i1389 = select i1 %cmp.not.i.i.i1386, i1 true, i1 %cmp2.i.i.i1388 + br i1 %or.cond.i.i.i1389, label %cleanup.thread.i1397, label %lor.rhs.i.i.i1390 + +lor.rhs.i.i.i1390: ; preds = %if.then.i1385 + %_M_storage.i.i.i.i.i.i1391 = getelementptr inbounds i8, ptr %198, i64 32 + %199 = load ptr, ptr %_M_storage.i.i.i.i.i1373, align 8 + %bf.load.i.i.i.i.i1392 = load i64, ptr %199, align 8 + %bf.clear.i.i.i.i.i1393 = and i64 %bf.load.i.i.i.i.i1392, 1099511627775 + %200 = load ptr, ptr %_M_storage.i.i.i.i.i.i1391, align 8 + %bf.load3.i.i.i.i.i1394 = load i64, ptr %200, align 8 + %bf.clear4.i.i.i.i.i1395 = and i64 %bf.load3.i.i.i.i.i1394, 1099511627775 + %cmp.i.i.i.i.i1396 = icmp samesign ult i64 %bf.clear.i.i.i.i.i1393, %bf.clear4.i.i.i.i.i1395 + br label %cleanup.thread.i1397 + +cleanup.thread.i1397: ; preds = %lor.rhs.i.i.i1390, %if.then.i1385 + %201 = phi i1 [ true, %if.then.i1385 ], [ %cmp.i.i.i.i.i1396, %lor.rhs.i.i.i1390 ] + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %201, ptr noundef nonnull %call5.i.i.i.i.i.i1403, ptr noundef nonnull %198, ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i.i.i.i562) #23 + %202 = load i64, ptr %_M_node_count.i.i.i1341, align 8 + %inc.i.i.i1399 = add i64 %202, 1 + store i64 %inc.i.i.i1399, ptr %_M_node_count.i.i.i1341, align 8 + br label %invoke.cont343 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1382: ; preds = %invoke.cont.i1380 + %203 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr noundef nonnull %call5.i.i.i.i.i.i1403) #23 + br label %lpad336.body + +if.then.i7.i1401: ; preds = %invoke.cont7.i1383 + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr noundef nonnull %call5.i.i.i.i.i.i1403) #23 + br label %invoke.cont343 + +invoke.cont343: ; preds = %lor.rhs.i647, %if.then.i7.i1401, %cleanup.thread.i1397 + %__i.sroa.0.0.i652 = phi ptr [ %__y.addr.1.i.i.i.i640, %lor.rhs.i647 ], [ %call5.i.i.i.i.i.i1403, %cleanup.thread.i1397 ], [ %197, %if.then.i7.i1401 ] + %second.i653 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i652, i64 40 + %204 = load ptr, ptr %_M_parent.i.i.i.i.i498, align 8 + %cmp.not5.i.i.i.i663 = icmp eq ptr %204, null + br i1 %cmp.not5.i.i.i.i663, label %if.then.i688, label %while.body.lr.ph.i.i.i.i664 + +while.body.lr.ph.i.i.i.i664: ; preds = %invoke.cont343 + %205 = load ptr, ptr %n, align 8 + %bf.load3.i.i.i.i.i.i665 = load i64, ptr %205, align 8 + %bf.clear4.i.i.i.i.i.i666 = and i64 %bf.load3.i.i.i.i.i.i665, 1099511627775 + br label %while.body.i.i.i.i667 + +while.body.i.i.i.i667: ; preds = %while.body.i.i.i.i667, %while.body.lr.ph.i.i.i.i664 + %__x.addr.07.i.i.i.i668 = phi ptr [ %204, %while.body.lr.ph.i.i.i.i664 ], [ %__x.addr.1.i.i.i.i677, %while.body.i.i.i.i667 ] + %__y.addr.06.i.i.i.i669 = phi ptr [ %142, %while.body.lr.ph.i.i.i.i664 ], [ %__y.addr.1.i.i.i.i674, %while.body.i.i.i.i667 ] + %_M_storage.i.i.i.i.i.i670 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i668, i64 32 + %206 = load ptr, ptr %_M_storage.i.i.i.i.i.i670, align 8 + %bf.load.i.i.i.i.i.i671 = load i64, ptr %206, align 8 + %bf.clear.i.i.i.i.i.i672 = and i64 %bf.load.i.i.i.i.i.i671, 1099511627775 + %cmp.i.i.i.i.i.i673 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i672, %bf.clear4.i.i.i.i.i.i666 + %__y.addr.1.i.i.i.i674 = select i1 %cmp.i.i.i.i.i.i673, ptr %__y.addr.06.i.i.i.i669, ptr %__x.addr.07.i.i.i.i668 + %__x.addr.1.in.v.i.i.i.i675 = select i1 %cmp.i.i.i.i.i.i673, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i676 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i668, i64 %__x.addr.1.in.v.i.i.i.i675 + %__x.addr.1.i.i.i.i677 = load ptr, ptr %__x.addr.1.in.i.i.i.i676, align 8 + %cmp.not.i.i.i.i678 = icmp eq ptr %__x.addr.1.i.i.i.i677, null + br i1 %cmp.not.i.i.i.i678, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i679, label %while.body.i.i.i.i667, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i679: ; preds = %while.body.i.i.i.i667 + %cmp.i.i680 = icmp eq ptr %__y.addr.1.i.i.i.i674, %142 + br i1 %cmp.i.i680, label %if.then.i688, label %lor.rhs.i681 + +lor.rhs.i681: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i679 + %__y.addr.1.i.i.i.i674.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i673, ptr %__y.addr.06.i.i.i.i669, ptr %__x.addr.07.i.i.i.i668 + %__y.addr.1.i.i.i.i674.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i674.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %207 = load ptr, ptr %__y.addr.1.i.i.i.i674.sroa.sel.v.sroa.sel.v.sroa.sel, align 8 + %bf.load3.i.i.i683 = load i64, ptr %207, align 8 + %bf.clear4.i.i.i684 = and i64 %bf.load3.i.i.i683, 1099511627775 + %cmp.i.i.i685 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i666, %bf.clear4.i.i.i684 + br i1 %cmp.i.i.i685, label %if.then.i688, label %invoke.cont345 + +if.then.i688: ; preds = %lor.rhs.i681, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i679, %invoke.cont343 + %__y.addr.0.lcssa.i.i.i9.i689 = phi ptr [ %__y.addr.1.i.i.i.i674, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i679 ], [ %__y.addr.1.i.i.i.i674, %lor.rhs.i681 ], [ %142, %invoke.cont343 ] + %call5.i.i.i.i.i.i1439 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #24 + to label %call5.i.i.i.i.i.i.noexc1438 unwind label %lpad336 + +call5.i.i.i.i.i.i.noexc1438: ; preds = %if.then.i688 + %_M_storage.i.i.i.i.i1409 = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1439, i64 32 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1408) + store i64 %143, ptr %agg.tmp6.i.i.i.i.i.i1408, align 8 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1407) + invoke void @_ZNSt4pairIKN4cvc58internal12NodeTemplateILb1EEES3_EC2IJRS4_EJLm0EEJETpTnmJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE(ptr noundef nonnull align 8 dereferenceable(16) %_M_storage.i.i.i.i.i1409, ptr noundef nonnull align 8 dereferenceable(8) %agg.tmp6.i.i.i.i.i.i1408, ptr noundef nonnull align 1 dereferenceable(1) %__second.i.i.i.i.i.i.i1407) + to label %invoke.cont.i1416 unwind label %lpad.i.i.i.i1410 + +lpad.i.i.i.i1410: ; preds = %call5.i.i.i.i.i.i.noexc1438 + %208 = landingpad { ptr, i32 } + catch ptr null + %209 = extractvalue { ptr, i32 } %208, 0 + %210 = call ptr @__cxa_begin_catch(ptr %209) #23 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1439) #26 + invoke void @__cxa_rethrow() #29 + to label %unreachable.i.i.i.i1415 unwind label %lpad7.i.i.i.i1411 + +lpad7.i.i.i.i1411: ; preds = %lpad.i.i.i.i1410 + %211 = landingpad { ptr, i32 } + cleanup + invoke void @__cxa_end_catch() + to label %lpad336.body unwind label %terminate.lpad.i.i.i.i1412 + +terminate.lpad.i.i.i.i1412: ; preds = %lpad7.i.i.i.i1411 + %212 = landingpad { ptr, i32 } + catch ptr null + %213 = extractvalue { ptr, i32 } %212, 0 + call void @__clang_call_terminate(ptr %213) #25 + unreachable + +unreachable.i.i.i.i1415: ; preds = %lpad.i.i.i.i1410 + unreachable + +invoke.cont.i1416: ; preds = %call5.i.i.i.i.i.i.noexc1438 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1407) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1408) + %call8.i1417 = invoke { ptr, ptr } @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS6_ERS5_(ptr noundef nonnull align 8 dereferenceable(48) %dni_rem, ptr %__y.addr.0.lcssa.i.i.i9.i689, ptr noundef nonnull align 8 dereferenceable(8) %_M_storage.i.i.i.i.i1409) + to label %invoke.cont7.i1419 unwind label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1418 + +invoke.cont7.i1419: ; preds = %invoke.cont.i1416 + %214 = extractvalue { ptr, ptr } %call8.i1417, 0 + %215 = extractvalue { ptr, ptr } %call8.i1417, 1 + %tobool.not.i1420 = icmp eq ptr %215, null + br i1 %tobool.not.i1420, label %if.then.i7.i1437, label %if.then.i1421 + +if.then.i1421: ; preds = %invoke.cont7.i1419 + %cmp.not.i.i.i1422 = icmp ne ptr %214, null + %cmp2.i.i.i1424 = icmp eq ptr %215, %142 + %or.cond.i.i.i1425 = or i1 %cmp.not.i.i.i1422, %cmp2.i.i.i1424 + br i1 %or.cond.i.i.i1425, label %cleanup.thread.i1433, label %lor.rhs.i.i.i1426 + +lor.rhs.i.i.i1426: ; preds = %if.then.i1421 + %_M_storage.i.i.i.i.i.i1427 = getelementptr inbounds i8, ptr %215, i64 32 + %216 = load ptr, ptr %_M_storage.i.i.i.i.i1409, align 8 + %bf.load.i.i.i.i.i1428 = load i64, ptr %216, align 8 + %bf.clear.i.i.i.i.i1429 = and i64 %bf.load.i.i.i.i.i1428, 1099511627775 + %217 = load ptr, ptr %_M_storage.i.i.i.i.i.i1427, align 8 + %bf.load3.i.i.i.i.i1430 = load i64, ptr %217, align 8 + %bf.clear4.i.i.i.i.i1431 = and i64 %bf.load3.i.i.i.i.i1430, 1099511627775 + %cmp.i.i.i.i.i1432 = icmp samesign ult i64 %bf.clear.i.i.i.i.i1429, %bf.clear4.i.i.i.i.i1431 + br label %cleanup.thread.i1433 + +cleanup.thread.i1433: ; preds = %lor.rhs.i.i.i1426, %if.then.i1421 + %218 = phi i1 [ true, %if.then.i1421 ], [ %cmp.i.i.i.i.i1432, %lor.rhs.i.i.i1426 ] + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %218, ptr noundef nonnull %call5.i.i.i.i.i.i1439, ptr noundef nonnull %215, ptr noundef nonnull align 8 dereferenceable(32) %142) #23 + %219 = load i64, ptr %_M_node_count.i.i.i.i.i501, align 8 + %inc.i.i.i1435 = add i64 %219, 1 + store i64 %inc.i.i.i1435, ptr %_M_node_count.i.i.i.i.i501, align 8 + br label %invoke.cont345 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1418: ; preds = %invoke.cont.i1416 + %220 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %dni_rem, ptr noundef nonnull %call5.i.i.i.i.i.i1439) #23 + br label %lpad336.body + +if.then.i7.i1437: ; preds = %invoke.cont7.i1419 + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %dni_rem, ptr noundef nonnull %call5.i.i.i.i.i.i1439) #23 + br label %invoke.cont345 + +invoke.cont345: ; preds = %lor.rhs.i681, %if.then.i7.i1437, %cleanup.thread.i1433 + %__i.sroa.0.0.i686 = phi ptr [ %__y.addr.1.i.i.i.i674, %lor.rhs.i681 ], [ %call5.i.i.i.i.i.i1439, %cleanup.thread.i1433 ], [ %214, %if.then.i7.i1437 ] + %second.i687 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i686, i64 40 + %221 = load ptr, ptr %second.i687, align 8 + %222 = load ptr, ptr %second.i653, align 8 + %cmp.not.i693 = icmp eq ptr %221, %222 + br i1 %cmp.not.i693, label %invoke.cont347, label %if.then.i694 + +if.then.i694: ; preds = %invoke.cont345 + %bf.load.i.i695 = load i64, ptr %221, align 8 + %223 = and i64 %bf.load.i.i695, 1152920405095219200 + %cmp.not.i.i696 = icmp eq i64 %223, 1152920405095219200 + br i1 %cmp.not.i.i696, label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i703, label %if.then.i.i697 + +if.then.i.i697: ; preds = %if.then.i694 + %bf.value.i.i698 = add i64 %bf.load.i.i695, 1152920405095219200 + %bf.shl.i.i699 = and i64 %bf.value.i.i698, 1152920405095219200 + %bf.clear7.i.i700 = and i64 %bf.load.i.i695, -1152920405095219201 + %bf.set.i.i701 = or disjoint i64 %bf.shl.i.i699, %bf.clear7.i.i700 + store i64 %bf.set.i.i701, ptr %221, align 8 + %cmp12.i.i702 = icmp eq i64 %bf.shl.i.i699, 0 + br i1 %cmp12.i.i702, label %if.then13.i.i717, label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i703 + +if.then13.i.i717: ; preds = %if.then.i.i697 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %221) + to label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i703 unwind label %lpad336 + +_ZN4cvc58internal4expr9NodeValue3decEv.exit.i703: ; preds = %if.then13.i.i717, %if.then.i.i697, %if.then.i694 + %224 = load ptr, ptr %second.i653, align 8 + store ptr %224, ptr %second.i687, align 8 + %bf.load.i2.i704 = load i64, ptr %224, align 8 + %bf.lshr.i.i705 = lshr i64 %bf.load.i2.i704, 40 + %225 = trunc nuw nsw i64 %bf.lshr.i.i705 to i32 + %bf.cast.i.i706 = and i32 %225, 1048575 + %cmp.i.i707 = icmp samesign ult i32 %bf.cast.i.i706, 1048574 + br i1 %cmp.i.i707, label %if.then.i5.i712, label %if.else.i.i708 + +if.then.i5.i712: ; preds = %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i703 + %bf.value.i6.i713 = add i64 %bf.load.i2.i704, 1099511627776 + %bf.shl.i7.i714 = and i64 %bf.value.i6.i713, 1152920405095219200 + %bf.clear7.i8.i715 = and i64 %bf.load.i2.i704, -1152920405095219201 + %bf.set.i9.i716 = or disjoint i64 %bf.shl.i7.i714, %bf.clear7.i8.i715 + store i64 %bf.set.i9.i716, ptr %224, align 8 + br label %invoke.cont347 + +if.else.i.i708: ; preds = %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i703 + %cmp12.i3.i709 = icmp eq i32 %bf.cast.i.i706, 1048574 + br i1 %cmp12.i3.i709, label %if.then13.i4.i710, label %invoke.cont347 + +if.then13.i4.i710: ; preds = %if.else.i.i708 + %bf.set23.i.i711 = or i64 %bf.load.i2.i704, 1152920405095219200 + store i64 %bf.set23.i.i711, ptr %224, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %224) + to label %invoke.cont347 unwind label %lpad336 + +invoke.cont347: ; preds = %if.else.i.i708, %if.then.i5.i712, %invoke.cont345, %if.then13.i4.i710 + %226 = load ptr, ptr %n, align 8 + %bf.load.i.i721 = load i64, ptr %226, align 8 + %227 = and i64 %bf.load.i.i721, 1152920405095219200 + %cmp.not.i.i722 = icmp eq i64 %227, 1152920405095219200 + br i1 %cmp.not.i.i722, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732, label %if.then.i.i723 + +if.then.i.i723: ; preds = %invoke.cont347 + %bf.value.i.i724 = add i64 %bf.load.i.i721, 1152920405095219200 + %bf.shl.i.i725 = and i64 %bf.value.i.i724, 1152920405095219200 + %bf.clear7.i.i726 = and i64 %bf.load.i.i721, -1152920405095219201 + %bf.set.i.i727 = or disjoint i64 %bf.shl.i.i725, %bf.clear7.i.i726 + store i64 %bf.set.i.i727, ptr %226, align 8 + %cmp12.i.i728 = icmp eq i64 %bf.shl.i.i725, 0 + br i1 %cmp12.i.i728, label %if.then13.i.i730, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732 + +if.then13.i.i730: ; preds = %if.then.i.i723 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %226) + to label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732 unwind label %terminate.lpad.i731 + +terminate.lpad.i731: ; preds = %if.then13.i.i730 + %228 = landingpad { ptr, i32 } + catch ptr null + %229 = extractvalue { ptr, i32 } %228, 0 + call void @__clang_call_terminate(ptr %229) #25 + unreachable + +_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732: ; preds = %invoke.cont347, %if.then.i.i723, %if.then13.i.i730 + %inc351 = add i32 %i322.01779, 1 + %conv324 = zext i32 %inc351 to i64 + %230 = load ptr, ptr %_M_finish.i493, align 8 + %231 = load ptr, ptr %second318, align 8 + %sub.ptr.lhs.cast.i504 = ptrtoint ptr %230 to i64 + %sub.ptr.rhs.cast.i505 = ptrtoint ptr %231 to i64 + %sub.ptr.sub.i506 = sub i64 %sub.ptr.lhs.cast.i504, %sub.ptr.rhs.cast.i505 + %sub.ptr.div.i507 = ashr exact i64 %sub.ptr.sub.i506, 3 + %cmp328 = icmp ugt i64 %sub.ptr.div.i507, %conv324 + br i1 %cmp328, label %for.body329, label %for.end352, !llvm.loop !280 + +lpad334: ; preds = %if.then13.i.i516 + %232 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup532 + +lpad336: ; preds = %if.then.i688, %if.then.i654, %call5.i.i.i.i.i.i.noexc1366, %if.then.i621, %if.then.i588, %if.then13.i4.i710, %if.then13.i.i717, %if.then.i554 + %233 = landingpad { ptr, i32 } + cleanup + br label %lpad336.body + +lpad336.body: ; preds = %lpad.i, %lpad336, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1418, %lpad7.i.i.i.i1411, %lpad7.i.i.i.i1375, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1382, %lpad7.i.i.i.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i + %eh.lpad-body1343 = phi { ptr, i32 } [ %171, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i ], [ %162, %lpad7.i.i.i.i ], [ %182, %lpad.i ], [ %203, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1382 ], [ %194, %lpad7.i.i.i.i1375 ], [ %233, %lpad336 ], [ %220, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1418 ], [ %211, %lpad7.i.i.i.i1411 ] + call void @_ZN4cvc58internal12NodeTemplateILb1EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %n) #23 + br label %ehcleanup532 + +for.end352: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732, %if.then321 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %split_new_part, i8 0, i64 24, i1 false) + invoke void @_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE9push_backERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %split_new_part, ptr noundef nonnull align 8 dereferenceable(24) %second318) + to label %invoke.cont356 unwind label %lpad355.loopexit.split-lp + +invoke.cont356: ; preds = %for.end352 + %234 = load ptr, ptr %second318, align 8 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i736) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i737) + %235 = load ptr, ptr %_M_parent.i.i.i.i.i26, align 8 + %cmp.not5.i.i.i.i740 = icmp eq ptr %235, null + br i1 %cmp.not5.i.i.i.i740, label %if.then.i765, label %while.body.lr.ph.i.i.i.i741 + +while.body.lr.ph.i.i.i.i741: ; preds = %invoke.cont356 + %236 = load ptr, ptr %234, align 8 + %bf.load3.i.i.i.i.i.i742 = load i64, ptr %236, align 8 + %bf.clear4.i.i.i.i.i.i743 = and i64 %bf.load3.i.i.i.i.i.i742, 1099511627775 + br label %while.body.i.i.i.i744 + +while.body.i.i.i.i744: ; preds = %while.body.i.i.i.i744, %while.body.lr.ph.i.i.i.i741 + %__x.addr.07.i.i.i.i745 = phi ptr [ %235, %while.body.lr.ph.i.i.i.i741 ], [ %__x.addr.1.i.i.i.i754, %while.body.i.i.i.i744 ] + %__y.addr.06.i.i.i.i746 = phi ptr [ %3, %while.body.lr.ph.i.i.i.i741 ], [ %__y.addr.1.i.i.i.i751, %while.body.i.i.i.i744 ] + %_M_storage.i.i.i.i.i.i747 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i745, i64 32 + %237 = load ptr, ptr %_M_storage.i.i.i.i.i.i747, align 8 + %bf.load.i.i.i.i.i.i748 = load i64, ptr %237, align 8 + %bf.clear.i.i.i.i.i.i749 = and i64 %bf.load.i.i.i.i.i.i748, 1099511627775 + %cmp.i.i.i.i.i.i750 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i749, %bf.clear4.i.i.i.i.i.i743 + %__y.addr.1.i.i.i.i751 = select i1 %cmp.i.i.i.i.i.i750, ptr %__y.addr.06.i.i.i.i746, ptr %__x.addr.07.i.i.i.i745 + %__x.addr.1.in.v.i.i.i.i752 = select i1 %cmp.i.i.i.i.i.i750, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i753 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i745, i64 %__x.addr.1.in.v.i.i.i.i752 + %__x.addr.1.i.i.i.i754 = load ptr, ptr %__x.addr.1.in.i.i.i.i753, align 8 + %cmp.not.i.i.i.i755 = icmp eq ptr %__x.addr.1.i.i.i.i754, null + br i1 %cmp.not.i.i.i.i755, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i756, label %while.body.i.i.i.i744, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i756: ; preds = %while.body.i.i.i.i744 + %cmp.i.i757 = icmp eq ptr %__y.addr.1.i.i.i.i751, %3 + br i1 %cmp.i.i757, label %if.then.i765, label %lor.rhs.i758 + +lor.rhs.i758: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i756 + %__y.addr.1.i.i.i.i751.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i750, ptr %__y.addr.06.i.i.i.i746, ptr %__x.addr.07.i.i.i.i745 + %__y.addr.1.i.i.i.i751.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i751.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %238 = load ptr, ptr %__y.addr.1.i.i.i.i751.sroa.sel.v.sroa.sel.v.sroa.sel, align 8 + %bf.load3.i.i.i760 = load i64, ptr %238, align 8 + %bf.clear4.i.i.i761 = and i64 %bf.load3.i.i.i760, 1099511627775 + %cmp.i.i.i762 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i743, %bf.clear4.i.i.i761 + br i1 %cmp.i.i.i762, label %if.then.i765, label %invoke.cont360 + +if.then.i765: ; preds = %lor.rhs.i758, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i756, %invoke.cont356 + %__y.addr.0.lcssa.i.i.i9.i766 = phi ptr [ %__y.addr.1.i.i.i.i751, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i756 ], [ %__y.addr.1.i.i.i.i751, %lor.rhs.i758 ], [ %3, %invoke.cont356 ] + store ptr %234, ptr %ref.tmp9.i736, align 8 + %call12.i768 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESH_IJEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %cn_cons, ptr %__y.addr.0.lcssa.i.i.i9.i766, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i736, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i737) + to label %invoke.cont360 unwind label %lpad355.loopexit.split-lp + +invoke.cont360: ; preds = %lor.rhs.i758, %if.then.i765 + %__i.sroa.0.0.i763 = phi ptr [ %__y.addr.1.i.i.i.i751, %lor.rhs.i758 ], [ %call12.i768, %if.then.i765 ] + %second.i764 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i763, i64 40 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i736) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i737) + %239 = load ptr, ptr %second.i764, align 8 + %d_kind.i.i.i.i = getelementptr inbounds i8, ptr %239, i64 8 + %bf.load.i.i.i.i = load i16, ptr %d_kind.i.i.i.i, align 8 + %bf.clear.i.i.i.i = and i16 %bf.load.i.i.i.i, 1023 + %bf.cast.i.i.i.i = zext nneg i16 %bf.clear.i.i.i.i to i32 + %cmp.i.i.i.i.i770 = icmp eq i16 %bf.clear.i.i.i.i, 1023 + %cond.i.i.i.i.i = select i1 %cmp.i.i.i.i.i770, i32 -1, i32 %bf.cast.i.i.i.i + %call2.i.i.i773 = invoke noundef i32 @_ZN4cvc58internal4kind10metaKindOfENS1_6Kind_tE(i32 noundef %cond.i.i.i.i.i) + to label %invoke.cont362 unwind label %lpad355.loopexit.split-lp + +invoke.cont362: ; preds = %invoke.cont360 + %cmp.i.i771 = icmp eq i32 %call2.i.i.i773, 2 + %d_nchildren.i.i = getelementptr inbounds i8, ptr %239, i64 12 + %bf.load.i.i772 = load i32, ptr %d_nchildren.i.i, align 4 + %bf.clear.i.i = and i32 %bf.load.i.i772, 67108863 + %sub.i.i = sext i1 %cmp.i.i771 to i32 + %cond.i.i = add nsw i32 %bf.clear.i.i, %sub.i.i + %cmp3651799.not = icmp eq i32 %cond.i.i, 0 + br i1 %cmp3651799.not, label %while.end, label %land.rhs + +land.rhs: ; preds = %invoke.cont362, %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1120 + %cindex.01800 = phi i32 [ %inc493, %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1120 ], [ 0, %invoke.cont362 ] + %240 = load ptr, ptr %split_new_part, align 8 + %241 = load ptr, ptr %_M_finish.i.i774, align 8 + %cmp.i.i775 = icmp eq ptr %240, %241 + br i1 %cmp.i.i775, label %while.end, label %for.cond400.preheader.preheader + +lpad355.loopexit: ; preds = %if.then.i1199 + %lpad.loopexit1600 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup531 + +lpad355.loopexit.split-lp: ; preds = %for.end352, %if.then.i765, %invoke.cont360, %while.end + %lpad.loopexit.split-lp1601 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup531 + +for.cond400.preheader.preheader: ; preds = %land.rhs + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %next_split_new_part, i8 0, i64 24, i1 false) + br label %for.cond400.preheader + +for.cond400.preheader: ; preds = %for.cond400.preheader.preheader, %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit + %242 = phi ptr [ %367, %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit ], [ %240, %for.cond400.preheader.preheader ] + %conv3961796 = phi i64 [ %conv396, %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit ], [ 0, %for.cond400.preheader.preheader ] + %j394.01795 = phi i32 [ %inc474, %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit ], [ 0, %for.cond400.preheader.preheader ] + %add.ptr.i7811781 = getelementptr inbounds %"class.std::vector.525", ptr %242, i64 %conv3961796 + %_M_finish.i7821782 = getelementptr inbounds i8, ptr %add.ptr.i7811781, i64 8 + %243 = load ptr, ptr %_M_finish.i7821782, align 8 + %244 = load ptr, ptr %add.ptr.i7811781, align 8 + %cmp4051787.not = icmp eq ptr %243, %244 + br i1 %cmp4051787.not, label %for.end449, label %for.body406 + +for.body406: ; preds = %for.cond400.preheader, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019 + %245 = phi ptr [ %341, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019 ], [ %244, %for.cond400.preheader ] + %conv4011789 = phi i64 [ %conv401, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019 ], [ 0, %for.cond400.preheader ] + %k.01788 = phi i32 [ %inc448, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019 ], [ 0, %for.cond400.preheader ] + %add.ptr.i788 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %245, i64 %conv4011789 + %246 = load ptr, ptr %add.ptr.i788, align 8 + store ptr %246, ptr %n407, align 8 + %bf.load.i.i789 = load i64, ptr %246, align 8 + %bf.lshr.i.i790 = lshr i64 %bf.load.i.i789, 40 + %247 = trunc nuw nsw i64 %bf.lshr.i.i790 to i32 + %bf.cast.i.i791 = and i32 %247, 1048575 + %cmp.i.i792 = icmp samesign ult i32 %bf.cast.i.i791, 1048574 + br i1 %cmp.i.i792, label %if.then.i.i797, label %if.else.i.i793 + +if.then.i.i797: ; preds = %for.body406 + %bf.value.i.i798 = add i64 %bf.load.i.i789, 1099511627776 + %bf.shl.i.i799 = and i64 %bf.value.i.i798, 1152920405095219200 + %bf.clear7.i.i800 = and i64 %bf.load.i.i789, -1152920405095219201 + %bf.set.i.i801 = or disjoint i64 %bf.shl.i.i799, %bf.clear7.i.i800 + store i64 %bf.set.i.i801, ptr %246, align 8 + br label %invoke.cont413 + +if.else.i.i793: ; preds = %for.body406 + %cmp12.i.i794 = icmp eq i32 %bf.cast.i.i791, 1048574 + br i1 %cmp12.i.i794, label %if.then13.i.i795, label %invoke.cont413 + +if.then13.i.i795: ; preds = %if.else.i.i793 + %bf.set23.i.i796 = or i64 %bf.load.i.i789, 1152920405095219200 + store i64 %bf.set23.i.i796, ptr %246, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %246) + to label %invoke.cont413 unwind label %lpad412.loopexit + +invoke.cont413: ; preds = %if.else.i.i793, %if.then.i.i797, %if.then13.i.i795 + %248 = load ptr, ptr %_M_parent.i.i.i.i.i26, align 8 + %cmp.not5.i.i.i.i808 = icmp eq ptr %248, null + br i1 %cmp.not5.i.i.i.i808, label %if.then.i833, label %while.body.lr.ph.i.i.i.i809 + +while.body.lr.ph.i.i.i.i809: ; preds = %invoke.cont413 + %249 = load ptr, ptr %n407, align 8 + %bf.load3.i.i.i.i.i.i810 = load i64, ptr %249, align 8 + %bf.clear4.i.i.i.i.i.i811 = and i64 %bf.load3.i.i.i.i.i.i810, 1099511627775 + br label %while.body.i.i.i.i812 + +while.body.i.i.i.i812: ; preds = %while.body.i.i.i.i812, %while.body.lr.ph.i.i.i.i809 + %__x.addr.07.i.i.i.i813 = phi ptr [ %248, %while.body.lr.ph.i.i.i.i809 ], [ %__x.addr.1.i.i.i.i822, %while.body.i.i.i.i812 ] + %__y.addr.06.i.i.i.i814 = phi ptr [ %3, %while.body.lr.ph.i.i.i.i809 ], [ %__y.addr.1.i.i.i.i819, %while.body.i.i.i.i812 ] + %_M_storage.i.i.i.i.i.i815 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i813, i64 32 + %250 = load ptr, ptr %_M_storage.i.i.i.i.i.i815, align 8 + %bf.load.i.i.i.i.i.i816 = load i64, ptr %250, align 8 + %bf.clear.i.i.i.i.i.i817 = and i64 %bf.load.i.i.i.i.i.i816, 1099511627775 + %cmp.i.i.i.i.i.i818 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i817, %bf.clear4.i.i.i.i.i.i811 + %__y.addr.1.i.i.i.i819 = select i1 %cmp.i.i.i.i.i.i818, ptr %__y.addr.06.i.i.i.i814, ptr %__x.addr.07.i.i.i.i813 + %__x.addr.1.in.v.i.i.i.i820 = select i1 %cmp.i.i.i.i.i.i818, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i821 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i813, i64 %__x.addr.1.in.v.i.i.i.i820 + %__x.addr.1.i.i.i.i822 = load ptr, ptr %__x.addr.1.in.i.i.i.i821, align 8 + %cmp.not.i.i.i.i823 = icmp eq ptr %__x.addr.1.i.i.i.i822, null + br i1 %cmp.not.i.i.i.i823, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i824, label %while.body.i.i.i.i812, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i824: ; preds = %while.body.i.i.i.i812 + %cmp.i.i825 = icmp eq ptr %__y.addr.1.i.i.i.i819, %3 + br i1 %cmp.i.i825, label %if.then.i833, label %lor.rhs.i826 + +lor.rhs.i826: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i824 + %__y.addr.1.i.i.i.i819.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i818, ptr %__y.addr.06.i.i.i.i814, ptr %__x.addr.07.i.i.i.i813 + %__y.addr.1.i.i.i.i819.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i819.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %251 = load ptr, ptr %__y.addr.1.i.i.i.i819.sroa.sel.v.sroa.sel.v.sroa.sel, align 8 + %bf.load3.i.i.i828 = load i64, ptr %251, align 8 + %bf.clear4.i.i.i829 = and i64 %bf.load3.i.i.i828, 1099511627775 + %cmp.i.i.i830 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i811, %bf.clear4.i.i.i829 + br i1 %cmp.i.i.i830, label %if.then.i833, label %invoke.cont415 + +if.then.i833: ; preds = %lor.rhs.i826, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i824, %invoke.cont413 + %__y.addr.0.lcssa.i.i.i9.i834 = phi ptr [ %__y.addr.1.i.i.i.i819, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i824 ], [ %__y.addr.1.i.i.i.i819, %lor.rhs.i826 ], [ %3, %invoke.cont413 ] + %call5.i.i.i.i.i.i1475 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #24 + to label %call5.i.i.i.i.i.i.noexc1474 unwind label %lpad414 + +call5.i.i.i.i.i.i.noexc1474: ; preds = %if.then.i833 + %_M_storage.i.i.i.i.i1445 = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1475, i64 32 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1444) + store i64 %144, ptr %agg.tmp6.i.i.i.i.i.i1444, align 8 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1443) + invoke void @_ZNSt4pairIKN4cvc58internal12NodeTemplateILb1EEES3_EC2IJRS4_EJLm0EEJETpTnmJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE(ptr noundef nonnull align 8 dereferenceable(16) %_M_storage.i.i.i.i.i1445, ptr noundef nonnull align 8 dereferenceable(8) %agg.tmp6.i.i.i.i.i.i1444, ptr noundef nonnull align 1 dereferenceable(1) %__second.i.i.i.i.i.i.i1443) + to label %invoke.cont.i1452 unwind label %lpad.i.i.i.i1446 + +lpad.i.i.i.i1446: ; preds = %call5.i.i.i.i.i.i.noexc1474 + %252 = landingpad { ptr, i32 } + catch ptr null + %253 = extractvalue { ptr, i32 } %252, 0 + %254 = call ptr @__cxa_begin_catch(ptr %253) #23 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1475) #26 + invoke void @__cxa_rethrow() #29 + to label %unreachable.i.i.i.i1451 unwind label %lpad7.i.i.i.i1447 + +lpad7.i.i.i.i1447: ; preds = %lpad.i.i.i.i1446 + %255 = landingpad { ptr, i32 } + cleanup + invoke void @__cxa_end_catch() + to label %ehcleanup446 unwind label %terminate.lpad.i.i.i.i1448 + +terminate.lpad.i.i.i.i1448: ; preds = %lpad7.i.i.i.i1447 + %256 = landingpad { ptr, i32 } + catch ptr null + %257 = extractvalue { ptr, i32 } %256, 0 + call void @__clang_call_terminate(ptr %257) #25 + unreachable + +unreachable.i.i.i.i1451: ; preds = %lpad.i.i.i.i1446 + unreachable + +invoke.cont.i1452: ; preds = %call5.i.i.i.i.i.i.noexc1474 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1443) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1444) + %call8.i1453 = invoke { ptr, ptr } @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS6_ERS5_(ptr noundef nonnull align 8 dereferenceable(48) %cn_cons, ptr %__y.addr.0.lcssa.i.i.i9.i834, ptr noundef nonnull align 8 dereferenceable(8) %_M_storage.i.i.i.i.i1445) + to label %invoke.cont7.i1455 unwind label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1454 + +invoke.cont7.i1455: ; preds = %invoke.cont.i1452 + %258 = extractvalue { ptr, ptr } %call8.i1453, 0 + %259 = extractvalue { ptr, ptr } %call8.i1453, 1 + %tobool.not.i1456 = icmp eq ptr %259, null + br i1 %tobool.not.i1456, label %if.then.i7.i1473, label %if.then.i1457 + +if.then.i1457: ; preds = %invoke.cont7.i1455 + %cmp.not.i.i.i1458 = icmp ne ptr %258, null + %cmp2.i.i.i1460 = icmp eq ptr %259, %3 + %or.cond.i.i.i1461 = or i1 %cmp.not.i.i.i1458, %cmp2.i.i.i1460 + br i1 %or.cond.i.i.i1461, label %cleanup.thread.i1469, label %lor.rhs.i.i.i1462 + +lor.rhs.i.i.i1462: ; preds = %if.then.i1457 + %_M_storage.i.i.i.i.i.i1463 = getelementptr inbounds i8, ptr %259, i64 32 + %260 = load ptr, ptr %_M_storage.i.i.i.i.i1445, align 8 + %bf.load.i.i.i.i.i1464 = load i64, ptr %260, align 8 + %bf.clear.i.i.i.i.i1465 = and i64 %bf.load.i.i.i.i.i1464, 1099511627775 + %261 = load ptr, ptr %_M_storage.i.i.i.i.i.i1463, align 8 + %bf.load3.i.i.i.i.i1466 = load i64, ptr %261, align 8 + %bf.clear4.i.i.i.i.i1467 = and i64 %bf.load3.i.i.i.i.i1466, 1099511627775 + %cmp.i.i.i.i.i1468 = icmp samesign ult i64 %bf.clear.i.i.i.i.i1465, %bf.clear4.i.i.i.i.i1467 + br label %cleanup.thread.i1469 + +cleanup.thread.i1469: ; preds = %lor.rhs.i.i.i1462, %if.then.i1457 + %262 = phi i1 [ true, %if.then.i1457 ], [ %cmp.i.i.i.i.i1468, %lor.rhs.i.i.i1462 ] + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %262, ptr noundef nonnull %call5.i.i.i.i.i.i1475, ptr noundef nonnull %259, ptr noundef nonnull align 8 dereferenceable(32) %3) #23 + %263 = load i64, ptr %_M_node_count.i.i.i.i.i29, align 8 + %inc.i.i.i1471 = add i64 %263, 1 + store i64 %inc.i.i.i1471, ptr %_M_node_count.i.i.i.i.i29, align 8 + br label %invoke.cont415 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1454: ; preds = %invoke.cont.i1452 + %264 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn_cons, ptr noundef nonnull %call5.i.i.i.i.i.i1475) #23 + br label %ehcleanup446 + +if.then.i7.i1473: ; preds = %invoke.cont7.i1455 + %second.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1475, i64 40 + %265 = load ptr, ptr %second.i.i.i.i.i, align 8 + %bf.load.i.i.i.i.i.i.i1536 = load i64, ptr %265, align 8 + %266 = and i64 %bf.load.i.i.i.i.i.i.i1536, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i1537 = icmp eq i64 %266, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i1537, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i1538 + +if.then.i.i.i.i.i.i.i1538: ; preds = %if.then.i7.i1473 + %bf.value.i.i.i.i.i.i.i1539 = add i64 %bf.load.i.i.i.i.i.i.i1536, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i1540 = and i64 %bf.value.i.i.i.i.i.i.i1539, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i1541 = and i64 %bf.load.i.i.i.i.i.i.i1536, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i1542 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i1540, %bf.clear7.i.i.i.i.i.i.i1541 + store i64 %bf.set.i.i.i.i.i.i.i1542, ptr %265, align 8 + %cmp12.i.i.i.i.i.i.i1543 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i1540, 0 + br i1 %cmp12.i.i.i.i.i.i.i1543, label %if.then13.i.i.i.i.i.i.i1544, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i + +if.then13.i.i.i.i.i.i.i1544: ; preds = %if.then.i.i.i.i.i.i.i1538 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %265) + to label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i unwind label %terminate.lpad.i.i.i.i.i.i1545 + +terminate.lpad.i.i.i.i.i.i1545: ; preds = %if.then13.i.i.i.i.i.i.i1544 + %267 = landingpad { ptr, i32 } + catch ptr null + %268 = extractvalue { ptr, i32 } %267, 0 + call void @__clang_call_terminate(ptr %268) #25 + unreachable + +_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i1544, %if.then.i.i.i.i.i.i.i1538, %if.then.i7.i1473 + %269 = load ptr, ptr %_M_storage.i.i.i.i.i1445, align 8 + %bf.load.i.i1.i.i.i.i.i = load i64, ptr %269, align 8 + %270 = and i64 %bf.load.i.i1.i.i.i.i.i, 1152920405095219200 + %cmp.not.i.i2.i.i.i.i.i = icmp eq i64 %270, 1152920405095219200 + br i1 %cmp.not.i.i2.i.i.i.i.i, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit, label %if.then.i.i3.i.i.i.i.i + +if.then.i.i3.i.i.i.i.i: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i + %bf.value.i.i4.i.i.i.i.i = add i64 %bf.load.i.i1.i.i.i.i.i, 1152920405095219200 + %bf.shl.i.i5.i.i.i.i.i = and i64 %bf.value.i.i4.i.i.i.i.i, 1152920405095219200 + %bf.clear7.i.i6.i.i.i.i.i = and i64 %bf.load.i.i1.i.i.i.i.i, -1152920405095219201 + %bf.set.i.i7.i.i.i.i.i = or disjoint i64 %bf.shl.i.i5.i.i.i.i.i, %bf.clear7.i.i6.i.i.i.i.i + store i64 %bf.set.i.i7.i.i.i.i.i, ptr %269, align 8 + %cmp12.i.i8.i.i.i.i.i = icmp eq i64 %bf.shl.i.i5.i.i.i.i.i, 0 + br i1 %cmp12.i.i8.i.i.i.i.i, label %if.then13.i.i9.i.i.i.i.i, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit + +if.then13.i.i9.i.i.i.i.i: ; preds = %if.then.i.i3.i.i.i.i.i + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %269) + to label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit unwind label %terminate.lpad.i10.i.i.i.i.i + +terminate.lpad.i10.i.i.i.i.i: ; preds = %if.then13.i.i9.i.i.i.i.i + %271 = landingpad { ptr, i32 } + catch ptr null + %272 = extractvalue { ptr, i32 } %271, 0 + call void @__clang_call_terminate(ptr %272) #25 + unreachable + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i, %if.then.i.i3.i.i.i.i.i, %if.then13.i.i9.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1475) #26 + br label %invoke.cont415 + +invoke.cont415: ; preds = %lor.rhs.i826, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit, %cleanup.thread.i1469 + %__i.sroa.0.0.i831 = phi ptr [ %__y.addr.1.i.i.i.i819, %lor.rhs.i826 ], [ %call5.i.i.i.i.i.i1475, %cleanup.thread.i1469 ], [ %258, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit ] + %second.i832 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i831, i64 40 + %273 = load ptr, ptr %second.i832, align 8, !noalias !433 + %d_kind.i.i.i.i838 = getelementptr inbounds i8, ptr %273, i64 8 + %bf.load.i.i.i.i839 = load i16, ptr %d_kind.i.i.i.i838, align 8, !noalias !433 + %bf.clear.i.i.i.i840 = and i16 %bf.load.i.i.i.i839, 1023 + %bf.cast.i.i.i.i841 = zext nneg i16 %bf.clear.i.i.i.i840 to i32 + %cmp.i.i.i.i.i842 = icmp eq i16 %bf.clear.i.i.i.i840, 1023 + %cond.i.i.i.i.i843 = select i1 %cmp.i.i.i.i.i842, i32 -1, i32 %bf.cast.i.i.i.i841 + %call2.i.i.i848 = invoke noundef i32 @_ZN4cvc58internal4kind10metaKindOfENS1_6Kind_tE(i32 noundef %cond.i.i.i.i.i843) + to label %call2.i.i.i.noexc unwind label %lpad414 + +call2.i.i.i.noexc: ; preds = %invoke.cont415 + %cmp.i.i844 = icmp eq i32 %call2.i.i.i848, 2 + %inc.i.i = zext i1 %cmp.i.i844 to i32 + %spec.select.i.i845 = add nsw i32 %cindex.01800, %inc.i.i + %d_children.i.i = getelementptr inbounds i8, ptr %273, i64 16 + %idxprom.i.i = sext i32 %spec.select.i.i845 to i64 + %arrayidx.i.i = getelementptr inbounds [0 x ptr], ptr %d_children.i.i, i64 0, i64 %idxprom.i.i + %274 = load ptr, ptr %arrayidx.i.i, align 8, !noalias !433 + %bf.load.i.i.i = load i64, ptr %274, align 8, !noalias !433 + %bf.lshr.i.i.i = lshr i64 %bf.load.i.i.i, 40 + %275 = trunc nuw nsw i64 %bf.lshr.i.i.i to i32 + %bf.cast.i.i.i = and i32 %275, 1048575 + %cmp.i.i.i846 = icmp samesign ult i32 %bf.cast.i.i.i, 1048574 + br i1 %cmp.i.i.i846, label %if.then.i.i.i847, label %if.else.i.i.i + +if.then.i.i.i847: ; preds = %call2.i.i.i.noexc + %bf.value.i.i.i = add i64 %bf.load.i.i.i, 1099511627776 + %bf.shl.i.i.i = and i64 %bf.value.i.i.i, 1152920405095219200 + %bf.clear7.i.i.i = and i64 %bf.load.i.i.i, -1152920405095219201 + %bf.set.i.i.i = or disjoint i64 %bf.shl.i.i.i, %bf.clear7.i.i.i + store i64 %bf.set.i.i.i, ptr %274, align 8, !noalias !433 + br label %invoke.cont417 + +if.else.i.i.i: ; preds = %call2.i.i.i.noexc + %cmp12.i.i.i = icmp eq i32 %bf.cast.i.i.i, 1048574 + br i1 %cmp12.i.i.i, label %if.then13.i.i.i, label %invoke.cont417 + +if.then13.i.i.i: ; preds = %if.else.i.i.i + %bf.set23.i.i.i = or i64 %bf.load.i.i.i, 1152920405095219200 + store i64 %bf.set23.i.i.i, ptr %274, align 8, !noalias !433 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %274) + to label %invoke.cont417 unwind label %lpad414 + +invoke.cont417: ; preds = %if.else.i.i.i, %if.then.i.i.i847, %if.then13.i.i.i + call void @llvm.experimental.noalias.scope.decl(metadata !436) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + %276 = load ptr, ptr %d_equalityEngine.i, align 8, !noalias !436 + store ptr %274, ptr %agg.tmp.i, align 8, !noalias !436 + %call.i850852 = invoke noundef zeroext i1 @_ZNK4cvc58internal6theory2eq14EqualityEngine7hasTermENS0_12NodeTemplateILb0EEE(ptr noundef nonnull align 8 dereferenceable(1784) %276, ptr noundef nonnull %agg.tmp.i) + to label %call.i850.noexc unwind label %lpad422 + +call.i850.noexc: ; preds = %invoke.cont417 + br i1 %call.i850852, label %if.then.i851, label %if.end.i + +if.then.i851: ; preds = %call.i850.noexc + %277 = load ptr, ptr %d_equalityEngine.i, align 8, !noalias !436 + store ptr %274, ptr %agg.tmp3.i, align 8, !noalias !436 + invoke void @_ZNK4cvc58internal6theory2eq14EqualityEngine17getRepresentativeENS0_12NodeTemplateILb0EEE(ptr nonnull sret(%"class.cvc5::internal::NodeTemplate.733") align 8 %ref.tmp418, ptr noundef nonnull align 8 dereferenceable(1784) %277, ptr noundef nonnull %agg.tmp3.i) + to label %if.then.i851.invoke.cont423_crit_edge unwind label %lpad422 + +if.then.i851.invoke.cont423_crit_edge: ; preds = %if.then.i851 + %.pre1850 = load ptr, ptr %ref.tmp418, align 8 + br label %invoke.cont423 + +if.end.i: ; preds = %call.i850.noexc + store ptr %274, ptr %ref.tmp418, align 8, !alias.scope !436 + br label %invoke.cont423 + +invoke.cont423: ; preds = %if.then.i851.invoke.cont423_crit_edge, %if.end.i + %278 = phi ptr [ %.pre1850, %if.then.i851.invoke.cont423_crit_edge ], [ %274, %if.end.i ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + %bf.load.i.i854 = load i64, ptr %278, align 8 + %bf.lshr.i.i855 = lshr i64 %bf.load.i.i854, 40 + %279 = trunc nuw nsw i64 %bf.lshr.i.i855 to i32 + %bf.cast.i.i856 = and i32 %279, 1048575 + %cmp.i.i857 = icmp samesign ult i32 %bf.cast.i.i856, 1048574 + br i1 %cmp.i.i857, label %if.then.i.i862, label %if.else.i.i858 + +if.then.i.i862: ; preds = %invoke.cont423 + %bf.value.i.i863 = add i64 %bf.load.i.i854, 1099511627776 + %bf.shl.i.i864 = and i64 %bf.value.i.i863, 1152920405095219200 + %bf.clear7.i.i865 = and i64 %bf.load.i.i854, -1152920405095219201 + %bf.set.i.i866 = or disjoint i64 %bf.shl.i.i864, %bf.clear7.i.i865 + store i64 %bf.set.i.i866, ptr %278, align 8 + br label %invoke.cont425 + +if.else.i.i858: ; preds = %invoke.cont423 + %cmp12.i.i859 = icmp eq i32 %bf.cast.i.i856, 1048574 + br i1 %cmp12.i.i859, label %if.then13.i.i860, label %invoke.cont425 + +if.then13.i.i860: ; preds = %if.else.i.i858 + %bf.set23.i.i861 = or i64 %bf.load.i.i854, 1152920405095219200 + store i64 %bf.set23.i.i861, ptr %278, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %278) + to label %invoke.cont425 unwind label %lpad424 + +invoke.cont425: ; preds = %if.else.i.i858, %if.then.i.i862, %if.then13.i.i860 + %280 = load ptr, ptr %_M_parent.i.i.i.i.i561, align 8 + %cmp.not5.i.i.i.i873 = icmp eq ptr %280, null + br i1 %cmp.not5.i.i.i.i873, label %if.then.i899, label %while.body.lr.ph.i.i.i.i874 + +while.body.lr.ph.i.i.i.i874: ; preds = %invoke.cont425 + %281 = load ptr, ptr %n407, align 8 + %bf.load3.i.i.i.i.i.i875 = load i64, ptr %281, align 8 + %bf.clear4.i.i.i.i.i.i876 = and i64 %bf.load3.i.i.i.i.i.i875, 1099511627775 + br label %while.body.i.i.i.i877 + +while.body.i.i.i.i877: ; preds = %while.body.i.i.i.i877, %while.body.lr.ph.i.i.i.i874 + %__x.addr.07.i.i.i.i878 = phi ptr [ %280, %while.body.lr.ph.i.i.i.i874 ], [ %__x.addr.1.i.i.i.i887, %while.body.i.i.i.i877 ] + %__y.addr.06.i.i.i.i879 = phi ptr [ %add.ptr.i.i.i.i562, %while.body.lr.ph.i.i.i.i874 ], [ %__y.addr.1.i.i.i.i884, %while.body.i.i.i.i877 ] + %_M_storage.i.i.i.i.i.i880 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i878, i64 32 + %282 = load ptr, ptr %_M_storage.i.i.i.i.i.i880, align 8 + %bf.load.i.i.i.i.i.i881 = load i64, ptr %282, align 8 + %bf.clear.i.i.i.i.i.i882 = and i64 %bf.load.i.i.i.i.i.i881, 1099511627775 + %cmp.i.i.i.i.i.i883 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i882, %bf.clear4.i.i.i.i.i.i876 + %__y.addr.1.i.i.i.i884 = select i1 %cmp.i.i.i.i.i.i883, ptr %__y.addr.06.i.i.i.i879, ptr %__x.addr.07.i.i.i.i878 + %__x.addr.1.in.v.i.i.i.i885 = select i1 %cmp.i.i.i.i.i.i883, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i886 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i878, i64 %__x.addr.1.in.v.i.i.i.i885 + %__x.addr.1.i.i.i.i887 = load ptr, ptr %__x.addr.1.in.i.i.i.i886, align 8 + %cmp.not.i.i.i.i888 = icmp eq ptr %__x.addr.1.i.i.i.i887, null + br i1 %cmp.not.i.i.i.i888, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i889, label %while.body.i.i.i.i877, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i889: ; preds = %while.body.i.i.i.i877 + %cmp.i.i890 = icmp eq ptr %__y.addr.1.i.i.i.i884, %add.ptr.i.i.i.i562 + br i1 %cmp.i.i890, label %if.then.i899, label %lor.rhs.i891 + +lor.rhs.i891: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i889 + %_M_storage.i.i.i892 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i884, i64 32 + %283 = load ptr, ptr %_M_storage.i.i.i892, align 8 + %bf.load3.i.i.i893 = load i64, ptr %283, align 8 + %bf.clear4.i.i.i894 = and i64 %bf.load3.i.i.i893, 1099511627775 + %cmp.i.i.i895 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i876, %bf.clear4.i.i.i894 + br i1 %cmp.i.i.i895, label %if.then.i899, label %invoke.cont429 + +if.then.i899: ; preds = %lor.rhs.i891, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i889, %invoke.cont425 + %__y.addr.0.lcssa.i.i.i9.i900 = phi ptr [ %__y.addr.1.i.i.i.i884, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i889 ], [ %__y.addr.1.i.i.i.i884, %lor.rhs.i891 ], [ %add.ptr.i.i.i.i562, %invoke.cont425 ] + %call5.i.i.i.i.i.i1510 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #24 + to label %call5.i.i.i.i.i.i.noexc1509 unwind label %lpad428 + +call5.i.i.i.i.i.i.noexc1509: ; preds = %if.then.i899 + %_M_storage.i.i.i.i.i1480 = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1510, i64 32 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1479) + store i64 %144, ptr %agg.tmp6.i.i.i.i.i.i1479, align 8 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1478) + invoke void @_ZNSt4pairIKN4cvc58internal12NodeTemplateILb1EEES3_EC2IJRS4_EJLm0EEJETpTnmJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE(ptr noundef nonnull align 8 dereferenceable(16) %_M_storage.i.i.i.i.i1480, ptr noundef nonnull align 8 dereferenceable(8) %agg.tmp6.i.i.i.i.i.i1479, ptr noundef nonnull align 1 dereferenceable(1) %__second.i.i.i.i.i.i.i1478) + to label %invoke.cont.i1487 unwind label %lpad.i.i.i.i1481 + +lpad.i.i.i.i1481: ; preds = %call5.i.i.i.i.i.i.noexc1509 + %284 = landingpad { ptr, i32 } + catch ptr null + %285 = extractvalue { ptr, i32 } %284, 0 + %286 = call ptr @__cxa_begin_catch(ptr %285) #23 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1510) #26 + invoke void @__cxa_rethrow() #29 + to label %unreachable.i.i.i.i1486 unwind label %lpad7.i.i.i.i1482 + +lpad7.i.i.i.i1482: ; preds = %lpad.i.i.i.i1481 + %287 = landingpad { ptr, i32 } + cleanup + invoke void @__cxa_end_catch() + to label %ehcleanup444 unwind label %terminate.lpad.i.i.i.i1483 + +terminate.lpad.i.i.i.i1483: ; preds = %lpad7.i.i.i.i1482 + %288 = landingpad { ptr, i32 } + catch ptr null + %289 = extractvalue { ptr, i32 } %288, 0 + call void @__clang_call_terminate(ptr %289) #25 + unreachable + +unreachable.i.i.i.i1486: ; preds = %lpad.i.i.i.i1481 + unreachable + +invoke.cont.i1487: ; preds = %call5.i.i.i.i.i.i.noexc1509 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1478) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1479) + %call8.i1488 = invoke { ptr, ptr } @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS6_ERS5_(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr %__y.addr.0.lcssa.i.i.i9.i900, ptr noundef nonnull align 8 dereferenceable(8) %_M_storage.i.i.i.i.i1480) + to label %invoke.cont7.i1490 unwind label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1489 + +invoke.cont7.i1490: ; preds = %invoke.cont.i1487 + %290 = extractvalue { ptr, ptr } %call8.i1488, 0 + %291 = extractvalue { ptr, ptr } %call8.i1488, 1 + %tobool.not.i1491 = icmp eq ptr %291, null + br i1 %tobool.not.i1491, label %if.then.i7.i1508, label %if.then.i1492 + +if.then.i1492: ; preds = %invoke.cont7.i1490 + %cmp.not.i.i.i1493 = icmp ne ptr %290, null + %cmp2.i.i.i1495 = icmp eq ptr %291, %add.ptr.i.i.i.i562 + %or.cond.i.i.i1496 = select i1 %cmp.not.i.i.i1493, i1 true, i1 %cmp2.i.i.i1495 + br i1 %or.cond.i.i.i1496, label %cleanup.thread.i1504, label %lor.rhs.i.i.i1497 + +lor.rhs.i.i.i1497: ; preds = %if.then.i1492 + %_M_storage.i.i.i.i.i.i1498 = getelementptr inbounds i8, ptr %291, i64 32 + %292 = load ptr, ptr %_M_storage.i.i.i.i.i1480, align 8 + %bf.load.i.i.i.i.i1499 = load i64, ptr %292, align 8 + %bf.clear.i.i.i.i.i1500 = and i64 %bf.load.i.i.i.i.i1499, 1099511627775 + %293 = load ptr, ptr %_M_storage.i.i.i.i.i.i1498, align 8 + %bf.load3.i.i.i.i.i1501 = load i64, ptr %293, align 8 + %bf.clear4.i.i.i.i.i1502 = and i64 %bf.load3.i.i.i.i.i1501, 1099511627775 + %cmp.i.i.i.i.i1503 = icmp samesign ult i64 %bf.clear.i.i.i.i.i1500, %bf.clear4.i.i.i.i.i1502 + br label %cleanup.thread.i1504 + +cleanup.thread.i1504: ; preds = %lor.rhs.i.i.i1497, %if.then.i1492 + %294 = phi i1 [ true, %if.then.i1492 ], [ %cmp.i.i.i.i.i1503, %lor.rhs.i.i.i1497 ] + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %294, ptr noundef nonnull %call5.i.i.i.i.i.i1510, ptr noundef nonnull %291, ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i.i.i.i562) #23 + %295 = load i64, ptr %_M_node_count.i.i.i1341, align 8 + %inc.i.i.i1506 = add i64 %295, 1 + store i64 %inc.i.i.i1506, ptr %_M_node_count.i.i.i1341, align 8 + br label %invoke.cont429 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1489: ; preds = %invoke.cont.i1487 + %296 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr noundef nonnull %call5.i.i.i.i.i.i1510) #23 + br label %ehcleanup444 + +if.then.i7.i1508: ; preds = %invoke.cont7.i1490 + %second.i.i.i.i.i1547 = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1510, i64 40 + %297 = load ptr, ptr %second.i.i.i.i.i1547, align 8 + %bf.load.i.i.i.i.i.i.i1548 = load i64, ptr %297, align 8 + %298 = and i64 %bf.load.i.i.i.i.i.i.i1548, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i1549 = icmp eq i64 %298, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i1549, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i1556, label %if.then.i.i.i.i.i.i.i1550 + +if.then.i.i.i.i.i.i.i1550: ; preds = %if.then.i7.i1508 + %bf.value.i.i.i.i.i.i.i1551 = add i64 %bf.load.i.i.i.i.i.i.i1548, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i1552 = and i64 %bf.value.i.i.i.i.i.i.i1551, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i1553 = and i64 %bf.load.i.i.i.i.i.i.i1548, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i1554 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i1552, %bf.clear7.i.i.i.i.i.i.i1553 + store i64 %bf.set.i.i.i.i.i.i.i1554, ptr %297, align 8 + %cmp12.i.i.i.i.i.i.i1555 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i1552, 0 + br i1 %cmp12.i.i.i.i.i.i.i1555, label %if.then13.i.i.i.i.i.i.i1567, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i1556 + +if.then13.i.i.i.i.i.i.i1567: ; preds = %if.then.i.i.i.i.i.i.i1550 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %297) + to label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i1556 unwind label %terminate.lpad.i.i.i.i.i.i1568 + +terminate.lpad.i.i.i.i.i.i1568: ; preds = %if.then13.i.i.i.i.i.i.i1567 + %299 = landingpad { ptr, i32 } + catch ptr null + %300 = extractvalue { ptr, i32 } %299, 0 + call void @__clang_call_terminate(ptr %300) #25 + unreachable + +_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i1556: ; preds = %if.then13.i.i.i.i.i.i.i1567, %if.then.i.i.i.i.i.i.i1550, %if.then.i7.i1508 + %301 = load ptr, ptr %_M_storage.i.i.i.i.i1480, align 8 + %bf.load.i.i1.i.i.i.i.i1557 = load i64, ptr %301, align 8 + %302 = and i64 %bf.load.i.i1.i.i.i.i.i1557, 1152920405095219200 + %cmp.not.i.i2.i.i.i.i.i1558 = icmp eq i64 %302, 1152920405095219200 + br i1 %cmp.not.i.i2.i.i.i.i.i1558, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit1569, label %if.then.i.i3.i.i.i.i.i1559 + +if.then.i.i3.i.i.i.i.i1559: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i1556 + %bf.value.i.i4.i.i.i.i.i1560 = add i64 %bf.load.i.i1.i.i.i.i.i1557, 1152920405095219200 + %bf.shl.i.i5.i.i.i.i.i1561 = and i64 %bf.value.i.i4.i.i.i.i.i1560, 1152920405095219200 + %bf.clear7.i.i6.i.i.i.i.i1562 = and i64 %bf.load.i.i1.i.i.i.i.i1557, -1152920405095219201 + %bf.set.i.i7.i.i.i.i.i1563 = or disjoint i64 %bf.shl.i.i5.i.i.i.i.i1561, %bf.clear7.i.i6.i.i.i.i.i1562 + store i64 %bf.set.i.i7.i.i.i.i.i1563, ptr %301, align 8 + %cmp12.i.i8.i.i.i.i.i1564 = icmp eq i64 %bf.shl.i.i5.i.i.i.i.i1561, 0 + br i1 %cmp12.i.i8.i.i.i.i.i1564, label %if.then13.i.i9.i.i.i.i.i1565, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit1569 + +if.then13.i.i9.i.i.i.i.i1565: ; preds = %if.then.i.i3.i.i.i.i.i1559 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %301) + to label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit1569 unwind label %terminate.lpad.i10.i.i.i.i.i1566 + +terminate.lpad.i10.i.i.i.i.i1566: ; preds = %if.then13.i.i9.i.i.i.i.i1565 + %303 = landingpad { ptr, i32 } + catch ptr null + %304 = extractvalue { ptr, i32 } %303, 0 + call void @__clang_call_terminate(ptr %304) #25 + unreachable + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit1569: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i1556, %if.then.i.i3.i.i.i.i.i1559, %if.then13.i.i9.i.i.i.i.i1565 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1510) #26 + br label %invoke.cont429 + +invoke.cont429: ; preds = %lor.rhs.i891, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit1569, %cleanup.thread.i1504 + %__i.sroa.0.0.i897 = phi ptr [ %__y.addr.1.i.i.i.i884, %lor.rhs.i891 ], [ %call5.i.i.i.i.i.i1510, %cleanup.thread.i1504 ], [ %290, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit1569 ] + %second.i898 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i897, i64 40 + %305 = load ptr, ptr %second.i898, align 8 + %cmp.not.i904 = icmp eq ptr %305, %278 + br i1 %cmp.not.i904, label %land.lhs.true434, label %if.then.i905 + +if.then.i905: ; preds = %invoke.cont429 + %bf.load.i.i906 = load i64, ptr %305, align 8 + %306 = and i64 %bf.load.i.i906, 1152920405095219200 + %cmp.not.i.i907 = icmp eq i64 %306, 1152920405095219200 + br i1 %cmp.not.i.i907, label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i914, label %if.then.i.i908 + +if.then.i.i908: ; preds = %if.then.i905 + %bf.value.i.i909 = add i64 %bf.load.i.i906, 1152920405095219200 + %bf.shl.i.i910 = and i64 %bf.value.i.i909, 1152920405095219200 + %bf.clear7.i.i911 = and i64 %bf.load.i.i906, -1152920405095219201 + %bf.set.i.i912 = or disjoint i64 %bf.shl.i.i910, %bf.clear7.i.i911 + store i64 %bf.set.i.i912, ptr %305, align 8 + %cmp12.i.i913 = icmp eq i64 %bf.shl.i.i910, 0 + br i1 %cmp12.i.i913, label %if.then13.i.i929, label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i914 + +if.then13.i.i929: ; preds = %if.then.i.i908 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %305) + to label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i914 unwind label %lpad428 + +_ZN4cvc58internal4expr9NodeValue3decEv.exit.i914: ; preds = %if.then13.i.i929, %if.then.i.i908, %if.then.i905 + store ptr %278, ptr %second.i898, align 8 + %bf.load.i2.i915 = load i64, ptr %278, align 8 + %bf.lshr.i.i916 = lshr i64 %bf.load.i2.i915, 40 + %307 = trunc nuw nsw i64 %bf.lshr.i.i916 to i32 + %bf.cast.i.i917 = and i32 %307, 1048575 + %cmp.i.i918 = icmp samesign ult i32 %bf.cast.i.i917, 1048574 + br i1 %cmp.i.i918, label %if.then.i5.i924, label %if.else.i.i919 + +if.then.i5.i924: ; preds = %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i914 + %bf.value.i6.i925 = add i64 %bf.load.i2.i915, 1099511627776 + %bf.shl.i7.i926 = and i64 %bf.value.i6.i925, 1152920405095219200 + %bf.clear7.i8.i927 = and i64 %bf.load.i2.i915, -1152920405095219201 + %bf.set.i9.i928 = or disjoint i64 %bf.shl.i7.i926, %bf.clear7.i8.i927 + store i64 %bf.set.i9.i928, ptr %278, align 8 + br label %land.lhs.true434 + +if.else.i.i919: ; preds = %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i914 + %cmp12.i3.i920 = icmp eq i32 %bf.cast.i.i917, 1048574 + br i1 %cmp12.i3.i920, label %if.then13.i4.i922, label %land.lhs.true434 + +if.then13.i4.i922: ; preds = %if.else.i.i919 + %bf.set23.i.i923 = or i64 %bf.load.i2.i915, 1152920405095219200 + store i64 %bf.set23.i.i923, ptr %278, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %278) + to label %land.lhs.true434 unwind label %lpad428 + +land.lhs.true434: ; preds = %if.else.i.i919, %if.then.i5.i924, %invoke.cont429, %if.then13.i4.i922 + %cmp.i933.not = icmp eq ptr %274, %278 + br i1 %cmp.i933.not, label %if.end443, label %if.then437 + +if.then437: ; preds = %land.lhs.true434 + %call.i934935 = invoke noundef ptr @_ZN4cvc58internal11NodeManager9currentNMEv() + to label %call.i934.noexc unwind label %lpad428 + +call.i934.noexc: ; preds = %if.then437 + call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %nb.i.i), !noalias !439 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i.i), !noalias !439 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp4.i.i), !noalias !439 + invoke void @_ZN4cvc58internal11NodeBuilderC1EPNS0_11NodeManagerENS0_4kind6Kind_tE(ptr noundef nonnull align 8 dereferenceable(116) %nb.i.i, ptr noundef nonnull align 8 dereferenceable(3360) %call.i934935, i32 noundef 5) + to label %.noexc936 unwind label %lpad428 + +.noexc936: ; preds = %call.i934.noexc + store ptr %278, ptr %agg.tmp.i.i, align 8, !noalias !442 + %call.i.i = invoke noundef nonnull align 8 dereferenceable(116) ptr @_ZN4cvc58internal11NodeBuilderlsENS0_12NodeTemplateILb0EEE(ptr noundef nonnull align 8 dereferenceable(116) %nb.i.i, ptr noundef nonnull %agg.tmp.i.i) + to label %invoke.cont3.i.i unwind label %lpad2.i.i, !noalias !442 + +invoke.cont3.i.i: ; preds = %.noexc936 + store ptr %274, ptr %agg.tmp4.i.i, align 8, !noalias !442 + %call8.i.i = invoke noundef nonnull align 8 dereferenceable(116) ptr @_ZN4cvc58internal11NodeBuilderlsENS0_12NodeTemplateILb0EEE(ptr noundef nonnull align 8 dereferenceable(116) %call.i.i, ptr noundef nonnull %agg.tmp4.i.i) + to label %invoke.cont7.i.i unwind label %lpad6.i.i, !noalias !442 + +invoke.cont7.i.i: ; preds = %invoke.cont3.i.i + invoke void @_ZN4cvc58internal11NodeBuilder13constructNodeEv(ptr nonnull sret(%"class.cvc5::internal::NodeTemplate") align 8 %ref.tmp438, ptr noundef nonnull align 8 dereferenceable(116) %nb.i.i) + to label %invoke.cont439 unwind label %lpad.i.i + +lpad.i.i: ; preds = %invoke.cont7.i.i + %308 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup10.i.i + +lpad2.i.i: ; preds = %.noexc936 + %309 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup10.i.i + +lpad6.i.i: ; preds = %invoke.cont3.i.i + %310 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup10.i.i + +ehcleanup10.i.i: ; preds = %lpad6.i.i, %lpad2.i.i, %lpad.i.i + %.pn2.i.i = phi { ptr, i32 } [ %308, %lpad.i.i ], [ %310, %lpad6.i.i ], [ %309, %lpad2.i.i ] + call void @_ZN4cvc58internal11NodeBuilderD1Ev(ptr noundef nonnull align 8 dereferenceable(116) %nb.i.i) #23 + br label %ehcleanup444 + +invoke.cont439: ; preds = %invoke.cont7.i.i + call void @_ZN4cvc58internal11NodeBuilderD1Ev(ptr noundef nonnull align 8 dereferenceable(116) %nb.i.i) #23 + call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %nb.i.i), !noalias !439 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i.i), !noalias !439 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp4.i.i), !noalias !439 + %311 = load ptr, ptr %_M_finish.i.i937, align 8 + %312 = load ptr, ptr %_M_end_of_storage.i.i938, align 8 + %cmp.not.i.i939 = icmp eq ptr %311, %312 + br i1 %cmp.not.i.i939, label %if.else.i.i956, label %if.then.i.i940 + +if.then.i.i940: ; preds = %invoke.cont439 + %313 = load ptr, ptr %ref.tmp438, align 8 + store ptr %313, ptr %311, align 8 + %bf.load.i.i.i.i.i.i941 = load i64, ptr %313, align 8 + %bf.lshr.i.i.i.i.i.i942 = lshr i64 %bf.load.i.i.i.i.i.i941, 40 + %314 = trunc nuw nsw i64 %bf.lshr.i.i.i.i.i.i942 to i32 + %bf.cast.i.i.i.i.i.i943 = and i32 %314, 1048575 + %cmp.i.i.i.i.i.i944 = icmp samesign ult i32 %bf.cast.i.i.i.i.i.i943, 1048574 + br i1 %cmp.i.i.i.i.i.i944, label %if.then.i.i.i.i.i.i951, label %if.else.i.i.i.i.i.i945 + +if.then.i.i.i.i.i.i951: ; preds = %if.then.i.i940 + %bf.value.i.i.i.i.i.i952 = add i64 %bf.load.i.i.i.i.i.i941, 1099511627776 + %bf.shl.i.i.i.i.i.i953 = and i64 %bf.value.i.i.i.i.i.i952, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i954 = and i64 %bf.load.i.i.i.i.i.i941, -1152920405095219201 + %bf.set.i.i.i.i.i.i955 = or disjoint i64 %bf.shl.i.i.i.i.i.i953, %bf.clear7.i.i.i.i.i.i954 + store i64 %bf.set.i.i.i.i.i.i955, ptr %313, align 8 + br label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i947 + +if.else.i.i.i.i.i.i945: ; preds = %if.then.i.i940 + %cmp12.i.i.i.i.i.i946 = icmp eq i32 %bf.cast.i.i.i.i.i.i943, 1048574 + br i1 %cmp12.i.i.i.i.i.i946, label %if.then13.i.i.i.i.i.i949, label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i947 + +if.then13.i.i.i.i.i.i949: ; preds = %if.else.i.i.i.i.i.i945 + %bf.set23.i.i.i.i.i.i950 = or i64 %bf.load.i.i.i.i.i.i941, 1152920405095219200 + store i64 %bf.set23.i.i.i.i.i.i950, ptr %313, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %313) + to label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i947 unwind label %lpad440 + +_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i947: ; preds = %if.then13.i.i.i.i.i.i949, %if.else.i.i.i.i.i.i945, %if.then.i.i.i.i.i.i951 + %315 = load ptr, ptr %_M_finish.i.i937, align 8 + %incdec.ptr.i.i948 = getelementptr inbounds i8, ptr %315, i64 8 + store ptr %incdec.ptr.i.i948, ptr %_M_finish.i.i937, align 8 + br label %invoke.cont441 + +if.else.i.i956: ; preds = %invoke.cont439 + invoke void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %exp, ptr %311, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp438) + to label %invoke.cont441 unwind label %lpad440 + +invoke.cont441: ; preds = %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i947, %if.else.i.i956 + %316 = load ptr, ptr %ref.tmp438, align 8 + %bf.load.i.i960 = load i64, ptr %316, align 8 + %317 = and i64 %bf.load.i.i960, 1152920405095219200 + %cmp.not.i.i961 = icmp eq i64 %317, 1152920405095219200 + br i1 %cmp.not.i.i961, label %if.end443, label %if.then.i.i962 + +if.then.i.i962: ; preds = %invoke.cont441 + %bf.value.i.i963 = add i64 %bf.load.i.i960, 1152920405095219200 + %bf.shl.i.i964 = and i64 %bf.value.i.i963, 1152920405095219200 + %bf.clear7.i.i965 = and i64 %bf.load.i.i960, -1152920405095219201 + %bf.set.i.i966 = or disjoint i64 %bf.shl.i.i964, %bf.clear7.i.i965 + store i64 %bf.set.i.i966, ptr %316, align 8 + %cmp12.i.i967 = icmp eq i64 %bf.shl.i.i964, 0 + br i1 %cmp12.i.i967, label %if.then13.i.i969, label %if.end443 + +if.then13.i.i969: ; preds = %if.then.i.i962 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %316) + to label %if.end443 unwind label %terminate.lpad.i970 + +terminate.lpad.i970: ; preds = %if.then13.i.i969 + %318 = landingpad { ptr, i32 } + catch ptr null + %319 = extractvalue { ptr, i32 } %318, 0 + call void @__clang_call_terminate(ptr %319) #25 + unreachable + +lpad412.loopexit: ; preds = %if.then13.i.i795 + %lpad.loopexit = landingpad { ptr, i32 } + cleanup + br label %ehcleanup494 + +lpad412.loopexit.split-lp: ; preds = %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE5clearEv.exit + %lpad.loopexit.split-lp = landingpad { ptr, i32 } + cleanup + br label %ehcleanup494 + +lpad414: ; preds = %if.then.i833, %if.then13.i.i.i, %invoke.cont415 + %320 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup446 + +lpad422: ; preds = %if.then.i851, %invoke.cont417 + %321 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup445 + +lpad424: ; preds = %if.then13.i.i860 + %322 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup445 + +lpad428: ; preds = %if.then.i899, %call.i934.noexc, %if.then437, %if.then13.i4.i922, %if.then13.i.i929 + %323 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup444 + +lpad440: ; preds = %if.else.i.i956, %if.then13.i.i.i.i.i.i949 + %324 = landingpad { ptr, i32 } + cleanup + %325 = load ptr, ptr %ref.tmp438, align 8 + %bf.load.i.i972 = load i64, ptr %325, align 8 + %326 = and i64 %bf.load.i.i972, 1152920405095219200 + %cmp.not.i.i973 = icmp eq i64 %326, 1152920405095219200 + br i1 %cmp.not.i.i973, label %ehcleanup444, label %if.then.i.i974 + +if.then.i.i974: ; preds = %lpad440 + %bf.value.i.i975 = add i64 %bf.load.i.i972, 1152920405095219200 + %bf.shl.i.i976 = and i64 %bf.value.i.i975, 1152920405095219200 + %bf.clear7.i.i977 = and i64 %bf.load.i.i972, -1152920405095219201 + %bf.set.i.i978 = or disjoint i64 %bf.shl.i.i976, %bf.clear7.i.i977 + store i64 %bf.set.i.i978, ptr %325, align 8 + %cmp12.i.i979 = icmp eq i64 %bf.shl.i.i976, 0 + br i1 %cmp12.i.i979, label %if.then13.i.i981, label %ehcleanup444 + +if.then13.i.i981: ; preds = %if.then.i.i974 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %325) + to label %ehcleanup444 unwind label %terminate.lpad.i982 + +terminate.lpad.i982: ; preds = %if.then13.i.i981 + %327 = landingpad { ptr, i32 } + catch ptr null + %328 = extractvalue { ptr, i32 } %327, 0 + call void @__clang_call_terminate(ptr %328) #25 + unreachable + +if.end443: ; preds = %if.then13.i.i969, %if.then.i.i962, %invoke.cont441, %land.lhs.true434 + %bf.load.i.i984 = load i64, ptr %278, align 8 + %329 = and i64 %bf.load.i.i984, 1152920405095219200 + %cmp.not.i.i985 = icmp eq i64 %329, 1152920405095219200 + br i1 %cmp.not.i.i985, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit995, label %if.then.i.i986 + +if.then.i.i986: ; preds = %if.end443 + %bf.value.i.i987 = add i64 %bf.load.i.i984, 1152920405095219200 + %bf.shl.i.i988 = and i64 %bf.value.i.i987, 1152920405095219200 + %bf.clear7.i.i989 = and i64 %bf.load.i.i984, -1152920405095219201 + %bf.set.i.i990 = or disjoint i64 %bf.shl.i.i988, %bf.clear7.i.i989 + store i64 %bf.set.i.i990, ptr %278, align 8 + %cmp12.i.i991 = icmp eq i64 %bf.shl.i.i988, 0 + br i1 %cmp12.i.i991, label %if.then13.i.i993, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit995 + +if.then13.i.i993: ; preds = %if.then.i.i986 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %278) + to label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit995 unwind label %terminate.lpad.i994 + +terminate.lpad.i994: ; preds = %if.then13.i.i993 + %330 = landingpad { ptr, i32 } + catch ptr null + %331 = extractvalue { ptr, i32 } %330, 0 + call void @__clang_call_terminate(ptr %331) #25 + unreachable + +_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit995: ; preds = %if.end443, %if.then.i.i986, %if.then13.i.i993 + %bf.load.i.i996 = load i64, ptr %274, align 8 + %332 = and i64 %bf.load.i.i996, 1152920405095219200 + %cmp.not.i.i997 = icmp eq i64 %332, 1152920405095219200 + br i1 %cmp.not.i.i997, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1007, label %if.then.i.i998 + +if.then.i.i998: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit995 + %bf.value.i.i999 = add i64 %bf.load.i.i996, 1152920405095219200 + %bf.shl.i.i1000 = and i64 %bf.value.i.i999, 1152920405095219200 + %bf.clear7.i.i1001 = and i64 %bf.load.i.i996, -1152920405095219201 + %bf.set.i.i1002 = or disjoint i64 %bf.shl.i.i1000, %bf.clear7.i.i1001 + store i64 %bf.set.i.i1002, ptr %274, align 8 + %cmp12.i.i1003 = icmp eq i64 %bf.shl.i.i1000, 0 + br i1 %cmp12.i.i1003, label %if.then13.i.i1005, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1007 + +if.then13.i.i1005: ; preds = %if.then.i.i998 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %274) + to label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1007 unwind label %terminate.lpad.i1006 + +terminate.lpad.i1006: ; preds = %if.then13.i.i1005 + %333 = landingpad { ptr, i32 } + catch ptr null + %334 = extractvalue { ptr, i32 } %333, 0 + call void @__clang_call_terminate(ptr %334) #25 + unreachable + +_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1007: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit995, %if.then.i.i998, %if.then13.i.i1005 + %335 = load ptr, ptr %n407, align 8 + %bf.load.i.i1008 = load i64, ptr %335, align 8 + %336 = and i64 %bf.load.i.i1008, 1152920405095219200 + %cmp.not.i.i1009 = icmp eq i64 %336, 1152920405095219200 + br i1 %cmp.not.i.i1009, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019, label %if.then.i.i1010 + +if.then.i.i1010: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1007 + %bf.value.i.i1011 = add i64 %bf.load.i.i1008, 1152920405095219200 + %bf.shl.i.i1012 = and i64 %bf.value.i.i1011, 1152920405095219200 + %bf.clear7.i.i1013 = and i64 %bf.load.i.i1008, -1152920405095219201 + %bf.set.i.i1014 = or disjoint i64 %bf.shl.i.i1012, %bf.clear7.i.i1013 + store i64 %bf.set.i.i1014, ptr %335, align 8 + %cmp12.i.i1015 = icmp eq i64 %bf.shl.i.i1012, 0 + br i1 %cmp12.i.i1015, label %if.then13.i.i1017, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019 + +if.then13.i.i1017: ; preds = %if.then.i.i1010 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %335) + to label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019 unwind label %terminate.lpad.i1018 + +terminate.lpad.i1018: ; preds = %if.then13.i.i1017 + %337 = landingpad { ptr, i32 } + catch ptr null + %338 = extractvalue { ptr, i32 } %337, 0 + call void @__clang_call_terminate(ptr %338) #25 + unreachable + +_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1007, %if.then.i.i1010, %if.then13.i.i1017 + %inc448 = add i32 %k.01788, 1 + %conv401 = zext i32 %inc448 to i64 + %339 = load ptr, ptr %split_new_part, align 8 + %add.ptr.i781 = getelementptr inbounds %"class.std::vector.525", ptr %339, i64 %conv3961796 + %_M_finish.i782 = getelementptr inbounds i8, ptr %add.ptr.i781, i64 8 + %340 = load ptr, ptr %_M_finish.i782, align 8 + %341 = load ptr, ptr %add.ptr.i781, align 8 + %sub.ptr.lhs.cast.i783 = ptrtoint ptr %340 to i64 + %sub.ptr.rhs.cast.i784 = ptrtoint ptr %341 to i64 + %sub.ptr.sub.i785 = sub i64 %sub.ptr.lhs.cast.i783, %sub.ptr.rhs.cast.i784 + %sub.ptr.div.i786 = ashr exact i64 %sub.ptr.sub.i785, 3 + %cmp405 = icmp ugt i64 %sub.ptr.div.i786, %conv401 + br i1 %cmp405, label %for.body406, label %for.end449, !llvm.loop !293 + +ehcleanup444: ; preds = %if.then13.i.i981, %if.then.i.i974, %lpad440, %ehcleanup10.i.i, %lpad7.i.i.i.i1482, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1489, %lpad428 + %.pn2 = phi { ptr, i32 } [ %.pn2.i.i, %ehcleanup10.i.i ], [ %323, %lpad428 ], [ %296, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1489 ], [ %287, %lpad7.i.i.i.i1482 ], [ %324, %lpad440 ], [ %324, %if.then.i.i974 ], [ %324, %if.then13.i.i981 ] + %bf.load.i.i1020 = load i64, ptr %278, align 8 + %342 = and i64 %bf.load.i.i1020, 1152920405095219200 + %cmp.not.i.i1021 = icmp eq i64 %342, 1152920405095219200 + br i1 %cmp.not.i.i1021, label %ehcleanup445, label %if.then.i.i1022 + +if.then.i.i1022: ; preds = %ehcleanup444 + %bf.value.i.i1023 = add i64 %bf.load.i.i1020, 1152920405095219200 + %bf.shl.i.i1024 = and i64 %bf.value.i.i1023, 1152920405095219200 + %bf.clear7.i.i1025 = and i64 %bf.load.i.i1020, -1152920405095219201 + %bf.set.i.i1026 = or disjoint i64 %bf.shl.i.i1024, %bf.clear7.i.i1025 + store i64 %bf.set.i.i1026, ptr %278, align 8 + %cmp12.i.i1027 = icmp eq i64 %bf.shl.i.i1024, 0 + br i1 %cmp12.i.i1027, label %if.then13.i.i1029, label %ehcleanup445 + +if.then13.i.i1029: ; preds = %if.then.i.i1022 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %278) + to label %ehcleanup445 unwind label %terminate.lpad.i1030 + +terminate.lpad.i1030: ; preds = %if.then13.i.i1029 + %343 = landingpad { ptr, i32 } + catch ptr null + %344 = extractvalue { ptr, i32 } %343, 0 + call void @__clang_call_terminate(ptr %344) #25 + unreachable + +ehcleanup445: ; preds = %if.then13.i.i1029, %if.then.i.i1022, %ehcleanup444, %lpad422, %lpad424 + %.pn2.pn = phi { ptr, i32 } [ %322, %lpad424 ], [ %321, %lpad422 ], [ %.pn2, %ehcleanup444 ], [ %.pn2, %if.then.i.i1022 ], [ %.pn2, %if.then13.i.i1029 ] + %bf.load.i.i1032 = load i64, ptr %274, align 8 + %345 = and i64 %bf.load.i.i1032, 1152920405095219200 + %cmp.not.i.i1033 = icmp eq i64 %345, 1152920405095219200 + br i1 %cmp.not.i.i1033, label %ehcleanup446, label %if.then.i.i1034 + +if.then.i.i1034: ; preds = %ehcleanup445 + %bf.value.i.i1035 = add i64 %bf.load.i.i1032, 1152920405095219200 + %bf.shl.i.i1036 = and i64 %bf.value.i.i1035, 1152920405095219200 + %bf.clear7.i.i1037 = and i64 %bf.load.i.i1032, -1152920405095219201 + %bf.set.i.i1038 = or disjoint i64 %bf.shl.i.i1036, %bf.clear7.i.i1037 + store i64 %bf.set.i.i1038, ptr %274, align 8 + %cmp12.i.i1039 = icmp eq i64 %bf.shl.i.i1036, 0 + br i1 %cmp12.i.i1039, label %if.then13.i.i1041, label %ehcleanup446 + +if.then13.i.i1041: ; preds = %if.then.i.i1034 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %274) + to label %ehcleanup446 unwind label %terminate.lpad.i1042 + +terminate.lpad.i1042: ; preds = %if.then13.i.i1041 + %346 = landingpad { ptr, i32 } + catch ptr null + %347 = extractvalue { ptr, i32 } %346, 0 + call void @__clang_call_terminate(ptr %347) #25 + unreachable + +ehcleanup446: ; preds = %if.then13.i.i1041, %if.then.i.i1034, %ehcleanup445, %lpad414, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1454, %lpad7.i.i.i.i1447 + %.pn2.pn.pn = phi { ptr, i32 } [ %320, %lpad414 ], [ %264, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1454 ], [ %255, %lpad7.i.i.i.i1447 ], [ %.pn2.pn, %ehcleanup445 ], [ %.pn2.pn, %if.then.i.i1034 ], [ %.pn2.pn, %if.then13.i.i1041 ] + %348 = load ptr, ptr %n407, align 8 + %bf.load.i.i1044 = load i64, ptr %348, align 8 + %349 = and i64 %bf.load.i.i1044, 1152920405095219200 + %cmp.not.i.i1045 = icmp eq i64 %349, 1152920405095219200 + br i1 %cmp.not.i.i1045, label %ehcleanup494, label %if.then.i.i1046 + +if.then.i.i1046: ; preds = %ehcleanup446 + %bf.value.i.i1047 = add i64 %bf.load.i.i1044, 1152920405095219200 + %bf.shl.i.i1048 = and i64 %bf.value.i.i1047, 1152920405095219200 + %bf.clear7.i.i1049 = and i64 %bf.load.i.i1044, -1152920405095219201 + %bf.set.i.i1050 = or disjoint i64 %bf.shl.i.i1048, %bf.clear7.i.i1049 + store i64 %bf.set.i.i1050, ptr %348, align 8 + %cmp12.i.i1051 = icmp eq i64 %bf.shl.i.i1048, 0 + br i1 %cmp12.i.i1051, label %if.then13.i.i1053, label %ehcleanup494 + +if.then13.i.i1053: ; preds = %if.then.i.i1046 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %348) + to label %ehcleanup494 unwind label %terminate.lpad.i1054 + +terminate.lpad.i1054: ; preds = %if.then13.i.i1053 + %350 = landingpad { ptr, i32 } + catch ptr null + %351 = extractvalue { ptr, i32 } %350, 0 + call void @__clang_call_terminate(ptr %351) #25 + unreachable + +for.end449: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019, %for.cond400.preheader + %add.ptr.i781.lcssa = phi ptr [ %add.ptr.i7811781, %for.cond400.preheader ], [ %add.ptr.i781, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019 ] + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %c_part_out, i8 0, i64 24, i1 false) + invoke fastcc void @_ZN4cvc58internal6theory9datatypes15TheoryDatatypes17separateBisimilarERSt6vectorINS0_12NodeTemplateILb1EEESaIS6_EERS4_IS8_SaIS8_EES9_RSt3mapIS6_S6_St4lessIS6_ESaISt4pairIKS6_S6_EEERSD_IS6_SD_IS6_iSF_SaISG_ISH_iEEESF_SaISG_ISH_SO_EEEib.specialized.4(ptr noundef nonnull align 8 dereferenceable(2008) %this, ptr noundef nonnull align 8 dereferenceable(24) %add.ptr.i781.lcssa, ptr noundef nonnull align 8 dereferenceable(24) %c_part_out, ptr noundef nonnull align 8 dereferenceable(24) %exp, ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr noundef nonnull align 8 dereferenceable(48) %dni) + to label %invoke.cont454 unwind label %lpad453 + +invoke.cont454: ; preds = %for.end449 + %352 = load ptr, ptr %_M_finish.i1057, align 8 + %353 = load ptr, ptr %c_part_out, align 8 + %354 = load ptr, ptr %_M_finish.i1058, align 8 + %355 = load ptr, ptr %next_split_new_part, align 8 + %sub.ptr.lhs.cast.i.i1059 = ptrtoint ptr %352 to i64 + %sub.ptr.rhs.cast.i.i1060 = ptrtoint ptr %355 to i64 + %sub.ptr.sub.i.i1061 = sub i64 %sub.ptr.lhs.cast.i.i1059, %sub.ptr.rhs.cast.i.i1060 + %add.ptr.i.i1062 = getelementptr inbounds i8, ptr %355, i64 %sub.ptr.sub.i.i1061 + invoke void @_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %next_split_new_part, ptr %add.ptr.i.i1062, ptr %353, ptr %354) + to label %invoke.cont468 unwind label %lpad453 + +invoke.cont468: ; preds = %invoke.cont454 + %356 = load ptr, ptr %c_part_out, align 8 + %357 = load ptr, ptr %_M_finish.i1058, align 8 + %cmp.not3.i.i.i.i1066 = icmp eq ptr %356, %357 + br i1 %cmp.not3.i.i.i.i1066, label %invoke.cont.i1073, label %for.body.i.i.i.i1067 + +for.body.i.i.i.i1067: ; preds = %invoke.cont468, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i + %__first.addr.04.i.i.i.i1068 = phi ptr [ %incdec.ptr.i.i.i.i1069, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i ], [ %356, %invoke.cont468 ] + %358 = load ptr, ptr %__first.addr.04.i.i.i.i1068, align 8 + %_M_finish.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1068, i64 8 + %359 = load ptr, ptr %_M_finish.i.i.i.i.i.i, align 8 + %cmp.not3.i.i.i.i.i.i.i.i.i = icmp eq ptr %358, %359 + br i1 %cmp.not3.i.i.i.i.i.i.i.i.i, label %invoke.cont.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i.i.i.i + +for.body.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i1067, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i + %__first.addr.04.i.i.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i ], [ %358, %for.body.i.i.i.i1067 ] + %360 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i, align 8 + %bf.load.i.i.i.i.i.i.i.i.i.i.i.i = load i64, ptr %360, align 8 + %361 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %361, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i + +if.then.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i + %bf.value.i.i.i.i.i.i.i.i.i.i.i.i = add i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i = and i64 %bf.value.i.i.i.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i.i.i.i = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i, %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i + store i64 %bf.set.i.i.i.i.i.i.i.i.i.i.i.i, ptr %360, align 8 + %cmp12.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i.i.i.i, label %if.then13.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i + +if.then13.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %360) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i unwind label %terminate.lpad.i.i.i.i.i.i.i.i.i.i.i + +terminate.lpad.i.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i + %362 = landingpad { ptr, i32 } + catch ptr null + %363 = extractvalue { ptr, i32 } %362, 0 + call void @__clang_call_terminate(ptr %363) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i, i64 8 + %cmp.not.i.i.i.i.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i, %359 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i, label %invoke.contthread-pre-split.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i.i.i.i, !llvm.loop !21 + +invoke.contthread-pre-split.i.i.i.i.i.i: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i + %.pr.i.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i1068, align 8 + br label %invoke.cont.i.i.i.i.i.i + +invoke.cont.i.i.i.i.i.i: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i, %for.body.i.i.i.i1067 + %364 = phi ptr [ %.pr.i.i.i.i.i.i, %invoke.contthread-pre-split.i.i.i.i.i.i ], [ %358, %for.body.i.i.i.i1067 ] + %tobool.not.i.i.i.i.i.i.i.i = icmp eq ptr %364, null + br i1 %tobool.not.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i + +if.then.i.i.i.i.i.i.i.i: ; preds = %invoke.cont.i.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %364) #26 + br label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i + +_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i, %invoke.cont.i.i.i.i.i.i + %incdec.ptr.i.i.i.i1069 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1068, i64 24 + %cmp.not.i.i.i.i1070 = icmp eq ptr %incdec.ptr.i.i.i.i1069, %357 + br i1 %cmp.not.i.i.i.i1070, label %invoke.contthread-pre-split.i1071, label %for.body.i.i.i.i1067, !llvm.loop !38 + +invoke.contthread-pre-split.i1071: ; preds = %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i + %.pr.i1072 = load ptr, ptr %c_part_out, align 8 + br label %invoke.cont.i1073 + +invoke.cont.i1073: ; preds = %invoke.contthread-pre-split.i1071, %invoke.cont468 + %365 = phi ptr [ %.pr.i1072, %invoke.contthread-pre-split.i1071 ], [ %356, %invoke.cont468 ] + %tobool.not.i.i.i1074 = icmp eq ptr %365, null + br i1 %tobool.not.i.i.i1074, label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit, label %if.then.i.i.i1075 + +if.then.i.i.i1075: ; preds = %invoke.cont.i1073 + call void @_ZdlPv(ptr noundef nonnull %365) #26 + br label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit + +_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit: ; preds = %invoke.cont.i1073, %if.then.i.i.i1075 + %inc474 = add i32 %j394.01795, 1 + %conv396 = zext i32 %inc474 to i64 + %366 = load ptr, ptr %_M_finish.i.i774, align 8 + %367 = load ptr, ptr %split_new_part, align 8 + %sub.ptr.lhs.cast.i777 = ptrtoint ptr %366 to i64 + %sub.ptr.rhs.cast.i778 = ptrtoint ptr %367 to i64 + %sub.ptr.sub.i779 = sub i64 %sub.ptr.lhs.cast.i777, %sub.ptr.rhs.cast.i778 + %sub.ptr.div.i780 = sdiv exact i64 %sub.ptr.sub.i779, 24 + %cmp398 = icmp ugt i64 %sub.ptr.div.i780, %conv396 + br i1 %cmp398, label %for.cond400.preheader, label %for.end475, !llvm.loop !294 + +lpad453: ; preds = %for.end449, %invoke.cont454 + %368 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %c_part_out) #23 + br label %ehcleanup494 + +for.end475: ; preds = %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit + %tobool.not.i.i = icmp eq ptr %366, %367 + br i1 %tobool.not.i.i, label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE5clearEv.exit, label %for.body.i.i.i.i.i + +for.body.i.i.i.i.i: ; preds = %for.end475, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i.i + %__first.addr.04.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i.i ], [ %367, %for.end475 ] + %369 = load ptr, ptr %__first.addr.04.i.i.i.i.i, align 8 + %_M_finish.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i, i64 8 + %370 = load ptr, ptr %_M_finish.i.i.i.i.i.i.i, align 8 + %cmp.not3.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %369, %370 + br i1 %cmp.not3.i.i.i.i.i.i.i.i.i.i, label %invoke.cont.i.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i.i.i.i.i + +for.body.i.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i + %__first.addr.04.i.i.i.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i.i, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i ], [ %369, %for.body.i.i.i.i.i ] + %371 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i.i, align 8 + %bf.load.i.i.i.i.i.i.i.i.i.i.i.i.i = load i64, ptr %371, align 8 + %372 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %372, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i + +if.then.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i.i + %bf.value.i.i.i.i.i.i.i.i.i.i.i.i.i = add i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i.i = and i64 %bf.value.i.i.i.i.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i.i, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i.i.i.i.i = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i.i, %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i.i + store i64 %bf.set.i.i.i.i.i.i.i.i.i.i.i.i.i, ptr %371, align 8 + %cmp12.i.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i.i, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i.i.i.i.i, label %if.then13.i.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i + +if.then13.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %371) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i unwind label %terminate.lpad.i.i.i.i.i.i.i.i.i.i.i.i + +terminate.lpad.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i.i + %373 = landingpad { ptr, i32 } + catch ptr null + %374 = extractvalue { ptr, i32 } %373, 0 + call void @__clang_call_terminate(ptr %374) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i.i, i64 8 + %cmp.not.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i.i, %370 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i, label %invoke.contthread-pre-split.i.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i.i.i.i.i, !llvm.loop !21 + +invoke.contthread-pre-split.i.i.i.i.i.i.i: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i + %.pr.i.i.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i.i, align 8 + br label %invoke.cont.i.i.i.i.i.i.i + +invoke.cont.i.i.i.i.i.i.i: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i.i, %for.body.i.i.i.i.i + %375 = phi ptr [ %.pr.i.i.i.i.i.i.i, %invoke.contthread-pre-split.i.i.i.i.i.i.i ], [ %369, %for.body.i.i.i.i.i ] + %tobool.not.i.i.i.i.i.i.i.i.i = icmp eq ptr %375, null + br i1 %tobool.not.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i + +if.then.i.i.i.i.i.i.i.i.i: ; preds = %invoke.cont.i.i.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %375) #26 + br label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i.i + +_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i, %invoke.cont.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i, i64 24 + %cmp.not.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i, %366 + br i1 %cmp.not.i.i.i.i.i, label %invoke.cont.i.i, label %for.body.i.i.i.i.i, !llvm.loop !38 + +invoke.cont.i.i: ; preds = %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i.i + store ptr %367, ptr %_M_finish.i.i774, align 8 + %.pre1851 = load ptr, ptr %split_new_part, align 8 + br label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE5clearEv.exit + +_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE5clearEv.exit: ; preds = %for.end475, %invoke.cont.i.i + %376 = phi ptr [ %367, %for.end475 ], [ %.pre1851, %invoke.cont.i.i ] + %377 = phi ptr [ %366, %for.end475 ], [ %367, %invoke.cont.i.i ] + %378 = load ptr, ptr %next_split_new_part, align 8 + %379 = load ptr, ptr %_M_finish.i1057, align 8 + %sub.ptr.lhs.cast.i.i1079 = ptrtoint ptr %377 to i64 + %sub.ptr.rhs.cast.i.i1080 = ptrtoint ptr %376 to i64 + %sub.ptr.sub.i.i1081 = sub i64 %sub.ptr.lhs.cast.i.i1079, %sub.ptr.rhs.cast.i.i1080 + %add.ptr.i.i1082 = getelementptr inbounds i8, ptr %376, i64 %sub.ptr.sub.i.i1081 + invoke void @_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %split_new_part, ptr %add.ptr.i.i1082, ptr %378, ptr %379) + to label %invoke.cont489 unwind label %lpad412.loopexit.split-lp + +invoke.cont489: ; preds = %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE5clearEv.exit + %inc493 = add nuw i32 %cindex.01800, 1 + %380 = load ptr, ptr %next_split_new_part, align 8 + %381 = load ptr, ptr %_M_finish.i1057, align 8 + %cmp.not3.i.i.i.i1087 = icmp eq ptr %380, %381 + br i1 %cmp.not3.i.i.i.i1087, label %invoke.cont.i1115, label %for.body.i.i.i.i1088 + +for.body.i.i.i.i1088: ; preds = %invoke.cont489, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1110 + %__first.addr.04.i.i.i.i1089 = phi ptr [ %incdec.ptr.i.i.i.i1111, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1110 ], [ %380, %invoke.cont489 ] + %382 = load ptr, ptr %__first.addr.04.i.i.i.i1089, align 8 + %_M_finish.i.i.i.i.i.i1090 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1089, i64 8 + %383 = load ptr, ptr %_M_finish.i.i.i.i.i.i1090, align 8 + %cmp.not3.i.i.i.i.i.i.i.i.i1091 = icmp eq ptr %382, %383 + br i1 %cmp.not3.i.i.i.i.i.i.i.i.i1091, label %invoke.cont.i.i.i.i.i.i1107, label %for.body.i.i.i.i.i.i.i.i.i1092 + +for.body.i.i.i.i.i.i.i.i.i1092: ; preds = %for.body.i.i.i.i1088, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1102 + %__first.addr.04.i.i.i.i.i.i.i.i.i1093 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i1103, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1102 ], [ %382, %for.body.i.i.i.i1088 ] + %384 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1093, align 8 + %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1094 = load i64, ptr %384, align 8 + %385 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1094, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1095 = icmp eq i64 %385, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1095, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1102, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i1096 + +if.then.i.i.i.i.i.i.i.i.i.i.i.i1096: ; preds = %for.body.i.i.i.i.i.i.i.i.i1092 + %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1097 = add i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1094, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1098 = and i64 %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1097, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1099 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1094, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1100 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1098, %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1099 + store i64 %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1100, ptr %384, align 8 + %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1101 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1098, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1101, label %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1118, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1102 + +if.then13.i.i.i.i.i.i.i.i.i.i.i.i1118: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i1096 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %384) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1102 unwind label %terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1119 + +terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1119: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1118 + %386 = landingpad { ptr, i32 } + catch ptr null + %387 = extractvalue { ptr, i32 } %386, 0 + call void @__clang_call_terminate(ptr %387) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1102: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1118, %if.then.i.i.i.i.i.i.i.i.i.i.i.i1096, %for.body.i.i.i.i.i.i.i.i.i1092 + %incdec.ptr.i.i.i.i.i.i.i.i.i1103 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1093, i64 8 + %cmp.not.i.i.i.i.i.i.i.i.i1104 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i1103, %383 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i1104, label %invoke.contthread-pre-split.i.i.i.i.i.i1105, label %for.body.i.i.i.i.i.i.i.i.i1092, !llvm.loop !21 + +invoke.contthread-pre-split.i.i.i.i.i.i1105: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1102 + %.pr.i.i.i.i.i.i1106 = load ptr, ptr %__first.addr.04.i.i.i.i1089, align 8 + br label %invoke.cont.i.i.i.i.i.i1107 + +invoke.cont.i.i.i.i.i.i1107: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i1105, %for.body.i.i.i.i1088 + %388 = phi ptr [ %.pr.i.i.i.i.i.i1106, %invoke.contthread-pre-split.i.i.i.i.i.i1105 ], [ %382, %for.body.i.i.i.i1088 ] + %tobool.not.i.i.i.i.i.i.i.i1108 = icmp eq ptr %388, null + br i1 %tobool.not.i.i.i.i.i.i.i.i1108, label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1110, label %if.then.i.i.i.i.i.i.i.i1109 + +if.then.i.i.i.i.i.i.i.i1109: ; preds = %invoke.cont.i.i.i.i.i.i1107 + call void @_ZdlPv(ptr noundef nonnull %388) #26 + br label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1110 + +_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1110: ; preds = %if.then.i.i.i.i.i.i.i.i1109, %invoke.cont.i.i.i.i.i.i1107 + %incdec.ptr.i.i.i.i1111 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1089, i64 24 + %cmp.not.i.i.i.i1112 = icmp eq ptr %incdec.ptr.i.i.i.i1111, %381 + br i1 %cmp.not.i.i.i.i1112, label %invoke.contthread-pre-split.i1113, label %for.body.i.i.i.i1088, !llvm.loop !38 + +invoke.contthread-pre-split.i1113: ; preds = %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1110 + %.pr.i1114 = load ptr, ptr %next_split_new_part, align 8 + br label %invoke.cont.i1115 + +invoke.cont.i1115: ; preds = %invoke.contthread-pre-split.i1113, %invoke.cont489 + %389 = phi ptr [ %.pr.i1114, %invoke.contthread-pre-split.i1113 ], [ %380, %invoke.cont489 ] + %tobool.not.i.i.i1116 = icmp eq ptr %389, null + br i1 %tobool.not.i.i.i1116, label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1120, label %if.then.i.i.i1117 + +if.then.i.i.i1117: ; preds = %invoke.cont.i1115 + call void @_ZdlPv(ptr noundef nonnull %389) #26 + br label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1120 + +_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1120: ; preds = %invoke.cont.i1115, %if.then.i.i.i1117 + %exitcond.not = icmp eq i32 %inc493, %cond.i.i + br i1 %exitcond.not, label %while.end, label %land.rhs, !llvm.loop !295 + +ehcleanup494: ; preds = %lpad412.loopexit, %lpad412.loopexit.split-lp, %if.then13.i.i1053, %if.then.i.i1046, %ehcleanup446, %lpad453 + %.pn2.pn.pn.pn = phi { ptr, i32 } [ %368, %lpad453 ], [ %.pn2.pn.pn, %ehcleanup446 ], [ %.pn2.pn.pn, %if.then.i.i1046 ], [ %.pn2.pn.pn, %if.then13.i.i1053 ], [ %lpad.loopexit, %lpad412.loopexit ], [ %lpad.loopexit.split-lp, %lpad412.loopexit.split-lp ] + %390 = load ptr, ptr %next_split_new_part, align 8 + %391 = load ptr, ptr %_M_finish.i1057, align 8 + %cmp.not3.i.i.i.i1122 = icmp eq ptr %390, %391 + br i1 %cmp.not3.i.i.i.i1122, label %invoke.cont.i1150, label %for.body.i.i.i.i1123 + +for.body.i.i.i.i1123: ; preds = %ehcleanup494, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1145 + %__first.addr.04.i.i.i.i1124 = phi ptr [ %incdec.ptr.i.i.i.i1146, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1145 ], [ %390, %ehcleanup494 ] + %392 = load ptr, ptr %__first.addr.04.i.i.i.i1124, align 8 + %_M_finish.i.i.i.i.i.i1125 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1124, i64 8 + %393 = load ptr, ptr %_M_finish.i.i.i.i.i.i1125, align 8 + %cmp.not3.i.i.i.i.i.i.i.i.i1126 = icmp eq ptr %392, %393 + br i1 %cmp.not3.i.i.i.i.i.i.i.i.i1126, label %invoke.cont.i.i.i.i.i.i1142, label %for.body.i.i.i.i.i.i.i.i.i1127 + +for.body.i.i.i.i.i.i.i.i.i1127: ; preds = %for.body.i.i.i.i1123, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1137 + %__first.addr.04.i.i.i.i.i.i.i.i.i1128 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i1138, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1137 ], [ %392, %for.body.i.i.i.i1123 ] + %394 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1128, align 8 + %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1129 = load i64, ptr %394, align 8 + %395 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1129, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1130 = icmp eq i64 %395, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1130, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1137, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i1131 + +if.then.i.i.i.i.i.i.i.i.i.i.i.i1131: ; preds = %for.body.i.i.i.i.i.i.i.i.i1127 + %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1132 = add i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1129, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1133 = and i64 %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1132, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1134 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1129, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1135 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1133, %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1134 + store i64 %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1135, ptr %394, align 8 + %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1136 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1133, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1136, label %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1153, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1137 + +if.then13.i.i.i.i.i.i.i.i.i.i.i.i1153: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i1131 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %394) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1137 unwind label %terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1154 + +terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1154: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1153 + %396 = landingpad { ptr, i32 } + catch ptr null + %397 = extractvalue { ptr, i32 } %396, 0 + call void @__clang_call_terminate(ptr %397) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1137: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1153, %if.then.i.i.i.i.i.i.i.i.i.i.i.i1131, %for.body.i.i.i.i.i.i.i.i.i1127 + %incdec.ptr.i.i.i.i.i.i.i.i.i1138 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1128, i64 8 + %cmp.not.i.i.i.i.i.i.i.i.i1139 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i1138, %393 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i1139, label %invoke.contthread-pre-split.i.i.i.i.i.i1140, label %for.body.i.i.i.i.i.i.i.i.i1127, !llvm.loop !21 + +invoke.contthread-pre-split.i.i.i.i.i.i1140: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1137 + %.pr.i.i.i.i.i.i1141 = load ptr, ptr %__first.addr.04.i.i.i.i1124, align 8 + br label %invoke.cont.i.i.i.i.i.i1142 + +invoke.cont.i.i.i.i.i.i1142: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i1140, %for.body.i.i.i.i1123 + %398 = phi ptr [ %.pr.i.i.i.i.i.i1141, %invoke.contthread-pre-split.i.i.i.i.i.i1140 ], [ %392, %for.body.i.i.i.i1123 ] + %tobool.not.i.i.i.i.i.i.i.i1143 = icmp eq ptr %398, null + br i1 %tobool.not.i.i.i.i.i.i.i.i1143, label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1145, label %if.then.i.i.i.i.i.i.i.i1144 + +if.then.i.i.i.i.i.i.i.i1144: ; preds = %invoke.cont.i.i.i.i.i.i1142 + call void @_ZdlPv(ptr noundef nonnull %398) #26 + br label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1145 + +_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1145: ; preds = %if.then.i.i.i.i.i.i.i.i1144, %invoke.cont.i.i.i.i.i.i1142 + %incdec.ptr.i.i.i.i1146 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1124, i64 24 + %cmp.not.i.i.i.i1147 = icmp eq ptr %incdec.ptr.i.i.i.i1146, %391 + br i1 %cmp.not.i.i.i.i1147, label %invoke.contthread-pre-split.i1148, label %for.body.i.i.i.i1123, !llvm.loop !38 + +invoke.contthread-pre-split.i1148: ; preds = %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1145 + %.pr.i1149 = load ptr, ptr %next_split_new_part, align 8 + br label %invoke.cont.i1150 + +invoke.cont.i1150: ; preds = %invoke.contthread-pre-split.i1148, %ehcleanup494 + %399 = phi ptr [ %.pr.i1149, %invoke.contthread-pre-split.i1148 ], [ %390, %ehcleanup494 ] + %tobool.not.i.i.i1151 = icmp eq ptr %399, null + br i1 %tobool.not.i.i.i1151, label %ehcleanup531, label %if.then.i.i.i1152 + +if.then.i.i.i1152: ; preds = %invoke.cont.i1150 + call void @_ZdlPv(ptr noundef nonnull %399) #26 + br label %ehcleanup531 + +while.end: ; preds = %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1120, %land.rhs, %invoke.cont362 + %400 = load ptr, ptr %_M_finish.i1156, align 8 + %401 = load ptr, ptr %split_new_part, align 8 + %402 = load ptr, ptr %_M_finish.i.i774, align 8 + %403 = load ptr, ptr %part_out, align 8 + %sub.ptr.lhs.cast.i.i1158 = ptrtoint ptr %400 to i64 + %sub.ptr.rhs.cast.i.i1159 = ptrtoint ptr %403 to i64 + %sub.ptr.sub.i.i1160 = sub i64 %sub.ptr.lhs.cast.i.i1158, %sub.ptr.rhs.cast.i.i1159 + %add.ptr.i.i1161 = getelementptr inbounds i8, ptr %403, i64 %sub.ptr.sub.i.i1160 + invoke void @_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %part_out, ptr %add.ptr.i.i1161, ptr %401, ptr %402) + to label %invoke.cont508 unwind label %lpad355.loopexit.split-lp + +invoke.cont508: ; preds = %while.end + %404 = load ptr, ptr %_M_left.i.i.i.i.i499, align 8 + %cmp.i1167.not1801 = icmp eq ptr %404, %142 + br i1 %cmp.i1167.not1801, label %for.end530, label %for.body519 + +for.body519: ; preds = %invoke.cont508, %for.inc528 + %it2.sroa.0.01802 = phi ptr [ %call.i1232, %for.inc528 ], [ %404, %invoke.cont508 ] + %_M_storage.i.i1168 = getelementptr inbounds i8, ptr %it2.sroa.0.01802, i64 32 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i1169) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i1170) + %405 = load ptr, ptr %_M_parent.i.i.i.i.i527, align 8 + %cmp.not5.i.i.i.i1173 = icmp eq ptr %405, null + br i1 %cmp.not5.i.i.i.i1173, label %if.then.i1199, label %while.body.lr.ph.i.i.i.i1174 + +while.body.lr.ph.i.i.i.i1174: ; preds = %for.body519 + %406 = load ptr, ptr %_M_storage.i.i1168, align 8 + %bf.load3.i.i.i.i.i.i1175 = load i64, ptr %406, align 8 + %bf.clear4.i.i.i.i.i.i1176 = and i64 %bf.load3.i.i.i.i.i.i1175, 1099511627775 + br label %while.body.i.i.i.i1177 + +while.body.i.i.i.i1177: ; preds = %while.body.i.i.i.i1177, %while.body.lr.ph.i.i.i.i1174 + %__x.addr.07.i.i.i.i1178 = phi ptr [ %405, %while.body.lr.ph.i.i.i.i1174 ], [ %__x.addr.1.i.i.i.i1187, %while.body.i.i.i.i1177 ] + %__y.addr.06.i.i.i.i1179 = phi ptr [ %add.ptr.i.i.i.i528, %while.body.lr.ph.i.i.i.i1174 ], [ %__y.addr.1.i.i.i.i1184, %while.body.i.i.i.i1177 ] + %_M_storage.i.i.i.i.i.i1180 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i1178, i64 32 + %407 = load ptr, ptr %_M_storage.i.i.i.i.i.i1180, align 8 + %bf.load.i.i.i.i.i.i1181 = load i64, ptr %407, align 8 + %bf.clear.i.i.i.i.i.i1182 = and i64 %bf.load.i.i.i.i.i.i1181, 1099511627775 + %cmp.i.i.i.i.i.i1183 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i1182, %bf.clear4.i.i.i.i.i.i1176 + %__y.addr.1.i.i.i.i1184 = select i1 %cmp.i.i.i.i.i.i1183, ptr %__y.addr.06.i.i.i.i1179, ptr %__x.addr.07.i.i.i.i1178 + %__x.addr.1.in.v.i.i.i.i1185 = select i1 %cmp.i.i.i.i.i.i1183, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i1186 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i1178, i64 %__x.addr.1.in.v.i.i.i.i1185 + %__x.addr.1.i.i.i.i1187 = load ptr, ptr %__x.addr.1.in.i.i.i.i1186, align 8 + %cmp.not.i.i.i.i1188 = icmp eq ptr %__x.addr.1.i.i.i.i1187, null + br i1 %cmp.not.i.i.i.i1188, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i1189, label %while.body.i.i.i.i1177, !llvm.loop !275 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i1189: ; preds = %while.body.i.i.i.i1177 + %cmp.i.i1190 = icmp eq ptr %__y.addr.1.i.i.i.i1184, %add.ptr.i.i.i.i528 + br i1 %cmp.i.i1190, label %if.then.i1199, label %lor.rhs.i1191 + +lor.rhs.i1191: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i1189 + %_M_storage.i.i.i1192 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i1184, i64 32 + %408 = load ptr, ptr %_M_storage.i.i.i1192, align 8 + %bf.load3.i.i.i1193 = load i64, ptr %408, align 8 + %bf.clear4.i.i.i1194 = and i64 %bf.load3.i.i.i1193, 1099511627775 + %cmp.i.i.i1195 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i1176, %bf.clear4.i.i.i1194 + br i1 %cmp.i.i.i1195, label %if.then.i1199, label %invoke.cont522 + +if.then.i1199: ; preds = %lor.rhs.i1191, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i1189, %for.body519 + %__y.addr.0.lcssa.i.i.i9.i1200 = phi ptr [ %__y.addr.1.i.i.i.i1184, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i1189 ], [ %__y.addr.1.i.i.i.i1184, %lor.rhs.i1191 ], [ %add.ptr.i.i.i.i528, %for.body519 ] + store ptr %_M_storage.i.i1168, ptr %ref.tmp9.i1169, align 8 + %call12.i1202 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St3mapIS3_iSt4lessIS3_ESaIS4_IS5_iEEEESt10_Select1stISC_ES8_SaISC_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESL_IJEEEEESt17_Rb_tree_iteratorISC_ESt23_Rb_tree_const_iteratorISC_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %dni, ptr %__y.addr.0.lcssa.i.i.i9.i1200, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i1169, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i1170) + to label %invoke.cont522 unwind label %lpad355.loopexit + +invoke.cont522: ; preds = %lor.rhs.i1191, %if.then.i1199 + %__i.sroa.0.0.i1197 = phi ptr [ %__y.addr.1.i.i.i.i1184, %lor.rhs.i1191 ], [ %call12.i1202, %if.then.i1199 ] + %second.i1198 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i1197, i64 40 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i1169) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i1170) + %_M_parent.i.i.i.i.i1205 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i1197, i64 56 + %add.ptr.i.i.i.i1206 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i1197, i64 48 + %__x.046.i.i.i = load ptr, ptr %_M_parent.i.i.i.i.i1205, align 8 + %cmp.not47.i.i.i = icmp eq ptr %__x.046.i.i.i, null + br i1 %cmp.not47.i.i.i, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseERS5_.exit.i, label %while.body.lr.ph.i.i.i1207 + +while.body.lr.ph.i.i.i1207: ; preds = %invoke.cont522 + %second525 = getelementptr inbounds i8, ptr %it2.sroa.0.01802, i64 40 + %409 = load ptr, ptr %second525, align 8 + %bf.load3.i.i.i.i.i1208 = load i64, ptr %409, align 8 + %bf.clear4.i.i.i.i.i1209 = and i64 %bf.load3.i.i.i.i.i1208, 1099511627775 + br label %while.body.i.i.i1210 + +while.body.i.i.i1210: ; preds = %if.end19.i.i.i, %while.body.lr.ph.i.i.i1207 + %__x.049.i.i.i = phi ptr [ %__x.046.i.i.i, %while.body.lr.ph.i.i.i1207 ], [ %__x.0.i.i.i, %if.end19.i.i.i ] + %__y.048.i.i.i = phi ptr [ %add.ptr.i.i.i.i1206, %while.body.lr.ph.i.i.i1207 ], [ %__y.1.i.i.i, %if.end19.i.i.i ] + %_M_storage.i.i.i.i.i1211 = getelementptr inbounds i8, ptr %__x.049.i.i.i, i64 32 + %410 = load ptr, ptr %_M_storage.i.i.i.i.i1211, align 8 + %bf.load.i.i.i.i.i1212 = load i64, ptr %410, align 8 + %bf.clear.i.i.i.i.i1213 = and i64 %bf.load.i.i.i.i.i1212, 1099511627775 + %cmp.i.i.i.i.i1214 = icmp samesign ult i64 %bf.clear.i.i.i.i.i1213, %bf.clear4.i.i.i.i.i1209 + br i1 %cmp.i.i.i.i.i1214, label %if.end19.i.i.i, label %if.else.i.i.i1215 + +if.else.i.i.i1215: ; preds = %while.body.i.i.i1210 + %cmp.i.i22.i.i.i = icmp samesign ult i64 %bf.clear4.i.i.i.i.i1209, %bf.clear.i.i.i.i.i1213 + br i1 %cmp.i.i22.i.i.i, label %if.end19.i.i.i, label %if.else12.i.i.i + +if.else12.i.i.i: ; preds = %if.else.i.i.i1215 + %_M_left.i23.i.i.i = getelementptr inbounds i8, ptr %__x.049.i.i.i, i64 16 + %411 = load ptr, ptr %_M_left.i23.i.i.i, align 8 + %_M_right.i24.i.i.i = getelementptr inbounds i8, ptr %__x.049.i.i.i, i64 24 + %412 = load ptr, ptr %_M_right.i24.i.i.i, align 8 + %cmp.not5.i.i.i.i1216 = icmp eq ptr %411, null + br i1 %cmp.not5.i.i.i.i1216, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i, label %while.body.i.i.i.i1217 + +while.body.i.i.i.i1217: ; preds = %if.else12.i.i.i, %while.body.i.i.i.i1217 + %__x.addr.07.i.i.i.i1218 = phi ptr [ %__x.addr.1.i.i.i.i1227, %while.body.i.i.i.i1217 ], [ %411, %if.else12.i.i.i ] + %__y.addr.06.i.i.i.i1219 = phi ptr [ %__y.addr.1.i.i.i.i1224, %while.body.i.i.i.i1217 ], [ %__x.049.i.i.i, %if.else12.i.i.i ] + %_M_storage.i.i.i.i.i.i1220 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i1218, i64 32 + %413 = load ptr, ptr %_M_storage.i.i.i.i.i.i1220, align 8 + %bf.load.i.i.i.i.i.i1221 = load i64, ptr %413, align 8 + %bf.clear.i.i.i.i.i.i1222 = and i64 %bf.load.i.i.i.i.i.i1221, 1099511627775 + %cmp.i.i.i.i.i.i1223 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i1222, %bf.clear4.i.i.i.i.i1209 + %__y.addr.1.i.i.i.i1224 = select i1 %cmp.i.i.i.i.i.i1223, ptr %__y.addr.06.i.i.i.i1219, ptr %__x.addr.07.i.i.i.i1218 + %__x.addr.1.in.v.i.i.i.i1225 = select i1 %cmp.i.i.i.i.i.i1223, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i1226 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i1218, i64 %__x.addr.1.in.v.i.i.i.i1225 + %__x.addr.1.i.i.i.i1227 = load ptr, ptr %__x.addr.1.in.i.i.i.i1226, align 8 + %cmp.not.i.i.i.i1228 = icmp eq ptr %__x.addr.1.i.i.i.i1227, null + br i1 %cmp.not.i.i.i.i1228, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i, label %while.body.i.i.i.i1217, !llvm.loop !233 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i: ; preds = %while.body.i.i.i.i1217, %if.else12.i.i.i + %__y.addr.0.lcssa.i.i.i.i = phi ptr [ %__x.049.i.i.i, %if.else12.i.i.i ], [ %__y.addr.1.i.i.i.i1224, %while.body.i.i.i.i1217 ] + %cmp.not5.i25.i.i.i = icmp eq ptr %412, null + br i1 %cmp.not5.i25.i.i.i, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseERS5_.exit.i, label %while.body.i29.i.i.i + +while.body.i29.i.i.i: ; preds = %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i, %while.body.i29.i.i.i + %__x.addr.07.i30.i.i.i = phi ptr [ %__x.addr.1.i39.i.i.i, %while.body.i29.i.i.i ], [ %412, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i ] + %__y.addr.06.i31.i.i.i = phi ptr [ %__y.addr.1.i36.i.i.i, %while.body.i29.i.i.i ], [ %__y.048.i.i.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i ] + %_M_storage.i.i.i32.i.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i30.i.i.i, i64 32 + %414 = load ptr, ptr %_M_storage.i.i.i32.i.i.i, align 8 + %bf.load3.i.i.i33.i.i.i = load i64, ptr %414, align 8 + %bf.clear4.i.i.i34.i.i.i = and i64 %bf.load3.i.i.i33.i.i.i, 1099511627775 + %cmp.i.i.i35.i.i.i = icmp samesign ult i64 %bf.clear4.i.i.i.i.i1209, %bf.clear4.i.i.i34.i.i.i + %__y.addr.1.i36.i.i.i = select i1 %cmp.i.i.i35.i.i.i, ptr %__x.addr.07.i30.i.i.i, ptr %__y.addr.06.i31.i.i.i + %__x.addr.1.in.v.i37.i.i.i = select i1 %cmp.i.i.i35.i.i.i, i64 16, i64 24 + %__x.addr.1.in.i38.i.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i30.i.i.i, i64 %__x.addr.1.in.v.i37.i.i.i + %__x.addr.1.i39.i.i.i = load ptr, ptr %__x.addr.1.in.i38.i.i.i, align 8 + %cmp.not.i40.i.i.i = icmp eq ptr %__x.addr.1.i39.i.i.i, null + br i1 %cmp.not.i40.i.i.i, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseERS5_.exit.i, label %while.body.i29.i.i.i, !llvm.loop !241 + +if.end19.i.i.i: ; preds = %if.else.i.i.i1215, %while.body.i.i.i1210 + %.sink.i.i.i = phi i64 [ 24, %while.body.i.i.i1210 ], [ 16, %if.else.i.i.i1215 ] + %__y.1.i.i.i = phi ptr [ %__y.048.i.i.i, %while.body.i.i.i1210 ], [ %__x.049.i.i.i, %if.else.i.i.i1215 ] + %_M_left.i.i.i.i = getelementptr inbounds i8, ptr %__x.049.i.i.i, i64 %.sink.i.i.i + %__x.0.i.i.i = load ptr, ptr %_M_left.i.i.i.i, align 8 + %cmp.not.i.i.i1230 = icmp eq ptr %__x.0.i.i.i, null + br i1 %cmp.not.i.i.i1230, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseERS5_.exit.i, label %while.body.i.i.i1210, !llvm.loop !242 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseERS5_.exit.i: ; preds = %if.end19.i.i.i, %while.body.i29.i.i.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i, %invoke.cont522 + %retval.sroa.0.0.i.i.i = phi ptr [ %__y.addr.0.lcssa.i.i.i.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i ], [ %add.ptr.i.i.i.i1206, %invoke.cont522 ], [ %__y.addr.0.lcssa.i.i.i.i, %while.body.i29.i.i.i ], [ %__y.1.i.i.i, %if.end19.i.i.i ] + %retval.sroa.3.0.i.i.i = phi ptr [ %__y.048.i.i.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i ], [ %add.ptr.i.i.i.i1206, %invoke.cont522 ], [ %__y.addr.1.i36.i.i.i, %while.body.i29.i.i.i ], [ %__y.1.i.i.i, %if.end19.i.i.i ] + %_M_node_count.i.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i1197, i64 80 + %_M_left.i.i1514 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i1197, i64 64 + %415 = load ptr, ptr %_M_left.i.i1514, align 8 + %cmp.i.i1515 = icmp eq ptr %retval.sroa.0.0.i.i.i, %415 + %cmp.i1.i = icmp eq ptr %retval.sroa.3.0.i.i.i, %add.ptr.i.i.i.i1206 + %or.cond = select i1 %cmp.i.i1515, i1 %cmp.i1.i, i1 false + br i1 %or.cond, label %if.then.i1531, label %if.else.i1516 + +if.then.i1531: ; preds = %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseERS5_.exit.i + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %second.i1198, ptr noundef %__x.046.i.i.i) + to label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5clearEv.exit.i unwind label %terminate.lpad.i.i1533 + +terminate.lpad.i.i1533: ; preds = %if.then.i1531 + %416 = landingpad { ptr, i32 } + catch ptr null + %417 = extractvalue { ptr, i32 } %416, 0 + call void @__clang_call_terminate(ptr %417) #25 + unreachable + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5clearEv.exit.i: ; preds = %if.then.i1531 + store ptr null, ptr %_M_parent.i.i.i.i.i1205, align 8 + store ptr %add.ptr.i.i.i.i1206, ptr %_M_left.i.i1514, align 8 + %_M_right.i.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i1197, i64 72 + store ptr %add.ptr.i.i.i.i1206, ptr %_M_right.i.i.i, align 8 + store i64 0, ptr %_M_node_count.i.i.i, align 8 + br label %for.inc528 + +if.else.i1516: ; preds = %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseERS5_.exit.i + %cmp.i3.not8.i = icmp eq ptr %retval.sroa.0.0.i.i.i, %retval.sroa.3.0.i.i.i + br i1 %cmp.i3.not8.i, label %for.inc528, label %while.body.i + +while.body.i: ; preds = %if.else.i1516, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E.exit.i + %__first.sroa.0.09.i = phi ptr [ %call.i.i1517, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E.exit.i ], [ %retval.sroa.0.0.i.i.i, %if.else.i1516 ] + %call.i.i1517 = call noundef ptr @_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base(ptr noundef %__first.sroa.0.09.i) #27 + %call.i5.i = call noundef nonnull ptr @_ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_(ptr noundef %__first.sroa.0.09.i, ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i.i.i.i1206) #23 + %_M_storage.i.i.i.i.i1518 = getelementptr inbounds i8, ptr %call.i5.i, i64 32 + %418 = load ptr, ptr %_M_storage.i.i.i.i.i1518, align 8 + %bf.load.i.i.i.i.i.i.i.i.i1519 = load i64, ptr %418, align 8 + %419 = and i64 %bf.load.i.i.i.i.i.i.i.i.i1519, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i1520 = icmp eq i64 %419, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i1520, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E.exit.i, label %if.then.i.i.i.i.i.i.i.i.i1521 + +if.then.i.i.i.i.i.i.i.i.i1521: ; preds = %while.body.i + %bf.value.i.i.i.i.i.i.i.i.i1522 = add i64 %bf.load.i.i.i.i.i.i.i.i.i1519, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i1523 = and i64 %bf.value.i.i.i.i.i.i.i.i.i1522, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i1524 = and i64 %bf.load.i.i.i.i.i.i.i.i.i1519, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i1525 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i1523, %bf.clear7.i.i.i.i.i.i.i.i.i1524 + store i64 %bf.set.i.i.i.i.i.i.i.i.i1525, ptr %418, align 8 + %cmp12.i.i.i.i.i.i.i.i.i1526 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i1523, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i1526, label %if.then13.i.i.i.i.i.i.i.i.i1528, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E.exit.i + +if.then13.i.i.i.i.i.i.i.i.i1528: ; preds = %if.then.i.i.i.i.i.i.i.i.i1521 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %418) + to label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E.exit.i unwind label %terminate.lpad.i.i.i.i.i.i.i.i1529 + +terminate.lpad.i.i.i.i.i.i.i.i1529: ; preds = %if.then13.i.i.i.i.i.i.i.i.i1528 + %420 = landingpad { ptr, i32 } + catch ptr null + %421 = extractvalue { ptr, i32 } %420, 0 + call void @__clang_call_terminate(ptr %421) #25 + unreachable + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E.exit.i: ; preds = %if.then13.i.i.i.i.i.i.i.i.i1528, %if.then.i.i.i.i.i.i.i.i.i1521, %while.body.i + call void @_ZdlPv(ptr noundef nonnull %call.i5.i) #26 + %422 = load i64, ptr %_M_node_count.i.i.i, align 8 + %dec.i.i = add i64 %422, -1 + store i64 %dec.i.i, ptr %_M_node_count.i.i.i, align 8 + %cmp.i3.not.i = icmp eq ptr %call.i.i1517, %retval.sroa.3.0.i.i.i + br i1 %cmp.i3.not.i, label %for.inc528, label %while.body.i, !llvm.loop !296 + +for.inc528: ; preds = %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E.exit.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5clearEv.exit.i, %if.else.i1516 + %call.i1232 = call noundef ptr @_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base(ptr noundef %it2.sroa.0.01802) #27 + %cmp.i1167.not = icmp eq ptr %call.i1232, %142 + br i1 %cmp.i1167.not, label %for.end530, label %for.body519, !llvm.loop !297 + +for.end530: ; preds = %for.inc528, %invoke.cont508 + %423 = load ptr, ptr %split_new_part, align 8 + %424 = load ptr, ptr %_M_finish.i.i774, align 8 + %cmp.not3.i.i.i.i1234 = icmp eq ptr %423, %424 + br i1 %cmp.not3.i.i.i.i1234, label %invoke.cont.i1262, label %for.body.i.i.i.i1235 + +for.body.i.i.i.i1235: ; preds = %for.end530, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1257 + %__first.addr.04.i.i.i.i1236 = phi ptr [ %incdec.ptr.i.i.i.i1258, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1257 ], [ %423, %for.end530 ] + %425 = load ptr, ptr %__first.addr.04.i.i.i.i1236, align 8 + %_M_finish.i.i.i.i.i.i1237 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1236, i64 8 + %426 = load ptr, ptr %_M_finish.i.i.i.i.i.i1237, align 8 + %cmp.not3.i.i.i.i.i.i.i.i.i1238 = icmp eq ptr %425, %426 + br i1 %cmp.not3.i.i.i.i.i.i.i.i.i1238, label %invoke.cont.i.i.i.i.i.i1254, label %for.body.i.i.i.i.i.i.i.i.i1239 + +for.body.i.i.i.i.i.i.i.i.i1239: ; preds = %for.body.i.i.i.i1235, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1249 + %__first.addr.04.i.i.i.i.i.i.i.i.i1240 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i1250, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1249 ], [ %425, %for.body.i.i.i.i1235 ] + %427 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1240, align 8 + %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1241 = load i64, ptr %427, align 8 + %428 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1241, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1242 = icmp eq i64 %428, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1242, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1249, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i1243 + +if.then.i.i.i.i.i.i.i.i.i.i.i.i1243: ; preds = %for.body.i.i.i.i.i.i.i.i.i1239 + %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1244 = add i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1241, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1245 = and i64 %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1244, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1246 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1241, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1247 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1245, %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1246 + store i64 %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1247, ptr %427, align 8 + %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1248 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1245, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1248, label %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1265, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1249 + +if.then13.i.i.i.i.i.i.i.i.i.i.i.i1265: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i1243 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %427) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1249 unwind label %terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1266 + +terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1266: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1265 + %429 = landingpad { ptr, i32 } + catch ptr null + %430 = extractvalue { ptr, i32 } %429, 0 + call void @__clang_call_terminate(ptr %430) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1249: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1265, %if.then.i.i.i.i.i.i.i.i.i.i.i.i1243, %for.body.i.i.i.i.i.i.i.i.i1239 + %incdec.ptr.i.i.i.i.i.i.i.i.i1250 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1240, i64 8 + %cmp.not.i.i.i.i.i.i.i.i.i1251 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i1250, %426 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i1251, label %invoke.contthread-pre-split.i.i.i.i.i.i1252, label %for.body.i.i.i.i.i.i.i.i.i1239, !llvm.loop !21 + +invoke.contthread-pre-split.i.i.i.i.i.i1252: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1249 + %.pr.i.i.i.i.i.i1253 = load ptr, ptr %__first.addr.04.i.i.i.i1236, align 8 + br label %invoke.cont.i.i.i.i.i.i1254 + +invoke.cont.i.i.i.i.i.i1254: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i1252, %for.body.i.i.i.i1235 + %431 = phi ptr [ %.pr.i.i.i.i.i.i1253, %invoke.contthread-pre-split.i.i.i.i.i.i1252 ], [ %425, %for.body.i.i.i.i1235 ] + %tobool.not.i.i.i.i.i.i.i.i1255 = icmp eq ptr %431, null + br i1 %tobool.not.i.i.i.i.i.i.i.i1255, label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1257, label %if.then.i.i.i.i.i.i.i.i1256 + +if.then.i.i.i.i.i.i.i.i1256: ; preds = %invoke.cont.i.i.i.i.i.i1254 + call void @_ZdlPv(ptr noundef nonnull %431) #26 + br label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1257 + +_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1257: ; preds = %if.then.i.i.i.i.i.i.i.i1256, %invoke.cont.i.i.i.i.i.i1254 + %incdec.ptr.i.i.i.i1258 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1236, i64 24 + %cmp.not.i.i.i.i1259 = icmp eq ptr %incdec.ptr.i.i.i.i1258, %424 + br i1 %cmp.not.i.i.i.i1259, label %invoke.contthread-pre-split.i1260, label %for.body.i.i.i.i1235, !llvm.loop !38 + +invoke.contthread-pre-split.i1260: ; preds = %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1257 + %.pr.i1261 = load ptr, ptr %split_new_part, align 8 + br label %invoke.cont.i1262 + +invoke.cont.i1262: ; preds = %invoke.contthread-pre-split.i1260, %for.end530 + %432 = phi ptr [ %.pr.i1261, %invoke.contthread-pre-split.i1260 ], [ %423, %for.end530 ] + %tobool.not.i.i.i1263 = icmp eq ptr %432, null + br i1 %tobool.not.i.i.i1263, label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1267, label %if.then.i.i.i1264 + +if.then.i.i.i1264: ; preds = %invoke.cont.i1262 + call void @_ZdlPv(ptr noundef nonnull %432) #26 + br label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1267 + +_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1267: ; preds = %invoke.cont.i1262, %if.then.i.i.i1264 + %433 = load ptr, ptr %_M_parent.i.i.i.i.i498, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %dni_rem, ptr noundef %433) + to label %for.inc534 unwind label %terminate.lpad.i.i + +terminate.lpad.i.i: ; preds = %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1267 + %434 = landingpad { ptr, i32 } + catch ptr null + %435 = extractvalue { ptr, i32 } %434, 0 + call void @__clang_call_terminate(ptr %435) #25 + unreachable + +ehcleanup531: ; preds = %lpad355.loopexit, %lpad355.loopexit.split-lp, %if.then.i.i.i1152, %invoke.cont.i1150 + %.pn2.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn2.pn.pn.pn, %invoke.cont.i1150 ], [ %.pn2.pn.pn.pn, %if.then.i.i.i1152 ], [ %lpad.loopexit1600, %lpad355.loopexit ], [ %lpad.loopexit.split-lp1601, %lpad355.loopexit.split-lp ] + %436 = load ptr, ptr %split_new_part, align 8 + %437 = load ptr, ptr %_M_finish.i.i774, align 8 + %cmp.not3.i.i.i.i1270 = icmp eq ptr %436, %437 + br i1 %cmp.not3.i.i.i.i1270, label %invoke.cont.i1298, label %for.body.i.i.i.i1271 + +for.body.i.i.i.i1271: ; preds = %ehcleanup531, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1293 + %__first.addr.04.i.i.i.i1272 = phi ptr [ %incdec.ptr.i.i.i.i1294, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1293 ], [ %436, %ehcleanup531 ] + %438 = load ptr, ptr %__first.addr.04.i.i.i.i1272, align 8 + %_M_finish.i.i.i.i.i.i1273 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1272, i64 8 + %439 = load ptr, ptr %_M_finish.i.i.i.i.i.i1273, align 8 + %cmp.not3.i.i.i.i.i.i.i.i.i1274 = icmp eq ptr %438, %439 + br i1 %cmp.not3.i.i.i.i.i.i.i.i.i1274, label %invoke.cont.i.i.i.i.i.i1290, label %for.body.i.i.i.i.i.i.i.i.i1275 + +for.body.i.i.i.i.i.i.i.i.i1275: ; preds = %for.body.i.i.i.i1271, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1285 + %__first.addr.04.i.i.i.i.i.i.i.i.i1276 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i1286, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1285 ], [ %438, %for.body.i.i.i.i1271 ] + %440 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1276, align 8 + %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1277 = load i64, ptr %440, align 8 + %441 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1277, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1278 = icmp eq i64 %441, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1278, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1285, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i1279 + +if.then.i.i.i.i.i.i.i.i.i.i.i.i1279: ; preds = %for.body.i.i.i.i.i.i.i.i.i1275 + %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1280 = add i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1277, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1281 = and i64 %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1280, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1282 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1277, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1283 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1281, %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1282 + store i64 %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1283, ptr %440, align 8 + %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1284 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1281, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1284, label %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1301, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1285 + +if.then13.i.i.i.i.i.i.i.i.i.i.i.i1301: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i1279 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %440) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1285 unwind label %terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1302 + +terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1302: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1301 + %442 = landingpad { ptr, i32 } + catch ptr null + %443 = extractvalue { ptr, i32 } %442, 0 + call void @__clang_call_terminate(ptr %443) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1285: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1301, %if.then.i.i.i.i.i.i.i.i.i.i.i.i1279, %for.body.i.i.i.i.i.i.i.i.i1275 + %incdec.ptr.i.i.i.i.i.i.i.i.i1286 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1276, i64 8 + %cmp.not.i.i.i.i.i.i.i.i.i1287 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i1286, %439 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i1287, label %invoke.contthread-pre-split.i.i.i.i.i.i1288, label %for.body.i.i.i.i.i.i.i.i.i1275, !llvm.loop !21 + +invoke.contthread-pre-split.i.i.i.i.i.i1288: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1285 + %.pr.i.i.i.i.i.i1289 = load ptr, ptr %__first.addr.04.i.i.i.i1272, align 8 + br label %invoke.cont.i.i.i.i.i.i1290 + +invoke.cont.i.i.i.i.i.i1290: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i1288, %for.body.i.i.i.i1271 + %444 = phi ptr [ %.pr.i.i.i.i.i.i1289, %invoke.contthread-pre-split.i.i.i.i.i.i1288 ], [ %438, %for.body.i.i.i.i1271 ] + %tobool.not.i.i.i.i.i.i.i.i1291 = icmp eq ptr %444, null + br i1 %tobool.not.i.i.i.i.i.i.i.i1291, label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1293, label %if.then.i.i.i.i.i.i.i.i1292 + +if.then.i.i.i.i.i.i.i.i1292: ; preds = %invoke.cont.i.i.i.i.i.i1290 + call void @_ZdlPv(ptr noundef nonnull %444) #26 + br label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1293 + +_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1293: ; preds = %if.then.i.i.i.i.i.i.i.i1292, %invoke.cont.i.i.i.i.i.i1290 + %incdec.ptr.i.i.i.i1294 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1272, i64 24 + %cmp.not.i.i.i.i1295 = icmp eq ptr %incdec.ptr.i.i.i.i1294, %437 + br i1 %cmp.not.i.i.i.i1295, label %invoke.contthread-pre-split.i1296, label %for.body.i.i.i.i1271, !llvm.loop !38 + +invoke.contthread-pre-split.i1296: ; preds = %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1293 + %.pr.i1297 = load ptr, ptr %split_new_part, align 8 + br label %invoke.cont.i1298 + +invoke.cont.i1298: ; preds = %invoke.contthread-pre-split.i1296, %ehcleanup531 + %445 = phi ptr [ %.pr.i1297, %invoke.contthread-pre-split.i1296 ], [ %436, %ehcleanup531 ] + %tobool.not.i.i.i1299 = icmp eq ptr %445, null + br i1 %tobool.not.i.i.i1299, label %ehcleanup532, label %if.then.i.i.i1300 + +if.then.i.i.i1300: ; preds = %invoke.cont.i1298 + call void @_ZdlPv(ptr noundef nonnull %445) #26 + br label %ehcleanup532 + +ehcleanup532: ; preds = %if.then.i.i.i1300, %invoke.cont.i1298, %lpad336.body, %lpad334 + %.pn8 = phi { ptr, i32 } [ %eh.lpad-body1343, %lpad336.body ], [ %232, %lpad334 ], [ %.pn2.pn.pn.pn.pn, %invoke.cont.i1298 ], [ %.pn2.pn.pn.pn.pn, %if.then.i.i.i1300 ] + %446 = load ptr, ptr %_M_parent.i.i.i.i.i498, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %dni_rem, ptr noundef %446) + to label %ehcleanup537 unwind label %terminate.lpad.i.i1305 + +terminate.lpad.i.i1305: ; preds = %ehcleanup532 + %447 = landingpad { ptr, i32 } + catch ptr null + %448 = extractvalue { ptr, i32 } %447, 0 + call void @__clang_call_terminate(ptr %448) #25 + unreachable + +for.inc534: ; preds = %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1267, %for.body316 + %call.i1307 = call noundef ptr @_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base(ptr noundef %it308.sroa.0.01804) #27 + %cmp.i491.not = icmp eq ptr %call.i1307, %0 + br i1 %cmp.i491.not, label %for.end536, label %for.body316, !llvm.loop !298 + +for.end536: ; preds = %for.inc534, %for.end307 + %449 = load ptr, ptr %_M_parent.i.i.i.i.i26, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn_cons, ptr noundef %449) + to label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1310 unwind label %terminate.lpad.i.i1309 + +terminate.lpad.i.i1309: ; preds = %for.end536 + %450 = landingpad { ptr, i32 } + catch ptr null + %451 = extractvalue { ptr, i32 } %450, 0 + call void @__clang_call_terminate(ptr %451) #25 + unreachable + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1310: ; preds = %for.end536 + %452 = load ptr, ptr %_M_parent.i.i.i.i.i22, align 8 + invoke void @_ZNSt8_Rb_treeIiSt4pairIKiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS6_EEESt10_Select1stIS9_ESt4lessIiESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E(ptr noundef nonnull align 8 dereferenceable(48) %new_part_rec, ptr noundef %452) + to label %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit unwind label %terminate.lpad.i.i1312 + +terminate.lpad.i.i1312: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1310 + %453 = landingpad { ptr, i32 } + catch ptr null + %454 = extractvalue { ptr, i32 } %453, 0 + call void @__clang_call_terminate(ptr %454) #25 + unreachable + +_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1310 + %455 = load ptr, ptr %_M_parent.i.i.i.i.i18, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St6vectorIS3_SaIS3_EEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E(ptr noundef nonnull align 8 dereferenceable(48) %new_part_c, ptr noundef %455) + to label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit unwind label %terminate.lpad.i.i1314 + +terminate.lpad.i.i1314: ; preds = %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit + %456 = landingpad { ptr, i32 } + catch ptr null + %457 = extractvalue { ptr, i32 } %456, 0 + call void @__clang_call_terminate(ptr %457) #25 + unreachable + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit: ; preds = %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit + %458 = load ptr, ptr %_M_parent.i.i.i.i.i, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St6vectorIS3_SaIS3_EEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E(ptr noundef nonnull align 8 dereferenceable(48) %new_part, ptr noundef %458) + to label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1317 unwind label %terminate.lpad.i.i1316 + +terminate.lpad.i.i1316: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit + %459 = landingpad { ptr, i32 } + catch ptr null + %460 = extractvalue { ptr, i32 } %459, 0 + call void @__clang_call_terminate(ptr %460) #25 + unreachable + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1317: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit + ret void + +ehcleanup537: ; preds = %ehcleanup532, %lpad296, %lpad254, %ehcleanup220, %lpad + %.pn15.pn = phi { ptr, i32 } [ %.pn15, %ehcleanup220 ], [ %27, %lpad ], [ %129, %lpad254 ], [ %140, %lpad296 ], [ %.pn8, %ehcleanup532 ] + %461 = load ptr, ptr %_M_parent.i.i.i.i.i26, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn_cons, ptr noundef %461) + to label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1320 unwind label %terminate.lpad.i.i1319 + +terminate.lpad.i.i1319: ; preds = %ehcleanup537 + %462 = landingpad { ptr, i32 } + catch ptr null + %463 = extractvalue { ptr, i32 } %462, 0 + call void @__clang_call_terminate(ptr %463) #25 + unreachable + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1320: ; preds = %ehcleanup537 + %464 = load ptr, ptr %_M_parent.i.i.i.i.i22, align 8 + invoke void @_ZNSt8_Rb_treeIiSt4pairIKiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS6_EEESt10_Select1stIS9_ESt4lessIiESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E(ptr noundef nonnull align 8 dereferenceable(48) %new_part_rec, ptr noundef %464) + to label %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit1323 unwind label %terminate.lpad.i.i1322 + +terminate.lpad.i.i1322: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1320 + %465 = landingpad { ptr, i32 } + catch ptr null + %466 = extractvalue { ptr, i32 } %465, 0 + call void @__clang_call_terminate(ptr %466) #25 + unreachable + +_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit1323: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1320 + %467 = load ptr, ptr %_M_parent.i.i.i.i.i18, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St6vectorIS3_SaIS3_EEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E(ptr noundef nonnull align 8 dereferenceable(48) %new_part_c, ptr noundef %467) + to label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1326 unwind label %terminate.lpad.i.i1325 + +terminate.lpad.i.i1325: ; preds = %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit1323 + %468 = landingpad { ptr, i32 } + catch ptr null + %469 = extractvalue { ptr, i32 } %468, 0 + call void @__clang_call_terminate(ptr %469) #25 + unreachable + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1326: ; preds = %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit1323 + %470 = load ptr, ptr %_M_parent.i.i.i.i.i, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St6vectorIS3_SaIS3_EEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E(ptr noundef nonnull align 8 dereferenceable(48) %new_part, ptr noundef %470) + to label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1329 unwind label %terminate.lpad.i.i1328 + +terminate.lpad.i.i1328: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1326 + %471 = landingpad { ptr, i32 } + catch ptr null + %472 = extractvalue { ptr, i32 } %471, 0 + call void @__clang_call_terminate(ptr %472) #25 + unreachable + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1329: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1326 + resume { ptr, i32 } %.pn15.pn +} + +; Function Attrs: mustprogress uwtable +define internal fastcc void @_ZN4cvc58internal6theory9datatypes15TheoryDatatypes17separateBisimilarERSt6vectorINS0_12NodeTemplateILb1EEESaIS6_EERS4_IS8_SaIS8_EES9_RSt3mapIS6_S6_St4lessIS6_ESaISt4pairIKS6_S6_EEERSD_IS6_SD_IS6_iSF_SaISG_ISH_iEEESF_SaISG_ISH_SO_EEEib.specialized.4(ptr noundef nonnull align 8 dereferenceable(2008) %this, ptr nocapture noundef nonnull readonly align 8 dereferenceable(24) %part, ptr noundef nonnull align 8 dereferenceable(24) %part_out, ptr noundef nonnull align 8 dereferenceable(24) %exp, ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr noundef nonnull align 8 dereferenceable(48) %dni) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { +entry: + %__second.i.i.i.i.i.i.i1478 = alloca %"class.std::tuple.1060", align 1 + %agg.tmp6.i.i.i.i.i.i1479 = alloca %"class.std::tuple.1066", align 8 + %__second.i.i.i.i.i.i.i1443 = alloca %"class.std::tuple.1060", align 1 + %agg.tmp6.i.i.i.i.i.i1444 = alloca %"class.std::tuple.1066", align 8 + %__second.i.i.i.i.i.i.i1407 = alloca %"class.std::tuple.1060", align 1 + %agg.tmp6.i.i.i.i.i.i1408 = alloca %"class.std::tuple.1066", align 8 + %__second.i.i.i.i.i.i.i1371 = alloca %"class.std::tuple.1060", align 1 + %agg.tmp6.i.i.i.i.i.i1372 = alloca %"class.std::tuple.1066", align 8 + %__z.i = alloca %"struct.std::_Rb_tree, std::pair, int>, std::_Select1st, int>>, std::less>>::_Auto_node", align 8 + %__second.i.i.i.i.i.i.i = alloca %"class.std::tuple.1060", align 1 + %agg.tmp6.i.i.i.i.i.i = alloca %"class.std::tuple.1066", align 8 + %ref.tmp9.i1169 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i1170 = alloca %"class.std::tuple.1060", align 1 + %nb.i.i = alloca %"class.cvc5::internal::NodeBuilder", align 8 + %agg.tmp.i.i = alloca %"class.cvc5::internal::NodeTemplate.733", align 8 + %agg.tmp4.i.i = alloca %"class.cvc5::internal::NodeTemplate.733", align 8 + %agg.tmp.i = alloca %"class.cvc5::internal::NodeTemplate.733", align 8 + %agg.tmp3.i = alloca %"class.cvc5::internal::NodeTemplate.733", align 8 + %ref.tmp9.i736 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i737 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i593 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i594 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i525 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i526 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i362 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i363 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i293 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i294 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i226 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i227 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i156 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i157 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i102 = alloca %"class.std::tuple.1121", align 8 + %ref.tmp10.i103 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i68 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i69 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i34 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i35 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i = alloca %"class.std::tuple.1060", align 1 + %new_part = alloca %"class.std::map.36", align 8 + %new_part_c = alloca %"class.std::map.36", align 8 + %new_part_rec = alloca %"class.std::map.940", align 8 + %cn_cons = alloca %"class.std::map.61", align 8 + %c = alloca %"class.cvc5::internal::NodeTemplate", align 8 + %ref.tmp83 = alloca %"class.cvc5::internal::TypeNode", align 8 + %ncons = alloca %"class.cvc5::internal::NodeTemplate", align 8 + %ref.tmp89 = alloca %"class.cvc5::internal::NodeTemplate.733", align 8 + %agg.tmp = alloca %"class.cvc5::internal::NodeTemplate.733", align 8 + %cc = alloca %"class.cvc5::internal::NodeTemplate", align 8 + %ref.tmp112 = alloca %"class.cvc5::internal::NodeTemplate", align 8 + %vec = alloca %"class.std::vector.525", align 8 + %vec278 = alloca %"class.std::vector.525", align 8 + %dni_rem = alloca %"class.std::map.61", align 8 + %n = alloca %"class.cvc5::internal::NodeTemplate", align 8 + %split_new_part = alloca %"class.std::vector.930", align 8 + %next_split_new_part = alloca %"class.std::vector.930", align 8 + %n407 = alloca %"class.cvc5::internal::NodeTemplate", align 8 + %ref.tmp418 = alloca %"class.cvc5::internal::NodeTemplate.733", align 8 + %ref.tmp438 = alloca %"class.cvc5::internal::NodeTemplate", align 8 + %c_part_out = alloca %"class.std::vector.930", align 8 + %0 = getelementptr inbounds i8, ptr %new_part, i64 8 + store i32 0, ptr %0, align 8 + %_M_parent.i.i.i.i.i = getelementptr inbounds i8, ptr %new_part, i64 16 + store ptr null, ptr %_M_parent.i.i.i.i.i, align 8 + %_M_left.i.i.i.i.i = getelementptr inbounds i8, ptr %new_part, i64 24 + store ptr %0, ptr %_M_left.i.i.i.i.i, align 8 + %_M_right.i.i.i.i.i = getelementptr inbounds i8, ptr %new_part, i64 32 + store ptr %0, ptr %_M_right.i.i.i.i.i, align 8 + %_M_node_count.i.i.i.i.i = getelementptr inbounds i8, ptr %new_part, i64 40 + store i64 0, ptr %_M_node_count.i.i.i.i.i, align 8 + %1 = getelementptr inbounds i8, ptr %new_part_c, i64 8 + store i32 0, ptr %1, align 8 + %_M_parent.i.i.i.i.i18 = getelementptr inbounds i8, ptr %new_part_c, i64 16 + store ptr null, ptr %_M_parent.i.i.i.i.i18, align 8 + %_M_left.i.i.i.i.i19 = getelementptr inbounds i8, ptr %new_part_c, i64 24 + store ptr %1, ptr %_M_left.i.i.i.i.i19, align 8 + %_M_right.i.i.i.i.i20 = getelementptr inbounds i8, ptr %new_part_c, i64 32 + store ptr %1, ptr %_M_right.i.i.i.i.i20, align 8 + %_M_node_count.i.i.i.i.i21 = getelementptr inbounds i8, ptr %new_part_c, i64 40 + store i64 0, ptr %_M_node_count.i.i.i.i.i21, align 8 + %2 = getelementptr inbounds i8, ptr %new_part_rec, i64 8 + store i32 0, ptr %2, align 8 + %_M_parent.i.i.i.i.i22 = getelementptr inbounds i8, ptr %new_part_rec, i64 16 + store ptr null, ptr %_M_parent.i.i.i.i.i22, align 8 + %_M_left.i.i.i.i.i23 = getelementptr inbounds i8, ptr %new_part_rec, i64 24 + store ptr %2, ptr %_M_left.i.i.i.i.i23, align 8 + %_M_right.i.i.i.i.i24 = getelementptr inbounds i8, ptr %new_part_rec, i64 32 + store ptr %2, ptr %_M_right.i.i.i.i.i24, align 8 + %_M_node_count.i.i.i.i.i25 = getelementptr inbounds i8, ptr %new_part_rec, i64 40 + store i64 0, ptr %_M_node_count.i.i.i.i.i25, align 8 + %3 = getelementptr inbounds i8, ptr %cn_cons, i64 8 + store i32 0, ptr %3, align 8 + %_M_parent.i.i.i.i.i26 = getelementptr inbounds i8, ptr %cn_cons, i64 16 + store ptr null, ptr %_M_parent.i.i.i.i.i26, align 8 + %_M_left.i.i.i.i.i27 = getelementptr inbounds i8, ptr %cn_cons, i64 24 + store ptr %3, ptr %_M_left.i.i.i.i.i27, align 8 + %_M_right.i.i.i.i.i28 = getelementptr inbounds i8, ptr %cn_cons, i64 32 + store ptr %3, ptr %_M_right.i.i.i.i.i28, align 8 + %_M_node_count.i.i.i.i.i29 = getelementptr inbounds i8, ptr %cn_cons, i64 40 + store i64 0, ptr %_M_node_count.i.i.i.i.i29, align 8 + %_M_finish.i = getelementptr inbounds i8, ptr %part, i64 8 + %4 = load ptr, ptr %_M_finish.i, align 8 + %5 = load ptr, ptr %part, align 8 + %cmp271767.not = icmp eq ptr %4, %5 + br i1 %cmp271767.not, label %for.end263, label %for.body28.lr.ph + +for.body28.lr.ph: ; preds = %entry + %_M_parent.i.i.i.i.i30 = getelementptr inbounds i8, ptr %cn, i64 16 + %add.ptr.i.i.i.i = getelementptr inbounds i8, ptr %cn, i64 8 + %_M_parent.i.i.i.i.i36 = getelementptr inbounds i8, ptr %dni, i64 16 + %add.ptr.i.i.i.i37 = getelementptr inbounds i8, ptr %dni, i64 8 + %_M_finish.i.i = getelementptr inbounds i8, ptr %exp, i64 8 + %_M_end_of_storage.i.i = getelementptr inbounds i8, ptr %exp, i64 16 + br label %for.body28 + +for.body28: ; preds = %for.body28.lr.ph, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430 + %6 = phi ptr [ %5, %for.body28.lr.ph ], [ %119, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430 ] + %conv251769 = phi i64 [ 0, %for.body28.lr.ph ], [ %conv25, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430 ] + %j.01768 = phi i32 [ 0, %for.body28.lr.ph ], [ %inc222, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430 ] + %add.ptr.i = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %6, i64 %conv251769 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i) + %7 = load ptr, ptr %_M_parent.i.i.i.i.i30, align 8 + %cmp.not5.i.i.i.i = icmp eq ptr %7, null + br i1 %cmp.not5.i.i.i.i, label %if.then.i, label %while.body.lr.ph.i.i.i.i + +while.body.lr.ph.i.i.i.i: ; preds = %for.body28 + %8 = load ptr, ptr %add.ptr.i, align 8 + %bf.load3.i.i.i.i.i.i = load i64, ptr %8, align 8 + %bf.clear4.i.i.i.i.i.i = and i64 %bf.load3.i.i.i.i.i.i, 1099511627775 + br label %while.body.i.i.i.i + +while.body.i.i.i.i: ; preds = %while.body.i.i.i.i, %while.body.lr.ph.i.i.i.i + %__x.addr.07.i.i.i.i = phi ptr [ %7, %while.body.lr.ph.i.i.i.i ], [ %__x.addr.1.i.i.i.i, %while.body.i.i.i.i ] + %__y.addr.06.i.i.i.i = phi ptr [ %add.ptr.i.i.i.i, %while.body.lr.ph.i.i.i.i ], [ %__y.addr.1.i.i.i.i, %while.body.i.i.i.i ] + %_M_storage.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i, i64 32 + %9 = load ptr, ptr %_M_storage.i.i.i.i.i.i, align 8 + %bf.load.i.i.i.i.i.i = load i64, ptr %9, align 8 + %bf.clear.i.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i.i, 1099511627775 + %cmp.i.i.i.i.i.i = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i, %bf.clear4.i.i.i.i.i.i + %__y.addr.1.i.i.i.i = select i1 %cmp.i.i.i.i.i.i, ptr %__y.addr.06.i.i.i.i, ptr %__x.addr.07.i.i.i.i + %__x.addr.1.in.v.i.i.i.i = select i1 %cmp.i.i.i.i.i.i, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i, i64 %__x.addr.1.in.v.i.i.i.i + %__x.addr.1.i.i.i.i = load ptr, ptr %__x.addr.1.in.i.i.i.i, align 8 + %cmp.not.i.i.i.i = icmp eq ptr %__x.addr.1.i.i.i.i, null + br i1 %cmp.not.i.i.i.i, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i, label %while.body.i.i.i.i, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i: ; preds = %while.body.i.i.i.i + %cmp.i.i = icmp eq ptr %__y.addr.1.i.i.i.i, %add.ptr.i.i.i.i + br i1 %cmp.i.i, label %if.then.i, label %lor.rhs.i + +lor.rhs.i: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i + %_M_storage.i.i.i = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i, i64 32 + %10 = load ptr, ptr %_M_storage.i.i.i, align 8 + %bf.load3.i.i.i = load i64, ptr %10, align 8 + %bf.clear4.i.i.i = and i64 %bf.load3.i.i.i, 1099511627775 + %cmp.i.i.i = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i, %bf.clear4.i.i.i + br i1 %cmp.i.i.i, label %if.then.i, label %invoke.cont + +if.then.i: ; preds = %lor.rhs.i, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i, %for.body28 + %__y.addr.0.lcssa.i.i.i9.i = phi ptr [ %__y.addr.1.i.i.i.i, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i ], [ %__y.addr.1.i.i.i.i, %lor.rhs.i ], [ %add.ptr.i.i.i.i, %for.body28 ] + store ptr %add.ptr.i, ptr %ref.tmp9.i, align 8 + %call12.i31 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESH_IJEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr %__y.addr.0.lcssa.i.i.i9.i, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i) + to label %invoke.cont unwind label %lpad + +invoke.cont: ; preds = %lor.rhs.i, %if.then.i + %__i.sroa.0.0.i = phi ptr [ %__y.addr.1.i.i.i.i, %lor.rhs.i ], [ %call12.i31, %if.then.i ] + %second.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i, i64 40 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i) + %11 = load ptr, ptr %second.i, align 8 + store ptr %11, ptr %c, align 8 + %bf.load.i.i = load i64, ptr %11, align 8 + %bf.lshr.i.i = lshr i64 %bf.load.i.i, 40 + %12 = trunc nuw nsw i64 %bf.lshr.i.i to i32 + %bf.cast.i.i = and i32 %12, 1048575 + %cmp.i.i32 = icmp samesign ult i32 %bf.cast.i.i, 1048574 + br i1 %cmp.i.i32, label %if.then.i.i, label %if.else.i.i + +if.then.i.i: ; preds = %invoke.cont + %bf.value.i.i = add i64 %bf.load.i.i, 1099511627776 + %bf.shl.i.i = and i64 %bf.value.i.i, 1152920405095219200 + %bf.clear7.i.i = and i64 %bf.load.i.i, -1152920405095219201 + %bf.set.i.i = or disjoint i64 %bf.shl.i.i, %bf.clear7.i.i + store i64 %bf.set.i.i, ptr %11, align 8 + br label %invoke.cont32 + +if.else.i.i: ; preds = %invoke.cont + %cmp12.i.i = icmp eq i32 %bf.cast.i.i, 1048574 + br i1 %cmp12.i.i, label %if.then13.i.i, label %invoke.cont32 + +if.then13.i.i: ; preds = %if.else.i.i + %bf.set23.i.i = or i64 %bf.load.i.i, 1152920405095219200 + store i64 %bf.set23.i.i, ptr %11, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %11) + to label %invoke.cont32 unwind label %lpad + +invoke.cont32: ; preds = %if.else.i.i, %if.then.i.i, %if.then13.i.i + %13 = load ptr, ptr %part, align 8 + %add.ptr.i33 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %13, i64 %conv251769 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i34) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i35) + %14 = load ptr, ptr %_M_parent.i.i.i.i.i36, align 8 + %cmp.not5.i.i.i.i38 = icmp eq ptr %14, null + br i1 %cmp.not5.i.i.i.i38, label %if.then.i62, label %while.body.lr.ph.i.i.i.i39 + +while.body.lr.ph.i.i.i.i39: ; preds = %invoke.cont32 + %15 = load ptr, ptr %add.ptr.i33, align 8 + %bf.load3.i.i.i.i.i.i40 = load i64, ptr %15, align 8 + %bf.clear4.i.i.i.i.i.i41 = and i64 %bf.load3.i.i.i.i.i.i40, 1099511627775 + br label %while.body.i.i.i.i42 + +while.body.i.i.i.i42: ; preds = %while.body.i.i.i.i42, %while.body.lr.ph.i.i.i.i39 + %__x.addr.07.i.i.i.i43 = phi ptr [ %14, %while.body.lr.ph.i.i.i.i39 ], [ %__x.addr.1.i.i.i.i52, %while.body.i.i.i.i42 ] + %__y.addr.06.i.i.i.i44 = phi ptr [ %add.ptr.i.i.i.i37, %while.body.lr.ph.i.i.i.i39 ], [ %__y.addr.1.i.i.i.i49, %while.body.i.i.i.i42 ] + %_M_storage.i.i.i.i.i.i45 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i43, i64 32 + %16 = load ptr, ptr %_M_storage.i.i.i.i.i.i45, align 8 + %bf.load.i.i.i.i.i.i46 = load i64, ptr %16, align 8 + %bf.clear.i.i.i.i.i.i47 = and i64 %bf.load.i.i.i.i.i.i46, 1099511627775 + %cmp.i.i.i.i.i.i48 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i47, %bf.clear4.i.i.i.i.i.i41 + %__y.addr.1.i.i.i.i49 = select i1 %cmp.i.i.i.i.i.i48, ptr %__y.addr.06.i.i.i.i44, ptr %__x.addr.07.i.i.i.i43 + %__x.addr.1.in.v.i.i.i.i50 = select i1 %cmp.i.i.i.i.i.i48, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i51 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i43, i64 %__x.addr.1.in.v.i.i.i.i50 + %__x.addr.1.i.i.i.i52 = load ptr, ptr %__x.addr.1.in.i.i.i.i51, align 8 + %cmp.not.i.i.i.i53 = icmp eq ptr %__x.addr.1.i.i.i.i52, null + br i1 %cmp.not.i.i.i.i53, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i, label %while.body.i.i.i.i42, !llvm.loop !275 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i: ; preds = %while.body.i.i.i.i42 + %cmp.i.i54 = icmp eq ptr %__y.addr.1.i.i.i.i49, %add.ptr.i.i.i.i37 + br i1 %cmp.i.i54, label %if.then.i62, label %lor.rhs.i55 + +lor.rhs.i55: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i + %_M_storage.i.i.i56 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i49, i64 32 + %17 = load ptr, ptr %_M_storage.i.i.i56, align 8 + %bf.load3.i.i.i57 = load i64, ptr %17, align 8 + %bf.clear4.i.i.i58 = and i64 %bf.load3.i.i.i57, 1099511627775 + %cmp.i.i.i59 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i41, %bf.clear4.i.i.i58 + br i1 %cmp.i.i.i59, label %if.then.i62, label %invoke.cont36 + +if.then.i62: ; preds = %lor.rhs.i55, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i, %invoke.cont32 + %__y.addr.0.lcssa.i.i.i9.i63 = phi ptr [ %__y.addr.1.i.i.i.i49, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i ], [ %__y.addr.1.i.i.i.i49, %lor.rhs.i55 ], [ %add.ptr.i.i.i.i37, %invoke.cont32 ] + store ptr %add.ptr.i33, ptr %ref.tmp9.i34, align 8 + %call12.i65 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St3mapIS3_iSt4lessIS3_ESaIS4_IS5_iEEEESt10_Select1stISC_ES8_SaISC_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESL_IJEEEEESt17_Rb_tree_iteratorISC_ESt23_Rb_tree_const_iteratorISC_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %dni, ptr %__y.addr.0.lcssa.i.i.i9.i63, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i34, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i35) + to label %invoke.cont36 unwind label %lpad35 + +invoke.cont36: ; preds = %lor.rhs.i55, %if.then.i62 + %__i.sroa.0.0.i60 = phi ptr [ %__y.addr.1.i.i.i.i49, %lor.rhs.i55 ], [ %call12.i65, %if.then.i62 ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i34) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i35) + %_M_parent.i.i.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i60, i64 56 + %18 = load ptr, ptr %_M_parent.i.i.i.i, align 8 + %add.ptr.i.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i60, i64 48 + %cmp.not5.i.i.i = icmp eq ptr %18, null + br i1 %cmp.not5.i.i.i, label %invoke.cont38, label %while.body.lr.ph.i.i.i + +while.body.lr.ph.i.i.i: ; preds = %invoke.cont36 + %19 = load ptr, ptr %c, align 8 + %bf.load3.i.i.i.i.i = load i64, ptr %19, align 8 + %bf.clear4.i.i.i.i.i = and i64 %bf.load3.i.i.i.i.i, 1099511627775 + br label %while.body.i.i.i + +while.body.i.i.i: ; preds = %while.body.i.i.i, %while.body.lr.ph.i.i.i + %__x.addr.07.i.i.i = phi ptr [ %18, %while.body.lr.ph.i.i.i ], [ %__x.addr.1.i.i.i, %while.body.i.i.i ] + %__y.addr.06.i.i.i = phi ptr [ %add.ptr.i.i.i, %while.body.lr.ph.i.i.i ], [ %__y.addr.1.i.i.i, %while.body.i.i.i ] + %_M_storage.i.i.i.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i, i64 32 + %20 = load ptr, ptr %_M_storage.i.i.i.i.i, align 8 + %bf.load.i.i.i.i.i = load i64, ptr %20, align 8 + %bf.clear.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i, 1099511627775 + %cmp.i.i.i.i.i = icmp samesign ult i64 %bf.clear.i.i.i.i.i, %bf.clear4.i.i.i.i.i + %__y.addr.1.i.i.i = select i1 %cmp.i.i.i.i.i, ptr %__y.addr.06.i.i.i, ptr %__x.addr.07.i.i.i + %__x.addr.1.in.v.i.i.i = select i1 %cmp.i.i.i.i.i, i64 24, i64 16 + %__x.addr.1.in.i.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i, i64 %__x.addr.1.in.v.i.i.i + %__x.addr.1.i.i.i = load ptr, ptr %__x.addr.1.in.i.i.i, align 8 + %cmp.not.i.i.i = icmp eq ptr %__x.addr.1.i.i.i, null + br i1 %cmp.not.i.i.i, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i, label %while.body.i.i.i, !llvm.loop !233 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i: ; preds = %while.body.i.i.i + %cmp.i.i.i66 = icmp eq ptr %__y.addr.1.i.i.i, %add.ptr.i.i.i + br i1 %cmp.i.i.i66, label %invoke.cont38, label %lor.lhs.false.i.i + +lor.lhs.false.i.i: ; preds = %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i + %_M_storage.i.i.i3.i.i = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i, i64 32 + %21 = load ptr, ptr %_M_storage.i.i.i3.i.i, align 8 + %bf.load3.i.i.i.i = load i64, ptr %21, align 8 + %bf.clear4.i.i.i.i = and i64 %bf.load3.i.i.i.i, 1099511627775 + %cmp.i.i.i.i = icmp samesign ult i64 %bf.clear4.i.i.i.i.i, %bf.clear4.i.i.i.i + %spec.select.i.i = select i1 %cmp.i.i.i.i, ptr %add.ptr.i.i.i, ptr %__y.addr.1.i.i.i + br label %invoke.cont38 + +invoke.cont38: ; preds = %lor.lhs.false.i.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i, %invoke.cont36 + %retval.sroa.0.0.i.i = phi ptr [ %add.ptr.i.i.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i ], [ %add.ptr.i.i.i, %invoke.cont36 ], [ %spec.select.i.i, %lor.lhs.false.i.i ] + %22 = load ptr, ptr %part, align 8 + %add.ptr.i67 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %22, i64 %conv251769 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i68) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i69) + %23 = load ptr, ptr %_M_parent.i.i.i.i.i36, align 8 + %cmp.not5.i.i.i.i72 = icmp eq ptr %23, null + br i1 %cmp.not5.i.i.i.i72, label %if.then.i97, label %while.body.lr.ph.i.i.i.i73 + +while.body.lr.ph.i.i.i.i73: ; preds = %invoke.cont38 + %24 = load ptr, ptr %add.ptr.i67, align 8 + %bf.load3.i.i.i.i.i.i74 = load i64, ptr %24, align 8 + %bf.clear4.i.i.i.i.i.i75 = and i64 %bf.load3.i.i.i.i.i.i74, 1099511627775 + br label %while.body.i.i.i.i76 + +while.body.i.i.i.i76: ; preds = %while.body.i.i.i.i76, %while.body.lr.ph.i.i.i.i73 + %__x.addr.07.i.i.i.i77 = phi ptr [ %23, %while.body.lr.ph.i.i.i.i73 ], [ %__x.addr.1.i.i.i.i86, %while.body.i.i.i.i76 ] + %__y.addr.06.i.i.i.i78 = phi ptr [ %add.ptr.i.i.i.i37, %while.body.lr.ph.i.i.i.i73 ], [ %__y.addr.1.i.i.i.i83, %while.body.i.i.i.i76 ] + %_M_storage.i.i.i.i.i.i79 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i77, i64 32 + %25 = load ptr, ptr %_M_storage.i.i.i.i.i.i79, align 8 + %bf.load.i.i.i.i.i.i80 = load i64, ptr %25, align 8 + %bf.clear.i.i.i.i.i.i81 = and i64 %bf.load.i.i.i.i.i.i80, 1099511627775 + %cmp.i.i.i.i.i.i82 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i81, %bf.clear4.i.i.i.i.i.i75 + %__y.addr.1.i.i.i.i83 = select i1 %cmp.i.i.i.i.i.i82, ptr %__y.addr.06.i.i.i.i78, ptr %__x.addr.07.i.i.i.i77 + %__x.addr.1.in.v.i.i.i.i84 = select i1 %cmp.i.i.i.i.i.i82, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i85 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i77, i64 %__x.addr.1.in.v.i.i.i.i84 + %__x.addr.1.i.i.i.i86 = load ptr, ptr %__x.addr.1.in.i.i.i.i85, align 8 + %cmp.not.i.i.i.i87 = icmp eq ptr %__x.addr.1.i.i.i.i86, null + br i1 %cmp.not.i.i.i.i87, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i88, label %while.body.i.i.i.i76, !llvm.loop !275 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i88: ; preds = %while.body.i.i.i.i76 + %cmp.i.i89 = icmp eq ptr %__y.addr.1.i.i.i.i83, %add.ptr.i.i.i.i37 + br i1 %cmp.i.i89, label %if.then.i97, label %lor.rhs.i90 + +lor.rhs.i90: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i88 + %_M_storage.i.i.i91 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i83, i64 32 + %26 = load ptr, ptr %_M_storage.i.i.i91, align 8 + %bf.load3.i.i.i92 = load i64, ptr %26, align 8 + %bf.clear4.i.i.i93 = and i64 %bf.load3.i.i.i92, 1099511627775 + %cmp.i.i.i94 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i75, %bf.clear4.i.i.i93 + br i1 %cmp.i.i.i94, label %if.then.i97, label %invoke.cont43 + +if.then.i97: ; preds = %lor.rhs.i90, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i88, %invoke.cont38 + %__y.addr.0.lcssa.i.i.i9.i98 = phi ptr [ %__y.addr.1.i.i.i.i83, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i88 ], [ %__y.addr.1.i.i.i.i83, %lor.rhs.i90 ], [ %add.ptr.i.i.i.i37, %invoke.cont38 ] + store ptr %add.ptr.i67, ptr %ref.tmp9.i68, align 8 + %call12.i100 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St3mapIS3_iSt4lessIS3_ESaIS4_IS5_iEEEESt10_Select1stISC_ES8_SaISC_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESL_IJEEEEESt17_Rb_tree_iteratorISC_ESt23_Rb_tree_const_iteratorISC_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %dni, ptr %__y.addr.0.lcssa.i.i.i9.i98, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i68, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i69) + to label %invoke.cont43 unwind label %lpad35 + +invoke.cont43: ; preds = %lor.rhs.i90, %if.then.i97 + %__i.sroa.0.0.i95 = phi ptr [ %__y.addr.1.i.i.i.i83, %lor.rhs.i90 ], [ %call12.i100, %if.then.i97 ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i68) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i69) + %add.ptr.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i95, i64 48 + %cmp.i.not = icmp eq ptr %retval.sroa.0.0.i.i, %add.ptr.i.i + br i1 %cmp.i.not, label %if.else, label %if.end75 + +lpad: ; preds = %if.then13.i.i, %if.then.i + %27 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup537 + +lpad35: ; preds = %if.else.i416.invoke, %if.then13.i.i.i.i.i409, %if.then.i391, %if.then13.i.i.i.i.i, %if.then.i123, %if.then.i97, %if.then.i62, %if.else + %28 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup220 + +if.end75: ; preds = %invoke.cont43 + %second77 = getelementptr inbounds i8, ptr %retval.sroa.0.0.i.i, i64 40 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i102) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i103) + %29 = load ptr, ptr %_M_parent.i.i.i.i.i22, align 8 + %cmp.not5.i.i.i.i106 = icmp eq ptr %29, null + br i1 %cmp.not5.i.i.i.i106, label %if.then.i123, label %while.body.lr.ph.i.i.i.i107 + +while.body.lr.ph.i.i.i.i107: ; preds = %if.end75 + %30 = load i32, ptr %second77, align 4 + br label %while.body.i.i.i.i108 + +while.body.i.i.i.i108: ; preds = %while.body.i.i.i.i108, %while.body.lr.ph.i.i.i.i107 + %__x.addr.07.i.i.i.i109 = phi ptr [ %29, %while.body.lr.ph.i.i.i.i107 ], [ %__x.addr.1.i.i.i.i116, %while.body.i.i.i.i108 ] + %__y.addr.06.i.i.i.i110 = phi ptr [ %2, %while.body.lr.ph.i.i.i.i107 ], [ %__y.addr.1.i.i.i.i113, %while.body.i.i.i.i108 ] + %_M_storage.i.i.i.i.i.i111 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i109, i64 32 + %31 = load i32, ptr %_M_storage.i.i.i.i.i.i111, align 4 + %cmp.i.i.i.i.i112 = icmp slt i32 %31, %30 + %__y.addr.1.i.i.i.i113 = select i1 %cmp.i.i.i.i.i112, ptr %__y.addr.06.i.i.i.i110, ptr %__x.addr.07.i.i.i.i109 + %__x.addr.1.in.v.i.i.i.i114 = select i1 %cmp.i.i.i.i.i112, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i115 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i109, i64 %__x.addr.1.in.v.i.i.i.i114 + %__x.addr.1.i.i.i.i116 = load ptr, ptr %__x.addr.1.in.i.i.i.i115, align 8 + %cmp.not.i.i.i.i117 = icmp eq ptr %__x.addr.1.i.i.i.i116, null + br i1 %cmp.not.i.i.i.i117, label %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEE11lower_boundERSA_.exit.i, label %while.body.i.i.i.i108, !llvm.loop !276 + +_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEE11lower_boundERSA_.exit.i: ; preds = %while.body.i.i.i.i108 + %cmp.i.i118 = icmp eq ptr %__y.addr.1.i.i.i.i113, %2 + br i1 %cmp.i.i118, label %if.then.i123, label %lor.rhs.i119 + +lor.rhs.i119: ; preds = %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEE11lower_boundERSA_.exit.i + %__y.addr.1.i.i.i.i113.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i112, ptr %__y.addr.06.i.i.i.i110, ptr %__x.addr.07.i.i.i.i109 + %__y.addr.1.i.i.i.i113.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i113.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %32 = load i32, ptr %__y.addr.1.i.i.i.i113.sroa.sel.v.sroa.sel.v.sroa.sel, align 4 + %cmp.i3.i = icmp slt i32 %30, %32 + br i1 %cmp.i3.i, label %if.then.i123, label %invoke.cont78 + +if.then.i123: ; preds = %lor.rhs.i119, %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEE11lower_boundERSA_.exit.i, %if.end75 + %__y.addr.0.lcssa.i.i.i10.i = phi ptr [ %__y.addr.1.i.i.i.i113, %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEE11lower_boundERSA_.exit.i ], [ %__y.addr.1.i.i.i.i113, %lor.rhs.i119 ], [ %2, %if.end75 ] + store ptr %second77, ptr %ref.tmp9.i102, align 8 + %call12.i125 = invoke ptr @_ZNSt8_Rb_treeIiSt4pairIKiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS6_EEESt10_Select1stIS9_ESt4lessIiESaIS9_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESK_IJEEEEESt17_Rb_tree_iteratorIS9_ESt23_Rb_tree_const_iteratorIS9_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %new_part_rec, ptr %__y.addr.0.lcssa.i.i.i10.i, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i102, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i103) + to label %invoke.cont78 unwind label %lpad35 + +invoke.cont78: ; preds = %lor.rhs.i119, %if.then.i123 + %__i.sroa.0.0.i121 = phi ptr [ %__y.addr.1.i.i.i.i113, %lor.rhs.i119 ], [ %call12.i125, %if.then.i123 ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i102) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i103) + %33 = load ptr, ptr %part, align 8 + %add.ptr.i126 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %33, i64 %conv251769 + %_M_finish.i127 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i121, i64 48 + %34 = load ptr, ptr %_M_finish.i127, align 8 + %_M_end_of_storage.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i121, i64 56 + %35 = load ptr, ptr %_M_end_of_storage.i, align 8 + %cmp.not.i = icmp eq ptr %34, %35 + br i1 %cmp.not.i, label %if.else.i416.invoke, label %if.then.i128 + +if.then.i128: ; preds = %invoke.cont78 + %36 = load ptr, ptr %add.ptr.i126, align 8 + store ptr %36, ptr %34, align 8 + %bf.load.i.i.i.i.i129 = load i64, ptr %36, align 8 + %bf.lshr.i.i.i.i.i = lshr i64 %bf.load.i.i.i.i.i129, 40 + %37 = trunc nuw nsw i64 %bf.lshr.i.i.i.i.i to i32 + %bf.cast.i.i.i.i.i = and i32 %37, 1048575 + %cmp.i.i.i.i.i130 = icmp samesign ult i32 %bf.cast.i.i.i.i.i, 1048574 + br i1 %cmp.i.i.i.i.i130, label %if.then.i.i.i.i.i, label %if.else.i.i.i.i.i + +if.then.i.i.i.i.i: ; preds = %if.then.i128 + %bf.value.i.i.i.i.i = add i64 %bf.load.i.i.i.i.i129, 1099511627776 + %bf.shl.i.i.i.i.i = and i64 %bf.value.i.i.i.i.i, 1152920405095219200 + %bf.clear7.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i129, -1152920405095219201 + %bf.set.i.i.i.i.i = or disjoint i64 %bf.shl.i.i.i.i.i, %bf.clear7.i.i.i.i.i + store i64 %bf.set.i.i.i.i.i, ptr %36, align 8 + br label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i + +if.else.i.i.i.i.i: ; preds = %if.then.i128 + %cmp12.i.i.i.i.i = icmp eq i32 %bf.cast.i.i.i.i.i, 1048574 + br i1 %cmp12.i.i.i.i.i, label %if.then13.i.i.i.i.i, label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i + +if.then13.i.i.i.i.i: ; preds = %if.else.i.i.i.i.i + %bf.set23.i.i.i.i.i = or i64 %bf.load.i.i.i.i.i129, 1152920405095219200 + store i64 %bf.set23.i.i.i.i.i, ptr %36, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %36) + to label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i unwind label %lpad35 + +_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i: ; preds = %if.then13.i.i.i.i.i, %if.else.i.i.i.i.i, %if.then.i.i.i.i.i + %38 = load ptr, ptr %_M_finish.i127, align 8 + %incdec.ptr.i = getelementptr inbounds i8, ptr %38, i64 8 + store ptr %incdec.ptr.i, ptr %_M_finish.i127, align 8 + br label %if.end219 + +if.else: ; preds = %invoke.cont43 + invoke void @_ZNK4cvc58internal12NodeTemplateILb1EE7getTypeEb(ptr nonnull sret(%"class.cvc5::internal::TypeNode") align 8 %ref.tmp83, ptr noundef nonnull align 8 dereferenceable(8) %c, i1 noundef zeroext false) + to label %invoke.cont84 unwind label %lpad35 + +invoke.cont84: ; preds = %if.else + %call87 = invoke noundef zeroext i1 @_ZNK4cvc58internal8TypeNode10isDatatypeEv(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp83) + to label %invoke.cont86 unwind label %lpad85 + +invoke.cont86: ; preds = %invoke.cont84 + %39 = load ptr, ptr %ref.tmp83, align 8 + %bf.load.i.i133 = load i64, ptr %39, align 8 + %40 = and i64 %bf.load.i.i133, 1152920405095219200 + %cmp.not.i.i = icmp eq i64 %40, 1152920405095219200 + br i1 %cmp.not.i.i, label %_ZN4cvc58internal8TypeNodeD2Ev.exit, label %if.then.i.i134 + +if.then.i.i134: ; preds = %invoke.cont86 + %bf.value.i.i135 = add i64 %bf.load.i.i133, 1152920405095219200 + %bf.shl.i.i136 = and i64 %bf.value.i.i135, 1152920405095219200 + %bf.clear7.i.i137 = and i64 %bf.load.i.i133, -1152920405095219201 + %bf.set.i.i138 = or disjoint i64 %bf.shl.i.i136, %bf.clear7.i.i137 + store i64 %bf.set.i.i138, ptr %39, align 8 + %cmp12.i.i139 = icmp eq i64 %bf.shl.i.i136, 0 + br i1 %cmp12.i.i139, label %if.then13.i.i140, label %_ZN4cvc58internal8TypeNodeD2Ev.exit + +if.then13.i.i140: ; preds = %if.then.i.i134 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %39) + to label %_ZN4cvc58internal8TypeNodeD2Ev.exit unwind label %terminate.lpad.i + +terminate.lpad.i: ; preds = %if.then13.i.i140 + %41 = landingpad { ptr, i32 } + catch ptr null + %42 = extractvalue { ptr, i32 } %41, 0 + call void @__clang_call_terminate(ptr %42) #25 + unreachable + +_ZN4cvc58internal8TypeNodeD2Ev.exit: ; preds = %invoke.cont86, %if.then.i.i134, %if.then13.i.i140 + br i1 %call87, label %if.then88, label %if.end212 + +if.then88: ; preds = %_ZN4cvc58internal8TypeNodeD2Ev.exit + %43 = load ptr, ptr %c, align 8 + store ptr %43, ptr %agg.tmp, align 8 + invoke void @_ZN4cvc58internal6theory9datatypes15TheoryDatatypes17getEqcConstructorENS0_12NodeTemplateILb0EEE(ptr nonnull sret(%"class.cvc5::internal::NodeTemplate.733") align 8 %ref.tmp89, ptr noundef nonnull align 8 dereferenceable(2008) %this, ptr noundef nonnull %agg.tmp) + to label %invoke.cont92 unwind label %lpad91 + +invoke.cont92: ; preds = %if.then88 + %44 = load ptr, ptr %ref.tmp89, align 8 + store ptr %44, ptr %ncons, align 8 + %bf.load.i.i141 = load i64, ptr %44, align 8 + %bf.lshr.i.i142 = lshr i64 %bf.load.i.i141, 40 + %45 = trunc nuw nsw i64 %bf.lshr.i.i142 to i32 + %bf.cast.i.i143 = and i32 %45, 1048575 + %cmp.i.i144 = icmp samesign ult i32 %bf.cast.i.i143, 1048574 + br i1 %cmp.i.i144, label %if.then.i.i149, label %if.else.i.i145 + +if.then.i.i149: ; preds = %invoke.cont92 + %bf.value.i.i150 = add i64 %bf.load.i.i141, 1099511627776 + %bf.shl.i.i151 = and i64 %bf.value.i.i150, 1152920405095219200 + %bf.clear7.i.i152 = and i64 %bf.load.i.i141, -1152920405095219201 + %bf.set.i.i153 = or disjoint i64 %bf.shl.i.i151, %bf.clear7.i.i152 + store i64 %bf.set.i.i153, ptr %44, align 8 + br label %invoke.cont94 + +if.else.i.i145: ; preds = %invoke.cont92 + %cmp12.i.i146 = icmp eq i32 %bf.cast.i.i143, 1048574 + br i1 %cmp12.i.i146, label %if.then13.i.i147, label %invoke.cont94 + +if.then13.i.i147: ; preds = %if.else.i.i145 + %bf.set23.i.i148 = or i64 %bf.load.i.i141, 1152920405095219200 + store i64 %bf.set23.i.i148, ptr %44, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %44) + to label %invoke.cont94 unwind label %lpad93 + +invoke.cont94: ; preds = %if.else.i.i145, %if.then.i.i149, %if.then13.i.i147 + %46 = load ptr, ptr %ncons, align 8 + %d_kind.i = getelementptr inbounds i8, ptr %46, i64 8 + %bf.load.i = load i16, ptr %d_kind.i, align 8 + %bf.clear.i = and i16 %bf.load.i, 1023 + %cmp98 = icmp eq i16 %bf.clear.i, 217 + br i1 %cmp98, label %if.then99, label %if.else152 + +if.then99: ; preds = %invoke.cont94 + invoke void @_ZNK4cvc58internal12NodeTemplateILb1EE11getOperatorEv(ptr nonnull sret(%"class.cvc5::internal::NodeTemplate") align 8 %cc, ptr noundef nonnull align 8 dereferenceable(8) %ncons) + to label %invoke.cont100 unwind label %lpad95 + +invoke.cont100: ; preds = %if.then99 + %47 = load ptr, ptr %part, align 8 + %add.ptr.i155 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %47, i64 %conv251769 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i156) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i157) + %48 = load ptr, ptr %_M_parent.i.i.i.i.i26, align 8 + %cmp.not5.i.i.i.i160 = icmp eq ptr %48, null + br i1 %cmp.not5.i.i.i.i160, label %if.then.i185, label %while.body.lr.ph.i.i.i.i161 + +while.body.lr.ph.i.i.i.i161: ; preds = %invoke.cont100 + %49 = load ptr, ptr %add.ptr.i155, align 8 + %bf.load3.i.i.i.i.i.i162 = load i64, ptr %49, align 8 + %bf.clear4.i.i.i.i.i.i163 = and i64 %bf.load3.i.i.i.i.i.i162, 1099511627775 + br label %while.body.i.i.i.i164 + +while.body.i.i.i.i164: ; preds = %while.body.i.i.i.i164, %while.body.lr.ph.i.i.i.i161 + %__x.addr.07.i.i.i.i165 = phi ptr [ %48, %while.body.lr.ph.i.i.i.i161 ], [ %__x.addr.1.i.i.i.i174, %while.body.i.i.i.i164 ] + %__y.addr.06.i.i.i.i166 = phi ptr [ %3, %while.body.lr.ph.i.i.i.i161 ], [ %__y.addr.1.i.i.i.i171, %while.body.i.i.i.i164 ] + %_M_storage.i.i.i.i.i.i167 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i165, i64 32 + %50 = load ptr, ptr %_M_storage.i.i.i.i.i.i167, align 8 + %bf.load.i.i.i.i.i.i168 = load i64, ptr %50, align 8 + %bf.clear.i.i.i.i.i.i169 = and i64 %bf.load.i.i.i.i.i.i168, 1099511627775 + %cmp.i.i.i.i.i.i170 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i169, %bf.clear4.i.i.i.i.i.i163 + %__y.addr.1.i.i.i.i171 = select i1 %cmp.i.i.i.i.i.i170, ptr %__y.addr.06.i.i.i.i166, ptr %__x.addr.07.i.i.i.i165 + %__x.addr.1.in.v.i.i.i.i172 = select i1 %cmp.i.i.i.i.i.i170, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i173 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i165, i64 %__x.addr.1.in.v.i.i.i.i172 + %__x.addr.1.i.i.i.i174 = load ptr, ptr %__x.addr.1.in.i.i.i.i173, align 8 + %cmp.not.i.i.i.i175 = icmp eq ptr %__x.addr.1.i.i.i.i174, null + br i1 %cmp.not.i.i.i.i175, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i176, label %while.body.i.i.i.i164, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i176: ; preds = %while.body.i.i.i.i164 + %cmp.i.i177 = icmp eq ptr %__y.addr.1.i.i.i.i171, %3 + br i1 %cmp.i.i177, label %if.then.i185, label %lor.rhs.i178 + +lor.rhs.i178: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i176 + %__y.addr.1.i.i.i.i171.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i170, ptr %__y.addr.06.i.i.i.i166, ptr %__x.addr.07.i.i.i.i165 + %__y.addr.1.i.i.i.i171.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i171.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %51 = load ptr, ptr %__y.addr.1.i.i.i.i171.sroa.sel.v.sroa.sel.v.sroa.sel, align 8 + %bf.load3.i.i.i180 = load i64, ptr %51, align 8 + %bf.clear4.i.i.i181 = and i64 %bf.load3.i.i.i180, 1099511627775 + %cmp.i.i.i182 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i163, %bf.clear4.i.i.i181 + br i1 %cmp.i.i.i182, label %if.then.i185, label %invoke.cont104 + +if.then.i185: ; preds = %lor.rhs.i178, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i176, %invoke.cont100 + %__y.addr.0.lcssa.i.i.i9.i186 = phi ptr [ %__y.addr.1.i.i.i.i171, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i176 ], [ %__y.addr.1.i.i.i.i171, %lor.rhs.i178 ], [ %3, %invoke.cont100 ] + store ptr %add.ptr.i155, ptr %ref.tmp9.i156, align 8 + %call12.i188 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESH_IJEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %cn_cons, ptr %__y.addr.0.lcssa.i.i.i9.i186, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i156, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i157) + to label %invoke.cont104 unwind label %lpad103 + +invoke.cont104: ; preds = %lor.rhs.i178, %if.then.i185 + %__i.sroa.0.0.i183 = phi ptr [ %__y.addr.1.i.i.i.i171, %lor.rhs.i178 ], [ %call12.i188, %if.then.i185 ] + %second.i184 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i183, i64 40 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i156) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i157) + %52 = load ptr, ptr %second.i184, align 8 + %53 = load ptr, ptr %ncons, align 8 + %cmp.not.i190 = icmp eq ptr %52, %53 + br i1 %cmp.not.i190, label %land.lhs.true, label %if.then.i191 + +if.then.i191: ; preds = %invoke.cont104 + %bf.load.i.i192 = load i64, ptr %52, align 8 + %54 = and i64 %bf.load.i.i192, 1152920405095219200 + %cmp.not.i.i193 = icmp eq i64 %54, 1152920405095219200 + br i1 %cmp.not.i.i193, label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i, label %if.then.i.i194 + +if.then.i.i194: ; preds = %if.then.i191 + %bf.value.i.i195 = add i64 %bf.load.i.i192, 1152920405095219200 + %bf.shl.i.i196 = and i64 %bf.value.i.i195, 1152920405095219200 + %bf.clear7.i.i197 = and i64 %bf.load.i.i192, -1152920405095219201 + %bf.set.i.i198 = or disjoint i64 %bf.shl.i.i196, %bf.clear7.i.i197 + store i64 %bf.set.i.i198, ptr %52, align 8 + %cmp12.i.i199 = icmp eq i64 %bf.shl.i.i196, 0 + br i1 %cmp12.i.i199, label %if.then13.i.i205, label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i + +if.then13.i.i205: ; preds = %if.then.i.i194 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %52) + to label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i unwind label %lpad103 + +_ZN4cvc58internal4expr9NodeValue3decEv.exit.i: ; preds = %if.then13.i.i205, %if.then.i.i194, %if.then.i191 + %55 = load ptr, ptr %ncons, align 8 + store ptr %55, ptr %second.i184, align 8 + %bf.load.i2.i = load i64, ptr %55, align 8 + %bf.lshr.i.i200 = lshr i64 %bf.load.i2.i, 40 + %56 = trunc nuw nsw i64 %bf.lshr.i.i200 to i32 + %bf.cast.i.i201 = and i32 %56, 1048575 + %cmp.i.i202 = icmp samesign ult i32 %bf.cast.i.i201, 1048574 + br i1 %cmp.i.i202, label %if.then.i5.i, label %if.else.i.i203 + +if.then.i5.i: ; preds = %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i + %bf.value.i6.i = add i64 %bf.load.i2.i, 1099511627776 + %bf.shl.i7.i = and i64 %bf.value.i6.i, 1152920405095219200 + %bf.clear7.i8.i = and i64 %bf.load.i2.i, -1152920405095219201 + %bf.set.i9.i = or disjoint i64 %bf.shl.i7.i, %bf.clear7.i8.i + store i64 %bf.set.i9.i, ptr %55, align 8 + br label %land.lhs.true + +if.else.i.i203: ; preds = %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i + %cmp12.i3.i = icmp eq i32 %bf.cast.i.i201, 1048574 + br i1 %cmp12.i3.i, label %if.then13.i4.i, label %land.lhs.true + +if.then13.i4.i: ; preds = %if.else.i.i203 + %bf.set23.i.i204 = or i64 %bf.load.i2.i, 1152920405095219200 + store i64 %bf.set23.i.i204, ptr %55, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %55) + to label %land.lhs.true unwind label %lpad103 + +land.lhs.true: ; preds = %if.else.i.i203, %if.then.i5.i, %invoke.cont104, %if.then13.i4.i + %57 = load ptr, ptr %c, align 8 + %58 = load ptr, ptr %ncons, align 8 + %cmp.i208.not = icmp eq ptr %57, %58 + br i1 %cmp.i208.not, label %if.end117, label %if.then111 + +if.then111: ; preds = %land.lhs.true + invoke void @_ZNK4cvc58internal12NodeTemplateILb1EE6eqNodeILb1EEES2_RKNS1_IXT_EEE(ptr nonnull sret(%"class.cvc5::internal::NodeTemplate") align 8 %ref.tmp112, ptr noundef nonnull align 8 dereferenceable(8) %c, ptr noundef nonnull align 8 dereferenceable(8) %ncons) + to label %invoke.cont113 unwind label %lpad103 + +invoke.cont113: ; preds = %if.then111 + %59 = load ptr, ptr %_M_finish.i.i, align 8 + %60 = load ptr, ptr %_M_end_of_storage.i.i, align 8 + %cmp.not.i.i209 = icmp eq ptr %59, %60 + br i1 %cmp.not.i.i209, label %if.else.i.i213, label %if.then.i.i210 + +if.then.i.i210: ; preds = %invoke.cont113 + %61 = load ptr, ptr %ref.tmp112, align 8 + store ptr %61, ptr %59, align 8 + %bf.load.i.i.i.i.i.i211 = load i64, ptr %61, align 8 + %bf.lshr.i.i.i.i.i.i = lshr i64 %bf.load.i.i.i.i.i.i211, 40 + %62 = trunc nuw nsw i64 %bf.lshr.i.i.i.i.i.i to i32 + %bf.cast.i.i.i.i.i.i = and i32 %62, 1048575 + %cmp.i.i.i.i.i.i212 = icmp samesign ult i32 %bf.cast.i.i.i.i.i.i, 1048574 + br i1 %cmp.i.i.i.i.i.i212, label %if.then.i.i.i.i.i.i, label %if.else.i.i.i.i.i.i + +if.then.i.i.i.i.i.i: ; preds = %if.then.i.i210 + %bf.value.i.i.i.i.i.i = add i64 %bf.load.i.i.i.i.i.i211, 1099511627776 + %bf.shl.i.i.i.i.i.i = and i64 %bf.value.i.i.i.i.i.i, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i.i211, -1152920405095219201 + %bf.set.i.i.i.i.i.i = or disjoint i64 %bf.shl.i.i.i.i.i.i, %bf.clear7.i.i.i.i.i.i + store i64 %bf.set.i.i.i.i.i.i, ptr %61, align 8 + br label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i + +if.else.i.i.i.i.i.i: ; preds = %if.then.i.i210 + %cmp12.i.i.i.i.i.i = icmp eq i32 %bf.cast.i.i.i.i.i.i, 1048574 + br i1 %cmp12.i.i.i.i.i.i, label %if.then13.i.i.i.i.i.i, label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i + +if.then13.i.i.i.i.i.i: ; preds = %if.else.i.i.i.i.i.i + %bf.set23.i.i.i.i.i.i = or i64 %bf.load.i.i.i.i.i.i211, 1152920405095219200 + store i64 %bf.set23.i.i.i.i.i.i, ptr %61, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %61) + to label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i unwind label %lpad114 + +_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i: ; preds = %if.then13.i.i.i.i.i.i, %if.else.i.i.i.i.i.i, %if.then.i.i.i.i.i.i + %63 = load ptr, ptr %_M_finish.i.i, align 8 + %incdec.ptr.i.i = getelementptr inbounds i8, ptr %63, i64 8 + store ptr %incdec.ptr.i.i, ptr %_M_finish.i.i, align 8 + br label %invoke.cont115 + +if.else.i.i213: ; preds = %invoke.cont113 + invoke void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %exp, ptr %59, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp112) + to label %invoke.cont115 unwind label %lpad114 + +invoke.cont115: ; preds = %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i, %if.else.i.i213 + %64 = load ptr, ptr %ref.tmp112, align 8 + %bf.load.i.i216 = load i64, ptr %64, align 8 + %65 = and i64 %bf.load.i.i216, 1152920405095219200 + %cmp.not.i.i217 = icmp eq i64 %65, 1152920405095219200 + br i1 %cmp.not.i.i217, label %if.end117, label %if.then.i.i218 + +if.then.i.i218: ; preds = %invoke.cont115 + %bf.value.i.i219 = add i64 %bf.load.i.i216, 1152920405095219200 + %bf.shl.i.i220 = and i64 %bf.value.i.i219, 1152920405095219200 + %bf.clear7.i.i221 = and i64 %bf.load.i.i216, -1152920405095219201 + %bf.set.i.i222 = or disjoint i64 %bf.shl.i.i220, %bf.clear7.i.i221 + store i64 %bf.set.i.i222, ptr %64, align 8 + %cmp12.i.i223 = icmp eq i64 %bf.shl.i.i220, 0 + br i1 %cmp12.i.i223, label %if.then13.i.i224, label %if.end117 + +if.then13.i.i224: ; preds = %if.then.i.i218 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %64) + to label %if.end117 unwind label %terminate.lpad.i225 + +terminate.lpad.i225: ; preds = %if.then13.i.i224 + %66 = landingpad { ptr, i32 } + catch ptr null + %67 = extractvalue { ptr, i32 } %66, 0 + call void @__clang_call_terminate(ptr %67) #25 + unreachable + +lpad85: ; preds = %invoke.cont84 + %68 = landingpad { ptr, i32 } + cleanup + call void @_ZN4cvc58internal8TypeNodeD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp83) #23 + br label %ehcleanup220 + +lpad91: ; preds = %if.then88 + %69 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup220 + +lpad93: ; preds = %if.then13.i.i147 + %70 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup220 + +lpad95: ; preds = %if.else.i347, %if.then13.i.i.i.i.i340, %if.then.i322, %if.then99 + %71 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup183 + +lpad103: ; preds = %if.else.i278, %if.then13.i.i.i.i.i271, %if.then.i254, %if.then13.i4.i, %if.then13.i.i205, %if.then.i185, %if.then111 + %72 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup151 + +lpad114: ; preds = %if.else.i.i213, %if.then13.i.i.i.i.i.i + %73 = landingpad { ptr, i32 } + cleanup + call void @_ZN4cvc58internal12NodeTemplateILb1EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp112) #23 + br label %ehcleanup151 + +if.end117: ; preds = %if.then13.i.i224, %if.then.i.i218, %invoke.cont115, %land.lhs.true + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i226) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i227) + %74 = load ptr, ptr %_M_parent.i.i.i.i.i, align 8 + %cmp.not5.i.i.i.i230 = icmp eq ptr %74, null + br i1 %cmp.not5.i.i.i.i230, label %if.then.i254, label %while.body.lr.ph.i.i.i.i231 + +while.body.lr.ph.i.i.i.i231: ; preds = %if.end117 + %75 = load ptr, ptr %cc, align 8 + %bf.load3.i.i.i.i.i.i232 = load i64, ptr %75, align 8 + %bf.clear4.i.i.i.i.i.i233 = and i64 %bf.load3.i.i.i.i.i.i232, 1099511627775 + br label %while.body.i.i.i.i234 + +while.body.i.i.i.i234: ; preds = %while.body.i.i.i.i234, %while.body.lr.ph.i.i.i.i231 + %__x.addr.07.i.i.i.i235 = phi ptr [ %74, %while.body.lr.ph.i.i.i.i231 ], [ %__x.addr.1.i.i.i.i244, %while.body.i.i.i.i234 ] + %__y.addr.06.i.i.i.i236 = phi ptr [ %0, %while.body.lr.ph.i.i.i.i231 ], [ %__y.addr.1.i.i.i.i241, %while.body.i.i.i.i234 ] + %_M_storage.i.i.i.i.i.i237 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i235, i64 32 + %76 = load ptr, ptr %_M_storage.i.i.i.i.i.i237, align 8 + %bf.load.i.i.i.i.i.i238 = load i64, ptr %76, align 8 + %bf.clear.i.i.i.i.i.i239 = and i64 %bf.load.i.i.i.i.i.i238, 1099511627775 + %cmp.i.i.i.i.i.i240 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i239, %bf.clear4.i.i.i.i.i.i233 + %__y.addr.1.i.i.i.i241 = select i1 %cmp.i.i.i.i.i.i240, ptr %__y.addr.06.i.i.i.i236, ptr %__x.addr.07.i.i.i.i235 + %__x.addr.1.in.v.i.i.i.i242 = select i1 %cmp.i.i.i.i.i.i240, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i243 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i235, i64 %__x.addr.1.in.v.i.i.i.i242 + %__x.addr.1.i.i.i.i244 = load ptr, ptr %__x.addr.1.in.i.i.i.i243, align 8 + %cmp.not.i.i.i.i245 = icmp eq ptr %__x.addr.1.i.i.i.i244, null + br i1 %cmp.not.i.i.i.i245, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i, label %while.body.i.i.i.i234, !llvm.loop !73 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i: ; preds = %while.body.i.i.i.i234 + %cmp.i.i246 = icmp eq ptr %__y.addr.1.i.i.i.i241, %0 + br i1 %cmp.i.i246, label %if.then.i254, label %lor.rhs.i247 + +lor.rhs.i247: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i + %__y.addr.1.i.i.i.i241.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i240, ptr %__y.addr.06.i.i.i.i236, ptr %__x.addr.07.i.i.i.i235 + %__y.addr.1.i.i.i.i241.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i241.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %77 = load ptr, ptr %__y.addr.1.i.i.i.i241.sroa.sel.v.sroa.sel.v.sroa.sel, align 8 + %bf.load3.i.i.i249 = load i64, ptr %77, align 8 + %bf.clear4.i.i.i250 = and i64 %bf.load3.i.i.i249, 1099511627775 + %cmp.i.i.i251 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i233, %bf.clear4.i.i.i250 + br i1 %cmp.i.i.i251, label %if.then.i254, label %invoke.cont118 + +if.then.i254: ; preds = %lor.rhs.i247, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i, %if.end117 + %__y.addr.0.lcssa.i.i.i9.i255 = phi ptr [ %__y.addr.1.i.i.i.i241, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i ], [ %__y.addr.1.i.i.i.i241, %lor.rhs.i247 ], [ %0, %if.end117 ] + store ptr %cc, ptr %ref.tmp9.i226, align 8 + %call12.i257 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St6vectorIS3_SaIS3_EEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESK_IJEEEEESt17_Rb_tree_iteratorIS9_ESt23_Rb_tree_const_iteratorIS9_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %new_part, ptr %__y.addr.0.lcssa.i.i.i9.i255, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i226, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i227) + to label %invoke.cont118 unwind label %lpad103 + +invoke.cont118: ; preds = %lor.rhs.i247, %if.then.i254 + %__i.sroa.0.0.i252 = phi ptr [ %__y.addr.1.i.i.i.i241, %lor.rhs.i247 ], [ %call12.i257, %if.then.i254 ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i226) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i227) + %78 = load ptr, ptr %part, align 8 + %add.ptr.i258 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %78, i64 %conv251769 + %_M_finish.i259 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i252, i64 48 + %79 = load ptr, ptr %_M_finish.i259, align 8 + %_M_end_of_storage.i260 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i252, i64 56 + %80 = load ptr, ptr %_M_end_of_storage.i260, align 8 + %cmp.not.i261 = icmp eq ptr %79, %80 + br i1 %cmp.not.i261, label %if.else.i278, label %if.then.i262 + +if.then.i262: ; preds = %invoke.cont118 + %81 = load ptr, ptr %add.ptr.i258, align 8 + store ptr %81, ptr %79, align 8 + %bf.load.i.i.i.i.i263 = load i64, ptr %81, align 8 + %bf.lshr.i.i.i.i.i264 = lshr i64 %bf.load.i.i.i.i.i263, 40 + %82 = trunc nuw nsw i64 %bf.lshr.i.i.i.i.i264 to i32 + %bf.cast.i.i.i.i.i265 = and i32 %82, 1048575 + %cmp.i.i.i.i.i266 = icmp samesign ult i32 %bf.cast.i.i.i.i.i265, 1048574 + br i1 %cmp.i.i.i.i.i266, label %if.then.i.i.i.i.i273, label %if.else.i.i.i.i.i267 + +if.then.i.i.i.i.i273: ; preds = %if.then.i262 + %bf.value.i.i.i.i.i274 = add i64 %bf.load.i.i.i.i.i263, 1099511627776 + %bf.shl.i.i.i.i.i275 = and i64 %bf.value.i.i.i.i.i274, 1152920405095219200 + %bf.clear7.i.i.i.i.i276 = and i64 %bf.load.i.i.i.i.i263, -1152920405095219201 + %bf.set.i.i.i.i.i277 = or disjoint i64 %bf.shl.i.i.i.i.i275, %bf.clear7.i.i.i.i.i276 + store i64 %bf.set.i.i.i.i.i277, ptr %81, align 8 + br label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i269 + +if.else.i.i.i.i.i267: ; preds = %if.then.i262 + %cmp12.i.i.i.i.i268 = icmp eq i32 %bf.cast.i.i.i.i.i265, 1048574 + br i1 %cmp12.i.i.i.i.i268, label %if.then13.i.i.i.i.i271, label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i269 + +if.then13.i.i.i.i.i271: ; preds = %if.else.i.i.i.i.i267 + %bf.set23.i.i.i.i.i272 = or i64 %bf.load.i.i.i.i.i263, 1152920405095219200 + store i64 %bf.set23.i.i.i.i.i272, ptr %81, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %81) + to label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i269 unwind label %lpad103 + +_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i269: ; preds = %if.then13.i.i.i.i.i271, %if.else.i.i.i.i.i267, %if.then.i.i.i.i.i273 + %83 = load ptr, ptr %_M_finish.i259, align 8 + %incdec.ptr.i270 = getelementptr inbounds i8, ptr %83, i64 8 + store ptr %incdec.ptr.i270, ptr %_M_finish.i259, align 8 + br label %if.end150 + +if.else.i278: ; preds = %invoke.cont118 + %second.i253 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i252, i64 40 + invoke void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %second.i253, ptr %79, ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i258) + to label %if.end150 unwind label %lpad103 + +if.end150: ; preds = %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i269, %if.else.i278 + %84 = load ptr, ptr %cc, align 8 + %bf.load.i.i282 = load i64, ptr %84, align 8 + %85 = and i64 %bf.load.i.i282, 1152920405095219200 + %cmp.not.i.i283 = icmp eq i64 %85, 1152920405095219200 + br i1 %cmp.not.i.i283, label %if.end182, label %if.then.i.i284 + +if.then.i.i284: ; preds = %if.end150 + %bf.value.i.i285 = add i64 %bf.load.i.i282, 1152920405095219200 + %bf.shl.i.i286 = and i64 %bf.value.i.i285, 1152920405095219200 + %bf.clear7.i.i287 = and i64 %bf.load.i.i282, -1152920405095219201 + %bf.set.i.i288 = or disjoint i64 %bf.shl.i.i286, %bf.clear7.i.i287 + store i64 %bf.set.i.i288, ptr %84, align 8 + %cmp12.i.i289 = icmp eq i64 %bf.shl.i.i286, 0 + br i1 %cmp12.i.i289, label %if.then13.i.i290, label %if.end182 + +if.then13.i.i290: ; preds = %if.then.i.i284 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %84) + to label %if.end182 unwind label %terminate.lpad.i291 + +terminate.lpad.i291: ; preds = %if.then13.i.i290 + %86 = landingpad { ptr, i32 } + catch ptr null + %87 = extractvalue { ptr, i32 } %86, 0 + call void @__clang_call_terminate(ptr %87) #25 + unreachable + +ehcleanup151: ; preds = %lpad114, %lpad103 + %.pn12 = phi { ptr, i32 } [ %72, %lpad103 ], [ %73, %lpad114 ] + call void @_ZN4cvc58internal12NodeTemplateILb1EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %cc) #23 + br label %ehcleanup183 + +if.else152: ; preds = %invoke.cont94 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i293) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i294) + %88 = load ptr, ptr %_M_parent.i.i.i.i.i18, align 8 + %cmp.not5.i.i.i.i297 = icmp eq ptr %88, null + br i1 %cmp.not5.i.i.i.i297, label %if.then.i322, label %while.body.lr.ph.i.i.i.i298 + +while.body.lr.ph.i.i.i.i298: ; preds = %if.else152 + %89 = load ptr, ptr %c, align 8 + %bf.load3.i.i.i.i.i.i299 = load i64, ptr %89, align 8 + %bf.clear4.i.i.i.i.i.i300 = and i64 %bf.load3.i.i.i.i.i.i299, 1099511627775 + br label %while.body.i.i.i.i301 + +while.body.i.i.i.i301: ; preds = %while.body.i.i.i.i301, %while.body.lr.ph.i.i.i.i298 + %__x.addr.07.i.i.i.i302 = phi ptr [ %88, %while.body.lr.ph.i.i.i.i298 ], [ %__x.addr.1.i.i.i.i311, %while.body.i.i.i.i301 ] + %__y.addr.06.i.i.i.i303 = phi ptr [ %1, %while.body.lr.ph.i.i.i.i298 ], [ %__y.addr.1.i.i.i.i308, %while.body.i.i.i.i301 ] + %_M_storage.i.i.i.i.i.i304 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i302, i64 32 + %90 = load ptr, ptr %_M_storage.i.i.i.i.i.i304, align 8 + %bf.load.i.i.i.i.i.i305 = load i64, ptr %90, align 8 + %bf.clear.i.i.i.i.i.i306 = and i64 %bf.load.i.i.i.i.i.i305, 1099511627775 + %cmp.i.i.i.i.i.i307 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i306, %bf.clear4.i.i.i.i.i.i300 + %__y.addr.1.i.i.i.i308 = select i1 %cmp.i.i.i.i.i.i307, ptr %__y.addr.06.i.i.i.i303, ptr %__x.addr.07.i.i.i.i302 + %__x.addr.1.in.v.i.i.i.i309 = select i1 %cmp.i.i.i.i.i.i307, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i310 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i302, i64 %__x.addr.1.in.v.i.i.i.i309 + %__x.addr.1.i.i.i.i311 = load ptr, ptr %__x.addr.1.in.i.i.i.i310, align 8 + %cmp.not.i.i.i.i312 = icmp eq ptr %__x.addr.1.i.i.i.i311, null + br i1 %cmp.not.i.i.i.i312, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i313, label %while.body.i.i.i.i301, !llvm.loop !73 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i313: ; preds = %while.body.i.i.i.i301 + %cmp.i.i314 = icmp eq ptr %__y.addr.1.i.i.i.i308, %1 + br i1 %cmp.i.i314, label %if.then.i322, label %lor.rhs.i315 + +lor.rhs.i315: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i313 + %__y.addr.1.i.i.i.i308.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i307, ptr %__y.addr.06.i.i.i.i303, ptr %__x.addr.07.i.i.i.i302 + %__y.addr.1.i.i.i.i308.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i308.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %91 = load ptr, ptr %__y.addr.1.i.i.i.i308.sroa.sel.v.sroa.sel.v.sroa.sel, align 8 + %bf.load3.i.i.i317 = load i64, ptr %91, align 8 + %bf.clear4.i.i.i318 = and i64 %bf.load3.i.i.i317, 1099511627775 + %cmp.i.i.i319 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i300, %bf.clear4.i.i.i318 + br i1 %cmp.i.i.i319, label %if.then.i322, label %invoke.cont153 + +if.then.i322: ; preds = %lor.rhs.i315, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i313, %if.else152 + %__y.addr.0.lcssa.i.i.i9.i323 = phi ptr [ %__y.addr.1.i.i.i.i308, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i313 ], [ %__y.addr.1.i.i.i.i308, %lor.rhs.i315 ], [ %1, %if.else152 ] + store ptr %c, ptr %ref.tmp9.i293, align 8 + %call12.i325 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St6vectorIS3_SaIS3_EEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESK_IJEEEEESt17_Rb_tree_iteratorIS9_ESt23_Rb_tree_const_iteratorIS9_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %new_part_c, ptr %__y.addr.0.lcssa.i.i.i9.i323, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i293, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i294) + to label %invoke.cont153 unwind label %lpad95 + +invoke.cont153: ; preds = %lor.rhs.i315, %if.then.i322 + %__i.sroa.0.0.i320 = phi ptr [ %__y.addr.1.i.i.i.i308, %lor.rhs.i315 ], [ %call12.i325, %if.then.i322 ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i293) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i294) + %92 = load ptr, ptr %part, align 8 + %add.ptr.i327 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %92, i64 %conv251769 + %_M_finish.i328 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i320, i64 48 + %93 = load ptr, ptr %_M_finish.i328, align 8 + %_M_end_of_storage.i329 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i320, i64 56 + %94 = load ptr, ptr %_M_end_of_storage.i329, align 8 + %cmp.not.i330 = icmp eq ptr %93, %94 + br i1 %cmp.not.i330, label %if.else.i347, label %if.then.i331 + +if.then.i331: ; preds = %invoke.cont153 + %95 = load ptr, ptr %add.ptr.i327, align 8 + store ptr %95, ptr %93, align 8 + %bf.load.i.i.i.i.i332 = load i64, ptr %95, align 8 + %bf.lshr.i.i.i.i.i333 = lshr i64 %bf.load.i.i.i.i.i332, 40 + %96 = trunc nuw nsw i64 %bf.lshr.i.i.i.i.i333 to i32 + %bf.cast.i.i.i.i.i334 = and i32 %96, 1048575 + %cmp.i.i.i.i.i335 = icmp samesign ult i32 %bf.cast.i.i.i.i.i334, 1048574 + br i1 %cmp.i.i.i.i.i335, label %if.then.i.i.i.i.i342, label %if.else.i.i.i.i.i336 + +if.then.i.i.i.i.i342: ; preds = %if.then.i331 + %bf.value.i.i.i.i.i343 = add i64 %bf.load.i.i.i.i.i332, 1099511627776 + %bf.shl.i.i.i.i.i344 = and i64 %bf.value.i.i.i.i.i343, 1152920405095219200 + %bf.clear7.i.i.i.i.i345 = and i64 %bf.load.i.i.i.i.i332, -1152920405095219201 + %bf.set.i.i.i.i.i346 = or disjoint i64 %bf.shl.i.i.i.i.i344, %bf.clear7.i.i.i.i.i345 + store i64 %bf.set.i.i.i.i.i346, ptr %95, align 8 + br label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i338 + +if.else.i.i.i.i.i336: ; preds = %if.then.i331 + %cmp12.i.i.i.i.i337 = icmp eq i32 %bf.cast.i.i.i.i.i334, 1048574 + br i1 %cmp12.i.i.i.i.i337, label %if.then13.i.i.i.i.i340, label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i338 + +if.then13.i.i.i.i.i340: ; preds = %if.else.i.i.i.i.i336 + %bf.set23.i.i.i.i.i341 = or i64 %bf.load.i.i.i.i.i332, 1152920405095219200 + store i64 %bf.set23.i.i.i.i.i341, ptr %95, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %95) + to label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i338 unwind label %lpad95 + +_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i338: ; preds = %if.then13.i.i.i.i.i340, %if.else.i.i.i.i.i336, %if.then.i.i.i.i.i342 + %97 = load ptr, ptr %_M_finish.i328, align 8 + %incdec.ptr.i339 = getelementptr inbounds i8, ptr %97, i64 8 + store ptr %incdec.ptr.i339, ptr %_M_finish.i328, align 8 + br label %if.end182 + +if.else.i347: ; preds = %invoke.cont153 + %second.i321 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i320, i64 40 + invoke void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %second.i321, ptr %93, ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i327) + to label %if.end182 unwind label %lpad95 + +if.end182: ; preds = %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i338, %if.else.i347, %if.then13.i.i290, %if.then.i.i284, %if.end150 + %98 = load ptr, ptr %ncons, align 8 + %bf.load.i.i351 = load i64, ptr %98, align 8 + %99 = and i64 %bf.load.i.i351, 1152920405095219200 + %cmp.not.i.i352 = icmp eq i64 %99, 1152920405095219200 + br i1 %cmp.not.i.i352, label %if.end219, label %if.then.i.i353 + +if.then.i.i353: ; preds = %if.end182 + %bf.value.i.i354 = add i64 %bf.load.i.i351, 1152920405095219200 + %bf.shl.i.i355 = and i64 %bf.value.i.i354, 1152920405095219200 + %bf.clear7.i.i356 = and i64 %bf.load.i.i351, -1152920405095219201 + %bf.set.i.i357 = or disjoint i64 %bf.shl.i.i355, %bf.clear7.i.i356 + store i64 %bf.set.i.i357, ptr %98, align 8 + %cmp12.i.i358 = icmp eq i64 %bf.shl.i.i355, 0 + br i1 %cmp12.i.i358, label %if.then13.i.i359, label %if.end219 + +if.then13.i.i359: ; preds = %if.then.i.i353 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %98) + to label %if.end219 unwind label %terminate.lpad.i360 + +terminate.lpad.i360: ; preds = %if.then13.i.i359 + %100 = landingpad { ptr, i32 } + catch ptr null + %101 = extractvalue { ptr, i32 } %100, 0 + call void @__clang_call_terminate(ptr %101) #25 + unreachable + +ehcleanup183: ; preds = %ehcleanup151, %lpad95 + %.pn12.pn = phi { ptr, i32 } [ %.pn12, %ehcleanup151 ], [ %71, %lpad95 ] + call void @_ZN4cvc58internal12NodeTemplateILb1EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %ncons) #23 + br label %ehcleanup220 + +if.end212: ; preds = %_ZN4cvc58internal8TypeNodeD2Ev.exit + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i362) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i363) + %102 = load ptr, ptr %_M_parent.i.i.i.i.i18, align 8 + %cmp.not5.i.i.i.i366 = icmp eq ptr %102, null + br i1 %cmp.not5.i.i.i.i366, label %if.then.i391, label %while.body.lr.ph.i.i.i.i367 + +while.body.lr.ph.i.i.i.i367: ; preds = %if.end212 + %103 = load ptr, ptr %c, align 8 + %bf.load3.i.i.i.i.i.i368 = load i64, ptr %103, align 8 + %bf.clear4.i.i.i.i.i.i369 = and i64 %bf.load3.i.i.i.i.i.i368, 1099511627775 + br label %while.body.i.i.i.i370 + +while.body.i.i.i.i370: ; preds = %while.body.i.i.i.i370, %while.body.lr.ph.i.i.i.i367 + %__x.addr.07.i.i.i.i371 = phi ptr [ %102, %while.body.lr.ph.i.i.i.i367 ], [ %__x.addr.1.i.i.i.i380, %while.body.i.i.i.i370 ] + %__y.addr.06.i.i.i.i372 = phi ptr [ %1, %while.body.lr.ph.i.i.i.i367 ], [ %__y.addr.1.i.i.i.i377, %while.body.i.i.i.i370 ] + %_M_storage.i.i.i.i.i.i373 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i371, i64 32 + %104 = load ptr, ptr %_M_storage.i.i.i.i.i.i373, align 8 + %bf.load.i.i.i.i.i.i374 = load i64, ptr %104, align 8 + %bf.clear.i.i.i.i.i.i375 = and i64 %bf.load.i.i.i.i.i.i374, 1099511627775 + %cmp.i.i.i.i.i.i376 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i375, %bf.clear4.i.i.i.i.i.i369 + %__y.addr.1.i.i.i.i377 = select i1 %cmp.i.i.i.i.i.i376, ptr %__y.addr.06.i.i.i.i372, ptr %__x.addr.07.i.i.i.i371 + %__x.addr.1.in.v.i.i.i.i378 = select i1 %cmp.i.i.i.i.i.i376, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i379 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i371, i64 %__x.addr.1.in.v.i.i.i.i378 + %__x.addr.1.i.i.i.i380 = load ptr, ptr %__x.addr.1.in.i.i.i.i379, align 8 + %cmp.not.i.i.i.i381 = icmp eq ptr %__x.addr.1.i.i.i.i380, null + br i1 %cmp.not.i.i.i.i381, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i382, label %while.body.i.i.i.i370, !llvm.loop !73 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i382: ; preds = %while.body.i.i.i.i370 + %cmp.i.i383 = icmp eq ptr %__y.addr.1.i.i.i.i377, %1 + br i1 %cmp.i.i383, label %if.then.i391, label %lor.rhs.i384 + +lor.rhs.i384: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i382 + %__y.addr.1.i.i.i.i377.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i376, ptr %__y.addr.06.i.i.i.i372, ptr %__x.addr.07.i.i.i.i371 + %__y.addr.1.i.i.i.i377.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i377.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %105 = load ptr, ptr %__y.addr.1.i.i.i.i377.sroa.sel.v.sroa.sel.v.sroa.sel, align 8 + %bf.load3.i.i.i386 = load i64, ptr %105, align 8 + %bf.clear4.i.i.i387 = and i64 %bf.load3.i.i.i386, 1099511627775 + %cmp.i.i.i388 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i369, %bf.clear4.i.i.i387 + br i1 %cmp.i.i.i388, label %if.then.i391, label %invoke.cont213 + +if.then.i391: ; preds = %lor.rhs.i384, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i382, %if.end212 + %__y.addr.0.lcssa.i.i.i9.i392 = phi ptr [ %__y.addr.1.i.i.i.i377, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i382 ], [ %__y.addr.1.i.i.i.i377, %lor.rhs.i384 ], [ %1, %if.end212 ] + store ptr %c, ptr %ref.tmp9.i362, align 8 + %call12.i394 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St6vectorIS3_SaIS3_EEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESK_IJEEEEESt17_Rb_tree_iteratorIS9_ESt23_Rb_tree_const_iteratorIS9_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %new_part_c, ptr %__y.addr.0.lcssa.i.i.i9.i392, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i362, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i363) + to label %invoke.cont213 unwind label %lpad35 + +invoke.cont213: ; preds = %lor.rhs.i384, %if.then.i391 + %__i.sroa.0.0.i389 = phi ptr [ %__y.addr.1.i.i.i.i377, %lor.rhs.i384 ], [ %call12.i394, %if.then.i391 ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i362) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i363) + %106 = load ptr, ptr %part, align 8 + %add.ptr.i396 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %106, i64 %conv251769 + %_M_finish.i397 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i389, i64 48 + %107 = load ptr, ptr %_M_finish.i397, align 8 + %_M_end_of_storage.i398 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i389, i64 56 + %108 = load ptr, ptr %_M_end_of_storage.i398, align 8 + %cmp.not.i399 = icmp eq ptr %107, %108 + br i1 %cmp.not.i399, label %if.else.i416.invoke, label %if.then.i400 + +if.then.i400: ; preds = %invoke.cont213 + %109 = load ptr, ptr %add.ptr.i396, align 8 + store ptr %109, ptr %107, align 8 + %bf.load.i.i.i.i.i401 = load i64, ptr %109, align 8 + %bf.lshr.i.i.i.i.i402 = lshr i64 %bf.load.i.i.i.i.i401, 40 + %110 = trunc nuw nsw i64 %bf.lshr.i.i.i.i.i402 to i32 + %bf.cast.i.i.i.i.i403 = and i32 %110, 1048575 + %cmp.i.i.i.i.i404 = icmp samesign ult i32 %bf.cast.i.i.i.i.i403, 1048574 + br i1 %cmp.i.i.i.i.i404, label %if.then.i.i.i.i.i411, label %if.else.i.i.i.i.i405 + +if.then.i.i.i.i.i411: ; preds = %if.then.i400 + %bf.value.i.i.i.i.i412 = add i64 %bf.load.i.i.i.i.i401, 1099511627776 + %bf.shl.i.i.i.i.i413 = and i64 %bf.value.i.i.i.i.i412, 1152920405095219200 + %bf.clear7.i.i.i.i.i414 = and i64 %bf.load.i.i.i.i.i401, -1152920405095219201 + %bf.set.i.i.i.i.i415 = or disjoint i64 %bf.shl.i.i.i.i.i413, %bf.clear7.i.i.i.i.i414 + store i64 %bf.set.i.i.i.i.i415, ptr %109, align 8 + br label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i407 + +if.else.i.i.i.i.i405: ; preds = %if.then.i400 + %cmp12.i.i.i.i.i406 = icmp eq i32 %bf.cast.i.i.i.i.i403, 1048574 + br i1 %cmp12.i.i.i.i.i406, label %if.then13.i.i.i.i.i409, label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i407 + +if.then13.i.i.i.i.i409: ; preds = %if.else.i.i.i.i.i405 + %bf.set23.i.i.i.i.i410 = or i64 %bf.load.i.i.i.i.i401, 1152920405095219200 + store i64 %bf.set23.i.i.i.i.i410, ptr %109, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %109) + to label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i407 unwind label %lpad35 + +_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i407: ; preds = %if.then13.i.i.i.i.i409, %if.else.i.i.i.i.i405, %if.then.i.i.i.i.i411 + %111 = load ptr, ptr %_M_finish.i397, align 8 + %incdec.ptr.i408 = getelementptr inbounds i8, ptr %111, i64 8 + store ptr %incdec.ptr.i408, ptr %_M_finish.i397, align 8 + br label %if.end219 + +if.else.i416.invoke: ; preds = %invoke.cont213, %invoke.cont78 + %__i.sroa.0.0.i121.sink = phi ptr [ %__i.sroa.0.0.i121, %invoke.cont78 ], [ %__i.sroa.0.0.i389, %invoke.cont213 ] + %112 = phi ptr [ %34, %invoke.cont78 ], [ %107, %invoke.cont213 ] + %113 = phi ptr [ %add.ptr.i126, %invoke.cont78 ], [ %add.ptr.i396, %invoke.cont213 ] + %second.i122 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i121.sink, i64 40 + invoke void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %second.i122, ptr %112, ptr noundef nonnull align 8 dereferenceable(8) %113) + to label %if.end219 unwind label %lpad35 + +if.end219: ; preds = %if.else.i416.invoke, %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i407, %if.then13.i.i359, %if.then.i.i353, %if.end182, %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i + %114 = load ptr, ptr %c, align 8 + %bf.load.i.i420 = load i64, ptr %114, align 8 + %115 = and i64 %bf.load.i.i420, 1152920405095219200 + %cmp.not.i.i421 = icmp eq i64 %115, 1152920405095219200 + br i1 %cmp.not.i.i421, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430, label %if.then.i.i422 + +if.then.i.i422: ; preds = %if.end219 + %bf.value.i.i423 = add i64 %bf.load.i.i420, 1152920405095219200 + %bf.shl.i.i424 = and i64 %bf.value.i.i423, 1152920405095219200 + %bf.clear7.i.i425 = and i64 %bf.load.i.i420, -1152920405095219201 + %bf.set.i.i426 = or disjoint i64 %bf.shl.i.i424, %bf.clear7.i.i425 + store i64 %bf.set.i.i426, ptr %114, align 8 + %cmp12.i.i427 = icmp eq i64 %bf.shl.i.i424, 0 + br i1 %cmp12.i.i427, label %if.then13.i.i428, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430 + +if.then13.i.i428: ; preds = %if.then.i.i422 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %114) + to label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430 unwind label %terminate.lpad.i429 + +terminate.lpad.i429: ; preds = %if.then13.i.i428 + %116 = landingpad { ptr, i32 } + catch ptr null + %117 = extractvalue { ptr, i32 } %116, 0 + call void @__clang_call_terminate(ptr %117) #25 + unreachable + +_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430: ; preds = %if.end219, %if.then.i.i422, %if.then13.i.i428 + %inc222 = add i32 %j.01768, 1 + %conv25 = zext i32 %inc222 to i64 + %118 = load ptr, ptr %_M_finish.i, align 8 + %119 = load ptr, ptr %part, align 8 + %sub.ptr.lhs.cast.i = ptrtoint ptr %118 to i64 + %sub.ptr.rhs.cast.i = ptrtoint ptr %119 to i64 + %sub.ptr.sub.i = sub i64 %sub.ptr.lhs.cast.i, %sub.ptr.rhs.cast.i + %sub.ptr.div.i = ashr exact i64 %sub.ptr.sub.i, 3 + %cmp27 = icmp ugt i64 %sub.ptr.div.i, %conv25 + br i1 %cmp27, label %for.body28, label %for.end223, !llvm.loop !277 + +ehcleanup220: ; preds = %lpad91, %lpad93, %ehcleanup183, %lpad85, %lpad35 + %.pn15 = phi { ptr, i32 } [ %28, %lpad35 ], [ %.pn12.pn, %ehcleanup183 ], [ %68, %lpad85 ], [ %70, %lpad93 ], [ %69, %lpad91 ] + call void @_ZN4cvc58internal12NodeTemplateILb1EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %c) #23 + br label %ehcleanup537 + +for.end223: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430 + %.pre = load ptr, ptr %_M_left.i.i.i.i.i19, align 8 + %cmp.i432.not1770 = icmp eq ptr %.pre, %1 + br i1 %cmp.i432.not1770, label %for.end263, label %for.body231.lr.ph + +for.body231.lr.ph: ; preds = %for.end223 + %_M_finish.i444 = getelementptr inbounds i8, ptr %vec, i64 8 + br label %for.body231 + +for.body231: ; preds = %for.body231.lr.ph, %for.inc261 + %it.sroa.0.01771 = phi ptr [ %.pre, %for.body231.lr.ph ], [ %call.i, %for.inc261 ] + %second233 = getelementptr inbounds i8, ptr %it.sroa.0.01771, i64 40 + %_M_finish.i434 = getelementptr inbounds i8, ptr %it.sroa.0.01771, i64 48 + %120 = load ptr, ptr %_M_finish.i434, align 8 + %121 = load ptr, ptr %second233, align 8 + %sub.ptr.lhs.cast.i435 = ptrtoint ptr %120 to i64 + %sub.ptr.rhs.cast.i436 = ptrtoint ptr %121 to i64 + %sub.ptr.sub.i437 = sub i64 %sub.ptr.lhs.cast.i435, %sub.ptr.rhs.cast.i436 + %cmp235 = icmp ugt i64 %sub.ptr.sub.i437, 8 + br i1 %cmp235, label %if.then236, label %for.inc261 + +if.then236: ; preds = %for.body231 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %vec, i8 0, i64 24, i1 false) + invoke void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS3_S5_EEEEvSA_T_SB_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %vec, ptr null, ptr %121, ptr %120) + to label %invoke.cont255 unwind label %lpad254 + +invoke.cont255: ; preds = %if.then236 + invoke void @_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE9push_backERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %part_out, ptr noundef nonnull align 8 dereferenceable(24) %vec) + to label %invoke.cont258 unwind label %lpad254 + +invoke.cont258: ; preds = %invoke.cont255 + %122 = load ptr, ptr %vec, align 8 + %123 = load ptr, ptr %_M_finish.i444, align 8 + %cmp.not3.i.i.i.i = icmp eq ptr %122, %123 + br i1 %cmp.not3.i.i.i.i, label %invoke.cont.i, label %for.body.i.i.i.i + +for.body.i.i.i.i: ; preds = %invoke.cont258, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i + %__first.addr.04.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i ], [ %122, %invoke.cont258 ] + %124 = load ptr, ptr %__first.addr.04.i.i.i.i, align 8 + %bf.load.i.i.i.i.i.i.i = load i64, ptr %124, align 8 + %125 = and i64 %bf.load.i.i.i.i.i.i.i, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i = icmp eq i64 %125, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i, label %if.then.i.i.i.i.i.i.i + +if.then.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i + %bf.value.i.i.i.i.i.i.i = add i64 %bf.load.i.i.i.i.i.i.i, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i = and i64 %bf.value.i.i.i.i.i.i.i, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i.i.i, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i = or disjoint i64 %bf.shl.i.i.i.i.i.i.i, %bf.clear7.i.i.i.i.i.i.i + store i64 %bf.set.i.i.i.i.i.i.i, ptr %124, align 8 + %cmp12.i.i.i.i.i.i.i = icmp eq i64 %bf.shl.i.i.i.i.i.i.i, 0 + br i1 %cmp12.i.i.i.i.i.i.i, label %if.then13.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i + +if.then13.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %124) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i unwind label %terminate.lpad.i.i.i.i.i.i + +terminate.lpad.i.i.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i + %126 = landingpad { ptr, i32 } + catch ptr null + %127 = extractvalue { ptr, i32 } %126, 0 + call void @__clang_call_terminate(ptr %127) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i, %for.body.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i, i64 8 + %cmp.not.i.i.i.i445 = icmp eq ptr %incdec.ptr.i.i.i.i, %123 + br i1 %cmp.not.i.i.i.i445, label %invoke.contthread-pre-split.i, label %for.body.i.i.i.i, !llvm.loop !21 + +invoke.contthread-pre-split.i: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i + %.pr.i = load ptr, ptr %vec, align 8 + br label %invoke.cont.i + +invoke.cont.i: ; preds = %invoke.contthread-pre-split.i, %invoke.cont258 + %128 = phi ptr [ %.pr.i, %invoke.contthread-pre-split.i ], [ %122, %invoke.cont258 ] + %tobool.not.i.i.i = icmp eq ptr %128, null + br i1 %tobool.not.i.i.i, label %for.inc261, label %if.then.i.i.i + +if.then.i.i.i: ; preds = %invoke.cont.i + call void @_ZdlPv(ptr noundef nonnull %128) #26 + br label %for.inc261 + +lpad254: ; preds = %if.then236, %invoke.cont255 + %129 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %vec) #23 + br label %ehcleanup537 + +for.inc261: ; preds = %if.then.i.i.i, %invoke.cont.i, %for.body231 + %call.i = call noundef ptr @_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base(ptr noundef %it.sroa.0.01771) #27 + %cmp.i432.not = icmp eq ptr %call.i, %1 + br i1 %cmp.i432.not, label %for.end263, label %for.body231, !llvm.loop !278 + +for.end263: ; preds = %for.inc261, %entry, %for.end223 + %130 = load ptr, ptr %_M_left.i.i.i.i.i23, align 8 + %cmp.i448.not1772 = icmp eq ptr %130, %2 + br i1 %cmp.i448.not1772, label %for.end307, label %for.body272.lr.ph + +for.body272.lr.ph: ; preds = %for.end263 + %_M_finish.i465 = getelementptr inbounds i8, ptr %vec278, i64 8 + br label %for.body272 + +for.body272: ; preds = %for.body272.lr.ph, %for.inc305 + %it264.sroa.0.01773 = phi ptr [ %130, %for.body272.lr.ph ], [ %call.i488, %for.inc305 ] + %second274 = getelementptr inbounds i8, ptr %it264.sroa.0.01773, i64 40 + %_M_finish.i450 = getelementptr inbounds i8, ptr %it264.sroa.0.01773, i64 48 + %131 = load ptr, ptr %_M_finish.i450, align 8 + %132 = load ptr, ptr %second274, align 8 + %sub.ptr.lhs.cast.i451 = ptrtoint ptr %131 to i64 + %sub.ptr.rhs.cast.i452 = ptrtoint ptr %132 to i64 + %sub.ptr.sub.i453 = sub i64 %sub.ptr.lhs.cast.i451, %sub.ptr.rhs.cast.i452 + %cmp276 = icmp ugt i64 %sub.ptr.sub.i453, 8 + br i1 %cmp276, label %if.then277, label %for.inc305 + +if.then277: ; preds = %for.body272 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %vec278, i8 0, i64 24, i1 false) + invoke void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS3_S5_EEEEvSA_T_SB_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %vec278, ptr null, ptr %132, ptr %131) + to label %invoke.cont297 unwind label %lpad296 + +invoke.cont297: ; preds = %if.then277 + invoke void @_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE9push_backERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %part_out, ptr noundef nonnull align 8 dereferenceable(24) %vec278) + to label %invoke.cont301 unwind label %lpad296 + +invoke.cont301: ; preds = %invoke.cont297 + %133 = load ptr, ptr %vec278, align 8 + %134 = load ptr, ptr %_M_finish.i465, align 8 + %cmp.not3.i.i.i.i466 = icmp eq ptr %133, %134 + br i1 %cmp.not3.i.i.i.i466, label %invoke.cont.i482, label %for.body.i.i.i.i467 + +for.body.i.i.i.i467: ; preds = %invoke.cont301, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i477 + %__first.addr.04.i.i.i.i468 = phi ptr [ %incdec.ptr.i.i.i.i478, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i477 ], [ %133, %invoke.cont301 ] + %135 = load ptr, ptr %__first.addr.04.i.i.i.i468, align 8 + %bf.load.i.i.i.i.i.i.i469 = load i64, ptr %135, align 8 + %136 = and i64 %bf.load.i.i.i.i.i.i.i469, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i470 = icmp eq i64 %136, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i470, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i477, label %if.then.i.i.i.i.i.i.i471 + +if.then.i.i.i.i.i.i.i471: ; preds = %for.body.i.i.i.i467 + %bf.value.i.i.i.i.i.i.i472 = add i64 %bf.load.i.i.i.i.i.i.i469, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i473 = and i64 %bf.value.i.i.i.i.i.i.i472, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i474 = and i64 %bf.load.i.i.i.i.i.i.i469, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i475 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i473, %bf.clear7.i.i.i.i.i.i.i474 + store i64 %bf.set.i.i.i.i.i.i.i475, ptr %135, align 8 + %cmp12.i.i.i.i.i.i.i476 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i473, 0 + br i1 %cmp12.i.i.i.i.i.i.i476, label %if.then13.i.i.i.i.i.i.i485, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i477 + +if.then13.i.i.i.i.i.i.i485: ; preds = %if.then.i.i.i.i.i.i.i471 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %135) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i477 unwind label %terminate.lpad.i.i.i.i.i.i486 + +terminate.lpad.i.i.i.i.i.i486: ; preds = %if.then13.i.i.i.i.i.i.i485 + %137 = landingpad { ptr, i32 } + catch ptr null + %138 = extractvalue { ptr, i32 } %137, 0 + call void @__clang_call_terminate(ptr %138) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i477: ; preds = %if.then13.i.i.i.i.i.i.i485, %if.then.i.i.i.i.i.i.i471, %for.body.i.i.i.i467 + %incdec.ptr.i.i.i.i478 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i468, i64 8 + %cmp.not.i.i.i.i479 = icmp eq ptr %incdec.ptr.i.i.i.i478, %134 + br i1 %cmp.not.i.i.i.i479, label %invoke.contthread-pre-split.i480, label %for.body.i.i.i.i467, !llvm.loop !21 + +invoke.contthread-pre-split.i480: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i477 + %.pr.i481 = load ptr, ptr %vec278, align 8 + br label %invoke.cont.i482 + +invoke.cont.i482: ; preds = %invoke.contthread-pre-split.i480, %invoke.cont301 + %139 = phi ptr [ %.pr.i481, %invoke.contthread-pre-split.i480 ], [ %133, %invoke.cont301 ] + %tobool.not.i.i.i483 = icmp eq ptr %139, null + br i1 %tobool.not.i.i.i483, label %for.inc305, label %if.then.i.i.i484 + +if.then.i.i.i484: ; preds = %invoke.cont.i482 + call void @_ZdlPv(ptr noundef nonnull %139) #26 + br label %for.inc305 + +lpad296: ; preds = %if.then277, %invoke.cont297 + %140 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %vec278) #23 + br label %ehcleanup537 + +for.inc305: ; preds = %if.then.i.i.i484, %invoke.cont.i482, %for.body272 + %call.i488 = call noundef ptr @_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base(ptr noundef %it264.sroa.0.01773) #27 + %cmp.i448.not = icmp eq ptr %call.i488, %2 + br i1 %cmp.i448.not, label %for.end307, label %for.body272, !llvm.loop !279 + +for.end307: ; preds = %for.inc305, %for.end263 + %141 = load ptr, ptr %_M_left.i.i.i.i.i, align 8 + %cmp.i491.not1803 = icmp eq ptr %141, %0 + br i1 %cmp.i491.not1803, label %for.end536, label %for.body316.lr.ph + +for.body316.lr.ph: ; preds = %for.end307 + %142 = getelementptr inbounds i8, ptr %dni_rem, i64 8 + %_M_parent.i.i.i.i.i498 = getelementptr inbounds i8, ptr %dni_rem, i64 16 + %_M_left.i.i.i.i.i499 = getelementptr inbounds i8, ptr %dni_rem, i64 24 + %_M_right.i.i.i.i.i500 = getelementptr inbounds i8, ptr %dni_rem, i64 32 + %_M_node_count.i.i.i.i.i501 = getelementptr inbounds i8, ptr %dni_rem, i64 40 + %_M_parent.i.i.i.i.i527 = getelementptr inbounds i8, ptr %dni, i64 16 + %add.ptr.i.i.i.i528 = getelementptr inbounds i8, ptr %dni, i64 8 + %_M_parent.i.i.i.i.i561 = getelementptr inbounds i8, ptr %cn, i64 16 + %add.ptr.i.i.i.i562 = getelementptr inbounds i8, ptr %cn, i64 8 + %143 = ptrtoint ptr %n to i64 + %_M_node_count.i.i.i1341 = getelementptr inbounds i8, ptr %cn, i64 40 + %_M_node.i.i = getelementptr inbounds i8, ptr %__z.i, i64 8 + %_M_finish.i.i774 = getelementptr inbounds i8, ptr %split_new_part, i64 8 + %144 = ptrtoint ptr %n407 to i64 + %d_equalityEngine.i = getelementptr inbounds i8, ptr %this, i64 160 + %_M_finish.i.i937 = getelementptr inbounds i8, ptr %exp, i64 8 + %_M_end_of_storage.i.i938 = getelementptr inbounds i8, ptr %exp, i64 16 + %_M_finish.i1057 = getelementptr inbounds i8, ptr %next_split_new_part, i64 8 + %_M_finish.i1058 = getelementptr inbounds i8, ptr %c_part_out, i64 8 + %_M_finish.i1156 = getelementptr inbounds i8, ptr %part_out, i64 8 + br label %for.body316 + +for.body316: ; preds = %for.body316.lr.ph, %for.inc534 + %it308.sroa.0.01804 = phi ptr [ %141, %for.body316.lr.ph ], [ %call.i1307, %for.inc534 ] + %second318 = getelementptr inbounds i8, ptr %it308.sroa.0.01804, i64 40 + %_M_finish.i493 = getelementptr inbounds i8, ptr %it308.sroa.0.01804, i64 48 + %145 = load ptr, ptr %_M_finish.i493, align 8 + %146 = load ptr, ptr %second318, align 8 + %sub.ptr.lhs.cast.i494 = ptrtoint ptr %145 to i64 + %sub.ptr.rhs.cast.i495 = ptrtoint ptr %146 to i64 + %sub.ptr.sub.i496 = sub i64 %sub.ptr.lhs.cast.i494, %sub.ptr.rhs.cast.i495 + %cmp320 = icmp ugt i64 %sub.ptr.sub.i496, 8 + br i1 %cmp320, label %if.then321, label %for.inc534 + +if.then321: ; preds = %for.body316 + store i32 0, ptr %142, align 8 + store ptr null, ptr %_M_parent.i.i.i.i.i498, align 8 + store ptr %142, ptr %_M_left.i.i.i.i.i499, align 8 + store ptr %142, ptr %_M_right.i.i.i.i.i500, align 8 + store i64 0, ptr %_M_node_count.i.i.i.i.i501, align 8 + %147 = load ptr, ptr %second318, align 8 + %cmp3281778.not = icmp eq ptr %145, %147 + br i1 %cmp3281778.not, label %for.end352, label %for.body329 + +for.body329: ; preds = %if.then321, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732 + %148 = phi ptr [ %231, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732 ], [ %147, %if.then321 ] + %conv3241780 = phi i64 [ %conv324, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732 ], [ 0, %if.then321 ] + %i322.01779 = phi i32 [ %inc351, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732 ], [ 0, %if.then321 ] + %add.ptr.i509 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %148, i64 %conv3241780 + %149 = load ptr, ptr %add.ptr.i509, align 8 + store ptr %149, ptr %n, align 8 + %bf.load.i.i510 = load i64, ptr %149, align 8 + %bf.lshr.i.i511 = lshr i64 %bf.load.i.i510, 40 + %150 = trunc nuw nsw i64 %bf.lshr.i.i511 to i32 + %bf.cast.i.i512 = and i32 %150, 1048575 + %cmp.i.i513 = icmp samesign ult i32 %bf.cast.i.i512, 1048574 + br i1 %cmp.i.i513, label %if.then.i.i518, label %if.else.i.i514 + +if.then.i.i518: ; preds = %for.body329 + %bf.value.i.i519 = add i64 %bf.load.i.i510, 1099511627776 + %bf.shl.i.i520 = and i64 %bf.value.i.i519, 1152920405095219200 + %bf.clear7.i.i521 = and i64 %bf.load.i.i510, -1152920405095219201 + %bf.set.i.i522 = or disjoint i64 %bf.shl.i.i520, %bf.clear7.i.i521 + store i64 %bf.set.i.i522, ptr %149, align 8 + br label %invoke.cont335 + +if.else.i.i514: ; preds = %for.body329 + %cmp12.i.i515 = icmp eq i32 %bf.cast.i.i512, 1048574 + br i1 %cmp12.i.i515, label %if.then13.i.i516, label %invoke.cont335 + +if.then13.i.i516: ; preds = %if.else.i.i514 + %bf.set23.i.i517 = or i64 %bf.load.i.i510, 1152920405095219200 + store i64 %bf.set23.i.i517, ptr %149, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %149) + to label %invoke.cont335 unwind label %lpad334 + +invoke.cont335: ; preds = %if.else.i.i514, %if.then.i.i518, %if.then13.i.i516 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i525) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i526) + %151 = load ptr, ptr %_M_parent.i.i.i.i.i527, align 8 + %cmp.not5.i.i.i.i529 = icmp eq ptr %151, null + br i1 %cmp.not5.i.i.i.i529, label %if.then.i554, label %while.body.lr.ph.i.i.i.i530 + +while.body.lr.ph.i.i.i.i530: ; preds = %invoke.cont335 + %152 = load ptr, ptr %n, align 8 + %bf.load3.i.i.i.i.i.i531 = load i64, ptr %152, align 8 + %bf.clear4.i.i.i.i.i.i532 = and i64 %bf.load3.i.i.i.i.i.i531, 1099511627775 + br label %while.body.i.i.i.i533 + +while.body.i.i.i.i533: ; preds = %while.body.i.i.i.i533, %while.body.lr.ph.i.i.i.i530 + %__x.addr.07.i.i.i.i534 = phi ptr [ %151, %while.body.lr.ph.i.i.i.i530 ], [ %__x.addr.1.i.i.i.i543, %while.body.i.i.i.i533 ] + %__y.addr.06.i.i.i.i535 = phi ptr [ %add.ptr.i.i.i.i528, %while.body.lr.ph.i.i.i.i530 ], [ %__y.addr.1.i.i.i.i540, %while.body.i.i.i.i533 ] + %_M_storage.i.i.i.i.i.i536 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i534, i64 32 + %153 = load ptr, ptr %_M_storage.i.i.i.i.i.i536, align 8 + %bf.load.i.i.i.i.i.i537 = load i64, ptr %153, align 8 + %bf.clear.i.i.i.i.i.i538 = and i64 %bf.load.i.i.i.i.i.i537, 1099511627775 + %cmp.i.i.i.i.i.i539 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i538, %bf.clear4.i.i.i.i.i.i532 + %__y.addr.1.i.i.i.i540 = select i1 %cmp.i.i.i.i.i.i539, ptr %__y.addr.06.i.i.i.i535, ptr %__x.addr.07.i.i.i.i534 + %__x.addr.1.in.v.i.i.i.i541 = select i1 %cmp.i.i.i.i.i.i539, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i542 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i534, i64 %__x.addr.1.in.v.i.i.i.i541 + %__x.addr.1.i.i.i.i543 = load ptr, ptr %__x.addr.1.in.i.i.i.i542, align 8 + %cmp.not.i.i.i.i544 = icmp eq ptr %__x.addr.1.i.i.i.i543, null + br i1 %cmp.not.i.i.i.i544, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i545, label %while.body.i.i.i.i533, !llvm.loop !275 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i545: ; preds = %while.body.i.i.i.i533 + %cmp.i.i546 = icmp eq ptr %__y.addr.1.i.i.i.i540, %add.ptr.i.i.i.i528 + br i1 %cmp.i.i546, label %if.then.i554, label %lor.rhs.i547 + +lor.rhs.i547: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i545 + %_M_storage.i.i.i548 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i540, i64 32 + %154 = load ptr, ptr %_M_storage.i.i.i548, align 8 + %bf.load3.i.i.i549 = load i64, ptr %154, align 8 + %bf.clear4.i.i.i550 = and i64 %bf.load3.i.i.i549, 1099511627775 + %cmp.i.i.i551 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i532, %bf.clear4.i.i.i550 + br i1 %cmp.i.i.i551, label %if.then.i554, label %invoke.cont337 + +if.then.i554: ; preds = %lor.rhs.i547, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i545, %invoke.cont335 + %__y.addr.0.lcssa.i.i.i9.i555 = phi ptr [ %__y.addr.1.i.i.i.i540, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i545 ], [ %__y.addr.1.i.i.i.i540, %lor.rhs.i547 ], [ %add.ptr.i.i.i.i528, %invoke.cont335 ] + store ptr %n, ptr %ref.tmp9.i525, align 8 + %call12.i557 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St3mapIS3_iSt4lessIS3_ESaIS4_IS5_iEEEESt10_Select1stISC_ES8_SaISC_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESL_IJEEEEESt17_Rb_tree_iteratorISC_ESt23_Rb_tree_const_iteratorISC_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %dni, ptr %__y.addr.0.lcssa.i.i.i9.i555, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i525, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i526) + to label %invoke.cont337 unwind label %lpad336 + +invoke.cont337: ; preds = %lor.rhs.i547, %if.then.i554 + %__i.sroa.0.0.i552 = phi ptr [ %__y.addr.1.i.i.i.i540, %lor.rhs.i547 ], [ %call12.i557, %if.then.i554 ] + %second.i553 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i552, i64 40 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i525) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i526) + %155 = load ptr, ptr %_M_parent.i.i.i.i.i561, align 8 + %cmp.not5.i.i.i.i563 = icmp eq ptr %155, null + br i1 %cmp.not5.i.i.i.i563, label %if.then.i588, label %while.body.lr.ph.i.i.i.i564 + +while.body.lr.ph.i.i.i.i564: ; preds = %invoke.cont337 + %156 = load ptr, ptr %n, align 8 + %bf.load3.i.i.i.i.i.i565 = load i64, ptr %156, align 8 + %bf.clear4.i.i.i.i.i.i566 = and i64 %bf.load3.i.i.i.i.i.i565, 1099511627775 + br label %while.body.i.i.i.i567 + +while.body.i.i.i.i567: ; preds = %while.body.i.i.i.i567, %while.body.lr.ph.i.i.i.i564 + %__x.addr.07.i.i.i.i568 = phi ptr [ %155, %while.body.lr.ph.i.i.i.i564 ], [ %__x.addr.1.i.i.i.i577, %while.body.i.i.i.i567 ] + %__y.addr.06.i.i.i.i569 = phi ptr [ %add.ptr.i.i.i.i562, %while.body.lr.ph.i.i.i.i564 ], [ %__y.addr.1.i.i.i.i574, %while.body.i.i.i.i567 ] + %_M_storage.i.i.i.i.i.i570 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i568, i64 32 + %157 = load ptr, ptr %_M_storage.i.i.i.i.i.i570, align 8 + %bf.load.i.i.i.i.i.i571 = load i64, ptr %157, align 8 + %bf.clear.i.i.i.i.i.i572 = and i64 %bf.load.i.i.i.i.i.i571, 1099511627775 + %cmp.i.i.i.i.i.i573 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i572, %bf.clear4.i.i.i.i.i.i566 + %__y.addr.1.i.i.i.i574 = select i1 %cmp.i.i.i.i.i.i573, ptr %__y.addr.06.i.i.i.i569, ptr %__x.addr.07.i.i.i.i568 + %__x.addr.1.in.v.i.i.i.i575 = select i1 %cmp.i.i.i.i.i.i573, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i576 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i568, i64 %__x.addr.1.in.v.i.i.i.i575 + %__x.addr.1.i.i.i.i577 = load ptr, ptr %__x.addr.1.in.i.i.i.i576, align 8 + %cmp.not.i.i.i.i578 = icmp eq ptr %__x.addr.1.i.i.i.i577, null + br i1 %cmp.not.i.i.i.i578, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i579, label %while.body.i.i.i.i567, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i579: ; preds = %while.body.i.i.i.i567 + %cmp.i.i580 = icmp eq ptr %__y.addr.1.i.i.i.i574, %add.ptr.i.i.i.i562 + br i1 %cmp.i.i580, label %if.then.i588, label %lor.rhs.i581 + +lor.rhs.i581: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i579 + %_M_storage.i.i.i582 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i574, i64 32 + %158 = load ptr, ptr %_M_storage.i.i.i582, align 8 + %bf.load3.i.i.i583 = load i64, ptr %158, align 8 + %bf.clear4.i.i.i584 = and i64 %bf.load3.i.i.i583, 1099511627775 + %cmp.i.i.i585 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i566, %bf.clear4.i.i.i584 + br i1 %cmp.i.i.i585, label %if.then.i588, label %invoke.cont339 + +if.then.i588: ; preds = %lor.rhs.i581, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i579, %invoke.cont337 + %__y.addr.0.lcssa.i.i.i9.i589 = phi ptr [ %__y.addr.1.i.i.i.i574, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i579 ], [ %__y.addr.1.i.i.i.i574, %lor.rhs.i581 ], [ %add.ptr.i.i.i.i562, %invoke.cont337 ] + %call5.i.i.i.i.i.i1342 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #24 + to label %call5.i.i.i.i.i.i.noexc unwind label %lpad336 + +call5.i.i.i.i.i.i.noexc: ; preds = %if.then.i588 + %_M_storage.i.i.i.i.i1330 = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1342, i64 32 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i) + store i64 %143, ptr %agg.tmp6.i.i.i.i.i.i, align 8 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i) + invoke void @_ZNSt4pairIKN4cvc58internal12NodeTemplateILb1EEES3_EC2IJRS4_EJLm0EEJETpTnmJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE(ptr noundef nonnull align 8 dereferenceable(16) %_M_storage.i.i.i.i.i1330, ptr noundef nonnull align 8 dereferenceable(8) %agg.tmp6.i.i.i.i.i.i, ptr noundef nonnull align 1 dereferenceable(1) %__second.i.i.i.i.i.i.i) + to label %invoke.cont.i1331 unwind label %lpad.i.i.i.i + +lpad.i.i.i.i: ; preds = %call5.i.i.i.i.i.i.noexc + %159 = landingpad { ptr, i32 } + catch ptr null + %160 = extractvalue { ptr, i32 } %159, 0 + %161 = call ptr @__cxa_begin_catch(ptr %160) #23 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1342) #26 + invoke void @__cxa_rethrow() #29 + to label %unreachable.i.i.i.i unwind label %lpad7.i.i.i.i + +lpad7.i.i.i.i: ; preds = %lpad.i.i.i.i + %162 = landingpad { ptr, i32 } + cleanup + invoke void @__cxa_end_catch() + to label %lpad336.body unwind label %terminate.lpad.i.i.i.i + +terminate.lpad.i.i.i.i: ; preds = %lpad7.i.i.i.i + %163 = landingpad { ptr, i32 } + catch ptr null + %164 = extractvalue { ptr, i32 } %163, 0 + call void @__clang_call_terminate(ptr %164) #25 + unreachable + +unreachable.i.i.i.i: ; preds = %lpad.i.i.i.i + unreachable + +invoke.cont.i1331: ; preds = %call5.i.i.i.i.i.i.noexc + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i) + %call8.i = invoke { ptr, ptr } @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS6_ERS5_(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr %__y.addr.0.lcssa.i.i.i9.i589, ptr noundef nonnull align 8 dereferenceable(8) %_M_storage.i.i.i.i.i1330) + to label %invoke.cont7.i unwind label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i + +invoke.cont7.i: ; preds = %invoke.cont.i1331 + %165 = extractvalue { ptr, ptr } %call8.i, 0 + %166 = extractvalue { ptr, ptr } %call8.i, 1 + %tobool.not.i = icmp eq ptr %166, null + br i1 %tobool.not.i, label %if.then.i7.i, label %if.then.i1332 + +if.then.i1332: ; preds = %invoke.cont7.i + %cmp.not.i.i.i1333 = icmp ne ptr %165, null + %cmp2.i.i.i = icmp eq ptr %166, %add.ptr.i.i.i.i562 + %or.cond.i.i.i = select i1 %cmp.not.i.i.i1333, i1 true, i1 %cmp2.i.i.i + br i1 %or.cond.i.i.i, label %cleanup.thread.i, label %lor.rhs.i.i.i + +lor.rhs.i.i.i: ; preds = %if.then.i1332 + %_M_storage.i.i.i.i.i.i1335 = getelementptr inbounds i8, ptr %166, i64 32 + %167 = load ptr, ptr %_M_storage.i.i.i.i.i1330, align 8 + %bf.load.i.i.i.i.i1336 = load i64, ptr %167, align 8 + %bf.clear.i.i.i.i.i1337 = and i64 %bf.load.i.i.i.i.i1336, 1099511627775 + %168 = load ptr, ptr %_M_storage.i.i.i.i.i.i1335, align 8 + %bf.load3.i.i.i.i.i1338 = load i64, ptr %168, align 8 + %bf.clear4.i.i.i.i.i1339 = and i64 %bf.load3.i.i.i.i.i1338, 1099511627775 + %cmp.i.i.i.i.i1340 = icmp samesign ult i64 %bf.clear.i.i.i.i.i1337, %bf.clear4.i.i.i.i.i1339 + br label %cleanup.thread.i + +cleanup.thread.i: ; preds = %lor.rhs.i.i.i, %if.then.i1332 + %169 = phi i1 [ true, %if.then.i1332 ], [ %cmp.i.i.i.i.i1340, %lor.rhs.i.i.i ] + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %169, ptr noundef nonnull %call5.i.i.i.i.i.i1342, ptr noundef nonnull %166, ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i.i.i.i562) #23 + %170 = load i64, ptr %_M_node_count.i.i.i1341, align 8 + %inc.i.i.i = add i64 %170, 1 + store i64 %inc.i.i.i, ptr %_M_node_count.i.i.i1341, align 8 + br label %invoke.cont339 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i: ; preds = %invoke.cont.i1331 + %171 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr noundef nonnull %call5.i.i.i.i.i.i1342) #23 + br label %lpad336.body + +if.then.i7.i: ; preds = %invoke.cont7.i + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr noundef nonnull %call5.i.i.i.i.i.i1342) #23 + br label %invoke.cont339 + +invoke.cont339: ; preds = %lor.rhs.i581, %if.then.i7.i, %cleanup.thread.i + %__i.sroa.0.0.i586 = phi ptr [ %__y.addr.1.i.i.i.i574, %lor.rhs.i581 ], [ %call5.i.i.i.i.i.i1342, %cleanup.thread.i ], [ %165, %if.then.i7.i ] + %second.i587 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i586, i64 40 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i593) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i594) + %_M_parent.i.i.i.i.i595 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i552, i64 56 + %172 = load ptr, ptr %_M_parent.i.i.i.i.i595, align 8 + %add.ptr.i.i.i.i596 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i552, i64 48 + %cmp.not5.i.i.i.i597 = icmp eq ptr %172, null + br i1 %cmp.not5.i.i.i.i597, label %if.then.i621, label %while.body.lr.ph.i.i.i.i598 + +while.body.lr.ph.i.i.i.i598: ; preds = %invoke.cont339 + %173 = load ptr, ptr %second.i587, align 8 + %bf.load3.i.i.i.i.i.i599 = load i64, ptr %173, align 8 + %bf.clear4.i.i.i.i.i.i600 = and i64 %bf.load3.i.i.i.i.i.i599, 1099511627775 + br label %while.body.i.i.i.i601 + +while.body.i.i.i.i601: ; preds = %while.body.i.i.i.i601, %while.body.lr.ph.i.i.i.i598 + %__x.addr.07.i.i.i.i602 = phi ptr [ %172, %while.body.lr.ph.i.i.i.i598 ], [ %__x.addr.1.i.i.i.i611, %while.body.i.i.i.i601 ] + %__y.addr.06.i.i.i.i603 = phi ptr [ %add.ptr.i.i.i.i596, %while.body.lr.ph.i.i.i.i598 ], [ %__y.addr.1.i.i.i.i608, %while.body.i.i.i.i601 ] + %_M_storage.i.i.i.i.i.i604 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i602, i64 32 + %174 = load ptr, ptr %_M_storage.i.i.i.i.i.i604, align 8 + %bf.load.i.i.i.i.i.i605 = load i64, ptr %174, align 8 + %bf.clear.i.i.i.i.i.i606 = and i64 %bf.load.i.i.i.i.i.i605, 1099511627775 + %cmp.i.i.i.i.i.i607 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i606, %bf.clear4.i.i.i.i.i.i600 + %__y.addr.1.i.i.i.i608 = select i1 %cmp.i.i.i.i.i.i607, ptr %__y.addr.06.i.i.i.i603, ptr %__x.addr.07.i.i.i.i602 + %__x.addr.1.in.v.i.i.i.i609 = select i1 %cmp.i.i.i.i.i.i607, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i610 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i602, i64 %__x.addr.1.in.v.i.i.i.i609 + %__x.addr.1.i.i.i.i611 = load ptr, ptr %__x.addr.1.in.i.i.i.i610, align 8 + %cmp.not.i.i.i.i612 = icmp eq ptr %__x.addr.1.i.i.i.i611, null + br i1 %cmp.not.i.i.i.i612, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEEiSt4lessIS3_ESaISt4pairIKS3_iEEE11lower_boundERS7_.exit.i, label %while.body.i.i.i.i601, !llvm.loop !233 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEEiSt4lessIS3_ESaISt4pairIKS3_iEEE11lower_boundERS7_.exit.i: ; preds = %while.body.i.i.i.i601 + %cmp.i.i613 = icmp eq ptr %__y.addr.1.i.i.i.i608, %add.ptr.i.i.i.i596 + br i1 %cmp.i.i613, label %if.then.i621, label %lor.rhs.i614 + +lor.rhs.i614: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEEiSt4lessIS3_ESaISt4pairIKS3_iEEE11lower_boundERS7_.exit.i + %_M_storage.i.i.i615 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i608, i64 32 + %175 = load ptr, ptr %_M_storage.i.i.i615, align 8 + %bf.load3.i.i.i616 = load i64, ptr %175, align 8 + %bf.clear4.i.i.i617 = and i64 %bf.load3.i.i.i616, 1099511627775 + %cmp.i.i.i618 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i600, %bf.clear4.i.i.i617 + br i1 %cmp.i.i.i618, label %if.then.i621, label %invoke.cont341 + +if.then.i621: ; preds = %lor.rhs.i614, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEEiSt4lessIS3_ESaISt4pairIKS3_iEEE11lower_boundERS7_.exit.i, %invoke.cont339 + %__y.addr.0.lcssa.i.i.i9.i622 = phi ptr [ %__y.addr.1.i.i.i.i608, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEEiSt4lessIS3_ESaISt4pairIKS3_iEEE11lower_boundERS7_.exit.i ], [ %__y.addr.1.i.i.i.i608, %lor.rhs.i614 ], [ %add.ptr.i.i.i.i596, %invoke.cont339 ] + store ptr %second.i587, ptr %ref.tmp9.i593, align 8 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %__z.i) + store ptr %second.i553, ptr %__z.i, align 8 + %call5.i.i.i.i.i.i1367 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #24 + to label %call5.i.i.i.i.i.i.noexc1366 unwind label %lpad336 + +call5.i.i.i.i.i.i.noexc1366: ; preds = %if.then.i621 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE17_M_construct_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESH_IJEEEEEvPSt13_Rb_tree_nodeIS6_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %second.i553, ptr noundef nonnull %call5.i.i.i.i.i.i1367, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i593, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i594) + to label %.noexc1368 unwind label %lpad336 + +.noexc1368: ; preds = %call5.i.i.i.i.i.i.noexc1366 + store ptr %call5.i.i.i.i.i.i1367, ptr %_M_node.i.i, align 8 + %_M_storage.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1367, i64 32 + %call8.i1345 = invoke { ptr, ptr } @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS6_ERS5_(ptr noundef nonnull align 8 dereferenceable(48) %second.i553, ptr %__y.addr.0.lcssa.i.i.i9.i622, ptr noundef nonnull align 8 dereferenceable(8) %_M_storage.i.i.i.i) + to label %invoke.cont7.i1346 unwind label %lpad.i + +invoke.cont7.i1346: ; preds = %.noexc1368 + %176 = extractvalue { ptr, ptr } %call8.i1345, 0 + %177 = extractvalue { ptr, ptr } %call8.i1345, 1 + %tobool.not.i1347 = icmp eq ptr %177, null + br i1 %tobool.not.i1347, label %if.then.i.i1363, label %if.then.i1348 + +if.then.i1348: ; preds = %invoke.cont7.i1346 + %cmp.not.i.i.i1349 = icmp ne ptr %176, null + %cmp2.i.i.i1351 = icmp eq ptr %177, %add.ptr.i.i.i.i596 + %or.cond.i.i.i1352 = select i1 %cmp.not.i.i.i1349, i1 true, i1 %cmp2.i.i.i1351 + br i1 %or.cond.i.i.i1352, label %cleanup.thread.i1360, label %lor.rhs.i.i.i1353 + +lor.rhs.i.i.i1353: ; preds = %if.then.i1348 + %_M_storage.i.i.i.i.i.i1354 = getelementptr inbounds i8, ptr %177, i64 32 + %178 = load ptr, ptr %_M_storage.i.i.i.i, align 8 + %bf.load.i.i.i.i.i1355 = load i64, ptr %178, align 8 + %bf.clear.i.i.i.i.i1356 = and i64 %bf.load.i.i.i.i.i1355, 1099511627775 + %179 = load ptr, ptr %_M_storage.i.i.i.i.i.i1354, align 8 + %bf.load3.i.i.i.i.i1357 = load i64, ptr %179, align 8 + %bf.clear4.i.i.i.i.i1358 = and i64 %bf.load3.i.i.i.i.i1357, 1099511627775 + %cmp.i.i.i.i.i1359 = icmp samesign ult i64 %bf.clear.i.i.i.i.i1356, %bf.clear4.i.i.i.i.i1358 + br label %cleanup.thread.i1360 + +cleanup.thread.i1360: ; preds = %lor.rhs.i.i.i1353, %if.then.i1348 + %180 = phi i1 [ true, %if.then.i1348 ], [ %cmp.i.i.i.i.i1359, %lor.rhs.i.i.i1353 ] + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %180, ptr noundef nonnull %call5.i.i.i.i.i.i1367, ptr noundef nonnull %177, ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i.i.i.i596) #23 + %_M_node_count.i.i.i1361 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i552, i64 80 + %181 = load i64, ptr %_M_node_count.i.i.i1361, align 8 + %inc.i.i.i1362 = add i64 %181, 1 + store i64 %inc.i.i.i1362, ptr %_M_node_count.i.i.i1361, align 8 + br label %call12.i.noexc623 + +lpad.i: ; preds = %.noexc1368 + %182 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %__z.i) #23 + br label %lpad336.body + +if.then.i.i1363: ; preds = %invoke.cont7.i1346 + %183 = load ptr, ptr %_M_storage.i.i.i.i, align 8 + %bf.load.i.i.i.i.i.i.i.i.i = load i64, ptr %183, align 8 + %184 = and i64 %bf.load.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i1364 = icmp eq i64 %184, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i1364, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit.i.i, label %if.then.i.i.i.i.i.i.i.i.i1365 + +if.then.i.i.i.i.i.i.i.i.i1365: ; preds = %if.then.i.i1363 + %bf.value.i.i.i.i.i.i.i.i.i = add i64 %bf.load.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i = and i64 %bf.value.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i.i.i.i.i, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i, %bf.clear7.i.i.i.i.i.i.i.i.i + store i64 %bf.set.i.i.i.i.i.i.i.i.i, ptr %183, align 8 + %cmp12.i.i.i.i.i.i.i.i.i = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i, label %if.then13.i.i.i.i.i.i.i.i.i, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit.i.i + +if.then13.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i1365 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %183) + to label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit.i.i unwind label %terminate.lpad.i.i.i.i.i.i.i.i + +terminate.lpad.i.i.i.i.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i.i.i + %185 = landingpad { ptr, i32 } + catch ptr null + %186 = extractvalue { ptr, i32 } %185, 0 + call void @__clang_call_terminate(ptr %186) #25 + unreachable + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit.i.i: ; preds = %if.then13.i.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i.i1365, %if.then.i.i1363 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1367) #26 + br label %call12.i.noexc623 + +call12.i.noexc623: ; preds = %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit.i.i, %cleanup.thread.i1360 + %retval.sroa.0.07.i = phi ptr [ %call5.i.i.i.i.i.i1367, %cleanup.thread.i1360 ], [ %176, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit.i.i ] + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %__z.i) + br label %invoke.cont341 + +invoke.cont341: ; preds = %call12.i.noexc623, %lor.rhs.i614 + %__i.sroa.0.0.i619 = phi ptr [ %retval.sroa.0.07.i, %call12.i.noexc623 ], [ %__y.addr.1.i.i.i.i608, %lor.rhs.i614 ] + %second.i620 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i619, i64 40 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i593) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i594) + store i32 3, ptr %second.i620, align 4 + %187 = load ptr, ptr %_M_parent.i.i.i.i.i561, align 8 + %cmp.not5.i.i.i.i629 = icmp eq ptr %187, null + br i1 %cmp.not5.i.i.i.i629, label %if.then.i654, label %while.body.lr.ph.i.i.i.i630 + +while.body.lr.ph.i.i.i.i630: ; preds = %invoke.cont341 + %188 = load ptr, ptr %n, align 8 + %bf.load3.i.i.i.i.i.i631 = load i64, ptr %188, align 8 + %bf.clear4.i.i.i.i.i.i632 = and i64 %bf.load3.i.i.i.i.i.i631, 1099511627775 + br label %while.body.i.i.i.i633 + +while.body.i.i.i.i633: ; preds = %while.body.i.i.i.i633, %while.body.lr.ph.i.i.i.i630 + %__x.addr.07.i.i.i.i634 = phi ptr [ %187, %while.body.lr.ph.i.i.i.i630 ], [ %__x.addr.1.i.i.i.i643, %while.body.i.i.i.i633 ] + %__y.addr.06.i.i.i.i635 = phi ptr [ %add.ptr.i.i.i.i562, %while.body.lr.ph.i.i.i.i630 ], [ %__y.addr.1.i.i.i.i640, %while.body.i.i.i.i633 ] + %_M_storage.i.i.i.i.i.i636 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i634, i64 32 + %189 = load ptr, ptr %_M_storage.i.i.i.i.i.i636, align 8 + %bf.load.i.i.i.i.i.i637 = load i64, ptr %189, align 8 + %bf.clear.i.i.i.i.i.i638 = and i64 %bf.load.i.i.i.i.i.i637, 1099511627775 + %cmp.i.i.i.i.i.i639 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i638, %bf.clear4.i.i.i.i.i.i632 + %__y.addr.1.i.i.i.i640 = select i1 %cmp.i.i.i.i.i.i639, ptr %__y.addr.06.i.i.i.i635, ptr %__x.addr.07.i.i.i.i634 + %__x.addr.1.in.v.i.i.i.i641 = select i1 %cmp.i.i.i.i.i.i639, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i642 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i634, i64 %__x.addr.1.in.v.i.i.i.i641 + %__x.addr.1.i.i.i.i643 = load ptr, ptr %__x.addr.1.in.i.i.i.i642, align 8 + %cmp.not.i.i.i.i644 = icmp eq ptr %__x.addr.1.i.i.i.i643, null + br i1 %cmp.not.i.i.i.i644, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i645, label %while.body.i.i.i.i633, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i645: ; preds = %while.body.i.i.i.i633 + %cmp.i.i646 = icmp eq ptr %__y.addr.1.i.i.i.i640, %add.ptr.i.i.i.i562 + br i1 %cmp.i.i646, label %if.then.i654, label %lor.rhs.i647 + +lor.rhs.i647: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i645 + %_M_storage.i.i.i648 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i640, i64 32 + %190 = load ptr, ptr %_M_storage.i.i.i648, align 8 + %bf.load3.i.i.i649 = load i64, ptr %190, align 8 + %bf.clear4.i.i.i650 = and i64 %bf.load3.i.i.i649, 1099511627775 + %cmp.i.i.i651 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i632, %bf.clear4.i.i.i650 + br i1 %cmp.i.i.i651, label %if.then.i654, label %invoke.cont343 + +if.then.i654: ; preds = %lor.rhs.i647, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i645, %invoke.cont341 + %__y.addr.0.lcssa.i.i.i9.i655 = phi ptr [ %__y.addr.1.i.i.i.i640, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i645 ], [ %__y.addr.1.i.i.i.i640, %lor.rhs.i647 ], [ %add.ptr.i.i.i.i562, %invoke.cont341 ] + %call5.i.i.i.i.i.i1403 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #24 + to label %call5.i.i.i.i.i.i.noexc1402 unwind label %lpad336 + +call5.i.i.i.i.i.i.noexc1402: ; preds = %if.then.i654 + %_M_storage.i.i.i.i.i1373 = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1403, i64 32 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1372) + store i64 %143, ptr %agg.tmp6.i.i.i.i.i.i1372, align 8 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1371) + invoke void @_ZNSt4pairIKN4cvc58internal12NodeTemplateILb1EEES3_EC2IJRS4_EJLm0EEJETpTnmJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE(ptr noundef nonnull align 8 dereferenceable(16) %_M_storage.i.i.i.i.i1373, ptr noundef nonnull align 8 dereferenceable(8) %agg.tmp6.i.i.i.i.i.i1372, ptr noundef nonnull align 1 dereferenceable(1) %__second.i.i.i.i.i.i.i1371) + to label %invoke.cont.i1380 unwind label %lpad.i.i.i.i1374 + +lpad.i.i.i.i1374: ; preds = %call5.i.i.i.i.i.i.noexc1402 + %191 = landingpad { ptr, i32 } + catch ptr null + %192 = extractvalue { ptr, i32 } %191, 0 + %193 = call ptr @__cxa_begin_catch(ptr %192) #23 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1403) #26 + invoke void @__cxa_rethrow() #29 + to label %unreachable.i.i.i.i1379 unwind label %lpad7.i.i.i.i1375 + +lpad7.i.i.i.i1375: ; preds = %lpad.i.i.i.i1374 + %194 = landingpad { ptr, i32 } + cleanup + invoke void @__cxa_end_catch() + to label %lpad336.body unwind label %terminate.lpad.i.i.i.i1376 + +terminate.lpad.i.i.i.i1376: ; preds = %lpad7.i.i.i.i1375 + %195 = landingpad { ptr, i32 } + catch ptr null + %196 = extractvalue { ptr, i32 } %195, 0 + call void @__clang_call_terminate(ptr %196) #25 + unreachable + +unreachable.i.i.i.i1379: ; preds = %lpad.i.i.i.i1374 + unreachable + +invoke.cont.i1380: ; preds = %call5.i.i.i.i.i.i.noexc1402 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1371) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1372) + %call8.i1381 = invoke { ptr, ptr } @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS6_ERS5_(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr %__y.addr.0.lcssa.i.i.i9.i655, ptr noundef nonnull align 8 dereferenceable(8) %_M_storage.i.i.i.i.i1373) + to label %invoke.cont7.i1383 unwind label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1382 + +invoke.cont7.i1383: ; preds = %invoke.cont.i1380 + %197 = extractvalue { ptr, ptr } %call8.i1381, 0 + %198 = extractvalue { ptr, ptr } %call8.i1381, 1 + %tobool.not.i1384 = icmp eq ptr %198, null + br i1 %tobool.not.i1384, label %if.then.i7.i1401, label %if.then.i1385 + +if.then.i1385: ; preds = %invoke.cont7.i1383 + %cmp.not.i.i.i1386 = icmp ne ptr %197, null + %cmp2.i.i.i1388 = icmp eq ptr %198, %add.ptr.i.i.i.i562 + %or.cond.i.i.i1389 = select i1 %cmp.not.i.i.i1386, i1 true, i1 %cmp2.i.i.i1388 + br i1 %or.cond.i.i.i1389, label %cleanup.thread.i1397, label %lor.rhs.i.i.i1390 + +lor.rhs.i.i.i1390: ; preds = %if.then.i1385 + %_M_storage.i.i.i.i.i.i1391 = getelementptr inbounds i8, ptr %198, i64 32 + %199 = load ptr, ptr %_M_storage.i.i.i.i.i1373, align 8 + %bf.load.i.i.i.i.i1392 = load i64, ptr %199, align 8 + %bf.clear.i.i.i.i.i1393 = and i64 %bf.load.i.i.i.i.i1392, 1099511627775 + %200 = load ptr, ptr %_M_storage.i.i.i.i.i.i1391, align 8 + %bf.load3.i.i.i.i.i1394 = load i64, ptr %200, align 8 + %bf.clear4.i.i.i.i.i1395 = and i64 %bf.load3.i.i.i.i.i1394, 1099511627775 + %cmp.i.i.i.i.i1396 = icmp samesign ult i64 %bf.clear.i.i.i.i.i1393, %bf.clear4.i.i.i.i.i1395 + br label %cleanup.thread.i1397 + +cleanup.thread.i1397: ; preds = %lor.rhs.i.i.i1390, %if.then.i1385 + %201 = phi i1 [ true, %if.then.i1385 ], [ %cmp.i.i.i.i.i1396, %lor.rhs.i.i.i1390 ] + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %201, ptr noundef nonnull %call5.i.i.i.i.i.i1403, ptr noundef nonnull %198, ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i.i.i.i562) #23 + %202 = load i64, ptr %_M_node_count.i.i.i1341, align 8 + %inc.i.i.i1399 = add i64 %202, 1 + store i64 %inc.i.i.i1399, ptr %_M_node_count.i.i.i1341, align 8 + br label %invoke.cont343 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1382: ; preds = %invoke.cont.i1380 + %203 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr noundef nonnull %call5.i.i.i.i.i.i1403) #23 + br label %lpad336.body + +if.then.i7.i1401: ; preds = %invoke.cont7.i1383 + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr noundef nonnull %call5.i.i.i.i.i.i1403) #23 + br label %invoke.cont343 + +invoke.cont343: ; preds = %lor.rhs.i647, %if.then.i7.i1401, %cleanup.thread.i1397 + %__i.sroa.0.0.i652 = phi ptr [ %__y.addr.1.i.i.i.i640, %lor.rhs.i647 ], [ %call5.i.i.i.i.i.i1403, %cleanup.thread.i1397 ], [ %197, %if.then.i7.i1401 ] + %second.i653 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i652, i64 40 + %204 = load ptr, ptr %_M_parent.i.i.i.i.i498, align 8 + %cmp.not5.i.i.i.i663 = icmp eq ptr %204, null + br i1 %cmp.not5.i.i.i.i663, label %if.then.i688, label %while.body.lr.ph.i.i.i.i664 + +while.body.lr.ph.i.i.i.i664: ; preds = %invoke.cont343 + %205 = load ptr, ptr %n, align 8 + %bf.load3.i.i.i.i.i.i665 = load i64, ptr %205, align 8 + %bf.clear4.i.i.i.i.i.i666 = and i64 %bf.load3.i.i.i.i.i.i665, 1099511627775 + br label %while.body.i.i.i.i667 + +while.body.i.i.i.i667: ; preds = %while.body.i.i.i.i667, %while.body.lr.ph.i.i.i.i664 + %__x.addr.07.i.i.i.i668 = phi ptr [ %204, %while.body.lr.ph.i.i.i.i664 ], [ %__x.addr.1.i.i.i.i677, %while.body.i.i.i.i667 ] + %__y.addr.06.i.i.i.i669 = phi ptr [ %142, %while.body.lr.ph.i.i.i.i664 ], [ %__y.addr.1.i.i.i.i674, %while.body.i.i.i.i667 ] + %_M_storage.i.i.i.i.i.i670 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i668, i64 32 + %206 = load ptr, ptr %_M_storage.i.i.i.i.i.i670, align 8 + %bf.load.i.i.i.i.i.i671 = load i64, ptr %206, align 8 + %bf.clear.i.i.i.i.i.i672 = and i64 %bf.load.i.i.i.i.i.i671, 1099511627775 + %cmp.i.i.i.i.i.i673 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i672, %bf.clear4.i.i.i.i.i.i666 + %__y.addr.1.i.i.i.i674 = select i1 %cmp.i.i.i.i.i.i673, ptr %__y.addr.06.i.i.i.i669, ptr %__x.addr.07.i.i.i.i668 + %__x.addr.1.in.v.i.i.i.i675 = select i1 %cmp.i.i.i.i.i.i673, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i676 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i668, i64 %__x.addr.1.in.v.i.i.i.i675 + %__x.addr.1.i.i.i.i677 = load ptr, ptr %__x.addr.1.in.i.i.i.i676, align 8 + %cmp.not.i.i.i.i678 = icmp eq ptr %__x.addr.1.i.i.i.i677, null + br i1 %cmp.not.i.i.i.i678, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i679, label %while.body.i.i.i.i667, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i679: ; preds = %while.body.i.i.i.i667 + %cmp.i.i680 = icmp eq ptr %__y.addr.1.i.i.i.i674, %142 + br i1 %cmp.i.i680, label %if.then.i688, label %lor.rhs.i681 + +lor.rhs.i681: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i679 + %__y.addr.1.i.i.i.i674.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i673, ptr %__y.addr.06.i.i.i.i669, ptr %__x.addr.07.i.i.i.i668 + %__y.addr.1.i.i.i.i674.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i674.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %207 = load ptr, ptr %__y.addr.1.i.i.i.i674.sroa.sel.v.sroa.sel.v.sroa.sel, align 8 + %bf.load3.i.i.i683 = load i64, ptr %207, align 8 + %bf.clear4.i.i.i684 = and i64 %bf.load3.i.i.i683, 1099511627775 + %cmp.i.i.i685 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i666, %bf.clear4.i.i.i684 + br i1 %cmp.i.i.i685, label %if.then.i688, label %invoke.cont345 + +if.then.i688: ; preds = %lor.rhs.i681, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i679, %invoke.cont343 + %__y.addr.0.lcssa.i.i.i9.i689 = phi ptr [ %__y.addr.1.i.i.i.i674, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i679 ], [ %__y.addr.1.i.i.i.i674, %lor.rhs.i681 ], [ %142, %invoke.cont343 ] + %call5.i.i.i.i.i.i1439 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #24 + to label %call5.i.i.i.i.i.i.noexc1438 unwind label %lpad336 + +call5.i.i.i.i.i.i.noexc1438: ; preds = %if.then.i688 + %_M_storage.i.i.i.i.i1409 = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1439, i64 32 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1408) + store i64 %143, ptr %agg.tmp6.i.i.i.i.i.i1408, align 8 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1407) + invoke void @_ZNSt4pairIKN4cvc58internal12NodeTemplateILb1EEES3_EC2IJRS4_EJLm0EEJETpTnmJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE(ptr noundef nonnull align 8 dereferenceable(16) %_M_storage.i.i.i.i.i1409, ptr noundef nonnull align 8 dereferenceable(8) %agg.tmp6.i.i.i.i.i.i1408, ptr noundef nonnull align 1 dereferenceable(1) %__second.i.i.i.i.i.i.i1407) + to label %invoke.cont.i1416 unwind label %lpad.i.i.i.i1410 + +lpad.i.i.i.i1410: ; preds = %call5.i.i.i.i.i.i.noexc1438 + %208 = landingpad { ptr, i32 } + catch ptr null + %209 = extractvalue { ptr, i32 } %208, 0 + %210 = call ptr @__cxa_begin_catch(ptr %209) #23 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1439) #26 + invoke void @__cxa_rethrow() #29 + to label %unreachable.i.i.i.i1415 unwind label %lpad7.i.i.i.i1411 + +lpad7.i.i.i.i1411: ; preds = %lpad.i.i.i.i1410 + %211 = landingpad { ptr, i32 } + cleanup + invoke void @__cxa_end_catch() + to label %lpad336.body unwind label %terminate.lpad.i.i.i.i1412 + +terminate.lpad.i.i.i.i1412: ; preds = %lpad7.i.i.i.i1411 + %212 = landingpad { ptr, i32 } + catch ptr null + %213 = extractvalue { ptr, i32 } %212, 0 + call void @__clang_call_terminate(ptr %213) #25 + unreachable + +unreachable.i.i.i.i1415: ; preds = %lpad.i.i.i.i1410 + unreachable + +invoke.cont.i1416: ; preds = %call5.i.i.i.i.i.i.noexc1438 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1407) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1408) + %call8.i1417 = invoke { ptr, ptr } @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS6_ERS5_(ptr noundef nonnull align 8 dereferenceable(48) %dni_rem, ptr %__y.addr.0.lcssa.i.i.i9.i689, ptr noundef nonnull align 8 dereferenceable(8) %_M_storage.i.i.i.i.i1409) + to label %invoke.cont7.i1419 unwind label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1418 + +invoke.cont7.i1419: ; preds = %invoke.cont.i1416 + %214 = extractvalue { ptr, ptr } %call8.i1417, 0 + %215 = extractvalue { ptr, ptr } %call8.i1417, 1 + %tobool.not.i1420 = icmp eq ptr %215, null + br i1 %tobool.not.i1420, label %if.then.i7.i1437, label %if.then.i1421 + +if.then.i1421: ; preds = %invoke.cont7.i1419 + %cmp.not.i.i.i1422 = icmp ne ptr %214, null + %cmp2.i.i.i1424 = icmp eq ptr %215, %142 + %or.cond.i.i.i1425 = or i1 %cmp.not.i.i.i1422, %cmp2.i.i.i1424 + br i1 %or.cond.i.i.i1425, label %cleanup.thread.i1433, label %lor.rhs.i.i.i1426 + +lor.rhs.i.i.i1426: ; preds = %if.then.i1421 + %_M_storage.i.i.i.i.i.i1427 = getelementptr inbounds i8, ptr %215, i64 32 + %216 = load ptr, ptr %_M_storage.i.i.i.i.i1409, align 8 + %bf.load.i.i.i.i.i1428 = load i64, ptr %216, align 8 + %bf.clear.i.i.i.i.i1429 = and i64 %bf.load.i.i.i.i.i1428, 1099511627775 + %217 = load ptr, ptr %_M_storage.i.i.i.i.i.i1427, align 8 + %bf.load3.i.i.i.i.i1430 = load i64, ptr %217, align 8 + %bf.clear4.i.i.i.i.i1431 = and i64 %bf.load3.i.i.i.i.i1430, 1099511627775 + %cmp.i.i.i.i.i1432 = icmp samesign ult i64 %bf.clear.i.i.i.i.i1429, %bf.clear4.i.i.i.i.i1431 + br label %cleanup.thread.i1433 + +cleanup.thread.i1433: ; preds = %lor.rhs.i.i.i1426, %if.then.i1421 + %218 = phi i1 [ true, %if.then.i1421 ], [ %cmp.i.i.i.i.i1432, %lor.rhs.i.i.i1426 ] + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %218, ptr noundef nonnull %call5.i.i.i.i.i.i1439, ptr noundef nonnull %215, ptr noundef nonnull align 8 dereferenceable(32) %142) #23 + %219 = load i64, ptr %_M_node_count.i.i.i.i.i501, align 8 + %inc.i.i.i1435 = add i64 %219, 1 + store i64 %inc.i.i.i1435, ptr %_M_node_count.i.i.i.i.i501, align 8 + br label %invoke.cont345 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1418: ; preds = %invoke.cont.i1416 + %220 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %dni_rem, ptr noundef nonnull %call5.i.i.i.i.i.i1439) #23 + br label %lpad336.body + +if.then.i7.i1437: ; preds = %invoke.cont7.i1419 + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %dni_rem, ptr noundef nonnull %call5.i.i.i.i.i.i1439) #23 + br label %invoke.cont345 + +invoke.cont345: ; preds = %lor.rhs.i681, %if.then.i7.i1437, %cleanup.thread.i1433 + %__i.sroa.0.0.i686 = phi ptr [ %__y.addr.1.i.i.i.i674, %lor.rhs.i681 ], [ %call5.i.i.i.i.i.i1439, %cleanup.thread.i1433 ], [ %214, %if.then.i7.i1437 ] + %second.i687 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i686, i64 40 + %221 = load ptr, ptr %second.i687, align 8 + %222 = load ptr, ptr %second.i653, align 8 + %cmp.not.i693 = icmp eq ptr %221, %222 + br i1 %cmp.not.i693, label %invoke.cont347, label %if.then.i694 + +if.then.i694: ; preds = %invoke.cont345 + %bf.load.i.i695 = load i64, ptr %221, align 8 + %223 = and i64 %bf.load.i.i695, 1152920405095219200 + %cmp.not.i.i696 = icmp eq i64 %223, 1152920405095219200 + br i1 %cmp.not.i.i696, label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i703, label %if.then.i.i697 + +if.then.i.i697: ; preds = %if.then.i694 + %bf.value.i.i698 = add i64 %bf.load.i.i695, 1152920405095219200 + %bf.shl.i.i699 = and i64 %bf.value.i.i698, 1152920405095219200 + %bf.clear7.i.i700 = and i64 %bf.load.i.i695, -1152920405095219201 + %bf.set.i.i701 = or disjoint i64 %bf.shl.i.i699, %bf.clear7.i.i700 + store i64 %bf.set.i.i701, ptr %221, align 8 + %cmp12.i.i702 = icmp eq i64 %bf.shl.i.i699, 0 + br i1 %cmp12.i.i702, label %if.then13.i.i717, label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i703 + +if.then13.i.i717: ; preds = %if.then.i.i697 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %221) + to label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i703 unwind label %lpad336 + +_ZN4cvc58internal4expr9NodeValue3decEv.exit.i703: ; preds = %if.then13.i.i717, %if.then.i.i697, %if.then.i694 + %224 = load ptr, ptr %second.i653, align 8 + store ptr %224, ptr %second.i687, align 8 + %bf.load.i2.i704 = load i64, ptr %224, align 8 + %bf.lshr.i.i705 = lshr i64 %bf.load.i2.i704, 40 + %225 = trunc nuw nsw i64 %bf.lshr.i.i705 to i32 + %bf.cast.i.i706 = and i32 %225, 1048575 + %cmp.i.i707 = icmp samesign ult i32 %bf.cast.i.i706, 1048574 + br i1 %cmp.i.i707, label %if.then.i5.i712, label %if.else.i.i708 + +if.then.i5.i712: ; preds = %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i703 + %bf.value.i6.i713 = add i64 %bf.load.i2.i704, 1099511627776 + %bf.shl.i7.i714 = and i64 %bf.value.i6.i713, 1152920405095219200 + %bf.clear7.i8.i715 = and i64 %bf.load.i2.i704, -1152920405095219201 + %bf.set.i9.i716 = or disjoint i64 %bf.shl.i7.i714, %bf.clear7.i8.i715 + store i64 %bf.set.i9.i716, ptr %224, align 8 + br label %invoke.cont347 + +if.else.i.i708: ; preds = %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i703 + %cmp12.i3.i709 = icmp eq i32 %bf.cast.i.i706, 1048574 + br i1 %cmp12.i3.i709, label %if.then13.i4.i710, label %invoke.cont347 + +if.then13.i4.i710: ; preds = %if.else.i.i708 + %bf.set23.i.i711 = or i64 %bf.load.i2.i704, 1152920405095219200 + store i64 %bf.set23.i.i711, ptr %224, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %224) + to label %invoke.cont347 unwind label %lpad336 + +invoke.cont347: ; preds = %if.else.i.i708, %if.then.i5.i712, %invoke.cont345, %if.then13.i4.i710 + %226 = load ptr, ptr %n, align 8 + %bf.load.i.i721 = load i64, ptr %226, align 8 + %227 = and i64 %bf.load.i.i721, 1152920405095219200 + %cmp.not.i.i722 = icmp eq i64 %227, 1152920405095219200 + br i1 %cmp.not.i.i722, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732, label %if.then.i.i723 + +if.then.i.i723: ; preds = %invoke.cont347 + %bf.value.i.i724 = add i64 %bf.load.i.i721, 1152920405095219200 + %bf.shl.i.i725 = and i64 %bf.value.i.i724, 1152920405095219200 + %bf.clear7.i.i726 = and i64 %bf.load.i.i721, -1152920405095219201 + %bf.set.i.i727 = or disjoint i64 %bf.shl.i.i725, %bf.clear7.i.i726 + store i64 %bf.set.i.i727, ptr %226, align 8 + %cmp12.i.i728 = icmp eq i64 %bf.shl.i.i725, 0 + br i1 %cmp12.i.i728, label %if.then13.i.i730, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732 + +if.then13.i.i730: ; preds = %if.then.i.i723 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %226) + to label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732 unwind label %terminate.lpad.i731 + +terminate.lpad.i731: ; preds = %if.then13.i.i730 + %228 = landingpad { ptr, i32 } + catch ptr null + %229 = extractvalue { ptr, i32 } %228, 0 + call void @__clang_call_terminate(ptr %229) #25 + unreachable + +_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732: ; preds = %invoke.cont347, %if.then.i.i723, %if.then13.i.i730 + %inc351 = add i32 %i322.01779, 1 + %conv324 = zext i32 %inc351 to i64 + %230 = load ptr, ptr %_M_finish.i493, align 8 + %231 = load ptr, ptr %second318, align 8 + %sub.ptr.lhs.cast.i504 = ptrtoint ptr %230 to i64 + %sub.ptr.rhs.cast.i505 = ptrtoint ptr %231 to i64 + %sub.ptr.sub.i506 = sub i64 %sub.ptr.lhs.cast.i504, %sub.ptr.rhs.cast.i505 + %sub.ptr.div.i507 = ashr exact i64 %sub.ptr.sub.i506, 3 + %cmp328 = icmp ugt i64 %sub.ptr.div.i507, %conv324 + br i1 %cmp328, label %for.body329, label %for.end352, !llvm.loop !280 + +lpad334: ; preds = %if.then13.i.i516 + %232 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup532 + +lpad336: ; preds = %if.then.i688, %if.then.i654, %call5.i.i.i.i.i.i.noexc1366, %if.then.i621, %if.then.i588, %if.then13.i4.i710, %if.then13.i.i717, %if.then.i554 + %233 = landingpad { ptr, i32 } + cleanup + br label %lpad336.body + +lpad336.body: ; preds = %lpad.i, %lpad336, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1418, %lpad7.i.i.i.i1411, %lpad7.i.i.i.i1375, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1382, %lpad7.i.i.i.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i + %eh.lpad-body1343 = phi { ptr, i32 } [ %171, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i ], [ %162, %lpad7.i.i.i.i ], [ %182, %lpad.i ], [ %203, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1382 ], [ %194, %lpad7.i.i.i.i1375 ], [ %233, %lpad336 ], [ %220, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1418 ], [ %211, %lpad7.i.i.i.i1411 ] + call void @_ZN4cvc58internal12NodeTemplateILb1EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %n) #23 + br label %ehcleanup532 + +for.end352: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732, %if.then321 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %split_new_part, i8 0, i64 24, i1 false) + invoke void @_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE9push_backERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %split_new_part, ptr noundef nonnull align 8 dereferenceable(24) %second318) + to label %invoke.cont356 unwind label %lpad355.loopexit.split-lp + +invoke.cont356: ; preds = %for.end352 + %234 = load ptr, ptr %second318, align 8 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i736) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i737) + %235 = load ptr, ptr %_M_parent.i.i.i.i.i26, align 8 + %cmp.not5.i.i.i.i740 = icmp eq ptr %235, null + br i1 %cmp.not5.i.i.i.i740, label %if.then.i765, label %while.body.lr.ph.i.i.i.i741 + +while.body.lr.ph.i.i.i.i741: ; preds = %invoke.cont356 + %236 = load ptr, ptr %234, align 8 + %bf.load3.i.i.i.i.i.i742 = load i64, ptr %236, align 8 + %bf.clear4.i.i.i.i.i.i743 = and i64 %bf.load3.i.i.i.i.i.i742, 1099511627775 + br label %while.body.i.i.i.i744 + +while.body.i.i.i.i744: ; preds = %while.body.i.i.i.i744, %while.body.lr.ph.i.i.i.i741 + %__x.addr.07.i.i.i.i745 = phi ptr [ %235, %while.body.lr.ph.i.i.i.i741 ], [ %__x.addr.1.i.i.i.i754, %while.body.i.i.i.i744 ] + %__y.addr.06.i.i.i.i746 = phi ptr [ %3, %while.body.lr.ph.i.i.i.i741 ], [ %__y.addr.1.i.i.i.i751, %while.body.i.i.i.i744 ] + %_M_storage.i.i.i.i.i.i747 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i745, i64 32 + %237 = load ptr, ptr %_M_storage.i.i.i.i.i.i747, align 8 + %bf.load.i.i.i.i.i.i748 = load i64, ptr %237, align 8 + %bf.clear.i.i.i.i.i.i749 = and i64 %bf.load.i.i.i.i.i.i748, 1099511627775 + %cmp.i.i.i.i.i.i750 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i749, %bf.clear4.i.i.i.i.i.i743 + %__y.addr.1.i.i.i.i751 = select i1 %cmp.i.i.i.i.i.i750, ptr %__y.addr.06.i.i.i.i746, ptr %__x.addr.07.i.i.i.i745 + %__x.addr.1.in.v.i.i.i.i752 = select i1 %cmp.i.i.i.i.i.i750, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i753 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i745, i64 %__x.addr.1.in.v.i.i.i.i752 + %__x.addr.1.i.i.i.i754 = load ptr, ptr %__x.addr.1.in.i.i.i.i753, align 8 + %cmp.not.i.i.i.i755 = icmp eq ptr %__x.addr.1.i.i.i.i754, null + br i1 %cmp.not.i.i.i.i755, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i756, label %while.body.i.i.i.i744, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i756: ; preds = %while.body.i.i.i.i744 + %cmp.i.i757 = icmp eq ptr %__y.addr.1.i.i.i.i751, %3 + br i1 %cmp.i.i757, label %if.then.i765, label %lor.rhs.i758 + +lor.rhs.i758: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i756 + %__y.addr.1.i.i.i.i751.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i750, ptr %__y.addr.06.i.i.i.i746, ptr %__x.addr.07.i.i.i.i745 + %__y.addr.1.i.i.i.i751.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i751.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %238 = load ptr, ptr %__y.addr.1.i.i.i.i751.sroa.sel.v.sroa.sel.v.sroa.sel, align 8 + %bf.load3.i.i.i760 = load i64, ptr %238, align 8 + %bf.clear4.i.i.i761 = and i64 %bf.load3.i.i.i760, 1099511627775 + %cmp.i.i.i762 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i743, %bf.clear4.i.i.i761 + br i1 %cmp.i.i.i762, label %if.then.i765, label %invoke.cont360 + +if.then.i765: ; preds = %lor.rhs.i758, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i756, %invoke.cont356 + %__y.addr.0.lcssa.i.i.i9.i766 = phi ptr [ %__y.addr.1.i.i.i.i751, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i756 ], [ %__y.addr.1.i.i.i.i751, %lor.rhs.i758 ], [ %3, %invoke.cont356 ] + store ptr %234, ptr %ref.tmp9.i736, align 8 + %call12.i768 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESH_IJEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %cn_cons, ptr %__y.addr.0.lcssa.i.i.i9.i766, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i736, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i737) + to label %invoke.cont360 unwind label %lpad355.loopexit.split-lp + +invoke.cont360: ; preds = %lor.rhs.i758, %if.then.i765 + %__i.sroa.0.0.i763 = phi ptr [ %__y.addr.1.i.i.i.i751, %lor.rhs.i758 ], [ %call12.i768, %if.then.i765 ] + %second.i764 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i763, i64 40 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i736) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i737) + %239 = load ptr, ptr %second.i764, align 8 + %d_kind.i.i.i.i = getelementptr inbounds i8, ptr %239, i64 8 + %bf.load.i.i.i.i = load i16, ptr %d_kind.i.i.i.i, align 8 + %bf.clear.i.i.i.i = and i16 %bf.load.i.i.i.i, 1023 + %bf.cast.i.i.i.i = zext nneg i16 %bf.clear.i.i.i.i to i32 + %cmp.i.i.i.i.i770 = icmp eq i16 %bf.clear.i.i.i.i, 1023 + %cond.i.i.i.i.i = select i1 %cmp.i.i.i.i.i770, i32 -1, i32 %bf.cast.i.i.i.i + %call2.i.i.i773 = invoke noundef i32 @_ZN4cvc58internal4kind10metaKindOfENS1_6Kind_tE(i32 noundef %cond.i.i.i.i.i) + to label %invoke.cont362 unwind label %lpad355.loopexit.split-lp + +invoke.cont362: ; preds = %invoke.cont360 + %cmp.i.i771 = icmp eq i32 %call2.i.i.i773, 2 + %d_nchildren.i.i = getelementptr inbounds i8, ptr %239, i64 12 + %bf.load.i.i772 = load i32, ptr %d_nchildren.i.i, align 4 + %bf.clear.i.i = and i32 %bf.load.i.i772, 67108863 + %sub.i.i = sext i1 %cmp.i.i771 to i32 + %cond.i.i = add nsw i32 %bf.clear.i.i, %sub.i.i + %cmp3651799.not = icmp eq i32 %cond.i.i, 0 + br i1 %cmp3651799.not, label %while.end, label %land.rhs + +land.rhs: ; preds = %invoke.cont362, %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1120 + %cindex.01800 = phi i32 [ %inc493, %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1120 ], [ 0, %invoke.cont362 ] + %240 = load ptr, ptr %split_new_part, align 8 + %241 = load ptr, ptr %_M_finish.i.i774, align 8 + %cmp.i.i775 = icmp eq ptr %240, %241 + br i1 %cmp.i.i775, label %while.end, label %for.cond400.preheader.preheader + +lpad355.loopexit: ; preds = %if.then.i1199 + %lpad.loopexit1600 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup531 + +lpad355.loopexit.split-lp: ; preds = %for.end352, %if.then.i765, %invoke.cont360, %while.end + %lpad.loopexit.split-lp1601 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup531 + +for.cond400.preheader.preheader: ; preds = %land.rhs + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %next_split_new_part, i8 0, i64 24, i1 false) + br label %for.cond400.preheader + +for.cond400.preheader: ; preds = %for.cond400.preheader.preheader, %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit + %242 = phi ptr [ %367, %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit ], [ %240, %for.cond400.preheader.preheader ] + %conv3961796 = phi i64 [ %conv396, %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit ], [ 0, %for.cond400.preheader.preheader ] + %j394.01795 = phi i32 [ %inc474, %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit ], [ 0, %for.cond400.preheader.preheader ] + %add.ptr.i7811781 = getelementptr inbounds %"class.std::vector.525", ptr %242, i64 %conv3961796 + %_M_finish.i7821782 = getelementptr inbounds i8, ptr %add.ptr.i7811781, i64 8 + %243 = load ptr, ptr %_M_finish.i7821782, align 8 + %244 = load ptr, ptr %add.ptr.i7811781, align 8 + %cmp4051787.not = icmp eq ptr %243, %244 + br i1 %cmp4051787.not, label %for.end449, label %for.body406 + +for.body406: ; preds = %for.cond400.preheader, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019 + %245 = phi ptr [ %341, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019 ], [ %244, %for.cond400.preheader ] + %conv4011789 = phi i64 [ %conv401, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019 ], [ 0, %for.cond400.preheader ] + %k.01788 = phi i32 [ %inc448, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019 ], [ 0, %for.cond400.preheader ] + %add.ptr.i788 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %245, i64 %conv4011789 + %246 = load ptr, ptr %add.ptr.i788, align 8 + store ptr %246, ptr %n407, align 8 + %bf.load.i.i789 = load i64, ptr %246, align 8 + %bf.lshr.i.i790 = lshr i64 %bf.load.i.i789, 40 + %247 = trunc nuw nsw i64 %bf.lshr.i.i790 to i32 + %bf.cast.i.i791 = and i32 %247, 1048575 + %cmp.i.i792 = icmp samesign ult i32 %bf.cast.i.i791, 1048574 + br i1 %cmp.i.i792, label %if.then.i.i797, label %if.else.i.i793 + +if.then.i.i797: ; preds = %for.body406 + %bf.value.i.i798 = add i64 %bf.load.i.i789, 1099511627776 + %bf.shl.i.i799 = and i64 %bf.value.i.i798, 1152920405095219200 + %bf.clear7.i.i800 = and i64 %bf.load.i.i789, -1152920405095219201 + %bf.set.i.i801 = or disjoint i64 %bf.shl.i.i799, %bf.clear7.i.i800 + store i64 %bf.set.i.i801, ptr %246, align 8 + br label %invoke.cont413 + +if.else.i.i793: ; preds = %for.body406 + %cmp12.i.i794 = icmp eq i32 %bf.cast.i.i791, 1048574 + br i1 %cmp12.i.i794, label %if.then13.i.i795, label %invoke.cont413 + +if.then13.i.i795: ; preds = %if.else.i.i793 + %bf.set23.i.i796 = or i64 %bf.load.i.i789, 1152920405095219200 + store i64 %bf.set23.i.i796, ptr %246, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %246) + to label %invoke.cont413 unwind label %lpad412.loopexit + +invoke.cont413: ; preds = %if.else.i.i793, %if.then.i.i797, %if.then13.i.i795 + %248 = load ptr, ptr %_M_parent.i.i.i.i.i26, align 8 + %cmp.not5.i.i.i.i808 = icmp eq ptr %248, null + br i1 %cmp.not5.i.i.i.i808, label %if.then.i833, label %while.body.lr.ph.i.i.i.i809 + +while.body.lr.ph.i.i.i.i809: ; preds = %invoke.cont413 + %249 = load ptr, ptr %n407, align 8 + %bf.load3.i.i.i.i.i.i810 = load i64, ptr %249, align 8 + %bf.clear4.i.i.i.i.i.i811 = and i64 %bf.load3.i.i.i.i.i.i810, 1099511627775 + br label %while.body.i.i.i.i812 + +while.body.i.i.i.i812: ; preds = %while.body.i.i.i.i812, %while.body.lr.ph.i.i.i.i809 + %__x.addr.07.i.i.i.i813 = phi ptr [ %248, %while.body.lr.ph.i.i.i.i809 ], [ %__x.addr.1.i.i.i.i822, %while.body.i.i.i.i812 ] + %__y.addr.06.i.i.i.i814 = phi ptr [ %3, %while.body.lr.ph.i.i.i.i809 ], [ %__y.addr.1.i.i.i.i819, %while.body.i.i.i.i812 ] + %_M_storage.i.i.i.i.i.i815 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i813, i64 32 + %250 = load ptr, ptr %_M_storage.i.i.i.i.i.i815, align 8 + %bf.load.i.i.i.i.i.i816 = load i64, ptr %250, align 8 + %bf.clear.i.i.i.i.i.i817 = and i64 %bf.load.i.i.i.i.i.i816, 1099511627775 + %cmp.i.i.i.i.i.i818 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i817, %bf.clear4.i.i.i.i.i.i811 + %__y.addr.1.i.i.i.i819 = select i1 %cmp.i.i.i.i.i.i818, ptr %__y.addr.06.i.i.i.i814, ptr %__x.addr.07.i.i.i.i813 + %__x.addr.1.in.v.i.i.i.i820 = select i1 %cmp.i.i.i.i.i.i818, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i821 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i813, i64 %__x.addr.1.in.v.i.i.i.i820 + %__x.addr.1.i.i.i.i822 = load ptr, ptr %__x.addr.1.in.i.i.i.i821, align 8 + %cmp.not.i.i.i.i823 = icmp eq ptr %__x.addr.1.i.i.i.i822, null + br i1 %cmp.not.i.i.i.i823, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i824, label %while.body.i.i.i.i812, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i824: ; preds = %while.body.i.i.i.i812 + %cmp.i.i825 = icmp eq ptr %__y.addr.1.i.i.i.i819, %3 + br i1 %cmp.i.i825, label %if.then.i833, label %lor.rhs.i826 + +lor.rhs.i826: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i824 + %__y.addr.1.i.i.i.i819.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i818, ptr %__y.addr.06.i.i.i.i814, ptr %__x.addr.07.i.i.i.i813 + %__y.addr.1.i.i.i.i819.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i819.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %251 = load ptr, ptr %__y.addr.1.i.i.i.i819.sroa.sel.v.sroa.sel.v.sroa.sel, align 8 + %bf.load3.i.i.i828 = load i64, ptr %251, align 8 + %bf.clear4.i.i.i829 = and i64 %bf.load3.i.i.i828, 1099511627775 + %cmp.i.i.i830 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i811, %bf.clear4.i.i.i829 + br i1 %cmp.i.i.i830, label %if.then.i833, label %invoke.cont415 + +if.then.i833: ; preds = %lor.rhs.i826, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i824, %invoke.cont413 + %__y.addr.0.lcssa.i.i.i9.i834 = phi ptr [ %__y.addr.1.i.i.i.i819, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i824 ], [ %__y.addr.1.i.i.i.i819, %lor.rhs.i826 ], [ %3, %invoke.cont413 ] + %call5.i.i.i.i.i.i1475 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #24 + to label %call5.i.i.i.i.i.i.noexc1474 unwind label %lpad414 + +call5.i.i.i.i.i.i.noexc1474: ; preds = %if.then.i833 + %_M_storage.i.i.i.i.i1445 = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1475, i64 32 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1444) + store i64 %144, ptr %agg.tmp6.i.i.i.i.i.i1444, align 8 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1443) + invoke void @_ZNSt4pairIKN4cvc58internal12NodeTemplateILb1EEES3_EC2IJRS4_EJLm0EEJETpTnmJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE(ptr noundef nonnull align 8 dereferenceable(16) %_M_storage.i.i.i.i.i1445, ptr noundef nonnull align 8 dereferenceable(8) %agg.tmp6.i.i.i.i.i.i1444, ptr noundef nonnull align 1 dereferenceable(1) %__second.i.i.i.i.i.i.i1443) + to label %invoke.cont.i1452 unwind label %lpad.i.i.i.i1446 + +lpad.i.i.i.i1446: ; preds = %call5.i.i.i.i.i.i.noexc1474 + %252 = landingpad { ptr, i32 } + catch ptr null + %253 = extractvalue { ptr, i32 } %252, 0 + %254 = call ptr @__cxa_begin_catch(ptr %253) #23 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1475) #26 + invoke void @__cxa_rethrow() #29 + to label %unreachable.i.i.i.i1451 unwind label %lpad7.i.i.i.i1447 + +lpad7.i.i.i.i1447: ; preds = %lpad.i.i.i.i1446 + %255 = landingpad { ptr, i32 } + cleanup + invoke void @__cxa_end_catch() + to label %ehcleanup446 unwind label %terminate.lpad.i.i.i.i1448 + +terminate.lpad.i.i.i.i1448: ; preds = %lpad7.i.i.i.i1447 + %256 = landingpad { ptr, i32 } + catch ptr null + %257 = extractvalue { ptr, i32 } %256, 0 + call void @__clang_call_terminate(ptr %257) #25 + unreachable + +unreachable.i.i.i.i1451: ; preds = %lpad.i.i.i.i1446 + unreachable + +invoke.cont.i1452: ; preds = %call5.i.i.i.i.i.i.noexc1474 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1443) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1444) + %call8.i1453 = invoke { ptr, ptr } @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS6_ERS5_(ptr noundef nonnull align 8 dereferenceable(48) %cn_cons, ptr %__y.addr.0.lcssa.i.i.i9.i834, ptr noundef nonnull align 8 dereferenceable(8) %_M_storage.i.i.i.i.i1445) + to label %invoke.cont7.i1455 unwind label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1454 + +invoke.cont7.i1455: ; preds = %invoke.cont.i1452 + %258 = extractvalue { ptr, ptr } %call8.i1453, 0 + %259 = extractvalue { ptr, ptr } %call8.i1453, 1 + %tobool.not.i1456 = icmp eq ptr %259, null + br i1 %tobool.not.i1456, label %if.then.i7.i1473, label %if.then.i1457 + +if.then.i1457: ; preds = %invoke.cont7.i1455 + %cmp.not.i.i.i1458 = icmp ne ptr %258, null + %cmp2.i.i.i1460 = icmp eq ptr %259, %3 + %or.cond.i.i.i1461 = or i1 %cmp.not.i.i.i1458, %cmp2.i.i.i1460 + br i1 %or.cond.i.i.i1461, label %cleanup.thread.i1469, label %lor.rhs.i.i.i1462 + +lor.rhs.i.i.i1462: ; preds = %if.then.i1457 + %_M_storage.i.i.i.i.i.i1463 = getelementptr inbounds i8, ptr %259, i64 32 + %260 = load ptr, ptr %_M_storage.i.i.i.i.i1445, align 8 + %bf.load.i.i.i.i.i1464 = load i64, ptr %260, align 8 + %bf.clear.i.i.i.i.i1465 = and i64 %bf.load.i.i.i.i.i1464, 1099511627775 + %261 = load ptr, ptr %_M_storage.i.i.i.i.i.i1463, align 8 + %bf.load3.i.i.i.i.i1466 = load i64, ptr %261, align 8 + %bf.clear4.i.i.i.i.i1467 = and i64 %bf.load3.i.i.i.i.i1466, 1099511627775 + %cmp.i.i.i.i.i1468 = icmp samesign ult i64 %bf.clear.i.i.i.i.i1465, %bf.clear4.i.i.i.i.i1467 + br label %cleanup.thread.i1469 + +cleanup.thread.i1469: ; preds = %lor.rhs.i.i.i1462, %if.then.i1457 + %262 = phi i1 [ true, %if.then.i1457 ], [ %cmp.i.i.i.i.i1468, %lor.rhs.i.i.i1462 ] + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %262, ptr noundef nonnull %call5.i.i.i.i.i.i1475, ptr noundef nonnull %259, ptr noundef nonnull align 8 dereferenceable(32) %3) #23 + %263 = load i64, ptr %_M_node_count.i.i.i.i.i29, align 8 + %inc.i.i.i1471 = add i64 %263, 1 + store i64 %inc.i.i.i1471, ptr %_M_node_count.i.i.i.i.i29, align 8 + br label %invoke.cont415 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1454: ; preds = %invoke.cont.i1452 + %264 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn_cons, ptr noundef nonnull %call5.i.i.i.i.i.i1475) #23 + br label %ehcleanup446 + +if.then.i7.i1473: ; preds = %invoke.cont7.i1455 + %second.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1475, i64 40 + %265 = load ptr, ptr %second.i.i.i.i.i, align 8 + %bf.load.i.i.i.i.i.i.i1536 = load i64, ptr %265, align 8 + %266 = and i64 %bf.load.i.i.i.i.i.i.i1536, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i1537 = icmp eq i64 %266, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i1537, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i1538 + +if.then.i.i.i.i.i.i.i1538: ; preds = %if.then.i7.i1473 + %bf.value.i.i.i.i.i.i.i1539 = add i64 %bf.load.i.i.i.i.i.i.i1536, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i1540 = and i64 %bf.value.i.i.i.i.i.i.i1539, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i1541 = and i64 %bf.load.i.i.i.i.i.i.i1536, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i1542 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i1540, %bf.clear7.i.i.i.i.i.i.i1541 + store i64 %bf.set.i.i.i.i.i.i.i1542, ptr %265, align 8 + %cmp12.i.i.i.i.i.i.i1543 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i1540, 0 + br i1 %cmp12.i.i.i.i.i.i.i1543, label %if.then13.i.i.i.i.i.i.i1544, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i + +if.then13.i.i.i.i.i.i.i1544: ; preds = %if.then.i.i.i.i.i.i.i1538 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %265) + to label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i unwind label %terminate.lpad.i.i.i.i.i.i1545 + +terminate.lpad.i.i.i.i.i.i1545: ; preds = %if.then13.i.i.i.i.i.i.i1544 + %267 = landingpad { ptr, i32 } + catch ptr null + %268 = extractvalue { ptr, i32 } %267, 0 + call void @__clang_call_terminate(ptr %268) #25 + unreachable + +_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i1544, %if.then.i.i.i.i.i.i.i1538, %if.then.i7.i1473 + %269 = load ptr, ptr %_M_storage.i.i.i.i.i1445, align 8 + %bf.load.i.i1.i.i.i.i.i = load i64, ptr %269, align 8 + %270 = and i64 %bf.load.i.i1.i.i.i.i.i, 1152920405095219200 + %cmp.not.i.i2.i.i.i.i.i = icmp eq i64 %270, 1152920405095219200 + br i1 %cmp.not.i.i2.i.i.i.i.i, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit, label %if.then.i.i3.i.i.i.i.i + +if.then.i.i3.i.i.i.i.i: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i + %bf.value.i.i4.i.i.i.i.i = add i64 %bf.load.i.i1.i.i.i.i.i, 1152920405095219200 + %bf.shl.i.i5.i.i.i.i.i = and i64 %bf.value.i.i4.i.i.i.i.i, 1152920405095219200 + %bf.clear7.i.i6.i.i.i.i.i = and i64 %bf.load.i.i1.i.i.i.i.i, -1152920405095219201 + %bf.set.i.i7.i.i.i.i.i = or disjoint i64 %bf.shl.i.i5.i.i.i.i.i, %bf.clear7.i.i6.i.i.i.i.i + store i64 %bf.set.i.i7.i.i.i.i.i, ptr %269, align 8 + %cmp12.i.i8.i.i.i.i.i = icmp eq i64 %bf.shl.i.i5.i.i.i.i.i, 0 + br i1 %cmp12.i.i8.i.i.i.i.i, label %if.then13.i.i9.i.i.i.i.i, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit + +if.then13.i.i9.i.i.i.i.i: ; preds = %if.then.i.i3.i.i.i.i.i + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %269) + to label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit unwind label %terminate.lpad.i10.i.i.i.i.i + +terminate.lpad.i10.i.i.i.i.i: ; preds = %if.then13.i.i9.i.i.i.i.i + %271 = landingpad { ptr, i32 } + catch ptr null + %272 = extractvalue { ptr, i32 } %271, 0 + call void @__clang_call_terminate(ptr %272) #25 + unreachable + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i, %if.then.i.i3.i.i.i.i.i, %if.then13.i.i9.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1475) #26 + br label %invoke.cont415 + +invoke.cont415: ; preds = %lor.rhs.i826, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit, %cleanup.thread.i1469 + %__i.sroa.0.0.i831 = phi ptr [ %__y.addr.1.i.i.i.i819, %lor.rhs.i826 ], [ %call5.i.i.i.i.i.i1475, %cleanup.thread.i1469 ], [ %258, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit ] + %second.i832 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i831, i64 40 + %273 = load ptr, ptr %second.i832, align 8, !noalias !445 + %d_kind.i.i.i.i838 = getelementptr inbounds i8, ptr %273, i64 8 + %bf.load.i.i.i.i839 = load i16, ptr %d_kind.i.i.i.i838, align 8, !noalias !445 + %bf.clear.i.i.i.i840 = and i16 %bf.load.i.i.i.i839, 1023 + %bf.cast.i.i.i.i841 = zext nneg i16 %bf.clear.i.i.i.i840 to i32 + %cmp.i.i.i.i.i842 = icmp eq i16 %bf.clear.i.i.i.i840, 1023 + %cond.i.i.i.i.i843 = select i1 %cmp.i.i.i.i.i842, i32 -1, i32 %bf.cast.i.i.i.i841 + %call2.i.i.i848 = invoke noundef i32 @_ZN4cvc58internal4kind10metaKindOfENS1_6Kind_tE(i32 noundef %cond.i.i.i.i.i843) + to label %call2.i.i.i.noexc unwind label %lpad414 + +call2.i.i.i.noexc: ; preds = %invoke.cont415 + %cmp.i.i844 = icmp eq i32 %call2.i.i.i848, 2 + %inc.i.i = zext i1 %cmp.i.i844 to i32 + %spec.select.i.i845 = add nsw i32 %cindex.01800, %inc.i.i + %d_children.i.i = getelementptr inbounds i8, ptr %273, i64 16 + %idxprom.i.i = sext i32 %spec.select.i.i845 to i64 + %arrayidx.i.i = getelementptr inbounds [0 x ptr], ptr %d_children.i.i, i64 0, i64 %idxprom.i.i + %274 = load ptr, ptr %arrayidx.i.i, align 8, !noalias !445 + %bf.load.i.i.i = load i64, ptr %274, align 8, !noalias !445 + %bf.lshr.i.i.i = lshr i64 %bf.load.i.i.i, 40 + %275 = trunc nuw nsw i64 %bf.lshr.i.i.i to i32 + %bf.cast.i.i.i = and i32 %275, 1048575 + %cmp.i.i.i846 = icmp samesign ult i32 %bf.cast.i.i.i, 1048574 + br i1 %cmp.i.i.i846, label %if.then.i.i.i847, label %if.else.i.i.i + +if.then.i.i.i847: ; preds = %call2.i.i.i.noexc + %bf.value.i.i.i = add i64 %bf.load.i.i.i, 1099511627776 + %bf.shl.i.i.i = and i64 %bf.value.i.i.i, 1152920405095219200 + %bf.clear7.i.i.i = and i64 %bf.load.i.i.i, -1152920405095219201 + %bf.set.i.i.i = or disjoint i64 %bf.shl.i.i.i, %bf.clear7.i.i.i + store i64 %bf.set.i.i.i, ptr %274, align 8, !noalias !445 + br label %invoke.cont417 + +if.else.i.i.i: ; preds = %call2.i.i.i.noexc + %cmp12.i.i.i = icmp eq i32 %bf.cast.i.i.i, 1048574 + br i1 %cmp12.i.i.i, label %if.then13.i.i.i, label %invoke.cont417 + +if.then13.i.i.i: ; preds = %if.else.i.i.i + %bf.set23.i.i.i = or i64 %bf.load.i.i.i, 1152920405095219200 + store i64 %bf.set23.i.i.i, ptr %274, align 8, !noalias !445 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %274) + to label %invoke.cont417 unwind label %lpad414 + +invoke.cont417: ; preds = %if.else.i.i.i, %if.then.i.i.i847, %if.then13.i.i.i + call void @llvm.experimental.noalias.scope.decl(metadata !448) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + %276 = load ptr, ptr %d_equalityEngine.i, align 8, !noalias !448 + store ptr %274, ptr %agg.tmp.i, align 8, !noalias !448 + %call.i850852 = invoke noundef zeroext i1 @_ZNK4cvc58internal6theory2eq14EqualityEngine7hasTermENS0_12NodeTemplateILb0EEE(ptr noundef nonnull align 8 dereferenceable(1784) %276, ptr noundef nonnull %agg.tmp.i) + to label %call.i850.noexc unwind label %lpad422 + +call.i850.noexc: ; preds = %invoke.cont417 + br i1 %call.i850852, label %if.then.i851, label %if.end.i + +if.then.i851: ; preds = %call.i850.noexc + %277 = load ptr, ptr %d_equalityEngine.i, align 8, !noalias !448 + store ptr %274, ptr %agg.tmp3.i, align 8, !noalias !448 + invoke void @_ZNK4cvc58internal6theory2eq14EqualityEngine17getRepresentativeENS0_12NodeTemplateILb0EEE(ptr nonnull sret(%"class.cvc5::internal::NodeTemplate.733") align 8 %ref.tmp418, ptr noundef nonnull align 8 dereferenceable(1784) %277, ptr noundef nonnull %agg.tmp3.i) + to label %if.then.i851.invoke.cont423_crit_edge unwind label %lpad422 + +if.then.i851.invoke.cont423_crit_edge: ; preds = %if.then.i851 + %.pre1850 = load ptr, ptr %ref.tmp418, align 8 + br label %invoke.cont423 + +if.end.i: ; preds = %call.i850.noexc + store ptr %274, ptr %ref.tmp418, align 8, !alias.scope !448 + br label %invoke.cont423 + +invoke.cont423: ; preds = %if.then.i851.invoke.cont423_crit_edge, %if.end.i + %278 = phi ptr [ %.pre1850, %if.then.i851.invoke.cont423_crit_edge ], [ %274, %if.end.i ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + %bf.load.i.i854 = load i64, ptr %278, align 8 + %bf.lshr.i.i855 = lshr i64 %bf.load.i.i854, 40 + %279 = trunc nuw nsw i64 %bf.lshr.i.i855 to i32 + %bf.cast.i.i856 = and i32 %279, 1048575 + %cmp.i.i857 = icmp samesign ult i32 %bf.cast.i.i856, 1048574 + br i1 %cmp.i.i857, label %if.then.i.i862, label %if.else.i.i858 + +if.then.i.i862: ; preds = %invoke.cont423 + %bf.value.i.i863 = add i64 %bf.load.i.i854, 1099511627776 + %bf.shl.i.i864 = and i64 %bf.value.i.i863, 1152920405095219200 + %bf.clear7.i.i865 = and i64 %bf.load.i.i854, -1152920405095219201 + %bf.set.i.i866 = or disjoint i64 %bf.shl.i.i864, %bf.clear7.i.i865 + store i64 %bf.set.i.i866, ptr %278, align 8 + br label %invoke.cont425 + +if.else.i.i858: ; preds = %invoke.cont423 + %cmp12.i.i859 = icmp eq i32 %bf.cast.i.i856, 1048574 + br i1 %cmp12.i.i859, label %if.then13.i.i860, label %invoke.cont425 + +if.then13.i.i860: ; preds = %if.else.i.i858 + %bf.set23.i.i861 = or i64 %bf.load.i.i854, 1152920405095219200 + store i64 %bf.set23.i.i861, ptr %278, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %278) + to label %invoke.cont425 unwind label %lpad424 + +invoke.cont425: ; preds = %if.else.i.i858, %if.then.i.i862, %if.then13.i.i860 + %280 = load ptr, ptr %_M_parent.i.i.i.i.i561, align 8 + %cmp.not5.i.i.i.i873 = icmp eq ptr %280, null + br i1 %cmp.not5.i.i.i.i873, label %if.then.i899, label %while.body.lr.ph.i.i.i.i874 + +while.body.lr.ph.i.i.i.i874: ; preds = %invoke.cont425 + %281 = load ptr, ptr %n407, align 8 + %bf.load3.i.i.i.i.i.i875 = load i64, ptr %281, align 8 + %bf.clear4.i.i.i.i.i.i876 = and i64 %bf.load3.i.i.i.i.i.i875, 1099511627775 + br label %while.body.i.i.i.i877 + +while.body.i.i.i.i877: ; preds = %while.body.i.i.i.i877, %while.body.lr.ph.i.i.i.i874 + %__x.addr.07.i.i.i.i878 = phi ptr [ %280, %while.body.lr.ph.i.i.i.i874 ], [ %__x.addr.1.i.i.i.i887, %while.body.i.i.i.i877 ] + %__y.addr.06.i.i.i.i879 = phi ptr [ %add.ptr.i.i.i.i562, %while.body.lr.ph.i.i.i.i874 ], [ %__y.addr.1.i.i.i.i884, %while.body.i.i.i.i877 ] + %_M_storage.i.i.i.i.i.i880 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i878, i64 32 + %282 = load ptr, ptr %_M_storage.i.i.i.i.i.i880, align 8 + %bf.load.i.i.i.i.i.i881 = load i64, ptr %282, align 8 + %bf.clear.i.i.i.i.i.i882 = and i64 %bf.load.i.i.i.i.i.i881, 1099511627775 + %cmp.i.i.i.i.i.i883 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i882, %bf.clear4.i.i.i.i.i.i876 + %__y.addr.1.i.i.i.i884 = select i1 %cmp.i.i.i.i.i.i883, ptr %__y.addr.06.i.i.i.i879, ptr %__x.addr.07.i.i.i.i878 + %__x.addr.1.in.v.i.i.i.i885 = select i1 %cmp.i.i.i.i.i.i883, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i886 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i878, i64 %__x.addr.1.in.v.i.i.i.i885 + %__x.addr.1.i.i.i.i887 = load ptr, ptr %__x.addr.1.in.i.i.i.i886, align 8 + %cmp.not.i.i.i.i888 = icmp eq ptr %__x.addr.1.i.i.i.i887, null + br i1 %cmp.not.i.i.i.i888, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i889, label %while.body.i.i.i.i877, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i889: ; preds = %while.body.i.i.i.i877 + %cmp.i.i890 = icmp eq ptr %__y.addr.1.i.i.i.i884, %add.ptr.i.i.i.i562 + br i1 %cmp.i.i890, label %if.then.i899, label %lor.rhs.i891 + +lor.rhs.i891: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i889 + %_M_storage.i.i.i892 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i884, i64 32 + %283 = load ptr, ptr %_M_storage.i.i.i892, align 8 + %bf.load3.i.i.i893 = load i64, ptr %283, align 8 + %bf.clear4.i.i.i894 = and i64 %bf.load3.i.i.i893, 1099511627775 + %cmp.i.i.i895 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i876, %bf.clear4.i.i.i894 + br i1 %cmp.i.i.i895, label %if.then.i899, label %invoke.cont429 + +if.then.i899: ; preds = %lor.rhs.i891, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i889, %invoke.cont425 + %__y.addr.0.lcssa.i.i.i9.i900 = phi ptr [ %__y.addr.1.i.i.i.i884, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i889 ], [ %__y.addr.1.i.i.i.i884, %lor.rhs.i891 ], [ %add.ptr.i.i.i.i562, %invoke.cont425 ] + %call5.i.i.i.i.i.i1510 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #24 + to label %call5.i.i.i.i.i.i.noexc1509 unwind label %lpad428 + +call5.i.i.i.i.i.i.noexc1509: ; preds = %if.then.i899 + %_M_storage.i.i.i.i.i1480 = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1510, i64 32 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1479) + store i64 %144, ptr %agg.tmp6.i.i.i.i.i.i1479, align 8 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1478) + invoke void @_ZNSt4pairIKN4cvc58internal12NodeTemplateILb1EEES3_EC2IJRS4_EJLm0EEJETpTnmJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE(ptr noundef nonnull align 8 dereferenceable(16) %_M_storage.i.i.i.i.i1480, ptr noundef nonnull align 8 dereferenceable(8) %agg.tmp6.i.i.i.i.i.i1479, ptr noundef nonnull align 1 dereferenceable(1) %__second.i.i.i.i.i.i.i1478) + to label %invoke.cont.i1487 unwind label %lpad.i.i.i.i1481 + +lpad.i.i.i.i1481: ; preds = %call5.i.i.i.i.i.i.noexc1509 + %284 = landingpad { ptr, i32 } + catch ptr null + %285 = extractvalue { ptr, i32 } %284, 0 + %286 = call ptr @__cxa_begin_catch(ptr %285) #23 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1510) #26 + invoke void @__cxa_rethrow() #29 + to label %unreachable.i.i.i.i1486 unwind label %lpad7.i.i.i.i1482 + +lpad7.i.i.i.i1482: ; preds = %lpad.i.i.i.i1481 + %287 = landingpad { ptr, i32 } + cleanup + invoke void @__cxa_end_catch() + to label %ehcleanup444 unwind label %terminate.lpad.i.i.i.i1483 + +terminate.lpad.i.i.i.i1483: ; preds = %lpad7.i.i.i.i1482 + %288 = landingpad { ptr, i32 } + catch ptr null + %289 = extractvalue { ptr, i32 } %288, 0 + call void @__clang_call_terminate(ptr %289) #25 + unreachable + +unreachable.i.i.i.i1486: ; preds = %lpad.i.i.i.i1481 + unreachable + +invoke.cont.i1487: ; preds = %call5.i.i.i.i.i.i.noexc1509 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1478) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1479) + %call8.i1488 = invoke { ptr, ptr } @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS6_ERS5_(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr %__y.addr.0.lcssa.i.i.i9.i900, ptr noundef nonnull align 8 dereferenceable(8) %_M_storage.i.i.i.i.i1480) + to label %invoke.cont7.i1490 unwind label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1489 + +invoke.cont7.i1490: ; preds = %invoke.cont.i1487 + %290 = extractvalue { ptr, ptr } %call8.i1488, 0 + %291 = extractvalue { ptr, ptr } %call8.i1488, 1 + %tobool.not.i1491 = icmp eq ptr %291, null + br i1 %tobool.not.i1491, label %if.then.i7.i1508, label %if.then.i1492 + +if.then.i1492: ; preds = %invoke.cont7.i1490 + %cmp.not.i.i.i1493 = icmp ne ptr %290, null + %cmp2.i.i.i1495 = icmp eq ptr %291, %add.ptr.i.i.i.i562 + %or.cond.i.i.i1496 = select i1 %cmp.not.i.i.i1493, i1 true, i1 %cmp2.i.i.i1495 + br i1 %or.cond.i.i.i1496, label %cleanup.thread.i1504, label %lor.rhs.i.i.i1497 + +lor.rhs.i.i.i1497: ; preds = %if.then.i1492 + %_M_storage.i.i.i.i.i.i1498 = getelementptr inbounds i8, ptr %291, i64 32 + %292 = load ptr, ptr %_M_storage.i.i.i.i.i1480, align 8 + %bf.load.i.i.i.i.i1499 = load i64, ptr %292, align 8 + %bf.clear.i.i.i.i.i1500 = and i64 %bf.load.i.i.i.i.i1499, 1099511627775 + %293 = load ptr, ptr %_M_storage.i.i.i.i.i.i1498, align 8 + %bf.load3.i.i.i.i.i1501 = load i64, ptr %293, align 8 + %bf.clear4.i.i.i.i.i1502 = and i64 %bf.load3.i.i.i.i.i1501, 1099511627775 + %cmp.i.i.i.i.i1503 = icmp samesign ult i64 %bf.clear.i.i.i.i.i1500, %bf.clear4.i.i.i.i.i1502 + br label %cleanup.thread.i1504 + +cleanup.thread.i1504: ; preds = %lor.rhs.i.i.i1497, %if.then.i1492 + %294 = phi i1 [ true, %if.then.i1492 ], [ %cmp.i.i.i.i.i1503, %lor.rhs.i.i.i1497 ] + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %294, ptr noundef nonnull %call5.i.i.i.i.i.i1510, ptr noundef nonnull %291, ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i.i.i.i562) #23 + %295 = load i64, ptr %_M_node_count.i.i.i1341, align 8 + %inc.i.i.i1506 = add i64 %295, 1 + store i64 %inc.i.i.i1506, ptr %_M_node_count.i.i.i1341, align 8 + br label %invoke.cont429 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1489: ; preds = %invoke.cont.i1487 + %296 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr noundef nonnull %call5.i.i.i.i.i.i1510) #23 + br label %ehcleanup444 + +if.then.i7.i1508: ; preds = %invoke.cont7.i1490 + %second.i.i.i.i.i1547 = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1510, i64 40 + %297 = load ptr, ptr %second.i.i.i.i.i1547, align 8 + %bf.load.i.i.i.i.i.i.i1548 = load i64, ptr %297, align 8 + %298 = and i64 %bf.load.i.i.i.i.i.i.i1548, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i1549 = icmp eq i64 %298, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i1549, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i1556, label %if.then.i.i.i.i.i.i.i1550 + +if.then.i.i.i.i.i.i.i1550: ; preds = %if.then.i7.i1508 + %bf.value.i.i.i.i.i.i.i1551 = add i64 %bf.load.i.i.i.i.i.i.i1548, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i1552 = and i64 %bf.value.i.i.i.i.i.i.i1551, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i1553 = and i64 %bf.load.i.i.i.i.i.i.i1548, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i1554 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i1552, %bf.clear7.i.i.i.i.i.i.i1553 + store i64 %bf.set.i.i.i.i.i.i.i1554, ptr %297, align 8 + %cmp12.i.i.i.i.i.i.i1555 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i1552, 0 + br i1 %cmp12.i.i.i.i.i.i.i1555, label %if.then13.i.i.i.i.i.i.i1567, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i1556 + +if.then13.i.i.i.i.i.i.i1567: ; preds = %if.then.i.i.i.i.i.i.i1550 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %297) + to label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i1556 unwind label %terminate.lpad.i.i.i.i.i.i1568 + +terminate.lpad.i.i.i.i.i.i1568: ; preds = %if.then13.i.i.i.i.i.i.i1567 + %299 = landingpad { ptr, i32 } + catch ptr null + %300 = extractvalue { ptr, i32 } %299, 0 + call void @__clang_call_terminate(ptr %300) #25 + unreachable + +_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i1556: ; preds = %if.then13.i.i.i.i.i.i.i1567, %if.then.i.i.i.i.i.i.i1550, %if.then.i7.i1508 + %301 = load ptr, ptr %_M_storage.i.i.i.i.i1480, align 8 + %bf.load.i.i1.i.i.i.i.i1557 = load i64, ptr %301, align 8 + %302 = and i64 %bf.load.i.i1.i.i.i.i.i1557, 1152920405095219200 + %cmp.not.i.i2.i.i.i.i.i1558 = icmp eq i64 %302, 1152920405095219200 + br i1 %cmp.not.i.i2.i.i.i.i.i1558, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit1569, label %if.then.i.i3.i.i.i.i.i1559 + +if.then.i.i3.i.i.i.i.i1559: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i1556 + %bf.value.i.i4.i.i.i.i.i1560 = add i64 %bf.load.i.i1.i.i.i.i.i1557, 1152920405095219200 + %bf.shl.i.i5.i.i.i.i.i1561 = and i64 %bf.value.i.i4.i.i.i.i.i1560, 1152920405095219200 + %bf.clear7.i.i6.i.i.i.i.i1562 = and i64 %bf.load.i.i1.i.i.i.i.i1557, -1152920405095219201 + %bf.set.i.i7.i.i.i.i.i1563 = or disjoint i64 %bf.shl.i.i5.i.i.i.i.i1561, %bf.clear7.i.i6.i.i.i.i.i1562 + store i64 %bf.set.i.i7.i.i.i.i.i1563, ptr %301, align 8 + %cmp12.i.i8.i.i.i.i.i1564 = icmp eq i64 %bf.shl.i.i5.i.i.i.i.i1561, 0 + br i1 %cmp12.i.i8.i.i.i.i.i1564, label %if.then13.i.i9.i.i.i.i.i1565, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit1569 + +if.then13.i.i9.i.i.i.i.i1565: ; preds = %if.then.i.i3.i.i.i.i.i1559 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %301) + to label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit1569 unwind label %terminate.lpad.i10.i.i.i.i.i1566 + +terminate.lpad.i10.i.i.i.i.i1566: ; preds = %if.then13.i.i9.i.i.i.i.i1565 + %303 = landingpad { ptr, i32 } + catch ptr null + %304 = extractvalue { ptr, i32 } %303, 0 + call void @__clang_call_terminate(ptr %304) #25 + unreachable + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit1569: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i1556, %if.then.i.i3.i.i.i.i.i1559, %if.then13.i.i9.i.i.i.i.i1565 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1510) #26 + br label %invoke.cont429 + +invoke.cont429: ; preds = %lor.rhs.i891, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit1569, %cleanup.thread.i1504 + %__i.sroa.0.0.i897 = phi ptr [ %__y.addr.1.i.i.i.i884, %lor.rhs.i891 ], [ %call5.i.i.i.i.i.i1510, %cleanup.thread.i1504 ], [ %290, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit1569 ] + %second.i898 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i897, i64 40 + %305 = load ptr, ptr %second.i898, align 8 + %cmp.not.i904 = icmp eq ptr %305, %278 + br i1 %cmp.not.i904, label %land.lhs.true434, label %if.then.i905 + +if.then.i905: ; preds = %invoke.cont429 + %bf.load.i.i906 = load i64, ptr %305, align 8 + %306 = and i64 %bf.load.i.i906, 1152920405095219200 + %cmp.not.i.i907 = icmp eq i64 %306, 1152920405095219200 + br i1 %cmp.not.i.i907, label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i914, label %if.then.i.i908 + +if.then.i.i908: ; preds = %if.then.i905 + %bf.value.i.i909 = add i64 %bf.load.i.i906, 1152920405095219200 + %bf.shl.i.i910 = and i64 %bf.value.i.i909, 1152920405095219200 + %bf.clear7.i.i911 = and i64 %bf.load.i.i906, -1152920405095219201 + %bf.set.i.i912 = or disjoint i64 %bf.shl.i.i910, %bf.clear7.i.i911 + store i64 %bf.set.i.i912, ptr %305, align 8 + %cmp12.i.i913 = icmp eq i64 %bf.shl.i.i910, 0 + br i1 %cmp12.i.i913, label %if.then13.i.i929, label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i914 + +if.then13.i.i929: ; preds = %if.then.i.i908 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %305) + to label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i914 unwind label %lpad428 + +_ZN4cvc58internal4expr9NodeValue3decEv.exit.i914: ; preds = %if.then13.i.i929, %if.then.i.i908, %if.then.i905 + store ptr %278, ptr %second.i898, align 8 + %bf.load.i2.i915 = load i64, ptr %278, align 8 + %bf.lshr.i.i916 = lshr i64 %bf.load.i2.i915, 40 + %307 = trunc nuw nsw i64 %bf.lshr.i.i916 to i32 + %bf.cast.i.i917 = and i32 %307, 1048575 + %cmp.i.i918 = icmp samesign ult i32 %bf.cast.i.i917, 1048574 + br i1 %cmp.i.i918, label %if.then.i5.i924, label %if.else.i.i919 + +if.then.i5.i924: ; preds = %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i914 + %bf.value.i6.i925 = add i64 %bf.load.i2.i915, 1099511627776 + %bf.shl.i7.i926 = and i64 %bf.value.i6.i925, 1152920405095219200 + %bf.clear7.i8.i927 = and i64 %bf.load.i2.i915, -1152920405095219201 + %bf.set.i9.i928 = or disjoint i64 %bf.shl.i7.i926, %bf.clear7.i8.i927 + store i64 %bf.set.i9.i928, ptr %278, align 8 + br label %land.lhs.true434 + +if.else.i.i919: ; preds = %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i914 + %cmp12.i3.i920 = icmp eq i32 %bf.cast.i.i917, 1048574 + br i1 %cmp12.i3.i920, label %if.then13.i4.i922, label %land.lhs.true434 + +if.then13.i4.i922: ; preds = %if.else.i.i919 + %bf.set23.i.i923 = or i64 %bf.load.i2.i915, 1152920405095219200 + store i64 %bf.set23.i.i923, ptr %278, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %278) + to label %land.lhs.true434 unwind label %lpad428 + +land.lhs.true434: ; preds = %if.else.i.i919, %if.then.i5.i924, %invoke.cont429, %if.then13.i4.i922 + %cmp.i933.not = icmp eq ptr %274, %278 + br i1 %cmp.i933.not, label %if.end443, label %if.then437 + +if.then437: ; preds = %land.lhs.true434 + %call.i934935 = invoke noundef ptr @_ZN4cvc58internal11NodeManager9currentNMEv() + to label %call.i934.noexc unwind label %lpad428 + +call.i934.noexc: ; preds = %if.then437 + call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %nb.i.i), !noalias !451 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i.i), !noalias !451 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp4.i.i), !noalias !451 + invoke void @_ZN4cvc58internal11NodeBuilderC1EPNS0_11NodeManagerENS0_4kind6Kind_tE(ptr noundef nonnull align 8 dereferenceable(116) %nb.i.i, ptr noundef nonnull align 8 dereferenceable(3360) %call.i934935, i32 noundef 5) + to label %.noexc936 unwind label %lpad428 + +.noexc936: ; preds = %call.i934.noexc + store ptr %278, ptr %agg.tmp.i.i, align 8, !noalias !454 + %call.i.i = invoke noundef nonnull align 8 dereferenceable(116) ptr @_ZN4cvc58internal11NodeBuilderlsENS0_12NodeTemplateILb0EEE(ptr noundef nonnull align 8 dereferenceable(116) %nb.i.i, ptr noundef nonnull %agg.tmp.i.i) + to label %invoke.cont3.i.i unwind label %lpad2.i.i, !noalias !454 + +invoke.cont3.i.i: ; preds = %.noexc936 + store ptr %274, ptr %agg.tmp4.i.i, align 8, !noalias !454 + %call8.i.i = invoke noundef nonnull align 8 dereferenceable(116) ptr @_ZN4cvc58internal11NodeBuilderlsENS0_12NodeTemplateILb0EEE(ptr noundef nonnull align 8 dereferenceable(116) %call.i.i, ptr noundef nonnull %agg.tmp4.i.i) + to label %invoke.cont7.i.i unwind label %lpad6.i.i, !noalias !454 + +invoke.cont7.i.i: ; preds = %invoke.cont3.i.i + invoke void @_ZN4cvc58internal11NodeBuilder13constructNodeEv(ptr nonnull sret(%"class.cvc5::internal::NodeTemplate") align 8 %ref.tmp438, ptr noundef nonnull align 8 dereferenceable(116) %nb.i.i) + to label %invoke.cont439 unwind label %lpad.i.i + +lpad.i.i: ; preds = %invoke.cont7.i.i + %308 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup10.i.i + +lpad2.i.i: ; preds = %.noexc936 + %309 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup10.i.i + +lpad6.i.i: ; preds = %invoke.cont3.i.i + %310 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup10.i.i + +ehcleanup10.i.i: ; preds = %lpad6.i.i, %lpad2.i.i, %lpad.i.i + %.pn2.i.i = phi { ptr, i32 } [ %308, %lpad.i.i ], [ %310, %lpad6.i.i ], [ %309, %lpad2.i.i ] + call void @_ZN4cvc58internal11NodeBuilderD1Ev(ptr noundef nonnull align 8 dereferenceable(116) %nb.i.i) #23 + br label %ehcleanup444 + +invoke.cont439: ; preds = %invoke.cont7.i.i + call void @_ZN4cvc58internal11NodeBuilderD1Ev(ptr noundef nonnull align 8 dereferenceable(116) %nb.i.i) #23 + call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %nb.i.i), !noalias !451 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i.i), !noalias !451 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp4.i.i), !noalias !451 + %311 = load ptr, ptr %_M_finish.i.i937, align 8 + %312 = load ptr, ptr %_M_end_of_storage.i.i938, align 8 + %cmp.not.i.i939 = icmp eq ptr %311, %312 + br i1 %cmp.not.i.i939, label %if.else.i.i956, label %if.then.i.i940 + +if.then.i.i940: ; preds = %invoke.cont439 + %313 = load ptr, ptr %ref.tmp438, align 8 + store ptr %313, ptr %311, align 8 + %bf.load.i.i.i.i.i.i941 = load i64, ptr %313, align 8 + %bf.lshr.i.i.i.i.i.i942 = lshr i64 %bf.load.i.i.i.i.i.i941, 40 + %314 = trunc nuw nsw i64 %bf.lshr.i.i.i.i.i.i942 to i32 + %bf.cast.i.i.i.i.i.i943 = and i32 %314, 1048575 + %cmp.i.i.i.i.i.i944 = icmp samesign ult i32 %bf.cast.i.i.i.i.i.i943, 1048574 + br i1 %cmp.i.i.i.i.i.i944, label %if.then.i.i.i.i.i.i951, label %if.else.i.i.i.i.i.i945 + +if.then.i.i.i.i.i.i951: ; preds = %if.then.i.i940 + %bf.value.i.i.i.i.i.i952 = add i64 %bf.load.i.i.i.i.i.i941, 1099511627776 + %bf.shl.i.i.i.i.i.i953 = and i64 %bf.value.i.i.i.i.i.i952, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i954 = and i64 %bf.load.i.i.i.i.i.i941, -1152920405095219201 + %bf.set.i.i.i.i.i.i955 = or disjoint i64 %bf.shl.i.i.i.i.i.i953, %bf.clear7.i.i.i.i.i.i954 + store i64 %bf.set.i.i.i.i.i.i955, ptr %313, align 8 + br label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i947 + +if.else.i.i.i.i.i.i945: ; preds = %if.then.i.i940 + %cmp12.i.i.i.i.i.i946 = icmp eq i32 %bf.cast.i.i.i.i.i.i943, 1048574 + br i1 %cmp12.i.i.i.i.i.i946, label %if.then13.i.i.i.i.i.i949, label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i947 + +if.then13.i.i.i.i.i.i949: ; preds = %if.else.i.i.i.i.i.i945 + %bf.set23.i.i.i.i.i.i950 = or i64 %bf.load.i.i.i.i.i.i941, 1152920405095219200 + store i64 %bf.set23.i.i.i.i.i.i950, ptr %313, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %313) + to label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i947 unwind label %lpad440 + +_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i947: ; preds = %if.then13.i.i.i.i.i.i949, %if.else.i.i.i.i.i.i945, %if.then.i.i.i.i.i.i951 + %315 = load ptr, ptr %_M_finish.i.i937, align 8 + %incdec.ptr.i.i948 = getelementptr inbounds i8, ptr %315, i64 8 + store ptr %incdec.ptr.i.i948, ptr %_M_finish.i.i937, align 8 + br label %invoke.cont441 + +if.else.i.i956: ; preds = %invoke.cont439 + invoke void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %exp, ptr %311, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp438) + to label %invoke.cont441 unwind label %lpad440 + +invoke.cont441: ; preds = %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i947, %if.else.i.i956 + %316 = load ptr, ptr %ref.tmp438, align 8 + %bf.load.i.i960 = load i64, ptr %316, align 8 + %317 = and i64 %bf.load.i.i960, 1152920405095219200 + %cmp.not.i.i961 = icmp eq i64 %317, 1152920405095219200 + br i1 %cmp.not.i.i961, label %if.end443, label %if.then.i.i962 + +if.then.i.i962: ; preds = %invoke.cont441 + %bf.value.i.i963 = add i64 %bf.load.i.i960, 1152920405095219200 + %bf.shl.i.i964 = and i64 %bf.value.i.i963, 1152920405095219200 + %bf.clear7.i.i965 = and i64 %bf.load.i.i960, -1152920405095219201 + %bf.set.i.i966 = or disjoint i64 %bf.shl.i.i964, %bf.clear7.i.i965 + store i64 %bf.set.i.i966, ptr %316, align 8 + %cmp12.i.i967 = icmp eq i64 %bf.shl.i.i964, 0 + br i1 %cmp12.i.i967, label %if.then13.i.i969, label %if.end443 + +if.then13.i.i969: ; preds = %if.then.i.i962 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %316) + to label %if.end443 unwind label %terminate.lpad.i970 + +terminate.lpad.i970: ; preds = %if.then13.i.i969 + %318 = landingpad { ptr, i32 } + catch ptr null + %319 = extractvalue { ptr, i32 } %318, 0 + call void @__clang_call_terminate(ptr %319) #25 + unreachable + +lpad412.loopexit: ; preds = %if.then13.i.i795 + %lpad.loopexit = landingpad { ptr, i32 } + cleanup + br label %ehcleanup494 + +lpad412.loopexit.split-lp: ; preds = %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE5clearEv.exit + %lpad.loopexit.split-lp = landingpad { ptr, i32 } + cleanup + br label %ehcleanup494 + +lpad414: ; preds = %if.then.i833, %if.then13.i.i.i, %invoke.cont415 + %320 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup446 + +lpad422: ; preds = %if.then.i851, %invoke.cont417 + %321 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup445 + +lpad424: ; preds = %if.then13.i.i860 + %322 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup445 + +lpad428: ; preds = %if.then.i899, %call.i934.noexc, %if.then437, %if.then13.i4.i922, %if.then13.i.i929 + %323 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup444 + +lpad440: ; preds = %if.else.i.i956, %if.then13.i.i.i.i.i.i949 + %324 = landingpad { ptr, i32 } + cleanup + %325 = load ptr, ptr %ref.tmp438, align 8 + %bf.load.i.i972 = load i64, ptr %325, align 8 + %326 = and i64 %bf.load.i.i972, 1152920405095219200 + %cmp.not.i.i973 = icmp eq i64 %326, 1152920405095219200 + br i1 %cmp.not.i.i973, label %ehcleanup444, label %if.then.i.i974 + +if.then.i.i974: ; preds = %lpad440 + %bf.value.i.i975 = add i64 %bf.load.i.i972, 1152920405095219200 + %bf.shl.i.i976 = and i64 %bf.value.i.i975, 1152920405095219200 + %bf.clear7.i.i977 = and i64 %bf.load.i.i972, -1152920405095219201 + %bf.set.i.i978 = or disjoint i64 %bf.shl.i.i976, %bf.clear7.i.i977 + store i64 %bf.set.i.i978, ptr %325, align 8 + %cmp12.i.i979 = icmp eq i64 %bf.shl.i.i976, 0 + br i1 %cmp12.i.i979, label %if.then13.i.i981, label %ehcleanup444 + +if.then13.i.i981: ; preds = %if.then.i.i974 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %325) + to label %ehcleanup444 unwind label %terminate.lpad.i982 + +terminate.lpad.i982: ; preds = %if.then13.i.i981 + %327 = landingpad { ptr, i32 } + catch ptr null + %328 = extractvalue { ptr, i32 } %327, 0 + call void @__clang_call_terminate(ptr %328) #25 + unreachable + +if.end443: ; preds = %if.then13.i.i969, %if.then.i.i962, %invoke.cont441, %land.lhs.true434 + %bf.load.i.i984 = load i64, ptr %278, align 8 + %329 = and i64 %bf.load.i.i984, 1152920405095219200 + %cmp.not.i.i985 = icmp eq i64 %329, 1152920405095219200 + br i1 %cmp.not.i.i985, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit995, label %if.then.i.i986 + +if.then.i.i986: ; preds = %if.end443 + %bf.value.i.i987 = add i64 %bf.load.i.i984, 1152920405095219200 + %bf.shl.i.i988 = and i64 %bf.value.i.i987, 1152920405095219200 + %bf.clear7.i.i989 = and i64 %bf.load.i.i984, -1152920405095219201 + %bf.set.i.i990 = or disjoint i64 %bf.shl.i.i988, %bf.clear7.i.i989 + store i64 %bf.set.i.i990, ptr %278, align 8 + %cmp12.i.i991 = icmp eq i64 %bf.shl.i.i988, 0 + br i1 %cmp12.i.i991, label %if.then13.i.i993, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit995 + +if.then13.i.i993: ; preds = %if.then.i.i986 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %278) + to label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit995 unwind label %terminate.lpad.i994 + +terminate.lpad.i994: ; preds = %if.then13.i.i993 + %330 = landingpad { ptr, i32 } + catch ptr null + %331 = extractvalue { ptr, i32 } %330, 0 + call void @__clang_call_terminate(ptr %331) #25 + unreachable + +_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit995: ; preds = %if.end443, %if.then.i.i986, %if.then13.i.i993 + %bf.load.i.i996 = load i64, ptr %274, align 8 + %332 = and i64 %bf.load.i.i996, 1152920405095219200 + %cmp.not.i.i997 = icmp eq i64 %332, 1152920405095219200 + br i1 %cmp.not.i.i997, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1007, label %if.then.i.i998 + +if.then.i.i998: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit995 + %bf.value.i.i999 = add i64 %bf.load.i.i996, 1152920405095219200 + %bf.shl.i.i1000 = and i64 %bf.value.i.i999, 1152920405095219200 + %bf.clear7.i.i1001 = and i64 %bf.load.i.i996, -1152920405095219201 + %bf.set.i.i1002 = or disjoint i64 %bf.shl.i.i1000, %bf.clear7.i.i1001 + store i64 %bf.set.i.i1002, ptr %274, align 8 + %cmp12.i.i1003 = icmp eq i64 %bf.shl.i.i1000, 0 + br i1 %cmp12.i.i1003, label %if.then13.i.i1005, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1007 + +if.then13.i.i1005: ; preds = %if.then.i.i998 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %274) + to label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1007 unwind label %terminate.lpad.i1006 + +terminate.lpad.i1006: ; preds = %if.then13.i.i1005 + %333 = landingpad { ptr, i32 } + catch ptr null + %334 = extractvalue { ptr, i32 } %333, 0 + call void @__clang_call_terminate(ptr %334) #25 + unreachable + +_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1007: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit995, %if.then.i.i998, %if.then13.i.i1005 + %335 = load ptr, ptr %n407, align 8 + %bf.load.i.i1008 = load i64, ptr %335, align 8 + %336 = and i64 %bf.load.i.i1008, 1152920405095219200 + %cmp.not.i.i1009 = icmp eq i64 %336, 1152920405095219200 + br i1 %cmp.not.i.i1009, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019, label %if.then.i.i1010 + +if.then.i.i1010: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1007 + %bf.value.i.i1011 = add i64 %bf.load.i.i1008, 1152920405095219200 + %bf.shl.i.i1012 = and i64 %bf.value.i.i1011, 1152920405095219200 + %bf.clear7.i.i1013 = and i64 %bf.load.i.i1008, -1152920405095219201 + %bf.set.i.i1014 = or disjoint i64 %bf.shl.i.i1012, %bf.clear7.i.i1013 + store i64 %bf.set.i.i1014, ptr %335, align 8 + %cmp12.i.i1015 = icmp eq i64 %bf.shl.i.i1012, 0 + br i1 %cmp12.i.i1015, label %if.then13.i.i1017, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019 + +if.then13.i.i1017: ; preds = %if.then.i.i1010 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %335) + to label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019 unwind label %terminate.lpad.i1018 + +terminate.lpad.i1018: ; preds = %if.then13.i.i1017 + %337 = landingpad { ptr, i32 } + catch ptr null + %338 = extractvalue { ptr, i32 } %337, 0 + call void @__clang_call_terminate(ptr %338) #25 + unreachable + +_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1007, %if.then.i.i1010, %if.then13.i.i1017 + %inc448 = add i32 %k.01788, 1 + %conv401 = zext i32 %inc448 to i64 + %339 = load ptr, ptr %split_new_part, align 8 + %add.ptr.i781 = getelementptr inbounds %"class.std::vector.525", ptr %339, i64 %conv3961796 + %_M_finish.i782 = getelementptr inbounds i8, ptr %add.ptr.i781, i64 8 + %340 = load ptr, ptr %_M_finish.i782, align 8 + %341 = load ptr, ptr %add.ptr.i781, align 8 + %sub.ptr.lhs.cast.i783 = ptrtoint ptr %340 to i64 + %sub.ptr.rhs.cast.i784 = ptrtoint ptr %341 to i64 + %sub.ptr.sub.i785 = sub i64 %sub.ptr.lhs.cast.i783, %sub.ptr.rhs.cast.i784 + %sub.ptr.div.i786 = ashr exact i64 %sub.ptr.sub.i785, 3 + %cmp405 = icmp ugt i64 %sub.ptr.div.i786, %conv401 + br i1 %cmp405, label %for.body406, label %for.end449, !llvm.loop !293 + +ehcleanup444: ; preds = %if.then13.i.i981, %if.then.i.i974, %lpad440, %ehcleanup10.i.i, %lpad7.i.i.i.i1482, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1489, %lpad428 + %.pn2 = phi { ptr, i32 } [ %.pn2.i.i, %ehcleanup10.i.i ], [ %323, %lpad428 ], [ %296, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1489 ], [ %287, %lpad7.i.i.i.i1482 ], [ %324, %lpad440 ], [ %324, %if.then.i.i974 ], [ %324, %if.then13.i.i981 ] + %bf.load.i.i1020 = load i64, ptr %278, align 8 + %342 = and i64 %bf.load.i.i1020, 1152920405095219200 + %cmp.not.i.i1021 = icmp eq i64 %342, 1152920405095219200 + br i1 %cmp.not.i.i1021, label %ehcleanup445, label %if.then.i.i1022 + +if.then.i.i1022: ; preds = %ehcleanup444 + %bf.value.i.i1023 = add i64 %bf.load.i.i1020, 1152920405095219200 + %bf.shl.i.i1024 = and i64 %bf.value.i.i1023, 1152920405095219200 + %bf.clear7.i.i1025 = and i64 %bf.load.i.i1020, -1152920405095219201 + %bf.set.i.i1026 = or disjoint i64 %bf.shl.i.i1024, %bf.clear7.i.i1025 + store i64 %bf.set.i.i1026, ptr %278, align 8 + %cmp12.i.i1027 = icmp eq i64 %bf.shl.i.i1024, 0 + br i1 %cmp12.i.i1027, label %if.then13.i.i1029, label %ehcleanup445 + +if.then13.i.i1029: ; preds = %if.then.i.i1022 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %278) + to label %ehcleanup445 unwind label %terminate.lpad.i1030 + +terminate.lpad.i1030: ; preds = %if.then13.i.i1029 + %343 = landingpad { ptr, i32 } + catch ptr null + %344 = extractvalue { ptr, i32 } %343, 0 + call void @__clang_call_terminate(ptr %344) #25 + unreachable + +ehcleanup445: ; preds = %if.then13.i.i1029, %if.then.i.i1022, %ehcleanup444, %lpad422, %lpad424 + %.pn2.pn = phi { ptr, i32 } [ %322, %lpad424 ], [ %321, %lpad422 ], [ %.pn2, %ehcleanup444 ], [ %.pn2, %if.then.i.i1022 ], [ %.pn2, %if.then13.i.i1029 ] + %bf.load.i.i1032 = load i64, ptr %274, align 8 + %345 = and i64 %bf.load.i.i1032, 1152920405095219200 + %cmp.not.i.i1033 = icmp eq i64 %345, 1152920405095219200 + br i1 %cmp.not.i.i1033, label %ehcleanup446, label %if.then.i.i1034 + +if.then.i.i1034: ; preds = %ehcleanup445 + %bf.value.i.i1035 = add i64 %bf.load.i.i1032, 1152920405095219200 + %bf.shl.i.i1036 = and i64 %bf.value.i.i1035, 1152920405095219200 + %bf.clear7.i.i1037 = and i64 %bf.load.i.i1032, -1152920405095219201 + %bf.set.i.i1038 = or disjoint i64 %bf.shl.i.i1036, %bf.clear7.i.i1037 + store i64 %bf.set.i.i1038, ptr %274, align 8 + %cmp12.i.i1039 = icmp eq i64 %bf.shl.i.i1036, 0 + br i1 %cmp12.i.i1039, label %if.then13.i.i1041, label %ehcleanup446 + +if.then13.i.i1041: ; preds = %if.then.i.i1034 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %274) + to label %ehcleanup446 unwind label %terminate.lpad.i1042 + +terminate.lpad.i1042: ; preds = %if.then13.i.i1041 + %346 = landingpad { ptr, i32 } + catch ptr null + %347 = extractvalue { ptr, i32 } %346, 0 + call void @__clang_call_terminate(ptr %347) #25 + unreachable + +ehcleanup446: ; preds = %if.then13.i.i1041, %if.then.i.i1034, %ehcleanup445, %lpad414, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1454, %lpad7.i.i.i.i1447 + %.pn2.pn.pn = phi { ptr, i32 } [ %320, %lpad414 ], [ %264, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1454 ], [ %255, %lpad7.i.i.i.i1447 ], [ %.pn2.pn, %ehcleanup445 ], [ %.pn2.pn, %if.then.i.i1034 ], [ %.pn2.pn, %if.then13.i.i1041 ] + %348 = load ptr, ptr %n407, align 8 + %bf.load.i.i1044 = load i64, ptr %348, align 8 + %349 = and i64 %bf.load.i.i1044, 1152920405095219200 + %cmp.not.i.i1045 = icmp eq i64 %349, 1152920405095219200 + br i1 %cmp.not.i.i1045, label %ehcleanup494, label %if.then.i.i1046 + +if.then.i.i1046: ; preds = %ehcleanup446 + %bf.value.i.i1047 = add i64 %bf.load.i.i1044, 1152920405095219200 + %bf.shl.i.i1048 = and i64 %bf.value.i.i1047, 1152920405095219200 + %bf.clear7.i.i1049 = and i64 %bf.load.i.i1044, -1152920405095219201 + %bf.set.i.i1050 = or disjoint i64 %bf.shl.i.i1048, %bf.clear7.i.i1049 + store i64 %bf.set.i.i1050, ptr %348, align 8 + %cmp12.i.i1051 = icmp eq i64 %bf.shl.i.i1048, 0 + br i1 %cmp12.i.i1051, label %if.then13.i.i1053, label %ehcleanup494 + +if.then13.i.i1053: ; preds = %if.then.i.i1046 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %348) + to label %ehcleanup494 unwind label %terminate.lpad.i1054 + +terminate.lpad.i1054: ; preds = %if.then13.i.i1053 + %350 = landingpad { ptr, i32 } + catch ptr null + %351 = extractvalue { ptr, i32 } %350, 0 + call void @__clang_call_terminate(ptr %351) #25 + unreachable + +for.end449: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019, %for.cond400.preheader + %add.ptr.i781.lcssa = phi ptr [ %add.ptr.i7811781, %for.cond400.preheader ], [ %add.ptr.i781, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019 ] + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %c_part_out, i8 0, i64 24, i1 false) + invoke fastcc void @_ZN4cvc58internal6theory9datatypes15TheoryDatatypes17separateBisimilarERSt6vectorINS0_12NodeTemplateILb1EEESaIS6_EERS4_IS8_SaIS8_EES9_RSt3mapIS6_S6_St4lessIS6_ESaISt4pairIKS6_S6_EEERSD_IS6_SD_IS6_iSF_SaISG_ISH_iEEESF_SaISG_ISH_SO_EEEib.specialized.5(ptr noundef nonnull align 8 dereferenceable(2008) %this, ptr noundef nonnull align 8 dereferenceable(24) %add.ptr.i781.lcssa, ptr noundef nonnull align 8 dereferenceable(24) %c_part_out, ptr noundef nonnull align 8 dereferenceable(24) %exp, ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr noundef nonnull align 8 dereferenceable(48) %dni) + to label %invoke.cont454 unwind label %lpad453 + +invoke.cont454: ; preds = %for.end449 + %352 = load ptr, ptr %_M_finish.i1057, align 8 + %353 = load ptr, ptr %c_part_out, align 8 + %354 = load ptr, ptr %_M_finish.i1058, align 8 + %355 = load ptr, ptr %next_split_new_part, align 8 + %sub.ptr.lhs.cast.i.i1059 = ptrtoint ptr %352 to i64 + %sub.ptr.rhs.cast.i.i1060 = ptrtoint ptr %355 to i64 + %sub.ptr.sub.i.i1061 = sub i64 %sub.ptr.lhs.cast.i.i1059, %sub.ptr.rhs.cast.i.i1060 + %add.ptr.i.i1062 = getelementptr inbounds i8, ptr %355, i64 %sub.ptr.sub.i.i1061 + invoke void @_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %next_split_new_part, ptr %add.ptr.i.i1062, ptr %353, ptr %354) + to label %invoke.cont468 unwind label %lpad453 + +invoke.cont468: ; preds = %invoke.cont454 + %356 = load ptr, ptr %c_part_out, align 8 + %357 = load ptr, ptr %_M_finish.i1058, align 8 + %cmp.not3.i.i.i.i1066 = icmp eq ptr %356, %357 + br i1 %cmp.not3.i.i.i.i1066, label %invoke.cont.i1073, label %for.body.i.i.i.i1067 + +for.body.i.i.i.i1067: ; preds = %invoke.cont468, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i + %__first.addr.04.i.i.i.i1068 = phi ptr [ %incdec.ptr.i.i.i.i1069, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i ], [ %356, %invoke.cont468 ] + %358 = load ptr, ptr %__first.addr.04.i.i.i.i1068, align 8 + %_M_finish.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1068, i64 8 + %359 = load ptr, ptr %_M_finish.i.i.i.i.i.i, align 8 + %cmp.not3.i.i.i.i.i.i.i.i.i = icmp eq ptr %358, %359 + br i1 %cmp.not3.i.i.i.i.i.i.i.i.i, label %invoke.cont.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i.i.i.i + +for.body.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i1067, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i + %__first.addr.04.i.i.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i ], [ %358, %for.body.i.i.i.i1067 ] + %360 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i, align 8 + %bf.load.i.i.i.i.i.i.i.i.i.i.i.i = load i64, ptr %360, align 8 + %361 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %361, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i + +if.then.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i + %bf.value.i.i.i.i.i.i.i.i.i.i.i.i = add i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i = and i64 %bf.value.i.i.i.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i.i.i.i = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i, %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i + store i64 %bf.set.i.i.i.i.i.i.i.i.i.i.i.i, ptr %360, align 8 + %cmp12.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i.i.i.i, label %if.then13.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i + +if.then13.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %360) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i unwind label %terminate.lpad.i.i.i.i.i.i.i.i.i.i.i + +terminate.lpad.i.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i + %362 = landingpad { ptr, i32 } + catch ptr null + %363 = extractvalue { ptr, i32 } %362, 0 + call void @__clang_call_terminate(ptr %363) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i, i64 8 + %cmp.not.i.i.i.i.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i, %359 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i, label %invoke.contthread-pre-split.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i.i.i.i, !llvm.loop !21 + +invoke.contthread-pre-split.i.i.i.i.i.i: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i + %.pr.i.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i1068, align 8 + br label %invoke.cont.i.i.i.i.i.i + +invoke.cont.i.i.i.i.i.i: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i, %for.body.i.i.i.i1067 + %364 = phi ptr [ %.pr.i.i.i.i.i.i, %invoke.contthread-pre-split.i.i.i.i.i.i ], [ %358, %for.body.i.i.i.i1067 ] + %tobool.not.i.i.i.i.i.i.i.i = icmp eq ptr %364, null + br i1 %tobool.not.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i + +if.then.i.i.i.i.i.i.i.i: ; preds = %invoke.cont.i.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %364) #26 + br label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i + +_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i, %invoke.cont.i.i.i.i.i.i + %incdec.ptr.i.i.i.i1069 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1068, i64 24 + %cmp.not.i.i.i.i1070 = icmp eq ptr %incdec.ptr.i.i.i.i1069, %357 + br i1 %cmp.not.i.i.i.i1070, label %invoke.contthread-pre-split.i1071, label %for.body.i.i.i.i1067, !llvm.loop !38 + +invoke.contthread-pre-split.i1071: ; preds = %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i + %.pr.i1072 = load ptr, ptr %c_part_out, align 8 + br label %invoke.cont.i1073 + +invoke.cont.i1073: ; preds = %invoke.contthread-pre-split.i1071, %invoke.cont468 + %365 = phi ptr [ %.pr.i1072, %invoke.contthread-pre-split.i1071 ], [ %356, %invoke.cont468 ] + %tobool.not.i.i.i1074 = icmp eq ptr %365, null + br i1 %tobool.not.i.i.i1074, label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit, label %if.then.i.i.i1075 + +if.then.i.i.i1075: ; preds = %invoke.cont.i1073 + call void @_ZdlPv(ptr noundef nonnull %365) #26 + br label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit + +_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit: ; preds = %invoke.cont.i1073, %if.then.i.i.i1075 + %inc474 = add i32 %j394.01795, 1 + %conv396 = zext i32 %inc474 to i64 + %366 = load ptr, ptr %_M_finish.i.i774, align 8 + %367 = load ptr, ptr %split_new_part, align 8 + %sub.ptr.lhs.cast.i777 = ptrtoint ptr %366 to i64 + %sub.ptr.rhs.cast.i778 = ptrtoint ptr %367 to i64 + %sub.ptr.sub.i779 = sub i64 %sub.ptr.lhs.cast.i777, %sub.ptr.rhs.cast.i778 + %sub.ptr.div.i780 = sdiv exact i64 %sub.ptr.sub.i779, 24 + %cmp398 = icmp ugt i64 %sub.ptr.div.i780, %conv396 + br i1 %cmp398, label %for.cond400.preheader, label %for.end475, !llvm.loop !294 + +lpad453: ; preds = %for.end449, %invoke.cont454 + %368 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %c_part_out) #23 + br label %ehcleanup494 + +for.end475: ; preds = %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit + %tobool.not.i.i = icmp eq ptr %366, %367 + br i1 %tobool.not.i.i, label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE5clearEv.exit, label %for.body.i.i.i.i.i + +for.body.i.i.i.i.i: ; preds = %for.end475, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i.i + %__first.addr.04.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i.i ], [ %367, %for.end475 ] + %369 = load ptr, ptr %__first.addr.04.i.i.i.i.i, align 8 + %_M_finish.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i, i64 8 + %370 = load ptr, ptr %_M_finish.i.i.i.i.i.i.i, align 8 + %cmp.not3.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %369, %370 + br i1 %cmp.not3.i.i.i.i.i.i.i.i.i.i, label %invoke.cont.i.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i.i.i.i.i + +for.body.i.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i + %__first.addr.04.i.i.i.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i.i, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i ], [ %369, %for.body.i.i.i.i.i ] + %371 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i.i, align 8 + %bf.load.i.i.i.i.i.i.i.i.i.i.i.i.i = load i64, ptr %371, align 8 + %372 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %372, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i + +if.then.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i.i + %bf.value.i.i.i.i.i.i.i.i.i.i.i.i.i = add i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i.i = and i64 %bf.value.i.i.i.i.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i.i, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i.i.i.i.i = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i.i, %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i.i + store i64 %bf.set.i.i.i.i.i.i.i.i.i.i.i.i.i, ptr %371, align 8 + %cmp12.i.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i.i, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i.i.i.i.i, label %if.then13.i.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i + +if.then13.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %371) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i unwind label %terminate.lpad.i.i.i.i.i.i.i.i.i.i.i.i + +terminate.lpad.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i.i + %373 = landingpad { ptr, i32 } + catch ptr null + %374 = extractvalue { ptr, i32 } %373, 0 + call void @__clang_call_terminate(ptr %374) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i.i, i64 8 + %cmp.not.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i.i, %370 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i, label %invoke.contthread-pre-split.i.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i.i.i.i.i, !llvm.loop !21 + +invoke.contthread-pre-split.i.i.i.i.i.i.i: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i + %.pr.i.i.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i.i, align 8 + br label %invoke.cont.i.i.i.i.i.i.i + +invoke.cont.i.i.i.i.i.i.i: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i.i, %for.body.i.i.i.i.i + %375 = phi ptr [ %.pr.i.i.i.i.i.i.i, %invoke.contthread-pre-split.i.i.i.i.i.i.i ], [ %369, %for.body.i.i.i.i.i ] + %tobool.not.i.i.i.i.i.i.i.i.i = icmp eq ptr %375, null + br i1 %tobool.not.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i + +if.then.i.i.i.i.i.i.i.i.i: ; preds = %invoke.cont.i.i.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %375) #26 + br label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i.i + +_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i, %invoke.cont.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i, i64 24 + %cmp.not.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i, %366 + br i1 %cmp.not.i.i.i.i.i, label %invoke.cont.i.i, label %for.body.i.i.i.i.i, !llvm.loop !38 + +invoke.cont.i.i: ; preds = %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i.i + store ptr %367, ptr %_M_finish.i.i774, align 8 + %.pre1851 = load ptr, ptr %split_new_part, align 8 + br label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE5clearEv.exit + +_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE5clearEv.exit: ; preds = %for.end475, %invoke.cont.i.i + %376 = phi ptr [ %367, %for.end475 ], [ %.pre1851, %invoke.cont.i.i ] + %377 = phi ptr [ %366, %for.end475 ], [ %367, %invoke.cont.i.i ] + %378 = load ptr, ptr %next_split_new_part, align 8 + %379 = load ptr, ptr %_M_finish.i1057, align 8 + %sub.ptr.lhs.cast.i.i1079 = ptrtoint ptr %377 to i64 + %sub.ptr.rhs.cast.i.i1080 = ptrtoint ptr %376 to i64 + %sub.ptr.sub.i.i1081 = sub i64 %sub.ptr.lhs.cast.i.i1079, %sub.ptr.rhs.cast.i.i1080 + %add.ptr.i.i1082 = getelementptr inbounds i8, ptr %376, i64 %sub.ptr.sub.i.i1081 + invoke void @_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %split_new_part, ptr %add.ptr.i.i1082, ptr %378, ptr %379) + to label %invoke.cont489 unwind label %lpad412.loopexit.split-lp + +invoke.cont489: ; preds = %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE5clearEv.exit + %inc493 = add nuw i32 %cindex.01800, 1 + %380 = load ptr, ptr %next_split_new_part, align 8 + %381 = load ptr, ptr %_M_finish.i1057, align 8 + %cmp.not3.i.i.i.i1087 = icmp eq ptr %380, %381 + br i1 %cmp.not3.i.i.i.i1087, label %invoke.cont.i1115, label %for.body.i.i.i.i1088 + +for.body.i.i.i.i1088: ; preds = %invoke.cont489, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1110 + %__first.addr.04.i.i.i.i1089 = phi ptr [ %incdec.ptr.i.i.i.i1111, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1110 ], [ %380, %invoke.cont489 ] + %382 = load ptr, ptr %__first.addr.04.i.i.i.i1089, align 8 + %_M_finish.i.i.i.i.i.i1090 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1089, i64 8 + %383 = load ptr, ptr %_M_finish.i.i.i.i.i.i1090, align 8 + %cmp.not3.i.i.i.i.i.i.i.i.i1091 = icmp eq ptr %382, %383 + br i1 %cmp.not3.i.i.i.i.i.i.i.i.i1091, label %invoke.cont.i.i.i.i.i.i1107, label %for.body.i.i.i.i.i.i.i.i.i1092 + +for.body.i.i.i.i.i.i.i.i.i1092: ; preds = %for.body.i.i.i.i1088, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1102 + %__first.addr.04.i.i.i.i.i.i.i.i.i1093 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i1103, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1102 ], [ %382, %for.body.i.i.i.i1088 ] + %384 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1093, align 8 + %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1094 = load i64, ptr %384, align 8 + %385 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1094, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1095 = icmp eq i64 %385, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1095, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1102, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i1096 + +if.then.i.i.i.i.i.i.i.i.i.i.i.i1096: ; preds = %for.body.i.i.i.i.i.i.i.i.i1092 + %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1097 = add i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1094, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1098 = and i64 %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1097, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1099 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1094, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1100 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1098, %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1099 + store i64 %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1100, ptr %384, align 8 + %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1101 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1098, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1101, label %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1118, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1102 + +if.then13.i.i.i.i.i.i.i.i.i.i.i.i1118: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i1096 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %384) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1102 unwind label %terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1119 + +terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1119: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1118 + %386 = landingpad { ptr, i32 } + catch ptr null + %387 = extractvalue { ptr, i32 } %386, 0 + call void @__clang_call_terminate(ptr %387) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1102: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1118, %if.then.i.i.i.i.i.i.i.i.i.i.i.i1096, %for.body.i.i.i.i.i.i.i.i.i1092 + %incdec.ptr.i.i.i.i.i.i.i.i.i1103 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1093, i64 8 + %cmp.not.i.i.i.i.i.i.i.i.i1104 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i1103, %383 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i1104, label %invoke.contthread-pre-split.i.i.i.i.i.i1105, label %for.body.i.i.i.i.i.i.i.i.i1092, !llvm.loop !21 + +invoke.contthread-pre-split.i.i.i.i.i.i1105: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1102 + %.pr.i.i.i.i.i.i1106 = load ptr, ptr %__first.addr.04.i.i.i.i1089, align 8 + br label %invoke.cont.i.i.i.i.i.i1107 + +invoke.cont.i.i.i.i.i.i1107: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i1105, %for.body.i.i.i.i1088 + %388 = phi ptr [ %.pr.i.i.i.i.i.i1106, %invoke.contthread-pre-split.i.i.i.i.i.i1105 ], [ %382, %for.body.i.i.i.i1088 ] + %tobool.not.i.i.i.i.i.i.i.i1108 = icmp eq ptr %388, null + br i1 %tobool.not.i.i.i.i.i.i.i.i1108, label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1110, label %if.then.i.i.i.i.i.i.i.i1109 + +if.then.i.i.i.i.i.i.i.i1109: ; preds = %invoke.cont.i.i.i.i.i.i1107 + call void @_ZdlPv(ptr noundef nonnull %388) #26 + br label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1110 + +_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1110: ; preds = %if.then.i.i.i.i.i.i.i.i1109, %invoke.cont.i.i.i.i.i.i1107 + %incdec.ptr.i.i.i.i1111 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1089, i64 24 + %cmp.not.i.i.i.i1112 = icmp eq ptr %incdec.ptr.i.i.i.i1111, %381 + br i1 %cmp.not.i.i.i.i1112, label %invoke.contthread-pre-split.i1113, label %for.body.i.i.i.i1088, !llvm.loop !38 + +invoke.contthread-pre-split.i1113: ; preds = %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1110 + %.pr.i1114 = load ptr, ptr %next_split_new_part, align 8 + br label %invoke.cont.i1115 + +invoke.cont.i1115: ; preds = %invoke.contthread-pre-split.i1113, %invoke.cont489 + %389 = phi ptr [ %.pr.i1114, %invoke.contthread-pre-split.i1113 ], [ %380, %invoke.cont489 ] + %tobool.not.i.i.i1116 = icmp eq ptr %389, null + br i1 %tobool.not.i.i.i1116, label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1120, label %if.then.i.i.i1117 + +if.then.i.i.i1117: ; preds = %invoke.cont.i1115 + call void @_ZdlPv(ptr noundef nonnull %389) #26 + br label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1120 + +_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1120: ; preds = %invoke.cont.i1115, %if.then.i.i.i1117 + %exitcond.not = icmp eq i32 %inc493, %cond.i.i + br i1 %exitcond.not, label %while.end, label %land.rhs, !llvm.loop !295 + +ehcleanup494: ; preds = %lpad412.loopexit, %lpad412.loopexit.split-lp, %if.then13.i.i1053, %if.then.i.i1046, %ehcleanup446, %lpad453 + %.pn2.pn.pn.pn = phi { ptr, i32 } [ %368, %lpad453 ], [ %.pn2.pn.pn, %ehcleanup446 ], [ %.pn2.pn.pn, %if.then.i.i1046 ], [ %.pn2.pn.pn, %if.then13.i.i1053 ], [ %lpad.loopexit, %lpad412.loopexit ], [ %lpad.loopexit.split-lp, %lpad412.loopexit.split-lp ] + %390 = load ptr, ptr %next_split_new_part, align 8 + %391 = load ptr, ptr %_M_finish.i1057, align 8 + %cmp.not3.i.i.i.i1122 = icmp eq ptr %390, %391 + br i1 %cmp.not3.i.i.i.i1122, label %invoke.cont.i1150, label %for.body.i.i.i.i1123 + +for.body.i.i.i.i1123: ; preds = %ehcleanup494, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1145 + %__first.addr.04.i.i.i.i1124 = phi ptr [ %incdec.ptr.i.i.i.i1146, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1145 ], [ %390, %ehcleanup494 ] + %392 = load ptr, ptr %__first.addr.04.i.i.i.i1124, align 8 + %_M_finish.i.i.i.i.i.i1125 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1124, i64 8 + %393 = load ptr, ptr %_M_finish.i.i.i.i.i.i1125, align 8 + %cmp.not3.i.i.i.i.i.i.i.i.i1126 = icmp eq ptr %392, %393 + br i1 %cmp.not3.i.i.i.i.i.i.i.i.i1126, label %invoke.cont.i.i.i.i.i.i1142, label %for.body.i.i.i.i.i.i.i.i.i1127 + +for.body.i.i.i.i.i.i.i.i.i1127: ; preds = %for.body.i.i.i.i1123, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1137 + %__first.addr.04.i.i.i.i.i.i.i.i.i1128 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i1138, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1137 ], [ %392, %for.body.i.i.i.i1123 ] + %394 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1128, align 8 + %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1129 = load i64, ptr %394, align 8 + %395 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1129, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1130 = icmp eq i64 %395, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1130, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1137, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i1131 + +if.then.i.i.i.i.i.i.i.i.i.i.i.i1131: ; preds = %for.body.i.i.i.i.i.i.i.i.i1127 + %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1132 = add i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1129, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1133 = and i64 %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1132, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1134 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1129, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1135 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1133, %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1134 + store i64 %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1135, ptr %394, align 8 + %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1136 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1133, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1136, label %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1153, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1137 + +if.then13.i.i.i.i.i.i.i.i.i.i.i.i1153: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i1131 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %394) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1137 unwind label %terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1154 + +terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1154: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1153 + %396 = landingpad { ptr, i32 } + catch ptr null + %397 = extractvalue { ptr, i32 } %396, 0 + call void @__clang_call_terminate(ptr %397) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1137: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1153, %if.then.i.i.i.i.i.i.i.i.i.i.i.i1131, %for.body.i.i.i.i.i.i.i.i.i1127 + %incdec.ptr.i.i.i.i.i.i.i.i.i1138 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1128, i64 8 + %cmp.not.i.i.i.i.i.i.i.i.i1139 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i1138, %393 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i1139, label %invoke.contthread-pre-split.i.i.i.i.i.i1140, label %for.body.i.i.i.i.i.i.i.i.i1127, !llvm.loop !21 + +invoke.contthread-pre-split.i.i.i.i.i.i1140: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1137 + %.pr.i.i.i.i.i.i1141 = load ptr, ptr %__first.addr.04.i.i.i.i1124, align 8 + br label %invoke.cont.i.i.i.i.i.i1142 + +invoke.cont.i.i.i.i.i.i1142: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i1140, %for.body.i.i.i.i1123 + %398 = phi ptr [ %.pr.i.i.i.i.i.i1141, %invoke.contthread-pre-split.i.i.i.i.i.i1140 ], [ %392, %for.body.i.i.i.i1123 ] + %tobool.not.i.i.i.i.i.i.i.i1143 = icmp eq ptr %398, null + br i1 %tobool.not.i.i.i.i.i.i.i.i1143, label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1145, label %if.then.i.i.i.i.i.i.i.i1144 + +if.then.i.i.i.i.i.i.i.i1144: ; preds = %invoke.cont.i.i.i.i.i.i1142 + call void @_ZdlPv(ptr noundef nonnull %398) #26 + br label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1145 + +_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1145: ; preds = %if.then.i.i.i.i.i.i.i.i1144, %invoke.cont.i.i.i.i.i.i1142 + %incdec.ptr.i.i.i.i1146 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1124, i64 24 + %cmp.not.i.i.i.i1147 = icmp eq ptr %incdec.ptr.i.i.i.i1146, %391 + br i1 %cmp.not.i.i.i.i1147, label %invoke.contthread-pre-split.i1148, label %for.body.i.i.i.i1123, !llvm.loop !38 + +invoke.contthread-pre-split.i1148: ; preds = %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1145 + %.pr.i1149 = load ptr, ptr %next_split_new_part, align 8 + br label %invoke.cont.i1150 + +invoke.cont.i1150: ; preds = %invoke.contthread-pre-split.i1148, %ehcleanup494 + %399 = phi ptr [ %.pr.i1149, %invoke.contthread-pre-split.i1148 ], [ %390, %ehcleanup494 ] + %tobool.not.i.i.i1151 = icmp eq ptr %399, null + br i1 %tobool.not.i.i.i1151, label %ehcleanup531, label %if.then.i.i.i1152 + +if.then.i.i.i1152: ; preds = %invoke.cont.i1150 + call void @_ZdlPv(ptr noundef nonnull %399) #26 + br label %ehcleanup531 + +while.end: ; preds = %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1120, %land.rhs, %invoke.cont362 + %400 = load ptr, ptr %_M_finish.i1156, align 8 + %401 = load ptr, ptr %split_new_part, align 8 + %402 = load ptr, ptr %_M_finish.i.i774, align 8 + %403 = load ptr, ptr %part_out, align 8 + %sub.ptr.lhs.cast.i.i1158 = ptrtoint ptr %400 to i64 + %sub.ptr.rhs.cast.i.i1159 = ptrtoint ptr %403 to i64 + %sub.ptr.sub.i.i1160 = sub i64 %sub.ptr.lhs.cast.i.i1158, %sub.ptr.rhs.cast.i.i1159 + %add.ptr.i.i1161 = getelementptr inbounds i8, ptr %403, i64 %sub.ptr.sub.i.i1160 + invoke void @_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %part_out, ptr %add.ptr.i.i1161, ptr %401, ptr %402) + to label %invoke.cont508 unwind label %lpad355.loopexit.split-lp + +invoke.cont508: ; preds = %while.end + %404 = load ptr, ptr %_M_left.i.i.i.i.i499, align 8 + %cmp.i1167.not1801 = icmp eq ptr %404, %142 + br i1 %cmp.i1167.not1801, label %for.end530, label %for.body519 + +for.body519: ; preds = %invoke.cont508, %for.inc528 + %it2.sroa.0.01802 = phi ptr [ %call.i1232, %for.inc528 ], [ %404, %invoke.cont508 ] + %_M_storage.i.i1168 = getelementptr inbounds i8, ptr %it2.sroa.0.01802, i64 32 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i1169) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i1170) + %405 = load ptr, ptr %_M_parent.i.i.i.i.i527, align 8 + %cmp.not5.i.i.i.i1173 = icmp eq ptr %405, null + br i1 %cmp.not5.i.i.i.i1173, label %if.then.i1199, label %while.body.lr.ph.i.i.i.i1174 + +while.body.lr.ph.i.i.i.i1174: ; preds = %for.body519 + %406 = load ptr, ptr %_M_storage.i.i1168, align 8 + %bf.load3.i.i.i.i.i.i1175 = load i64, ptr %406, align 8 + %bf.clear4.i.i.i.i.i.i1176 = and i64 %bf.load3.i.i.i.i.i.i1175, 1099511627775 + br label %while.body.i.i.i.i1177 + +while.body.i.i.i.i1177: ; preds = %while.body.i.i.i.i1177, %while.body.lr.ph.i.i.i.i1174 + %__x.addr.07.i.i.i.i1178 = phi ptr [ %405, %while.body.lr.ph.i.i.i.i1174 ], [ %__x.addr.1.i.i.i.i1187, %while.body.i.i.i.i1177 ] + %__y.addr.06.i.i.i.i1179 = phi ptr [ %add.ptr.i.i.i.i528, %while.body.lr.ph.i.i.i.i1174 ], [ %__y.addr.1.i.i.i.i1184, %while.body.i.i.i.i1177 ] + %_M_storage.i.i.i.i.i.i1180 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i1178, i64 32 + %407 = load ptr, ptr %_M_storage.i.i.i.i.i.i1180, align 8 + %bf.load.i.i.i.i.i.i1181 = load i64, ptr %407, align 8 + %bf.clear.i.i.i.i.i.i1182 = and i64 %bf.load.i.i.i.i.i.i1181, 1099511627775 + %cmp.i.i.i.i.i.i1183 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i1182, %bf.clear4.i.i.i.i.i.i1176 + %__y.addr.1.i.i.i.i1184 = select i1 %cmp.i.i.i.i.i.i1183, ptr %__y.addr.06.i.i.i.i1179, ptr %__x.addr.07.i.i.i.i1178 + %__x.addr.1.in.v.i.i.i.i1185 = select i1 %cmp.i.i.i.i.i.i1183, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i1186 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i1178, i64 %__x.addr.1.in.v.i.i.i.i1185 + %__x.addr.1.i.i.i.i1187 = load ptr, ptr %__x.addr.1.in.i.i.i.i1186, align 8 + %cmp.not.i.i.i.i1188 = icmp eq ptr %__x.addr.1.i.i.i.i1187, null + br i1 %cmp.not.i.i.i.i1188, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i1189, label %while.body.i.i.i.i1177, !llvm.loop !275 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i1189: ; preds = %while.body.i.i.i.i1177 + %cmp.i.i1190 = icmp eq ptr %__y.addr.1.i.i.i.i1184, %add.ptr.i.i.i.i528 + br i1 %cmp.i.i1190, label %if.then.i1199, label %lor.rhs.i1191 + +lor.rhs.i1191: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i1189 + %_M_storage.i.i.i1192 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i1184, i64 32 + %408 = load ptr, ptr %_M_storage.i.i.i1192, align 8 + %bf.load3.i.i.i1193 = load i64, ptr %408, align 8 + %bf.clear4.i.i.i1194 = and i64 %bf.load3.i.i.i1193, 1099511627775 + %cmp.i.i.i1195 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i1176, %bf.clear4.i.i.i1194 + br i1 %cmp.i.i.i1195, label %if.then.i1199, label %invoke.cont522 + +if.then.i1199: ; preds = %lor.rhs.i1191, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i1189, %for.body519 + %__y.addr.0.lcssa.i.i.i9.i1200 = phi ptr [ %__y.addr.1.i.i.i.i1184, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i1189 ], [ %__y.addr.1.i.i.i.i1184, %lor.rhs.i1191 ], [ %add.ptr.i.i.i.i528, %for.body519 ] + store ptr %_M_storage.i.i1168, ptr %ref.tmp9.i1169, align 8 + %call12.i1202 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St3mapIS3_iSt4lessIS3_ESaIS4_IS5_iEEEESt10_Select1stISC_ES8_SaISC_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESL_IJEEEEESt17_Rb_tree_iteratorISC_ESt23_Rb_tree_const_iteratorISC_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %dni, ptr %__y.addr.0.lcssa.i.i.i9.i1200, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i1169, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i1170) + to label %invoke.cont522 unwind label %lpad355.loopexit + +invoke.cont522: ; preds = %lor.rhs.i1191, %if.then.i1199 + %__i.sroa.0.0.i1197 = phi ptr [ %__y.addr.1.i.i.i.i1184, %lor.rhs.i1191 ], [ %call12.i1202, %if.then.i1199 ] + %second.i1198 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i1197, i64 40 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i1169) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i1170) + %_M_parent.i.i.i.i.i1205 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i1197, i64 56 + %add.ptr.i.i.i.i1206 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i1197, i64 48 + %__x.046.i.i.i = load ptr, ptr %_M_parent.i.i.i.i.i1205, align 8 + %cmp.not47.i.i.i = icmp eq ptr %__x.046.i.i.i, null + br i1 %cmp.not47.i.i.i, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseERS5_.exit.i, label %while.body.lr.ph.i.i.i1207 + +while.body.lr.ph.i.i.i1207: ; preds = %invoke.cont522 + %second525 = getelementptr inbounds i8, ptr %it2.sroa.0.01802, i64 40 + %409 = load ptr, ptr %second525, align 8 + %bf.load3.i.i.i.i.i1208 = load i64, ptr %409, align 8 + %bf.clear4.i.i.i.i.i1209 = and i64 %bf.load3.i.i.i.i.i1208, 1099511627775 + br label %while.body.i.i.i1210 + +while.body.i.i.i1210: ; preds = %if.end19.i.i.i, %while.body.lr.ph.i.i.i1207 + %__x.049.i.i.i = phi ptr [ %__x.046.i.i.i, %while.body.lr.ph.i.i.i1207 ], [ %__x.0.i.i.i, %if.end19.i.i.i ] + %__y.048.i.i.i = phi ptr [ %add.ptr.i.i.i.i1206, %while.body.lr.ph.i.i.i1207 ], [ %__y.1.i.i.i, %if.end19.i.i.i ] + %_M_storage.i.i.i.i.i1211 = getelementptr inbounds i8, ptr %__x.049.i.i.i, i64 32 + %410 = load ptr, ptr %_M_storage.i.i.i.i.i1211, align 8 + %bf.load.i.i.i.i.i1212 = load i64, ptr %410, align 8 + %bf.clear.i.i.i.i.i1213 = and i64 %bf.load.i.i.i.i.i1212, 1099511627775 + %cmp.i.i.i.i.i1214 = icmp samesign ult i64 %bf.clear.i.i.i.i.i1213, %bf.clear4.i.i.i.i.i1209 + br i1 %cmp.i.i.i.i.i1214, label %if.end19.i.i.i, label %if.else.i.i.i1215 + +if.else.i.i.i1215: ; preds = %while.body.i.i.i1210 + %cmp.i.i22.i.i.i = icmp samesign ult i64 %bf.clear4.i.i.i.i.i1209, %bf.clear.i.i.i.i.i1213 + br i1 %cmp.i.i22.i.i.i, label %if.end19.i.i.i, label %if.else12.i.i.i + +if.else12.i.i.i: ; preds = %if.else.i.i.i1215 + %_M_left.i23.i.i.i = getelementptr inbounds i8, ptr %__x.049.i.i.i, i64 16 + %411 = load ptr, ptr %_M_left.i23.i.i.i, align 8 + %_M_right.i24.i.i.i = getelementptr inbounds i8, ptr %__x.049.i.i.i, i64 24 + %412 = load ptr, ptr %_M_right.i24.i.i.i, align 8 + %cmp.not5.i.i.i.i1216 = icmp eq ptr %411, null + br i1 %cmp.not5.i.i.i.i1216, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i, label %while.body.i.i.i.i1217 + +while.body.i.i.i.i1217: ; preds = %if.else12.i.i.i, %while.body.i.i.i.i1217 + %__x.addr.07.i.i.i.i1218 = phi ptr [ %__x.addr.1.i.i.i.i1227, %while.body.i.i.i.i1217 ], [ %411, %if.else12.i.i.i ] + %__y.addr.06.i.i.i.i1219 = phi ptr [ %__y.addr.1.i.i.i.i1224, %while.body.i.i.i.i1217 ], [ %__x.049.i.i.i, %if.else12.i.i.i ] + %_M_storage.i.i.i.i.i.i1220 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i1218, i64 32 + %413 = load ptr, ptr %_M_storage.i.i.i.i.i.i1220, align 8 + %bf.load.i.i.i.i.i.i1221 = load i64, ptr %413, align 8 + %bf.clear.i.i.i.i.i.i1222 = and i64 %bf.load.i.i.i.i.i.i1221, 1099511627775 + %cmp.i.i.i.i.i.i1223 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i1222, %bf.clear4.i.i.i.i.i1209 + %__y.addr.1.i.i.i.i1224 = select i1 %cmp.i.i.i.i.i.i1223, ptr %__y.addr.06.i.i.i.i1219, ptr %__x.addr.07.i.i.i.i1218 + %__x.addr.1.in.v.i.i.i.i1225 = select i1 %cmp.i.i.i.i.i.i1223, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i1226 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i1218, i64 %__x.addr.1.in.v.i.i.i.i1225 + %__x.addr.1.i.i.i.i1227 = load ptr, ptr %__x.addr.1.in.i.i.i.i1226, align 8 + %cmp.not.i.i.i.i1228 = icmp eq ptr %__x.addr.1.i.i.i.i1227, null + br i1 %cmp.not.i.i.i.i1228, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i, label %while.body.i.i.i.i1217, !llvm.loop !233 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i: ; preds = %while.body.i.i.i.i1217, %if.else12.i.i.i + %__y.addr.0.lcssa.i.i.i.i = phi ptr [ %__x.049.i.i.i, %if.else12.i.i.i ], [ %__y.addr.1.i.i.i.i1224, %while.body.i.i.i.i1217 ] + %cmp.not5.i25.i.i.i = icmp eq ptr %412, null + br i1 %cmp.not5.i25.i.i.i, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseERS5_.exit.i, label %while.body.i29.i.i.i + +while.body.i29.i.i.i: ; preds = %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i, %while.body.i29.i.i.i + %__x.addr.07.i30.i.i.i = phi ptr [ %__x.addr.1.i39.i.i.i, %while.body.i29.i.i.i ], [ %412, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i ] + %__y.addr.06.i31.i.i.i = phi ptr [ %__y.addr.1.i36.i.i.i, %while.body.i29.i.i.i ], [ %__y.048.i.i.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i ] + %_M_storage.i.i.i32.i.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i30.i.i.i, i64 32 + %414 = load ptr, ptr %_M_storage.i.i.i32.i.i.i, align 8 + %bf.load3.i.i.i33.i.i.i = load i64, ptr %414, align 8 + %bf.clear4.i.i.i34.i.i.i = and i64 %bf.load3.i.i.i33.i.i.i, 1099511627775 + %cmp.i.i.i35.i.i.i = icmp samesign ult i64 %bf.clear4.i.i.i.i.i1209, %bf.clear4.i.i.i34.i.i.i + %__y.addr.1.i36.i.i.i = select i1 %cmp.i.i.i35.i.i.i, ptr %__x.addr.07.i30.i.i.i, ptr %__y.addr.06.i31.i.i.i + %__x.addr.1.in.v.i37.i.i.i = select i1 %cmp.i.i.i35.i.i.i, i64 16, i64 24 + %__x.addr.1.in.i38.i.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i30.i.i.i, i64 %__x.addr.1.in.v.i37.i.i.i + %__x.addr.1.i39.i.i.i = load ptr, ptr %__x.addr.1.in.i38.i.i.i, align 8 + %cmp.not.i40.i.i.i = icmp eq ptr %__x.addr.1.i39.i.i.i, null + br i1 %cmp.not.i40.i.i.i, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseERS5_.exit.i, label %while.body.i29.i.i.i, !llvm.loop !241 + +if.end19.i.i.i: ; preds = %if.else.i.i.i1215, %while.body.i.i.i1210 + %.sink.i.i.i = phi i64 [ 24, %while.body.i.i.i1210 ], [ 16, %if.else.i.i.i1215 ] + %__y.1.i.i.i = phi ptr [ %__y.048.i.i.i, %while.body.i.i.i1210 ], [ %__x.049.i.i.i, %if.else.i.i.i1215 ] + %_M_left.i.i.i.i = getelementptr inbounds i8, ptr %__x.049.i.i.i, i64 %.sink.i.i.i + %__x.0.i.i.i = load ptr, ptr %_M_left.i.i.i.i, align 8 + %cmp.not.i.i.i1230 = icmp eq ptr %__x.0.i.i.i, null + br i1 %cmp.not.i.i.i1230, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseERS5_.exit.i, label %while.body.i.i.i1210, !llvm.loop !242 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseERS5_.exit.i: ; preds = %if.end19.i.i.i, %while.body.i29.i.i.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i, %invoke.cont522 + %retval.sroa.0.0.i.i.i = phi ptr [ %__y.addr.0.lcssa.i.i.i.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i ], [ %add.ptr.i.i.i.i1206, %invoke.cont522 ], [ %__y.addr.0.lcssa.i.i.i.i, %while.body.i29.i.i.i ], [ %__y.1.i.i.i, %if.end19.i.i.i ] + %retval.sroa.3.0.i.i.i = phi ptr [ %__y.048.i.i.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i ], [ %add.ptr.i.i.i.i1206, %invoke.cont522 ], [ %__y.addr.1.i36.i.i.i, %while.body.i29.i.i.i ], [ %__y.1.i.i.i, %if.end19.i.i.i ] + %_M_node_count.i.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i1197, i64 80 + %_M_left.i.i1514 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i1197, i64 64 + %415 = load ptr, ptr %_M_left.i.i1514, align 8 + %cmp.i.i1515 = icmp eq ptr %retval.sroa.0.0.i.i.i, %415 + %cmp.i1.i = icmp eq ptr %retval.sroa.3.0.i.i.i, %add.ptr.i.i.i.i1206 + %or.cond = select i1 %cmp.i.i1515, i1 %cmp.i1.i, i1 false + br i1 %or.cond, label %if.then.i1531, label %if.else.i1516 + +if.then.i1531: ; preds = %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseERS5_.exit.i + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %second.i1198, ptr noundef %__x.046.i.i.i) + to label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5clearEv.exit.i unwind label %terminate.lpad.i.i1533 + +terminate.lpad.i.i1533: ; preds = %if.then.i1531 + %416 = landingpad { ptr, i32 } + catch ptr null + %417 = extractvalue { ptr, i32 } %416, 0 + call void @__clang_call_terminate(ptr %417) #25 + unreachable + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5clearEv.exit.i: ; preds = %if.then.i1531 + store ptr null, ptr %_M_parent.i.i.i.i.i1205, align 8 + store ptr %add.ptr.i.i.i.i1206, ptr %_M_left.i.i1514, align 8 + %_M_right.i.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i1197, i64 72 + store ptr %add.ptr.i.i.i.i1206, ptr %_M_right.i.i.i, align 8 + store i64 0, ptr %_M_node_count.i.i.i, align 8 + br label %for.inc528 + +if.else.i1516: ; preds = %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseERS5_.exit.i + %cmp.i3.not8.i = icmp eq ptr %retval.sroa.0.0.i.i.i, %retval.sroa.3.0.i.i.i + br i1 %cmp.i3.not8.i, label %for.inc528, label %while.body.i + +while.body.i: ; preds = %if.else.i1516, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E.exit.i + %__first.sroa.0.09.i = phi ptr [ %call.i.i1517, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E.exit.i ], [ %retval.sroa.0.0.i.i.i, %if.else.i1516 ] + %call.i.i1517 = call noundef ptr @_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base(ptr noundef %__first.sroa.0.09.i) #27 + %call.i5.i = call noundef nonnull ptr @_ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_(ptr noundef %__first.sroa.0.09.i, ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i.i.i.i1206) #23 + %_M_storage.i.i.i.i.i1518 = getelementptr inbounds i8, ptr %call.i5.i, i64 32 + %418 = load ptr, ptr %_M_storage.i.i.i.i.i1518, align 8 + %bf.load.i.i.i.i.i.i.i.i.i1519 = load i64, ptr %418, align 8 + %419 = and i64 %bf.load.i.i.i.i.i.i.i.i.i1519, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i1520 = icmp eq i64 %419, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i1520, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E.exit.i, label %if.then.i.i.i.i.i.i.i.i.i1521 + +if.then.i.i.i.i.i.i.i.i.i1521: ; preds = %while.body.i + %bf.value.i.i.i.i.i.i.i.i.i1522 = add i64 %bf.load.i.i.i.i.i.i.i.i.i1519, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i1523 = and i64 %bf.value.i.i.i.i.i.i.i.i.i1522, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i1524 = and i64 %bf.load.i.i.i.i.i.i.i.i.i1519, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i1525 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i1523, %bf.clear7.i.i.i.i.i.i.i.i.i1524 + store i64 %bf.set.i.i.i.i.i.i.i.i.i1525, ptr %418, align 8 + %cmp12.i.i.i.i.i.i.i.i.i1526 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i1523, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i1526, label %if.then13.i.i.i.i.i.i.i.i.i1528, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E.exit.i + +if.then13.i.i.i.i.i.i.i.i.i1528: ; preds = %if.then.i.i.i.i.i.i.i.i.i1521 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %418) + to label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E.exit.i unwind label %terminate.lpad.i.i.i.i.i.i.i.i1529 + +terminate.lpad.i.i.i.i.i.i.i.i1529: ; preds = %if.then13.i.i.i.i.i.i.i.i.i1528 + %420 = landingpad { ptr, i32 } + catch ptr null + %421 = extractvalue { ptr, i32 } %420, 0 + call void @__clang_call_terminate(ptr %421) #25 + unreachable + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E.exit.i: ; preds = %if.then13.i.i.i.i.i.i.i.i.i1528, %if.then.i.i.i.i.i.i.i.i.i1521, %while.body.i + call void @_ZdlPv(ptr noundef nonnull %call.i5.i) #26 + %422 = load i64, ptr %_M_node_count.i.i.i, align 8 + %dec.i.i = add i64 %422, -1 + store i64 %dec.i.i, ptr %_M_node_count.i.i.i, align 8 + %cmp.i3.not.i = icmp eq ptr %call.i.i1517, %retval.sroa.3.0.i.i.i + br i1 %cmp.i3.not.i, label %for.inc528, label %while.body.i, !llvm.loop !296 + +for.inc528: ; preds = %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E.exit.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5clearEv.exit.i, %if.else.i1516 + %call.i1232 = call noundef ptr @_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base(ptr noundef %it2.sroa.0.01802) #27 + %cmp.i1167.not = icmp eq ptr %call.i1232, %142 + br i1 %cmp.i1167.not, label %for.end530, label %for.body519, !llvm.loop !297 + +for.end530: ; preds = %for.inc528, %invoke.cont508 + %423 = load ptr, ptr %split_new_part, align 8 + %424 = load ptr, ptr %_M_finish.i.i774, align 8 + %cmp.not3.i.i.i.i1234 = icmp eq ptr %423, %424 + br i1 %cmp.not3.i.i.i.i1234, label %invoke.cont.i1262, label %for.body.i.i.i.i1235 + +for.body.i.i.i.i1235: ; preds = %for.end530, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1257 + %__first.addr.04.i.i.i.i1236 = phi ptr [ %incdec.ptr.i.i.i.i1258, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1257 ], [ %423, %for.end530 ] + %425 = load ptr, ptr %__first.addr.04.i.i.i.i1236, align 8 + %_M_finish.i.i.i.i.i.i1237 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1236, i64 8 + %426 = load ptr, ptr %_M_finish.i.i.i.i.i.i1237, align 8 + %cmp.not3.i.i.i.i.i.i.i.i.i1238 = icmp eq ptr %425, %426 + br i1 %cmp.not3.i.i.i.i.i.i.i.i.i1238, label %invoke.cont.i.i.i.i.i.i1254, label %for.body.i.i.i.i.i.i.i.i.i1239 + +for.body.i.i.i.i.i.i.i.i.i1239: ; preds = %for.body.i.i.i.i1235, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1249 + %__first.addr.04.i.i.i.i.i.i.i.i.i1240 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i1250, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1249 ], [ %425, %for.body.i.i.i.i1235 ] + %427 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1240, align 8 + %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1241 = load i64, ptr %427, align 8 + %428 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1241, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1242 = icmp eq i64 %428, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1242, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1249, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i1243 + +if.then.i.i.i.i.i.i.i.i.i.i.i.i1243: ; preds = %for.body.i.i.i.i.i.i.i.i.i1239 + %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1244 = add i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1241, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1245 = and i64 %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1244, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1246 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1241, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1247 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1245, %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1246 + store i64 %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1247, ptr %427, align 8 + %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1248 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1245, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1248, label %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1265, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1249 + +if.then13.i.i.i.i.i.i.i.i.i.i.i.i1265: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i1243 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %427) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1249 unwind label %terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1266 + +terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1266: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1265 + %429 = landingpad { ptr, i32 } + catch ptr null + %430 = extractvalue { ptr, i32 } %429, 0 + call void @__clang_call_terminate(ptr %430) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1249: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1265, %if.then.i.i.i.i.i.i.i.i.i.i.i.i1243, %for.body.i.i.i.i.i.i.i.i.i1239 + %incdec.ptr.i.i.i.i.i.i.i.i.i1250 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1240, i64 8 + %cmp.not.i.i.i.i.i.i.i.i.i1251 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i1250, %426 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i1251, label %invoke.contthread-pre-split.i.i.i.i.i.i1252, label %for.body.i.i.i.i.i.i.i.i.i1239, !llvm.loop !21 + +invoke.contthread-pre-split.i.i.i.i.i.i1252: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1249 + %.pr.i.i.i.i.i.i1253 = load ptr, ptr %__first.addr.04.i.i.i.i1236, align 8 + br label %invoke.cont.i.i.i.i.i.i1254 + +invoke.cont.i.i.i.i.i.i1254: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i1252, %for.body.i.i.i.i1235 + %431 = phi ptr [ %.pr.i.i.i.i.i.i1253, %invoke.contthread-pre-split.i.i.i.i.i.i1252 ], [ %425, %for.body.i.i.i.i1235 ] + %tobool.not.i.i.i.i.i.i.i.i1255 = icmp eq ptr %431, null + br i1 %tobool.not.i.i.i.i.i.i.i.i1255, label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1257, label %if.then.i.i.i.i.i.i.i.i1256 + +if.then.i.i.i.i.i.i.i.i1256: ; preds = %invoke.cont.i.i.i.i.i.i1254 + call void @_ZdlPv(ptr noundef nonnull %431) #26 + br label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1257 + +_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1257: ; preds = %if.then.i.i.i.i.i.i.i.i1256, %invoke.cont.i.i.i.i.i.i1254 + %incdec.ptr.i.i.i.i1258 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1236, i64 24 + %cmp.not.i.i.i.i1259 = icmp eq ptr %incdec.ptr.i.i.i.i1258, %424 + br i1 %cmp.not.i.i.i.i1259, label %invoke.contthread-pre-split.i1260, label %for.body.i.i.i.i1235, !llvm.loop !38 + +invoke.contthread-pre-split.i1260: ; preds = %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1257 + %.pr.i1261 = load ptr, ptr %split_new_part, align 8 + br label %invoke.cont.i1262 + +invoke.cont.i1262: ; preds = %invoke.contthread-pre-split.i1260, %for.end530 + %432 = phi ptr [ %.pr.i1261, %invoke.contthread-pre-split.i1260 ], [ %423, %for.end530 ] + %tobool.not.i.i.i1263 = icmp eq ptr %432, null + br i1 %tobool.not.i.i.i1263, label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1267, label %if.then.i.i.i1264 + +if.then.i.i.i1264: ; preds = %invoke.cont.i1262 + call void @_ZdlPv(ptr noundef nonnull %432) #26 + br label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1267 + +_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1267: ; preds = %invoke.cont.i1262, %if.then.i.i.i1264 + %433 = load ptr, ptr %_M_parent.i.i.i.i.i498, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %dni_rem, ptr noundef %433) + to label %for.inc534 unwind label %terminate.lpad.i.i + +terminate.lpad.i.i: ; preds = %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1267 + %434 = landingpad { ptr, i32 } + catch ptr null + %435 = extractvalue { ptr, i32 } %434, 0 + call void @__clang_call_terminate(ptr %435) #25 + unreachable + +ehcleanup531: ; preds = %lpad355.loopexit, %lpad355.loopexit.split-lp, %if.then.i.i.i1152, %invoke.cont.i1150 + %.pn2.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn2.pn.pn.pn, %invoke.cont.i1150 ], [ %.pn2.pn.pn.pn, %if.then.i.i.i1152 ], [ %lpad.loopexit1600, %lpad355.loopexit ], [ %lpad.loopexit.split-lp1601, %lpad355.loopexit.split-lp ] + %436 = load ptr, ptr %split_new_part, align 8 + %437 = load ptr, ptr %_M_finish.i.i774, align 8 + %cmp.not3.i.i.i.i1270 = icmp eq ptr %436, %437 + br i1 %cmp.not3.i.i.i.i1270, label %invoke.cont.i1298, label %for.body.i.i.i.i1271 + +for.body.i.i.i.i1271: ; preds = %ehcleanup531, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1293 + %__first.addr.04.i.i.i.i1272 = phi ptr [ %incdec.ptr.i.i.i.i1294, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1293 ], [ %436, %ehcleanup531 ] + %438 = load ptr, ptr %__first.addr.04.i.i.i.i1272, align 8 + %_M_finish.i.i.i.i.i.i1273 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1272, i64 8 + %439 = load ptr, ptr %_M_finish.i.i.i.i.i.i1273, align 8 + %cmp.not3.i.i.i.i.i.i.i.i.i1274 = icmp eq ptr %438, %439 + br i1 %cmp.not3.i.i.i.i.i.i.i.i.i1274, label %invoke.cont.i.i.i.i.i.i1290, label %for.body.i.i.i.i.i.i.i.i.i1275 + +for.body.i.i.i.i.i.i.i.i.i1275: ; preds = %for.body.i.i.i.i1271, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1285 + %__first.addr.04.i.i.i.i.i.i.i.i.i1276 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i1286, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1285 ], [ %438, %for.body.i.i.i.i1271 ] + %440 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1276, align 8 + %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1277 = load i64, ptr %440, align 8 + %441 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1277, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1278 = icmp eq i64 %441, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1278, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1285, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i1279 + +if.then.i.i.i.i.i.i.i.i.i.i.i.i1279: ; preds = %for.body.i.i.i.i.i.i.i.i.i1275 + %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1280 = add i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1277, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1281 = and i64 %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1280, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1282 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1277, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1283 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1281, %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1282 + store i64 %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1283, ptr %440, align 8 + %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1284 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1281, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1284, label %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1301, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1285 + +if.then13.i.i.i.i.i.i.i.i.i.i.i.i1301: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i1279 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %440) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1285 unwind label %terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1302 + +terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1302: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1301 + %442 = landingpad { ptr, i32 } + catch ptr null + %443 = extractvalue { ptr, i32 } %442, 0 + call void @__clang_call_terminate(ptr %443) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1285: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1301, %if.then.i.i.i.i.i.i.i.i.i.i.i.i1279, %for.body.i.i.i.i.i.i.i.i.i1275 + %incdec.ptr.i.i.i.i.i.i.i.i.i1286 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1276, i64 8 + %cmp.not.i.i.i.i.i.i.i.i.i1287 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i1286, %439 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i1287, label %invoke.contthread-pre-split.i.i.i.i.i.i1288, label %for.body.i.i.i.i.i.i.i.i.i1275, !llvm.loop !21 + +invoke.contthread-pre-split.i.i.i.i.i.i1288: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1285 + %.pr.i.i.i.i.i.i1289 = load ptr, ptr %__first.addr.04.i.i.i.i1272, align 8 + br label %invoke.cont.i.i.i.i.i.i1290 + +invoke.cont.i.i.i.i.i.i1290: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i1288, %for.body.i.i.i.i1271 + %444 = phi ptr [ %.pr.i.i.i.i.i.i1289, %invoke.contthread-pre-split.i.i.i.i.i.i1288 ], [ %438, %for.body.i.i.i.i1271 ] + %tobool.not.i.i.i.i.i.i.i.i1291 = icmp eq ptr %444, null + br i1 %tobool.not.i.i.i.i.i.i.i.i1291, label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1293, label %if.then.i.i.i.i.i.i.i.i1292 + +if.then.i.i.i.i.i.i.i.i1292: ; preds = %invoke.cont.i.i.i.i.i.i1290 + call void @_ZdlPv(ptr noundef nonnull %444) #26 + br label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1293 + +_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1293: ; preds = %if.then.i.i.i.i.i.i.i.i1292, %invoke.cont.i.i.i.i.i.i1290 + %incdec.ptr.i.i.i.i1294 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1272, i64 24 + %cmp.not.i.i.i.i1295 = icmp eq ptr %incdec.ptr.i.i.i.i1294, %437 + br i1 %cmp.not.i.i.i.i1295, label %invoke.contthread-pre-split.i1296, label %for.body.i.i.i.i1271, !llvm.loop !38 + +invoke.contthread-pre-split.i1296: ; preds = %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1293 + %.pr.i1297 = load ptr, ptr %split_new_part, align 8 + br label %invoke.cont.i1298 + +invoke.cont.i1298: ; preds = %invoke.contthread-pre-split.i1296, %ehcleanup531 + %445 = phi ptr [ %.pr.i1297, %invoke.contthread-pre-split.i1296 ], [ %436, %ehcleanup531 ] + %tobool.not.i.i.i1299 = icmp eq ptr %445, null + br i1 %tobool.not.i.i.i1299, label %ehcleanup532, label %if.then.i.i.i1300 + +if.then.i.i.i1300: ; preds = %invoke.cont.i1298 + call void @_ZdlPv(ptr noundef nonnull %445) #26 + br label %ehcleanup532 + +ehcleanup532: ; preds = %if.then.i.i.i1300, %invoke.cont.i1298, %lpad336.body, %lpad334 + %.pn8 = phi { ptr, i32 } [ %eh.lpad-body1343, %lpad336.body ], [ %232, %lpad334 ], [ %.pn2.pn.pn.pn.pn, %invoke.cont.i1298 ], [ %.pn2.pn.pn.pn.pn, %if.then.i.i.i1300 ] + %446 = load ptr, ptr %_M_parent.i.i.i.i.i498, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %dni_rem, ptr noundef %446) + to label %ehcleanup537 unwind label %terminate.lpad.i.i1305 + +terminate.lpad.i.i1305: ; preds = %ehcleanup532 + %447 = landingpad { ptr, i32 } + catch ptr null + %448 = extractvalue { ptr, i32 } %447, 0 + call void @__clang_call_terminate(ptr %448) #25 + unreachable + +for.inc534: ; preds = %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1267, %for.body316 + %call.i1307 = call noundef ptr @_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base(ptr noundef %it308.sroa.0.01804) #27 + %cmp.i491.not = icmp eq ptr %call.i1307, %0 + br i1 %cmp.i491.not, label %for.end536, label %for.body316, !llvm.loop !298 + +for.end536: ; preds = %for.inc534, %for.end307 + %449 = load ptr, ptr %_M_parent.i.i.i.i.i26, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn_cons, ptr noundef %449) + to label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1310 unwind label %terminate.lpad.i.i1309 + +terminate.lpad.i.i1309: ; preds = %for.end536 + %450 = landingpad { ptr, i32 } + catch ptr null + %451 = extractvalue { ptr, i32 } %450, 0 + call void @__clang_call_terminate(ptr %451) #25 + unreachable + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1310: ; preds = %for.end536 + %452 = load ptr, ptr %_M_parent.i.i.i.i.i22, align 8 + invoke void @_ZNSt8_Rb_treeIiSt4pairIKiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS6_EEESt10_Select1stIS9_ESt4lessIiESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E(ptr noundef nonnull align 8 dereferenceable(48) %new_part_rec, ptr noundef %452) + to label %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit unwind label %terminate.lpad.i.i1312 + +terminate.lpad.i.i1312: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1310 + %453 = landingpad { ptr, i32 } + catch ptr null + %454 = extractvalue { ptr, i32 } %453, 0 + call void @__clang_call_terminate(ptr %454) #25 + unreachable + +_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1310 + %455 = load ptr, ptr %_M_parent.i.i.i.i.i18, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St6vectorIS3_SaIS3_EEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E(ptr noundef nonnull align 8 dereferenceable(48) %new_part_c, ptr noundef %455) + to label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit unwind label %terminate.lpad.i.i1314 + +terminate.lpad.i.i1314: ; preds = %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit + %456 = landingpad { ptr, i32 } + catch ptr null + %457 = extractvalue { ptr, i32 } %456, 0 + call void @__clang_call_terminate(ptr %457) #25 + unreachable + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit: ; preds = %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit + %458 = load ptr, ptr %_M_parent.i.i.i.i.i, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St6vectorIS3_SaIS3_EEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E(ptr noundef nonnull align 8 dereferenceable(48) %new_part, ptr noundef %458) + to label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1317 unwind label %terminate.lpad.i.i1316 + +terminate.lpad.i.i1316: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit + %459 = landingpad { ptr, i32 } + catch ptr null + %460 = extractvalue { ptr, i32 } %459, 0 + call void @__clang_call_terminate(ptr %460) #25 + unreachable + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1317: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit + ret void + +ehcleanup537: ; preds = %ehcleanup532, %lpad296, %lpad254, %ehcleanup220, %lpad + %.pn15.pn = phi { ptr, i32 } [ %.pn15, %ehcleanup220 ], [ %27, %lpad ], [ %129, %lpad254 ], [ %140, %lpad296 ], [ %.pn8, %ehcleanup532 ] + %461 = load ptr, ptr %_M_parent.i.i.i.i.i26, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn_cons, ptr noundef %461) + to label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1320 unwind label %terminate.lpad.i.i1319 + +terminate.lpad.i.i1319: ; preds = %ehcleanup537 + %462 = landingpad { ptr, i32 } + catch ptr null + %463 = extractvalue { ptr, i32 } %462, 0 + call void @__clang_call_terminate(ptr %463) #25 + unreachable + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1320: ; preds = %ehcleanup537 + %464 = load ptr, ptr %_M_parent.i.i.i.i.i22, align 8 + invoke void @_ZNSt8_Rb_treeIiSt4pairIKiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS6_EEESt10_Select1stIS9_ESt4lessIiESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E(ptr noundef nonnull align 8 dereferenceable(48) %new_part_rec, ptr noundef %464) + to label %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit1323 unwind label %terminate.lpad.i.i1322 + +terminate.lpad.i.i1322: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1320 + %465 = landingpad { ptr, i32 } + catch ptr null + %466 = extractvalue { ptr, i32 } %465, 0 + call void @__clang_call_terminate(ptr %466) #25 + unreachable + +_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit1323: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1320 + %467 = load ptr, ptr %_M_parent.i.i.i.i.i18, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St6vectorIS3_SaIS3_EEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E(ptr noundef nonnull align 8 dereferenceable(48) %new_part_c, ptr noundef %467) + to label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1326 unwind label %terminate.lpad.i.i1325 + +terminate.lpad.i.i1325: ; preds = %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit1323 + %468 = landingpad { ptr, i32 } + catch ptr null + %469 = extractvalue { ptr, i32 } %468, 0 + call void @__clang_call_terminate(ptr %469) #25 + unreachable + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1326: ; preds = %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit1323 + %470 = load ptr, ptr %_M_parent.i.i.i.i.i, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St6vectorIS3_SaIS3_EEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E(ptr noundef nonnull align 8 dereferenceable(48) %new_part, ptr noundef %470) + to label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1329 unwind label %terminate.lpad.i.i1328 + +terminate.lpad.i.i1328: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1326 + %471 = landingpad { ptr, i32 } + catch ptr null + %472 = extractvalue { ptr, i32 } %471, 0 + call void @__clang_call_terminate(ptr %472) #25 + unreachable + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1329: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1326 + resume { ptr, i32 } %.pn15.pn +} + +; Function Attrs: mustprogress uwtable +define internal fastcc void @_ZN4cvc58internal6theory9datatypes15TheoryDatatypes17separateBisimilarERSt6vectorINS0_12NodeTemplateILb1EEESaIS6_EERS4_IS8_SaIS8_EES9_RSt3mapIS6_S6_St4lessIS6_ESaISt4pairIKS6_S6_EEERSD_IS6_SD_IS6_iSF_SaISG_ISH_iEEESF_SaISG_ISH_SO_EEEib.specialized.5(ptr noundef nonnull align 8 dereferenceable(2008) %this, ptr nocapture noundef nonnull readonly align 8 dereferenceable(24) %part, ptr noundef nonnull align 8 dereferenceable(24) %part_out, ptr noundef nonnull align 8 dereferenceable(24) %exp, ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr noundef nonnull align 8 dereferenceable(48) %dni) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { +entry: + %__second.i.i.i.i.i.i.i1478 = alloca %"class.std::tuple.1060", align 1 + %agg.tmp6.i.i.i.i.i.i1479 = alloca %"class.std::tuple.1066", align 8 + %__second.i.i.i.i.i.i.i1443 = alloca %"class.std::tuple.1060", align 1 + %agg.tmp6.i.i.i.i.i.i1444 = alloca %"class.std::tuple.1066", align 8 + %__second.i.i.i.i.i.i.i1407 = alloca %"class.std::tuple.1060", align 1 + %agg.tmp6.i.i.i.i.i.i1408 = alloca %"class.std::tuple.1066", align 8 + %__second.i.i.i.i.i.i.i1371 = alloca %"class.std::tuple.1060", align 1 + %agg.tmp6.i.i.i.i.i.i1372 = alloca %"class.std::tuple.1066", align 8 + %__z.i = alloca %"struct.std::_Rb_tree, std::pair, int>, std::_Select1st, int>>, std::less>>::_Auto_node", align 8 + %__second.i.i.i.i.i.i.i = alloca %"class.std::tuple.1060", align 1 + %agg.tmp6.i.i.i.i.i.i = alloca %"class.std::tuple.1066", align 8 + %ref.tmp9.i1169 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i1170 = alloca %"class.std::tuple.1060", align 1 + %nb.i.i = alloca %"class.cvc5::internal::NodeBuilder", align 8 + %agg.tmp.i.i = alloca %"class.cvc5::internal::NodeTemplate.733", align 8 + %agg.tmp4.i.i = alloca %"class.cvc5::internal::NodeTemplate.733", align 8 + %agg.tmp.i = alloca %"class.cvc5::internal::NodeTemplate.733", align 8 + %agg.tmp3.i = alloca %"class.cvc5::internal::NodeTemplate.733", align 8 + %ref.tmp9.i736 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i737 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i593 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i594 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i525 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i526 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i362 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i363 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i293 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i294 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i226 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i227 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i156 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i157 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i102 = alloca %"class.std::tuple.1121", align 8 + %ref.tmp10.i103 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i68 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i69 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i34 = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i35 = alloca %"class.std::tuple.1060", align 1 + %ref.tmp9.i = alloca %"class.std::tuple.1066", align 8 + %ref.tmp10.i = alloca %"class.std::tuple.1060", align 1 + %new_part = alloca %"class.std::map.36", align 8 + %new_part_c = alloca %"class.std::map.36", align 8 + %new_part_rec = alloca %"class.std::map.940", align 8 + %cn_cons = alloca %"class.std::map.61", align 8 + %c = alloca %"class.cvc5::internal::NodeTemplate", align 8 + %ref.tmp83 = alloca %"class.cvc5::internal::TypeNode", align 8 + %ncons = alloca %"class.cvc5::internal::NodeTemplate", align 8 + %ref.tmp89 = alloca %"class.cvc5::internal::NodeTemplate.733", align 8 + %agg.tmp = alloca %"class.cvc5::internal::NodeTemplate.733", align 8 + %cc = alloca %"class.cvc5::internal::NodeTemplate", align 8 + %ref.tmp112 = alloca %"class.cvc5::internal::NodeTemplate", align 8 + %vec = alloca %"class.std::vector.525", align 8 + %vec278 = alloca %"class.std::vector.525", align 8 + %dni_rem = alloca %"class.std::map.61", align 8 + %n = alloca %"class.cvc5::internal::NodeTemplate", align 8 + %split_new_part = alloca %"class.std::vector.930", align 8 + %next_split_new_part = alloca %"class.std::vector.930", align 8 + %n407 = alloca %"class.cvc5::internal::NodeTemplate", align 8 + %ref.tmp418 = alloca %"class.cvc5::internal::NodeTemplate.733", align 8 + %ref.tmp438 = alloca %"class.cvc5::internal::NodeTemplate", align 8 + %c_part_out = alloca %"class.std::vector.930", align 8 + %0 = getelementptr inbounds i8, ptr %new_part, i64 8 + store i32 0, ptr %0, align 8 + %_M_parent.i.i.i.i.i = getelementptr inbounds i8, ptr %new_part, i64 16 + store ptr null, ptr %_M_parent.i.i.i.i.i, align 8 + %_M_left.i.i.i.i.i = getelementptr inbounds i8, ptr %new_part, i64 24 + store ptr %0, ptr %_M_left.i.i.i.i.i, align 8 + %_M_right.i.i.i.i.i = getelementptr inbounds i8, ptr %new_part, i64 32 + store ptr %0, ptr %_M_right.i.i.i.i.i, align 8 + %_M_node_count.i.i.i.i.i = getelementptr inbounds i8, ptr %new_part, i64 40 + store i64 0, ptr %_M_node_count.i.i.i.i.i, align 8 + %1 = getelementptr inbounds i8, ptr %new_part_c, i64 8 + store i32 0, ptr %1, align 8 + %_M_parent.i.i.i.i.i18 = getelementptr inbounds i8, ptr %new_part_c, i64 16 + store ptr null, ptr %_M_parent.i.i.i.i.i18, align 8 + %_M_left.i.i.i.i.i19 = getelementptr inbounds i8, ptr %new_part_c, i64 24 + store ptr %1, ptr %_M_left.i.i.i.i.i19, align 8 + %_M_right.i.i.i.i.i20 = getelementptr inbounds i8, ptr %new_part_c, i64 32 + store ptr %1, ptr %_M_right.i.i.i.i.i20, align 8 + %_M_node_count.i.i.i.i.i21 = getelementptr inbounds i8, ptr %new_part_c, i64 40 + store i64 0, ptr %_M_node_count.i.i.i.i.i21, align 8 + %2 = getelementptr inbounds i8, ptr %new_part_rec, i64 8 + store i32 0, ptr %2, align 8 + %_M_parent.i.i.i.i.i22 = getelementptr inbounds i8, ptr %new_part_rec, i64 16 + store ptr null, ptr %_M_parent.i.i.i.i.i22, align 8 + %_M_left.i.i.i.i.i23 = getelementptr inbounds i8, ptr %new_part_rec, i64 24 + store ptr %2, ptr %_M_left.i.i.i.i.i23, align 8 + %_M_right.i.i.i.i.i24 = getelementptr inbounds i8, ptr %new_part_rec, i64 32 + store ptr %2, ptr %_M_right.i.i.i.i.i24, align 8 + %_M_node_count.i.i.i.i.i25 = getelementptr inbounds i8, ptr %new_part_rec, i64 40 + store i64 0, ptr %_M_node_count.i.i.i.i.i25, align 8 + %3 = getelementptr inbounds i8, ptr %cn_cons, i64 8 + store i32 0, ptr %3, align 8 + %_M_parent.i.i.i.i.i26 = getelementptr inbounds i8, ptr %cn_cons, i64 16 + store ptr null, ptr %_M_parent.i.i.i.i.i26, align 8 + %_M_left.i.i.i.i.i27 = getelementptr inbounds i8, ptr %cn_cons, i64 24 + store ptr %3, ptr %_M_left.i.i.i.i.i27, align 8 + %_M_right.i.i.i.i.i28 = getelementptr inbounds i8, ptr %cn_cons, i64 32 + store ptr %3, ptr %_M_right.i.i.i.i.i28, align 8 + %_M_node_count.i.i.i.i.i29 = getelementptr inbounds i8, ptr %cn_cons, i64 40 + store i64 0, ptr %_M_node_count.i.i.i.i.i29, align 8 + %_M_finish.i = getelementptr inbounds i8, ptr %part, i64 8 + %4 = load ptr, ptr %_M_finish.i, align 8 + %5 = load ptr, ptr %part, align 8 + %cmp271767.not = icmp eq ptr %4, %5 + br i1 %cmp271767.not, label %for.end263, label %for.body28.lr.ph + +for.body28.lr.ph: ; preds = %entry + %_M_parent.i.i.i.i.i30 = getelementptr inbounds i8, ptr %cn, i64 16 + %add.ptr.i.i.i.i = getelementptr inbounds i8, ptr %cn, i64 8 + %_M_parent.i.i.i.i.i36 = getelementptr inbounds i8, ptr %dni, i64 16 + %add.ptr.i.i.i.i37 = getelementptr inbounds i8, ptr %dni, i64 8 + %_M_finish.i.i = getelementptr inbounds i8, ptr %exp, i64 8 + %_M_end_of_storage.i.i = getelementptr inbounds i8, ptr %exp, i64 16 + br label %for.body28 + +for.body28: ; preds = %for.body28.lr.ph, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430 + %6 = phi ptr [ %5, %for.body28.lr.ph ], [ %119, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430 ] + %conv251769 = phi i64 [ 0, %for.body28.lr.ph ], [ %conv25, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430 ] + %j.01768 = phi i32 [ 0, %for.body28.lr.ph ], [ %inc222, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430 ] + %add.ptr.i = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %6, i64 %conv251769 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i) + %7 = load ptr, ptr %_M_parent.i.i.i.i.i30, align 8 + %cmp.not5.i.i.i.i = icmp eq ptr %7, null + br i1 %cmp.not5.i.i.i.i, label %if.then.i, label %while.body.lr.ph.i.i.i.i + +while.body.lr.ph.i.i.i.i: ; preds = %for.body28 + %8 = load ptr, ptr %add.ptr.i, align 8 + %bf.load3.i.i.i.i.i.i = load i64, ptr %8, align 8 + %bf.clear4.i.i.i.i.i.i = and i64 %bf.load3.i.i.i.i.i.i, 1099511627775 + br label %while.body.i.i.i.i + +while.body.i.i.i.i: ; preds = %while.body.i.i.i.i, %while.body.lr.ph.i.i.i.i + %__x.addr.07.i.i.i.i = phi ptr [ %7, %while.body.lr.ph.i.i.i.i ], [ %__x.addr.1.i.i.i.i, %while.body.i.i.i.i ] + %__y.addr.06.i.i.i.i = phi ptr [ %add.ptr.i.i.i.i, %while.body.lr.ph.i.i.i.i ], [ %__y.addr.1.i.i.i.i, %while.body.i.i.i.i ] + %_M_storage.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i, i64 32 + %9 = load ptr, ptr %_M_storage.i.i.i.i.i.i, align 8 + %bf.load.i.i.i.i.i.i = load i64, ptr %9, align 8 + %bf.clear.i.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i.i, 1099511627775 + %cmp.i.i.i.i.i.i = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i, %bf.clear4.i.i.i.i.i.i + %__y.addr.1.i.i.i.i = select i1 %cmp.i.i.i.i.i.i, ptr %__y.addr.06.i.i.i.i, ptr %__x.addr.07.i.i.i.i + %__x.addr.1.in.v.i.i.i.i = select i1 %cmp.i.i.i.i.i.i, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i, i64 %__x.addr.1.in.v.i.i.i.i + %__x.addr.1.i.i.i.i = load ptr, ptr %__x.addr.1.in.i.i.i.i, align 8 + %cmp.not.i.i.i.i = icmp eq ptr %__x.addr.1.i.i.i.i, null + br i1 %cmp.not.i.i.i.i, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i, label %while.body.i.i.i.i, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i: ; preds = %while.body.i.i.i.i + %cmp.i.i = icmp eq ptr %__y.addr.1.i.i.i.i, %add.ptr.i.i.i.i + br i1 %cmp.i.i, label %if.then.i, label %lor.rhs.i + +lor.rhs.i: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i + %_M_storage.i.i.i = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i, i64 32 + %10 = load ptr, ptr %_M_storage.i.i.i, align 8 + %bf.load3.i.i.i = load i64, ptr %10, align 8 + %bf.clear4.i.i.i = and i64 %bf.load3.i.i.i, 1099511627775 + %cmp.i.i.i = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i, %bf.clear4.i.i.i + br i1 %cmp.i.i.i, label %if.then.i, label %invoke.cont + +if.then.i: ; preds = %lor.rhs.i, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i, %for.body28 + %__y.addr.0.lcssa.i.i.i9.i = phi ptr [ %__y.addr.1.i.i.i.i, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i ], [ %__y.addr.1.i.i.i.i, %lor.rhs.i ], [ %add.ptr.i.i.i.i, %for.body28 ] + store ptr %add.ptr.i, ptr %ref.tmp9.i, align 8 + %call12.i31 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESH_IJEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr %__y.addr.0.lcssa.i.i.i9.i, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i) + to label %invoke.cont unwind label %lpad + +invoke.cont: ; preds = %lor.rhs.i, %if.then.i + %__i.sroa.0.0.i = phi ptr [ %__y.addr.1.i.i.i.i, %lor.rhs.i ], [ %call12.i31, %if.then.i ] + %second.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i, i64 40 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i) + %11 = load ptr, ptr %second.i, align 8 + store ptr %11, ptr %c, align 8 + %bf.load.i.i = load i64, ptr %11, align 8 + %bf.lshr.i.i = lshr i64 %bf.load.i.i, 40 + %12 = trunc nuw nsw i64 %bf.lshr.i.i to i32 + %bf.cast.i.i = and i32 %12, 1048575 + %cmp.i.i32 = icmp samesign ult i32 %bf.cast.i.i, 1048574 + br i1 %cmp.i.i32, label %if.then.i.i, label %if.else.i.i + +if.then.i.i: ; preds = %invoke.cont + %bf.value.i.i = add i64 %bf.load.i.i, 1099511627776 + %bf.shl.i.i = and i64 %bf.value.i.i, 1152920405095219200 + %bf.clear7.i.i = and i64 %bf.load.i.i, -1152920405095219201 + %bf.set.i.i = or disjoint i64 %bf.shl.i.i, %bf.clear7.i.i + store i64 %bf.set.i.i, ptr %11, align 8 + br label %invoke.cont32 + +if.else.i.i: ; preds = %invoke.cont + %cmp12.i.i = icmp eq i32 %bf.cast.i.i, 1048574 + br i1 %cmp12.i.i, label %if.then13.i.i, label %invoke.cont32 + +if.then13.i.i: ; preds = %if.else.i.i + %bf.set23.i.i = or i64 %bf.load.i.i, 1152920405095219200 + store i64 %bf.set23.i.i, ptr %11, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %11) + to label %invoke.cont32 unwind label %lpad + +invoke.cont32: ; preds = %if.else.i.i, %if.then.i.i, %if.then13.i.i + %13 = load ptr, ptr %part, align 8 + %add.ptr.i33 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %13, i64 %conv251769 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i34) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i35) + %14 = load ptr, ptr %_M_parent.i.i.i.i.i36, align 8 + %cmp.not5.i.i.i.i38 = icmp eq ptr %14, null + br i1 %cmp.not5.i.i.i.i38, label %if.then.i62, label %while.body.lr.ph.i.i.i.i39 + +while.body.lr.ph.i.i.i.i39: ; preds = %invoke.cont32 + %15 = load ptr, ptr %add.ptr.i33, align 8 + %bf.load3.i.i.i.i.i.i40 = load i64, ptr %15, align 8 + %bf.clear4.i.i.i.i.i.i41 = and i64 %bf.load3.i.i.i.i.i.i40, 1099511627775 + br label %while.body.i.i.i.i42 + +while.body.i.i.i.i42: ; preds = %while.body.i.i.i.i42, %while.body.lr.ph.i.i.i.i39 + %__x.addr.07.i.i.i.i43 = phi ptr [ %14, %while.body.lr.ph.i.i.i.i39 ], [ %__x.addr.1.i.i.i.i52, %while.body.i.i.i.i42 ] + %__y.addr.06.i.i.i.i44 = phi ptr [ %add.ptr.i.i.i.i37, %while.body.lr.ph.i.i.i.i39 ], [ %__y.addr.1.i.i.i.i49, %while.body.i.i.i.i42 ] + %_M_storage.i.i.i.i.i.i45 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i43, i64 32 + %16 = load ptr, ptr %_M_storage.i.i.i.i.i.i45, align 8 + %bf.load.i.i.i.i.i.i46 = load i64, ptr %16, align 8 + %bf.clear.i.i.i.i.i.i47 = and i64 %bf.load.i.i.i.i.i.i46, 1099511627775 + %cmp.i.i.i.i.i.i48 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i47, %bf.clear4.i.i.i.i.i.i41 + %__y.addr.1.i.i.i.i49 = select i1 %cmp.i.i.i.i.i.i48, ptr %__y.addr.06.i.i.i.i44, ptr %__x.addr.07.i.i.i.i43 + %__x.addr.1.in.v.i.i.i.i50 = select i1 %cmp.i.i.i.i.i.i48, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i51 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i43, i64 %__x.addr.1.in.v.i.i.i.i50 + %__x.addr.1.i.i.i.i52 = load ptr, ptr %__x.addr.1.in.i.i.i.i51, align 8 + %cmp.not.i.i.i.i53 = icmp eq ptr %__x.addr.1.i.i.i.i52, null + br i1 %cmp.not.i.i.i.i53, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i, label %while.body.i.i.i.i42, !llvm.loop !275 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i: ; preds = %while.body.i.i.i.i42 + %cmp.i.i54 = icmp eq ptr %__y.addr.1.i.i.i.i49, %add.ptr.i.i.i.i37 + br i1 %cmp.i.i54, label %if.then.i62, label %lor.rhs.i55 + +lor.rhs.i55: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i + %_M_storage.i.i.i56 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i49, i64 32 + %17 = load ptr, ptr %_M_storage.i.i.i56, align 8 + %bf.load3.i.i.i57 = load i64, ptr %17, align 8 + %bf.clear4.i.i.i58 = and i64 %bf.load3.i.i.i57, 1099511627775 + %cmp.i.i.i59 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i41, %bf.clear4.i.i.i58 + br i1 %cmp.i.i.i59, label %if.then.i62, label %invoke.cont36 + +if.then.i62: ; preds = %lor.rhs.i55, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i, %invoke.cont32 + %__y.addr.0.lcssa.i.i.i9.i63 = phi ptr [ %__y.addr.1.i.i.i.i49, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i ], [ %__y.addr.1.i.i.i.i49, %lor.rhs.i55 ], [ %add.ptr.i.i.i.i37, %invoke.cont32 ] + store ptr %add.ptr.i33, ptr %ref.tmp9.i34, align 8 + %call12.i65 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St3mapIS3_iSt4lessIS3_ESaIS4_IS5_iEEEESt10_Select1stISC_ES8_SaISC_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESL_IJEEEEESt17_Rb_tree_iteratorISC_ESt23_Rb_tree_const_iteratorISC_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %dni, ptr %__y.addr.0.lcssa.i.i.i9.i63, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i34, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i35) + to label %invoke.cont36 unwind label %lpad35 + +invoke.cont36: ; preds = %lor.rhs.i55, %if.then.i62 + %__i.sroa.0.0.i60 = phi ptr [ %__y.addr.1.i.i.i.i49, %lor.rhs.i55 ], [ %call12.i65, %if.then.i62 ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i34) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i35) + %_M_parent.i.i.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i60, i64 56 + %18 = load ptr, ptr %_M_parent.i.i.i.i, align 8 + %add.ptr.i.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i60, i64 48 + %cmp.not5.i.i.i = icmp eq ptr %18, null + br i1 %cmp.not5.i.i.i, label %invoke.cont38, label %while.body.lr.ph.i.i.i + +while.body.lr.ph.i.i.i: ; preds = %invoke.cont36 + %19 = load ptr, ptr %c, align 8 + %bf.load3.i.i.i.i.i = load i64, ptr %19, align 8 + %bf.clear4.i.i.i.i.i = and i64 %bf.load3.i.i.i.i.i, 1099511627775 + br label %while.body.i.i.i + +while.body.i.i.i: ; preds = %while.body.i.i.i, %while.body.lr.ph.i.i.i + %__x.addr.07.i.i.i = phi ptr [ %18, %while.body.lr.ph.i.i.i ], [ %__x.addr.1.i.i.i, %while.body.i.i.i ] + %__y.addr.06.i.i.i = phi ptr [ %add.ptr.i.i.i, %while.body.lr.ph.i.i.i ], [ %__y.addr.1.i.i.i, %while.body.i.i.i ] + %_M_storage.i.i.i.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i, i64 32 + %20 = load ptr, ptr %_M_storage.i.i.i.i.i, align 8 + %bf.load.i.i.i.i.i = load i64, ptr %20, align 8 + %bf.clear.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i, 1099511627775 + %cmp.i.i.i.i.i = icmp samesign ult i64 %bf.clear.i.i.i.i.i, %bf.clear4.i.i.i.i.i + %__y.addr.1.i.i.i = select i1 %cmp.i.i.i.i.i, ptr %__y.addr.06.i.i.i, ptr %__x.addr.07.i.i.i + %__x.addr.1.in.v.i.i.i = select i1 %cmp.i.i.i.i.i, i64 24, i64 16 + %__x.addr.1.in.i.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i, i64 %__x.addr.1.in.v.i.i.i + %__x.addr.1.i.i.i = load ptr, ptr %__x.addr.1.in.i.i.i, align 8 + %cmp.not.i.i.i = icmp eq ptr %__x.addr.1.i.i.i, null + br i1 %cmp.not.i.i.i, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i, label %while.body.i.i.i, !llvm.loop !233 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i: ; preds = %while.body.i.i.i + %cmp.i.i.i66 = icmp eq ptr %__y.addr.1.i.i.i, %add.ptr.i.i.i + br i1 %cmp.i.i.i66, label %invoke.cont38, label %lor.lhs.false.i.i + +lor.lhs.false.i.i: ; preds = %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i + %_M_storage.i.i.i3.i.i = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i, i64 32 + %21 = load ptr, ptr %_M_storage.i.i.i3.i.i, align 8 + %bf.load3.i.i.i.i = load i64, ptr %21, align 8 + %bf.clear4.i.i.i.i = and i64 %bf.load3.i.i.i.i, 1099511627775 + %cmp.i.i.i.i = icmp samesign ult i64 %bf.clear4.i.i.i.i.i, %bf.clear4.i.i.i.i + %spec.select.i.i = select i1 %cmp.i.i.i.i, ptr %add.ptr.i.i.i, ptr %__y.addr.1.i.i.i + br label %invoke.cont38 + +invoke.cont38: ; preds = %lor.lhs.false.i.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i, %invoke.cont36 + %retval.sroa.0.0.i.i = phi ptr [ %add.ptr.i.i.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i ], [ %add.ptr.i.i.i, %invoke.cont36 ], [ %spec.select.i.i, %lor.lhs.false.i.i ] + %22 = load ptr, ptr %part, align 8 + %add.ptr.i67 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %22, i64 %conv251769 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i68) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i69) + %23 = load ptr, ptr %_M_parent.i.i.i.i.i36, align 8 + %cmp.not5.i.i.i.i72 = icmp eq ptr %23, null + br i1 %cmp.not5.i.i.i.i72, label %if.then.i97, label %while.body.lr.ph.i.i.i.i73 + +while.body.lr.ph.i.i.i.i73: ; preds = %invoke.cont38 + %24 = load ptr, ptr %add.ptr.i67, align 8 + %bf.load3.i.i.i.i.i.i74 = load i64, ptr %24, align 8 + %bf.clear4.i.i.i.i.i.i75 = and i64 %bf.load3.i.i.i.i.i.i74, 1099511627775 + br label %while.body.i.i.i.i76 + +while.body.i.i.i.i76: ; preds = %while.body.i.i.i.i76, %while.body.lr.ph.i.i.i.i73 + %__x.addr.07.i.i.i.i77 = phi ptr [ %23, %while.body.lr.ph.i.i.i.i73 ], [ %__x.addr.1.i.i.i.i86, %while.body.i.i.i.i76 ] + %__y.addr.06.i.i.i.i78 = phi ptr [ %add.ptr.i.i.i.i37, %while.body.lr.ph.i.i.i.i73 ], [ %__y.addr.1.i.i.i.i83, %while.body.i.i.i.i76 ] + %_M_storage.i.i.i.i.i.i79 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i77, i64 32 + %25 = load ptr, ptr %_M_storage.i.i.i.i.i.i79, align 8 + %bf.load.i.i.i.i.i.i80 = load i64, ptr %25, align 8 + %bf.clear.i.i.i.i.i.i81 = and i64 %bf.load.i.i.i.i.i.i80, 1099511627775 + %cmp.i.i.i.i.i.i82 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i81, %bf.clear4.i.i.i.i.i.i75 + %__y.addr.1.i.i.i.i83 = select i1 %cmp.i.i.i.i.i.i82, ptr %__y.addr.06.i.i.i.i78, ptr %__x.addr.07.i.i.i.i77 + %__x.addr.1.in.v.i.i.i.i84 = select i1 %cmp.i.i.i.i.i.i82, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i85 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i77, i64 %__x.addr.1.in.v.i.i.i.i84 + %__x.addr.1.i.i.i.i86 = load ptr, ptr %__x.addr.1.in.i.i.i.i85, align 8 + %cmp.not.i.i.i.i87 = icmp eq ptr %__x.addr.1.i.i.i.i86, null + br i1 %cmp.not.i.i.i.i87, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i88, label %while.body.i.i.i.i76, !llvm.loop !275 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i88: ; preds = %while.body.i.i.i.i76 + %cmp.i.i89 = icmp eq ptr %__y.addr.1.i.i.i.i83, %add.ptr.i.i.i.i37 + br i1 %cmp.i.i89, label %if.then.i97, label %lor.rhs.i90 + +lor.rhs.i90: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i88 + %_M_storage.i.i.i91 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i83, i64 32 + %26 = load ptr, ptr %_M_storage.i.i.i91, align 8 + %bf.load3.i.i.i92 = load i64, ptr %26, align 8 + %bf.clear4.i.i.i93 = and i64 %bf.load3.i.i.i92, 1099511627775 + %cmp.i.i.i94 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i75, %bf.clear4.i.i.i93 + br i1 %cmp.i.i.i94, label %if.then.i97, label %invoke.cont43 + +if.then.i97: ; preds = %lor.rhs.i90, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i88, %invoke.cont38 + %__y.addr.0.lcssa.i.i.i9.i98 = phi ptr [ %__y.addr.1.i.i.i.i83, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i88 ], [ %__y.addr.1.i.i.i.i83, %lor.rhs.i90 ], [ %add.ptr.i.i.i.i37, %invoke.cont38 ] + store ptr %add.ptr.i67, ptr %ref.tmp9.i68, align 8 + %call12.i100 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St3mapIS3_iSt4lessIS3_ESaIS4_IS5_iEEEESt10_Select1stISC_ES8_SaISC_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESL_IJEEEEESt17_Rb_tree_iteratorISC_ESt23_Rb_tree_const_iteratorISC_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %dni, ptr %__y.addr.0.lcssa.i.i.i9.i98, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i68, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i69) + to label %invoke.cont43 unwind label %lpad35 + +invoke.cont43: ; preds = %lor.rhs.i90, %if.then.i97 + %__i.sroa.0.0.i95 = phi ptr [ %__y.addr.1.i.i.i.i83, %lor.rhs.i90 ], [ %call12.i100, %if.then.i97 ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i68) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i69) + %add.ptr.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i95, i64 48 + %cmp.i.not = icmp eq ptr %retval.sroa.0.0.i.i, %add.ptr.i.i + br i1 %cmp.i.not, label %if.else, label %if.end75 + +lpad: ; preds = %if.then13.i.i, %if.then.i + %27 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup537 + +lpad35: ; preds = %if.else.i416.invoke, %if.then13.i.i.i.i.i409, %if.then.i391, %if.then13.i.i.i.i.i, %if.then.i123, %if.then.i97, %if.then.i62, %if.else + %28 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup220 + +if.end75: ; preds = %invoke.cont43 + %second77 = getelementptr inbounds i8, ptr %retval.sroa.0.0.i.i, i64 40 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i102) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i103) + %29 = load ptr, ptr %_M_parent.i.i.i.i.i22, align 8 + %cmp.not5.i.i.i.i106 = icmp eq ptr %29, null + br i1 %cmp.not5.i.i.i.i106, label %if.then.i123, label %while.body.lr.ph.i.i.i.i107 + +while.body.lr.ph.i.i.i.i107: ; preds = %if.end75 + %30 = load i32, ptr %second77, align 4 + br label %while.body.i.i.i.i108 + +while.body.i.i.i.i108: ; preds = %while.body.i.i.i.i108, %while.body.lr.ph.i.i.i.i107 + %__x.addr.07.i.i.i.i109 = phi ptr [ %29, %while.body.lr.ph.i.i.i.i107 ], [ %__x.addr.1.i.i.i.i116, %while.body.i.i.i.i108 ] + %__y.addr.06.i.i.i.i110 = phi ptr [ %2, %while.body.lr.ph.i.i.i.i107 ], [ %__y.addr.1.i.i.i.i113, %while.body.i.i.i.i108 ] + %_M_storage.i.i.i.i.i.i111 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i109, i64 32 + %31 = load i32, ptr %_M_storage.i.i.i.i.i.i111, align 4 + %cmp.i.i.i.i.i112 = icmp slt i32 %31, %30 + %__y.addr.1.i.i.i.i113 = select i1 %cmp.i.i.i.i.i112, ptr %__y.addr.06.i.i.i.i110, ptr %__x.addr.07.i.i.i.i109 + %__x.addr.1.in.v.i.i.i.i114 = select i1 %cmp.i.i.i.i.i112, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i115 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i109, i64 %__x.addr.1.in.v.i.i.i.i114 + %__x.addr.1.i.i.i.i116 = load ptr, ptr %__x.addr.1.in.i.i.i.i115, align 8 + %cmp.not.i.i.i.i117 = icmp eq ptr %__x.addr.1.i.i.i.i116, null + br i1 %cmp.not.i.i.i.i117, label %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEE11lower_boundERSA_.exit.i, label %while.body.i.i.i.i108, !llvm.loop !276 + +_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEE11lower_boundERSA_.exit.i: ; preds = %while.body.i.i.i.i108 + %cmp.i.i118 = icmp eq ptr %__y.addr.1.i.i.i.i113, %2 + br i1 %cmp.i.i118, label %if.then.i123, label %lor.rhs.i119 + +lor.rhs.i119: ; preds = %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEE11lower_boundERSA_.exit.i + %__y.addr.1.i.i.i.i113.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i112, ptr %__y.addr.06.i.i.i.i110, ptr %__x.addr.07.i.i.i.i109 + %__y.addr.1.i.i.i.i113.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i113.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %32 = load i32, ptr %__y.addr.1.i.i.i.i113.sroa.sel.v.sroa.sel.v.sroa.sel, align 4 + %cmp.i3.i = icmp slt i32 %30, %32 + br i1 %cmp.i3.i, label %if.then.i123, label %invoke.cont78 + +if.then.i123: ; preds = %lor.rhs.i119, %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEE11lower_boundERSA_.exit.i, %if.end75 + %__y.addr.0.lcssa.i.i.i10.i = phi ptr [ %__y.addr.1.i.i.i.i113, %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEE11lower_boundERSA_.exit.i ], [ %__y.addr.1.i.i.i.i113, %lor.rhs.i119 ], [ %2, %if.end75 ] + store ptr %second77, ptr %ref.tmp9.i102, align 8 + %call12.i125 = invoke ptr @_ZNSt8_Rb_treeIiSt4pairIKiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS6_EEESt10_Select1stIS9_ESt4lessIiESaIS9_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESK_IJEEEEESt17_Rb_tree_iteratorIS9_ESt23_Rb_tree_const_iteratorIS9_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %new_part_rec, ptr %__y.addr.0.lcssa.i.i.i10.i, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i102, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i103) + to label %invoke.cont78 unwind label %lpad35 + +invoke.cont78: ; preds = %lor.rhs.i119, %if.then.i123 + %__i.sroa.0.0.i121 = phi ptr [ %__y.addr.1.i.i.i.i113, %lor.rhs.i119 ], [ %call12.i125, %if.then.i123 ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i102) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i103) + %33 = load ptr, ptr %part, align 8 + %add.ptr.i126 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %33, i64 %conv251769 + %_M_finish.i127 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i121, i64 48 + %34 = load ptr, ptr %_M_finish.i127, align 8 + %_M_end_of_storage.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i121, i64 56 + %35 = load ptr, ptr %_M_end_of_storage.i, align 8 + %cmp.not.i = icmp eq ptr %34, %35 + br i1 %cmp.not.i, label %if.else.i416.invoke, label %if.then.i128 + +if.then.i128: ; preds = %invoke.cont78 + %36 = load ptr, ptr %add.ptr.i126, align 8 + store ptr %36, ptr %34, align 8 + %bf.load.i.i.i.i.i129 = load i64, ptr %36, align 8 + %bf.lshr.i.i.i.i.i = lshr i64 %bf.load.i.i.i.i.i129, 40 + %37 = trunc nuw nsw i64 %bf.lshr.i.i.i.i.i to i32 + %bf.cast.i.i.i.i.i = and i32 %37, 1048575 + %cmp.i.i.i.i.i130 = icmp samesign ult i32 %bf.cast.i.i.i.i.i, 1048574 + br i1 %cmp.i.i.i.i.i130, label %if.then.i.i.i.i.i, label %if.else.i.i.i.i.i + +if.then.i.i.i.i.i: ; preds = %if.then.i128 + %bf.value.i.i.i.i.i = add i64 %bf.load.i.i.i.i.i129, 1099511627776 + %bf.shl.i.i.i.i.i = and i64 %bf.value.i.i.i.i.i, 1152920405095219200 + %bf.clear7.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i129, -1152920405095219201 + %bf.set.i.i.i.i.i = or disjoint i64 %bf.shl.i.i.i.i.i, %bf.clear7.i.i.i.i.i + store i64 %bf.set.i.i.i.i.i, ptr %36, align 8 + br label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i + +if.else.i.i.i.i.i: ; preds = %if.then.i128 + %cmp12.i.i.i.i.i = icmp eq i32 %bf.cast.i.i.i.i.i, 1048574 + br i1 %cmp12.i.i.i.i.i, label %if.then13.i.i.i.i.i, label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i + +if.then13.i.i.i.i.i: ; preds = %if.else.i.i.i.i.i + %bf.set23.i.i.i.i.i = or i64 %bf.load.i.i.i.i.i129, 1152920405095219200 + store i64 %bf.set23.i.i.i.i.i, ptr %36, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %36) + to label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i unwind label %lpad35 + +_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i: ; preds = %if.then13.i.i.i.i.i, %if.else.i.i.i.i.i, %if.then.i.i.i.i.i + %38 = load ptr, ptr %_M_finish.i127, align 8 + %incdec.ptr.i = getelementptr inbounds i8, ptr %38, i64 8 + store ptr %incdec.ptr.i, ptr %_M_finish.i127, align 8 + br label %if.end219 + +if.else: ; preds = %invoke.cont43 + invoke void @_ZNK4cvc58internal12NodeTemplateILb1EE7getTypeEb(ptr nonnull sret(%"class.cvc5::internal::TypeNode") align 8 %ref.tmp83, ptr noundef nonnull align 8 dereferenceable(8) %c, i1 noundef zeroext false) + to label %invoke.cont84 unwind label %lpad35 + +invoke.cont84: ; preds = %if.else + %call87 = invoke noundef zeroext i1 @_ZNK4cvc58internal8TypeNode10isDatatypeEv(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp83) + to label %invoke.cont86 unwind label %lpad85 + +invoke.cont86: ; preds = %invoke.cont84 + %39 = load ptr, ptr %ref.tmp83, align 8 + %bf.load.i.i133 = load i64, ptr %39, align 8 + %40 = and i64 %bf.load.i.i133, 1152920405095219200 + %cmp.not.i.i = icmp eq i64 %40, 1152920405095219200 + br i1 %cmp.not.i.i, label %_ZN4cvc58internal8TypeNodeD2Ev.exit, label %if.then.i.i134 + +if.then.i.i134: ; preds = %invoke.cont86 + %bf.value.i.i135 = add i64 %bf.load.i.i133, 1152920405095219200 + %bf.shl.i.i136 = and i64 %bf.value.i.i135, 1152920405095219200 + %bf.clear7.i.i137 = and i64 %bf.load.i.i133, -1152920405095219201 + %bf.set.i.i138 = or disjoint i64 %bf.shl.i.i136, %bf.clear7.i.i137 + store i64 %bf.set.i.i138, ptr %39, align 8 + %cmp12.i.i139 = icmp eq i64 %bf.shl.i.i136, 0 + br i1 %cmp12.i.i139, label %if.then13.i.i140, label %_ZN4cvc58internal8TypeNodeD2Ev.exit + +if.then13.i.i140: ; preds = %if.then.i.i134 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %39) + to label %_ZN4cvc58internal8TypeNodeD2Ev.exit unwind label %terminate.lpad.i + +terminate.lpad.i: ; preds = %if.then13.i.i140 + %41 = landingpad { ptr, i32 } + catch ptr null + %42 = extractvalue { ptr, i32 } %41, 0 + call void @__clang_call_terminate(ptr %42) #25 + unreachable + +_ZN4cvc58internal8TypeNodeD2Ev.exit: ; preds = %invoke.cont86, %if.then.i.i134, %if.then13.i.i140 + br i1 %call87, label %if.then88, label %if.end212 + +if.then88: ; preds = %_ZN4cvc58internal8TypeNodeD2Ev.exit + %43 = load ptr, ptr %c, align 8 + store ptr %43, ptr %agg.tmp, align 8 + invoke void @_ZN4cvc58internal6theory9datatypes15TheoryDatatypes17getEqcConstructorENS0_12NodeTemplateILb0EEE(ptr nonnull sret(%"class.cvc5::internal::NodeTemplate.733") align 8 %ref.tmp89, ptr noundef nonnull align 8 dereferenceable(2008) %this, ptr noundef nonnull %agg.tmp) + to label %invoke.cont92 unwind label %lpad91 + +invoke.cont92: ; preds = %if.then88 + %44 = load ptr, ptr %ref.tmp89, align 8 + store ptr %44, ptr %ncons, align 8 + %bf.load.i.i141 = load i64, ptr %44, align 8 + %bf.lshr.i.i142 = lshr i64 %bf.load.i.i141, 40 + %45 = trunc nuw nsw i64 %bf.lshr.i.i142 to i32 + %bf.cast.i.i143 = and i32 %45, 1048575 + %cmp.i.i144 = icmp samesign ult i32 %bf.cast.i.i143, 1048574 + br i1 %cmp.i.i144, label %if.then.i.i149, label %if.else.i.i145 + +if.then.i.i149: ; preds = %invoke.cont92 + %bf.value.i.i150 = add i64 %bf.load.i.i141, 1099511627776 + %bf.shl.i.i151 = and i64 %bf.value.i.i150, 1152920405095219200 + %bf.clear7.i.i152 = and i64 %bf.load.i.i141, -1152920405095219201 + %bf.set.i.i153 = or disjoint i64 %bf.shl.i.i151, %bf.clear7.i.i152 + store i64 %bf.set.i.i153, ptr %44, align 8 + br label %invoke.cont94 + +if.else.i.i145: ; preds = %invoke.cont92 + %cmp12.i.i146 = icmp eq i32 %bf.cast.i.i143, 1048574 + br i1 %cmp12.i.i146, label %if.then13.i.i147, label %invoke.cont94 + +if.then13.i.i147: ; preds = %if.else.i.i145 + %bf.set23.i.i148 = or i64 %bf.load.i.i141, 1152920405095219200 + store i64 %bf.set23.i.i148, ptr %44, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %44) + to label %invoke.cont94 unwind label %lpad93 + +invoke.cont94: ; preds = %if.else.i.i145, %if.then.i.i149, %if.then13.i.i147 + %46 = load ptr, ptr %ncons, align 8 + %d_kind.i = getelementptr inbounds i8, ptr %46, i64 8 + %bf.load.i = load i16, ptr %d_kind.i, align 8 + %bf.clear.i = and i16 %bf.load.i, 1023 + %cmp98 = icmp eq i16 %bf.clear.i, 217 + br i1 %cmp98, label %if.then99, label %if.else152 + +if.then99: ; preds = %invoke.cont94 + invoke void @_ZNK4cvc58internal12NodeTemplateILb1EE11getOperatorEv(ptr nonnull sret(%"class.cvc5::internal::NodeTemplate") align 8 %cc, ptr noundef nonnull align 8 dereferenceable(8) %ncons) + to label %invoke.cont100 unwind label %lpad95 + +invoke.cont100: ; preds = %if.then99 + %47 = load ptr, ptr %part, align 8 + %add.ptr.i155 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %47, i64 %conv251769 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i156) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i157) + %48 = load ptr, ptr %_M_parent.i.i.i.i.i26, align 8 + %cmp.not5.i.i.i.i160 = icmp eq ptr %48, null + br i1 %cmp.not5.i.i.i.i160, label %if.then.i185, label %while.body.lr.ph.i.i.i.i161 + +while.body.lr.ph.i.i.i.i161: ; preds = %invoke.cont100 + %49 = load ptr, ptr %add.ptr.i155, align 8 + %bf.load3.i.i.i.i.i.i162 = load i64, ptr %49, align 8 + %bf.clear4.i.i.i.i.i.i163 = and i64 %bf.load3.i.i.i.i.i.i162, 1099511627775 + br label %while.body.i.i.i.i164 + +while.body.i.i.i.i164: ; preds = %while.body.i.i.i.i164, %while.body.lr.ph.i.i.i.i161 + %__x.addr.07.i.i.i.i165 = phi ptr [ %48, %while.body.lr.ph.i.i.i.i161 ], [ %__x.addr.1.i.i.i.i174, %while.body.i.i.i.i164 ] + %__y.addr.06.i.i.i.i166 = phi ptr [ %3, %while.body.lr.ph.i.i.i.i161 ], [ %__y.addr.1.i.i.i.i171, %while.body.i.i.i.i164 ] + %_M_storage.i.i.i.i.i.i167 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i165, i64 32 + %50 = load ptr, ptr %_M_storage.i.i.i.i.i.i167, align 8 + %bf.load.i.i.i.i.i.i168 = load i64, ptr %50, align 8 + %bf.clear.i.i.i.i.i.i169 = and i64 %bf.load.i.i.i.i.i.i168, 1099511627775 + %cmp.i.i.i.i.i.i170 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i169, %bf.clear4.i.i.i.i.i.i163 + %__y.addr.1.i.i.i.i171 = select i1 %cmp.i.i.i.i.i.i170, ptr %__y.addr.06.i.i.i.i166, ptr %__x.addr.07.i.i.i.i165 + %__x.addr.1.in.v.i.i.i.i172 = select i1 %cmp.i.i.i.i.i.i170, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i173 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i165, i64 %__x.addr.1.in.v.i.i.i.i172 + %__x.addr.1.i.i.i.i174 = load ptr, ptr %__x.addr.1.in.i.i.i.i173, align 8 + %cmp.not.i.i.i.i175 = icmp eq ptr %__x.addr.1.i.i.i.i174, null + br i1 %cmp.not.i.i.i.i175, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i176, label %while.body.i.i.i.i164, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i176: ; preds = %while.body.i.i.i.i164 + %cmp.i.i177 = icmp eq ptr %__y.addr.1.i.i.i.i171, %3 + br i1 %cmp.i.i177, label %if.then.i185, label %lor.rhs.i178 + +lor.rhs.i178: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i176 + %__y.addr.1.i.i.i.i171.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i170, ptr %__y.addr.06.i.i.i.i166, ptr %__x.addr.07.i.i.i.i165 + %__y.addr.1.i.i.i.i171.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i171.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %51 = load ptr, ptr %__y.addr.1.i.i.i.i171.sroa.sel.v.sroa.sel.v.sroa.sel, align 8 + %bf.load3.i.i.i180 = load i64, ptr %51, align 8 + %bf.clear4.i.i.i181 = and i64 %bf.load3.i.i.i180, 1099511627775 + %cmp.i.i.i182 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i163, %bf.clear4.i.i.i181 + br i1 %cmp.i.i.i182, label %if.then.i185, label %invoke.cont104 + +if.then.i185: ; preds = %lor.rhs.i178, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i176, %invoke.cont100 + %__y.addr.0.lcssa.i.i.i9.i186 = phi ptr [ %__y.addr.1.i.i.i.i171, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i176 ], [ %__y.addr.1.i.i.i.i171, %lor.rhs.i178 ], [ %3, %invoke.cont100 ] + store ptr %add.ptr.i155, ptr %ref.tmp9.i156, align 8 + %call12.i188 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESH_IJEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %cn_cons, ptr %__y.addr.0.lcssa.i.i.i9.i186, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i156, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i157) + to label %invoke.cont104 unwind label %lpad103 + +invoke.cont104: ; preds = %lor.rhs.i178, %if.then.i185 + %__i.sroa.0.0.i183 = phi ptr [ %__y.addr.1.i.i.i.i171, %lor.rhs.i178 ], [ %call12.i188, %if.then.i185 ] + %second.i184 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i183, i64 40 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i156) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i157) + %52 = load ptr, ptr %second.i184, align 8 + %53 = load ptr, ptr %ncons, align 8 + %cmp.not.i190 = icmp eq ptr %52, %53 + br i1 %cmp.not.i190, label %land.lhs.true, label %if.then.i191 + +if.then.i191: ; preds = %invoke.cont104 + %bf.load.i.i192 = load i64, ptr %52, align 8 + %54 = and i64 %bf.load.i.i192, 1152920405095219200 + %cmp.not.i.i193 = icmp eq i64 %54, 1152920405095219200 + br i1 %cmp.not.i.i193, label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i, label %if.then.i.i194 + +if.then.i.i194: ; preds = %if.then.i191 + %bf.value.i.i195 = add i64 %bf.load.i.i192, 1152920405095219200 + %bf.shl.i.i196 = and i64 %bf.value.i.i195, 1152920405095219200 + %bf.clear7.i.i197 = and i64 %bf.load.i.i192, -1152920405095219201 + %bf.set.i.i198 = or disjoint i64 %bf.shl.i.i196, %bf.clear7.i.i197 + store i64 %bf.set.i.i198, ptr %52, align 8 + %cmp12.i.i199 = icmp eq i64 %bf.shl.i.i196, 0 + br i1 %cmp12.i.i199, label %if.then13.i.i205, label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i + +if.then13.i.i205: ; preds = %if.then.i.i194 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %52) + to label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i unwind label %lpad103 + +_ZN4cvc58internal4expr9NodeValue3decEv.exit.i: ; preds = %if.then13.i.i205, %if.then.i.i194, %if.then.i191 + %55 = load ptr, ptr %ncons, align 8 + store ptr %55, ptr %second.i184, align 8 + %bf.load.i2.i = load i64, ptr %55, align 8 + %bf.lshr.i.i200 = lshr i64 %bf.load.i2.i, 40 + %56 = trunc nuw nsw i64 %bf.lshr.i.i200 to i32 + %bf.cast.i.i201 = and i32 %56, 1048575 + %cmp.i.i202 = icmp samesign ult i32 %bf.cast.i.i201, 1048574 + br i1 %cmp.i.i202, label %if.then.i5.i, label %if.else.i.i203 + +if.then.i5.i: ; preds = %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i + %bf.value.i6.i = add i64 %bf.load.i2.i, 1099511627776 + %bf.shl.i7.i = and i64 %bf.value.i6.i, 1152920405095219200 + %bf.clear7.i8.i = and i64 %bf.load.i2.i, -1152920405095219201 + %bf.set.i9.i = or disjoint i64 %bf.shl.i7.i, %bf.clear7.i8.i + store i64 %bf.set.i9.i, ptr %55, align 8 + br label %land.lhs.true + +if.else.i.i203: ; preds = %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i + %cmp12.i3.i = icmp eq i32 %bf.cast.i.i201, 1048574 + br i1 %cmp12.i3.i, label %if.then13.i4.i, label %land.lhs.true + +if.then13.i4.i: ; preds = %if.else.i.i203 + %bf.set23.i.i204 = or i64 %bf.load.i2.i, 1152920405095219200 + store i64 %bf.set23.i.i204, ptr %55, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %55) + to label %land.lhs.true unwind label %lpad103 + +land.lhs.true: ; preds = %if.else.i.i203, %if.then.i5.i, %invoke.cont104, %if.then13.i4.i + %57 = load ptr, ptr %c, align 8 + %58 = load ptr, ptr %ncons, align 8 + %cmp.i208.not = icmp eq ptr %57, %58 + br i1 %cmp.i208.not, label %if.end117, label %if.then111 + +if.then111: ; preds = %land.lhs.true + invoke void @_ZNK4cvc58internal12NodeTemplateILb1EE6eqNodeILb1EEES2_RKNS1_IXT_EEE(ptr nonnull sret(%"class.cvc5::internal::NodeTemplate") align 8 %ref.tmp112, ptr noundef nonnull align 8 dereferenceable(8) %c, ptr noundef nonnull align 8 dereferenceable(8) %ncons) + to label %invoke.cont113 unwind label %lpad103 + +invoke.cont113: ; preds = %if.then111 + %59 = load ptr, ptr %_M_finish.i.i, align 8 + %60 = load ptr, ptr %_M_end_of_storage.i.i, align 8 + %cmp.not.i.i209 = icmp eq ptr %59, %60 + br i1 %cmp.not.i.i209, label %if.else.i.i213, label %if.then.i.i210 + +if.then.i.i210: ; preds = %invoke.cont113 + %61 = load ptr, ptr %ref.tmp112, align 8 + store ptr %61, ptr %59, align 8 + %bf.load.i.i.i.i.i.i211 = load i64, ptr %61, align 8 + %bf.lshr.i.i.i.i.i.i = lshr i64 %bf.load.i.i.i.i.i.i211, 40 + %62 = trunc nuw nsw i64 %bf.lshr.i.i.i.i.i.i to i32 + %bf.cast.i.i.i.i.i.i = and i32 %62, 1048575 + %cmp.i.i.i.i.i.i212 = icmp samesign ult i32 %bf.cast.i.i.i.i.i.i, 1048574 + br i1 %cmp.i.i.i.i.i.i212, label %if.then.i.i.i.i.i.i, label %if.else.i.i.i.i.i.i + +if.then.i.i.i.i.i.i: ; preds = %if.then.i.i210 + %bf.value.i.i.i.i.i.i = add i64 %bf.load.i.i.i.i.i.i211, 1099511627776 + %bf.shl.i.i.i.i.i.i = and i64 %bf.value.i.i.i.i.i.i, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i.i211, -1152920405095219201 + %bf.set.i.i.i.i.i.i = or disjoint i64 %bf.shl.i.i.i.i.i.i, %bf.clear7.i.i.i.i.i.i + store i64 %bf.set.i.i.i.i.i.i, ptr %61, align 8 + br label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i + +if.else.i.i.i.i.i.i: ; preds = %if.then.i.i210 + %cmp12.i.i.i.i.i.i = icmp eq i32 %bf.cast.i.i.i.i.i.i, 1048574 + br i1 %cmp12.i.i.i.i.i.i, label %if.then13.i.i.i.i.i.i, label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i + +if.then13.i.i.i.i.i.i: ; preds = %if.else.i.i.i.i.i.i + %bf.set23.i.i.i.i.i.i = or i64 %bf.load.i.i.i.i.i.i211, 1152920405095219200 + store i64 %bf.set23.i.i.i.i.i.i, ptr %61, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %61) + to label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i unwind label %lpad114 + +_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i: ; preds = %if.then13.i.i.i.i.i.i, %if.else.i.i.i.i.i.i, %if.then.i.i.i.i.i.i + %63 = load ptr, ptr %_M_finish.i.i, align 8 + %incdec.ptr.i.i = getelementptr inbounds i8, ptr %63, i64 8 + store ptr %incdec.ptr.i.i, ptr %_M_finish.i.i, align 8 + br label %invoke.cont115 + +if.else.i.i213: ; preds = %invoke.cont113 + invoke void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %exp, ptr %59, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp112) + to label %invoke.cont115 unwind label %lpad114 + +invoke.cont115: ; preds = %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i, %if.else.i.i213 + %64 = load ptr, ptr %ref.tmp112, align 8 + %bf.load.i.i216 = load i64, ptr %64, align 8 + %65 = and i64 %bf.load.i.i216, 1152920405095219200 + %cmp.not.i.i217 = icmp eq i64 %65, 1152920405095219200 + br i1 %cmp.not.i.i217, label %if.end117, label %if.then.i.i218 + +if.then.i.i218: ; preds = %invoke.cont115 + %bf.value.i.i219 = add i64 %bf.load.i.i216, 1152920405095219200 + %bf.shl.i.i220 = and i64 %bf.value.i.i219, 1152920405095219200 + %bf.clear7.i.i221 = and i64 %bf.load.i.i216, -1152920405095219201 + %bf.set.i.i222 = or disjoint i64 %bf.shl.i.i220, %bf.clear7.i.i221 + store i64 %bf.set.i.i222, ptr %64, align 8 + %cmp12.i.i223 = icmp eq i64 %bf.shl.i.i220, 0 + br i1 %cmp12.i.i223, label %if.then13.i.i224, label %if.end117 + +if.then13.i.i224: ; preds = %if.then.i.i218 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %64) + to label %if.end117 unwind label %terminate.lpad.i225 + +terminate.lpad.i225: ; preds = %if.then13.i.i224 + %66 = landingpad { ptr, i32 } + catch ptr null + %67 = extractvalue { ptr, i32 } %66, 0 + call void @__clang_call_terminate(ptr %67) #25 + unreachable + +lpad85: ; preds = %invoke.cont84 + %68 = landingpad { ptr, i32 } + cleanup + call void @_ZN4cvc58internal8TypeNodeD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp83) #23 + br label %ehcleanup220 + +lpad91: ; preds = %if.then88 + %69 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup220 + +lpad93: ; preds = %if.then13.i.i147 + %70 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup220 + +lpad95: ; preds = %if.else.i347, %if.then13.i.i.i.i.i340, %if.then.i322, %if.then99 + %71 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup183 + +lpad103: ; preds = %if.else.i278, %if.then13.i.i.i.i.i271, %if.then.i254, %if.then13.i4.i, %if.then13.i.i205, %if.then.i185, %if.then111 + %72 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup151 + +lpad114: ; preds = %if.else.i.i213, %if.then13.i.i.i.i.i.i + %73 = landingpad { ptr, i32 } + cleanup + call void @_ZN4cvc58internal12NodeTemplateILb1EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp112) #23 + br label %ehcleanup151 + +if.end117: ; preds = %if.then13.i.i224, %if.then.i.i218, %invoke.cont115, %land.lhs.true + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i226) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i227) + %74 = load ptr, ptr %_M_parent.i.i.i.i.i, align 8 + %cmp.not5.i.i.i.i230 = icmp eq ptr %74, null + br i1 %cmp.not5.i.i.i.i230, label %if.then.i254, label %while.body.lr.ph.i.i.i.i231 + +while.body.lr.ph.i.i.i.i231: ; preds = %if.end117 + %75 = load ptr, ptr %cc, align 8 + %bf.load3.i.i.i.i.i.i232 = load i64, ptr %75, align 8 + %bf.clear4.i.i.i.i.i.i233 = and i64 %bf.load3.i.i.i.i.i.i232, 1099511627775 + br label %while.body.i.i.i.i234 + +while.body.i.i.i.i234: ; preds = %while.body.i.i.i.i234, %while.body.lr.ph.i.i.i.i231 + %__x.addr.07.i.i.i.i235 = phi ptr [ %74, %while.body.lr.ph.i.i.i.i231 ], [ %__x.addr.1.i.i.i.i244, %while.body.i.i.i.i234 ] + %__y.addr.06.i.i.i.i236 = phi ptr [ %0, %while.body.lr.ph.i.i.i.i231 ], [ %__y.addr.1.i.i.i.i241, %while.body.i.i.i.i234 ] + %_M_storage.i.i.i.i.i.i237 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i235, i64 32 + %76 = load ptr, ptr %_M_storage.i.i.i.i.i.i237, align 8 + %bf.load.i.i.i.i.i.i238 = load i64, ptr %76, align 8 + %bf.clear.i.i.i.i.i.i239 = and i64 %bf.load.i.i.i.i.i.i238, 1099511627775 + %cmp.i.i.i.i.i.i240 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i239, %bf.clear4.i.i.i.i.i.i233 + %__y.addr.1.i.i.i.i241 = select i1 %cmp.i.i.i.i.i.i240, ptr %__y.addr.06.i.i.i.i236, ptr %__x.addr.07.i.i.i.i235 + %__x.addr.1.in.v.i.i.i.i242 = select i1 %cmp.i.i.i.i.i.i240, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i243 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i235, i64 %__x.addr.1.in.v.i.i.i.i242 + %__x.addr.1.i.i.i.i244 = load ptr, ptr %__x.addr.1.in.i.i.i.i243, align 8 + %cmp.not.i.i.i.i245 = icmp eq ptr %__x.addr.1.i.i.i.i244, null + br i1 %cmp.not.i.i.i.i245, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i, label %while.body.i.i.i.i234, !llvm.loop !73 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i: ; preds = %while.body.i.i.i.i234 + %cmp.i.i246 = icmp eq ptr %__y.addr.1.i.i.i.i241, %0 + br i1 %cmp.i.i246, label %if.then.i254, label %lor.rhs.i247 + +lor.rhs.i247: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i + %__y.addr.1.i.i.i.i241.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i240, ptr %__y.addr.06.i.i.i.i236, ptr %__x.addr.07.i.i.i.i235 + %__y.addr.1.i.i.i.i241.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i241.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %77 = load ptr, ptr %__y.addr.1.i.i.i.i241.sroa.sel.v.sroa.sel.v.sroa.sel, align 8 + %bf.load3.i.i.i249 = load i64, ptr %77, align 8 + %bf.clear4.i.i.i250 = and i64 %bf.load3.i.i.i249, 1099511627775 + %cmp.i.i.i251 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i233, %bf.clear4.i.i.i250 + br i1 %cmp.i.i.i251, label %if.then.i254, label %invoke.cont118 + +if.then.i254: ; preds = %lor.rhs.i247, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i, %if.end117 + %__y.addr.0.lcssa.i.i.i9.i255 = phi ptr [ %__y.addr.1.i.i.i.i241, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i ], [ %__y.addr.1.i.i.i.i241, %lor.rhs.i247 ], [ %0, %if.end117 ] + store ptr %cc, ptr %ref.tmp9.i226, align 8 + %call12.i257 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St6vectorIS3_SaIS3_EEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESK_IJEEEEESt17_Rb_tree_iteratorIS9_ESt23_Rb_tree_const_iteratorIS9_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %new_part, ptr %__y.addr.0.lcssa.i.i.i9.i255, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i226, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i227) + to label %invoke.cont118 unwind label %lpad103 + +invoke.cont118: ; preds = %lor.rhs.i247, %if.then.i254 + %__i.sroa.0.0.i252 = phi ptr [ %__y.addr.1.i.i.i.i241, %lor.rhs.i247 ], [ %call12.i257, %if.then.i254 ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i226) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i227) + %78 = load ptr, ptr %part, align 8 + %add.ptr.i258 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %78, i64 %conv251769 + %_M_finish.i259 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i252, i64 48 + %79 = load ptr, ptr %_M_finish.i259, align 8 + %_M_end_of_storage.i260 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i252, i64 56 + %80 = load ptr, ptr %_M_end_of_storage.i260, align 8 + %cmp.not.i261 = icmp eq ptr %79, %80 + br i1 %cmp.not.i261, label %if.else.i278, label %if.then.i262 + +if.then.i262: ; preds = %invoke.cont118 + %81 = load ptr, ptr %add.ptr.i258, align 8 + store ptr %81, ptr %79, align 8 + %bf.load.i.i.i.i.i263 = load i64, ptr %81, align 8 + %bf.lshr.i.i.i.i.i264 = lshr i64 %bf.load.i.i.i.i.i263, 40 + %82 = trunc nuw nsw i64 %bf.lshr.i.i.i.i.i264 to i32 + %bf.cast.i.i.i.i.i265 = and i32 %82, 1048575 + %cmp.i.i.i.i.i266 = icmp samesign ult i32 %bf.cast.i.i.i.i.i265, 1048574 + br i1 %cmp.i.i.i.i.i266, label %if.then.i.i.i.i.i273, label %if.else.i.i.i.i.i267 + +if.then.i.i.i.i.i273: ; preds = %if.then.i262 + %bf.value.i.i.i.i.i274 = add i64 %bf.load.i.i.i.i.i263, 1099511627776 + %bf.shl.i.i.i.i.i275 = and i64 %bf.value.i.i.i.i.i274, 1152920405095219200 + %bf.clear7.i.i.i.i.i276 = and i64 %bf.load.i.i.i.i.i263, -1152920405095219201 + %bf.set.i.i.i.i.i277 = or disjoint i64 %bf.shl.i.i.i.i.i275, %bf.clear7.i.i.i.i.i276 + store i64 %bf.set.i.i.i.i.i277, ptr %81, align 8 + br label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i269 + +if.else.i.i.i.i.i267: ; preds = %if.then.i262 + %cmp12.i.i.i.i.i268 = icmp eq i32 %bf.cast.i.i.i.i.i265, 1048574 + br i1 %cmp12.i.i.i.i.i268, label %if.then13.i.i.i.i.i271, label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i269 + +if.then13.i.i.i.i.i271: ; preds = %if.else.i.i.i.i.i267 + %bf.set23.i.i.i.i.i272 = or i64 %bf.load.i.i.i.i.i263, 1152920405095219200 + store i64 %bf.set23.i.i.i.i.i272, ptr %81, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %81) + to label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i269 unwind label %lpad103 + +_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i269: ; preds = %if.then13.i.i.i.i.i271, %if.else.i.i.i.i.i267, %if.then.i.i.i.i.i273 + %83 = load ptr, ptr %_M_finish.i259, align 8 + %incdec.ptr.i270 = getelementptr inbounds i8, ptr %83, i64 8 + store ptr %incdec.ptr.i270, ptr %_M_finish.i259, align 8 + br label %if.end150 + +if.else.i278: ; preds = %invoke.cont118 + %second.i253 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i252, i64 40 + invoke void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %second.i253, ptr %79, ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i258) + to label %if.end150 unwind label %lpad103 + +if.end150: ; preds = %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i269, %if.else.i278 + %84 = load ptr, ptr %cc, align 8 + %bf.load.i.i282 = load i64, ptr %84, align 8 + %85 = and i64 %bf.load.i.i282, 1152920405095219200 + %cmp.not.i.i283 = icmp eq i64 %85, 1152920405095219200 + br i1 %cmp.not.i.i283, label %if.end182, label %if.then.i.i284 + +if.then.i.i284: ; preds = %if.end150 + %bf.value.i.i285 = add i64 %bf.load.i.i282, 1152920405095219200 + %bf.shl.i.i286 = and i64 %bf.value.i.i285, 1152920405095219200 + %bf.clear7.i.i287 = and i64 %bf.load.i.i282, -1152920405095219201 + %bf.set.i.i288 = or disjoint i64 %bf.shl.i.i286, %bf.clear7.i.i287 + store i64 %bf.set.i.i288, ptr %84, align 8 + %cmp12.i.i289 = icmp eq i64 %bf.shl.i.i286, 0 + br i1 %cmp12.i.i289, label %if.then13.i.i290, label %if.end182 + +if.then13.i.i290: ; preds = %if.then.i.i284 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %84) + to label %if.end182 unwind label %terminate.lpad.i291 + +terminate.lpad.i291: ; preds = %if.then13.i.i290 + %86 = landingpad { ptr, i32 } + catch ptr null + %87 = extractvalue { ptr, i32 } %86, 0 + call void @__clang_call_terminate(ptr %87) #25 + unreachable + +ehcleanup151: ; preds = %lpad114, %lpad103 + %.pn12 = phi { ptr, i32 } [ %72, %lpad103 ], [ %73, %lpad114 ] + call void @_ZN4cvc58internal12NodeTemplateILb1EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %cc) #23 + br label %ehcleanup183 + +if.else152: ; preds = %invoke.cont94 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i293) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i294) + %88 = load ptr, ptr %_M_parent.i.i.i.i.i18, align 8 + %cmp.not5.i.i.i.i297 = icmp eq ptr %88, null + br i1 %cmp.not5.i.i.i.i297, label %if.then.i322, label %while.body.lr.ph.i.i.i.i298 + +while.body.lr.ph.i.i.i.i298: ; preds = %if.else152 + %89 = load ptr, ptr %c, align 8 + %bf.load3.i.i.i.i.i.i299 = load i64, ptr %89, align 8 + %bf.clear4.i.i.i.i.i.i300 = and i64 %bf.load3.i.i.i.i.i.i299, 1099511627775 + br label %while.body.i.i.i.i301 + +while.body.i.i.i.i301: ; preds = %while.body.i.i.i.i301, %while.body.lr.ph.i.i.i.i298 + %__x.addr.07.i.i.i.i302 = phi ptr [ %88, %while.body.lr.ph.i.i.i.i298 ], [ %__x.addr.1.i.i.i.i311, %while.body.i.i.i.i301 ] + %__y.addr.06.i.i.i.i303 = phi ptr [ %1, %while.body.lr.ph.i.i.i.i298 ], [ %__y.addr.1.i.i.i.i308, %while.body.i.i.i.i301 ] + %_M_storage.i.i.i.i.i.i304 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i302, i64 32 + %90 = load ptr, ptr %_M_storage.i.i.i.i.i.i304, align 8 + %bf.load.i.i.i.i.i.i305 = load i64, ptr %90, align 8 + %bf.clear.i.i.i.i.i.i306 = and i64 %bf.load.i.i.i.i.i.i305, 1099511627775 + %cmp.i.i.i.i.i.i307 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i306, %bf.clear4.i.i.i.i.i.i300 + %__y.addr.1.i.i.i.i308 = select i1 %cmp.i.i.i.i.i.i307, ptr %__y.addr.06.i.i.i.i303, ptr %__x.addr.07.i.i.i.i302 + %__x.addr.1.in.v.i.i.i.i309 = select i1 %cmp.i.i.i.i.i.i307, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i310 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i302, i64 %__x.addr.1.in.v.i.i.i.i309 + %__x.addr.1.i.i.i.i311 = load ptr, ptr %__x.addr.1.in.i.i.i.i310, align 8 + %cmp.not.i.i.i.i312 = icmp eq ptr %__x.addr.1.i.i.i.i311, null + br i1 %cmp.not.i.i.i.i312, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i313, label %while.body.i.i.i.i301, !llvm.loop !73 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i313: ; preds = %while.body.i.i.i.i301 + %cmp.i.i314 = icmp eq ptr %__y.addr.1.i.i.i.i308, %1 + br i1 %cmp.i.i314, label %if.then.i322, label %lor.rhs.i315 + +lor.rhs.i315: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i313 + %__y.addr.1.i.i.i.i308.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i307, ptr %__y.addr.06.i.i.i.i303, ptr %__x.addr.07.i.i.i.i302 + %__y.addr.1.i.i.i.i308.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i308.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %91 = load ptr, ptr %__y.addr.1.i.i.i.i308.sroa.sel.v.sroa.sel.v.sroa.sel, align 8 + %bf.load3.i.i.i317 = load i64, ptr %91, align 8 + %bf.clear4.i.i.i318 = and i64 %bf.load3.i.i.i317, 1099511627775 + %cmp.i.i.i319 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i300, %bf.clear4.i.i.i318 + br i1 %cmp.i.i.i319, label %if.then.i322, label %invoke.cont153 + +if.then.i322: ; preds = %lor.rhs.i315, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i313, %if.else152 + %__y.addr.0.lcssa.i.i.i9.i323 = phi ptr [ %__y.addr.1.i.i.i.i308, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i313 ], [ %__y.addr.1.i.i.i.i308, %lor.rhs.i315 ], [ %1, %if.else152 ] + store ptr %c, ptr %ref.tmp9.i293, align 8 + %call12.i325 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St6vectorIS3_SaIS3_EEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESK_IJEEEEESt17_Rb_tree_iteratorIS9_ESt23_Rb_tree_const_iteratorIS9_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %new_part_c, ptr %__y.addr.0.lcssa.i.i.i9.i323, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i293, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i294) + to label %invoke.cont153 unwind label %lpad95 + +invoke.cont153: ; preds = %lor.rhs.i315, %if.then.i322 + %__i.sroa.0.0.i320 = phi ptr [ %__y.addr.1.i.i.i.i308, %lor.rhs.i315 ], [ %call12.i325, %if.then.i322 ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i293) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i294) + %92 = load ptr, ptr %part, align 8 + %add.ptr.i327 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %92, i64 %conv251769 + %_M_finish.i328 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i320, i64 48 + %93 = load ptr, ptr %_M_finish.i328, align 8 + %_M_end_of_storage.i329 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i320, i64 56 + %94 = load ptr, ptr %_M_end_of_storage.i329, align 8 + %cmp.not.i330 = icmp eq ptr %93, %94 + br i1 %cmp.not.i330, label %if.else.i347, label %if.then.i331 + +if.then.i331: ; preds = %invoke.cont153 + %95 = load ptr, ptr %add.ptr.i327, align 8 + store ptr %95, ptr %93, align 8 + %bf.load.i.i.i.i.i332 = load i64, ptr %95, align 8 + %bf.lshr.i.i.i.i.i333 = lshr i64 %bf.load.i.i.i.i.i332, 40 + %96 = trunc nuw nsw i64 %bf.lshr.i.i.i.i.i333 to i32 + %bf.cast.i.i.i.i.i334 = and i32 %96, 1048575 + %cmp.i.i.i.i.i335 = icmp samesign ult i32 %bf.cast.i.i.i.i.i334, 1048574 + br i1 %cmp.i.i.i.i.i335, label %if.then.i.i.i.i.i342, label %if.else.i.i.i.i.i336 + +if.then.i.i.i.i.i342: ; preds = %if.then.i331 + %bf.value.i.i.i.i.i343 = add i64 %bf.load.i.i.i.i.i332, 1099511627776 + %bf.shl.i.i.i.i.i344 = and i64 %bf.value.i.i.i.i.i343, 1152920405095219200 + %bf.clear7.i.i.i.i.i345 = and i64 %bf.load.i.i.i.i.i332, -1152920405095219201 + %bf.set.i.i.i.i.i346 = or disjoint i64 %bf.shl.i.i.i.i.i344, %bf.clear7.i.i.i.i.i345 + store i64 %bf.set.i.i.i.i.i346, ptr %95, align 8 + br label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i338 + +if.else.i.i.i.i.i336: ; preds = %if.then.i331 + %cmp12.i.i.i.i.i337 = icmp eq i32 %bf.cast.i.i.i.i.i334, 1048574 + br i1 %cmp12.i.i.i.i.i337, label %if.then13.i.i.i.i.i340, label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i338 + +if.then13.i.i.i.i.i340: ; preds = %if.else.i.i.i.i.i336 + %bf.set23.i.i.i.i.i341 = or i64 %bf.load.i.i.i.i.i332, 1152920405095219200 + store i64 %bf.set23.i.i.i.i.i341, ptr %95, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %95) + to label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i338 unwind label %lpad95 + +_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i338: ; preds = %if.then13.i.i.i.i.i340, %if.else.i.i.i.i.i336, %if.then.i.i.i.i.i342 + %97 = load ptr, ptr %_M_finish.i328, align 8 + %incdec.ptr.i339 = getelementptr inbounds i8, ptr %97, i64 8 + store ptr %incdec.ptr.i339, ptr %_M_finish.i328, align 8 + br label %if.end182 + +if.else.i347: ; preds = %invoke.cont153 + %second.i321 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i320, i64 40 + invoke void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %second.i321, ptr %93, ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i327) + to label %if.end182 unwind label %lpad95 + +if.end182: ; preds = %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i338, %if.else.i347, %if.then13.i.i290, %if.then.i.i284, %if.end150 + %98 = load ptr, ptr %ncons, align 8 + %bf.load.i.i351 = load i64, ptr %98, align 8 + %99 = and i64 %bf.load.i.i351, 1152920405095219200 + %cmp.not.i.i352 = icmp eq i64 %99, 1152920405095219200 + br i1 %cmp.not.i.i352, label %if.end219, label %if.then.i.i353 + +if.then.i.i353: ; preds = %if.end182 + %bf.value.i.i354 = add i64 %bf.load.i.i351, 1152920405095219200 + %bf.shl.i.i355 = and i64 %bf.value.i.i354, 1152920405095219200 + %bf.clear7.i.i356 = and i64 %bf.load.i.i351, -1152920405095219201 + %bf.set.i.i357 = or disjoint i64 %bf.shl.i.i355, %bf.clear7.i.i356 + store i64 %bf.set.i.i357, ptr %98, align 8 + %cmp12.i.i358 = icmp eq i64 %bf.shl.i.i355, 0 + br i1 %cmp12.i.i358, label %if.then13.i.i359, label %if.end219 + +if.then13.i.i359: ; preds = %if.then.i.i353 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %98) + to label %if.end219 unwind label %terminate.lpad.i360 + +terminate.lpad.i360: ; preds = %if.then13.i.i359 + %100 = landingpad { ptr, i32 } + catch ptr null + %101 = extractvalue { ptr, i32 } %100, 0 + call void @__clang_call_terminate(ptr %101) #25 + unreachable + +ehcleanup183: ; preds = %ehcleanup151, %lpad95 + %.pn12.pn = phi { ptr, i32 } [ %.pn12, %ehcleanup151 ], [ %71, %lpad95 ] + call void @_ZN4cvc58internal12NodeTemplateILb1EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %ncons) #23 + br label %ehcleanup220 + +if.end212: ; preds = %_ZN4cvc58internal8TypeNodeD2Ev.exit + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i362) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i363) + %102 = load ptr, ptr %_M_parent.i.i.i.i.i18, align 8 + %cmp.not5.i.i.i.i366 = icmp eq ptr %102, null + br i1 %cmp.not5.i.i.i.i366, label %if.then.i391, label %while.body.lr.ph.i.i.i.i367 + +while.body.lr.ph.i.i.i.i367: ; preds = %if.end212 + %103 = load ptr, ptr %c, align 8 + %bf.load3.i.i.i.i.i.i368 = load i64, ptr %103, align 8 + %bf.clear4.i.i.i.i.i.i369 = and i64 %bf.load3.i.i.i.i.i.i368, 1099511627775 + br label %while.body.i.i.i.i370 + +while.body.i.i.i.i370: ; preds = %while.body.i.i.i.i370, %while.body.lr.ph.i.i.i.i367 + %__x.addr.07.i.i.i.i371 = phi ptr [ %102, %while.body.lr.ph.i.i.i.i367 ], [ %__x.addr.1.i.i.i.i380, %while.body.i.i.i.i370 ] + %__y.addr.06.i.i.i.i372 = phi ptr [ %1, %while.body.lr.ph.i.i.i.i367 ], [ %__y.addr.1.i.i.i.i377, %while.body.i.i.i.i370 ] + %_M_storage.i.i.i.i.i.i373 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i371, i64 32 + %104 = load ptr, ptr %_M_storage.i.i.i.i.i.i373, align 8 + %bf.load.i.i.i.i.i.i374 = load i64, ptr %104, align 8 + %bf.clear.i.i.i.i.i.i375 = and i64 %bf.load.i.i.i.i.i.i374, 1099511627775 + %cmp.i.i.i.i.i.i376 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i375, %bf.clear4.i.i.i.i.i.i369 + %__y.addr.1.i.i.i.i377 = select i1 %cmp.i.i.i.i.i.i376, ptr %__y.addr.06.i.i.i.i372, ptr %__x.addr.07.i.i.i.i371 + %__x.addr.1.in.v.i.i.i.i378 = select i1 %cmp.i.i.i.i.i.i376, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i379 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i371, i64 %__x.addr.1.in.v.i.i.i.i378 + %__x.addr.1.i.i.i.i380 = load ptr, ptr %__x.addr.1.in.i.i.i.i379, align 8 + %cmp.not.i.i.i.i381 = icmp eq ptr %__x.addr.1.i.i.i.i380, null + br i1 %cmp.not.i.i.i.i381, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i382, label %while.body.i.i.i.i370, !llvm.loop !73 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i382: ; preds = %while.body.i.i.i.i370 + %cmp.i.i383 = icmp eq ptr %__y.addr.1.i.i.i.i377, %1 + br i1 %cmp.i.i383, label %if.then.i391, label %lor.rhs.i384 + +lor.rhs.i384: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i382 + %__y.addr.1.i.i.i.i377.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i376, ptr %__y.addr.06.i.i.i.i372, ptr %__x.addr.07.i.i.i.i371 + %__y.addr.1.i.i.i.i377.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i377.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %105 = load ptr, ptr %__y.addr.1.i.i.i.i377.sroa.sel.v.sroa.sel.v.sroa.sel, align 8 + %bf.load3.i.i.i386 = load i64, ptr %105, align 8 + %bf.clear4.i.i.i387 = and i64 %bf.load3.i.i.i386, 1099511627775 + %cmp.i.i.i388 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i369, %bf.clear4.i.i.i387 + br i1 %cmp.i.i.i388, label %if.then.i391, label %invoke.cont213 + +if.then.i391: ; preds = %lor.rhs.i384, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i382, %if.end212 + %__y.addr.0.lcssa.i.i.i9.i392 = phi ptr [ %__y.addr.1.i.i.i.i377, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEE11lower_boundERSA_.exit.i382 ], [ %__y.addr.1.i.i.i.i377, %lor.rhs.i384 ], [ %1, %if.end212 ] + store ptr %c, ptr %ref.tmp9.i362, align 8 + %call12.i394 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St6vectorIS3_SaIS3_EEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESK_IJEEEEESt17_Rb_tree_iteratorIS9_ESt23_Rb_tree_const_iteratorIS9_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %new_part_c, ptr %__y.addr.0.lcssa.i.i.i9.i392, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i362, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i363) + to label %invoke.cont213 unwind label %lpad35 + +invoke.cont213: ; preds = %lor.rhs.i384, %if.then.i391 + %__i.sroa.0.0.i389 = phi ptr [ %__y.addr.1.i.i.i.i377, %lor.rhs.i384 ], [ %call12.i394, %if.then.i391 ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i362) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i363) + %106 = load ptr, ptr %part, align 8 + %add.ptr.i396 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %106, i64 %conv251769 + %_M_finish.i397 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i389, i64 48 + %107 = load ptr, ptr %_M_finish.i397, align 8 + %_M_end_of_storage.i398 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i389, i64 56 + %108 = load ptr, ptr %_M_end_of_storage.i398, align 8 + %cmp.not.i399 = icmp eq ptr %107, %108 + br i1 %cmp.not.i399, label %if.else.i416.invoke, label %if.then.i400 + +if.then.i400: ; preds = %invoke.cont213 + %109 = load ptr, ptr %add.ptr.i396, align 8 + store ptr %109, ptr %107, align 8 + %bf.load.i.i.i.i.i401 = load i64, ptr %109, align 8 + %bf.lshr.i.i.i.i.i402 = lshr i64 %bf.load.i.i.i.i.i401, 40 + %110 = trunc nuw nsw i64 %bf.lshr.i.i.i.i.i402 to i32 + %bf.cast.i.i.i.i.i403 = and i32 %110, 1048575 + %cmp.i.i.i.i.i404 = icmp samesign ult i32 %bf.cast.i.i.i.i.i403, 1048574 + br i1 %cmp.i.i.i.i.i404, label %if.then.i.i.i.i.i411, label %if.else.i.i.i.i.i405 + +if.then.i.i.i.i.i411: ; preds = %if.then.i400 + %bf.value.i.i.i.i.i412 = add i64 %bf.load.i.i.i.i.i401, 1099511627776 + %bf.shl.i.i.i.i.i413 = and i64 %bf.value.i.i.i.i.i412, 1152920405095219200 + %bf.clear7.i.i.i.i.i414 = and i64 %bf.load.i.i.i.i.i401, -1152920405095219201 + %bf.set.i.i.i.i.i415 = or disjoint i64 %bf.shl.i.i.i.i.i413, %bf.clear7.i.i.i.i.i414 + store i64 %bf.set.i.i.i.i.i415, ptr %109, align 8 + br label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i407 + +if.else.i.i.i.i.i405: ; preds = %if.then.i400 + %cmp12.i.i.i.i.i406 = icmp eq i32 %bf.cast.i.i.i.i.i403, 1048574 + br i1 %cmp12.i.i.i.i.i406, label %if.then13.i.i.i.i.i409, label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i407 + +if.then13.i.i.i.i.i409: ; preds = %if.else.i.i.i.i.i405 + %bf.set23.i.i.i.i.i410 = or i64 %bf.load.i.i.i.i.i401, 1152920405095219200 + store i64 %bf.set23.i.i.i.i.i410, ptr %109, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %109) + to label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i407 unwind label %lpad35 + +_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i407: ; preds = %if.then13.i.i.i.i.i409, %if.else.i.i.i.i.i405, %if.then.i.i.i.i.i411 + %111 = load ptr, ptr %_M_finish.i397, align 8 + %incdec.ptr.i408 = getelementptr inbounds i8, ptr %111, i64 8 + store ptr %incdec.ptr.i408, ptr %_M_finish.i397, align 8 + br label %if.end219 + +if.else.i416.invoke: ; preds = %invoke.cont213, %invoke.cont78 + %__i.sroa.0.0.i121.sink = phi ptr [ %__i.sroa.0.0.i121, %invoke.cont78 ], [ %__i.sroa.0.0.i389, %invoke.cont213 ] + %112 = phi ptr [ %34, %invoke.cont78 ], [ %107, %invoke.cont213 ] + %113 = phi ptr [ %add.ptr.i126, %invoke.cont78 ], [ %add.ptr.i396, %invoke.cont213 ] + %second.i122 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i121.sink, i64 40 + invoke void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %second.i122, ptr %112, ptr noundef nonnull align 8 dereferenceable(8) %113) + to label %if.end219 unwind label %lpad35 + +if.end219: ; preds = %if.else.i416.invoke, %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i407, %if.then13.i.i359, %if.then.i.i353, %if.end182, %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JRKS3_EEEvRS4_PT_DpOT0_.exit.i + %114 = load ptr, ptr %c, align 8 + %bf.load.i.i420 = load i64, ptr %114, align 8 + %115 = and i64 %bf.load.i.i420, 1152920405095219200 + %cmp.not.i.i421 = icmp eq i64 %115, 1152920405095219200 + br i1 %cmp.not.i.i421, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430, label %if.then.i.i422 + +if.then.i.i422: ; preds = %if.end219 + %bf.value.i.i423 = add i64 %bf.load.i.i420, 1152920405095219200 + %bf.shl.i.i424 = and i64 %bf.value.i.i423, 1152920405095219200 + %bf.clear7.i.i425 = and i64 %bf.load.i.i420, -1152920405095219201 + %bf.set.i.i426 = or disjoint i64 %bf.shl.i.i424, %bf.clear7.i.i425 + store i64 %bf.set.i.i426, ptr %114, align 8 + %cmp12.i.i427 = icmp eq i64 %bf.shl.i.i424, 0 + br i1 %cmp12.i.i427, label %if.then13.i.i428, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430 + +if.then13.i.i428: ; preds = %if.then.i.i422 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %114) + to label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430 unwind label %terminate.lpad.i429 + +terminate.lpad.i429: ; preds = %if.then13.i.i428 + %116 = landingpad { ptr, i32 } + catch ptr null + %117 = extractvalue { ptr, i32 } %116, 0 + call void @__clang_call_terminate(ptr %117) #25 + unreachable + +_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430: ; preds = %if.end219, %if.then.i.i422, %if.then13.i.i428 + %inc222 = add i32 %j.01768, 1 + %conv25 = zext i32 %inc222 to i64 + %118 = load ptr, ptr %_M_finish.i, align 8 + %119 = load ptr, ptr %part, align 8 + %sub.ptr.lhs.cast.i = ptrtoint ptr %118 to i64 + %sub.ptr.rhs.cast.i = ptrtoint ptr %119 to i64 + %sub.ptr.sub.i = sub i64 %sub.ptr.lhs.cast.i, %sub.ptr.rhs.cast.i + %sub.ptr.div.i = ashr exact i64 %sub.ptr.sub.i, 3 + %cmp27 = icmp ugt i64 %sub.ptr.div.i, %conv25 + br i1 %cmp27, label %for.body28, label %for.end223, !llvm.loop !277 + +ehcleanup220: ; preds = %lpad91, %lpad93, %ehcleanup183, %lpad85, %lpad35 + %.pn15 = phi { ptr, i32 } [ %28, %lpad35 ], [ %.pn12.pn, %ehcleanup183 ], [ %68, %lpad85 ], [ %70, %lpad93 ], [ %69, %lpad91 ] + call void @_ZN4cvc58internal12NodeTemplateILb1EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %c) #23 + br label %ehcleanup537 + +for.end223: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit430 + %.pre = load ptr, ptr %_M_left.i.i.i.i.i19, align 8 + %cmp.i432.not1770 = icmp eq ptr %.pre, %1 + br i1 %cmp.i432.not1770, label %for.end263, label %for.body231.lr.ph + +for.body231.lr.ph: ; preds = %for.end223 + %_M_finish.i444 = getelementptr inbounds i8, ptr %vec, i64 8 + br label %for.body231 + +for.body231: ; preds = %for.body231.lr.ph, %for.inc261 + %it.sroa.0.01771 = phi ptr [ %.pre, %for.body231.lr.ph ], [ %call.i, %for.inc261 ] + %second233 = getelementptr inbounds i8, ptr %it.sroa.0.01771, i64 40 + %_M_finish.i434 = getelementptr inbounds i8, ptr %it.sroa.0.01771, i64 48 + %120 = load ptr, ptr %_M_finish.i434, align 8 + %121 = load ptr, ptr %second233, align 8 + %sub.ptr.lhs.cast.i435 = ptrtoint ptr %120 to i64 + %sub.ptr.rhs.cast.i436 = ptrtoint ptr %121 to i64 + %sub.ptr.sub.i437 = sub i64 %sub.ptr.lhs.cast.i435, %sub.ptr.rhs.cast.i436 + %cmp235 = icmp ugt i64 %sub.ptr.sub.i437, 8 + br i1 %cmp235, label %if.then236, label %for.inc261 + +if.then236: ; preds = %for.body231 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %vec, i8 0, i64 24, i1 false) + invoke void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS3_S5_EEEEvSA_T_SB_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %vec, ptr null, ptr %121, ptr %120) + to label %invoke.cont255 unwind label %lpad254 + +invoke.cont255: ; preds = %if.then236 + invoke void @_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE9push_backERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %part_out, ptr noundef nonnull align 8 dereferenceable(24) %vec) + to label %invoke.cont258 unwind label %lpad254 + +invoke.cont258: ; preds = %invoke.cont255 + %122 = load ptr, ptr %vec, align 8 + %123 = load ptr, ptr %_M_finish.i444, align 8 + %cmp.not3.i.i.i.i = icmp eq ptr %122, %123 + br i1 %cmp.not3.i.i.i.i, label %invoke.cont.i, label %for.body.i.i.i.i + +for.body.i.i.i.i: ; preds = %invoke.cont258, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i + %__first.addr.04.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i ], [ %122, %invoke.cont258 ] + %124 = load ptr, ptr %__first.addr.04.i.i.i.i, align 8 + %bf.load.i.i.i.i.i.i.i = load i64, ptr %124, align 8 + %125 = and i64 %bf.load.i.i.i.i.i.i.i, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i = icmp eq i64 %125, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i, label %if.then.i.i.i.i.i.i.i + +if.then.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i + %bf.value.i.i.i.i.i.i.i = add i64 %bf.load.i.i.i.i.i.i.i, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i = and i64 %bf.value.i.i.i.i.i.i.i, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i.i.i, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i = or disjoint i64 %bf.shl.i.i.i.i.i.i.i, %bf.clear7.i.i.i.i.i.i.i + store i64 %bf.set.i.i.i.i.i.i.i, ptr %124, align 8 + %cmp12.i.i.i.i.i.i.i = icmp eq i64 %bf.shl.i.i.i.i.i.i.i, 0 + br i1 %cmp12.i.i.i.i.i.i.i, label %if.then13.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i + +if.then13.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %124) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i unwind label %terminate.lpad.i.i.i.i.i.i + +terminate.lpad.i.i.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i + %126 = landingpad { ptr, i32 } + catch ptr null + %127 = extractvalue { ptr, i32 } %126, 0 + call void @__clang_call_terminate(ptr %127) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i, %for.body.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i, i64 8 + %cmp.not.i.i.i.i445 = icmp eq ptr %incdec.ptr.i.i.i.i, %123 + br i1 %cmp.not.i.i.i.i445, label %invoke.contthread-pre-split.i, label %for.body.i.i.i.i, !llvm.loop !21 + +invoke.contthread-pre-split.i: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i + %.pr.i = load ptr, ptr %vec, align 8 + br label %invoke.cont.i + +invoke.cont.i: ; preds = %invoke.contthread-pre-split.i, %invoke.cont258 + %128 = phi ptr [ %.pr.i, %invoke.contthread-pre-split.i ], [ %122, %invoke.cont258 ] + %tobool.not.i.i.i = icmp eq ptr %128, null + br i1 %tobool.not.i.i.i, label %for.inc261, label %if.then.i.i.i + +if.then.i.i.i: ; preds = %invoke.cont.i + call void @_ZdlPv(ptr noundef nonnull %128) #26 + br label %for.inc261 + +lpad254: ; preds = %if.then236, %invoke.cont255 + %129 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %vec) #23 + br label %ehcleanup537 + +for.inc261: ; preds = %if.then.i.i.i, %invoke.cont.i, %for.body231 + %call.i = call noundef ptr @_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base(ptr noundef %it.sroa.0.01771) #27 + %cmp.i432.not = icmp eq ptr %call.i, %1 + br i1 %cmp.i432.not, label %for.end263, label %for.body231, !llvm.loop !278 + +for.end263: ; preds = %for.inc261, %entry, %for.end223 + %130 = load ptr, ptr %_M_left.i.i.i.i.i23, align 8 + %cmp.i448.not1772 = icmp eq ptr %130, %2 + br i1 %cmp.i448.not1772, label %for.end307, label %for.body272.lr.ph + +for.body272.lr.ph: ; preds = %for.end263 + %_M_finish.i465 = getelementptr inbounds i8, ptr %vec278, i64 8 + br label %for.body272 + +for.body272: ; preds = %for.body272.lr.ph, %for.inc305 + %it264.sroa.0.01773 = phi ptr [ %130, %for.body272.lr.ph ], [ %call.i488, %for.inc305 ] + %second274 = getelementptr inbounds i8, ptr %it264.sroa.0.01773, i64 40 + %_M_finish.i450 = getelementptr inbounds i8, ptr %it264.sroa.0.01773, i64 48 + %131 = load ptr, ptr %_M_finish.i450, align 8 + %132 = load ptr, ptr %second274, align 8 + %sub.ptr.lhs.cast.i451 = ptrtoint ptr %131 to i64 + %sub.ptr.rhs.cast.i452 = ptrtoint ptr %132 to i64 + %sub.ptr.sub.i453 = sub i64 %sub.ptr.lhs.cast.i451, %sub.ptr.rhs.cast.i452 + %cmp276 = icmp ugt i64 %sub.ptr.sub.i453, 8 + br i1 %cmp276, label %if.then277, label %for.inc305 + +if.then277: ; preds = %for.body272 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %vec278, i8 0, i64 24, i1 false) + invoke void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS3_S5_EEEEvSA_T_SB_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %vec278, ptr null, ptr %132, ptr %131) + to label %invoke.cont297 unwind label %lpad296 + +invoke.cont297: ; preds = %if.then277 + invoke void @_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE9push_backERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %part_out, ptr noundef nonnull align 8 dereferenceable(24) %vec278) + to label %invoke.cont301 unwind label %lpad296 + +invoke.cont301: ; preds = %invoke.cont297 + %133 = load ptr, ptr %vec278, align 8 + %134 = load ptr, ptr %_M_finish.i465, align 8 + %cmp.not3.i.i.i.i466 = icmp eq ptr %133, %134 + br i1 %cmp.not3.i.i.i.i466, label %invoke.cont.i482, label %for.body.i.i.i.i467 + +for.body.i.i.i.i467: ; preds = %invoke.cont301, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i477 + %__first.addr.04.i.i.i.i468 = phi ptr [ %incdec.ptr.i.i.i.i478, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i477 ], [ %133, %invoke.cont301 ] + %135 = load ptr, ptr %__first.addr.04.i.i.i.i468, align 8 + %bf.load.i.i.i.i.i.i.i469 = load i64, ptr %135, align 8 + %136 = and i64 %bf.load.i.i.i.i.i.i.i469, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i470 = icmp eq i64 %136, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i470, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i477, label %if.then.i.i.i.i.i.i.i471 + +if.then.i.i.i.i.i.i.i471: ; preds = %for.body.i.i.i.i467 + %bf.value.i.i.i.i.i.i.i472 = add i64 %bf.load.i.i.i.i.i.i.i469, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i473 = and i64 %bf.value.i.i.i.i.i.i.i472, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i474 = and i64 %bf.load.i.i.i.i.i.i.i469, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i475 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i473, %bf.clear7.i.i.i.i.i.i.i474 + store i64 %bf.set.i.i.i.i.i.i.i475, ptr %135, align 8 + %cmp12.i.i.i.i.i.i.i476 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i473, 0 + br i1 %cmp12.i.i.i.i.i.i.i476, label %if.then13.i.i.i.i.i.i.i485, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i477 + +if.then13.i.i.i.i.i.i.i485: ; preds = %if.then.i.i.i.i.i.i.i471 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %135) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i477 unwind label %terminate.lpad.i.i.i.i.i.i486 + +terminate.lpad.i.i.i.i.i.i486: ; preds = %if.then13.i.i.i.i.i.i.i485 + %137 = landingpad { ptr, i32 } + catch ptr null + %138 = extractvalue { ptr, i32 } %137, 0 + call void @__clang_call_terminate(ptr %138) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i477: ; preds = %if.then13.i.i.i.i.i.i.i485, %if.then.i.i.i.i.i.i.i471, %for.body.i.i.i.i467 + %incdec.ptr.i.i.i.i478 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i468, i64 8 + %cmp.not.i.i.i.i479 = icmp eq ptr %incdec.ptr.i.i.i.i478, %134 + br i1 %cmp.not.i.i.i.i479, label %invoke.contthread-pre-split.i480, label %for.body.i.i.i.i467, !llvm.loop !21 + +invoke.contthread-pre-split.i480: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i477 + %.pr.i481 = load ptr, ptr %vec278, align 8 + br label %invoke.cont.i482 + +invoke.cont.i482: ; preds = %invoke.contthread-pre-split.i480, %invoke.cont301 + %139 = phi ptr [ %.pr.i481, %invoke.contthread-pre-split.i480 ], [ %133, %invoke.cont301 ] + %tobool.not.i.i.i483 = icmp eq ptr %139, null + br i1 %tobool.not.i.i.i483, label %for.inc305, label %if.then.i.i.i484 + +if.then.i.i.i484: ; preds = %invoke.cont.i482 + call void @_ZdlPv(ptr noundef nonnull %139) #26 + br label %for.inc305 + +lpad296: ; preds = %if.then277, %invoke.cont297 + %140 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %vec278) #23 + br label %ehcleanup537 + +for.inc305: ; preds = %if.then.i.i.i484, %invoke.cont.i482, %for.body272 + %call.i488 = call noundef ptr @_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base(ptr noundef %it264.sroa.0.01773) #27 + %cmp.i448.not = icmp eq ptr %call.i488, %2 + br i1 %cmp.i448.not, label %for.end307, label %for.body272, !llvm.loop !279 + +for.end307: ; preds = %for.inc305, %for.end263 + %141 = load ptr, ptr %_M_left.i.i.i.i.i, align 8 + %cmp.i491.not1803 = icmp eq ptr %141, %0 + br i1 %cmp.i491.not1803, label %for.end536, label %for.body316.lr.ph + +for.body316.lr.ph: ; preds = %for.end307 + %142 = getelementptr inbounds i8, ptr %dni_rem, i64 8 + %_M_parent.i.i.i.i.i498 = getelementptr inbounds i8, ptr %dni_rem, i64 16 + %_M_left.i.i.i.i.i499 = getelementptr inbounds i8, ptr %dni_rem, i64 24 + %_M_right.i.i.i.i.i500 = getelementptr inbounds i8, ptr %dni_rem, i64 32 + %_M_node_count.i.i.i.i.i501 = getelementptr inbounds i8, ptr %dni_rem, i64 40 + %_M_parent.i.i.i.i.i527 = getelementptr inbounds i8, ptr %dni, i64 16 + %add.ptr.i.i.i.i528 = getelementptr inbounds i8, ptr %dni, i64 8 + %_M_parent.i.i.i.i.i561 = getelementptr inbounds i8, ptr %cn, i64 16 + %add.ptr.i.i.i.i562 = getelementptr inbounds i8, ptr %cn, i64 8 + %143 = ptrtoint ptr %n to i64 + %_M_node_count.i.i.i1341 = getelementptr inbounds i8, ptr %cn, i64 40 + %_M_node.i.i = getelementptr inbounds i8, ptr %__z.i, i64 8 + %_M_finish.i.i774 = getelementptr inbounds i8, ptr %split_new_part, i64 8 + %144 = ptrtoint ptr %n407 to i64 + %d_equalityEngine.i = getelementptr inbounds i8, ptr %this, i64 160 + %_M_finish.i.i937 = getelementptr inbounds i8, ptr %exp, i64 8 + %_M_end_of_storage.i.i938 = getelementptr inbounds i8, ptr %exp, i64 16 + %_M_finish.i1057 = getelementptr inbounds i8, ptr %next_split_new_part, i64 8 + %_M_finish.i1058 = getelementptr inbounds i8, ptr %c_part_out, i64 8 + %_M_finish.i1156 = getelementptr inbounds i8, ptr %part_out, i64 8 + br label %for.body316 + +for.body316: ; preds = %for.body316.lr.ph, %for.inc534 + %it308.sroa.0.01804 = phi ptr [ %141, %for.body316.lr.ph ], [ %call.i1307, %for.inc534 ] + %second318 = getelementptr inbounds i8, ptr %it308.sroa.0.01804, i64 40 + %_M_finish.i493 = getelementptr inbounds i8, ptr %it308.sroa.0.01804, i64 48 + %145 = load ptr, ptr %_M_finish.i493, align 8 + %146 = load ptr, ptr %second318, align 8 + %sub.ptr.lhs.cast.i494 = ptrtoint ptr %145 to i64 + %sub.ptr.rhs.cast.i495 = ptrtoint ptr %146 to i64 + %sub.ptr.sub.i496 = sub i64 %sub.ptr.lhs.cast.i494, %sub.ptr.rhs.cast.i495 + %cmp320 = icmp ugt i64 %sub.ptr.sub.i496, 8 + br i1 %cmp320, label %if.then321, label %for.inc534 + +if.then321: ; preds = %for.body316 + store i32 0, ptr %142, align 8 + store ptr null, ptr %_M_parent.i.i.i.i.i498, align 8 + store ptr %142, ptr %_M_left.i.i.i.i.i499, align 8 + store ptr %142, ptr %_M_right.i.i.i.i.i500, align 8 + store i64 0, ptr %_M_node_count.i.i.i.i.i501, align 8 + %147 = load ptr, ptr %second318, align 8 + %cmp3281778.not = icmp eq ptr %145, %147 + br i1 %cmp3281778.not, label %for.end352, label %for.body329 + +for.body329: ; preds = %if.then321, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732 + %148 = phi ptr [ %231, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732 ], [ %147, %if.then321 ] + %conv3241780 = phi i64 [ %conv324, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732 ], [ 0, %if.then321 ] + %i322.01779 = phi i32 [ %inc351, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732 ], [ 0, %if.then321 ] + %add.ptr.i509 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %148, i64 %conv3241780 + %149 = load ptr, ptr %add.ptr.i509, align 8 + store ptr %149, ptr %n, align 8 + %bf.load.i.i510 = load i64, ptr %149, align 8 + %bf.lshr.i.i511 = lshr i64 %bf.load.i.i510, 40 + %150 = trunc nuw nsw i64 %bf.lshr.i.i511 to i32 + %bf.cast.i.i512 = and i32 %150, 1048575 + %cmp.i.i513 = icmp samesign ult i32 %bf.cast.i.i512, 1048574 + br i1 %cmp.i.i513, label %if.then.i.i518, label %if.else.i.i514 + +if.then.i.i518: ; preds = %for.body329 + %bf.value.i.i519 = add i64 %bf.load.i.i510, 1099511627776 + %bf.shl.i.i520 = and i64 %bf.value.i.i519, 1152920405095219200 + %bf.clear7.i.i521 = and i64 %bf.load.i.i510, -1152920405095219201 + %bf.set.i.i522 = or disjoint i64 %bf.shl.i.i520, %bf.clear7.i.i521 + store i64 %bf.set.i.i522, ptr %149, align 8 + br label %invoke.cont335 + +if.else.i.i514: ; preds = %for.body329 + %cmp12.i.i515 = icmp eq i32 %bf.cast.i.i512, 1048574 + br i1 %cmp12.i.i515, label %if.then13.i.i516, label %invoke.cont335 + +if.then13.i.i516: ; preds = %if.else.i.i514 + %bf.set23.i.i517 = or i64 %bf.load.i.i510, 1152920405095219200 + store i64 %bf.set23.i.i517, ptr %149, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %149) + to label %invoke.cont335 unwind label %lpad334 + +invoke.cont335: ; preds = %if.else.i.i514, %if.then.i.i518, %if.then13.i.i516 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i525) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i526) + %151 = load ptr, ptr %_M_parent.i.i.i.i.i527, align 8 + %cmp.not5.i.i.i.i529 = icmp eq ptr %151, null + br i1 %cmp.not5.i.i.i.i529, label %if.then.i554, label %while.body.lr.ph.i.i.i.i530 + +while.body.lr.ph.i.i.i.i530: ; preds = %invoke.cont335 + %152 = load ptr, ptr %n, align 8 + %bf.load3.i.i.i.i.i.i531 = load i64, ptr %152, align 8 + %bf.clear4.i.i.i.i.i.i532 = and i64 %bf.load3.i.i.i.i.i.i531, 1099511627775 + br label %while.body.i.i.i.i533 + +while.body.i.i.i.i533: ; preds = %while.body.i.i.i.i533, %while.body.lr.ph.i.i.i.i530 + %__x.addr.07.i.i.i.i534 = phi ptr [ %151, %while.body.lr.ph.i.i.i.i530 ], [ %__x.addr.1.i.i.i.i543, %while.body.i.i.i.i533 ] + %__y.addr.06.i.i.i.i535 = phi ptr [ %add.ptr.i.i.i.i528, %while.body.lr.ph.i.i.i.i530 ], [ %__y.addr.1.i.i.i.i540, %while.body.i.i.i.i533 ] + %_M_storage.i.i.i.i.i.i536 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i534, i64 32 + %153 = load ptr, ptr %_M_storage.i.i.i.i.i.i536, align 8 + %bf.load.i.i.i.i.i.i537 = load i64, ptr %153, align 8 + %bf.clear.i.i.i.i.i.i538 = and i64 %bf.load.i.i.i.i.i.i537, 1099511627775 + %cmp.i.i.i.i.i.i539 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i538, %bf.clear4.i.i.i.i.i.i532 + %__y.addr.1.i.i.i.i540 = select i1 %cmp.i.i.i.i.i.i539, ptr %__y.addr.06.i.i.i.i535, ptr %__x.addr.07.i.i.i.i534 + %__x.addr.1.in.v.i.i.i.i541 = select i1 %cmp.i.i.i.i.i.i539, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i542 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i534, i64 %__x.addr.1.in.v.i.i.i.i541 + %__x.addr.1.i.i.i.i543 = load ptr, ptr %__x.addr.1.in.i.i.i.i542, align 8 + %cmp.not.i.i.i.i544 = icmp eq ptr %__x.addr.1.i.i.i.i543, null + br i1 %cmp.not.i.i.i.i544, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i545, label %while.body.i.i.i.i533, !llvm.loop !275 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i545: ; preds = %while.body.i.i.i.i533 + %cmp.i.i546 = icmp eq ptr %__y.addr.1.i.i.i.i540, %add.ptr.i.i.i.i528 + br i1 %cmp.i.i546, label %if.then.i554, label %lor.rhs.i547 + +lor.rhs.i547: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i545 + %_M_storage.i.i.i548 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i540, i64 32 + %154 = load ptr, ptr %_M_storage.i.i.i548, align 8 + %bf.load3.i.i.i549 = load i64, ptr %154, align 8 + %bf.clear4.i.i.i550 = and i64 %bf.load3.i.i.i549, 1099511627775 + %cmp.i.i.i551 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i532, %bf.clear4.i.i.i550 + br i1 %cmp.i.i.i551, label %if.then.i554, label %invoke.cont337 + +if.then.i554: ; preds = %lor.rhs.i547, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i545, %invoke.cont335 + %__y.addr.0.lcssa.i.i.i9.i555 = phi ptr [ %__y.addr.1.i.i.i.i540, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i545 ], [ %__y.addr.1.i.i.i.i540, %lor.rhs.i547 ], [ %add.ptr.i.i.i.i528, %invoke.cont335 ] + store ptr %n, ptr %ref.tmp9.i525, align 8 + %call12.i557 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St3mapIS3_iSt4lessIS3_ESaIS4_IS5_iEEEESt10_Select1stISC_ES8_SaISC_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESL_IJEEEEESt17_Rb_tree_iteratorISC_ESt23_Rb_tree_const_iteratorISC_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %dni, ptr %__y.addr.0.lcssa.i.i.i9.i555, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i525, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i526) + to label %invoke.cont337 unwind label %lpad336 + +invoke.cont337: ; preds = %lor.rhs.i547, %if.then.i554 + %__i.sroa.0.0.i552 = phi ptr [ %__y.addr.1.i.i.i.i540, %lor.rhs.i547 ], [ %call12.i557, %if.then.i554 ] + %second.i553 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i552, i64 40 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i525) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i526) + %155 = load ptr, ptr %_M_parent.i.i.i.i.i561, align 8 + %cmp.not5.i.i.i.i563 = icmp eq ptr %155, null + br i1 %cmp.not5.i.i.i.i563, label %if.then.i588, label %while.body.lr.ph.i.i.i.i564 + +while.body.lr.ph.i.i.i.i564: ; preds = %invoke.cont337 + %156 = load ptr, ptr %n, align 8 + %bf.load3.i.i.i.i.i.i565 = load i64, ptr %156, align 8 + %bf.clear4.i.i.i.i.i.i566 = and i64 %bf.load3.i.i.i.i.i.i565, 1099511627775 + br label %while.body.i.i.i.i567 + +while.body.i.i.i.i567: ; preds = %while.body.i.i.i.i567, %while.body.lr.ph.i.i.i.i564 + %__x.addr.07.i.i.i.i568 = phi ptr [ %155, %while.body.lr.ph.i.i.i.i564 ], [ %__x.addr.1.i.i.i.i577, %while.body.i.i.i.i567 ] + %__y.addr.06.i.i.i.i569 = phi ptr [ %add.ptr.i.i.i.i562, %while.body.lr.ph.i.i.i.i564 ], [ %__y.addr.1.i.i.i.i574, %while.body.i.i.i.i567 ] + %_M_storage.i.i.i.i.i.i570 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i568, i64 32 + %157 = load ptr, ptr %_M_storage.i.i.i.i.i.i570, align 8 + %bf.load.i.i.i.i.i.i571 = load i64, ptr %157, align 8 + %bf.clear.i.i.i.i.i.i572 = and i64 %bf.load.i.i.i.i.i.i571, 1099511627775 + %cmp.i.i.i.i.i.i573 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i572, %bf.clear4.i.i.i.i.i.i566 + %__y.addr.1.i.i.i.i574 = select i1 %cmp.i.i.i.i.i.i573, ptr %__y.addr.06.i.i.i.i569, ptr %__x.addr.07.i.i.i.i568 + %__x.addr.1.in.v.i.i.i.i575 = select i1 %cmp.i.i.i.i.i.i573, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i576 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i568, i64 %__x.addr.1.in.v.i.i.i.i575 + %__x.addr.1.i.i.i.i577 = load ptr, ptr %__x.addr.1.in.i.i.i.i576, align 8 + %cmp.not.i.i.i.i578 = icmp eq ptr %__x.addr.1.i.i.i.i577, null + br i1 %cmp.not.i.i.i.i578, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i579, label %while.body.i.i.i.i567, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i579: ; preds = %while.body.i.i.i.i567 + %cmp.i.i580 = icmp eq ptr %__y.addr.1.i.i.i.i574, %add.ptr.i.i.i.i562 + br i1 %cmp.i.i580, label %if.then.i588, label %lor.rhs.i581 + +lor.rhs.i581: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i579 + %_M_storage.i.i.i582 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i574, i64 32 + %158 = load ptr, ptr %_M_storage.i.i.i582, align 8 + %bf.load3.i.i.i583 = load i64, ptr %158, align 8 + %bf.clear4.i.i.i584 = and i64 %bf.load3.i.i.i583, 1099511627775 + %cmp.i.i.i585 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i566, %bf.clear4.i.i.i584 + br i1 %cmp.i.i.i585, label %if.then.i588, label %invoke.cont339 + +if.then.i588: ; preds = %lor.rhs.i581, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i579, %invoke.cont337 + %__y.addr.0.lcssa.i.i.i9.i589 = phi ptr [ %__y.addr.1.i.i.i.i574, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i579 ], [ %__y.addr.1.i.i.i.i574, %lor.rhs.i581 ], [ %add.ptr.i.i.i.i562, %invoke.cont337 ] + %call5.i.i.i.i.i.i1342 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #24 + to label %call5.i.i.i.i.i.i.noexc unwind label %lpad336 + +call5.i.i.i.i.i.i.noexc: ; preds = %if.then.i588 + %_M_storage.i.i.i.i.i1330 = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1342, i64 32 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i) + store i64 %143, ptr %agg.tmp6.i.i.i.i.i.i, align 8 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i) + invoke void @_ZNSt4pairIKN4cvc58internal12NodeTemplateILb1EEES3_EC2IJRS4_EJLm0EEJETpTnmJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE(ptr noundef nonnull align 8 dereferenceable(16) %_M_storage.i.i.i.i.i1330, ptr noundef nonnull align 8 dereferenceable(8) %agg.tmp6.i.i.i.i.i.i, ptr noundef nonnull align 1 dereferenceable(1) %__second.i.i.i.i.i.i.i) + to label %invoke.cont.i1331 unwind label %lpad.i.i.i.i + +lpad.i.i.i.i: ; preds = %call5.i.i.i.i.i.i.noexc + %159 = landingpad { ptr, i32 } + catch ptr null + %160 = extractvalue { ptr, i32 } %159, 0 + %161 = call ptr @__cxa_begin_catch(ptr %160) #23 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1342) #26 + invoke void @__cxa_rethrow() #29 + to label %unreachable.i.i.i.i unwind label %lpad7.i.i.i.i + +lpad7.i.i.i.i: ; preds = %lpad.i.i.i.i + %162 = landingpad { ptr, i32 } + cleanup + invoke void @__cxa_end_catch() + to label %lpad336.body unwind label %terminate.lpad.i.i.i.i + +terminate.lpad.i.i.i.i: ; preds = %lpad7.i.i.i.i + %163 = landingpad { ptr, i32 } + catch ptr null + %164 = extractvalue { ptr, i32 } %163, 0 + call void @__clang_call_terminate(ptr %164) #25 + unreachable + +unreachable.i.i.i.i: ; preds = %lpad.i.i.i.i + unreachable + +invoke.cont.i1331: ; preds = %call5.i.i.i.i.i.i.noexc + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i) + %call8.i = invoke { ptr, ptr } @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS6_ERS5_(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr %__y.addr.0.lcssa.i.i.i9.i589, ptr noundef nonnull align 8 dereferenceable(8) %_M_storage.i.i.i.i.i1330) + to label %invoke.cont7.i unwind label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i + +invoke.cont7.i: ; preds = %invoke.cont.i1331 + %165 = extractvalue { ptr, ptr } %call8.i, 0 + %166 = extractvalue { ptr, ptr } %call8.i, 1 + %tobool.not.i = icmp eq ptr %166, null + br i1 %tobool.not.i, label %if.then.i7.i, label %if.then.i1332 + +if.then.i1332: ; preds = %invoke.cont7.i + %cmp.not.i.i.i1333 = icmp ne ptr %165, null + %cmp2.i.i.i = icmp eq ptr %166, %add.ptr.i.i.i.i562 + %or.cond.i.i.i = select i1 %cmp.not.i.i.i1333, i1 true, i1 %cmp2.i.i.i + br i1 %or.cond.i.i.i, label %cleanup.thread.i, label %lor.rhs.i.i.i + +lor.rhs.i.i.i: ; preds = %if.then.i1332 + %_M_storage.i.i.i.i.i.i1335 = getelementptr inbounds i8, ptr %166, i64 32 + %167 = load ptr, ptr %_M_storage.i.i.i.i.i1330, align 8 + %bf.load.i.i.i.i.i1336 = load i64, ptr %167, align 8 + %bf.clear.i.i.i.i.i1337 = and i64 %bf.load.i.i.i.i.i1336, 1099511627775 + %168 = load ptr, ptr %_M_storage.i.i.i.i.i.i1335, align 8 + %bf.load3.i.i.i.i.i1338 = load i64, ptr %168, align 8 + %bf.clear4.i.i.i.i.i1339 = and i64 %bf.load3.i.i.i.i.i1338, 1099511627775 + %cmp.i.i.i.i.i1340 = icmp samesign ult i64 %bf.clear.i.i.i.i.i1337, %bf.clear4.i.i.i.i.i1339 + br label %cleanup.thread.i + +cleanup.thread.i: ; preds = %lor.rhs.i.i.i, %if.then.i1332 + %169 = phi i1 [ true, %if.then.i1332 ], [ %cmp.i.i.i.i.i1340, %lor.rhs.i.i.i ] + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %169, ptr noundef nonnull %call5.i.i.i.i.i.i1342, ptr noundef nonnull %166, ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i.i.i.i562) #23 + %170 = load i64, ptr %_M_node_count.i.i.i1341, align 8 + %inc.i.i.i = add i64 %170, 1 + store i64 %inc.i.i.i, ptr %_M_node_count.i.i.i1341, align 8 + br label %invoke.cont339 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i: ; preds = %invoke.cont.i1331 + %171 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr noundef nonnull %call5.i.i.i.i.i.i1342) #23 + br label %lpad336.body + +if.then.i7.i: ; preds = %invoke.cont7.i + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr noundef nonnull %call5.i.i.i.i.i.i1342) #23 + br label %invoke.cont339 + +invoke.cont339: ; preds = %lor.rhs.i581, %if.then.i7.i, %cleanup.thread.i + %__i.sroa.0.0.i586 = phi ptr [ %__y.addr.1.i.i.i.i574, %lor.rhs.i581 ], [ %call5.i.i.i.i.i.i1342, %cleanup.thread.i ], [ %165, %if.then.i7.i ] + %second.i587 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i586, i64 40 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i593) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i594) + %_M_parent.i.i.i.i.i595 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i552, i64 56 + %172 = load ptr, ptr %_M_parent.i.i.i.i.i595, align 8 + %add.ptr.i.i.i.i596 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i552, i64 48 + %cmp.not5.i.i.i.i597 = icmp eq ptr %172, null + br i1 %cmp.not5.i.i.i.i597, label %if.then.i621, label %while.body.lr.ph.i.i.i.i598 + +while.body.lr.ph.i.i.i.i598: ; preds = %invoke.cont339 + %173 = load ptr, ptr %second.i587, align 8 + %bf.load3.i.i.i.i.i.i599 = load i64, ptr %173, align 8 + %bf.clear4.i.i.i.i.i.i600 = and i64 %bf.load3.i.i.i.i.i.i599, 1099511627775 + br label %while.body.i.i.i.i601 + +while.body.i.i.i.i601: ; preds = %while.body.i.i.i.i601, %while.body.lr.ph.i.i.i.i598 + %__x.addr.07.i.i.i.i602 = phi ptr [ %172, %while.body.lr.ph.i.i.i.i598 ], [ %__x.addr.1.i.i.i.i611, %while.body.i.i.i.i601 ] + %__y.addr.06.i.i.i.i603 = phi ptr [ %add.ptr.i.i.i.i596, %while.body.lr.ph.i.i.i.i598 ], [ %__y.addr.1.i.i.i.i608, %while.body.i.i.i.i601 ] + %_M_storage.i.i.i.i.i.i604 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i602, i64 32 + %174 = load ptr, ptr %_M_storage.i.i.i.i.i.i604, align 8 + %bf.load.i.i.i.i.i.i605 = load i64, ptr %174, align 8 + %bf.clear.i.i.i.i.i.i606 = and i64 %bf.load.i.i.i.i.i.i605, 1099511627775 + %cmp.i.i.i.i.i.i607 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i606, %bf.clear4.i.i.i.i.i.i600 + %__y.addr.1.i.i.i.i608 = select i1 %cmp.i.i.i.i.i.i607, ptr %__y.addr.06.i.i.i.i603, ptr %__x.addr.07.i.i.i.i602 + %__x.addr.1.in.v.i.i.i.i609 = select i1 %cmp.i.i.i.i.i.i607, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i610 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i602, i64 %__x.addr.1.in.v.i.i.i.i609 + %__x.addr.1.i.i.i.i611 = load ptr, ptr %__x.addr.1.in.i.i.i.i610, align 8 + %cmp.not.i.i.i.i612 = icmp eq ptr %__x.addr.1.i.i.i.i611, null + br i1 %cmp.not.i.i.i.i612, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEEiSt4lessIS3_ESaISt4pairIKS3_iEEE11lower_boundERS7_.exit.i, label %while.body.i.i.i.i601, !llvm.loop !233 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEEiSt4lessIS3_ESaISt4pairIKS3_iEEE11lower_boundERS7_.exit.i: ; preds = %while.body.i.i.i.i601 + %cmp.i.i613 = icmp eq ptr %__y.addr.1.i.i.i.i608, %add.ptr.i.i.i.i596 + br i1 %cmp.i.i613, label %if.then.i621, label %lor.rhs.i614 + +lor.rhs.i614: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEEiSt4lessIS3_ESaISt4pairIKS3_iEEE11lower_boundERS7_.exit.i + %_M_storage.i.i.i615 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i608, i64 32 + %175 = load ptr, ptr %_M_storage.i.i.i615, align 8 + %bf.load3.i.i.i616 = load i64, ptr %175, align 8 + %bf.clear4.i.i.i617 = and i64 %bf.load3.i.i.i616, 1099511627775 + %cmp.i.i.i618 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i600, %bf.clear4.i.i.i617 + br i1 %cmp.i.i.i618, label %if.then.i621, label %invoke.cont341 + +if.then.i621: ; preds = %lor.rhs.i614, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEEiSt4lessIS3_ESaISt4pairIKS3_iEEE11lower_boundERS7_.exit.i, %invoke.cont339 + %__y.addr.0.lcssa.i.i.i9.i622 = phi ptr [ %__y.addr.1.i.i.i.i608, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEEiSt4lessIS3_ESaISt4pairIKS3_iEEE11lower_boundERS7_.exit.i ], [ %__y.addr.1.i.i.i.i608, %lor.rhs.i614 ], [ %add.ptr.i.i.i.i596, %invoke.cont339 ] + store ptr %second.i587, ptr %ref.tmp9.i593, align 8 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %__z.i) + store ptr %second.i553, ptr %__z.i, align 8 + %call5.i.i.i.i.i.i1367 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #24 + to label %call5.i.i.i.i.i.i.noexc1366 unwind label %lpad336 + +call5.i.i.i.i.i.i.noexc1366: ; preds = %if.then.i621 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE17_M_construct_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESH_IJEEEEEvPSt13_Rb_tree_nodeIS6_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %second.i553, ptr noundef nonnull %call5.i.i.i.i.i.i1367, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i593, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i594) + to label %.noexc1368 unwind label %lpad336 + +.noexc1368: ; preds = %call5.i.i.i.i.i.i.noexc1366 + store ptr %call5.i.i.i.i.i.i1367, ptr %_M_node.i.i, align 8 + %_M_storage.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1367, i64 32 + %call8.i1345 = invoke { ptr, ptr } @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS6_ERS5_(ptr noundef nonnull align 8 dereferenceable(48) %second.i553, ptr %__y.addr.0.lcssa.i.i.i9.i622, ptr noundef nonnull align 8 dereferenceable(8) %_M_storage.i.i.i.i) + to label %invoke.cont7.i1346 unwind label %lpad.i + +invoke.cont7.i1346: ; preds = %.noexc1368 + %176 = extractvalue { ptr, ptr } %call8.i1345, 0 + %177 = extractvalue { ptr, ptr } %call8.i1345, 1 + %tobool.not.i1347 = icmp eq ptr %177, null + br i1 %tobool.not.i1347, label %if.then.i.i1363, label %if.then.i1348 + +if.then.i1348: ; preds = %invoke.cont7.i1346 + %cmp.not.i.i.i1349 = icmp ne ptr %176, null + %cmp2.i.i.i1351 = icmp eq ptr %177, %add.ptr.i.i.i.i596 + %or.cond.i.i.i1352 = select i1 %cmp.not.i.i.i1349, i1 true, i1 %cmp2.i.i.i1351 + br i1 %or.cond.i.i.i1352, label %cleanup.thread.i1360, label %lor.rhs.i.i.i1353 + +lor.rhs.i.i.i1353: ; preds = %if.then.i1348 + %_M_storage.i.i.i.i.i.i1354 = getelementptr inbounds i8, ptr %177, i64 32 + %178 = load ptr, ptr %_M_storage.i.i.i.i, align 8 + %bf.load.i.i.i.i.i1355 = load i64, ptr %178, align 8 + %bf.clear.i.i.i.i.i1356 = and i64 %bf.load.i.i.i.i.i1355, 1099511627775 + %179 = load ptr, ptr %_M_storage.i.i.i.i.i.i1354, align 8 + %bf.load3.i.i.i.i.i1357 = load i64, ptr %179, align 8 + %bf.clear4.i.i.i.i.i1358 = and i64 %bf.load3.i.i.i.i.i1357, 1099511627775 + %cmp.i.i.i.i.i1359 = icmp samesign ult i64 %bf.clear.i.i.i.i.i1356, %bf.clear4.i.i.i.i.i1358 + br label %cleanup.thread.i1360 + +cleanup.thread.i1360: ; preds = %lor.rhs.i.i.i1353, %if.then.i1348 + %180 = phi i1 [ true, %if.then.i1348 ], [ %cmp.i.i.i.i.i1359, %lor.rhs.i.i.i1353 ] + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %180, ptr noundef nonnull %call5.i.i.i.i.i.i1367, ptr noundef nonnull %177, ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i.i.i.i596) #23 + %_M_node_count.i.i.i1361 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i552, i64 80 + %181 = load i64, ptr %_M_node_count.i.i.i1361, align 8 + %inc.i.i.i1362 = add i64 %181, 1 + store i64 %inc.i.i.i1362, ptr %_M_node_count.i.i.i1361, align 8 + br label %call12.i.noexc623 + +lpad.i: ; preds = %.noexc1368 + %182 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %__z.i) #23 + br label %lpad336.body + +if.then.i.i1363: ; preds = %invoke.cont7.i1346 + %183 = load ptr, ptr %_M_storage.i.i.i.i, align 8 + %bf.load.i.i.i.i.i.i.i.i.i = load i64, ptr %183, align 8 + %184 = and i64 %bf.load.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i1364 = icmp eq i64 %184, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i1364, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit.i.i, label %if.then.i.i.i.i.i.i.i.i.i1365 + +if.then.i.i.i.i.i.i.i.i.i1365: ; preds = %if.then.i.i1363 + %bf.value.i.i.i.i.i.i.i.i.i = add i64 %bf.load.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i = and i64 %bf.value.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i.i.i.i.i, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i, %bf.clear7.i.i.i.i.i.i.i.i.i + store i64 %bf.set.i.i.i.i.i.i.i.i.i, ptr %183, align 8 + %cmp12.i.i.i.i.i.i.i.i.i = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i, label %if.then13.i.i.i.i.i.i.i.i.i, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit.i.i + +if.then13.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i1365 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %183) + to label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit.i.i unwind label %terminate.lpad.i.i.i.i.i.i.i.i + +terminate.lpad.i.i.i.i.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i.i.i + %185 = landingpad { ptr, i32 } + catch ptr null + %186 = extractvalue { ptr, i32 } %185, 0 + call void @__clang_call_terminate(ptr %186) #25 + unreachable + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit.i.i: ; preds = %if.then13.i.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i.i1365, %if.then.i.i1363 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1367) #26 + br label %call12.i.noexc623 + +call12.i.noexc623: ; preds = %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit.i.i, %cleanup.thread.i1360 + %retval.sroa.0.07.i = phi ptr [ %call5.i.i.i.i.i.i1367, %cleanup.thread.i1360 ], [ %176, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit.i.i ] + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %__z.i) + br label %invoke.cont341 + +invoke.cont341: ; preds = %call12.i.noexc623, %lor.rhs.i614 + %__i.sroa.0.0.i619 = phi ptr [ %retval.sroa.0.07.i, %call12.i.noexc623 ], [ %__y.addr.1.i.i.i.i608, %lor.rhs.i614 ] + %second.i620 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i619, i64 40 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i593) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i594) + store i32 4, ptr %second.i620, align 4 + %187 = load ptr, ptr %_M_parent.i.i.i.i.i561, align 8 + %cmp.not5.i.i.i.i629 = icmp eq ptr %187, null + br i1 %cmp.not5.i.i.i.i629, label %if.then.i654, label %while.body.lr.ph.i.i.i.i630 + +while.body.lr.ph.i.i.i.i630: ; preds = %invoke.cont341 + %188 = load ptr, ptr %n, align 8 + %bf.load3.i.i.i.i.i.i631 = load i64, ptr %188, align 8 + %bf.clear4.i.i.i.i.i.i632 = and i64 %bf.load3.i.i.i.i.i.i631, 1099511627775 + br label %while.body.i.i.i.i633 + +while.body.i.i.i.i633: ; preds = %while.body.i.i.i.i633, %while.body.lr.ph.i.i.i.i630 + %__x.addr.07.i.i.i.i634 = phi ptr [ %187, %while.body.lr.ph.i.i.i.i630 ], [ %__x.addr.1.i.i.i.i643, %while.body.i.i.i.i633 ] + %__y.addr.06.i.i.i.i635 = phi ptr [ %add.ptr.i.i.i.i562, %while.body.lr.ph.i.i.i.i630 ], [ %__y.addr.1.i.i.i.i640, %while.body.i.i.i.i633 ] + %_M_storage.i.i.i.i.i.i636 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i634, i64 32 + %189 = load ptr, ptr %_M_storage.i.i.i.i.i.i636, align 8 + %bf.load.i.i.i.i.i.i637 = load i64, ptr %189, align 8 + %bf.clear.i.i.i.i.i.i638 = and i64 %bf.load.i.i.i.i.i.i637, 1099511627775 + %cmp.i.i.i.i.i.i639 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i638, %bf.clear4.i.i.i.i.i.i632 + %__y.addr.1.i.i.i.i640 = select i1 %cmp.i.i.i.i.i.i639, ptr %__y.addr.06.i.i.i.i635, ptr %__x.addr.07.i.i.i.i634 + %__x.addr.1.in.v.i.i.i.i641 = select i1 %cmp.i.i.i.i.i.i639, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i642 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i634, i64 %__x.addr.1.in.v.i.i.i.i641 + %__x.addr.1.i.i.i.i643 = load ptr, ptr %__x.addr.1.in.i.i.i.i642, align 8 + %cmp.not.i.i.i.i644 = icmp eq ptr %__x.addr.1.i.i.i.i643, null + br i1 %cmp.not.i.i.i.i644, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i645, label %while.body.i.i.i.i633, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i645: ; preds = %while.body.i.i.i.i633 + %cmp.i.i646 = icmp eq ptr %__y.addr.1.i.i.i.i640, %add.ptr.i.i.i.i562 + br i1 %cmp.i.i646, label %if.then.i654, label %lor.rhs.i647 + +lor.rhs.i647: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i645 + %_M_storage.i.i.i648 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i640, i64 32 + %190 = load ptr, ptr %_M_storage.i.i.i648, align 8 + %bf.load3.i.i.i649 = load i64, ptr %190, align 8 + %bf.clear4.i.i.i650 = and i64 %bf.load3.i.i.i649, 1099511627775 + %cmp.i.i.i651 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i632, %bf.clear4.i.i.i650 + br i1 %cmp.i.i.i651, label %if.then.i654, label %invoke.cont343 + +if.then.i654: ; preds = %lor.rhs.i647, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i645, %invoke.cont341 + %__y.addr.0.lcssa.i.i.i9.i655 = phi ptr [ %__y.addr.1.i.i.i.i640, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i645 ], [ %__y.addr.1.i.i.i.i640, %lor.rhs.i647 ], [ %add.ptr.i.i.i.i562, %invoke.cont341 ] + %call5.i.i.i.i.i.i1403 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #24 + to label %call5.i.i.i.i.i.i.noexc1402 unwind label %lpad336 + +call5.i.i.i.i.i.i.noexc1402: ; preds = %if.then.i654 + %_M_storage.i.i.i.i.i1373 = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1403, i64 32 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1372) + store i64 %143, ptr %agg.tmp6.i.i.i.i.i.i1372, align 8 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1371) + invoke void @_ZNSt4pairIKN4cvc58internal12NodeTemplateILb1EEES3_EC2IJRS4_EJLm0EEJETpTnmJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE(ptr noundef nonnull align 8 dereferenceable(16) %_M_storage.i.i.i.i.i1373, ptr noundef nonnull align 8 dereferenceable(8) %agg.tmp6.i.i.i.i.i.i1372, ptr noundef nonnull align 1 dereferenceable(1) %__second.i.i.i.i.i.i.i1371) + to label %invoke.cont.i1380 unwind label %lpad.i.i.i.i1374 + +lpad.i.i.i.i1374: ; preds = %call5.i.i.i.i.i.i.noexc1402 + %191 = landingpad { ptr, i32 } + catch ptr null + %192 = extractvalue { ptr, i32 } %191, 0 + %193 = call ptr @__cxa_begin_catch(ptr %192) #23 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1403) #26 + invoke void @__cxa_rethrow() #29 + to label %unreachable.i.i.i.i1379 unwind label %lpad7.i.i.i.i1375 + +lpad7.i.i.i.i1375: ; preds = %lpad.i.i.i.i1374 + %194 = landingpad { ptr, i32 } + cleanup + invoke void @__cxa_end_catch() + to label %lpad336.body unwind label %terminate.lpad.i.i.i.i1376 + +terminate.lpad.i.i.i.i1376: ; preds = %lpad7.i.i.i.i1375 + %195 = landingpad { ptr, i32 } + catch ptr null + %196 = extractvalue { ptr, i32 } %195, 0 + call void @__clang_call_terminate(ptr %196) #25 + unreachable + +unreachable.i.i.i.i1379: ; preds = %lpad.i.i.i.i1374 + unreachable + +invoke.cont.i1380: ; preds = %call5.i.i.i.i.i.i.noexc1402 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1371) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1372) + %call8.i1381 = invoke { ptr, ptr } @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS6_ERS5_(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr %__y.addr.0.lcssa.i.i.i9.i655, ptr noundef nonnull align 8 dereferenceable(8) %_M_storage.i.i.i.i.i1373) + to label %invoke.cont7.i1383 unwind label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1382 + +invoke.cont7.i1383: ; preds = %invoke.cont.i1380 + %197 = extractvalue { ptr, ptr } %call8.i1381, 0 + %198 = extractvalue { ptr, ptr } %call8.i1381, 1 + %tobool.not.i1384 = icmp eq ptr %198, null + br i1 %tobool.not.i1384, label %if.then.i7.i1401, label %if.then.i1385 + +if.then.i1385: ; preds = %invoke.cont7.i1383 + %cmp.not.i.i.i1386 = icmp ne ptr %197, null + %cmp2.i.i.i1388 = icmp eq ptr %198, %add.ptr.i.i.i.i562 + %or.cond.i.i.i1389 = select i1 %cmp.not.i.i.i1386, i1 true, i1 %cmp2.i.i.i1388 + br i1 %or.cond.i.i.i1389, label %cleanup.thread.i1397, label %lor.rhs.i.i.i1390 + +lor.rhs.i.i.i1390: ; preds = %if.then.i1385 + %_M_storage.i.i.i.i.i.i1391 = getelementptr inbounds i8, ptr %198, i64 32 + %199 = load ptr, ptr %_M_storage.i.i.i.i.i1373, align 8 + %bf.load.i.i.i.i.i1392 = load i64, ptr %199, align 8 + %bf.clear.i.i.i.i.i1393 = and i64 %bf.load.i.i.i.i.i1392, 1099511627775 + %200 = load ptr, ptr %_M_storage.i.i.i.i.i.i1391, align 8 + %bf.load3.i.i.i.i.i1394 = load i64, ptr %200, align 8 + %bf.clear4.i.i.i.i.i1395 = and i64 %bf.load3.i.i.i.i.i1394, 1099511627775 + %cmp.i.i.i.i.i1396 = icmp samesign ult i64 %bf.clear.i.i.i.i.i1393, %bf.clear4.i.i.i.i.i1395 + br label %cleanup.thread.i1397 + +cleanup.thread.i1397: ; preds = %lor.rhs.i.i.i1390, %if.then.i1385 + %201 = phi i1 [ true, %if.then.i1385 ], [ %cmp.i.i.i.i.i1396, %lor.rhs.i.i.i1390 ] + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %201, ptr noundef nonnull %call5.i.i.i.i.i.i1403, ptr noundef nonnull %198, ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i.i.i.i562) #23 + %202 = load i64, ptr %_M_node_count.i.i.i1341, align 8 + %inc.i.i.i1399 = add i64 %202, 1 + store i64 %inc.i.i.i1399, ptr %_M_node_count.i.i.i1341, align 8 + br label %invoke.cont343 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1382: ; preds = %invoke.cont.i1380 + %203 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr noundef nonnull %call5.i.i.i.i.i.i1403) #23 + br label %lpad336.body + +if.then.i7.i1401: ; preds = %invoke.cont7.i1383 + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr noundef nonnull %call5.i.i.i.i.i.i1403) #23 + br label %invoke.cont343 + +invoke.cont343: ; preds = %lor.rhs.i647, %if.then.i7.i1401, %cleanup.thread.i1397 + %__i.sroa.0.0.i652 = phi ptr [ %__y.addr.1.i.i.i.i640, %lor.rhs.i647 ], [ %call5.i.i.i.i.i.i1403, %cleanup.thread.i1397 ], [ %197, %if.then.i7.i1401 ] + %second.i653 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i652, i64 40 + %204 = load ptr, ptr %_M_parent.i.i.i.i.i498, align 8 + %cmp.not5.i.i.i.i663 = icmp eq ptr %204, null + br i1 %cmp.not5.i.i.i.i663, label %if.then.i688, label %while.body.lr.ph.i.i.i.i664 + +while.body.lr.ph.i.i.i.i664: ; preds = %invoke.cont343 + %205 = load ptr, ptr %n, align 8 + %bf.load3.i.i.i.i.i.i665 = load i64, ptr %205, align 8 + %bf.clear4.i.i.i.i.i.i666 = and i64 %bf.load3.i.i.i.i.i.i665, 1099511627775 + br label %while.body.i.i.i.i667 + +while.body.i.i.i.i667: ; preds = %while.body.i.i.i.i667, %while.body.lr.ph.i.i.i.i664 + %__x.addr.07.i.i.i.i668 = phi ptr [ %204, %while.body.lr.ph.i.i.i.i664 ], [ %__x.addr.1.i.i.i.i677, %while.body.i.i.i.i667 ] + %__y.addr.06.i.i.i.i669 = phi ptr [ %142, %while.body.lr.ph.i.i.i.i664 ], [ %__y.addr.1.i.i.i.i674, %while.body.i.i.i.i667 ] + %_M_storage.i.i.i.i.i.i670 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i668, i64 32 + %206 = load ptr, ptr %_M_storage.i.i.i.i.i.i670, align 8 + %bf.load.i.i.i.i.i.i671 = load i64, ptr %206, align 8 + %bf.clear.i.i.i.i.i.i672 = and i64 %bf.load.i.i.i.i.i.i671, 1099511627775 + %cmp.i.i.i.i.i.i673 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i672, %bf.clear4.i.i.i.i.i.i666 + %__y.addr.1.i.i.i.i674 = select i1 %cmp.i.i.i.i.i.i673, ptr %__y.addr.06.i.i.i.i669, ptr %__x.addr.07.i.i.i.i668 + %__x.addr.1.in.v.i.i.i.i675 = select i1 %cmp.i.i.i.i.i.i673, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i676 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i668, i64 %__x.addr.1.in.v.i.i.i.i675 + %__x.addr.1.i.i.i.i677 = load ptr, ptr %__x.addr.1.in.i.i.i.i676, align 8 + %cmp.not.i.i.i.i678 = icmp eq ptr %__x.addr.1.i.i.i.i677, null + br i1 %cmp.not.i.i.i.i678, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i679, label %while.body.i.i.i.i667, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i679: ; preds = %while.body.i.i.i.i667 + %cmp.i.i680 = icmp eq ptr %__y.addr.1.i.i.i.i674, %142 + br i1 %cmp.i.i680, label %if.then.i688, label %lor.rhs.i681 + +lor.rhs.i681: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i679 + %__y.addr.1.i.i.i.i674.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i673, ptr %__y.addr.06.i.i.i.i669, ptr %__x.addr.07.i.i.i.i668 + %__y.addr.1.i.i.i.i674.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i674.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %207 = load ptr, ptr %__y.addr.1.i.i.i.i674.sroa.sel.v.sroa.sel.v.sroa.sel, align 8 + %bf.load3.i.i.i683 = load i64, ptr %207, align 8 + %bf.clear4.i.i.i684 = and i64 %bf.load3.i.i.i683, 1099511627775 + %cmp.i.i.i685 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i666, %bf.clear4.i.i.i684 + br i1 %cmp.i.i.i685, label %if.then.i688, label %invoke.cont345 + +if.then.i688: ; preds = %lor.rhs.i681, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i679, %invoke.cont343 + %__y.addr.0.lcssa.i.i.i9.i689 = phi ptr [ %__y.addr.1.i.i.i.i674, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i679 ], [ %__y.addr.1.i.i.i.i674, %lor.rhs.i681 ], [ %142, %invoke.cont343 ] + %call5.i.i.i.i.i.i1439 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #24 + to label %call5.i.i.i.i.i.i.noexc1438 unwind label %lpad336 + +call5.i.i.i.i.i.i.noexc1438: ; preds = %if.then.i688 + %_M_storage.i.i.i.i.i1409 = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1439, i64 32 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1408) + store i64 %143, ptr %agg.tmp6.i.i.i.i.i.i1408, align 8 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1407) + invoke void @_ZNSt4pairIKN4cvc58internal12NodeTemplateILb1EEES3_EC2IJRS4_EJLm0EEJETpTnmJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE(ptr noundef nonnull align 8 dereferenceable(16) %_M_storage.i.i.i.i.i1409, ptr noundef nonnull align 8 dereferenceable(8) %agg.tmp6.i.i.i.i.i.i1408, ptr noundef nonnull align 1 dereferenceable(1) %__second.i.i.i.i.i.i.i1407) + to label %invoke.cont.i1416 unwind label %lpad.i.i.i.i1410 + +lpad.i.i.i.i1410: ; preds = %call5.i.i.i.i.i.i.noexc1438 + %208 = landingpad { ptr, i32 } + catch ptr null + %209 = extractvalue { ptr, i32 } %208, 0 + %210 = call ptr @__cxa_begin_catch(ptr %209) #23 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1439) #26 + invoke void @__cxa_rethrow() #29 + to label %unreachable.i.i.i.i1415 unwind label %lpad7.i.i.i.i1411 + +lpad7.i.i.i.i1411: ; preds = %lpad.i.i.i.i1410 + %211 = landingpad { ptr, i32 } + cleanup + invoke void @__cxa_end_catch() + to label %lpad336.body unwind label %terminate.lpad.i.i.i.i1412 + +terminate.lpad.i.i.i.i1412: ; preds = %lpad7.i.i.i.i1411 + %212 = landingpad { ptr, i32 } + catch ptr null + %213 = extractvalue { ptr, i32 } %212, 0 + call void @__clang_call_terminate(ptr %213) #25 + unreachable + +unreachable.i.i.i.i1415: ; preds = %lpad.i.i.i.i1410 + unreachable + +invoke.cont.i1416: ; preds = %call5.i.i.i.i.i.i.noexc1438 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1407) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1408) + %call8.i1417 = invoke { ptr, ptr } @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS6_ERS5_(ptr noundef nonnull align 8 dereferenceable(48) %dni_rem, ptr %__y.addr.0.lcssa.i.i.i9.i689, ptr noundef nonnull align 8 dereferenceable(8) %_M_storage.i.i.i.i.i1409) + to label %invoke.cont7.i1419 unwind label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1418 + +invoke.cont7.i1419: ; preds = %invoke.cont.i1416 + %214 = extractvalue { ptr, ptr } %call8.i1417, 0 + %215 = extractvalue { ptr, ptr } %call8.i1417, 1 + %tobool.not.i1420 = icmp eq ptr %215, null + br i1 %tobool.not.i1420, label %if.then.i7.i1437, label %if.then.i1421 + +if.then.i1421: ; preds = %invoke.cont7.i1419 + %cmp.not.i.i.i1422 = icmp ne ptr %214, null + %cmp2.i.i.i1424 = icmp eq ptr %215, %142 + %or.cond.i.i.i1425 = or i1 %cmp.not.i.i.i1422, %cmp2.i.i.i1424 + br i1 %or.cond.i.i.i1425, label %cleanup.thread.i1433, label %lor.rhs.i.i.i1426 + +lor.rhs.i.i.i1426: ; preds = %if.then.i1421 + %_M_storage.i.i.i.i.i.i1427 = getelementptr inbounds i8, ptr %215, i64 32 + %216 = load ptr, ptr %_M_storage.i.i.i.i.i1409, align 8 + %bf.load.i.i.i.i.i1428 = load i64, ptr %216, align 8 + %bf.clear.i.i.i.i.i1429 = and i64 %bf.load.i.i.i.i.i1428, 1099511627775 + %217 = load ptr, ptr %_M_storage.i.i.i.i.i.i1427, align 8 + %bf.load3.i.i.i.i.i1430 = load i64, ptr %217, align 8 + %bf.clear4.i.i.i.i.i1431 = and i64 %bf.load3.i.i.i.i.i1430, 1099511627775 + %cmp.i.i.i.i.i1432 = icmp samesign ult i64 %bf.clear.i.i.i.i.i1429, %bf.clear4.i.i.i.i.i1431 + br label %cleanup.thread.i1433 + +cleanup.thread.i1433: ; preds = %lor.rhs.i.i.i1426, %if.then.i1421 + %218 = phi i1 [ true, %if.then.i1421 ], [ %cmp.i.i.i.i.i1432, %lor.rhs.i.i.i1426 ] + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %218, ptr noundef nonnull %call5.i.i.i.i.i.i1439, ptr noundef nonnull %215, ptr noundef nonnull align 8 dereferenceable(32) %142) #23 + %219 = load i64, ptr %_M_node_count.i.i.i.i.i501, align 8 + %inc.i.i.i1435 = add i64 %219, 1 + store i64 %inc.i.i.i1435, ptr %_M_node_count.i.i.i.i.i501, align 8 + br label %invoke.cont345 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1418: ; preds = %invoke.cont.i1416 + %220 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %dni_rem, ptr noundef nonnull %call5.i.i.i.i.i.i1439) #23 + br label %lpad336.body + +if.then.i7.i1437: ; preds = %invoke.cont7.i1419 + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %dni_rem, ptr noundef nonnull %call5.i.i.i.i.i.i1439) #23 + br label %invoke.cont345 + +invoke.cont345: ; preds = %lor.rhs.i681, %if.then.i7.i1437, %cleanup.thread.i1433 + %__i.sroa.0.0.i686 = phi ptr [ %__y.addr.1.i.i.i.i674, %lor.rhs.i681 ], [ %call5.i.i.i.i.i.i1439, %cleanup.thread.i1433 ], [ %214, %if.then.i7.i1437 ] + %second.i687 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i686, i64 40 + %221 = load ptr, ptr %second.i687, align 8 + %222 = load ptr, ptr %second.i653, align 8 + %cmp.not.i693 = icmp eq ptr %221, %222 + br i1 %cmp.not.i693, label %invoke.cont347, label %if.then.i694 + +if.then.i694: ; preds = %invoke.cont345 + %bf.load.i.i695 = load i64, ptr %221, align 8 + %223 = and i64 %bf.load.i.i695, 1152920405095219200 + %cmp.not.i.i696 = icmp eq i64 %223, 1152920405095219200 + br i1 %cmp.not.i.i696, label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i703, label %if.then.i.i697 + +if.then.i.i697: ; preds = %if.then.i694 + %bf.value.i.i698 = add i64 %bf.load.i.i695, 1152920405095219200 + %bf.shl.i.i699 = and i64 %bf.value.i.i698, 1152920405095219200 + %bf.clear7.i.i700 = and i64 %bf.load.i.i695, -1152920405095219201 + %bf.set.i.i701 = or disjoint i64 %bf.shl.i.i699, %bf.clear7.i.i700 + store i64 %bf.set.i.i701, ptr %221, align 8 + %cmp12.i.i702 = icmp eq i64 %bf.shl.i.i699, 0 + br i1 %cmp12.i.i702, label %if.then13.i.i717, label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i703 + +if.then13.i.i717: ; preds = %if.then.i.i697 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %221) + to label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i703 unwind label %lpad336 + +_ZN4cvc58internal4expr9NodeValue3decEv.exit.i703: ; preds = %if.then13.i.i717, %if.then.i.i697, %if.then.i694 + %224 = load ptr, ptr %second.i653, align 8 + store ptr %224, ptr %second.i687, align 8 + %bf.load.i2.i704 = load i64, ptr %224, align 8 + %bf.lshr.i.i705 = lshr i64 %bf.load.i2.i704, 40 + %225 = trunc nuw nsw i64 %bf.lshr.i.i705 to i32 + %bf.cast.i.i706 = and i32 %225, 1048575 + %cmp.i.i707 = icmp samesign ult i32 %bf.cast.i.i706, 1048574 + br i1 %cmp.i.i707, label %if.then.i5.i712, label %if.else.i.i708 + +if.then.i5.i712: ; preds = %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i703 + %bf.value.i6.i713 = add i64 %bf.load.i2.i704, 1099511627776 + %bf.shl.i7.i714 = and i64 %bf.value.i6.i713, 1152920405095219200 + %bf.clear7.i8.i715 = and i64 %bf.load.i2.i704, -1152920405095219201 + %bf.set.i9.i716 = or disjoint i64 %bf.shl.i7.i714, %bf.clear7.i8.i715 + store i64 %bf.set.i9.i716, ptr %224, align 8 + br label %invoke.cont347 + +if.else.i.i708: ; preds = %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i703 + %cmp12.i3.i709 = icmp eq i32 %bf.cast.i.i706, 1048574 + br i1 %cmp12.i3.i709, label %if.then13.i4.i710, label %invoke.cont347 + +if.then13.i4.i710: ; preds = %if.else.i.i708 + %bf.set23.i.i711 = or i64 %bf.load.i2.i704, 1152920405095219200 + store i64 %bf.set23.i.i711, ptr %224, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %224) + to label %invoke.cont347 unwind label %lpad336 + +invoke.cont347: ; preds = %if.else.i.i708, %if.then.i5.i712, %invoke.cont345, %if.then13.i4.i710 + %226 = load ptr, ptr %n, align 8 + %bf.load.i.i721 = load i64, ptr %226, align 8 + %227 = and i64 %bf.load.i.i721, 1152920405095219200 + %cmp.not.i.i722 = icmp eq i64 %227, 1152920405095219200 + br i1 %cmp.not.i.i722, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732, label %if.then.i.i723 + +if.then.i.i723: ; preds = %invoke.cont347 + %bf.value.i.i724 = add i64 %bf.load.i.i721, 1152920405095219200 + %bf.shl.i.i725 = and i64 %bf.value.i.i724, 1152920405095219200 + %bf.clear7.i.i726 = and i64 %bf.load.i.i721, -1152920405095219201 + %bf.set.i.i727 = or disjoint i64 %bf.shl.i.i725, %bf.clear7.i.i726 + store i64 %bf.set.i.i727, ptr %226, align 8 + %cmp12.i.i728 = icmp eq i64 %bf.shl.i.i725, 0 + br i1 %cmp12.i.i728, label %if.then13.i.i730, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732 + +if.then13.i.i730: ; preds = %if.then.i.i723 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %226) + to label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732 unwind label %terminate.lpad.i731 + +terminate.lpad.i731: ; preds = %if.then13.i.i730 + %228 = landingpad { ptr, i32 } + catch ptr null + %229 = extractvalue { ptr, i32 } %228, 0 + call void @__clang_call_terminate(ptr %229) #25 + unreachable + +_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732: ; preds = %invoke.cont347, %if.then.i.i723, %if.then13.i.i730 + %inc351 = add i32 %i322.01779, 1 + %conv324 = zext i32 %inc351 to i64 + %230 = load ptr, ptr %_M_finish.i493, align 8 + %231 = load ptr, ptr %second318, align 8 + %sub.ptr.lhs.cast.i504 = ptrtoint ptr %230 to i64 + %sub.ptr.rhs.cast.i505 = ptrtoint ptr %231 to i64 + %sub.ptr.sub.i506 = sub i64 %sub.ptr.lhs.cast.i504, %sub.ptr.rhs.cast.i505 + %sub.ptr.div.i507 = ashr exact i64 %sub.ptr.sub.i506, 3 + %cmp328 = icmp ugt i64 %sub.ptr.div.i507, %conv324 + br i1 %cmp328, label %for.body329, label %for.end352, !llvm.loop !280 + +lpad334: ; preds = %if.then13.i.i516 + %232 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup532 + +lpad336: ; preds = %if.then.i688, %if.then.i654, %call5.i.i.i.i.i.i.noexc1366, %if.then.i621, %if.then.i588, %if.then13.i4.i710, %if.then13.i.i717, %if.then.i554 + %233 = landingpad { ptr, i32 } + cleanup + br label %lpad336.body + +lpad336.body: ; preds = %lpad.i, %lpad336, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1418, %lpad7.i.i.i.i1411, %lpad7.i.i.i.i1375, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1382, %lpad7.i.i.i.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i + %eh.lpad-body1343 = phi { ptr, i32 } [ %171, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i ], [ %162, %lpad7.i.i.i.i ], [ %182, %lpad.i ], [ %203, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1382 ], [ %194, %lpad7.i.i.i.i1375 ], [ %233, %lpad336 ], [ %220, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1418 ], [ %211, %lpad7.i.i.i.i1411 ] + call void @_ZN4cvc58internal12NodeTemplateILb1EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %n) #23 + br label %ehcleanup532 + +for.end352: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit732, %if.then321 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %split_new_part, i8 0, i64 24, i1 false) + invoke void @_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE9push_backERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %split_new_part, ptr noundef nonnull align 8 dereferenceable(24) %second318) + to label %invoke.cont356 unwind label %lpad355.loopexit.split-lp + +invoke.cont356: ; preds = %for.end352 + %234 = load ptr, ptr %second318, align 8 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i736) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i737) + %235 = load ptr, ptr %_M_parent.i.i.i.i.i26, align 8 + %cmp.not5.i.i.i.i740 = icmp eq ptr %235, null + br i1 %cmp.not5.i.i.i.i740, label %if.then.i765, label %while.body.lr.ph.i.i.i.i741 + +while.body.lr.ph.i.i.i.i741: ; preds = %invoke.cont356 + %236 = load ptr, ptr %234, align 8 + %bf.load3.i.i.i.i.i.i742 = load i64, ptr %236, align 8 + %bf.clear4.i.i.i.i.i.i743 = and i64 %bf.load3.i.i.i.i.i.i742, 1099511627775 + br label %while.body.i.i.i.i744 + +while.body.i.i.i.i744: ; preds = %while.body.i.i.i.i744, %while.body.lr.ph.i.i.i.i741 + %__x.addr.07.i.i.i.i745 = phi ptr [ %235, %while.body.lr.ph.i.i.i.i741 ], [ %__x.addr.1.i.i.i.i754, %while.body.i.i.i.i744 ] + %__y.addr.06.i.i.i.i746 = phi ptr [ %3, %while.body.lr.ph.i.i.i.i741 ], [ %__y.addr.1.i.i.i.i751, %while.body.i.i.i.i744 ] + %_M_storage.i.i.i.i.i.i747 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i745, i64 32 + %237 = load ptr, ptr %_M_storage.i.i.i.i.i.i747, align 8 + %bf.load.i.i.i.i.i.i748 = load i64, ptr %237, align 8 + %bf.clear.i.i.i.i.i.i749 = and i64 %bf.load.i.i.i.i.i.i748, 1099511627775 + %cmp.i.i.i.i.i.i750 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i749, %bf.clear4.i.i.i.i.i.i743 + %__y.addr.1.i.i.i.i751 = select i1 %cmp.i.i.i.i.i.i750, ptr %__y.addr.06.i.i.i.i746, ptr %__x.addr.07.i.i.i.i745 + %__x.addr.1.in.v.i.i.i.i752 = select i1 %cmp.i.i.i.i.i.i750, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i753 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i745, i64 %__x.addr.1.in.v.i.i.i.i752 + %__x.addr.1.i.i.i.i754 = load ptr, ptr %__x.addr.1.in.i.i.i.i753, align 8 + %cmp.not.i.i.i.i755 = icmp eq ptr %__x.addr.1.i.i.i.i754, null + br i1 %cmp.not.i.i.i.i755, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i756, label %while.body.i.i.i.i744, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i756: ; preds = %while.body.i.i.i.i744 + %cmp.i.i757 = icmp eq ptr %__y.addr.1.i.i.i.i751, %3 + br i1 %cmp.i.i757, label %if.then.i765, label %lor.rhs.i758 + +lor.rhs.i758: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i756 + %__y.addr.1.i.i.i.i751.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i750, ptr %__y.addr.06.i.i.i.i746, ptr %__x.addr.07.i.i.i.i745 + %__y.addr.1.i.i.i.i751.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i751.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %238 = load ptr, ptr %__y.addr.1.i.i.i.i751.sroa.sel.v.sroa.sel.v.sroa.sel, align 8 + %bf.load3.i.i.i760 = load i64, ptr %238, align 8 + %bf.clear4.i.i.i761 = and i64 %bf.load3.i.i.i760, 1099511627775 + %cmp.i.i.i762 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i743, %bf.clear4.i.i.i761 + br i1 %cmp.i.i.i762, label %if.then.i765, label %invoke.cont360 + +if.then.i765: ; preds = %lor.rhs.i758, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i756, %invoke.cont356 + %__y.addr.0.lcssa.i.i.i9.i766 = phi ptr [ %__y.addr.1.i.i.i.i751, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i756 ], [ %__y.addr.1.i.i.i.i751, %lor.rhs.i758 ], [ %3, %invoke.cont356 ] + store ptr %234, ptr %ref.tmp9.i736, align 8 + %call12.i768 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESH_IJEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %cn_cons, ptr %__y.addr.0.lcssa.i.i.i9.i766, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i736, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i737) + to label %invoke.cont360 unwind label %lpad355.loopexit.split-lp + +invoke.cont360: ; preds = %lor.rhs.i758, %if.then.i765 + %__i.sroa.0.0.i763 = phi ptr [ %__y.addr.1.i.i.i.i751, %lor.rhs.i758 ], [ %call12.i768, %if.then.i765 ] + %second.i764 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i763, i64 40 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i736) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i737) + %239 = load ptr, ptr %second.i764, align 8 + %d_kind.i.i.i.i = getelementptr inbounds i8, ptr %239, i64 8 + %bf.load.i.i.i.i = load i16, ptr %d_kind.i.i.i.i, align 8 + %bf.clear.i.i.i.i = and i16 %bf.load.i.i.i.i, 1023 + %bf.cast.i.i.i.i = zext nneg i16 %bf.clear.i.i.i.i to i32 + %cmp.i.i.i.i.i770 = icmp eq i16 %bf.clear.i.i.i.i, 1023 + %cond.i.i.i.i.i = select i1 %cmp.i.i.i.i.i770, i32 -1, i32 %bf.cast.i.i.i.i + %call2.i.i.i773 = invoke noundef i32 @_ZN4cvc58internal4kind10metaKindOfENS1_6Kind_tE(i32 noundef %cond.i.i.i.i.i) + to label %invoke.cont362 unwind label %lpad355.loopexit.split-lp + +invoke.cont362: ; preds = %invoke.cont360 + %cmp.i.i771 = icmp eq i32 %call2.i.i.i773, 2 + %d_nchildren.i.i = getelementptr inbounds i8, ptr %239, i64 12 + %bf.load.i.i772 = load i32, ptr %d_nchildren.i.i, align 4 + %bf.clear.i.i = and i32 %bf.load.i.i772, 67108863 + %sub.i.i = sext i1 %cmp.i.i771 to i32 + %cond.i.i = add nsw i32 %bf.clear.i.i, %sub.i.i + %cmp3651799.not = icmp eq i32 %cond.i.i, 0 + br i1 %cmp3651799.not, label %while.end, label %land.rhs + +land.rhs: ; preds = %invoke.cont362, %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1120 + %cindex.01800 = phi i32 [ %inc493, %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1120 ], [ 0, %invoke.cont362 ] + %240 = load ptr, ptr %split_new_part, align 8 + %241 = load ptr, ptr %_M_finish.i.i774, align 8 + %cmp.i.i775 = icmp eq ptr %240, %241 + br i1 %cmp.i.i775, label %while.end, label %for.cond400.preheader.preheader + +lpad355.loopexit: ; preds = %if.then.i1199 + %lpad.loopexit1600 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup531 + +lpad355.loopexit.split-lp: ; preds = %for.end352, %if.then.i765, %invoke.cont360, %while.end + %lpad.loopexit.split-lp1601 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup531 + +for.cond400.preheader.preheader: ; preds = %land.rhs + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %next_split_new_part, i8 0, i64 24, i1 false) + br label %for.cond400.preheader + +for.cond400.preheader: ; preds = %for.cond400.preheader.preheader, %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit + %242 = phi ptr [ %367, %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit ], [ %240, %for.cond400.preheader.preheader ] + %conv3961796 = phi i64 [ %conv396, %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit ], [ 0, %for.cond400.preheader.preheader ] + %j394.01795 = phi i32 [ %inc474, %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit ], [ 0, %for.cond400.preheader.preheader ] + %add.ptr.i7811781 = getelementptr inbounds %"class.std::vector.525", ptr %242, i64 %conv3961796 + %_M_finish.i7821782 = getelementptr inbounds i8, ptr %add.ptr.i7811781, i64 8 + %243 = load ptr, ptr %_M_finish.i7821782, align 8 + %244 = load ptr, ptr %add.ptr.i7811781, align 8 + %cmp4051787.not = icmp eq ptr %243, %244 + br i1 %cmp4051787.not, label %for.end449, label %for.body406 + +for.body406: ; preds = %for.cond400.preheader, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019 + %245 = phi ptr [ %341, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019 ], [ %244, %for.cond400.preheader ] + %conv4011789 = phi i64 [ %conv401, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019 ], [ 0, %for.cond400.preheader ] + %k.01788 = phi i32 [ %inc448, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019 ], [ 0, %for.cond400.preheader ] + %add.ptr.i788 = getelementptr inbounds %"class.cvc5::internal::NodeTemplate", ptr %245, i64 %conv4011789 + %246 = load ptr, ptr %add.ptr.i788, align 8 + store ptr %246, ptr %n407, align 8 + %bf.load.i.i789 = load i64, ptr %246, align 8 + %bf.lshr.i.i790 = lshr i64 %bf.load.i.i789, 40 + %247 = trunc nuw nsw i64 %bf.lshr.i.i790 to i32 + %bf.cast.i.i791 = and i32 %247, 1048575 + %cmp.i.i792 = icmp samesign ult i32 %bf.cast.i.i791, 1048574 + br i1 %cmp.i.i792, label %if.then.i.i797, label %if.else.i.i793 + +if.then.i.i797: ; preds = %for.body406 + %bf.value.i.i798 = add i64 %bf.load.i.i789, 1099511627776 + %bf.shl.i.i799 = and i64 %bf.value.i.i798, 1152920405095219200 + %bf.clear7.i.i800 = and i64 %bf.load.i.i789, -1152920405095219201 + %bf.set.i.i801 = or disjoint i64 %bf.shl.i.i799, %bf.clear7.i.i800 + store i64 %bf.set.i.i801, ptr %246, align 8 + br label %invoke.cont413 + +if.else.i.i793: ; preds = %for.body406 + %cmp12.i.i794 = icmp eq i32 %bf.cast.i.i791, 1048574 + br i1 %cmp12.i.i794, label %if.then13.i.i795, label %invoke.cont413 + +if.then13.i.i795: ; preds = %if.else.i.i793 + %bf.set23.i.i796 = or i64 %bf.load.i.i789, 1152920405095219200 + store i64 %bf.set23.i.i796, ptr %246, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %246) + to label %invoke.cont413 unwind label %lpad412.loopexit + +invoke.cont413: ; preds = %if.else.i.i793, %if.then.i.i797, %if.then13.i.i795 + %248 = load ptr, ptr %_M_parent.i.i.i.i.i26, align 8 + %cmp.not5.i.i.i.i808 = icmp eq ptr %248, null + br i1 %cmp.not5.i.i.i.i808, label %if.then.i833, label %while.body.lr.ph.i.i.i.i809 + +while.body.lr.ph.i.i.i.i809: ; preds = %invoke.cont413 + %249 = load ptr, ptr %n407, align 8 + %bf.load3.i.i.i.i.i.i810 = load i64, ptr %249, align 8 + %bf.clear4.i.i.i.i.i.i811 = and i64 %bf.load3.i.i.i.i.i.i810, 1099511627775 + br label %while.body.i.i.i.i812 + +while.body.i.i.i.i812: ; preds = %while.body.i.i.i.i812, %while.body.lr.ph.i.i.i.i809 + %__x.addr.07.i.i.i.i813 = phi ptr [ %248, %while.body.lr.ph.i.i.i.i809 ], [ %__x.addr.1.i.i.i.i822, %while.body.i.i.i.i812 ] + %__y.addr.06.i.i.i.i814 = phi ptr [ %3, %while.body.lr.ph.i.i.i.i809 ], [ %__y.addr.1.i.i.i.i819, %while.body.i.i.i.i812 ] + %_M_storage.i.i.i.i.i.i815 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i813, i64 32 + %250 = load ptr, ptr %_M_storage.i.i.i.i.i.i815, align 8 + %bf.load.i.i.i.i.i.i816 = load i64, ptr %250, align 8 + %bf.clear.i.i.i.i.i.i817 = and i64 %bf.load.i.i.i.i.i.i816, 1099511627775 + %cmp.i.i.i.i.i.i818 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i817, %bf.clear4.i.i.i.i.i.i811 + %__y.addr.1.i.i.i.i819 = select i1 %cmp.i.i.i.i.i.i818, ptr %__y.addr.06.i.i.i.i814, ptr %__x.addr.07.i.i.i.i813 + %__x.addr.1.in.v.i.i.i.i820 = select i1 %cmp.i.i.i.i.i.i818, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i821 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i813, i64 %__x.addr.1.in.v.i.i.i.i820 + %__x.addr.1.i.i.i.i822 = load ptr, ptr %__x.addr.1.in.i.i.i.i821, align 8 + %cmp.not.i.i.i.i823 = icmp eq ptr %__x.addr.1.i.i.i.i822, null + br i1 %cmp.not.i.i.i.i823, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i824, label %while.body.i.i.i.i812, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i824: ; preds = %while.body.i.i.i.i812 + %cmp.i.i825 = icmp eq ptr %__y.addr.1.i.i.i.i819, %3 + br i1 %cmp.i.i825, label %if.then.i833, label %lor.rhs.i826 + +lor.rhs.i826: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i824 + %__y.addr.1.i.i.i.i819.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i818, ptr %__y.addr.06.i.i.i.i814, ptr %__x.addr.07.i.i.i.i813 + %__y.addr.1.i.i.i.i819.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i819.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 + %251 = load ptr, ptr %__y.addr.1.i.i.i.i819.sroa.sel.v.sroa.sel.v.sroa.sel, align 8 + %bf.load3.i.i.i828 = load i64, ptr %251, align 8 + %bf.clear4.i.i.i829 = and i64 %bf.load3.i.i.i828, 1099511627775 + %cmp.i.i.i830 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i811, %bf.clear4.i.i.i829 + br i1 %cmp.i.i.i830, label %if.then.i833, label %invoke.cont415 + +if.then.i833: ; preds = %lor.rhs.i826, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i824, %invoke.cont413 + %__y.addr.0.lcssa.i.i.i9.i834 = phi ptr [ %__y.addr.1.i.i.i.i819, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i824 ], [ %__y.addr.1.i.i.i.i819, %lor.rhs.i826 ], [ %3, %invoke.cont413 ] + %call5.i.i.i.i.i.i1475 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #24 + to label %call5.i.i.i.i.i.i.noexc1474 unwind label %lpad414 + +call5.i.i.i.i.i.i.noexc1474: ; preds = %if.then.i833 + %_M_storage.i.i.i.i.i1445 = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1475, i64 32 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1444) + store i64 %144, ptr %agg.tmp6.i.i.i.i.i.i1444, align 8 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1443) + invoke void @_ZNSt4pairIKN4cvc58internal12NodeTemplateILb1EEES3_EC2IJRS4_EJLm0EEJETpTnmJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE(ptr noundef nonnull align 8 dereferenceable(16) %_M_storage.i.i.i.i.i1445, ptr noundef nonnull align 8 dereferenceable(8) %agg.tmp6.i.i.i.i.i.i1444, ptr noundef nonnull align 1 dereferenceable(1) %__second.i.i.i.i.i.i.i1443) + to label %invoke.cont.i1452 unwind label %lpad.i.i.i.i1446 + +lpad.i.i.i.i1446: ; preds = %call5.i.i.i.i.i.i.noexc1474 + %252 = landingpad { ptr, i32 } + catch ptr null + %253 = extractvalue { ptr, i32 } %252, 0 + %254 = call ptr @__cxa_begin_catch(ptr %253) #23 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1475) #26 + invoke void @__cxa_rethrow() #29 + to label %unreachable.i.i.i.i1451 unwind label %lpad7.i.i.i.i1447 + +lpad7.i.i.i.i1447: ; preds = %lpad.i.i.i.i1446 + %255 = landingpad { ptr, i32 } + cleanup + invoke void @__cxa_end_catch() + to label %ehcleanup446 unwind label %terminate.lpad.i.i.i.i1448 + +terminate.lpad.i.i.i.i1448: ; preds = %lpad7.i.i.i.i1447 + %256 = landingpad { ptr, i32 } + catch ptr null + %257 = extractvalue { ptr, i32 } %256, 0 + call void @__clang_call_terminate(ptr %257) #25 + unreachable + +unreachable.i.i.i.i1451: ; preds = %lpad.i.i.i.i1446 + unreachable + +invoke.cont.i1452: ; preds = %call5.i.i.i.i.i.i.noexc1474 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1443) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1444) + %call8.i1453 = invoke { ptr, ptr } @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS6_ERS5_(ptr noundef nonnull align 8 dereferenceable(48) %cn_cons, ptr %__y.addr.0.lcssa.i.i.i9.i834, ptr noundef nonnull align 8 dereferenceable(8) %_M_storage.i.i.i.i.i1445) + to label %invoke.cont7.i1455 unwind label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1454 + +invoke.cont7.i1455: ; preds = %invoke.cont.i1452 + %258 = extractvalue { ptr, ptr } %call8.i1453, 0 + %259 = extractvalue { ptr, ptr } %call8.i1453, 1 + %tobool.not.i1456 = icmp eq ptr %259, null + br i1 %tobool.not.i1456, label %if.then.i7.i1473, label %if.then.i1457 + +if.then.i1457: ; preds = %invoke.cont7.i1455 + %cmp.not.i.i.i1458 = icmp ne ptr %258, null + %cmp2.i.i.i1460 = icmp eq ptr %259, %3 + %or.cond.i.i.i1461 = or i1 %cmp.not.i.i.i1458, %cmp2.i.i.i1460 + br i1 %or.cond.i.i.i1461, label %cleanup.thread.i1469, label %lor.rhs.i.i.i1462 + +lor.rhs.i.i.i1462: ; preds = %if.then.i1457 + %_M_storage.i.i.i.i.i.i1463 = getelementptr inbounds i8, ptr %259, i64 32 + %260 = load ptr, ptr %_M_storage.i.i.i.i.i1445, align 8 + %bf.load.i.i.i.i.i1464 = load i64, ptr %260, align 8 + %bf.clear.i.i.i.i.i1465 = and i64 %bf.load.i.i.i.i.i1464, 1099511627775 + %261 = load ptr, ptr %_M_storage.i.i.i.i.i.i1463, align 8 + %bf.load3.i.i.i.i.i1466 = load i64, ptr %261, align 8 + %bf.clear4.i.i.i.i.i1467 = and i64 %bf.load3.i.i.i.i.i1466, 1099511627775 + %cmp.i.i.i.i.i1468 = icmp samesign ult i64 %bf.clear.i.i.i.i.i1465, %bf.clear4.i.i.i.i.i1467 + br label %cleanup.thread.i1469 + +cleanup.thread.i1469: ; preds = %lor.rhs.i.i.i1462, %if.then.i1457 + %262 = phi i1 [ true, %if.then.i1457 ], [ %cmp.i.i.i.i.i1468, %lor.rhs.i.i.i1462 ] + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %262, ptr noundef nonnull %call5.i.i.i.i.i.i1475, ptr noundef nonnull %259, ptr noundef nonnull align 8 dereferenceable(32) %3) #23 + %263 = load i64, ptr %_M_node_count.i.i.i.i.i29, align 8 + %inc.i.i.i1471 = add i64 %263, 1 + store i64 %inc.i.i.i1471, ptr %_M_node_count.i.i.i.i.i29, align 8 + br label %invoke.cont415 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1454: ; preds = %invoke.cont.i1452 + %264 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn_cons, ptr noundef nonnull %call5.i.i.i.i.i.i1475) #23 + br label %ehcleanup446 + +if.then.i7.i1473: ; preds = %invoke.cont7.i1455 + %second.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1475, i64 40 + %265 = load ptr, ptr %second.i.i.i.i.i, align 8 + %bf.load.i.i.i.i.i.i.i1536 = load i64, ptr %265, align 8 + %266 = and i64 %bf.load.i.i.i.i.i.i.i1536, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i1537 = icmp eq i64 %266, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i1537, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i1538 + +if.then.i.i.i.i.i.i.i1538: ; preds = %if.then.i7.i1473 + %bf.value.i.i.i.i.i.i.i1539 = add i64 %bf.load.i.i.i.i.i.i.i1536, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i1540 = and i64 %bf.value.i.i.i.i.i.i.i1539, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i1541 = and i64 %bf.load.i.i.i.i.i.i.i1536, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i1542 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i1540, %bf.clear7.i.i.i.i.i.i.i1541 + store i64 %bf.set.i.i.i.i.i.i.i1542, ptr %265, align 8 + %cmp12.i.i.i.i.i.i.i1543 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i1540, 0 + br i1 %cmp12.i.i.i.i.i.i.i1543, label %if.then13.i.i.i.i.i.i.i1544, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i + +if.then13.i.i.i.i.i.i.i1544: ; preds = %if.then.i.i.i.i.i.i.i1538 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %265) + to label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i unwind label %terminate.lpad.i.i.i.i.i.i1545 + +terminate.lpad.i.i.i.i.i.i1545: ; preds = %if.then13.i.i.i.i.i.i.i1544 + %267 = landingpad { ptr, i32 } + catch ptr null + %268 = extractvalue { ptr, i32 } %267, 0 + call void @__clang_call_terminate(ptr %268) #25 + unreachable + +_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i1544, %if.then.i.i.i.i.i.i.i1538, %if.then.i7.i1473 + %269 = load ptr, ptr %_M_storage.i.i.i.i.i1445, align 8 + %bf.load.i.i1.i.i.i.i.i = load i64, ptr %269, align 8 + %270 = and i64 %bf.load.i.i1.i.i.i.i.i, 1152920405095219200 + %cmp.not.i.i2.i.i.i.i.i = icmp eq i64 %270, 1152920405095219200 + br i1 %cmp.not.i.i2.i.i.i.i.i, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit, label %if.then.i.i3.i.i.i.i.i + +if.then.i.i3.i.i.i.i.i: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i + %bf.value.i.i4.i.i.i.i.i = add i64 %bf.load.i.i1.i.i.i.i.i, 1152920405095219200 + %bf.shl.i.i5.i.i.i.i.i = and i64 %bf.value.i.i4.i.i.i.i.i, 1152920405095219200 + %bf.clear7.i.i6.i.i.i.i.i = and i64 %bf.load.i.i1.i.i.i.i.i, -1152920405095219201 + %bf.set.i.i7.i.i.i.i.i = or disjoint i64 %bf.shl.i.i5.i.i.i.i.i, %bf.clear7.i.i6.i.i.i.i.i + store i64 %bf.set.i.i7.i.i.i.i.i, ptr %269, align 8 + %cmp12.i.i8.i.i.i.i.i = icmp eq i64 %bf.shl.i.i5.i.i.i.i.i, 0 + br i1 %cmp12.i.i8.i.i.i.i.i, label %if.then13.i.i9.i.i.i.i.i, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit + +if.then13.i.i9.i.i.i.i.i: ; preds = %if.then.i.i3.i.i.i.i.i + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %269) + to label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit unwind label %terminate.lpad.i10.i.i.i.i.i + +terminate.lpad.i10.i.i.i.i.i: ; preds = %if.then13.i.i9.i.i.i.i.i + %271 = landingpad { ptr, i32 } + catch ptr null + %272 = extractvalue { ptr, i32 } %271, 0 + call void @__clang_call_terminate(ptr %272) #25 + unreachable + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i, %if.then.i.i3.i.i.i.i.i, %if.then13.i.i9.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1475) #26 + br label %invoke.cont415 + +invoke.cont415: ; preds = %lor.rhs.i826, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit, %cleanup.thread.i1469 + %__i.sroa.0.0.i831 = phi ptr [ %__y.addr.1.i.i.i.i819, %lor.rhs.i826 ], [ %call5.i.i.i.i.i.i1475, %cleanup.thread.i1469 ], [ %258, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit ] + %second.i832 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i831, i64 40 + %273 = load ptr, ptr %second.i832, align 8, !noalias !457 + %d_kind.i.i.i.i838 = getelementptr inbounds i8, ptr %273, i64 8 + %bf.load.i.i.i.i839 = load i16, ptr %d_kind.i.i.i.i838, align 8, !noalias !457 + %bf.clear.i.i.i.i840 = and i16 %bf.load.i.i.i.i839, 1023 + %bf.cast.i.i.i.i841 = zext nneg i16 %bf.clear.i.i.i.i840 to i32 + %cmp.i.i.i.i.i842 = icmp eq i16 %bf.clear.i.i.i.i840, 1023 + %cond.i.i.i.i.i843 = select i1 %cmp.i.i.i.i.i842, i32 -1, i32 %bf.cast.i.i.i.i841 + %call2.i.i.i848 = invoke noundef i32 @_ZN4cvc58internal4kind10metaKindOfENS1_6Kind_tE(i32 noundef %cond.i.i.i.i.i843) + to label %call2.i.i.i.noexc unwind label %lpad414 + +call2.i.i.i.noexc: ; preds = %invoke.cont415 + %cmp.i.i844 = icmp eq i32 %call2.i.i.i848, 2 + %inc.i.i = zext i1 %cmp.i.i844 to i32 + %spec.select.i.i845 = add nsw i32 %cindex.01800, %inc.i.i + %d_children.i.i = getelementptr inbounds i8, ptr %273, i64 16 + %idxprom.i.i = sext i32 %spec.select.i.i845 to i64 + %arrayidx.i.i = getelementptr inbounds [0 x ptr], ptr %d_children.i.i, i64 0, i64 %idxprom.i.i + %274 = load ptr, ptr %arrayidx.i.i, align 8, !noalias !457 + %bf.load.i.i.i = load i64, ptr %274, align 8, !noalias !457 + %bf.lshr.i.i.i = lshr i64 %bf.load.i.i.i, 40 + %275 = trunc nuw nsw i64 %bf.lshr.i.i.i to i32 + %bf.cast.i.i.i = and i32 %275, 1048575 + %cmp.i.i.i846 = icmp samesign ult i32 %bf.cast.i.i.i, 1048574 + br i1 %cmp.i.i.i846, label %if.then.i.i.i847, label %if.else.i.i.i + +if.then.i.i.i847: ; preds = %call2.i.i.i.noexc + %bf.value.i.i.i = add i64 %bf.load.i.i.i, 1099511627776 + %bf.shl.i.i.i = and i64 %bf.value.i.i.i, 1152920405095219200 + %bf.clear7.i.i.i = and i64 %bf.load.i.i.i, -1152920405095219201 + %bf.set.i.i.i = or disjoint i64 %bf.shl.i.i.i, %bf.clear7.i.i.i + store i64 %bf.set.i.i.i, ptr %274, align 8, !noalias !457 + br label %invoke.cont417 + +if.else.i.i.i: ; preds = %call2.i.i.i.noexc + %cmp12.i.i.i = icmp eq i32 %bf.cast.i.i.i, 1048574 + br i1 %cmp12.i.i.i, label %if.then13.i.i.i, label %invoke.cont417 + +if.then13.i.i.i: ; preds = %if.else.i.i.i + %bf.set23.i.i.i = or i64 %bf.load.i.i.i, 1152920405095219200 + store i64 %bf.set23.i.i.i, ptr %274, align 8, !noalias !457 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %274) + to label %invoke.cont417 unwind label %lpad414 + +invoke.cont417: ; preds = %if.else.i.i.i, %if.then.i.i.i847, %if.then13.i.i.i + call void @llvm.experimental.noalias.scope.decl(metadata !460) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp3.i) + %276 = load ptr, ptr %d_equalityEngine.i, align 8, !noalias !460 + store ptr %274, ptr %agg.tmp.i, align 8, !noalias !460 + %call.i850852 = invoke noundef zeroext i1 @_ZNK4cvc58internal6theory2eq14EqualityEngine7hasTermENS0_12NodeTemplateILb0EEE(ptr noundef nonnull align 8 dereferenceable(1784) %276, ptr noundef nonnull %agg.tmp.i) + to label %call.i850.noexc unwind label %lpad422 + +call.i850.noexc: ; preds = %invoke.cont417 + br i1 %call.i850852, label %if.then.i851, label %if.end.i + +if.then.i851: ; preds = %call.i850.noexc + %277 = load ptr, ptr %d_equalityEngine.i, align 8, !noalias !460 + store ptr %274, ptr %agg.tmp3.i, align 8, !noalias !460 + invoke void @_ZNK4cvc58internal6theory2eq14EqualityEngine17getRepresentativeENS0_12NodeTemplateILb0EEE(ptr nonnull sret(%"class.cvc5::internal::NodeTemplate.733") align 8 %ref.tmp418, ptr noundef nonnull align 8 dereferenceable(1784) %277, ptr noundef nonnull %agg.tmp3.i) + to label %if.then.i851.invoke.cont423_crit_edge unwind label %lpad422 + +if.then.i851.invoke.cont423_crit_edge: ; preds = %if.then.i851 + %.pre1850 = load ptr, ptr %ref.tmp418, align 8 + br label %invoke.cont423 + +if.end.i: ; preds = %call.i850.noexc + store ptr %274, ptr %ref.tmp418, align 8, !alias.scope !460 + br label %invoke.cont423 + +invoke.cont423: ; preds = %if.then.i851.invoke.cont423_crit_edge, %if.end.i + %278 = phi ptr [ %.pre1850, %if.then.i851.invoke.cont423_crit_edge ], [ %274, %if.end.i ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp3.i) + %bf.load.i.i854 = load i64, ptr %278, align 8 + %bf.lshr.i.i855 = lshr i64 %bf.load.i.i854, 40 + %279 = trunc nuw nsw i64 %bf.lshr.i.i855 to i32 + %bf.cast.i.i856 = and i32 %279, 1048575 + %cmp.i.i857 = icmp samesign ult i32 %bf.cast.i.i856, 1048574 + br i1 %cmp.i.i857, label %if.then.i.i862, label %if.else.i.i858 + +if.then.i.i862: ; preds = %invoke.cont423 + %bf.value.i.i863 = add i64 %bf.load.i.i854, 1099511627776 + %bf.shl.i.i864 = and i64 %bf.value.i.i863, 1152920405095219200 + %bf.clear7.i.i865 = and i64 %bf.load.i.i854, -1152920405095219201 + %bf.set.i.i866 = or disjoint i64 %bf.shl.i.i864, %bf.clear7.i.i865 + store i64 %bf.set.i.i866, ptr %278, align 8 + br label %invoke.cont425 + +if.else.i.i858: ; preds = %invoke.cont423 + %cmp12.i.i859 = icmp eq i32 %bf.cast.i.i856, 1048574 + br i1 %cmp12.i.i859, label %if.then13.i.i860, label %invoke.cont425 + +if.then13.i.i860: ; preds = %if.else.i.i858 + %bf.set23.i.i861 = or i64 %bf.load.i.i854, 1152920405095219200 + store i64 %bf.set23.i.i861, ptr %278, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %278) + to label %invoke.cont425 unwind label %lpad424 + +invoke.cont425: ; preds = %if.else.i.i858, %if.then.i.i862, %if.then13.i.i860 + %280 = load ptr, ptr %_M_parent.i.i.i.i.i561, align 8 + %cmp.not5.i.i.i.i873 = icmp eq ptr %280, null + br i1 %cmp.not5.i.i.i.i873, label %if.then.i899, label %while.body.lr.ph.i.i.i.i874 + +while.body.lr.ph.i.i.i.i874: ; preds = %invoke.cont425 + %281 = load ptr, ptr %n407, align 8 + %bf.load3.i.i.i.i.i.i875 = load i64, ptr %281, align 8 + %bf.clear4.i.i.i.i.i.i876 = and i64 %bf.load3.i.i.i.i.i.i875, 1099511627775 + br label %while.body.i.i.i.i877 + +while.body.i.i.i.i877: ; preds = %while.body.i.i.i.i877, %while.body.lr.ph.i.i.i.i874 + %__x.addr.07.i.i.i.i878 = phi ptr [ %280, %while.body.lr.ph.i.i.i.i874 ], [ %__x.addr.1.i.i.i.i887, %while.body.i.i.i.i877 ] + %__y.addr.06.i.i.i.i879 = phi ptr [ %add.ptr.i.i.i.i562, %while.body.lr.ph.i.i.i.i874 ], [ %__y.addr.1.i.i.i.i884, %while.body.i.i.i.i877 ] + %_M_storage.i.i.i.i.i.i880 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i878, i64 32 + %282 = load ptr, ptr %_M_storage.i.i.i.i.i.i880, align 8 + %bf.load.i.i.i.i.i.i881 = load i64, ptr %282, align 8 + %bf.clear.i.i.i.i.i.i882 = and i64 %bf.load.i.i.i.i.i.i881, 1099511627775 + %cmp.i.i.i.i.i.i883 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i882, %bf.clear4.i.i.i.i.i.i876 + %__y.addr.1.i.i.i.i884 = select i1 %cmp.i.i.i.i.i.i883, ptr %__y.addr.06.i.i.i.i879, ptr %__x.addr.07.i.i.i.i878 + %__x.addr.1.in.v.i.i.i.i885 = select i1 %cmp.i.i.i.i.i.i883, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i886 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i878, i64 %__x.addr.1.in.v.i.i.i.i885 + %__x.addr.1.i.i.i.i887 = load ptr, ptr %__x.addr.1.in.i.i.i.i886, align 8 + %cmp.not.i.i.i.i888 = icmp eq ptr %__x.addr.1.i.i.i.i887, null + br i1 %cmp.not.i.i.i.i888, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i889, label %while.body.i.i.i.i877, !llvm.loop !23 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i889: ; preds = %while.body.i.i.i.i877 + %cmp.i.i890 = icmp eq ptr %__y.addr.1.i.i.i.i884, %add.ptr.i.i.i.i562 + br i1 %cmp.i.i890, label %if.then.i899, label %lor.rhs.i891 + +lor.rhs.i891: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i889 + %_M_storage.i.i.i892 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i884, i64 32 + %283 = load ptr, ptr %_M_storage.i.i.i892, align 8 + %bf.load3.i.i.i893 = load i64, ptr %283, align 8 + %bf.clear4.i.i.i894 = and i64 %bf.load3.i.i.i893, 1099511627775 + %cmp.i.i.i895 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i876, %bf.clear4.i.i.i894 + br i1 %cmp.i.i.i895, label %if.then.i899, label %invoke.cont429 + +if.then.i899: ; preds = %lor.rhs.i891, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i889, %invoke.cont425 + %__y.addr.0.lcssa.i.i.i9.i900 = phi ptr [ %__y.addr.1.i.i.i.i884, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEE11lower_boundERS7_.exit.i889 ], [ %__y.addr.1.i.i.i.i884, %lor.rhs.i891 ], [ %add.ptr.i.i.i.i562, %invoke.cont425 ] + %call5.i.i.i.i.i.i1510 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #24 + to label %call5.i.i.i.i.i.i.noexc1509 unwind label %lpad428 + +call5.i.i.i.i.i.i.noexc1509: ; preds = %if.then.i899 + %_M_storage.i.i.i.i.i1480 = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1510, i64 32 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1479) + store i64 %144, ptr %agg.tmp6.i.i.i.i.i.i1479, align 8 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1478) + invoke void @_ZNSt4pairIKN4cvc58internal12NodeTemplateILb1EEES3_EC2IJRS4_EJLm0EEJETpTnmJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE(ptr noundef nonnull align 8 dereferenceable(16) %_M_storage.i.i.i.i.i1480, ptr noundef nonnull align 8 dereferenceable(8) %agg.tmp6.i.i.i.i.i.i1479, ptr noundef nonnull align 1 dereferenceable(1) %__second.i.i.i.i.i.i.i1478) + to label %invoke.cont.i1487 unwind label %lpad.i.i.i.i1481 + +lpad.i.i.i.i1481: ; preds = %call5.i.i.i.i.i.i.noexc1509 + %284 = landingpad { ptr, i32 } + catch ptr null + %285 = extractvalue { ptr, i32 } %284, 0 + %286 = call ptr @__cxa_begin_catch(ptr %285) #23 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1510) #26 + invoke void @__cxa_rethrow() #29 + to label %unreachable.i.i.i.i1486 unwind label %lpad7.i.i.i.i1482 + +lpad7.i.i.i.i1482: ; preds = %lpad.i.i.i.i1481 + %287 = landingpad { ptr, i32 } + cleanup + invoke void @__cxa_end_catch() + to label %ehcleanup444 unwind label %terminate.lpad.i.i.i.i1483 + +terminate.lpad.i.i.i.i1483: ; preds = %lpad7.i.i.i.i1482 + %288 = landingpad { ptr, i32 } + catch ptr null + %289 = extractvalue { ptr, i32 } %288, 0 + call void @__clang_call_terminate(ptr %289) #25 + unreachable + +unreachable.i.i.i.i1486: ; preds = %lpad.i.i.i.i1481 + unreachable + +invoke.cont.i1487: ; preds = %call5.i.i.i.i.i.i.noexc1509 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %__second.i.i.i.i.i.i.i1478) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp6.i.i.i.i.i.i1479) + %call8.i1488 = invoke { ptr, ptr } @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS6_ERS5_(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr %__y.addr.0.lcssa.i.i.i9.i900, ptr noundef nonnull align 8 dereferenceable(8) %_M_storage.i.i.i.i.i1480) + to label %invoke.cont7.i1490 unwind label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1489 + +invoke.cont7.i1490: ; preds = %invoke.cont.i1487 + %290 = extractvalue { ptr, ptr } %call8.i1488, 0 + %291 = extractvalue { ptr, ptr } %call8.i1488, 1 + %tobool.not.i1491 = icmp eq ptr %291, null + br i1 %tobool.not.i1491, label %if.then.i7.i1508, label %if.then.i1492 + +if.then.i1492: ; preds = %invoke.cont7.i1490 + %cmp.not.i.i.i1493 = icmp ne ptr %290, null + %cmp2.i.i.i1495 = icmp eq ptr %291, %add.ptr.i.i.i.i562 + %or.cond.i.i.i1496 = select i1 %cmp.not.i.i.i1493, i1 true, i1 %cmp2.i.i.i1495 + br i1 %or.cond.i.i.i1496, label %cleanup.thread.i1504, label %lor.rhs.i.i.i1497 + +lor.rhs.i.i.i1497: ; preds = %if.then.i1492 + %_M_storage.i.i.i.i.i.i1498 = getelementptr inbounds i8, ptr %291, i64 32 + %292 = load ptr, ptr %_M_storage.i.i.i.i.i1480, align 8 + %bf.load.i.i.i.i.i1499 = load i64, ptr %292, align 8 + %bf.clear.i.i.i.i.i1500 = and i64 %bf.load.i.i.i.i.i1499, 1099511627775 + %293 = load ptr, ptr %_M_storage.i.i.i.i.i.i1498, align 8 + %bf.load3.i.i.i.i.i1501 = load i64, ptr %293, align 8 + %bf.clear4.i.i.i.i.i1502 = and i64 %bf.load3.i.i.i.i.i1501, 1099511627775 + %cmp.i.i.i.i.i1503 = icmp samesign ult i64 %bf.clear.i.i.i.i.i1500, %bf.clear4.i.i.i.i.i1502 + br label %cleanup.thread.i1504 + +cleanup.thread.i1504: ; preds = %lor.rhs.i.i.i1497, %if.then.i1492 + %294 = phi i1 [ true, %if.then.i1492 ], [ %cmp.i.i.i.i.i1503, %lor.rhs.i.i.i1497 ] + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %294, ptr noundef nonnull %call5.i.i.i.i.i.i1510, ptr noundef nonnull %291, ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i.i.i.i562) #23 + %295 = load i64, ptr %_M_node_count.i.i.i1341, align 8 + %inc.i.i.i1506 = add i64 %295, 1 + store i64 %inc.i.i.i1506, ptr %_M_node_count.i.i.i1341, align 8 + br label %invoke.cont429 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1489: ; preds = %invoke.cont.i1487 + %296 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr noundef nonnull %call5.i.i.i.i.i.i1510) #23 + br label %ehcleanup444 + +if.then.i7.i1508: ; preds = %invoke.cont7.i1490 + %second.i.i.i.i.i1547 = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i1510, i64 40 + %297 = load ptr, ptr %second.i.i.i.i.i1547, align 8 + %bf.load.i.i.i.i.i.i.i1548 = load i64, ptr %297, align 8 + %298 = and i64 %bf.load.i.i.i.i.i.i.i1548, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i1549 = icmp eq i64 %298, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i1549, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i1556, label %if.then.i.i.i.i.i.i.i1550 + +if.then.i.i.i.i.i.i.i1550: ; preds = %if.then.i7.i1508 + %bf.value.i.i.i.i.i.i.i1551 = add i64 %bf.load.i.i.i.i.i.i.i1548, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i1552 = and i64 %bf.value.i.i.i.i.i.i.i1551, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i1553 = and i64 %bf.load.i.i.i.i.i.i.i1548, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i1554 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i1552, %bf.clear7.i.i.i.i.i.i.i1553 + store i64 %bf.set.i.i.i.i.i.i.i1554, ptr %297, align 8 + %cmp12.i.i.i.i.i.i.i1555 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i1552, 0 + br i1 %cmp12.i.i.i.i.i.i.i1555, label %if.then13.i.i.i.i.i.i.i1567, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i1556 + +if.then13.i.i.i.i.i.i.i1567: ; preds = %if.then.i.i.i.i.i.i.i1550 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %297) + to label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i1556 unwind label %terminate.lpad.i.i.i.i.i.i1568 + +terminate.lpad.i.i.i.i.i.i1568: ; preds = %if.then13.i.i.i.i.i.i.i1567 + %299 = landingpad { ptr, i32 } + catch ptr null + %300 = extractvalue { ptr, i32 } %299, 0 + call void @__clang_call_terminate(ptr %300) #25 + unreachable + +_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i1556: ; preds = %if.then13.i.i.i.i.i.i.i1567, %if.then.i.i.i.i.i.i.i1550, %if.then.i7.i1508 + %301 = load ptr, ptr %_M_storage.i.i.i.i.i1480, align 8 + %bf.load.i.i1.i.i.i.i.i1557 = load i64, ptr %301, align 8 + %302 = and i64 %bf.load.i.i1.i.i.i.i.i1557, 1152920405095219200 + %cmp.not.i.i2.i.i.i.i.i1558 = icmp eq i64 %302, 1152920405095219200 + br i1 %cmp.not.i.i2.i.i.i.i.i1558, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit1569, label %if.then.i.i3.i.i.i.i.i1559 + +if.then.i.i3.i.i.i.i.i1559: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i1556 + %bf.value.i.i4.i.i.i.i.i1560 = add i64 %bf.load.i.i1.i.i.i.i.i1557, 1152920405095219200 + %bf.shl.i.i5.i.i.i.i.i1561 = and i64 %bf.value.i.i4.i.i.i.i.i1560, 1152920405095219200 + %bf.clear7.i.i6.i.i.i.i.i1562 = and i64 %bf.load.i.i1.i.i.i.i.i1557, -1152920405095219201 + %bf.set.i.i7.i.i.i.i.i1563 = or disjoint i64 %bf.shl.i.i5.i.i.i.i.i1561, %bf.clear7.i.i6.i.i.i.i.i1562 + store i64 %bf.set.i.i7.i.i.i.i.i1563, ptr %301, align 8 + %cmp12.i.i8.i.i.i.i.i1564 = icmp eq i64 %bf.shl.i.i5.i.i.i.i.i1561, 0 + br i1 %cmp12.i.i8.i.i.i.i.i1564, label %if.then13.i.i9.i.i.i.i.i1565, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit1569 + +if.then13.i.i9.i.i.i.i.i1565: ; preds = %if.then.i.i3.i.i.i.i.i1559 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %301) + to label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit1569 unwind label %terminate.lpad.i10.i.i.i.i.i1566 + +terminate.lpad.i10.i.i.i.i.i1566: ; preds = %if.then13.i.i9.i.i.i.i.i1565 + %303 = landingpad { ptr, i32 } + catch ptr null + %304 = extractvalue { ptr, i32 } %303, 0 + call void @__clang_call_terminate(ptr %304) #25 + unreachable + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit1569: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit.i.i.i.i.i1556, %if.then.i.i3.i.i.i.i.i1559, %if.then13.i.i9.i.i.i.i.i1565 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i1510) #26 + br label %invoke.cont429 + +invoke.cont429: ; preds = %lor.rhs.i891, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit1569, %cleanup.thread.i1504 + %__i.sroa.0.0.i897 = phi ptr [ %__y.addr.1.i.i.i.i884, %lor.rhs.i891 ], [ %call5.i.i.i.i.i.i1510, %cleanup.thread.i1504 ], [ %290, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E.exit1569 ] + %second.i898 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i897, i64 40 + %305 = load ptr, ptr %second.i898, align 8 + %cmp.not.i904 = icmp eq ptr %305, %278 + br i1 %cmp.not.i904, label %land.lhs.true434, label %if.then.i905 + +if.then.i905: ; preds = %invoke.cont429 + %bf.load.i.i906 = load i64, ptr %305, align 8 + %306 = and i64 %bf.load.i.i906, 1152920405095219200 + %cmp.not.i.i907 = icmp eq i64 %306, 1152920405095219200 + br i1 %cmp.not.i.i907, label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i914, label %if.then.i.i908 + +if.then.i.i908: ; preds = %if.then.i905 + %bf.value.i.i909 = add i64 %bf.load.i.i906, 1152920405095219200 + %bf.shl.i.i910 = and i64 %bf.value.i.i909, 1152920405095219200 + %bf.clear7.i.i911 = and i64 %bf.load.i.i906, -1152920405095219201 + %bf.set.i.i912 = or disjoint i64 %bf.shl.i.i910, %bf.clear7.i.i911 + store i64 %bf.set.i.i912, ptr %305, align 8 + %cmp12.i.i913 = icmp eq i64 %bf.shl.i.i910, 0 + br i1 %cmp12.i.i913, label %if.then13.i.i929, label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i914 + +if.then13.i.i929: ; preds = %if.then.i.i908 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %305) + to label %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i914 unwind label %lpad428 + +_ZN4cvc58internal4expr9NodeValue3decEv.exit.i914: ; preds = %if.then13.i.i929, %if.then.i.i908, %if.then.i905 + store ptr %278, ptr %second.i898, align 8 + %bf.load.i2.i915 = load i64, ptr %278, align 8 + %bf.lshr.i.i916 = lshr i64 %bf.load.i2.i915, 40 + %307 = trunc nuw nsw i64 %bf.lshr.i.i916 to i32 + %bf.cast.i.i917 = and i32 %307, 1048575 + %cmp.i.i918 = icmp samesign ult i32 %bf.cast.i.i917, 1048574 + br i1 %cmp.i.i918, label %if.then.i5.i924, label %if.else.i.i919 + +if.then.i5.i924: ; preds = %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i914 + %bf.value.i6.i925 = add i64 %bf.load.i2.i915, 1099511627776 + %bf.shl.i7.i926 = and i64 %bf.value.i6.i925, 1152920405095219200 + %bf.clear7.i8.i927 = and i64 %bf.load.i2.i915, -1152920405095219201 + %bf.set.i9.i928 = or disjoint i64 %bf.shl.i7.i926, %bf.clear7.i8.i927 + store i64 %bf.set.i9.i928, ptr %278, align 8 + br label %land.lhs.true434 + +if.else.i.i919: ; preds = %_ZN4cvc58internal4expr9NodeValue3decEv.exit.i914 + %cmp12.i3.i920 = icmp eq i32 %bf.cast.i.i917, 1048574 + br i1 %cmp12.i3.i920, label %if.then13.i4.i922, label %land.lhs.true434 + +if.then13.i4.i922: ; preds = %if.else.i.i919 + %bf.set23.i.i923 = or i64 %bf.load.i2.i915, 1152920405095219200 + store i64 %bf.set23.i.i923, ptr %278, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %278) + to label %land.lhs.true434 unwind label %lpad428 + +land.lhs.true434: ; preds = %if.else.i.i919, %if.then.i5.i924, %invoke.cont429, %if.then13.i4.i922 + %cmp.i933.not = icmp eq ptr %274, %278 + br i1 %cmp.i933.not, label %if.end443, label %if.then437 + +if.then437: ; preds = %land.lhs.true434 + %call.i934935 = invoke noundef ptr @_ZN4cvc58internal11NodeManager9currentNMEv() + to label %call.i934.noexc unwind label %lpad428 + +call.i934.noexc: ; preds = %if.then437 + call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %nb.i.i), !noalias !463 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp.i.i), !noalias !463 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %agg.tmp4.i.i), !noalias !463 + invoke void @_ZN4cvc58internal11NodeBuilderC1EPNS0_11NodeManagerENS0_4kind6Kind_tE(ptr noundef nonnull align 8 dereferenceable(116) %nb.i.i, ptr noundef nonnull align 8 dereferenceable(3360) %call.i934935, i32 noundef 5) + to label %.noexc936 unwind label %lpad428 + +.noexc936: ; preds = %call.i934.noexc + store ptr %278, ptr %agg.tmp.i.i, align 8, !noalias !466 + %call.i.i = invoke noundef nonnull align 8 dereferenceable(116) ptr @_ZN4cvc58internal11NodeBuilderlsENS0_12NodeTemplateILb0EEE(ptr noundef nonnull align 8 dereferenceable(116) %nb.i.i, ptr noundef nonnull %agg.tmp.i.i) + to label %invoke.cont3.i.i unwind label %lpad2.i.i, !noalias !466 + +invoke.cont3.i.i: ; preds = %.noexc936 + store ptr %274, ptr %agg.tmp4.i.i, align 8, !noalias !466 + %call8.i.i = invoke noundef nonnull align 8 dereferenceable(116) ptr @_ZN4cvc58internal11NodeBuilderlsENS0_12NodeTemplateILb0EEE(ptr noundef nonnull align 8 dereferenceable(116) %call.i.i, ptr noundef nonnull %agg.tmp4.i.i) + to label %invoke.cont7.i.i unwind label %lpad6.i.i, !noalias !466 + +invoke.cont7.i.i: ; preds = %invoke.cont3.i.i + invoke void @_ZN4cvc58internal11NodeBuilder13constructNodeEv(ptr nonnull sret(%"class.cvc5::internal::NodeTemplate") align 8 %ref.tmp438, ptr noundef nonnull align 8 dereferenceable(116) %nb.i.i) + to label %invoke.cont439 unwind label %lpad.i.i + +lpad.i.i: ; preds = %invoke.cont7.i.i + %308 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup10.i.i + +lpad2.i.i: ; preds = %.noexc936 + %309 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup10.i.i + +lpad6.i.i: ; preds = %invoke.cont3.i.i + %310 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup10.i.i + +ehcleanup10.i.i: ; preds = %lpad6.i.i, %lpad2.i.i, %lpad.i.i + %.pn2.i.i = phi { ptr, i32 } [ %308, %lpad.i.i ], [ %310, %lpad6.i.i ], [ %309, %lpad2.i.i ] + call void @_ZN4cvc58internal11NodeBuilderD1Ev(ptr noundef nonnull align 8 dereferenceable(116) %nb.i.i) #23 + br label %ehcleanup444 + +invoke.cont439: ; preds = %invoke.cont7.i.i + call void @_ZN4cvc58internal11NodeBuilderD1Ev(ptr noundef nonnull align 8 dereferenceable(116) %nb.i.i) #23 + call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %nb.i.i), !noalias !463 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp.i.i), !noalias !463 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %agg.tmp4.i.i), !noalias !463 + %311 = load ptr, ptr %_M_finish.i.i937, align 8 + %312 = load ptr, ptr %_M_end_of_storage.i.i938, align 8 + %cmp.not.i.i939 = icmp eq ptr %311, %312 + br i1 %cmp.not.i.i939, label %if.else.i.i956, label %if.then.i.i940 + +if.then.i.i940: ; preds = %invoke.cont439 + %313 = load ptr, ptr %ref.tmp438, align 8 + store ptr %313, ptr %311, align 8 + %bf.load.i.i.i.i.i.i941 = load i64, ptr %313, align 8 + %bf.lshr.i.i.i.i.i.i942 = lshr i64 %bf.load.i.i.i.i.i.i941, 40 + %314 = trunc nuw nsw i64 %bf.lshr.i.i.i.i.i.i942 to i32 + %bf.cast.i.i.i.i.i.i943 = and i32 %314, 1048575 + %cmp.i.i.i.i.i.i944 = icmp samesign ult i32 %bf.cast.i.i.i.i.i.i943, 1048574 + br i1 %cmp.i.i.i.i.i.i944, label %if.then.i.i.i.i.i.i951, label %if.else.i.i.i.i.i.i945 + +if.then.i.i.i.i.i.i951: ; preds = %if.then.i.i940 + %bf.value.i.i.i.i.i.i952 = add i64 %bf.load.i.i.i.i.i.i941, 1099511627776 + %bf.shl.i.i.i.i.i.i953 = and i64 %bf.value.i.i.i.i.i.i952, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i954 = and i64 %bf.load.i.i.i.i.i.i941, -1152920405095219201 + %bf.set.i.i.i.i.i.i955 = or disjoint i64 %bf.shl.i.i.i.i.i.i953, %bf.clear7.i.i.i.i.i.i954 + store i64 %bf.set.i.i.i.i.i.i955, ptr %313, align 8 + br label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i947 + +if.else.i.i.i.i.i.i945: ; preds = %if.then.i.i940 + %cmp12.i.i.i.i.i.i946 = icmp eq i32 %bf.cast.i.i.i.i.i.i943, 1048574 + br i1 %cmp12.i.i.i.i.i.i946, label %if.then13.i.i.i.i.i.i949, label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i947 + +if.then13.i.i.i.i.i.i949: ; preds = %if.else.i.i.i.i.i.i945 + %bf.set23.i.i.i.i.i.i950 = or i64 %bf.load.i.i.i.i.i.i941, 1152920405095219200 + store i64 %bf.set23.i.i.i.i.i.i950, ptr %313, align 8 + invoke void @_ZN4cvc58internal4expr9NodeValue20markRefCountMaxedOutEv(ptr noundef nonnull align 8 dereferenceable(16) %313) + to label %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i947 unwind label %lpad440 + +_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i947: ; preds = %if.then13.i.i.i.i.i.i949, %if.else.i.i.i.i.i.i945, %if.then.i.i.i.i.i.i951 + %315 = load ptr, ptr %_M_finish.i.i937, align 8 + %incdec.ptr.i.i948 = getelementptr inbounds i8, ptr %315, i64 8 + store ptr %incdec.ptr.i.i948, ptr %_M_finish.i.i937, align 8 + br label %invoke.cont441 + +if.else.i.i956: ; preds = %invoke.cont439 + invoke void @_ZNSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %exp, ptr %311, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp438) + to label %invoke.cont441 unwind label %lpad440 + +invoke.cont441: ; preds = %_ZNSt16allocator_traitsISaIN4cvc58internal12NodeTemplateILb1EEEEE9constructIS3_JS3_EEEvRS4_PT_DpOT0_.exit.i.i947, %if.else.i.i956 + %316 = load ptr, ptr %ref.tmp438, align 8 + %bf.load.i.i960 = load i64, ptr %316, align 8 + %317 = and i64 %bf.load.i.i960, 1152920405095219200 + %cmp.not.i.i961 = icmp eq i64 %317, 1152920405095219200 + br i1 %cmp.not.i.i961, label %if.end443, label %if.then.i.i962 + +if.then.i.i962: ; preds = %invoke.cont441 + %bf.value.i.i963 = add i64 %bf.load.i.i960, 1152920405095219200 + %bf.shl.i.i964 = and i64 %bf.value.i.i963, 1152920405095219200 + %bf.clear7.i.i965 = and i64 %bf.load.i.i960, -1152920405095219201 + %bf.set.i.i966 = or disjoint i64 %bf.shl.i.i964, %bf.clear7.i.i965 + store i64 %bf.set.i.i966, ptr %316, align 8 + %cmp12.i.i967 = icmp eq i64 %bf.shl.i.i964, 0 + br i1 %cmp12.i.i967, label %if.then13.i.i969, label %if.end443 + +if.then13.i.i969: ; preds = %if.then.i.i962 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %316) + to label %if.end443 unwind label %terminate.lpad.i970 + +terminate.lpad.i970: ; preds = %if.then13.i.i969 + %318 = landingpad { ptr, i32 } + catch ptr null + %319 = extractvalue { ptr, i32 } %318, 0 + call void @__clang_call_terminate(ptr %319) #25 + unreachable + +lpad412.loopexit: ; preds = %if.then13.i.i795 + %lpad.loopexit = landingpad { ptr, i32 } + cleanup + br label %ehcleanup494 + +lpad412.loopexit.split-lp: ; preds = %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE5clearEv.exit + %lpad.loopexit.split-lp = landingpad { ptr, i32 } + cleanup + br label %ehcleanup494 + +lpad414: ; preds = %if.then.i833, %if.then13.i.i.i, %invoke.cont415 + %320 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup446 + +lpad422: ; preds = %if.then.i851, %invoke.cont417 + %321 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup445 + +lpad424: ; preds = %if.then13.i.i860 + %322 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup445 + +lpad428: ; preds = %if.then.i899, %call.i934.noexc, %if.then437, %if.then13.i4.i922, %if.then13.i.i929 + %323 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup444 + +lpad440: ; preds = %if.else.i.i956, %if.then13.i.i.i.i.i.i949 + %324 = landingpad { ptr, i32 } + cleanup + %325 = load ptr, ptr %ref.tmp438, align 8 + %bf.load.i.i972 = load i64, ptr %325, align 8 + %326 = and i64 %bf.load.i.i972, 1152920405095219200 + %cmp.not.i.i973 = icmp eq i64 %326, 1152920405095219200 + br i1 %cmp.not.i.i973, label %ehcleanup444, label %if.then.i.i974 + +if.then.i.i974: ; preds = %lpad440 + %bf.value.i.i975 = add i64 %bf.load.i.i972, 1152920405095219200 + %bf.shl.i.i976 = and i64 %bf.value.i.i975, 1152920405095219200 + %bf.clear7.i.i977 = and i64 %bf.load.i.i972, -1152920405095219201 + %bf.set.i.i978 = or disjoint i64 %bf.shl.i.i976, %bf.clear7.i.i977 + store i64 %bf.set.i.i978, ptr %325, align 8 + %cmp12.i.i979 = icmp eq i64 %bf.shl.i.i976, 0 + br i1 %cmp12.i.i979, label %if.then13.i.i981, label %ehcleanup444 + +if.then13.i.i981: ; preds = %if.then.i.i974 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %325) + to label %ehcleanup444 unwind label %terminate.lpad.i982 + +terminate.lpad.i982: ; preds = %if.then13.i.i981 + %327 = landingpad { ptr, i32 } + catch ptr null + %328 = extractvalue { ptr, i32 } %327, 0 + call void @__clang_call_terminate(ptr %328) #25 + unreachable + +if.end443: ; preds = %if.then13.i.i969, %if.then.i.i962, %invoke.cont441, %land.lhs.true434 + %bf.load.i.i984 = load i64, ptr %278, align 8 + %329 = and i64 %bf.load.i.i984, 1152920405095219200 + %cmp.not.i.i985 = icmp eq i64 %329, 1152920405095219200 + br i1 %cmp.not.i.i985, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit995, label %if.then.i.i986 + +if.then.i.i986: ; preds = %if.end443 + %bf.value.i.i987 = add i64 %bf.load.i.i984, 1152920405095219200 + %bf.shl.i.i988 = and i64 %bf.value.i.i987, 1152920405095219200 + %bf.clear7.i.i989 = and i64 %bf.load.i.i984, -1152920405095219201 + %bf.set.i.i990 = or disjoint i64 %bf.shl.i.i988, %bf.clear7.i.i989 + store i64 %bf.set.i.i990, ptr %278, align 8 + %cmp12.i.i991 = icmp eq i64 %bf.shl.i.i988, 0 + br i1 %cmp12.i.i991, label %if.then13.i.i993, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit995 + +if.then13.i.i993: ; preds = %if.then.i.i986 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %278) + to label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit995 unwind label %terminate.lpad.i994 + +terminate.lpad.i994: ; preds = %if.then13.i.i993 + %330 = landingpad { ptr, i32 } + catch ptr null + %331 = extractvalue { ptr, i32 } %330, 0 + call void @__clang_call_terminate(ptr %331) #25 + unreachable + +_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit995: ; preds = %if.end443, %if.then.i.i986, %if.then13.i.i993 + %bf.load.i.i996 = load i64, ptr %274, align 8 + %332 = and i64 %bf.load.i.i996, 1152920405095219200 + %cmp.not.i.i997 = icmp eq i64 %332, 1152920405095219200 + br i1 %cmp.not.i.i997, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1007, label %if.then.i.i998 + +if.then.i.i998: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit995 + %bf.value.i.i999 = add i64 %bf.load.i.i996, 1152920405095219200 + %bf.shl.i.i1000 = and i64 %bf.value.i.i999, 1152920405095219200 + %bf.clear7.i.i1001 = and i64 %bf.load.i.i996, -1152920405095219201 + %bf.set.i.i1002 = or disjoint i64 %bf.shl.i.i1000, %bf.clear7.i.i1001 + store i64 %bf.set.i.i1002, ptr %274, align 8 + %cmp12.i.i1003 = icmp eq i64 %bf.shl.i.i1000, 0 + br i1 %cmp12.i.i1003, label %if.then13.i.i1005, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1007 + +if.then13.i.i1005: ; preds = %if.then.i.i998 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %274) + to label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1007 unwind label %terminate.lpad.i1006 + +terminate.lpad.i1006: ; preds = %if.then13.i.i1005 + %333 = landingpad { ptr, i32 } + catch ptr null + %334 = extractvalue { ptr, i32 } %333, 0 + call void @__clang_call_terminate(ptr %334) #25 + unreachable + +_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1007: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit995, %if.then.i.i998, %if.then13.i.i1005 + %335 = load ptr, ptr %n407, align 8 + %bf.load.i.i1008 = load i64, ptr %335, align 8 + %336 = and i64 %bf.load.i.i1008, 1152920405095219200 + %cmp.not.i.i1009 = icmp eq i64 %336, 1152920405095219200 + br i1 %cmp.not.i.i1009, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019, label %if.then.i.i1010 + +if.then.i.i1010: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1007 + %bf.value.i.i1011 = add i64 %bf.load.i.i1008, 1152920405095219200 + %bf.shl.i.i1012 = and i64 %bf.value.i.i1011, 1152920405095219200 + %bf.clear7.i.i1013 = and i64 %bf.load.i.i1008, -1152920405095219201 + %bf.set.i.i1014 = or disjoint i64 %bf.shl.i.i1012, %bf.clear7.i.i1013 + store i64 %bf.set.i.i1014, ptr %335, align 8 + %cmp12.i.i1015 = icmp eq i64 %bf.shl.i.i1012, 0 + br i1 %cmp12.i.i1015, label %if.then13.i.i1017, label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019 + +if.then13.i.i1017: ; preds = %if.then.i.i1010 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %335) + to label %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019 unwind label %terminate.lpad.i1018 + +terminate.lpad.i1018: ; preds = %if.then13.i.i1017 + %337 = landingpad { ptr, i32 } + catch ptr null + %338 = extractvalue { ptr, i32 } %337, 0 + call void @__clang_call_terminate(ptr %338) #25 + unreachable + +_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1007, %if.then.i.i1010, %if.then13.i.i1017 + %inc448 = add i32 %k.01788, 1 + %conv401 = zext i32 %inc448 to i64 + %339 = load ptr, ptr %split_new_part, align 8 + %add.ptr.i781 = getelementptr inbounds %"class.std::vector.525", ptr %339, i64 %conv3961796 + %_M_finish.i782 = getelementptr inbounds i8, ptr %add.ptr.i781, i64 8 + %340 = load ptr, ptr %_M_finish.i782, align 8 + %341 = load ptr, ptr %add.ptr.i781, align 8 + %sub.ptr.lhs.cast.i783 = ptrtoint ptr %340 to i64 + %sub.ptr.rhs.cast.i784 = ptrtoint ptr %341 to i64 + %sub.ptr.sub.i785 = sub i64 %sub.ptr.lhs.cast.i783, %sub.ptr.rhs.cast.i784 + %sub.ptr.div.i786 = ashr exact i64 %sub.ptr.sub.i785, 3 + %cmp405 = icmp ugt i64 %sub.ptr.div.i786, %conv401 + br i1 %cmp405, label %for.body406, label %for.end449, !llvm.loop !293 + +ehcleanup444: ; preds = %if.then13.i.i981, %if.then.i.i974, %lpad440, %ehcleanup10.i.i, %lpad7.i.i.i.i1482, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1489, %lpad428 + %.pn2 = phi { ptr, i32 } [ %.pn2.i.i, %ehcleanup10.i.i ], [ %323, %lpad428 ], [ %296, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1489 ], [ %287, %lpad7.i.i.i.i1482 ], [ %324, %lpad440 ], [ %324, %if.then.i.i974 ], [ %324, %if.then13.i.i981 ] + %bf.load.i.i1020 = load i64, ptr %278, align 8 + %342 = and i64 %bf.load.i.i1020, 1152920405095219200 + %cmp.not.i.i1021 = icmp eq i64 %342, 1152920405095219200 + br i1 %cmp.not.i.i1021, label %ehcleanup445, label %if.then.i.i1022 + +if.then.i.i1022: ; preds = %ehcleanup444 + %bf.value.i.i1023 = add i64 %bf.load.i.i1020, 1152920405095219200 + %bf.shl.i.i1024 = and i64 %bf.value.i.i1023, 1152920405095219200 + %bf.clear7.i.i1025 = and i64 %bf.load.i.i1020, -1152920405095219201 + %bf.set.i.i1026 = or disjoint i64 %bf.shl.i.i1024, %bf.clear7.i.i1025 + store i64 %bf.set.i.i1026, ptr %278, align 8 + %cmp12.i.i1027 = icmp eq i64 %bf.shl.i.i1024, 0 + br i1 %cmp12.i.i1027, label %if.then13.i.i1029, label %ehcleanup445 + +if.then13.i.i1029: ; preds = %if.then.i.i1022 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %278) + to label %ehcleanup445 unwind label %terminate.lpad.i1030 + +terminate.lpad.i1030: ; preds = %if.then13.i.i1029 + %343 = landingpad { ptr, i32 } + catch ptr null + %344 = extractvalue { ptr, i32 } %343, 0 + call void @__clang_call_terminate(ptr %344) #25 + unreachable + +ehcleanup445: ; preds = %if.then13.i.i1029, %if.then.i.i1022, %ehcleanup444, %lpad422, %lpad424 + %.pn2.pn = phi { ptr, i32 } [ %322, %lpad424 ], [ %321, %lpad422 ], [ %.pn2, %ehcleanup444 ], [ %.pn2, %if.then.i.i1022 ], [ %.pn2, %if.then13.i.i1029 ] + %bf.load.i.i1032 = load i64, ptr %274, align 8 + %345 = and i64 %bf.load.i.i1032, 1152920405095219200 + %cmp.not.i.i1033 = icmp eq i64 %345, 1152920405095219200 + br i1 %cmp.not.i.i1033, label %ehcleanup446, label %if.then.i.i1034 + +if.then.i.i1034: ; preds = %ehcleanup445 + %bf.value.i.i1035 = add i64 %bf.load.i.i1032, 1152920405095219200 + %bf.shl.i.i1036 = and i64 %bf.value.i.i1035, 1152920405095219200 + %bf.clear7.i.i1037 = and i64 %bf.load.i.i1032, -1152920405095219201 + %bf.set.i.i1038 = or disjoint i64 %bf.shl.i.i1036, %bf.clear7.i.i1037 + store i64 %bf.set.i.i1038, ptr %274, align 8 + %cmp12.i.i1039 = icmp eq i64 %bf.shl.i.i1036, 0 + br i1 %cmp12.i.i1039, label %if.then13.i.i1041, label %ehcleanup446 + +if.then13.i.i1041: ; preds = %if.then.i.i1034 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %274) + to label %ehcleanup446 unwind label %terminate.lpad.i1042 + +terminate.lpad.i1042: ; preds = %if.then13.i.i1041 + %346 = landingpad { ptr, i32 } + catch ptr null + %347 = extractvalue { ptr, i32 } %346, 0 + call void @__clang_call_terminate(ptr %347) #25 + unreachable + +ehcleanup446: ; preds = %if.then13.i.i1041, %if.then.i.i1034, %ehcleanup445, %lpad414, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1454, %lpad7.i.i.i.i1447 + %.pn2.pn.pn = phi { ptr, i32 } [ %320, %lpad414 ], [ %264, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE10_Auto_nodeD2Ev.exit.i1454 ], [ %255, %lpad7.i.i.i.i1447 ], [ %.pn2.pn, %ehcleanup445 ], [ %.pn2.pn, %if.then.i.i1034 ], [ %.pn2.pn, %if.then13.i.i1041 ] + %348 = load ptr, ptr %n407, align 8 + %bf.load.i.i1044 = load i64, ptr %348, align 8 + %349 = and i64 %bf.load.i.i1044, 1152920405095219200 + %cmp.not.i.i1045 = icmp eq i64 %349, 1152920405095219200 + br i1 %cmp.not.i.i1045, label %ehcleanup494, label %if.then.i.i1046 + +if.then.i.i1046: ; preds = %ehcleanup446 + %bf.value.i.i1047 = add i64 %bf.load.i.i1044, 1152920405095219200 + %bf.shl.i.i1048 = and i64 %bf.value.i.i1047, 1152920405095219200 + %bf.clear7.i.i1049 = and i64 %bf.load.i.i1044, -1152920405095219201 + %bf.set.i.i1050 = or disjoint i64 %bf.shl.i.i1048, %bf.clear7.i.i1049 + store i64 %bf.set.i.i1050, ptr %348, align 8 + %cmp12.i.i1051 = icmp eq i64 %bf.shl.i.i1048, 0 + br i1 %cmp12.i.i1051, label %if.then13.i.i1053, label %ehcleanup494 + +if.then13.i.i1053: ; preds = %if.then.i.i1046 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %348) + to label %ehcleanup494 unwind label %terminate.lpad.i1054 + +terminate.lpad.i1054: ; preds = %if.then13.i.i1053 + %350 = landingpad { ptr, i32 } + catch ptr null + %351 = extractvalue { ptr, i32 } %350, 0 + call void @__clang_call_terminate(ptr %351) #25 + unreachable + +for.end449: ; preds = %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019, %for.cond400.preheader + %add.ptr.i781.lcssa = phi ptr [ %add.ptr.i7811781, %for.cond400.preheader ], [ %add.ptr.i781, %_ZN4cvc58internal12NodeTemplateILb1EED2Ev.exit1019 ] + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %c_part_out, i8 0, i64 24, i1 false) + invoke void @_ZN4cvc58internal6theory9datatypes15TheoryDatatypes17separateBisimilarERSt6vectorINS0_12NodeTemplateILb1EEESaIS6_EERS4_IS8_SaIS8_EES9_RSt3mapIS6_S6_St4lessIS6_ESaISt4pairIKS6_S6_EEERSD_IS6_SD_IS6_iSF_SaISG_ISH_iEEESF_SaISG_ISH_SO_EEEib(ptr noundef nonnull align 8 dereferenceable(2008) %this, ptr noundef nonnull align 8 dereferenceable(24) %add.ptr.i781.lcssa, ptr noundef nonnull align 8 dereferenceable(24) %c_part_out, ptr noundef nonnull align 8 dereferenceable(24) %exp, ptr noundef nonnull align 8 dereferenceable(48) %cn, ptr noundef nonnull align 8 dereferenceable(48) %dni, i32 noundef 5, i1 noundef zeroext true) + to label %invoke.cont454 unwind label %lpad453 + +invoke.cont454: ; preds = %for.end449 + %352 = load ptr, ptr %_M_finish.i1057, align 8 + %353 = load ptr, ptr %c_part_out, align 8 + %354 = load ptr, ptr %_M_finish.i1058, align 8 + %355 = load ptr, ptr %next_split_new_part, align 8 + %sub.ptr.lhs.cast.i.i1059 = ptrtoint ptr %352 to i64 + %sub.ptr.rhs.cast.i.i1060 = ptrtoint ptr %355 to i64 + %sub.ptr.sub.i.i1061 = sub i64 %sub.ptr.lhs.cast.i.i1059, %sub.ptr.rhs.cast.i.i1060 + %add.ptr.i.i1062 = getelementptr inbounds i8, ptr %355, i64 %sub.ptr.sub.i.i1061 + invoke void @_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %next_split_new_part, ptr %add.ptr.i.i1062, ptr %353, ptr %354) + to label %invoke.cont468 unwind label %lpad453 + +invoke.cont468: ; preds = %invoke.cont454 + %356 = load ptr, ptr %c_part_out, align 8 + %357 = load ptr, ptr %_M_finish.i1058, align 8 + %cmp.not3.i.i.i.i1066 = icmp eq ptr %356, %357 + br i1 %cmp.not3.i.i.i.i1066, label %invoke.cont.i1073, label %for.body.i.i.i.i1067 + +for.body.i.i.i.i1067: ; preds = %invoke.cont468, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i + %__first.addr.04.i.i.i.i1068 = phi ptr [ %incdec.ptr.i.i.i.i1069, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i ], [ %356, %invoke.cont468 ] + %358 = load ptr, ptr %__first.addr.04.i.i.i.i1068, align 8 + %_M_finish.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1068, i64 8 + %359 = load ptr, ptr %_M_finish.i.i.i.i.i.i, align 8 + %cmp.not3.i.i.i.i.i.i.i.i.i = icmp eq ptr %358, %359 + br i1 %cmp.not3.i.i.i.i.i.i.i.i.i, label %invoke.cont.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i.i.i.i + +for.body.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i1067, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i + %__first.addr.04.i.i.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i ], [ %358, %for.body.i.i.i.i1067 ] + %360 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i, align 8 + %bf.load.i.i.i.i.i.i.i.i.i.i.i.i = load i64, ptr %360, align 8 + %361 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %361, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i + +if.then.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i + %bf.value.i.i.i.i.i.i.i.i.i.i.i.i = add i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i = and i64 %bf.value.i.i.i.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i.i.i.i = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i, %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i + store i64 %bf.set.i.i.i.i.i.i.i.i.i.i.i.i, ptr %360, align 8 + %cmp12.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i.i.i.i, label %if.then13.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i + +if.then13.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %360) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i unwind label %terminate.lpad.i.i.i.i.i.i.i.i.i.i.i + +terminate.lpad.i.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i + %362 = landingpad { ptr, i32 } + catch ptr null + %363 = extractvalue { ptr, i32 } %362, 0 + call void @__clang_call_terminate(ptr %363) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i, i64 8 + %cmp.not.i.i.i.i.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i, %359 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i, label %invoke.contthread-pre-split.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i.i.i.i, !llvm.loop !21 + +invoke.contthread-pre-split.i.i.i.i.i.i: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i + %.pr.i.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i1068, align 8 + br label %invoke.cont.i.i.i.i.i.i + +invoke.cont.i.i.i.i.i.i: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i, %for.body.i.i.i.i1067 + %364 = phi ptr [ %.pr.i.i.i.i.i.i, %invoke.contthread-pre-split.i.i.i.i.i.i ], [ %358, %for.body.i.i.i.i1067 ] + %tobool.not.i.i.i.i.i.i.i.i = icmp eq ptr %364, null + br i1 %tobool.not.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i + +if.then.i.i.i.i.i.i.i.i: ; preds = %invoke.cont.i.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %364) #26 + br label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i + +_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i, %invoke.cont.i.i.i.i.i.i + %incdec.ptr.i.i.i.i1069 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1068, i64 24 + %cmp.not.i.i.i.i1070 = icmp eq ptr %incdec.ptr.i.i.i.i1069, %357 + br i1 %cmp.not.i.i.i.i1070, label %invoke.contthread-pre-split.i1071, label %for.body.i.i.i.i1067, !llvm.loop !38 + +invoke.contthread-pre-split.i1071: ; preds = %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i + %.pr.i1072 = load ptr, ptr %c_part_out, align 8 + br label %invoke.cont.i1073 + +invoke.cont.i1073: ; preds = %invoke.contthread-pre-split.i1071, %invoke.cont468 + %365 = phi ptr [ %.pr.i1072, %invoke.contthread-pre-split.i1071 ], [ %356, %invoke.cont468 ] + %tobool.not.i.i.i1074 = icmp eq ptr %365, null + br i1 %tobool.not.i.i.i1074, label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit, label %if.then.i.i.i1075 + +if.then.i.i.i1075: ; preds = %invoke.cont.i1073 + call void @_ZdlPv(ptr noundef nonnull %365) #26 + br label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit + +_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit: ; preds = %invoke.cont.i1073, %if.then.i.i.i1075 + %inc474 = add i32 %j394.01795, 1 + %conv396 = zext i32 %inc474 to i64 + %366 = load ptr, ptr %_M_finish.i.i774, align 8 + %367 = load ptr, ptr %split_new_part, align 8 + %sub.ptr.lhs.cast.i777 = ptrtoint ptr %366 to i64 + %sub.ptr.rhs.cast.i778 = ptrtoint ptr %367 to i64 + %sub.ptr.sub.i779 = sub i64 %sub.ptr.lhs.cast.i777, %sub.ptr.rhs.cast.i778 + %sub.ptr.div.i780 = sdiv exact i64 %sub.ptr.sub.i779, 24 + %cmp398 = icmp ugt i64 %sub.ptr.div.i780, %conv396 + br i1 %cmp398, label %for.cond400.preheader, label %for.end475, !llvm.loop !294 + +lpad453: ; preds = %invoke.cont454, %for.end449 + %368 = landingpad { ptr, i32 } + cleanup + call void @_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %c_part_out) #23 + br label %ehcleanup494 + +for.end475: ; preds = %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit + %tobool.not.i.i = icmp eq ptr %366, %367 + br i1 %tobool.not.i.i, label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE5clearEv.exit, label %for.body.i.i.i.i.i + +for.body.i.i.i.i.i: ; preds = %for.end475, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i.i + %__first.addr.04.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i.i ], [ %367, %for.end475 ] + %369 = load ptr, ptr %__first.addr.04.i.i.i.i.i, align 8 + %_M_finish.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i, i64 8 + %370 = load ptr, ptr %_M_finish.i.i.i.i.i.i.i, align 8 + %cmp.not3.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %369, %370 + br i1 %cmp.not3.i.i.i.i.i.i.i.i.i.i, label %invoke.cont.i.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i.i.i.i.i + +for.body.i.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i + %__first.addr.04.i.i.i.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i.i, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i ], [ %369, %for.body.i.i.i.i.i ] + %371 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i.i, align 8 + %bf.load.i.i.i.i.i.i.i.i.i.i.i.i.i = load i64, ptr %371, align 8 + %372 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %372, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i + +if.then.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i.i + %bf.value.i.i.i.i.i.i.i.i.i.i.i.i.i = add i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i.i = and i64 %bf.value.i.i.i.i.i.i.i.i.i.i.i.i.i, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i.i = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i.i, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i.i.i.i.i = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i.i, %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i.i + store i64 %bf.set.i.i.i.i.i.i.i.i.i.i.i.i.i, ptr %371, align 8 + %cmp12.i.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i.i, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i.i.i.i.i, label %if.then13.i.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i + +if.then13.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %371) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i unwind label %terminate.lpad.i.i.i.i.i.i.i.i.i.i.i.i + +terminate.lpad.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i.i + %373 = landingpad { ptr, i32 } + catch ptr null + %374 = extractvalue { ptr, i32 } %373, 0 + call void @__clang_call_terminate(ptr %374) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i.i, i64 8 + %cmp.not.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i.i, %370 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i, label %invoke.contthread-pre-split.i.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i.i.i.i.i, !llvm.loop !21 + +invoke.contthread-pre-split.i.i.i.i.i.i.i: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i + %.pr.i.i.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i.i, align 8 + br label %invoke.cont.i.i.i.i.i.i.i + +invoke.cont.i.i.i.i.i.i.i: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i.i, %for.body.i.i.i.i.i + %375 = phi ptr [ %.pr.i.i.i.i.i.i.i, %invoke.contthread-pre-split.i.i.i.i.i.i.i ], [ %369, %for.body.i.i.i.i.i ] + %tobool.not.i.i.i.i.i.i.i.i.i = icmp eq ptr %375, null + br i1 %tobool.not.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i + +if.then.i.i.i.i.i.i.i.i.i: ; preds = %invoke.cont.i.i.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %375) #26 + br label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i.i + +_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i, %invoke.cont.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i, i64 24 + %cmp.not.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i, %366 + br i1 %cmp.not.i.i.i.i.i, label %invoke.cont.i.i, label %for.body.i.i.i.i.i, !llvm.loop !38 + +invoke.cont.i.i: ; preds = %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i.i + store ptr %367, ptr %_M_finish.i.i774, align 8 + %.pre1851 = load ptr, ptr %split_new_part, align 8 + br label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE5clearEv.exit + +_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE5clearEv.exit: ; preds = %for.end475, %invoke.cont.i.i + %376 = phi ptr [ %367, %for.end475 ], [ %.pre1851, %invoke.cont.i.i ] + %377 = phi ptr [ %366, %for.end475 ], [ %367, %invoke.cont.i.i ] + %378 = load ptr, ptr %next_split_new_part, align 8 + %379 = load ptr, ptr %_M_finish.i1057, align 8 + %sub.ptr.lhs.cast.i.i1079 = ptrtoint ptr %377 to i64 + %sub.ptr.rhs.cast.i.i1080 = ptrtoint ptr %376 to i64 + %sub.ptr.sub.i.i1081 = sub i64 %sub.ptr.lhs.cast.i.i1079, %sub.ptr.rhs.cast.i.i1080 + %add.ptr.i.i1082 = getelementptr inbounds i8, ptr %376, i64 %sub.ptr.sub.i.i1081 + invoke void @_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %split_new_part, ptr %add.ptr.i.i1082, ptr %378, ptr %379) + to label %invoke.cont489 unwind label %lpad412.loopexit.split-lp + +invoke.cont489: ; preds = %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE5clearEv.exit + %inc493 = add nuw i32 %cindex.01800, 1 + %380 = load ptr, ptr %next_split_new_part, align 8 + %381 = load ptr, ptr %_M_finish.i1057, align 8 + %cmp.not3.i.i.i.i1087 = icmp eq ptr %380, %381 + br i1 %cmp.not3.i.i.i.i1087, label %invoke.cont.i1115, label %for.body.i.i.i.i1088 + +for.body.i.i.i.i1088: ; preds = %invoke.cont489, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1110 + %__first.addr.04.i.i.i.i1089 = phi ptr [ %incdec.ptr.i.i.i.i1111, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1110 ], [ %380, %invoke.cont489 ] + %382 = load ptr, ptr %__first.addr.04.i.i.i.i1089, align 8 + %_M_finish.i.i.i.i.i.i1090 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1089, i64 8 + %383 = load ptr, ptr %_M_finish.i.i.i.i.i.i1090, align 8 + %cmp.not3.i.i.i.i.i.i.i.i.i1091 = icmp eq ptr %382, %383 + br i1 %cmp.not3.i.i.i.i.i.i.i.i.i1091, label %invoke.cont.i.i.i.i.i.i1107, label %for.body.i.i.i.i.i.i.i.i.i1092 + +for.body.i.i.i.i.i.i.i.i.i1092: ; preds = %for.body.i.i.i.i1088, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1102 + %__first.addr.04.i.i.i.i.i.i.i.i.i1093 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i1103, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1102 ], [ %382, %for.body.i.i.i.i1088 ] + %384 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1093, align 8 + %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1094 = load i64, ptr %384, align 8 + %385 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1094, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1095 = icmp eq i64 %385, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1095, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1102, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i1096 + +if.then.i.i.i.i.i.i.i.i.i.i.i.i1096: ; preds = %for.body.i.i.i.i.i.i.i.i.i1092 + %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1097 = add i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1094, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1098 = and i64 %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1097, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1099 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1094, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1100 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1098, %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1099 + store i64 %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1100, ptr %384, align 8 + %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1101 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1098, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1101, label %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1118, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1102 + +if.then13.i.i.i.i.i.i.i.i.i.i.i.i1118: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i1096 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %384) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1102 unwind label %terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1119 + +terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1119: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1118 + %386 = landingpad { ptr, i32 } + catch ptr null + %387 = extractvalue { ptr, i32 } %386, 0 + call void @__clang_call_terminate(ptr %387) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1102: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1118, %if.then.i.i.i.i.i.i.i.i.i.i.i.i1096, %for.body.i.i.i.i.i.i.i.i.i1092 + %incdec.ptr.i.i.i.i.i.i.i.i.i1103 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1093, i64 8 + %cmp.not.i.i.i.i.i.i.i.i.i1104 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i1103, %383 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i1104, label %invoke.contthread-pre-split.i.i.i.i.i.i1105, label %for.body.i.i.i.i.i.i.i.i.i1092, !llvm.loop !21 + +invoke.contthread-pre-split.i.i.i.i.i.i1105: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1102 + %.pr.i.i.i.i.i.i1106 = load ptr, ptr %__first.addr.04.i.i.i.i1089, align 8 + br label %invoke.cont.i.i.i.i.i.i1107 + +invoke.cont.i.i.i.i.i.i1107: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i1105, %for.body.i.i.i.i1088 + %388 = phi ptr [ %.pr.i.i.i.i.i.i1106, %invoke.contthread-pre-split.i.i.i.i.i.i1105 ], [ %382, %for.body.i.i.i.i1088 ] + %tobool.not.i.i.i.i.i.i.i.i1108 = icmp eq ptr %388, null + br i1 %tobool.not.i.i.i.i.i.i.i.i1108, label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1110, label %if.then.i.i.i.i.i.i.i.i1109 + +if.then.i.i.i.i.i.i.i.i1109: ; preds = %invoke.cont.i.i.i.i.i.i1107 + call void @_ZdlPv(ptr noundef nonnull %388) #26 + br label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1110 + +_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1110: ; preds = %if.then.i.i.i.i.i.i.i.i1109, %invoke.cont.i.i.i.i.i.i1107 + %incdec.ptr.i.i.i.i1111 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1089, i64 24 + %cmp.not.i.i.i.i1112 = icmp eq ptr %incdec.ptr.i.i.i.i1111, %381 + br i1 %cmp.not.i.i.i.i1112, label %invoke.contthread-pre-split.i1113, label %for.body.i.i.i.i1088, !llvm.loop !38 + +invoke.contthread-pre-split.i1113: ; preds = %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1110 + %.pr.i1114 = load ptr, ptr %next_split_new_part, align 8 + br label %invoke.cont.i1115 + +invoke.cont.i1115: ; preds = %invoke.contthread-pre-split.i1113, %invoke.cont489 + %389 = phi ptr [ %.pr.i1114, %invoke.contthread-pre-split.i1113 ], [ %380, %invoke.cont489 ] + %tobool.not.i.i.i1116 = icmp eq ptr %389, null + br i1 %tobool.not.i.i.i1116, label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1120, label %if.then.i.i.i1117 + +if.then.i.i.i1117: ; preds = %invoke.cont.i1115 + call void @_ZdlPv(ptr noundef nonnull %389) #26 + br label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1120 + +_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1120: ; preds = %invoke.cont.i1115, %if.then.i.i.i1117 + %exitcond.not = icmp eq i32 %inc493, %cond.i.i + br i1 %exitcond.not, label %while.end, label %land.rhs, !llvm.loop !295 + +ehcleanup494: ; preds = %lpad412.loopexit, %lpad412.loopexit.split-lp, %if.then13.i.i1053, %if.then.i.i1046, %ehcleanup446, %lpad453 + %.pn2.pn.pn.pn = phi { ptr, i32 } [ %368, %lpad453 ], [ %.pn2.pn.pn, %ehcleanup446 ], [ %.pn2.pn.pn, %if.then.i.i1046 ], [ %.pn2.pn.pn, %if.then13.i.i1053 ], [ %lpad.loopexit, %lpad412.loopexit ], [ %lpad.loopexit.split-lp, %lpad412.loopexit.split-lp ] + %390 = load ptr, ptr %next_split_new_part, align 8 + %391 = load ptr, ptr %_M_finish.i1057, align 8 + %cmp.not3.i.i.i.i1122 = icmp eq ptr %390, %391 + br i1 %cmp.not3.i.i.i.i1122, label %invoke.cont.i1150, label %for.body.i.i.i.i1123 + +for.body.i.i.i.i1123: ; preds = %ehcleanup494, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1145 + %__first.addr.04.i.i.i.i1124 = phi ptr [ %incdec.ptr.i.i.i.i1146, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1145 ], [ %390, %ehcleanup494 ] + %392 = load ptr, ptr %__first.addr.04.i.i.i.i1124, align 8 + %_M_finish.i.i.i.i.i.i1125 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1124, i64 8 + %393 = load ptr, ptr %_M_finish.i.i.i.i.i.i1125, align 8 + %cmp.not3.i.i.i.i.i.i.i.i.i1126 = icmp eq ptr %392, %393 + br i1 %cmp.not3.i.i.i.i.i.i.i.i.i1126, label %invoke.cont.i.i.i.i.i.i1142, label %for.body.i.i.i.i.i.i.i.i.i1127 + +for.body.i.i.i.i.i.i.i.i.i1127: ; preds = %for.body.i.i.i.i1123, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1137 + %__first.addr.04.i.i.i.i.i.i.i.i.i1128 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i1138, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1137 ], [ %392, %for.body.i.i.i.i1123 ] + %394 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1128, align 8 + %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1129 = load i64, ptr %394, align 8 + %395 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1129, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1130 = icmp eq i64 %395, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1130, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1137, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i1131 + +if.then.i.i.i.i.i.i.i.i.i.i.i.i1131: ; preds = %for.body.i.i.i.i.i.i.i.i.i1127 + %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1132 = add i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1129, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1133 = and i64 %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1132, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1134 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1129, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1135 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1133, %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1134 + store i64 %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1135, ptr %394, align 8 + %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1136 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1133, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1136, label %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1153, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1137 + +if.then13.i.i.i.i.i.i.i.i.i.i.i.i1153: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i1131 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %394) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1137 unwind label %terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1154 + +terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1154: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1153 + %396 = landingpad { ptr, i32 } + catch ptr null + %397 = extractvalue { ptr, i32 } %396, 0 + call void @__clang_call_terminate(ptr %397) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1137: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1153, %if.then.i.i.i.i.i.i.i.i.i.i.i.i1131, %for.body.i.i.i.i.i.i.i.i.i1127 + %incdec.ptr.i.i.i.i.i.i.i.i.i1138 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1128, i64 8 + %cmp.not.i.i.i.i.i.i.i.i.i1139 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i1138, %393 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i1139, label %invoke.contthread-pre-split.i.i.i.i.i.i1140, label %for.body.i.i.i.i.i.i.i.i.i1127, !llvm.loop !21 + +invoke.contthread-pre-split.i.i.i.i.i.i1140: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1137 + %.pr.i.i.i.i.i.i1141 = load ptr, ptr %__first.addr.04.i.i.i.i1124, align 8 + br label %invoke.cont.i.i.i.i.i.i1142 + +invoke.cont.i.i.i.i.i.i1142: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i1140, %for.body.i.i.i.i1123 + %398 = phi ptr [ %.pr.i.i.i.i.i.i1141, %invoke.contthread-pre-split.i.i.i.i.i.i1140 ], [ %392, %for.body.i.i.i.i1123 ] + %tobool.not.i.i.i.i.i.i.i.i1143 = icmp eq ptr %398, null + br i1 %tobool.not.i.i.i.i.i.i.i.i1143, label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1145, label %if.then.i.i.i.i.i.i.i.i1144 + +if.then.i.i.i.i.i.i.i.i1144: ; preds = %invoke.cont.i.i.i.i.i.i1142 + call void @_ZdlPv(ptr noundef nonnull %398) #26 + br label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1145 + +_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1145: ; preds = %if.then.i.i.i.i.i.i.i.i1144, %invoke.cont.i.i.i.i.i.i1142 + %incdec.ptr.i.i.i.i1146 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1124, i64 24 + %cmp.not.i.i.i.i1147 = icmp eq ptr %incdec.ptr.i.i.i.i1146, %391 + br i1 %cmp.not.i.i.i.i1147, label %invoke.contthread-pre-split.i1148, label %for.body.i.i.i.i1123, !llvm.loop !38 + +invoke.contthread-pre-split.i1148: ; preds = %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1145 + %.pr.i1149 = load ptr, ptr %next_split_new_part, align 8 + br label %invoke.cont.i1150 + +invoke.cont.i1150: ; preds = %invoke.contthread-pre-split.i1148, %ehcleanup494 + %399 = phi ptr [ %.pr.i1149, %invoke.contthread-pre-split.i1148 ], [ %390, %ehcleanup494 ] + %tobool.not.i.i.i1151 = icmp eq ptr %399, null + br i1 %tobool.not.i.i.i1151, label %ehcleanup531, label %if.then.i.i.i1152 + +if.then.i.i.i1152: ; preds = %invoke.cont.i1150 + call void @_ZdlPv(ptr noundef nonnull %399) #26 + br label %ehcleanup531 + +while.end: ; preds = %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1120, %land.rhs, %invoke.cont362 + %400 = load ptr, ptr %_M_finish.i1156, align 8 + %401 = load ptr, ptr %split_new_part, align 8 + %402 = load ptr, ptr %_M_finish.i.i774, align 8 + %403 = load ptr, ptr %part_out, align 8 + %sub.ptr.lhs.cast.i.i1158 = ptrtoint ptr %400 to i64 + %sub.ptr.rhs.cast.i.i1159 = ptrtoint ptr %403 to i64 + %sub.ptr.sub.i.i1160 = sub i64 %sub.ptr.lhs.cast.i.i1158, %sub.ptr.rhs.cast.i.i1159 + %add.ptr.i.i1161 = getelementptr inbounds i8, ptr %403, i64 %sub.ptr.sub.i.i1160 + invoke void @_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %part_out, ptr %add.ptr.i.i1161, ptr %401, ptr %402) + to label %invoke.cont508 unwind label %lpad355.loopexit.split-lp + +invoke.cont508: ; preds = %while.end + %404 = load ptr, ptr %_M_left.i.i.i.i.i499, align 8 + %cmp.i1167.not1801 = icmp eq ptr %404, %142 + br i1 %cmp.i1167.not1801, label %for.end530, label %for.body519 + +for.body519: ; preds = %invoke.cont508, %for.inc528 + %it2.sroa.0.01802 = phi ptr [ %call.i1232, %for.inc528 ], [ %404, %invoke.cont508 ] + %_M_storage.i.i1168 = getelementptr inbounds i8, ptr %it2.sroa.0.01802, i64 32 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i1169) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i1170) + %405 = load ptr, ptr %_M_parent.i.i.i.i.i527, align 8 + %cmp.not5.i.i.i.i1173 = icmp eq ptr %405, null + br i1 %cmp.not5.i.i.i.i1173, label %if.then.i1199, label %while.body.lr.ph.i.i.i.i1174 + +while.body.lr.ph.i.i.i.i1174: ; preds = %for.body519 + %406 = load ptr, ptr %_M_storage.i.i1168, align 8 + %bf.load3.i.i.i.i.i.i1175 = load i64, ptr %406, align 8 + %bf.clear4.i.i.i.i.i.i1176 = and i64 %bf.load3.i.i.i.i.i.i1175, 1099511627775 + br label %while.body.i.i.i.i1177 + +while.body.i.i.i.i1177: ; preds = %while.body.i.i.i.i1177, %while.body.lr.ph.i.i.i.i1174 + %__x.addr.07.i.i.i.i1178 = phi ptr [ %405, %while.body.lr.ph.i.i.i.i1174 ], [ %__x.addr.1.i.i.i.i1187, %while.body.i.i.i.i1177 ] + %__y.addr.06.i.i.i.i1179 = phi ptr [ %add.ptr.i.i.i.i528, %while.body.lr.ph.i.i.i.i1174 ], [ %__y.addr.1.i.i.i.i1184, %while.body.i.i.i.i1177 ] + %_M_storage.i.i.i.i.i.i1180 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i1178, i64 32 + %407 = load ptr, ptr %_M_storage.i.i.i.i.i.i1180, align 8 + %bf.load.i.i.i.i.i.i1181 = load i64, ptr %407, align 8 + %bf.clear.i.i.i.i.i.i1182 = and i64 %bf.load.i.i.i.i.i.i1181, 1099511627775 + %cmp.i.i.i.i.i.i1183 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i1182, %bf.clear4.i.i.i.i.i.i1176 + %__y.addr.1.i.i.i.i1184 = select i1 %cmp.i.i.i.i.i.i1183, ptr %__y.addr.06.i.i.i.i1179, ptr %__x.addr.07.i.i.i.i1178 + %__x.addr.1.in.v.i.i.i.i1185 = select i1 %cmp.i.i.i.i.i.i1183, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i1186 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i1178, i64 %__x.addr.1.in.v.i.i.i.i1185 + %__x.addr.1.i.i.i.i1187 = load ptr, ptr %__x.addr.1.in.i.i.i.i1186, align 8 + %cmp.not.i.i.i.i1188 = icmp eq ptr %__x.addr.1.i.i.i.i1187, null + br i1 %cmp.not.i.i.i.i1188, label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i1189, label %while.body.i.i.i.i1177, !llvm.loop !275 + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i1189: ; preds = %while.body.i.i.i.i1177 + %cmp.i.i1190 = icmp eq ptr %__y.addr.1.i.i.i.i1184, %add.ptr.i.i.i.i528 + br i1 %cmp.i.i1190, label %if.then.i1199, label %lor.rhs.i1191 + +lor.rhs.i1191: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i1189 + %_M_storage.i.i.i1192 = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i1184, i64 32 + %408 = load ptr, ptr %_M_storage.i.i.i1192, align 8 + %bf.load3.i.i.i1193 = load i64, ptr %408, align 8 + %bf.clear4.i.i.i1194 = and i64 %bf.load3.i.i.i1193, 1099511627775 + %cmp.i.i.i1195 = icmp samesign ult i64 %bf.clear4.i.i.i.i.i.i1176, %bf.clear4.i.i.i1194 + br i1 %cmp.i.i.i1195, label %if.then.i1199, label %invoke.cont522 + +if.then.i1199: ; preds = %lor.rhs.i1191, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i1189, %for.body519 + %__y.addr.0.lcssa.i.i.i9.i1200 = phi ptr [ %__y.addr.1.i.i.i.i1184, %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES_IS3_iSt4lessIS3_ESaISt4pairIKS3_iEEES5_SaIS6_IS7_SA_EEE11lower_boundERS7_.exit.i1189 ], [ %__y.addr.1.i.i.i.i1184, %lor.rhs.i1191 ], [ %add.ptr.i.i.i.i528, %for.body519 ] + store ptr %_M_storage.i.i1168, ptr %ref.tmp9.i1169, align 8 + %call12.i1202 = invoke ptr @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St3mapIS3_iSt4lessIS3_ESaIS4_IS5_iEEEESt10_Select1stISC_ES8_SaISC_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESL_IJEEEEESt17_Rb_tree_iteratorISC_ESt23_Rb_tree_const_iteratorISC_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %dni, ptr %__y.addr.0.lcssa.i.i.i9.i1200, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9.i1169, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp10.i1170) + to label %invoke.cont522 unwind label %lpad355.loopexit + +invoke.cont522: ; preds = %lor.rhs.i1191, %if.then.i1199 + %__i.sroa.0.0.i1197 = phi ptr [ %__y.addr.1.i.i.i.i1184, %lor.rhs.i1191 ], [ %call12.i1202, %if.then.i1199 ] + %second.i1198 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i1197, i64 40 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i1169) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i1170) + %_M_parent.i.i.i.i.i1205 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i1197, i64 56 + %add.ptr.i.i.i.i1206 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i1197, i64 48 + %__x.046.i.i.i = load ptr, ptr %_M_parent.i.i.i.i.i1205, align 8 + %cmp.not47.i.i.i = icmp eq ptr %__x.046.i.i.i, null + br i1 %cmp.not47.i.i.i, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseERS5_.exit.i, label %while.body.lr.ph.i.i.i1207 + +while.body.lr.ph.i.i.i1207: ; preds = %invoke.cont522 + %second525 = getelementptr inbounds i8, ptr %it2.sroa.0.01802, i64 40 + %409 = load ptr, ptr %second525, align 8 + %bf.load3.i.i.i.i.i1208 = load i64, ptr %409, align 8 + %bf.clear4.i.i.i.i.i1209 = and i64 %bf.load3.i.i.i.i.i1208, 1099511627775 + br label %while.body.i.i.i1210 + +while.body.i.i.i1210: ; preds = %if.end19.i.i.i, %while.body.lr.ph.i.i.i1207 + %__x.049.i.i.i = phi ptr [ %__x.046.i.i.i, %while.body.lr.ph.i.i.i1207 ], [ %__x.0.i.i.i, %if.end19.i.i.i ] + %__y.048.i.i.i = phi ptr [ %add.ptr.i.i.i.i1206, %while.body.lr.ph.i.i.i1207 ], [ %__y.1.i.i.i, %if.end19.i.i.i ] + %_M_storage.i.i.i.i.i1211 = getelementptr inbounds i8, ptr %__x.049.i.i.i, i64 32 + %410 = load ptr, ptr %_M_storage.i.i.i.i.i1211, align 8 + %bf.load.i.i.i.i.i1212 = load i64, ptr %410, align 8 + %bf.clear.i.i.i.i.i1213 = and i64 %bf.load.i.i.i.i.i1212, 1099511627775 + %cmp.i.i.i.i.i1214 = icmp samesign ult i64 %bf.clear.i.i.i.i.i1213, %bf.clear4.i.i.i.i.i1209 + br i1 %cmp.i.i.i.i.i1214, label %if.end19.i.i.i, label %if.else.i.i.i1215 + +if.else.i.i.i1215: ; preds = %while.body.i.i.i1210 + %cmp.i.i22.i.i.i = icmp samesign ult i64 %bf.clear4.i.i.i.i.i1209, %bf.clear.i.i.i.i.i1213 + br i1 %cmp.i.i22.i.i.i, label %if.end19.i.i.i, label %if.else12.i.i.i + +if.else12.i.i.i: ; preds = %if.else.i.i.i1215 + %_M_left.i23.i.i.i = getelementptr inbounds i8, ptr %__x.049.i.i.i, i64 16 + %411 = load ptr, ptr %_M_left.i23.i.i.i, align 8 + %_M_right.i24.i.i.i = getelementptr inbounds i8, ptr %__x.049.i.i.i, i64 24 + %412 = load ptr, ptr %_M_right.i24.i.i.i, align 8 + %cmp.not5.i.i.i.i1216 = icmp eq ptr %411, null + br i1 %cmp.not5.i.i.i.i1216, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i, label %while.body.i.i.i.i1217 + +while.body.i.i.i.i1217: ; preds = %if.else12.i.i.i, %while.body.i.i.i.i1217 + %__x.addr.07.i.i.i.i1218 = phi ptr [ %__x.addr.1.i.i.i.i1227, %while.body.i.i.i.i1217 ], [ %411, %if.else12.i.i.i ] + %__y.addr.06.i.i.i.i1219 = phi ptr [ %__y.addr.1.i.i.i.i1224, %while.body.i.i.i.i1217 ], [ %__x.049.i.i.i, %if.else12.i.i.i ] + %_M_storage.i.i.i.i.i.i1220 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i1218, i64 32 + %413 = load ptr, ptr %_M_storage.i.i.i.i.i.i1220, align 8 + %bf.load.i.i.i.i.i.i1221 = load i64, ptr %413, align 8 + %bf.clear.i.i.i.i.i.i1222 = and i64 %bf.load.i.i.i.i.i.i1221, 1099511627775 + %cmp.i.i.i.i.i.i1223 = icmp samesign ult i64 %bf.clear.i.i.i.i.i.i1222, %bf.clear4.i.i.i.i.i1209 + %__y.addr.1.i.i.i.i1224 = select i1 %cmp.i.i.i.i.i.i1223, ptr %__y.addr.06.i.i.i.i1219, ptr %__x.addr.07.i.i.i.i1218 + %__x.addr.1.in.v.i.i.i.i1225 = select i1 %cmp.i.i.i.i.i.i1223, i64 24, i64 16 + %__x.addr.1.in.i.i.i.i1226 = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i1218, i64 %__x.addr.1.in.v.i.i.i.i1225 + %__x.addr.1.i.i.i.i1227 = load ptr, ptr %__x.addr.1.in.i.i.i.i1226, align 8 + %cmp.not.i.i.i.i1228 = icmp eq ptr %__x.addr.1.i.i.i.i1227, null + br i1 %cmp.not.i.i.i.i1228, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i, label %while.body.i.i.i.i1217, !llvm.loop !233 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i: ; preds = %while.body.i.i.i.i1217, %if.else12.i.i.i + %__y.addr.0.lcssa.i.i.i.i = phi ptr [ %__x.049.i.i.i, %if.else12.i.i.i ], [ %__y.addr.1.i.i.i.i1224, %while.body.i.i.i.i1217 ] + %cmp.not5.i25.i.i.i = icmp eq ptr %412, null + br i1 %cmp.not5.i25.i.i.i, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseERS5_.exit.i, label %while.body.i29.i.i.i + +while.body.i29.i.i.i: ; preds = %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i, %while.body.i29.i.i.i + %__x.addr.07.i30.i.i.i = phi ptr [ %__x.addr.1.i39.i.i.i, %while.body.i29.i.i.i ], [ %412, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i ] + %__y.addr.06.i31.i.i.i = phi ptr [ %__y.addr.1.i36.i.i.i, %while.body.i29.i.i.i ], [ %__y.048.i.i.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i ] + %_M_storage.i.i.i32.i.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i30.i.i.i, i64 32 + %414 = load ptr, ptr %_M_storage.i.i.i32.i.i.i, align 8 + %bf.load3.i.i.i33.i.i.i = load i64, ptr %414, align 8 + %bf.clear4.i.i.i34.i.i.i = and i64 %bf.load3.i.i.i33.i.i.i, 1099511627775 + %cmp.i.i.i35.i.i.i = icmp samesign ult i64 %bf.clear4.i.i.i.i.i1209, %bf.clear4.i.i.i34.i.i.i + %__y.addr.1.i36.i.i.i = select i1 %cmp.i.i.i35.i.i.i, ptr %__x.addr.07.i30.i.i.i, ptr %__y.addr.06.i31.i.i.i + %__x.addr.1.in.v.i37.i.i.i = select i1 %cmp.i.i.i35.i.i.i, i64 16, i64 24 + %__x.addr.1.in.i38.i.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i30.i.i.i, i64 %__x.addr.1.in.v.i37.i.i.i + %__x.addr.1.i39.i.i.i = load ptr, ptr %__x.addr.1.in.i38.i.i.i, align 8 + %cmp.not.i40.i.i.i = icmp eq ptr %__x.addr.1.i39.i.i.i, null + br i1 %cmp.not.i40.i.i.i, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseERS5_.exit.i, label %while.body.i29.i.i.i, !llvm.loop !241 + +if.end19.i.i.i: ; preds = %if.else.i.i.i1215, %while.body.i.i.i1210 + %.sink.i.i.i = phi i64 [ 24, %while.body.i.i.i1210 ], [ 16, %if.else.i.i.i1215 ] + %__y.1.i.i.i = phi ptr [ %__y.048.i.i.i, %while.body.i.i.i1210 ], [ %__x.049.i.i.i, %if.else.i.i.i1215 ] + %_M_left.i.i.i.i = getelementptr inbounds i8, ptr %__x.049.i.i.i, i64 %.sink.i.i.i + %__x.0.i.i.i = load ptr, ptr %_M_left.i.i.i.i, align 8 + %cmp.not.i.i.i1230 = icmp eq ptr %__x.0.i.i.i, null + br i1 %cmp.not.i.i.i1230, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseERS5_.exit.i, label %while.body.i.i.i1210, !llvm.loop !242 + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseERS5_.exit.i: ; preds = %if.end19.i.i.i, %while.body.i29.i.i.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i, %invoke.cont522 + %retval.sroa.0.0.i.i.i = phi ptr [ %__y.addr.0.lcssa.i.i.i.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i ], [ %add.ptr.i.i.i.i1206, %invoke.cont522 ], [ %__y.addr.0.lcssa.i.i.i.i, %while.body.i29.i.i.i ], [ %__y.1.i.i.i, %if.end19.i.i.i ] + %retval.sroa.3.0.i.i.i = phi ptr [ %__y.048.i.i.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS5_.exit.i.i.i ], [ %add.ptr.i.i.i.i1206, %invoke.cont522 ], [ %__y.addr.1.i36.i.i.i, %while.body.i29.i.i.i ], [ %__y.1.i.i.i, %if.end19.i.i.i ] + %_M_node_count.i.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i1197, i64 80 + %_M_left.i.i1514 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i1197, i64 64 + %415 = load ptr, ptr %_M_left.i.i1514, align 8 + %cmp.i.i1515 = icmp eq ptr %retval.sroa.0.0.i.i.i, %415 + %cmp.i1.i = icmp eq ptr %retval.sroa.3.0.i.i.i, %add.ptr.i.i.i.i1206 + %or.cond = select i1 %cmp.i.i1515, i1 %cmp.i1.i, i1 false + br i1 %or.cond, label %if.then.i1531, label %if.else.i1516 + +if.then.i1531: ; preds = %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseERS5_.exit.i + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %second.i1198, ptr noundef %__x.046.i.i.i) + to label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5clearEv.exit.i unwind label %terminate.lpad.i.i1533 + +terminate.lpad.i.i1533: ; preds = %if.then.i1531 + %416 = landingpad { ptr, i32 } + catch ptr null + %417 = extractvalue { ptr, i32 } %416, 0 + call void @__clang_call_terminate(ptr %417) #25 + unreachable + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5clearEv.exit.i: ; preds = %if.then.i1531 + store ptr null, ptr %_M_parent.i.i.i.i.i1205, align 8 + store ptr %add.ptr.i.i.i.i1206, ptr %_M_left.i.i1514, align 8 + %_M_right.i.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i1197, i64 72 + store ptr %add.ptr.i.i.i.i1206, ptr %_M_right.i.i.i, align 8 + store i64 0, ptr %_M_node_count.i.i.i, align 8 + br label %for.inc528 + +if.else.i1516: ; preds = %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseERS5_.exit.i + %cmp.i3.not8.i = icmp eq ptr %retval.sroa.0.0.i.i.i, %retval.sroa.3.0.i.i.i + br i1 %cmp.i3.not8.i, label %for.inc528, label %while.body.i + +while.body.i: ; preds = %if.else.i1516, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E.exit.i + %__first.sroa.0.09.i = phi ptr [ %call.i.i1517, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E.exit.i ], [ %retval.sroa.0.0.i.i.i, %if.else.i1516 ] + %call.i.i1517 = call noundef ptr @_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base(ptr noundef %__first.sroa.0.09.i) #27 + %call.i5.i = call noundef nonnull ptr @_ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_(ptr noundef %__first.sroa.0.09.i, ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i.i.i.i1206) #23 + %_M_storage.i.i.i.i.i1518 = getelementptr inbounds i8, ptr %call.i5.i, i64 32 + %418 = load ptr, ptr %_M_storage.i.i.i.i.i1518, align 8 + %bf.load.i.i.i.i.i.i.i.i.i1519 = load i64, ptr %418, align 8 + %419 = and i64 %bf.load.i.i.i.i.i.i.i.i.i1519, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i1520 = icmp eq i64 %419, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i1520, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E.exit.i, label %if.then.i.i.i.i.i.i.i.i.i1521 + +if.then.i.i.i.i.i.i.i.i.i1521: ; preds = %while.body.i + %bf.value.i.i.i.i.i.i.i.i.i1522 = add i64 %bf.load.i.i.i.i.i.i.i.i.i1519, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i1523 = and i64 %bf.value.i.i.i.i.i.i.i.i.i1522, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i1524 = and i64 %bf.load.i.i.i.i.i.i.i.i.i1519, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i1525 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i1523, %bf.clear7.i.i.i.i.i.i.i.i.i1524 + store i64 %bf.set.i.i.i.i.i.i.i.i.i1525, ptr %418, align 8 + %cmp12.i.i.i.i.i.i.i.i.i1526 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i1523, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i1526, label %if.then13.i.i.i.i.i.i.i.i.i1528, label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E.exit.i + +if.then13.i.i.i.i.i.i.i.i.i1528: ; preds = %if.then.i.i.i.i.i.i.i.i.i1521 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %418) + to label %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E.exit.i unwind label %terminate.lpad.i.i.i.i.i.i.i.i1529 + +terminate.lpad.i.i.i.i.i.i.i.i1529: ; preds = %if.then13.i.i.i.i.i.i.i.i.i1528 + %420 = landingpad { ptr, i32 } + catch ptr null + %421 = extractvalue { ptr, i32 } %420, 0 + call void @__clang_call_terminate(ptr %421) #25 + unreachable + +_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E.exit.i: ; preds = %if.then13.i.i.i.i.i.i.i.i.i1528, %if.then.i.i.i.i.i.i.i.i.i1521, %while.body.i + call void @_ZdlPv(ptr noundef nonnull %call.i5.i) #26 + %422 = load i64, ptr %_M_node_count.i.i.i, align 8 + %dec.i.i = add i64 %422, -1 + store i64 %dec.i.i, ptr %_M_node_count.i.i.i, align 8 + %cmp.i3.not.i = icmp eq ptr %call.i.i1517, %retval.sroa.3.0.i.i.i + br i1 %cmp.i3.not.i, label %for.inc528, label %while.body.i, !llvm.loop !296 + +for.inc528: ; preds = %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E.exit.i, %_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5clearEv.exit.i, %if.else.i1516 + %call.i1232 = call noundef ptr @_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base(ptr noundef %it2.sroa.0.01802) #27 + %cmp.i1167.not = icmp eq ptr %call.i1232, %142 + br i1 %cmp.i1167.not, label %for.end530, label %for.body519, !llvm.loop !297 + +for.end530: ; preds = %for.inc528, %invoke.cont508 + %423 = load ptr, ptr %split_new_part, align 8 + %424 = load ptr, ptr %_M_finish.i.i774, align 8 + %cmp.not3.i.i.i.i1234 = icmp eq ptr %423, %424 + br i1 %cmp.not3.i.i.i.i1234, label %invoke.cont.i1262, label %for.body.i.i.i.i1235 + +for.body.i.i.i.i1235: ; preds = %for.end530, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1257 + %__first.addr.04.i.i.i.i1236 = phi ptr [ %incdec.ptr.i.i.i.i1258, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1257 ], [ %423, %for.end530 ] + %425 = load ptr, ptr %__first.addr.04.i.i.i.i1236, align 8 + %_M_finish.i.i.i.i.i.i1237 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1236, i64 8 + %426 = load ptr, ptr %_M_finish.i.i.i.i.i.i1237, align 8 + %cmp.not3.i.i.i.i.i.i.i.i.i1238 = icmp eq ptr %425, %426 + br i1 %cmp.not3.i.i.i.i.i.i.i.i.i1238, label %invoke.cont.i.i.i.i.i.i1254, label %for.body.i.i.i.i.i.i.i.i.i1239 + +for.body.i.i.i.i.i.i.i.i.i1239: ; preds = %for.body.i.i.i.i1235, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1249 + %__first.addr.04.i.i.i.i.i.i.i.i.i1240 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i1250, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1249 ], [ %425, %for.body.i.i.i.i1235 ] + %427 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1240, align 8 + %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1241 = load i64, ptr %427, align 8 + %428 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1241, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1242 = icmp eq i64 %428, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1242, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1249, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i1243 + +if.then.i.i.i.i.i.i.i.i.i.i.i.i1243: ; preds = %for.body.i.i.i.i.i.i.i.i.i1239 + %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1244 = add i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1241, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1245 = and i64 %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1244, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1246 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1241, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1247 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1245, %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1246 + store i64 %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1247, ptr %427, align 8 + %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1248 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1245, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1248, label %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1265, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1249 + +if.then13.i.i.i.i.i.i.i.i.i.i.i.i1265: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i1243 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %427) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1249 unwind label %terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1266 + +terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1266: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1265 + %429 = landingpad { ptr, i32 } + catch ptr null + %430 = extractvalue { ptr, i32 } %429, 0 + call void @__clang_call_terminate(ptr %430) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1249: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1265, %if.then.i.i.i.i.i.i.i.i.i.i.i.i1243, %for.body.i.i.i.i.i.i.i.i.i1239 + %incdec.ptr.i.i.i.i.i.i.i.i.i1250 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1240, i64 8 + %cmp.not.i.i.i.i.i.i.i.i.i1251 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i1250, %426 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i1251, label %invoke.contthread-pre-split.i.i.i.i.i.i1252, label %for.body.i.i.i.i.i.i.i.i.i1239, !llvm.loop !21 + +invoke.contthread-pre-split.i.i.i.i.i.i1252: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1249 + %.pr.i.i.i.i.i.i1253 = load ptr, ptr %__first.addr.04.i.i.i.i1236, align 8 + br label %invoke.cont.i.i.i.i.i.i1254 + +invoke.cont.i.i.i.i.i.i1254: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i1252, %for.body.i.i.i.i1235 + %431 = phi ptr [ %.pr.i.i.i.i.i.i1253, %invoke.contthread-pre-split.i.i.i.i.i.i1252 ], [ %425, %for.body.i.i.i.i1235 ] + %tobool.not.i.i.i.i.i.i.i.i1255 = icmp eq ptr %431, null + br i1 %tobool.not.i.i.i.i.i.i.i.i1255, label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1257, label %if.then.i.i.i.i.i.i.i.i1256 + +if.then.i.i.i.i.i.i.i.i1256: ; preds = %invoke.cont.i.i.i.i.i.i1254 + call void @_ZdlPv(ptr noundef nonnull %431) #26 + br label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1257 + +_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1257: ; preds = %if.then.i.i.i.i.i.i.i.i1256, %invoke.cont.i.i.i.i.i.i1254 + %incdec.ptr.i.i.i.i1258 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1236, i64 24 + %cmp.not.i.i.i.i1259 = icmp eq ptr %incdec.ptr.i.i.i.i1258, %424 + br i1 %cmp.not.i.i.i.i1259, label %invoke.contthread-pre-split.i1260, label %for.body.i.i.i.i1235, !llvm.loop !38 + +invoke.contthread-pre-split.i1260: ; preds = %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1257 + %.pr.i1261 = load ptr, ptr %split_new_part, align 8 + br label %invoke.cont.i1262 + +invoke.cont.i1262: ; preds = %invoke.contthread-pre-split.i1260, %for.end530 + %432 = phi ptr [ %.pr.i1261, %invoke.contthread-pre-split.i1260 ], [ %423, %for.end530 ] + %tobool.not.i.i.i1263 = icmp eq ptr %432, null + br i1 %tobool.not.i.i.i1263, label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1267, label %if.then.i.i.i1264 + +if.then.i.i.i1264: ; preds = %invoke.cont.i1262 + call void @_ZdlPv(ptr noundef nonnull %432) #26 + br label %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1267 + +_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1267: ; preds = %invoke.cont.i1262, %if.then.i.i.i1264 + %433 = load ptr, ptr %_M_parent.i.i.i.i.i498, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %dni_rem, ptr noundef %433) + to label %for.inc534 unwind label %terminate.lpad.i.i + +terminate.lpad.i.i: ; preds = %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1267 + %434 = landingpad { ptr, i32 } + catch ptr null + %435 = extractvalue { ptr, i32 } %434, 0 + call void @__clang_call_terminate(ptr %435) #25 + unreachable + +ehcleanup531: ; preds = %lpad355.loopexit, %lpad355.loopexit.split-lp, %if.then.i.i.i1152, %invoke.cont.i1150 + %.pn2.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn2.pn.pn.pn, %invoke.cont.i1150 ], [ %.pn2.pn.pn.pn, %if.then.i.i.i1152 ], [ %lpad.loopexit1600, %lpad355.loopexit ], [ %lpad.loopexit.split-lp1601, %lpad355.loopexit.split-lp ] + %436 = load ptr, ptr %split_new_part, align 8 + %437 = load ptr, ptr %_M_finish.i.i774, align 8 + %cmp.not3.i.i.i.i1270 = icmp eq ptr %436, %437 + br i1 %cmp.not3.i.i.i.i1270, label %invoke.cont.i1298, label %for.body.i.i.i.i1271 + +for.body.i.i.i.i1271: ; preds = %ehcleanup531, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1293 + %__first.addr.04.i.i.i.i1272 = phi ptr [ %incdec.ptr.i.i.i.i1294, %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1293 ], [ %436, %ehcleanup531 ] + %438 = load ptr, ptr %__first.addr.04.i.i.i.i1272, align 8 + %_M_finish.i.i.i.i.i.i1273 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1272, i64 8 + %439 = load ptr, ptr %_M_finish.i.i.i.i.i.i1273, align 8 + %cmp.not3.i.i.i.i.i.i.i.i.i1274 = icmp eq ptr %438, %439 + br i1 %cmp.not3.i.i.i.i.i.i.i.i.i1274, label %invoke.cont.i.i.i.i.i.i1290, label %for.body.i.i.i.i.i.i.i.i.i1275 + +for.body.i.i.i.i.i.i.i.i.i1275: ; preds = %for.body.i.i.i.i1271, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1285 + %__first.addr.04.i.i.i.i.i.i.i.i.i1276 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i1286, %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1285 ], [ %438, %for.body.i.i.i.i1271 ] + %440 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1276, align 8 + %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1277 = load i64, ptr %440, align 8 + %441 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1277, 1152920405095219200 + %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1278 = icmp eq i64 %441, 1152920405095219200 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i1278, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1285, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i1279 + +if.then.i.i.i.i.i.i.i.i.i.i.i.i1279: ; preds = %for.body.i.i.i.i.i.i.i.i.i1275 + %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1280 = add i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1277, 1152920405095219200 + %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1281 = and i64 %bf.value.i.i.i.i.i.i.i.i.i.i.i.i1280, 1152920405095219200 + %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1282 = and i64 %bf.load.i.i.i.i.i.i.i.i.i.i.i.i1277, -1152920405095219201 + %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1283 = or disjoint i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1281, %bf.clear7.i.i.i.i.i.i.i.i.i.i.i.i1282 + store i64 %bf.set.i.i.i.i.i.i.i.i.i.i.i.i1283, ptr %440, align 8 + %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1284 = icmp eq i64 %bf.shl.i.i.i.i.i.i.i.i.i.i.i.i1281, 0 + br i1 %cmp12.i.i.i.i.i.i.i.i.i.i.i.i1284, label %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1301, label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1285 + +if.then13.i.i.i.i.i.i.i.i.i.i.i.i1301: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i1279 + invoke void @_ZN4cvc58internal4expr9NodeValue15markForDeletionEv(ptr noundef nonnull align 8 dereferenceable(16) %440) + to label %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1285 unwind label %terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1302 + +terminate.lpad.i.i.i.i.i.i.i.i.i.i.i1302: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1301 + %442 = landingpad { ptr, i32 } + catch ptr null + %443 = extractvalue { ptr, i32 } %442, 0 + call void @__clang_call_terminate(ptr %443) #25 + unreachable + +_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1285: ; preds = %if.then13.i.i.i.i.i.i.i.i.i.i.i.i1301, %if.then.i.i.i.i.i.i.i.i.i.i.i.i1279, %for.body.i.i.i.i.i.i.i.i.i1275 + %incdec.ptr.i.i.i.i.i.i.i.i.i1286 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i1276, i64 8 + %cmp.not.i.i.i.i.i.i.i.i.i1287 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i1286, %439 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i1287, label %invoke.contthread-pre-split.i.i.i.i.i.i1288, label %for.body.i.i.i.i.i.i.i.i.i1275, !llvm.loop !21 + +invoke.contthread-pre-split.i.i.i.i.i.i1288: ; preds = %_ZSt8_DestroyIN4cvc58internal12NodeTemplateILb1EEEEvPT_.exit.i.i.i.i.i.i.i.i.i1285 + %.pr.i.i.i.i.i.i1289 = load ptr, ptr %__first.addr.04.i.i.i.i1272, align 8 + br label %invoke.cont.i.i.i.i.i.i1290 + +invoke.cont.i.i.i.i.i.i1290: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i1288, %for.body.i.i.i.i1271 + %444 = phi ptr [ %.pr.i.i.i.i.i.i1289, %invoke.contthread-pre-split.i.i.i.i.i.i1288 ], [ %438, %for.body.i.i.i.i1271 ] + %tobool.not.i.i.i.i.i.i.i.i1291 = icmp eq ptr %444, null + br i1 %tobool.not.i.i.i.i.i.i.i.i1291, label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1293, label %if.then.i.i.i.i.i.i.i.i1292 + +if.then.i.i.i.i.i.i.i.i1292: ; preds = %invoke.cont.i.i.i.i.i.i1290 + call void @_ZdlPv(ptr noundef nonnull %444) #26 + br label %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1293 + +_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1293: ; preds = %if.then.i.i.i.i.i.i.i.i1292, %invoke.cont.i.i.i.i.i.i1290 + %incdec.ptr.i.i.i.i1294 = getelementptr inbounds i8, ptr %__first.addr.04.i.i.i.i1272, i64 24 + %cmp.not.i.i.i.i1295 = icmp eq ptr %incdec.ptr.i.i.i.i1294, %437 + br i1 %cmp.not.i.i.i.i1295, label %invoke.contthread-pre-split.i1296, label %for.body.i.i.i.i1271, !llvm.loop !38 + +invoke.contthread-pre-split.i1296: ; preds = %_ZSt8_DestroyISt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EEEvPT_.exit.i.i.i.i1293 + %.pr.i1297 = load ptr, ptr %split_new_part, align 8 + br label %invoke.cont.i1298 + +invoke.cont.i1298: ; preds = %invoke.contthread-pre-split.i1296, %ehcleanup531 + %445 = phi ptr [ %.pr.i1297, %invoke.contthread-pre-split.i1296 ], [ %436, %ehcleanup531 ] + %tobool.not.i.i.i1299 = icmp eq ptr %445, null + br i1 %tobool.not.i.i.i1299, label %ehcleanup532, label %if.then.i.i.i1300 + +if.then.i.i.i1300: ; preds = %invoke.cont.i1298 + call void @_ZdlPv(ptr noundef nonnull %445) #26 + br label %ehcleanup532 + +ehcleanup532: ; preds = %if.then.i.i.i1300, %invoke.cont.i1298, %lpad336.body, %lpad334 + %.pn8 = phi { ptr, i32 } [ %eh.lpad-body1343, %lpad336.body ], [ %232, %lpad334 ], [ %.pn2.pn.pn.pn.pn, %invoke.cont.i1298 ], [ %.pn2.pn.pn.pn.pn, %if.then.i.i.i1300 ] + %446 = load ptr, ptr %_M_parent.i.i.i.i.i498, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %dni_rem, ptr noundef %446) + to label %ehcleanup537 unwind label %terminate.lpad.i.i1305 + +terminate.lpad.i.i1305: ; preds = %ehcleanup532 + %447 = landingpad { ptr, i32 } + catch ptr null + %448 = extractvalue { ptr, i32 } %447, 0 + call void @__clang_call_terminate(ptr %448) #25 + unreachable + +for.inc534: ; preds = %_ZNSt6vectorIS_IN4cvc58internal12NodeTemplateILb1EEESaIS3_EESaIS5_EED2Ev.exit1267, %for.body316 + %call.i1307 = call noundef ptr @_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base(ptr noundef %it308.sroa.0.01804) #27 + %cmp.i491.not = icmp eq ptr %call.i1307, %0 + br i1 %cmp.i491.not, label %for.end536, label %for.body316, !llvm.loop !298 + +for.end536: ; preds = %for.inc534, %for.end307 + %449 = load ptr, ptr %_M_parent.i.i.i.i.i26, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn_cons, ptr noundef %449) + to label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1310 unwind label %terminate.lpad.i.i1309 + +terminate.lpad.i.i1309: ; preds = %for.end536 + %450 = landingpad { ptr, i32 } + catch ptr null + %451 = extractvalue { ptr, i32 } %450, 0 + call void @__clang_call_terminate(ptr %451) #25 + unreachable + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1310: ; preds = %for.end536 + %452 = load ptr, ptr %_M_parent.i.i.i.i.i22, align 8 + invoke void @_ZNSt8_Rb_treeIiSt4pairIKiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS6_EEESt10_Select1stIS9_ESt4lessIiESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E(ptr noundef nonnull align 8 dereferenceable(48) %new_part_rec, ptr noundef %452) + to label %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit unwind label %terminate.lpad.i.i1312 + +terminate.lpad.i.i1312: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1310 + %453 = landingpad { ptr, i32 } + catch ptr null + %454 = extractvalue { ptr, i32 } %453, 0 + call void @__clang_call_terminate(ptr %454) #25 + unreachable + +_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1310 + %455 = load ptr, ptr %_M_parent.i.i.i.i.i18, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St6vectorIS3_SaIS3_EEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E(ptr noundef nonnull align 8 dereferenceable(48) %new_part_c, ptr noundef %455) + to label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit unwind label %terminate.lpad.i.i1314 + +terminate.lpad.i.i1314: ; preds = %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit + %456 = landingpad { ptr, i32 } + catch ptr null + %457 = extractvalue { ptr, i32 } %456, 0 + call void @__clang_call_terminate(ptr %457) #25 + unreachable + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit: ; preds = %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit + %458 = load ptr, ptr %_M_parent.i.i.i.i.i, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St6vectorIS3_SaIS3_EEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E(ptr noundef nonnull align 8 dereferenceable(48) %new_part, ptr noundef %458) + to label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1317 unwind label %terminate.lpad.i.i1316 + +terminate.lpad.i.i1316: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit + %459 = landingpad { ptr, i32 } + catch ptr null + %460 = extractvalue { ptr, i32 } %459, 0 + call void @__clang_call_terminate(ptr %460) #25 + unreachable + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1317: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit + ret void + +ehcleanup537: ; preds = %ehcleanup532, %lpad296, %lpad254, %ehcleanup220, %lpad + %.pn15.pn = phi { ptr, i32 } [ %.pn15, %ehcleanup220 ], [ %27, %lpad ], [ %129, %lpad254 ], [ %140, %lpad296 ], [ %.pn8, %ehcleanup532 ] + %461 = load ptr, ptr %_M_parent.i.i.i.i.i26, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E(ptr noundef nonnull align 8 dereferenceable(48) %cn_cons, ptr noundef %461) + to label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1320 unwind label %terminate.lpad.i.i1319 + +terminate.lpad.i.i1319: ; preds = %ehcleanup537 + %462 = landingpad { ptr, i32 } + catch ptr null + %463 = extractvalue { ptr, i32 } %462, 0 + call void @__clang_call_terminate(ptr %463) #25 + unreachable + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1320: ; preds = %ehcleanup537 + %464 = load ptr, ptr %_M_parent.i.i.i.i.i22, align 8 + invoke void @_ZNSt8_Rb_treeIiSt4pairIKiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS6_EEESt10_Select1stIS9_ESt4lessIiESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E(ptr noundef nonnull align 8 dereferenceable(48) %new_part_rec, ptr noundef %464) + to label %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit1323 unwind label %terminate.lpad.i.i1322 + +terminate.lpad.i.i1322: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1320 + %465 = landingpad { ptr, i32 } + catch ptr null + %466 = extractvalue { ptr, i32 } %465, 0 + call void @__clang_call_terminate(ptr %466) #25 + unreachable + +_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit1323: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEES3_St4lessIS3_ESaISt4pairIKS3_S3_EEED2Ev.exit1320 + %467 = load ptr, ptr %_M_parent.i.i.i.i.i18, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St6vectorIS3_SaIS3_EEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E(ptr noundef nonnull align 8 dereferenceable(48) %new_part_c, ptr noundef %467) + to label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1326 unwind label %terminate.lpad.i.i1325 + +terminate.lpad.i.i1325: ; preds = %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit1323 + %468 = landingpad { ptr, i32 } + catch ptr null + %469 = extractvalue { ptr, i32 } %468, 0 + call void @__clang_call_terminate(ptr %469) #25 + unreachable + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1326: ; preds = %_ZNSt3mapIiSt6vectorIN4cvc58internal12NodeTemplateILb1EEESaIS4_EESt4lessIiESaISt4pairIKiS6_EEED2Ev.exit1323 + %470 = load ptr, ptr %_M_parent.i.i.i.i.i, align 8 + invoke void @_ZNSt8_Rb_treeIN4cvc58internal12NodeTemplateILb1EEESt4pairIKS3_St6vectorIS3_SaIS3_EEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E(ptr noundef nonnull align 8 dereferenceable(48) %new_part, ptr noundef %470) + to label %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1329 unwind label %terminate.lpad.i.i1328 + +terminate.lpad.i.i1328: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1326 + %471 = landingpad { ptr, i32 } + catch ptr null + %472 = extractvalue { ptr, i32 } %471, 0 + call void @__clang_call_terminate(ptr %472) #25 + unreachable + +_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1329: ; preds = %_ZNSt3mapIN4cvc58internal12NodeTemplateILb1EEESt6vectorIS3_SaIS3_EESt4lessIS3_ESaISt4pairIKS3_S6_EEED2Ev.exit1326 + resume { ptr, i32 } %.pn15.pn +} + ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: readwrite) declare void @llvm.experimental.noalias.scope.decl(metadata) #19 @@ -53561,3 +73486,63 @@ attributes #29 = { noreturn } !406 = distinct !{!406, !6} !407 = distinct !{!407, !6} !408 = distinct !{!408, !6} +!409 = !{!410} +!410 = distinct !{!410, !411, !"_ZNK4cvc58internal12NodeTemplateILb1EEixEi: %agg.result"} +!411 = distinct !{!411, !"_ZNK4cvc58internal12NodeTemplateILb1EEixEi"} +!412 = !{!413} +!413 = distinct !{!413, !414, !"_ZN4cvc58internal6theory9datatypes15TheoryDatatypes17getRepresentativeENS0_12NodeTemplateILb0EEE: %agg.result"} +!414 = distinct !{!414, !"_ZN4cvc58internal6theory9datatypes15TheoryDatatypes17getRepresentativeENS0_12NodeTemplateILb0EEE"} +!415 = !{!416} +!416 = distinct !{!416, !417, !"_ZNK4cvc58internal12NodeTemplateILb1EE6eqNodeILb1EEES2_RKNS1_IXT_EEE: %agg.result"} +!417 = distinct !{!417, !"_ZNK4cvc58internal12NodeTemplateILb1EE6eqNodeILb1EEES2_RKNS1_IXT_EEE"} +!418 = !{!419, !416} +!419 = distinct !{!419, !420, !"_ZN4cvc58internal11NodeManager6mkNodeENS0_4kind6Kind_tENS0_12NodeTemplateILb0EEES5_: %agg.result"} +!420 = distinct !{!420, !"_ZN4cvc58internal11NodeManager6mkNodeENS0_4kind6Kind_tENS0_12NodeTemplateILb0EEES5_"} +!421 = !{!422} +!422 = distinct !{!422, !423, !"_ZNK4cvc58internal12NodeTemplateILb1EEixEi: %agg.result"} +!423 = distinct !{!423, !"_ZNK4cvc58internal12NodeTemplateILb1EEixEi"} +!424 = !{!425} +!425 = distinct !{!425, !426, !"_ZN4cvc58internal6theory9datatypes15TheoryDatatypes17getRepresentativeENS0_12NodeTemplateILb0EEE: %agg.result"} +!426 = distinct !{!426, !"_ZN4cvc58internal6theory9datatypes15TheoryDatatypes17getRepresentativeENS0_12NodeTemplateILb0EEE"} +!427 = !{!428} +!428 = distinct !{!428, !429, !"_ZNK4cvc58internal12NodeTemplateILb1EE6eqNodeILb1EEES2_RKNS1_IXT_EEE: %agg.result"} +!429 = distinct !{!429, !"_ZNK4cvc58internal12NodeTemplateILb1EE6eqNodeILb1EEES2_RKNS1_IXT_EEE"} +!430 = !{!431, !428} +!431 = distinct !{!431, !432, !"_ZN4cvc58internal11NodeManager6mkNodeENS0_4kind6Kind_tENS0_12NodeTemplateILb0EEES5_: %agg.result"} +!432 = distinct !{!432, !"_ZN4cvc58internal11NodeManager6mkNodeENS0_4kind6Kind_tENS0_12NodeTemplateILb0EEES5_"} +!433 = !{!434} +!434 = distinct !{!434, !435, !"_ZNK4cvc58internal12NodeTemplateILb1EEixEi: %agg.result"} +!435 = distinct !{!435, !"_ZNK4cvc58internal12NodeTemplateILb1EEixEi"} +!436 = !{!437} +!437 = distinct !{!437, !438, !"_ZN4cvc58internal6theory9datatypes15TheoryDatatypes17getRepresentativeENS0_12NodeTemplateILb0EEE: %agg.result"} +!438 = distinct !{!438, !"_ZN4cvc58internal6theory9datatypes15TheoryDatatypes17getRepresentativeENS0_12NodeTemplateILb0EEE"} +!439 = !{!440} +!440 = distinct !{!440, !441, !"_ZNK4cvc58internal12NodeTemplateILb1EE6eqNodeILb1EEES2_RKNS1_IXT_EEE: %agg.result"} +!441 = distinct !{!441, !"_ZNK4cvc58internal12NodeTemplateILb1EE6eqNodeILb1EEES2_RKNS1_IXT_EEE"} +!442 = !{!443, !440} +!443 = distinct !{!443, !444, !"_ZN4cvc58internal11NodeManager6mkNodeENS0_4kind6Kind_tENS0_12NodeTemplateILb0EEES5_: %agg.result"} +!444 = distinct !{!444, !"_ZN4cvc58internal11NodeManager6mkNodeENS0_4kind6Kind_tENS0_12NodeTemplateILb0EEES5_"} +!445 = !{!446} +!446 = distinct !{!446, !447, !"_ZNK4cvc58internal12NodeTemplateILb1EEixEi: %agg.result"} +!447 = distinct !{!447, !"_ZNK4cvc58internal12NodeTemplateILb1EEixEi"} +!448 = !{!449} +!449 = distinct !{!449, !450, !"_ZN4cvc58internal6theory9datatypes15TheoryDatatypes17getRepresentativeENS0_12NodeTemplateILb0EEE: %agg.result"} +!450 = distinct !{!450, !"_ZN4cvc58internal6theory9datatypes15TheoryDatatypes17getRepresentativeENS0_12NodeTemplateILb0EEE"} +!451 = !{!452} +!452 = distinct !{!452, !453, !"_ZNK4cvc58internal12NodeTemplateILb1EE6eqNodeILb1EEES2_RKNS1_IXT_EEE: %agg.result"} +!453 = distinct !{!453, !"_ZNK4cvc58internal12NodeTemplateILb1EE6eqNodeILb1EEES2_RKNS1_IXT_EEE"} +!454 = !{!455, !452} +!455 = distinct !{!455, !456, !"_ZN4cvc58internal11NodeManager6mkNodeENS0_4kind6Kind_tENS0_12NodeTemplateILb0EEES5_: %agg.result"} +!456 = distinct !{!456, !"_ZN4cvc58internal11NodeManager6mkNodeENS0_4kind6Kind_tENS0_12NodeTemplateILb0EEES5_"} +!457 = !{!458} +!458 = distinct !{!458, !459, !"_ZNK4cvc58internal12NodeTemplateILb1EEixEi: %agg.result"} +!459 = distinct !{!459, !"_ZNK4cvc58internal12NodeTemplateILb1EEixEi"} +!460 = !{!461} +!461 = distinct !{!461, !462, !"_ZN4cvc58internal6theory9datatypes15TheoryDatatypes17getRepresentativeENS0_12NodeTemplateILb0EEE: %agg.result"} +!462 = distinct !{!462, !"_ZN4cvc58internal6theory9datatypes15TheoryDatatypes17getRepresentativeENS0_12NodeTemplateILb0EEE"} +!463 = !{!464} +!464 = distinct !{!464, !465, !"_ZNK4cvc58internal12NodeTemplateILb1EE6eqNodeILb1EEES2_RKNS1_IXT_EEE: %agg.result"} +!465 = distinct !{!465, !"_ZNK4cvc58internal12NodeTemplateILb1EE6eqNodeILb1EEES2_RKNS1_IXT_EEE"} +!466 = !{!467, !464} +!467 = distinct !{!467, !468, !"_ZN4cvc58internal11NodeManager6mkNodeENS0_4kind6Kind_tENS0_12NodeTemplateILb0EEES5_: %agg.result"} +!468 = distinct !{!468, !"_ZN4cvc58internal11NodeManager6mkNodeENS0_4kind6Kind_tENS0_12NodeTemplateILb0EEES5_"} diff --git a/bench/slurm/optimized/job_report_functions.ll b/bench/slurm/optimized/job_report_functions.ll index 55730b33282..2ee82abd257 100644 --- a/bench/slurm/optimized/job_report_functions.ll +++ b/bench/slurm/optimized/job_report_functions.ll @@ -32,12 +32,12 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr %10 = alloca %struct.slurmdb_wckey_cond_t, align 8 %11 = alloca [200 x i8], align 16 %12 = alloca [200 x i8], align 16 - %13 = tail call i32 @getuid() #10 + %13 = tail call i32 @getuid() #11 %.not = icmp eq ptr %1, null br i1 %.not, label %14, label %16 14: ; preds = %7 - %15 = tail call ptr @slurm_xcalloc(i64 noundef 1, i64 noundef 192, i1 noundef zeroext true, i1 noundef zeroext false, ptr noundef nonnull @.str, i32 noundef 171, ptr noundef nonnull @__func__._process_grouped_report) #10 + %15 = tail call ptr @slurm_xcalloc(i64 noundef 1, i64 noundef 192, i1 noundef zeroext true, i1 noundef zeroext false, ptr noundef nonnull @.str, i32 noundef 171, ptr noundef nonnull @__func__._process_grouped_report) #11 br label %16 16: ; preds = %14, %7 @@ -46,8 +46,8 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr br i1 %.not278, label %20, label %17 17: ; preds = %16 - %18 = tail call ptr @list_create(ptr noundef nonnull @xfree_ptr) #10 - %19 = tail call i32 @slurm_addto_char_list(ptr noundef %18, ptr noundef nonnull @.str.1) #10 + %18 = tail call ptr @list_create(ptr noundef nonnull @xfree_ptr) #11 + %19 = tail call i32 @slurm_addto_char_list(ptr noundef %18, ptr noundef nonnull @.str.1) #11 br label %20 20: ; preds = %17, %16 @@ -67,7 +67,7 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr store i32 %26, ptr %24, align 8 %27 = getelementptr inbounds i8, ptr %.0, i64 40 store i32 1, ptr %27, align 8 - %28 = tail call ptr @jobacct_storage_g_get_jobs_cond(ptr noundef %0, i32 noundef %13, ptr noundef %.0) #10 + %28 = tail call ptr @jobacct_storage_g_get_jobs_cond(ptr noundef %0, i32 noundef %13, ptr noundef %.0) #11 br i1 %3, label %30, label %29 29: ; preds = %23 @@ -80,18 +80,18 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr .thread361: ; preds = %30 %31 = load ptr, ptr @stderr, align 8 - %32 = tail call i64 @fwrite(ptr nonnull @.str.2, i64 25, i64 1, ptr %31) #11 + %32 = tail call i64 @fwrite(ptr nonnull @.str.2, i64 25, i64 1, ptr %31) #12 br label %313 33: ; preds = %30 - %34 = tail call ptr @list_iterator_create(ptr noundef %.0229) #10 - %35 = tail call i32 @list_count(ptr noundef %.0229) #10 + %34 = tail call ptr @list_iterator_create(ptr noundef %.0229) #11 + %35 = tail call i32 @list_count(ptr noundef %.0229) #11 %.not280 = icmp eq i32 %35, 0 br i1 %.not280, label %36, label %57 36: ; preds = %33 - %37 = tail call ptr @list_iterator_create(ptr noundef nonnull %28) #10 - %38 = tail call ptr @list_next(ptr noundef %37) #10 + %37 = tail call ptr @list_iterator_create(ptr noundef nonnull %28) #11 + %38 = tail call ptr @list_next(ptr noundef %37) #11 %.not281382 = icmp eq ptr %38, null br i1 %.not281382, label %._crit_edge, label %.lr.ph @@ -106,51 +106,51 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr 42: ; preds = %.lr.ph %43 = getelementptr inbounds i8, ptr %39, i64 400 %44 = load ptr, ptr %43, align 8 - %45 = call i64 @slurmdb_find_tres_count_in_string(ptr noundef %44, i32 noundef 1) #10 + %45 = call i64 @slurmdb_find_tres_count_in_string(ptr noundef %44, i32 noundef 1) #11 %46 = icmp eq i64 %45, -1 br i1 %46, label %.backedge379, label %47 47: ; preds = %42 - %48 = call ptr (ptr, ...) @xstrdup_printf(ptr noundef nonnull @.str.3, i64 noundef %45) #10 + %48 = call ptr (ptr, ...) @xstrdup_printf(ptr noundef nonnull @.str.3, i64 noundef %45) #11 store ptr %48, ptr %8, align 8 br label %49 49: ; preds = %52, %47 - %50 = call ptr @list_next(ptr noundef %34) #10 + %50 = call ptr @list_next(ptr noundef %34) #11 %.not283 = icmp eq ptr %50, null %51 = load ptr, ptr %8, align 8 br i1 %.not283, label %.critedge, label %52 52: ; preds = %49 - %53 = call i32 @xstrcmp(ptr noundef nonnull %50, ptr noundef %51) #10 + %53 = call i32 @xstrcmp(ptr noundef nonnull %50, ptr noundef %51) #11 %.not284 = icmp eq i32 %53, 0 br i1 %.not284, label %54, label %49, !llvm.loop !6 .critedge: ; preds = %49 - call void @list_append(ptr noundef %.0229, ptr noundef %51) #10 + call void @list_append(ptr noundef %.0229, ptr noundef %51) #11 br label %55 54: ; preds = %52 - call void @slurm_xfree(ptr noundef nonnull %8) #10 + call void @slurm_xfree(ptr noundef nonnull %8) #11 br label %55 55: ; preds = %54, %.critedge - call void @list_iterator_reset(ptr noundef %34) #10 + call void @list_iterator_reset(ptr noundef %34) #11 br label %.backedge379 .backedge379: ; preds = %55, %.lr.ph, %42 - %56 = call ptr @list_next(ptr noundef %37) #10 + %56 = call ptr @list_next(ptr noundef %37) #11 %.not281 = icmp eq ptr %56, null br i1 %.not281, label %._crit_edge, label %.lr.ph, !llvm.loop !8 ._crit_edge: ; preds = %.backedge379, %36 - call void @list_iterator_destroy(ptr noundef %37) #10 - call void @list_sort(ptr noundef %.0229, ptr noundef nonnull @_sort_group_asc) #10 + call void @list_iterator_destroy(ptr noundef %37) #11 + call void @list_sort(ptr noundef %.0229, ptr noundef nonnull @_sort_group_asc) #11 br label %57 57: ; preds = %._crit_edge, %33 - %58 = call ptr @list_create(ptr noundef nonnull @slurmdb_destroy_report_cluster_grouping) #10 - %59 = call ptr @list_iterator_create(ptr noundef %58) #10 + %58 = call ptr @list_create(ptr noundef nonnull @slurmdb_destroy_report_cluster_grouping) #11 + %59 = call ptr @list_iterator_create(ptr noundef %58) #11 br i1 %3, label %147, label %60 60: ; preds = %57 @@ -176,7 +176,7 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr br i1 %.not287, label %.thread, label %70 70: ; preds = %69 - %71 = call i32 @list_count(ptr noundef nonnull %68) #10 + %71 = call i32 @list_count(ptr noundef nonnull %68) #11 %.not288 = icmp eq i32 %71, 0 %.pr = load ptr, ptr %.0, align 8 br i1 %.not288, label %72, label %77 @@ -186,14 +186,14 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr br i1 %.not289, label %.thread, label %73 73: ; preds = %72 - call void @list_destroy(ptr noundef nonnull %.pr) #10 + call void @list_destroy(ptr noundef nonnull %.pr) #11 br label %.thread .thread: ; preds = %69, %73, %72 store ptr null, ptr %.0, align 8 - %74 = call ptr @list_create(ptr noundef null) #10 + %74 = call ptr @list_create(ptr noundef null) #11 store ptr %74, ptr %.0, align 8 - call void @list_append(ptr noundef %74, ptr noundef nonnull @.str.4) #10 + call void @list_append(ptr noundef %74, ptr noundef nonnull @.str.4) #11 %75 = load ptr, ptr %.0, align 8 %76 = getelementptr inbounds i8, ptr %9, i64 48 store ptr %75, ptr %76, align 8 @@ -208,7 +208,7 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr br i1 %.not287, label %84, label %80 80: ; preds = %79 - %81 = call i32 @list_count(ptr noundef nonnull %68) #10 + %81 = call i32 @list_count(ptr noundef nonnull %68) #11 %.not286 = icmp eq i32 %81, 0 br i1 %.not286, label %84, label %82 @@ -218,7 +218,7 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr br label %84 84: ; preds = %77, %.thread, %82, %80, %79 - %85 = call ptr @acct_storage_g_get_assocs(ptr noundef %0, i32 noundef %13, ptr noundef nonnull %9) #10 + %85 = call ptr @acct_storage_g_get_assocs(ptr noundef %0, i32 noundef %13, ptr noundef nonnull %9) #11 %brmerge326 = or i1 %4, %5 br i1 %brmerge326, label %86, label %.thread340 @@ -235,7 +235,7 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr %90 = getelementptr inbounds i8, ptr %.0, i64 16 %91 = load ptr, ptr %90, align 8 store ptr %91, ptr %10, align 8 - %92 = call ptr @acct_storage_g_get_wckeys(ptr noundef %0, i32 noundef %13, ptr noundef nonnull %10) #10 + %92 = call ptr @acct_storage_g_get_wckeys(ptr noundef %0, i32 noundef %13, ptr noundef nonnull %10) #11 %.not290 = icmp eq ptr %.1244369, null %spec.select = select i1 %.not290, ptr %92, ptr %.1244369 %spec.select327 = select i1 %.not290, ptr null, ptr %92 @@ -247,26 +247,26 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr br i1 %.not291343, label %.thread340.thread, label %.thread347 .thread347: ; preds = %.thread340 - %93 = call ptr @list_iterator_create(ptr noundef nonnull %85) #10 + %93 = call ptr @list_iterator_create(ptr noundef nonnull %85) #11 br label %101 .thread340.thread: ; preds = %.thread366, %.thread340, %86 %.1242346 = phi ptr [ null, %.thread340 ], [ %spec.select327, %86 ], [ null, %.thread366 ] - %94 = call i32 @get_log_level() #10 + %94 = call i32 @get_log_level() #11 %95 = icmp sgt i32 %94, 5 br i1 %95, label %96, label %147 96: ; preds = %.thread340.thread - call void (i32, ptr, ...) @log_var(i32 noundef 6, ptr noundef nonnull @.str.5) #10 + call void (i32, ptr, ...) @log_var(i32 noundef 6, ptr noundef nonnull @.str.5) #11 br label %147 97: ; preds = %86 - %98 = call ptr @list_iterator_create(ptr noundef nonnull %spec.select) #10 + %98 = call ptr @list_iterator_create(ptr noundef nonnull %spec.select) #11 %.not292 = icmp eq ptr %spec.select327, null br i1 %.not292, label %101, label %99 99: ; preds = %97 - %100 = call ptr @list_iterator_create(ptr noundef nonnull %spec.select327) #10 + %100 = call ptr @list_iterator_create(ptr noundef nonnull %spec.select327) #11 br label %101 101: ; preds = %.thread347, %99, %97 @@ -274,7 +274,7 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr %.2245344352 = phi ptr [ %spec.select, %99 ], [ %spec.select, %97 ], [ %85, %.thread347 ] %.1242345351 = phi ptr [ %92, %99 ], [ null, %97 ], [ null, %.thread347 ] %.0236 = phi ptr [ %100, %99 ], [ null, %97 ], [ null, %.thread347 ] - %103 = call ptr @list_next(ptr noundef %102) #10 + %103 = call ptr @list_next(ptr noundef %102) #11 %.not293386 = icmp eq ptr %103, null br i1 %.not293386, label %._crit_edge389, label %.lr.ph388 @@ -291,8 +291,8 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr %106 = getelementptr inbounds i8, ptr %104, i64 32 %.0234.us.us = load ptr, ptr %106, align 8 %.0235.us.us = load ptr, ptr %105, align 8 - call fastcc void @_check_create_grouping(ptr noundef %58, ptr noundef %34, ptr noundef %.0235.us.us, ptr noundef %.0234.us.us, ptr noundef %104, i1 noundef zeroext %.not280, i1 noundef zeroext true) - %107 = call ptr @list_next(ptr noundef %102) #10 + call fastcc void @_check_create_grouping(ptr noundef %58, ptr noundef %34, ptr noundef %.0235.us.us, ptr noundef %.0234.us.us, ptr noundef nonnull %104, i1 noundef zeroext %.not280, i1 noundef zeroext true) + %107 = call ptr @list_next(ptr noundef %102) #11 %.not293.us.us = icmp eq ptr %107, null br i1 %.not293.us.us, label %._crit_edge389, label %.backedge378.us.us, !llvm.loop !9 @@ -302,8 +302,8 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr %110 = getelementptr inbounds i8, ptr %108, i64 40 %.0234.us = load ptr, ptr %109, align 8 %.0235.us = load ptr, ptr %110, align 8 - call fastcc void @_check_create_grouping(ptr noundef %58, ptr noundef %34, ptr noundef %.0235.us, ptr noundef %.0234.us, ptr noundef %108, i1 noundef zeroext %.not280, i1 noundef zeroext false) - %111 = call ptr @list_next(ptr noundef %102) #10 + call fastcc void @_check_create_grouping(ptr noundef %58, ptr noundef %34, ptr noundef %.0235.us, ptr noundef %.0234.us, ptr noundef nonnull %108, i1 noundef zeroext %.not280, i1 noundef zeroext false) + %111 = call ptr @list_next(ptr noundef %102) #11 %.not293.us = icmp eq ptr %111, null br i1 %.not293.us, label %._crit_edge389, label %.backedge378.us, !llvm.loop !9 @@ -312,13 +312,13 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr .preheader.us: ; preds = %.lr.ph388.split, %.backedge378.us390 %112 = phi ptr [ %114, %.backedge378.us390 ], [ %103, %.lr.ph388.split ] - %113 = call ptr @list_next(ptr noundef nonnull %.0236) #10 + %113 = call ptr @list_next(ptr noundef nonnull %.0236) #11 %.not296383.us = icmp eq ptr %113, null br i1 %.not296383.us, label %.backedge378.us390, label %.lr.ph384.us .backedge378.us390: ; preds = %.backedge377.us.us, %.preheader.us - call void @list_iterator_reset(ptr noundef nonnull %.0236) #10 - %114 = call ptr @list_next(ptr noundef %102) #10 + call void @list_iterator_reset(ptr noundef nonnull %.0236) #11 + %114 = call ptr @list_next(ptr noundef %102) #11 %.not293.us391 = icmp eq ptr %114, null br i1 %.not293.us391, label %._crit_edge389, label %.preheader.us, !llvm.loop !9 @@ -331,7 +331,7 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr %118 = load ptr, ptr %115, align 8 %119 = getelementptr inbounds i8, ptr %117, i64 40 %120 = load ptr, ptr %119, align 8 - %121 = call i32 @xstrcmp(ptr noundef %118, ptr noundef %120) #10 + %121 = call i32 @xstrcmp(ptr noundef %118, ptr noundef %120) #11 %.not298.us.us = icmp eq i32 %121, 0 br i1 %.not298.us.us, label %122, label %.backedge377.us.us @@ -339,18 +339,18 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr %123 = load ptr, ptr %115, align 8 %124 = getelementptr inbounds i8, ptr %117, i64 32 %125 = load ptr, ptr %124, align 8 - %126 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %11, i64 noundef 200, ptr noundef nonnull @.str.6, ptr noundef %125, ptr noundef %123) #10 - call fastcc void @_check_create_grouping(ptr noundef %58, ptr noundef %34, ptr noundef %123, ptr noundef nonnull %11, ptr noundef %112, i1 noundef zeroext %.not280, i1 noundef zeroext true) + %126 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %11, i64 noundef 200, ptr noundef nonnull @.str.6, ptr noundef %125, ptr noundef %123) #11 + call fastcc void @_check_create_grouping(ptr noundef %58, ptr noundef %34, ptr noundef %123, ptr noundef nonnull %11, ptr noundef nonnull %112, i1 noundef zeroext %.not280, i1 noundef zeroext true) br label %.backedge377.us.us .backedge377.us.us: ; preds = %122, %116 - %127 = call ptr @list_next(ptr noundef nonnull %.0236) #10 + %127 = call ptr @list_next(ptr noundef nonnull %.0236) #11 %.not296.us.us = icmp eq ptr %127, null br i1 %.not296.us.us, label %.backedge378.us390, label %116, !llvm.loop !10 .preheader: ; preds = %.lr.ph388.split, %.backedge378 %128 = phi ptr [ %145, %.backedge378 ], [ %103, %.lr.ph388.split ] - %129 = call ptr @list_next(ptr noundef nonnull %.0236) #10 + %129 = call ptr @list_next(ptr noundef nonnull %.0236) #11 %.not296383 = icmp eq ptr %129, null br i1 %.not296383, label %.backedge378, label %.lr.ph384 @@ -364,7 +364,7 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr %134 = load ptr, ptr %130, align 8 %135 = getelementptr inbounds i8, ptr %133, i64 8 %136 = load ptr, ptr %135, align 8 - %137 = call i32 @xstrcmp(ptr noundef %134, ptr noundef %136) #10 + %137 = call i32 @xstrcmp(ptr noundef %134, ptr noundef %136) #11 %.not297 = icmp eq i32 %137, 0 br i1 %.not297, label %138, label %.backedge377 @@ -373,35 +373,35 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr %140 = load ptr, ptr %131, align 8 %141 = getelementptr inbounds i8, ptr %133, i64 32 %142 = load ptr, ptr %141, align 8 - %143 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %11, i64 noundef 200, ptr noundef nonnull @.str.6, ptr noundef %140, ptr noundef %142) #10 - call fastcc void @_check_create_grouping(ptr noundef %58, ptr noundef %34, ptr noundef %139, ptr noundef nonnull %11, ptr noundef %128, i1 noundef zeroext %.not280, i1 noundef zeroext false) + %143 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %11, i64 noundef 200, ptr noundef nonnull @.str.6, ptr noundef %140, ptr noundef %142) #11 + call fastcc void @_check_create_grouping(ptr noundef %58, ptr noundef %34, ptr noundef %139, ptr noundef nonnull %11, ptr noundef nonnull %128, i1 noundef zeroext %.not280, i1 noundef zeroext false) br label %.backedge377 .backedge377: ; preds = %138, %132 - %144 = call ptr @list_next(ptr noundef nonnull %.0236) #10 + %144 = call ptr @list_next(ptr noundef nonnull %.0236) #11 %.not296 = icmp eq ptr %144, null br i1 %.not296, label %.backedge378, label %132, !llvm.loop !10 .backedge378: ; preds = %.backedge377, %.preheader - call void @list_iterator_reset(ptr noundef nonnull %.0236) #10 - %145 = call ptr @list_next(ptr noundef %102) #10 + call void @list_iterator_reset(ptr noundef nonnull %.0236) #11 + %145 = call ptr @list_next(ptr noundef %102) #11 %.not293 = icmp eq ptr %145, null br i1 %.not293, label %._crit_edge389, label %.preheader, !llvm.loop !9 ._crit_edge389: ; preds = %.backedge378, %.backedge378.us390, %.backedge378.us, %.backedge378.us.us, %101 - call void @list_iterator_destroy(ptr noundef %102) #10 + call void @list_iterator_destroy(ptr noundef %102) #11 %.not294 = icmp eq ptr %.0236, null br i1 %.not294, label %147, label %146 146: ; preds = %._crit_edge389 - call void @list_iterator_destroy(ptr noundef nonnull %.0236) #10 + call void @list_iterator_destroy(ptr noundef nonnull %.0236) #11 br label %147 147: ; preds = %._crit_edge389, %146, %.thread340.thread, %96, %57 %.0243 = phi ptr [ null, %57 ], [ %.2245344352, %146 ], [ %.2245344352, %._crit_edge389 ], [ null, %96 ], [ null, %.thread340.thread ] %.0241 = phi ptr [ null, %57 ], [ %.1242345351, %146 ], [ %.1242345351, %._crit_edge389 ], [ %.1242346, %96 ], [ %.1242346, %.thread340.thread ] - %148 = call ptr @list_iterator_create(ptr noundef nonnull %28) #10 - %149 = call ptr @list_next(ptr noundef %148) #10 + %148 = call ptr @list_iterator_create(ptr noundef nonnull %28) #11 + %149 = call ptr @list_next(ptr noundef %148) #11 %.not299406 = icmp eq ptr %149, null br i1 %.not299406, label %._crit_edge409, label %.lr.ph408 @@ -430,12 +430,12 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr 160: ; preds = %157 %161 = load ptr, ptr %150, align 8 - %162 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %12, i64 noundef 200, ptr noundef nonnull @.str.6, ptr noundef %161, ptr noundef nonnull %159) #10 + %162 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %12, i64 noundef 200, ptr noundef nonnull @.str.6, ptr noundef %161, ptr noundef nonnull %159) #11 br label %177 163: ; preds = %157, %156 %164 = load ptr, ptr %150, align 8 - %165 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %12, i64 noundef 200, ptr noundef nonnull @.str.8, ptr noundef %164) #10 + %165 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %12, i64 noundef 200, ptr noundef nonnull @.str.8, ptr noundef %164) #11 br label %177 166: ; preds = %153 @@ -449,28 +449,28 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr 169: ; preds = %167 %170 = getelementptr inbounds i8, ptr %150, i64 456 %171 = load ptr, ptr %170, align 8 - %172 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %12, i64 noundef 200, ptr noundef nonnull @.str.6, ptr noundef %171, ptr noundef nonnull %168) #10 + %172 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %12, i64 noundef 200, ptr noundef nonnull @.str.6, ptr noundef %171, ptr noundef nonnull %168) #11 br label %177 173: ; preds = %167, %166 %174 = getelementptr inbounds i8, ptr %150, i64 456 %175 = load ptr, ptr %174, align 8 - %176 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %12, i64 noundef 200, ptr noundef nonnull @.str.8, ptr noundef %175) #10 + %176 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %12, i64 noundef 200, ptr noundef nonnull @.str.8, ptr noundef %175) #11 br label %177 177: ; preds = %169, %173, %160, %163 - call void @list_iterator_reset(ptr noundef %59) #10 + call void @list_iterator_reset(ptr noundef %59) #11 br label %178 178: ; preds = %180, %177 - %179 = call ptr @list_next(ptr noundef %59) #10 + %179 = call ptr @list_next(ptr noundef %59) #11 %.not313 = icmp eq ptr %179, null br i1 %.not313, label %.critedge330, label %180 180: ; preds = %178 %181 = getelementptr inbounds i8, ptr %179, i64 8 %182 = load ptr, ptr %181, align 8 - %183 = call i32 @xstrcmp(ptr noundef nonnull %spec.select328, ptr noundef %182) #10 + %183 = call i32 @xstrcmp(ptr noundef nonnull %spec.select328, ptr noundef %182) #11 %.not314 = icmp eq i32 %183, 0 br i1 %.not314, label %.loopexit, label %178, !llvm.loop !11 @@ -478,20 +478,20 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr br i1 %3, label %184, label %.backedge376 184: ; preds = %.critedge330 - %185 = call ptr @slurm_xcalloc(i64 noundef 1, i64 noundef 32, i1 noundef zeroext true, i1 noundef zeroext false, ptr noundef nonnull @.str, i32 noundef 394, ptr noundef nonnull @__func__._process_grouped_report) #10 - %186 = call ptr @xstrdup(ptr noundef nonnull %spec.select328) #10 + %185 = call ptr @slurm_xcalloc(i64 noundef 1, i64 noundef 32, i1 noundef zeroext true, i1 noundef zeroext false, ptr noundef nonnull @.str, i32 noundef 394, ptr noundef nonnull @__func__._process_grouped_report) #11 + %186 = call ptr @xstrdup(ptr noundef nonnull %spec.select328) #11 %187 = getelementptr inbounds i8, ptr %185, i64 8 store ptr %186, ptr %187, align 8 - %188 = call ptr @list_create(ptr noundef nonnull @slurmdb_destroy_report_acct_grouping) #10 + %188 = call ptr @list_create(ptr noundef nonnull @slurmdb_destroy_report_acct_grouping) #11 store ptr %188, ptr %185, align 8 - call void @list_append(ptr noundef %58, ptr noundef nonnull %185) #10 + call void @list_append(ptr noundef %58, ptr noundef nonnull %185) #11 br label %.loopexit .loopexit: ; preds = %180, %184 %.0249 = phi ptr [ %185, %184 ], [ %179, %180 ] %189 = load ptr, ptr %.0249, align 8 - %190 = call ptr @list_iterator_create(ptr noundef %189) #10 - %191 = call ptr @list_next(ptr noundef %190) #10 + %190 = call ptr @list_iterator_create(ptr noundef %189) #11 + %191 = call ptr @list_next(ptr noundef %190) #11 %.not315392 = icmp eq ptr %191, null br i1 %.not315392, label %._crit_edge395, label %.lr.ph394 @@ -503,12 +503,12 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr .lr.ph394.split.us: ; preds = %.lr.ph394, %.backedge375.us %194 = phi ptr [ %197, %.backedge375.us ], [ %191, %.lr.ph394 ] %195 = load ptr, ptr %194, align 8 - %196 = call i32 @xstrcmp(ptr noundef nonnull %12, ptr noundef %195) #10 + %196 = call i32 @xstrcmp(ptr noundef nonnull %12, ptr noundef %195) #11 %.not321.us = icmp eq i32 %196, 0 br i1 %.not321.us, label %.split.us, label %.backedge375.us .backedge375.us: ; preds = %.lr.ph394.split.us - %197 = call ptr @list_next(ptr noundef %190) #10 + %197 = call ptr @list_next(ptr noundef %190) #11 %.not315.us = icmp eq ptr %197, null br i1 %.not315.us, label %._crit_edge395, label %.lr.ph394.split.us, !llvm.loop !12 @@ -520,7 +520,7 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr %200 = load ptr, ptr %192, align 8 %201 = getelementptr inbounds i8, ptr %198, i64 24 %202 = load ptr, ptr %201, align 8 - %203 = call ptr @xstrstr(ptr noundef %200, ptr noundef %202) #10 + %203 = call ptr @xstrstr(ptr noundef %200, ptr noundef %202) #11 %.not316 = icmp eq ptr %203, null br i1 %.not316, label %216, label %204 @@ -552,48 +552,48 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr br i1 %brmerge334.demorgan, label %214, label %.backedge375 214: ; preds = %213 - %215 = call i32 @xstrcmp(ptr noundef nonnull %.0231, ptr noundef nonnull %210) #10 + %215 = call i32 @xstrcmp(ptr noundef nonnull %.0231, ptr noundef nonnull %210) #11 %.not319 = icmp eq i32 %215, 0 br i1 %.not319, label %.split.us, label %.backedge375 216: ; preds = %199, %.lr.ph394.split %217 = load ptr, ptr %198, align 8 - %218 = call i32 @xstrcmp(ptr noundef %217, ptr noundef nonnull %12) #10 + %218 = call i32 @xstrcmp(ptr noundef %217, ptr noundef nonnull %12) #11 %.not320 = icmp eq i32 %218, 0 br i1 %.not320, label %.split.us, label %.backedge375 .backedge375: ; preds = %214, %216, %213 - %219 = call ptr @list_next(ptr noundef %190) #10 + %219 = call ptr @list_next(ptr noundef %190) #11 %.not315 = icmp eq ptr %219, null br i1 %.not315, label %._crit_edge395, label %.lr.ph394.split, !llvm.loop !12 .split.us: ; preds = %204, %209, %214, %216, %.lr.ph394.split.us %.us-phi = phi ptr [ %194, %.lr.ph394.split.us ], [ %198, %216 ], [ %198, %214 ], [ %198, %209 ], [ %198, %204 ] - call void @list_iterator_destroy(ptr noundef %190) #10 + call void @list_iterator_destroy(ptr noundef %190) #11 br label %250 ._crit_edge395: ; preds = %.backedge375, %.backedge375.us, %.loopexit - call void @list_iterator_destroy(ptr noundef %190) #10 + call void @list_iterator_destroy(ptr noundef %190) #11 br i1 %3, label %220, label %.backedge376 220: ; preds = %._crit_edge395 - %221 = call ptr @slurm_xcalloc(i64 noundef 1, i64 noundef 40, i1 noundef zeroext true, i1 noundef zeroext false, ptr noundef nonnull @.str, i32 noundef 444, ptr noundef nonnull @__func__._process_grouped_report) #10 - %222 = call ptr @xstrdup(ptr noundef nonnull %12) #10 + %221 = call ptr @slurm_xcalloc(i64 noundef 1, i64 noundef 40, i1 noundef zeroext true, i1 noundef zeroext false, ptr noundef nonnull @.str, i32 noundef 444, ptr noundef nonnull @__func__._process_grouped_report) #11 + %222 = call ptr @xstrdup(ptr noundef nonnull %12) #11 store ptr %222, ptr %221, align 8 - %223 = call ptr @list_create(ptr noundef nonnull @slurmdb_destroy_report_job_grouping) #10 + %223 = call ptr @list_create(ptr noundef nonnull @slurmdb_destroy_report_job_grouping) #11 %224 = getelementptr inbounds i8, ptr %221, i64 16 store ptr %223, ptr %224, align 8 %225 = load ptr, ptr %.0249, align 8 - call void @list_append(ptr noundef %225, ptr noundef nonnull %221) #10 - %226 = call ptr @list_next(ptr noundef %34) #10 + call void @list_append(ptr noundef %225, ptr noundef nonnull %221) #11 + %226 = call ptr @list_next(ptr noundef %34) #11 %.not322397 = icmp eq ptr %226, null br i1 %.not322397, label %._crit_edge401.thread, label %.lr.ph400 .lr.ph400: ; preds = %220, %238 %227 = phi ptr [ %242, %238 ], [ %226, %220 ] %.0230398 = phi i32 [ %239, %238 ], [ 0, %220 ] - %228 = call ptr @slurm_xcalloc(i64 noundef 1, i64 noundef 32, i1 noundef zeroext true, i1 noundef zeroext false, ptr noundef nonnull @.str, i32 noundef 452, ptr noundef nonnull @__func__._process_grouped_report) #10 - %229 = call ptr @list_create(ptr noundef null) #10 + %228 = call ptr @slurm_xcalloc(i64 noundef 1, i64 noundef 32, i1 noundef zeroext true, i1 noundef zeroext false, ptr noundef nonnull @.str, i32 noundef 452, ptr noundef nonnull @__func__._process_grouped_report) #11 + %229 = call ptr @list_create(ptr noundef null) #11 %230 = getelementptr inbounds i8, ptr %228, i64 8 store ptr %229, ptr %230, align 8 br i1 %.not280, label %235, label %231 @@ -601,12 +601,12 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr 231: ; preds = %.lr.ph400 %232 = getelementptr inbounds i8, ptr %228, i64 16 store i32 %.0230398, ptr %232, align 8 - %233 = call i32 @atoi(ptr nocapture noundef nonnull %227) #12 + %233 = call i32 @atoi(ptr nocapture noundef nonnull %227) #13 %234 = add i32 %233, -1 br label %238 235: ; preds = %.lr.ph400 - %236 = call i32 @atoi(ptr nocapture noundef nonnull %227) #12 + %236 = call i32 @atoi(ptr nocapture noundef nonnull %227) #13 %237 = getelementptr inbounds i8, ptr %228, i64 16 store i32 %236, ptr %237, align 8 br label %238 @@ -617,8 +617,8 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr %240 = getelementptr inbounds i8, ptr %228, i64 20 store i32 %.sink, ptr %240, align 4 %241 = load ptr, ptr %224, align 8 - call void @list_append(ptr noundef %241, ptr noundef nonnull %228) #10 - %242 = call ptr @list_next(ptr noundef %34) #10 + call void @list_append(ptr noundef %241, ptr noundef nonnull %228) #11 + %242 = call ptr @list_next(ptr noundef %34) #11 %.not322 = icmp eq ptr %242, null br i1 %.not322, label %._crit_edge401, label %.lr.ph400, !llvm.loop !13 @@ -628,8 +628,8 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr br i1 %brmerge337, label %._crit_edge401.thread, label %243 243: ; preds = %._crit_edge401 - %244 = call ptr @slurm_xcalloc(i64 noundef 1, i64 noundef 32, i1 noundef zeroext true, i1 noundef zeroext false, ptr noundef nonnull @.str, i32 noundef 466, ptr noundef nonnull @__func__._process_grouped_report) #10 - %245 = call ptr @list_create(ptr noundef null) #10 + %244 = call ptr @slurm_xcalloc(i64 noundef 1, i64 noundef 32, i1 noundef zeroext true, i1 noundef zeroext false, ptr noundef nonnull @.str, i32 noundef 466, ptr noundef nonnull @__func__._process_grouped_report) #11 + %245 = call ptr @list_create(ptr noundef null) #11 %246 = getelementptr inbounds i8, ptr %244, i64 8 store ptr %245, ptr %246, align 8 %247 = getelementptr inbounds i8, ptr %244, i64 16 @@ -637,19 +637,19 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr %248 = getelementptr inbounds i8, ptr %244, i64 20 store i32 -1, ptr %248, align 4 %249 = load ptr, ptr %224, align 8 - call void @list_append(ptr noundef %249, ptr noundef %244) #10 + call void @list_append(ptr noundef %249, ptr noundef %244) #11 br label %._crit_edge401.thread ._crit_edge401.thread: ; preds = %220, %._crit_edge401, %243 - call void @list_iterator_reset(ptr noundef %34) #10 + call void @list_iterator_reset(ptr noundef %34) #11 br label %250 250: ; preds = %.split.us, %._crit_edge401.thread %.0248 = phi ptr [ %.us-phi, %.split.us ], [ %221, %._crit_edge401.thread ] %251 = getelementptr inbounds i8, ptr %.0248, i64 16 %252 = load ptr, ptr %251, align 8 - %253 = call ptr @list_iterator_create(ptr noundef %252) #10 - %254 = call ptr @list_next(ptr noundef %253) #10 + %253 = call ptr @list_iterator_create(ptr noundef %252) #11 + %254 = call ptr @list_next(ptr noundef %253) #11 %.not324402 = icmp eq ptr %254, null br i1 %.not324402, label %._crit_edge405, label %.lr.ph404 @@ -664,7 +664,7 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr 260: ; preds = %.lr.ph404, %.backedge374 %261 = phi ptr [ %254, %.lr.ph404 ], [ %275, %.backedge374 ] %262 = load ptr, ptr %255, align 8 - %263 = call i64 @slurmdb_find_tres_count_in_string(ptr noundef %262, i32 noundef 1) #10 + %263 = call i64 @slurmdb_find_tres_count_in_string(ptr noundef %262, i32 noundef 1) #11 %264 = icmp eq i64 %263, -1 br i1 %264, label %.backedge374, label %265 @@ -683,14 +683,14 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr br i1 %274, label %.backedge374, label %276 .backedge374: ; preds = %260, %265, %270, %276 - %275 = call ptr @list_next(ptr noundef %253) #10 + %275 = call ptr @list_next(ptr noundef %253) #11 %.not324 = icmp eq ptr %275, null br i1 %.not324, label %._crit_edge405, label %260, !llvm.loop !14 276: ; preds = %270 %277 = getelementptr inbounds i8, ptr %261, i64 8 %278 = load ptr, ptr %277, align 8 - call void @list_append(ptr noundef %278, ptr noundef nonnull %150) #10 + call void @list_append(ptr noundef %278, ptr noundef nonnull %150) #11 %279 = load i32, ptr %261, align 8 %280 = add i32 %279, 1 store i32 %280, ptr %261, align 8 @@ -703,29 +703,29 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr %285 = getelementptr inbounds i8, ptr %261, i64 24 %286 = load ptr, ptr %255, align 8 %287 = load i32, ptr %151, align 8 - call void @slurmdb_transfer_tres_time(ptr noundef nonnull %285, ptr noundef %286, i32 noundef %287) #10 + call void @slurmdb_transfer_tres_time(ptr noundef nonnull %285, ptr noundef %286, i32 noundef %287) #11 %288 = load ptr, ptr %255, align 8 %289 = load i32, ptr %151, align 8 - call void @slurmdb_transfer_tres_time(ptr noundef nonnull %258, ptr noundef %288, i32 noundef %289) #10 + call void @slurmdb_transfer_tres_time(ptr noundef nonnull %258, ptr noundef %288, i32 noundef %289) #11 %290 = load ptr, ptr %255, align 8 %291 = load i32, ptr %151, align 8 - call void @slurmdb_transfer_tres_time(ptr noundef nonnull %259, ptr noundef %290, i32 noundef %291) #10 + call void @slurmdb_transfer_tres_time(ptr noundef nonnull %259, ptr noundef %290, i32 noundef %291) #11 br label %.backedge374 ._crit_edge405: ; preds = %.backedge374, %250 - call void @list_iterator_destroy(ptr noundef %253) #10 + call void @list_iterator_destroy(ptr noundef %253) #11 br label %.backedge376 .backedge376: ; preds = %._crit_edge405, %.lr.ph408, %.critedge330, %._crit_edge395 - %292 = call ptr @list_next(ptr noundef %148) #10 + %292 = call ptr @list_next(ptr noundef %148) #11 %.not299 = icmp eq ptr %292, null br i1 %.not299, label %._crit_edge409, label %.lr.ph408, !llvm.loop !15 ._crit_edge409: ; preds = %.backedge376, %147 - call void @list_iterator_destroy(ptr noundef %148) #10 - call void @list_iterator_destroy(ptr noundef %34) #10 - call void @list_iterator_reset(ptr noundef %59) #10 - %293 = call ptr @list_next(ptr noundef %59) #10 + call void @list_iterator_destroy(ptr noundef %148) #11 + call void @list_iterator_destroy(ptr noundef %34) #11 + call void @list_iterator_reset(ptr noundef %59) #11 + %293 = call ptr @list_next(ptr noundef %59) #11 %.not300414 = icmp eq ptr %293, null br i1 %.not300414, label %._crit_edge417, label %.lr.ph416 @@ -737,18 +737,18 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr br i1 %.not306, label %297, label %300 297: ; preds = %.lr.ph416 - %298 = call i32 @list_delete_item(ptr noundef %59) #10 + %298 = call i32 @list_delete_item(ptr noundef %59) #11 br label %.backedge373 .backedge373: ; preds = %297, %._crit_edge413 - %299 = call ptr @list_next(ptr noundef %59) #10 + %299 = call ptr @list_next(ptr noundef %59) #11 %.not300 = icmp eq ptr %299, null br i1 %.not300, label %._crit_edge417, label %.lr.ph416, !llvm.loop !16 300: ; preds = %.lr.ph416 %301 = load ptr, ptr %294, align 8 - %302 = call ptr @list_iterator_create(ptr noundef %301) #10 - %303 = call ptr @list_next(ptr noundef %302) #10 + %302 = call ptr @list_iterator_create(ptr noundef %301) #11 + %303 = call ptr @list_next(ptr noundef %302) #11 %.not307410 = icmp eq ptr %303, null br i1 %.not307410, label %._crit_edge413, label %.lr.ph412 @@ -760,25 +760,25 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr br i1 %.not308, label %307, label %.backedge 307: ; preds = %.lr.ph412 - %308 = call i32 @list_delete_item(ptr noundef %302) #10 + %308 = call i32 @list_delete_item(ptr noundef %302) #11 br label %.backedge .backedge: ; preds = %307, %.lr.ph412 - %309 = call ptr @list_next(ptr noundef %302) #10 + %309 = call ptr @list_next(ptr noundef %302) #11 %.not307 = icmp eq ptr %309, null br i1 %.not307, label %._crit_edge413, label %.lr.ph412, !llvm.loop !17 ._crit_edge413: ; preds = %.backedge, %300 - call void @list_iterator_destroy(ptr noundef %302) #10 + call void @list_iterator_destroy(ptr noundef %302) #11 br label %.backedge373 ._crit_edge417: ; preds = %.backedge373, %._crit_edge409 - call void @list_iterator_destroy(ptr noundef %59) #10 + call void @list_iterator_destroy(ptr noundef %59) #11 %.not301 = icmp eq ptr %.0243, null br i1 %.not301, label %311, label %310 310: ; preds = %._crit_edge417 - call void @list_destroy(ptr noundef nonnull %.0243) #10 + call void @list_destroy(ptr noundef nonnull %.0243) #11 br label %311 311: ; preds = %310, %._crit_edge417 @@ -786,7 +786,7 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr br i1 %.not302, label %313, label %312 312: ; preds = %311 - call void @list_destroy(ptr noundef nonnull %.0241) #10 + call void @list_destroy(ptr noundef nonnull %.0241) #11 br label %313 313: ; preds = %.thread361, %312, %311 @@ -794,7 +794,7 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr br i1 %.not, label %314, label %315 314: ; preds = %313 - call void @slurmdb_destroy_job_cond(ptr noundef %.0) #10 + call void @slurmdb_destroy_job_cond(ptr noundef %.0) #11 br label %315 315: ; preds = %314, %313 @@ -803,7 +803,7 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr br i1 %or.cond338, label %317, label %316 316: ; preds = %315 - call void @list_destroy(ptr noundef nonnull %.0229) #10 + call void @list_destroy(ptr noundef nonnull %.0229) #11 br label %317 317: ; preds = %316, %315 @@ -814,7 +814,7 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr br i1 %.not305, label %320, label %319 319: ; preds = %318 - call void @list_destroy(ptr noundef nonnull %.0246359365) #10 + call void @list_destroy(ptr noundef nonnull %.0246359365) #11 br label %320 320: ; preds = %318, %319, %317 @@ -824,8 +824,384 @@ define internal fastcc noundef ptr @_process_grouped_report(ptr noundef %0, ptr ; Function Attrs: nounwind uwtable define noundef ptr @slurmdb_report_job_sizes_grouped_by_wckey(ptr noundef %0, ptr noundef %1, ptr noundef %2) local_unnamed_addr #0 { - %4 = tail call fastcc ptr @_process_grouped_report(ptr noundef %0, ptr noundef %1, ptr noundef %2, i1 noundef zeroext false, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false) - ret ptr %4 + %4 = alloca ptr, align 8 + %5 = alloca %struct.slurmdb_wckey_cond_t, align 8 + %6 = alloca [200 x i8], align 16 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) + call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %5) + call void @llvm.lifetime.start.p0(i64 200, ptr nonnull %6) + %7 = tail call i32 @getuid() #11 + %.not.i = icmp eq ptr %1, null + br i1 %.not.i, label %8, label %10 + +8: ; preds = %3 + %9 = tail call ptr @slurm_xcalloc(i64 noundef 1, i64 noundef 192, i1 noundef zeroext true, i1 noundef zeroext false, ptr noundef nonnull @.str, i32 noundef 171, ptr noundef nonnull @__func__._process_grouped_report) #11 + br label %10 + +10: ; preds = %8, %3 + %.0.i = phi ptr [ %1, %3 ], [ %9, %8 ] + %.not1.i = icmp ne ptr %2, null + br i1 %.not1.i, label %14, label %11 + +11: ; preds = %10 + %12 = tail call ptr @list_create(ptr noundef nonnull @xfree_ptr) #11 + %13 = tail call i32 @slurm_addto_char_list(ptr noundef %12, ptr noundef nonnull @.str.1) #11 + br label %14 + +14: ; preds = %11, %10 + %.0229.i = phi ptr [ %2, %10 ], [ %12, %11 ] + %15 = load ptr, ptr %.0.i, align 8 + store ptr null, ptr %.0.i, align 8 + %16 = getelementptr inbounds i8, ptr %.0.i, i64 48 + %17 = load i32, ptr %16, align 8 + %18 = or i32 %17, 1 + store i32 %18, ptr %16, align 8 + %19 = getelementptr inbounds i8, ptr %.0.i, i64 40 + store i32 1, ptr %19, align 8 + %20 = tail call ptr @jobacct_storage_g_get_jobs_cond(ptr noundef %0, i32 noundef %7, ptr noundef nonnull %.0.i) #11 + store ptr %15, ptr %.0.i, align 8 + %.not2.not.i = icmp eq ptr %20, null + br i1 %.not2.not.i, label %.thread.i, label %23 + +.thread.i: ; preds = %14 + %21 = load ptr, ptr @stderr, align 8 + %22 = tail call i64 @fwrite(ptr nonnull @.str.2, i64 25, i64 1, ptr %21) #12 + br label %157 + +23: ; preds = %14 + %24 = tail call ptr @list_iterator_create(ptr noundef %.0229.i) #11 + %25 = tail call i32 @list_count(ptr noundef %.0229.i) #11 + %.not3.i = icmp eq i32 %25, 0 + br i1 %.not3.i, label %26, label %47 + +26: ; preds = %23 + %27 = tail call ptr @list_iterator_create(ptr noundef nonnull %20) #11 + %28 = tail call ptr @list_next(ptr noundef %27) #11 + %.not439.i = icmp eq ptr %28, null + br i1 %.not439.i, label %._crit_edge.i, label %.lr.ph.i + +.lr.ph.i: ; preds = %26, %.backedge36.i + %29 = phi ptr [ %32, %.backedge36.i ], [ %28, %26 ] + store ptr null, ptr %4, align 8 + %30 = getelementptr inbounds i8, ptr %29, i64 104 + %31 = load i32, ptr %30, align 8 + %.not5.i = icmp eq i32 %31, 0 + br i1 %.not5.i, label %.backedge36.i, label %33 + +.backedge36.i: ; preds = %46, %33, %.lr.ph.i + %32 = call ptr @list_next(ptr noundef %27) #11 + %.not4.i = icmp eq ptr %32, null + br i1 %.not4.i, label %._crit_edge.i, label %.lr.ph.i, !llvm.loop !8 + +33: ; preds = %.lr.ph.i + %34 = getelementptr inbounds i8, ptr %29, i64 400 + %35 = load ptr, ptr %34, align 8 + %36 = call i64 @slurmdb_find_tres_count_in_string(ptr noundef %35, i32 noundef 1) #11 + %37 = icmp eq i64 %36, -1 + br i1 %37, label %.backedge36.i, label %38 + +38: ; preds = %33 + %39 = call ptr (ptr, ...) @xstrdup_printf(ptr noundef nonnull @.str.3, i64 noundef %36) #11 + store ptr %39, ptr %4, align 8 + br label %40 + +40: ; preds = %43, %38 + %41 = call ptr @list_next(ptr noundef %24) #11 + %.not6.i = icmp eq ptr %41, null + %42 = load ptr, ptr %4, align 8 + br i1 %.not6.i, label %.critedge.i, label %43 + +43: ; preds = %40 + %44 = call i32 @xstrcmp(ptr noundef nonnull %41, ptr noundef %42) #11 + %.not7.i = icmp eq i32 %44, 0 + br i1 %.not7.i, label %45, label %40, !llvm.loop !6 + +.critedge.i: ; preds = %40 + call void @list_append(ptr noundef %.0229.i, ptr noundef %42) #11 + br label %46 + +45: ; preds = %43 + call void @slurm_xfree(ptr noundef nonnull %4) #11 + br label %46 + +46: ; preds = %45, %.critedge.i + call void @list_iterator_reset(ptr noundef %24) #11 + br label %.backedge36.i + +._crit_edge.i: ; preds = %.backedge36.i, %26 + call void @list_iterator_destroy(ptr noundef %27) #11 + call void @list_sort(ptr noundef %.0229.i, ptr noundef nonnull @_sort_group_asc) #11 + br label %47 + +47: ; preds = %._crit_edge.i, %23 + %48 = call ptr @list_create(ptr noundef nonnull @slurmdb_destroy_report_cluster_grouping) #11 + %49 = call ptr @list_iterator_create(ptr noundef %48) #11 + %50 = getelementptr inbounds i8, ptr %5, i64 8 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(72) %50, i8 0, i64 64, i1 false) + %51 = getelementptr inbounds i8, ptr %.0.i, i64 184 + %52 = load ptr, ptr %51, align 8 + %53 = getelementptr inbounds i8, ptr %5, i64 24 + store ptr %52, ptr %53, align 8 + %54 = getelementptr inbounds i8, ptr %.0.i, i64 16 + %55 = load ptr, ptr %54, align 8 + store ptr %55, ptr %5, align 8 + %56 = call ptr @acct_storage_g_get_wckeys(ptr noundef %0, i32 noundef %7, ptr noundef nonnull %5) #11 + %.not8.i = icmp eq ptr %56, null + br i1 %.not8.i, label %57, label %61 + +57: ; preds = %47 + %58 = call i32 @get_log_level() #11 + %59 = icmp sgt i32 %58, 5 + br i1 %59, label %60, label %70 + +60: ; preds = %57 + call void (i32, ptr, ...) @log_var(i32 noundef 6, ptr noundef nonnull @.str.5) #11 + br label %70 + +61: ; preds = %47 + %62 = call ptr @list_iterator_create(ptr noundef nonnull %56) #11 + %63 = call ptr @list_next(ptr noundef %62) #11 + %.not940.i = icmp eq ptr %63, null + br i1 %.not940.i, label %._crit_edge43.i, label %.lr.ph42.i + +.lr.ph42.i: ; preds = %61, %.lr.ph42.i + %64 = phi ptr [ %69, %.lr.ph42.i ], [ %63, %61 ] + %65 = getelementptr inbounds i8, ptr %64, i64 32 + %66 = load ptr, ptr %65, align 8 + %67 = getelementptr inbounds i8, ptr %64, i64 8 + %68 = load ptr, ptr %67, align 8 + call fastcc void @_check_create_grouping(ptr noundef %48, ptr noundef %24, ptr noundef %68, ptr noundef %66, ptr noundef nonnull %64, i1 noundef zeroext %.not3.i, i1 noundef zeroext true) + %69 = call ptr @list_next(ptr noundef %62) #11 + %.not9.i = icmp eq ptr %69, null + br i1 %.not9.i, label %._crit_edge43.i, label %.lr.ph42.i, !llvm.loop !9 + +._crit_edge43.i: ; preds = %.lr.ph42.i, %61 + call void @list_iterator_destroy(ptr noundef %62) #11 + br label %70 + +70: ; preds = %._crit_edge43.i, %60, %57 + %71 = call ptr @list_iterator_create(ptr noundef nonnull %20) #11 + %72 = call ptr @list_next(ptr noundef %71) #11 + %.not1048.i = icmp eq ptr %72, null + br i1 %.not1048.i, label %.critedge27._crit_edge.i, label %.lr.ph50.i + +.lr.ph50.i: ; preds = %70, %.critedge27.backedge.i + %73 = phi ptr [ %76, %.critedge27.backedge.i ], [ %72, %70 ] + %74 = getelementptr inbounds i8, ptr %73, i64 104 + %75 = load i32, ptr %74, align 8 + %.not19.i = icmp eq i32 %75, 0 + br i1 %.not19.i, label %.critedge27.backedge.i, label %77 + +.critedge27.backedge.sink.split.i: ; preds = %92, %.backedge35.i, %97 + %.sink.i = phi ptr [ %100, %97 ], [ %100, %.backedge35.i ], [ %91, %92 ] + call void @list_iterator_destroy(ptr noundef %.sink.i) #11 + br label %.critedge27.backedge.i + +.critedge27.backedge.i: ; preds = %83, %.critedge27.backedge.sink.split.i, %.lr.ph50.i + %76 = call ptr @list_next(ptr noundef %71) #11 + %.not10.i = icmp eq ptr %76, null + br i1 %.not10.i, label %.critedge27._crit_edge.i, label %.lr.ph50.i, !llvm.loop !15 + +77: ; preds = %.lr.ph50.i + %78 = getelementptr inbounds i8, ptr %73, i64 56 + %79 = load ptr, ptr %78, align 8 + %.not20.i = icmp eq ptr %79, null + %spec.select.i = select i1 %.not20.i, ptr @.str.7, ptr %79 + %80 = getelementptr inbounds i8, ptr %73, i64 456 + %81 = load ptr, ptr %80, align 8 + %82 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %6, i64 noundef 200, ptr noundef nonnull @.str.8, ptr noundef %81) #11 + call void @list_iterator_reset(ptr noundef %49) #11 + br label %83 + +83: ; preds = %85, %77 + %84 = call ptr @list_next(ptr noundef %49) #11 + %.not21.i = icmp eq ptr %84, null + br i1 %.not21.i, label %.critedge27.backedge.i, label %85 + +85: ; preds = %83 + %86 = getelementptr inbounds i8, ptr %84, i64 8 + %87 = load ptr, ptr %86, align 8 + %88 = call i32 @xstrcmp(ptr noundef nonnull %spec.select.i, ptr noundef %87) #11 + %.not22.i = icmp eq i32 %88, 0 + br i1 %.not22.i, label %89, label %83, !llvm.loop !11 + +89: ; preds = %85 + %90 = load ptr, ptr %84, align 8 + %91 = call ptr @list_iterator_create(ptr noundef %90) #11 + br label %92 + +92: ; preds = %94, %89 + %93 = call ptr @list_next(ptr noundef %91) #11 + %.not23.i = icmp eq ptr %93, null + br i1 %.not23.i, label %.critedge27.backedge.sink.split.i, label %94 + +94: ; preds = %92 + %95 = load ptr, ptr %93, align 8 + %96 = call i32 @xstrcmp(ptr noundef nonnull %6, ptr noundef %95) #11 + %.not24.i = icmp eq i32 %96, 0 + br i1 %.not24.i, label %97, label %92, !llvm.loop !12 + +97: ; preds = %94 + call void @list_iterator_destroy(ptr noundef %91) #11 + %98 = getelementptr inbounds i8, ptr %93, i64 16 + %99 = load ptr, ptr %98, align 8 + %100 = call ptr @list_iterator_create(ptr noundef %99) #11 + %101 = call ptr @list_next(ptr noundef %100) #11 + %.not2544.i = icmp eq ptr %101, null + br i1 %.not2544.i, label %.critedge27.backedge.sink.split.i, label %.lr.ph46.i + +.lr.ph46.i: ; preds = %97 + %102 = getelementptr inbounds i8, ptr %73, i64 400 + %103 = getelementptr inbounds i8, ptr %93, i64 8 + %104 = getelementptr inbounds i8, ptr %84, i64 16 + %105 = getelementptr inbounds i8, ptr %93, i64 32 + %106 = getelementptr inbounds i8, ptr %84, i64 24 + br label %107 + +107: ; preds = %.backedge35.i, %.lr.ph46.i + %108 = phi ptr [ %101, %.lr.ph46.i ], [ %122, %.backedge35.i ] + %109 = load ptr, ptr %102, align 8 + %110 = call i64 @slurmdb_find_tres_count_in_string(ptr noundef %109, i32 noundef 1) #11 + %111 = icmp eq i64 %110, -1 + br i1 %111, label %.backedge35.i, label %112 + +112: ; preds = %107 + %113 = getelementptr inbounds i8, ptr %108, i64 16 + %114 = load i32, ptr %113, align 8 + %115 = zext i32 %114 to i64 + %116 = icmp ult i64 %110, %115 + br i1 %116, label %.backedge35.i, label %117 + +117: ; preds = %112 + %118 = getelementptr inbounds i8, ptr %108, i64 20 + %119 = load i32, ptr %118, align 4 + %120 = zext i32 %119 to i64 + %121 = icmp ugt i64 %110, %120 + br i1 %121, label %.backedge35.i, label %123 + +.backedge35.i: ; preds = %123, %117, %112, %107 + %122 = call ptr @list_next(ptr noundef %100) #11 + %.not25.i = icmp eq ptr %122, null + br i1 %.not25.i, label %.critedge27.backedge.sink.split.i, label %107, !llvm.loop !14 + +123: ; preds = %117 + %124 = getelementptr inbounds i8, ptr %108, i64 8 + %125 = load ptr, ptr %124, align 8 + call void @list_append(ptr noundef %125, ptr noundef nonnull %73) #11 + %126 = load i32, ptr %108, align 8 + %127 = add i32 %126, 1 + store i32 %127, ptr %108, align 8 + %128 = load i32, ptr %103, align 8 + %129 = add i32 %128, 1 + store i32 %129, ptr %103, align 8 + %130 = load i32, ptr %104, align 8 + %131 = add i32 %130, 1 + store i32 %131, ptr %104, align 8 + %132 = getelementptr inbounds i8, ptr %108, i64 24 + %133 = load ptr, ptr %102, align 8 + %134 = load i32, ptr %74, align 8 + call void @slurmdb_transfer_tres_time(ptr noundef nonnull %132, ptr noundef %133, i32 noundef %134) #11 + %135 = load ptr, ptr %102, align 8 + %136 = load i32, ptr %74, align 8 + call void @slurmdb_transfer_tres_time(ptr noundef nonnull %105, ptr noundef %135, i32 noundef %136) #11 + %137 = load ptr, ptr %102, align 8 + %138 = load i32, ptr %74, align 8 + call void @slurmdb_transfer_tres_time(ptr noundef nonnull %106, ptr noundef %137, i32 noundef %138) #11 + br label %.backedge35.i + +.critedge27._crit_edge.i: ; preds = %.critedge27.backedge.i, %70 + call void @list_iterator_destroy(ptr noundef %71) #11 + call void @list_iterator_destroy(ptr noundef %24) #11 + call void @list_iterator_reset(ptr noundef %49) #11 + %139 = call ptr @list_next(ptr noundef %49) #11 + %.not1155.i = icmp eq ptr %139, null + br i1 %.not1155.i, label %._crit_edge58.i, label %.lr.ph57.i + +.lr.ph57.i: ; preds = %.critedge27._crit_edge.i, %.backedge34.i + %140 = phi ptr [ %145, %.backedge34.i ], [ %139, %.critedge27._crit_edge.i ] + %141 = getelementptr inbounds i8, ptr %140, i64 16 + %142 = load i32, ptr %141, align 8 + %.not16.i = icmp eq i32 %142, 0 + br i1 %.not16.i, label %143, label %146 + +143: ; preds = %.lr.ph57.i + %144 = call i32 @list_delete_item(ptr noundef %49) #11 + br label %.backedge34.i + +.backedge34.i: ; preds = %._crit_edge54.i, %143 + %145 = call ptr @list_next(ptr noundef %49) #11 + %.not11.i = icmp eq ptr %145, null + br i1 %.not11.i, label %._crit_edge58.i, label %.lr.ph57.i, !llvm.loop !16 + +146: ; preds = %.lr.ph57.i + %147 = load ptr, ptr %140, align 8 + %148 = call ptr @list_iterator_create(ptr noundef %147) #11 + %149 = call ptr @list_next(ptr noundef %148) #11 + %.not1751.i = icmp eq ptr %149, null + br i1 %.not1751.i, label %._crit_edge54.i, label %.lr.ph53.i + +.lr.ph53.i: ; preds = %146, %.backedge.i + %150 = phi ptr [ %153, %.backedge.i ], [ %149, %146 ] + %151 = getelementptr inbounds i8, ptr %150, i64 8 + %152 = load i32, ptr %151, align 8 + %.not18.i = icmp eq i32 %152, 0 + br i1 %.not18.i, label %154, label %.backedge.i + +.backedge.i: ; preds = %154, %.lr.ph53.i + %153 = call ptr @list_next(ptr noundef %148) #11 + %.not17.i = icmp eq ptr %153, null + br i1 %.not17.i, label %._crit_edge54.i, label %.lr.ph53.i, !llvm.loop !17 + +154: ; preds = %.lr.ph53.i + %155 = call i32 @list_delete_item(ptr noundef %148) #11 + br label %.backedge.i + +._crit_edge54.i: ; preds = %.backedge.i, %146 + call void @list_iterator_destroy(ptr noundef %148) #11 + br label %.backedge34.i + +._crit_edge58.i: ; preds = %.backedge34.i, %.critedge27._crit_edge.i + call void @list_iterator_destroy(ptr noundef %49) #11 + br i1 %.not8.i, label %157, label %156 + +156: ; preds = %._crit_edge58.i + call void @list_destroy(ptr noundef nonnull %56) #11 + br label %157 + +157: ; preds = %156, %._crit_edge58.i, %.thread.i + %.024633.i = phi ptr [ null, %.thread.i ], [ %48, %._crit_edge58.i ], [ %48, %156 ] + br i1 %.not.i, label %158, label %159 + +158: ; preds = %157 + call void @slurmdb_destroy_job_cond(ptr noundef nonnull %.0.i) #11 + br label %159 + +159: ; preds = %158, %157 + %.not13.i = icmp eq ptr %.0229.i, null + %or.cond.i = or i1 %.not1.i, %.not13.i + br i1 %or.cond.i, label %161, label %160 + +160: ; preds = %159 + call void @list_destroy(ptr noundef nonnull %.0229.i) #11 + br label %161 + +161: ; preds = %160, %159 + br i1 %.not2.not.i, label %162, label %_process_grouped_report.specialized.1.exit + +162: ; preds = %161 + %.not15.i = icmp eq ptr %.024633.i, null + br i1 %.not15.i, label %_process_grouped_report.specialized.1.exit, label %163 + +163: ; preds = %162 + call void @list_destroy(ptr noundef nonnull %.024633.i) #11 + br label %_process_grouped_report.specialized.1.exit + +_process_grouped_report.specialized.1.exit: ; preds = %161, %162, %163 + %.1247.i = phi ptr [ %.024633.i, %161 ], [ null, %163 ], [ null, %162 ] + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) + call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %5) + call void @llvm.lifetime.end.p0(i64 200, ptr nonnull %6) + ret ptr %.1247.i } ; Function Attrs: nounwind uwtable @@ -873,8 +1249,8 @@ declare void @list_sort(ptr noundef, ptr noundef) local_unnamed_addr #2 define internal range(i32 -1, 2) i32 @_sort_group_asc(ptr nocapture noundef readonly %0, ptr nocapture noundef readonly %1) #3 { %3 = load ptr, ptr %0, align 8 %4 = load ptr, ptr %1, align 8 - %5 = tail call i32 @atoi(ptr nocapture noundef %3) #12 - %6 = tail call i32 @atoi(ptr nocapture noundef %4) #12 + %5 = tail call i32 @atoi(ptr nocapture noundef %3) #13 + %6 = tail call i32 @atoi(ptr nocapture noundef %4) #13 %.0 = tail call i32 @llvm.scmp.i32.i32(i32 %5, i32 %6) ret i32 %.0 } @@ -895,80 +1271,80 @@ declare i32 @get_log_level() local_unnamed_addr #2 declare void @log_var(i32 noundef, ptr noundef, ...) local_unnamed_addr #2 ; Function Attrs: nounwind uwtable -define internal fastcc void @_check_create_grouping(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr nocapture noundef nonnull readonly %4, i1 noundef zeroext %5, i1 noundef zeroext %6) unnamed_addr #0 { - %8 = tail call ptr @list_iterator_create(ptr noundef %0) #10 +define internal fastcc void @_check_create_grouping(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr nocapture noundef readonly %4, i1 noundef zeroext %5, i1 noundef zeroext %6) unnamed_addr #0 { + %8 = tail call ptr @list_iterator_create(ptr noundef %0) #11 br label %9 9: ; preds = %11, %7 - %10 = tail call ptr @list_next(ptr noundef %8) #10 + %10 = tail call ptr @list_next(ptr noundef %8) #11 %.not = icmp eq ptr %10, null br i1 %.not, label %16, label %11 11: ; preds = %9 %12 = getelementptr inbounds i8, ptr %10, i64 8 %13 = load ptr, ptr %12, align 8 - %14 = tail call i32 @xstrcmp(ptr noundef %2, ptr noundef %13) #10 + %14 = tail call i32 @xstrcmp(ptr noundef %2, ptr noundef %13) #11 %.not52 = icmp eq i32 %14, 0 br i1 %.not52, label %15, label %9, !llvm.loop !18 15: ; preds = %11 - tail call void @list_iterator_destroy(ptr noundef %8) #10 + tail call void @list_iterator_destroy(ptr noundef %8) #11 br label %21 16: ; preds = %9 - tail call void @list_iterator_destroy(ptr noundef %8) #10 - %17 = tail call ptr @slurm_xcalloc(i64 noundef 1, i64 noundef 32, i1 noundef zeroext true, i1 noundef zeroext false, ptr noundef nonnull @.str, i32 noundef 82, ptr noundef nonnull @__func__._check_create_grouping) #10 - %18 = tail call ptr @xstrdup(ptr noundef %2) #10 + tail call void @list_iterator_destroy(ptr noundef %8) #11 + %17 = tail call ptr @slurm_xcalloc(i64 noundef 1, i64 noundef 32, i1 noundef zeroext true, i1 noundef zeroext false, ptr noundef nonnull @.str, i32 noundef 82, ptr noundef nonnull @__func__._check_create_grouping) #11 + %18 = tail call ptr @xstrdup(ptr noundef %2) #11 %19 = getelementptr inbounds i8, ptr %17, i64 8 store ptr %18, ptr %19, align 8 - %20 = tail call ptr @list_create(ptr noundef nonnull @slurmdb_destroy_report_acct_grouping) #10 + %20 = tail call ptr @list_create(ptr noundef nonnull @slurmdb_destroy_report_acct_grouping) #11 store ptr %20, ptr %17, align 8 - tail call void @list_append(ptr noundef %0, ptr noundef nonnull %17) #10 + tail call void @list_append(ptr noundef %0, ptr noundef nonnull %17) #11 br label %21 21: ; preds = %15, %16 %.048 = phi ptr [ %10, %15 ], [ %17, %16 ] %22 = load ptr, ptr %.048, align 8 - %23 = tail call ptr @list_iterator_create(ptr noundef %22) #10 + %23 = tail call ptr @list_iterator_create(ptr noundef %22) #11 br label %24 24: ; preds = %26, %21 - %25 = tail call ptr @list_next(ptr noundef %23) #10 + %25 = tail call ptr @list_next(ptr noundef %23) #11 %.not53 = icmp eq ptr %25, null br i1 %.not53, label %30, label %26 26: ; preds = %24 %27 = load ptr, ptr %25, align 8 - %28 = tail call i32 @xstrcmp(ptr noundef %3, ptr noundef %27) #10 + %28 = tail call i32 @xstrcmp(ptr noundef %3, ptr noundef %27) #11 %.not54 = icmp eq i32 %28, 0 br i1 %.not54, label %29, label %24, !llvm.loop !19 29: ; preds = %26 - tail call void @list_iterator_destroy(ptr noundef %23) #10 + tail call void @list_iterator_destroy(ptr noundef %23) #11 br label %69 30: ; preds = %24 - tail call void @list_iterator_destroy(ptr noundef %23) #10 - %31 = tail call ptr @slurm_xcalloc(i64 noundef 1, i64 noundef 40, i1 noundef zeroext true, i1 noundef zeroext false, ptr noundef nonnull @.str, i32 noundef 99, ptr noundef nonnull @__func__._check_create_grouping) #10 - %32 = tail call ptr @xstrdup(ptr noundef %3) #10 + tail call void @list_iterator_destroy(ptr noundef %23) #11 + %31 = tail call ptr @slurm_xcalloc(i64 noundef 1, i64 noundef 40, i1 noundef zeroext true, i1 noundef zeroext false, ptr noundef nonnull @.str, i32 noundef 99, ptr noundef nonnull @__func__._check_create_grouping) #11 + %32 = tail call ptr @xstrdup(ptr noundef %3) #11 store ptr %32, ptr %31, align 8 br i1 %6, label %38, label %33 33: ; preds = %30 %34 = getelementptr inbounds i8, ptr %4, i64 160 %35 = load ptr, ptr %34, align 8 - %36 = tail call ptr @xstrdup(ptr noundef %35) #10 + %36 = tail call ptr @xstrdup(ptr noundef %35) #11 %37 = getelementptr inbounds i8, ptr %31, i64 24 store ptr %36, ptr %37, align 8 br label %38 38: ; preds = %33, %30 - %39 = tail call ptr @list_create(ptr noundef nonnull @slurmdb_destroy_report_job_grouping) #10 + %39 = tail call ptr @list_create(ptr noundef nonnull @slurmdb_destroy_report_job_grouping) #11 %40 = getelementptr inbounds i8, ptr %31, i64 16 store ptr %39, ptr %40, align 8 %41 = load ptr, ptr %.048, align 8 - tail call void @list_append(ptr noundef %41, ptr noundef nonnull %31) #10 - %42 = tail call ptr @list_next(ptr noundef %1) #10 + tail call void @list_append(ptr noundef %41, ptr noundef nonnull %31) #11 + %42 = tail call ptr @list_next(ptr noundef %1) #11 %.not5560 = icmp eq ptr %42, null br i1 %.not5560, label %._crit_edge.thread, label %.lr.ph @@ -977,37 +1353,37 @@ define internal fastcc void @_check_create_grouping(ptr noundef %0, ptr noundef .lr.ph.split.us: ; preds = %.lr.ph, %.lr.ph.split.us %43 = phi ptr [ %51, %.lr.ph.split.us ], [ %42, %.lr.ph ] - %44 = tail call ptr @slurm_xcalloc(i64 noundef 1, i64 noundef 32, i1 noundef zeroext true, i1 noundef zeroext false, ptr noundef nonnull @.str, i32 noundef 110, ptr noundef nonnull @__func__._check_create_grouping) #10 - %45 = tail call ptr @list_create(ptr noundef null) #10 + %44 = tail call ptr @slurm_xcalloc(i64 noundef 1, i64 noundef 32, i1 noundef zeroext true, i1 noundef zeroext false, ptr noundef nonnull @.str, i32 noundef 110, ptr noundef nonnull @__func__._check_create_grouping) #11 + %45 = tail call ptr @list_create(ptr noundef null) #11 %46 = getelementptr inbounds i8, ptr %44, i64 8 store ptr %45, ptr %46, align 8 - %47 = tail call i32 @atoi(ptr nocapture noundef nonnull %43) #12 + %47 = tail call i32 @atoi(ptr nocapture noundef nonnull %43) #13 %48 = getelementptr inbounds i8, ptr %44, i64 20 store i32 %47, ptr %48, align 4 %49 = getelementptr inbounds i8, ptr %44, i64 16 store i32 %47, ptr %49, align 8 %50 = load ptr, ptr %40, align 8 - tail call void @list_append(ptr noundef %50, ptr noundef nonnull %44) #10 - %51 = tail call ptr @list_next(ptr noundef %1) #10 + tail call void @list_append(ptr noundef %50, ptr noundef nonnull %44) #11 + %51 = tail call ptr @list_next(ptr noundef %1) #11 %.not55.us = icmp eq ptr %51, null br i1 %.not55.us, label %._crit_edge, label %.lr.ph.split.us, !llvm.loop !20 .lr.ph.split: ; preds = %.lr.ph, %.lr.ph.split %52 = phi ptr [ %61, %.lr.ph.split ], [ %42, %.lr.ph ] %.061 = phi i32 [ %57, %.lr.ph.split ], [ 0, %.lr.ph ] - %53 = tail call ptr @slurm_xcalloc(i64 noundef 1, i64 noundef 32, i1 noundef zeroext true, i1 noundef zeroext false, ptr noundef nonnull @.str, i32 noundef 110, ptr noundef nonnull @__func__._check_create_grouping) #10 - %54 = tail call ptr @list_create(ptr noundef null) #10 + %53 = tail call ptr @slurm_xcalloc(i64 noundef 1, i64 noundef 32, i1 noundef zeroext true, i1 noundef zeroext false, ptr noundef nonnull @.str, i32 noundef 110, ptr noundef nonnull @__func__._check_create_grouping) #11 + %54 = tail call ptr @list_create(ptr noundef null) #11 %55 = getelementptr inbounds i8, ptr %53, i64 8 store ptr %54, ptr %55, align 8 %56 = getelementptr inbounds i8, ptr %53, i64 16 store i32 %.061, ptr %56, align 8 - %57 = tail call i32 @atoi(ptr nocapture noundef nonnull %52) #12 + %57 = tail call i32 @atoi(ptr nocapture noundef nonnull %52) #13 %58 = add i32 %57, -1 %59 = getelementptr inbounds i8, ptr %53, i64 20 store i32 %58, ptr %59, align 4 %60 = load ptr, ptr %40, align 8 - tail call void @list_append(ptr noundef %60, ptr noundef nonnull %53) #10 - %61 = tail call ptr @list_next(ptr noundef %1) #10 + tail call void @list_append(ptr noundef %60, ptr noundef nonnull %53) #11 + %61 = tail call ptr @list_next(ptr noundef %1) #11 %.not55 = icmp eq ptr %61, null br i1 %.not55, label %._crit_edge, label %.lr.ph.split, !llvm.loop !20 @@ -1018,8 +1394,8 @@ define internal fastcc void @_check_create_grouping(ptr noundef %0, ptr noundef br i1 %brmerge, label %._crit_edge.thread, label %62 62: ; preds = %._crit_edge - %63 = tail call ptr @slurm_xcalloc(i64 noundef 1, i64 noundef 32, i1 noundef zeroext true, i1 noundef zeroext false, ptr noundef nonnull @.str, i32 noundef 124, ptr noundef nonnull @__func__._check_create_grouping) #10 - %64 = tail call ptr @list_create(ptr noundef null) #10 + %63 = tail call ptr @slurm_xcalloc(i64 noundef 1, i64 noundef 32, i1 noundef zeroext true, i1 noundef zeroext false, ptr noundef nonnull @.str, i32 noundef 124, ptr noundef nonnull @__func__._check_create_grouping) #11 + %64 = tail call ptr @list_create(ptr noundef null) #11 %65 = getelementptr inbounds i8, ptr %63, i64 8 store ptr %64, ptr %65, align 8 %66 = getelementptr inbounds i8, ptr %63, i64 16 @@ -1027,11 +1403,11 @@ define internal fastcc void @_check_create_grouping(ptr noundef %0, ptr noundef %67 = getelementptr inbounds i8, ptr %63, i64 20 store i32 -1, ptr %67, align 4 %68 = load ptr, ptr %40, align 8 - tail call void @list_append(ptr noundef %68, ptr noundef %63) #10 + tail call void @list_append(ptr noundef %68, ptr noundef %63) #11 br label %._crit_edge.thread ._crit_edge.thread: ; preds = %38, %._crit_edge, %62 - tail call void @list_iterator_reset(ptr noundef %1) #10 + tail call void @list_iterator_reset(ptr noundef %1) #11 br label %69 69: ; preds = %29, %._crit_edge.thread @@ -1067,6 +1443,12 @@ declare ptr @strchr(ptr, i32) local_unnamed_addr #8 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare i32 @llvm.scmp.i32.i32(i32, i32) #9 +; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) +declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #10 + +; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) +declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #10 + attributes #0 = { nounwind uwtable "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } attributes #1 = { nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } attributes #2 = { "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } @@ -1077,9 +1459,10 @@ attributes #6 = { mustprogress nofree nounwind willreturn memory(read) "frame-po attributes #7 = { nofree nounwind } attributes #8 = { nofree nounwind willreturn memory(argmem: read) } attributes #9 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) } -attributes #10 = { nounwind } -attributes #11 = { cold } -attributes #12 = { nounwind willreturn memory(read) } +attributes #10 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } +attributes #11 = { nounwind } +attributes #12 = { cold } +attributes #13 = { nounwind willreturn memory(read) } !llvm.module.flags = !{!0, !1, !2, !3, !4, !5} diff --git a/comptime.baseline b/comptime.baseline index a6e54878ce9..68668efe266 100644 --- a/comptime.baseline +++ b/comptime.baseline @@ -169,7 +169,7 @@ abc/aigRet.c.ll 771450899 abc/aigRetF.c.ll 147077729 abc/aigScl.c.ll 698796782 abc/aigShow.c.ll 179851308 -abc/aigSplit.c.ll 220482883 +abc/aigSplit.c.ll 220252282 abc/aigTable.c.ll 160127291 abc/aigTiming.c.ll 470613339 abc/aigTsim.c.ll 371585523 @@ -444,7 +444,7 @@ abc/fraPart.c.ll 400441618 abc/fraSat.c.ll 216168398 abc/fraSec.c.ll 308050973 abc/fraSim.c.ll 879781997 -abc/fraigApi.c.ll 101173421 +abc/fraigApi.c.ll 101053220 abc/fraigFanout.c.ll 62345362 abc/fraigFeed.c.ll 537085467 abc/fraigMan.c.ll 244691156 @@ -741,7 +741,7 @@ abc/mfsMan.c.ll 150386287 abc/mfsResub.c.ll 484555088 abc/mfsStrash.c.ll 235179284 abc/mio.c.ll 122487242 -abc/mioApi.c.ll 126029050 +abc/mioApi.c.ll 125866914 abc/mioFunc.c.ll 281974127 abc/mioParse.c.ll 729858827 abc/mioRead.c.ll 349320027 @@ -790,7 +790,7 @@ abc/nwkUtil.c.ll 443414944 abc/parseEqn.c.ll 118388678 abc/pdrCnf.c.ll 292248195 abc/pdrCore.c.ll 926818404 -abc/pdrIncr.c.ll 865617128 +abc/pdrIncr.c.ll 864289558 abc/pdrInv.c.ll 982136582 abc/pdrMan.c.ll 623405748 abc/pdrSat.c.ll 241520238 @@ -888,7 +888,7 @@ abc/sclUpsize.c.ll 1485330850 abc/sclUtil.c.ll 241060595 abc/sfmArea.c.ll 426602040 abc/sfmCnf.c.ll 243371174 -abc/sfmCore.c.ll 319100836 +abc/sfmCore.c.ll 318760308 abc/sfmDec.c.ll 2715655083 abc/sfmLib.c.ll 1314206369 abc/sfmNtk.c.ll 532289196 @@ -929,7 +929,7 @@ abc/sswSweep.c.ll 386324414 abc/sswUnique.c.ll 192023024 abc/st.c.ll 270843758 abc/stmm.c.ll 264391980 -abc/super.c.ll 93772876 +abc/super.c.ll 93678783 abc/superAnd.c.ll 309743777 abc/superGate.c.ll 1463970150 abc/timBox.c.ll 101086190 @@ -985,18 +985,18 @@ abseil-cpp/ascii_test.cc.ll 1904932319 abseil-cpp/atomic_hook_test.cc.ll 626495478 abseil-cpp/atomic_hook_test_helper.cc.ll 48612759 abseil-cpp/barrier.cc.ll 46384469 -abseil-cpp/barrier_test.cc.ll 353143813 +abseil-cpp/barrier_test.cc.ll 352627188 abseil-cpp/bernoulli_distribution_test.cc.ll 2100599507 abseil-cpp/beta_distribution_test.cc.ll 7488458697 abseil-cpp/bind.cc.ll 621671315 -abseil-cpp/bind_front_test.cc.ll 1969125716 +abseil-cpp/bind_front_test.cc.ll 1966873719 abseil-cpp/bind_test.cc.ll 724969342 abseil-cpp/bit_cast_test.cc.ll 732436025 abseil-cpp/bit_gen_ref_test.cc.ll 2394722650 abseil-cpp/bits_test.cc.ll 2721130511 abseil-cpp/blocking_counter.cc.ll 54702014 abseil-cpp/blocking_counter_test.cc.ll 687521758 -abseil-cpp/call_once_test.cc.ll 371185746 +abseil-cpp/call_once_test.cc.ll 370713848 abseil-cpp/char_formatting_test.cc.ll 867840434 abseil-cpp/charconv.cc.ll 1219254807 abseil-cpp/charconv_bigint.cc.ll 1035559043 @@ -1006,7 +1006,7 @@ abseil-cpp/charconv_parse_test.cc.ll 945867695 abseil-cpp/charconv_test.cc.ll 2631474464 abseil-cpp/charset_test.cc.ll 1069670721 abseil-cpp/check_test.cc.ll 2230200030 -abseil-cpp/checker_test.cc.ll 338122546 +abseil-cpp/checker_test.cc.ll 337775040 abseil-cpp/chi_square.cc.ll 96282238 abseil-cpp/chi_square_test.cc.ll 829359391 abseil-cpp/city.cc.ll 325812811 @@ -1019,8 +1019,8 @@ abseil-cpp/clock_test.cc.ll 463922866 abseil-cpp/commandlineflag_test.cc.ll 1158306802 abseil-cpp/common_policy_traits_test.cc.ll 3188216994 abseil-cpp/compare_test.cc.ll 813645462 -abseil-cpp/compressed_tuple_test.cc.ll 2251743669 -abseil-cpp/config_test.cc.ll 149239248 +abseil-cpp/compressed_tuple_test.cc.ll 2249228823 +abseil-cpp/config_test.cc.ll 149086425 abseil-cpp/container_memory_test.cc.ll 2535120001 abseil-cpp/container_test.cc.ll 18597974557 abseil-cpp/convert_test.cc.ll 13638898441 @@ -1067,7 +1067,7 @@ abseil-cpp/duration.cc.ll 978129648 abseil-cpp/duration_test.cc.ll 16447782842 abseil-cpp/elf_mem_image.cc.ll 170176473 abseil-cpp/endian_test.cc.ll 1145783063 -abseil-cpp/errno_saver_test.cc.ll 338930557 +abseil-cpp/errno_saver_test.cc.ll 338567104 abseil-cpp/escaping.cc.ll 70430020 abseil-cpp/escaping_test.cc.ll 1716820931 abseil-cpp/examine_stack.cc.ll 81794656 @@ -1086,7 +1086,7 @@ abseil-cpp/fastmath_test.cc.ll 448457016 abseil-cpp/fixed_array_exception_safety_test.cc.ll 2629777424 abseil-cpp/fixed_array_test.cc.ll 11701996772 abseil-cpp/flag_test.cc.ll 1589020499 -abseil-cpp/flag_test_defs.cc.ll 122038084 +abseil-cpp/flag_test_defs.cc.ll 121909902 abseil-cpp/flags.cc.ll 209033665 abseil-cpp/flags_test.cc.ll 1150656364 abseil-cpp/flat_hash_map_test.cc.ll 54316434838 @@ -1102,11 +1102,11 @@ abseil-cpp/gaussian_distribution_test.cc.ll 5391508771 abseil-cpp/generate_real_test.cc.ll 2650849922 abseil-cpp/generators_test.cc.ll 10151257205 abseil-cpp/globals.cc.ll 244787573 -abseil-cpp/globals_test.cc.ll 1405325111 +abseil-cpp/globals_test.cc.ll 1403680821 abseil-cpp/graphcycles.cc.ll 1127106472 abseil-cpp/graphcycles_test.cc.ll 2410407108 abseil-cpp/has_absl_stringify_test.cc.ll 129997190 -abseil-cpp/has_ostream_operator_test.cc.ll 129935893 +abseil-cpp/has_ostream_operator_test.cc.ll 129782894 abseil-cpp/hash_function_defaults_test.cc.ll 6975806024 abseil-cpp/hash_generator_testing.cc.ll 406481630 abseil-cpp/hash_instantiated_test.cc.ll 84319692413 @@ -1115,7 +1115,7 @@ abseil-cpp/hash_policy_traits_test.cc.ll 2103649444 abseil-cpp/hash_test.cc.ll 87364562657 abseil-cpp/hashtablez_sampler.cc.ll 174730912 abseil-cpp/hashtablez_sampler_test.cc.ll 3501346153 -abseil-cpp/if_constexpr_test.cc.ll 321810879 +abseil-cpp/if_constexpr_test.cc.ll 321473648 abseil-cpp/inline_variable_test.cc.ll 426828164 abseil-cpp/inlined_vector_exception_safety_test.cc.ll 57901173112 abseil-cpp/inlined_vector_test.cc.ll 40998985610 @@ -1149,7 +1149,7 @@ abseil-cpp/marshalling.cc.ll 751565337 abseil-cpp/marshalling_test.cc.ll 6910631521 abseil-cpp/match.cc.ll 120009181 abseil-cpp/match_test.cc.ll 2089697255 -abseil-cpp/memory_test.cc.ll 926352720 +abseil-cpp/memory_test.cc.ll 925408099 abseil-cpp/memutil_test.cc.ll 170941794 abseil-cpp/mock_distributions_test.cc.ll 8301008477 abseil-cpp/mocking_bit_gen_test.cc.ll 15293599137 @@ -1159,17 +1159,17 @@ abseil-cpp/mutex_test.cc.ll 7267448038 abseil-cpp/no_destructor_test.cc.ll 1907813558 abseil-cpp/node_hash_map_test.cc.ll 23586948157 abseil-cpp/node_hash_set_test.cc.ll 29921036381 -abseil-cpp/node_slot_policy_test.cc.ll 487278704 -abseil-cpp/non_temporal_memcpy_test.cc.ll 1332345273 +abseil-cpp/node_slot_policy_test.cc.ll 486666689 +abseil-cpp/non_temporal_memcpy_test.cc.ll 1330522359 abseil-cpp/nonsecure_base_test.cc.ll 1734658857 abseil-cpp/notification.cc.ll 64777980 abseil-cpp/notification_test.cc.ll 599481736 -abseil-cpp/nullability_test.cc.ll 348587030 +abseil-cpp/nullability_test.cc.ll 348238292 abseil-cpp/numbers.cc.ll 1065644435 abseil-cpp/numbers_test.cc.ll 10155574718 abseil-cpp/optimization_test.cc.ll 379315243 abseil-cpp/ostringstream_test.cc.ll 667153165 -abseil-cpp/output_test.cc.ll 361897835 +abseil-cpp/output_test.cc.ll 361411050 abseil-cpp/overload_test.cc.ll 686838761 abseil-cpp/parse.cc.ll 2611501248 abseil-cpp/parse_test.cc.ll 5517690550 @@ -1182,18 +1182,18 @@ abseil-cpp/periodic_sampler_test.cc.ll 3081880201 abseil-cpp/poisson_distribution_test.cc.ll 9165977534 abseil-cpp/pool_urbg.cc.ll 209347529 abseil-cpp/pool_urbg_test.cc.ll 3401128796 -abseil-cpp/pow10_helper_test.cc.ll 199476940 +abseil-cpp/pow10_helper_test.cc.ll 199212611 abseil-cpp/prefetch_test.cc.ll 167608965 -abseil-cpp/program_name.cc.ll 104106287 -abseil-cpp/program_name_test.cc.ll 305777083 +abseil-cpp/program_name.cc.ll 103999773 +abseil-cpp/program_name_test.cc.ll 305450468 abseil-cpp/proto.cc.ll 219434179 abseil-cpp/pthread_waiter.cc.ll 82879016 abseil-cpp/randen_engine_test.cc.ll 5544919772 abseil-cpp/randen_hwaes.cc.ll 117315840 abseil-cpp/randen_hwaes_test.cc.ll 186878067 abseil-cpp/randen_slow.cc.ll 208936100 -abseil-cpp/randen_slow_test.cc.ll 147455578 -abseil-cpp/randen_test.cc.ll 167657465 +abseil-cpp/randen_slow_test.cc.ll 147296458 +abseil-cpp/randen_test.cc.ll 167474928 abseil-cpp/raw_hash_set.cc.ll 257454856 abseil-cpp/raw_hash_set_allocator_test.cc.ll 5902088180 abseil-cpp/raw_hash_set_test.cc.ll 37935185369 @@ -1203,12 +1203,12 @@ abseil-cpp/reflection.cc.ll 1393954431 abseil-cpp/reflection_test.cc.ll 3229833634 abseil-cpp/resize_uninitialized_test.cc.ll 537008620 abseil-cpp/salted_seed_seq_test.cc.ll 2748077225 -abseil-cpp/sample_element_size_test.cc.ll 86872749 +abseil-cpp/sample_element_size_test.cc.ll 86783355 abseil-cpp/sample_recorder_test.cc.ll 3657521662 abseil-cpp/scoped_mock_log.cc.ll 1952805283 -abseil-cpp/scoped_mock_log_test.cc.ll 2771745462 +abseil-cpp/scoped_mock_log_test.cc.ll 2768229416 abseil-cpp/scoped_set_env.cc.ll 61131735 -abseil-cpp/scoped_set_env_test.cc.ll 325743953 +abseil-cpp/scoped_set_env_test.cc.ll 325396697 abseil-cpp/seed_gen_exception.cc.ll 40303955 abseil-cpp/seed_material_test.cc.ll 1484381069 abseil-cpp/seed_sequences_test.cc.ll 1496283808 @@ -1216,7 +1216,7 @@ abseil-cpp/sem_waiter.cc.ll 89139911 abseil-cpp/sequence_lock_test.cc.ll 3147608309 abseil-cpp/span_test.cc.ll 8256631438 abseil-cpp/spinlock.cc.ll 148494281 -abseil-cpp/spinlock_test_common.cc.ll 973784820 +abseil-cpp/spinlock_test_common.cc.ll 972746826 abseil-cpp/spinlock_wait.cc.ll 62569666 abseil-cpp/stack_consumption.cc.ll 67871838 abseil-cpp/stack_consumption_test.cc.ll 220764205 @@ -1227,7 +1227,7 @@ abseil-cpp/status_payload_printer.cc.ll 61650912 abseil-cpp/status_test.cc.ll 4688281312 abseil-cpp/statusor.cc.ll 160279774 abseil-cpp/statusor_test.cc.ll 19620682232 -abseil-cpp/stderr_log_sink_test.cc.ll 1010878060 +abseil-cpp/stderr_log_sink_test.cc.ll 1009858338 abseil-cpp/str_cat.cc.ll 104219497 abseil-cpp/str_cat_test.cc.ll 5424297301 abseil-cpp/str_format_test.cc.ll 7717129531 @@ -1247,7 +1247,7 @@ abseil-cpp/substitute_test.cc.ll 1925319877 abseil-cpp/symbolize.cc.ll 1836025599 abseil-cpp/symbolize_test.cc.ll 1304417627 abseil-cpp/sysinfo.cc.ll 275370892 -abseil-cpp/sysinfo_test.cc.ll 696364390 +abseil-cpp/sysinfo_test.cc.ll 695426174 abseil-cpp/test_instance_tracker_test.cc.ll 1014520444 abseil-cpp/test_matchers.cc.ll 2332557238 abseil-cpp/test_util.cc.ll 62582233 @@ -1263,7 +1263,7 @@ abseil-cpp/time_zone_info.cc.ll 2031565236 abseil-cpp/time_zone_libc.cc.ll 422420565 abseil-cpp/time_zone_posix.cc.ll 156054180 abseil-cpp/time_zone_test.cc.ll 682586645 -abseil-cpp/traits_test.cc.ll 105882280 +abseil-cpp/traits_test.cc.ll 105728138 abseil-cpp/type_traits_test.cc.ll 1480460795 abseil-cpp/uniform_helper_test.cc.ll 1274918381 abseil-cpp/uniform_int_distribution_test.cc.ll 10494187815 @@ -1273,8 +1273,8 @@ abseil-cpp/unordered_set_test.cc.ll 12645427917 abseil-cpp/usage.cc.ll 1528295046 abseil-cpp/usage_config_test.cc.ll 1010922842 abseil-cpp/usage_test.cc.ll 1429983519 -abseil-cpp/utf8_test.cc.ll 416117657 -abseil-cpp/utility_test.cc.ll 1963933266 +abseil-cpp/utf8_test.cc.ll 415669942 +abseil-cpp/utility_test.cc.ll 1961420263 abseil-cpp/vdso_support.cc.ll 69533993 abseil-cpp/vlog_config.cc.ll 932712504 abseil-cpp/vlog_is_on_test.cc.ll 920726045 @@ -1323,10 +1323,10 @@ actix-rs/2ltm6szalsytk9dh.ll 1065425041 actix-rs/2m9lq42maoywd5kd.ll 546796891 actix-rs/2nm6r5hc2u1hk1e1.ll 2435472574 actix-rs/2o6s6qtmif526itx.ll 1920669238 -actix-rs/2p9yk5hk6n8dqugm.ll 79211232 +actix-rs/2p9yk5hk6n8dqugm.ll 79131263 actix-rs/2pgtlhl4qd060m9c.ll 2379686962 actix-rs/2png79mhk1ofnc6m.ll 157541484 -actix-rs/2vc5a7699k03y0it.ll 237367320 +actix-rs/2vc5a7699k03y0it.ll 237102838 actix-rs/2wg1z1eatrkafji9.ll 2019356280 actix-rs/2y3wbbmiwci6snjl.ll 314310054 actix-rs/305jwhumkt6l000n.ll 353749390 @@ -1346,7 +1346,7 @@ actix-rs/3q809acynivxoxxx.ll 348648873 actix-rs/3r4ha69xj2bs6l86.ll 2563152766 actix-rs/3sxbtmgc7txd1oqx.ll 3564435674 actix-rs/3tnlvci61w0nl5yv.ll 2220859521 -actix-rs/3u1jix79tu9frq3m.ll 698064899 +actix-rs/3u1jix79tu9frq3m.ll 697345304 actix-rs/3ueqfq5tvn084yrz.ll 665973213 actix-rs/3vo3nye5ryafj928.ll 46098370 actix-rs/3vuztpi76sfr8ij.ll 783631833 @@ -1420,7 +1420,7 @@ anki-rs/242w8kogp1366avu.ll 41960638 anki-rs/2bx0w5w13uk9h60p.ll 99087780 anki-rs/2c14k37euo1vpe62.ll 50631339 anki-rs/2e6g9zuu2nvjpnsh.ll 45459586 -anki-rs/2lb7ct7ebbwm4pw.ll 124116656 +anki-rs/2lb7ct7ebbwm4pw.ll 123963149 anki-rs/2n3b61ni22qihdlh.ll 40027341 anki-rs/369cnecac5rxdz1p.ll 56152266 anki-rs/3b83yr8hdp3wi0ot.ll 37036123 @@ -1466,7 +1466,7 @@ arrow/bignum.cc.ll 650874487 arrow/bit_block_counter.cc.ll 74662835 arrow/bit_run_reader.cc.ll 57657479 arrow/bit_util.cc.ll 101654474 -arrow/bitmap.cc.ll 290203910 +arrow/bitmap.cc.ll 289891139 arrow/bitmap_builders.cc.ll 270268833 arrow/bitmap_ops.cc.ll 1688737860 arrow/bpacking.cc.ll 3535085587 @@ -1500,7 +1500,7 @@ arrow/compression.cc.ll 380237489 arrow/concatenate.cc.ll 4813241435 arrow/config.cc.ll 206505226 arrow/coo_converter.cc.ll 10101032888 -arrow/counting_semaphore.cc.ll 272417431 +arrow/counting_semaphore.cc.ll 272120572 arrow/cpu_info.cc.ll 414782583 arrow/crc32.cc.ll 122906131 arrow/csf_converter.cc.ll 1881774258 @@ -1533,7 +1533,7 @@ arrow/hdfs_internal.cc.ll 1282378325 arrow/int_util.cc.ll 8399811060 arrow/interfaces.cc.ll 3619004453 arrow/io_util.cc.ll 3340413918 -arrow/kernel.cc.ll 1422864562 +arrow/kernel.cc.ll 1421248772 arrow/key_hash.cc.ll 1706672149 arrow/key_hash_avx2.cc.ll 448435669 arrow/key_map.cc.ll 867596889 @@ -1613,7 +1613,7 @@ assimp/Assimp.cpp.ll 4395861767 assimp/AssimpCExport.cpp.ll 158459583 assimp/AssxmlFileWriter.cpp.ll 740544429 assimp/B3DImporter.cpp.ll 2672357862 -assimp/BVHLoader.cpp.ll 1681917815 +assimp/BVHLoader.cpp.ll 1680074578 assimp/Base64.cpp.ll 242226564 assimp/BaseImporter.cpp.ll 1983693489 assimp/BaseProcess.cpp.ll 59751111 @@ -1624,7 +1624,7 @@ assimp/BlenderLoader.cpp.ll 5488427439 assimp/BlenderModifier.cpp.ll 623660869 assimp/BlenderScene.cpp.ll 9472056251 assimp/BlenderTessellator.cpp.ll 623984250 -assimp/CInterfaceIOWrapper.cpp.ll 160925457 +assimp/CInterfaceIOWrapper.cpp.ll 160740592 assimp/COBLoader.cpp.ll 3589897902 assimp/CSMLoader.cpp.ll 771592158 assimp/CalcTangentsProcess.cpp.ll 503808454 @@ -1632,7 +1632,7 @@ assimp/ColladaExporter.cpp.ll 3500084200 assimp/ColladaHelper.cpp.ll 204192813 assimp/ColladaLoader.cpp.ll 5271808406 assimp/ColladaParser.cpp.ll 10586667552 -assimp/Compression.cpp.ll 167905784 +assimp/Compression.cpp.ll 167690522 assimp/ComputeUVMappingProcess.cpp.ll 466501110 assimp/ConvertToLHProcess.cpp.ll 384416725 assimp/D3MFExporter.cpp.ll 555503149 @@ -1660,15 +1660,15 @@ assimp/FBXExporter.cpp.ll 12111807135 assimp/FBXImporter.cpp.ll 408143943 assimp/FBXMaterial.cpp.ll 931707735 assimp/FBXMeshGeometry.cpp.ll 2119483497 -assimp/FBXModel.cpp.ll 460822599 +assimp/FBXModel.cpp.ll 460308299 assimp/FBXNodeAttribute.cpp.ll 259000369 assimp/FBXParser.cpp.ll 2346707576 -assimp/FBXProperties.cpp.ll 866316035 +assimp/FBXProperties.cpp.ll 865441580 assimp/FBXTokenizer.cpp.ll 281286276 assimp/FBXUtil.cpp.ll 137776685 assimp/FindDegenerates.cpp.ll 912305952 assimp/FindInstancesProcess.cpp.ll 558595646 -assimp/FindInvalidDataProcess.cpp.ll 714512505 +assimp/FindInvalidDataProcess.cpp.ll 713711247 assimp/FixNormalsStep.cpp.ll 124284290 assimp/GenFaceNormalsProcess.cpp.ll 118846125 assimp/GenVertexNormalsProcess.cpp.ll 336271502 @@ -1681,7 +1681,7 @@ assimp/IFCLoader.cpp.ll 3679503795 assimp/IFCMaterial.cpp.ll 594074439 assimp/IFCOpenings.cpp.ll 6367488656 assimp/IFCProfile.cpp.ll 843390525 -assimp/IFCReaderGen1_2x3.cpp.ll 41444632516 +assimp/IFCReaderGen1_2x3.cpp.ll 41388395409 assimp/IFCReaderGen2_2x3.cpp.ll 2986638756 assimp/IFCUtil.cpp.ll 2295626148 assimp/IQMImporter.cpp.ll 482475795 @@ -1713,7 +1713,7 @@ assimp/MaterialSystem.cpp.ll 558056295 assimp/NDOLoader.cpp.ll 1525418518 assimp/NFFLoader.cpp.ll 4092420077 assimp/OFFLoader.cpp.ll 657908471 -assimp/ObjExporter.cpp.ll 1617088619 +assimp/ObjExporter.cpp.ll 1615047870 assimp/ObjFileImporter.cpp.ll 1137598167 assimp/ObjFileMtlImporter.cpp.ll 1329394986 assimp/ObjFileParser.cpp.ll 2641145796 @@ -1726,10 +1726,10 @@ assimp/OpenDDLCommon.cpp.ll 122054321 assimp/OpenDDLExport.cpp.ll 162266010 assimp/OpenDDLParser.cpp.ll 1163673718 assimp/OpenDDLStream.cpp.ll 54583413 -assimp/OpenGEXImporter.cpp.ll 2354934564 +assimp/OpenGEXImporter.cpp.ll 2352379090 assimp/OptimizeGraph.cpp.ll 871432070 assimp/OptimizeMeshes.cpp.ll 433949588 -assimp/PbrtExporter.cpp.ll 1314712173 +assimp/PbrtExporter.cpp.ll 1313315447 assimp/PlyExporter.cpp.ll 480004446 assimp/PlyLoader.cpp.ll 1374777330 assimp/PlyParser.cpp.ll 1980244947 @@ -1778,7 +1778,7 @@ assimp/X3DImporter_Geometry3D.cpp.ll 2566574710 assimp/X3DImporter_Group.cpp.ll 395266791 assimp/X3DImporter_Light.cpp.ll 396432480 assimp/X3DImporter_Metadata.cpp.ll 1078426550 -assimp/X3DImporter_Networking.cpp.ll 311429021 +assimp/X3DImporter_Networking.cpp.ll 310997568 assimp/X3DImporter_Postprocess.cpp.ll 1114396833 assimp/X3DImporter_Rendering.cpp.ll 1905284825 assimp/X3DImporter_Shape.cpp.ll 361079575 @@ -1789,7 +1789,7 @@ assimp/XFileImporter.cpp.ll 1487809259 assimp/XFileParser.cpp.ll 3218160339 assimp/XGLLoader.cpp.ll 5332331386 assimp/XmlSerializer.cpp.ll 2197554140 -assimp/ZipArchiveIOSystem.cpp.ll 544339933 +assimp/ZipArchiveIOSystem.cpp.ll 543754704 assimp/cencode.c.ll 55310188 assimp/clipper.cpp.ll 5838659437 assimp/glTF2Exporter.cpp.ll 11709317284 @@ -1797,7 +1797,7 @@ assimp/glTF2Importer.cpp.ll 18310887997 assimp/glTFCommon.cpp.ll 149809976 assimp/glTFExporter.cpp.ll 13187329146 assimp/glTFImporter.cpp.ll 10516909880 -assimp/json_exporter.cpp.ll 1601544136 +assimp/json_exporter.cpp.ll 1599872945 assimp/mesh_splitter.cpp.ll 1123453358 assimp/o3dgcArithmeticCodec.cpp.ll 381464364 assimp/o3dgcDynamicVectorDecoder.cpp.ll 365052112 @@ -1821,7 +1821,7 @@ bdwgc/cordbscs.c.ll 394652362 bdwgc/cordprnt.c.ll 231894357 bdwgc/cordxtra.c.ll 237173530 bdwgc/gc.c.ll 8097914167 -boost/absolute_uri_rule.ll 274734343 +boost/absolute_uri_rule.ll 274338280 boost/addr2line.ll 721082856 boost/algorithm.ll 28019530273 boost/alloc_lib.ll 2349953665 @@ -1843,14 +1843,14 @@ boost/async_fut.ll 37891696472 boost/async_pipe.ll 32287629469 boost/attribute_name.ll 890617182 boost/attribute_set.ll 315356393 -boost/attribute_value_set.ll 391232413 -boost/authority_rule.ll 298186582 +boost/attribute_value_set.ll 390749505 +boost/authority_rule.ll 297794145 boost/authority_view.ll 527245660 boost/auto_timers_construction.ll 115130185 boost/barrier.ll 299450347 boost/basic.ll 301331290 boost/basic_archive.ll 35076244 -boost/basic_iarchive.ll 568000317 +boost/basic_iarchive.ll 567328649 boost/basic_iserializer.ll 37002566 boost/basic_oarchive.ll 449753075 boost/basic_oserializer.ll 37025085 @@ -1863,16 +1863,16 @@ boost/basic_text_wiprimitive.ll 270456124 boost/basic_text_woprimitive.ll 423961320 boost/basic_xml_archive.ll 36297967 boost/benchmark_fstream.ll 1674160546 -boost/binary_iarchive.ll 506371178 -boost/binary_oarchive.ll 381232243 -boost/binary_wiarchive.ll 469098597 +boost/binary_iarchive.ll 505714826 +boost/binary_oarchive.ll 380787384 +boost/binary_wiarchive.ll 468539815 boost/binary_woarchive.ll 378602167 boost/bind_stderr.ll 36376624642 boost/bind_stdin.ll 36786319882 boost/bind_stdin_stdout.ll 31142603114 boost/bind_stdout.ll 36356538328 boost/bind_stdout_stderr.ll 35796892867 -boost/boundary.ll 756413819 +boost/boundary.ll 755462618 boost/buffer.ll 27755979404 boost/buffer_gc.ll 59734551514 boost/buffer_geo_spheroid.ll 61071927402 @@ -1883,7 +1883,7 @@ boost/buffer_point_geo.ll 66577209634 boost/buffer_polygon_geo.ll 60511466980 boost/buffer_variable_width.ll 44931204231 boost/buffer_with_strategies.ll 46925259411 -boost/bzip2.ll 179928554 +boost/bzip2.ll 179732178 boost/calculate_point_order.ll 30917405365 boost/calculation_type.ll 28344434568 boost/channel.ll 1052371746 @@ -1898,12 +1898,12 @@ boost/cmd_test.ll 33050729267 boost/cmdline.ll 2709119854 boost/code_conversion.ll 737860739 boost/codecvt.ll 70074749 -boost/codecvt_converter.ll 793272789 -boost/codecvt_error_category.ll 101604785 +boost/codecvt_converter.ll 792420358 +boost/codecvt_error_category.ll 101494026 boost/codecvt_null.ll 54265681 -boost/codepage.ll 1077811969 +boost/codepage.ll 1076524018 boost/collate.ll 502147473 -boost/collator.ll 965530973 +boost/collator.ll 964360472 boost/compiler_log_formatter.ll 645284676 boost/condition_variable.ll 169234942 boost/config_file.ll 1462756389 @@ -1911,7 +1911,7 @@ boost/console_buffer.ll 283372769 boost/context.ll 995541415 boost/contract.ll 1810518092 boost/conversion.ll 542017761 -boost/convert.ll 430929165 +boost/convert.ll 430417915 boost/converter.ll 481339655 boost/convex_hull_multi.ll 53486350242 boost/convex_hull_sph_geo.ll 57717139396 @@ -1920,7 +1920,7 @@ boost/core.ll 943586289 boost/coroutine_context.ll 46103102 boost/cpp_main.ll 253570201 boost/cpp_re.ll 43279474 -boost/cpu_timer.ll 275880968 +boost/cpu_timer.ll 275546224 boost/cstdio.ll 199051216 boost/cstdlib.ll 34734257 boost/cstring_ref.ll 1953124924 @@ -1955,7 +1955,7 @@ boost/encoding_opts.ll 33602577 boost/env.ll 34714812801 boost/envelope_multi.ll 33361606986 boost/environment.ll 3341423867 -boost/environment_posix.ll 163935701 +boost/environment_posix.ll 163751330 boost/error.ll 122234809 boost/event.ll 54608215 boost/except.ll 341184645 @@ -1970,9 +1970,9 @@ boost/expand_on_spheroid.ll 50675748366 boost/ext.ll 6256225563 boost/extended_type_info.ll 221541301 boost/extended_type_info_no_rtti.ll 44231792 -boost/extended_type_info_typeid.ll 208578594 +boost/extended_type_info_typeid.ll 208348115 boost/extensions.ll 30687099771 -boost/fiber.ll 148120972 +boost/fiber.ll 147919797 boost/file_descriptor.ll 479035034 boost/file_test_helpers.ll 332296130 boost/filebuf.ll 39303807 @@ -1985,8 +1985,8 @@ boost/format_args.ll 1035604811 boost/format_parser.ll 1666902313 boost/formatter.ll 1107243717 boost/formatter_parser.ll 2724704415 -boost/formatters_cache.ll 327107376 -boost/formatting.ll 170636248 +boost/formatters_cache.ll 326711065 +boost/formatting.ll 170425409 boost/framework.ll 6481447030 boost/from_chars.ll 2142788427 boost/from_exception.ll 57396634 @@ -2024,7 +2024,7 @@ boost/init_from_settings.ll 8830788285 boost/init_from_stream.ll 143026563 boost/instantiate_cpp_exprgrammar.ll 5879000555 boost/instantiate_cpp_grammar.ll 6199346598 -boost/instantiate_cpp_literalgrs.ll 4377377890 +boost/instantiate_cpp_literalgrs.ll 4372250419 boost/instantiate_defined_grammar.ll 3510690710 boost/instantiate_has_include_grammar.ll 4073634526 boost/instantiate_predef_macros.ll 3516844115 @@ -2053,7 +2053,7 @@ boost/locale_data.ll 471407766 boost/localization_backend.ll 1347643856 boost/lock_pool.ll 255284470 boost/lzma.ll 174409116 -boost/main.ll 3198139978 +boost/main.ll 3194339118 boost/mapped_file.ll 431378642 boost/matches_relation_factory.ll 17519615973 boost/math_abs.ll 27546334314 @@ -2064,8 +2064,8 @@ boost/math_sqrt.ll 27779469962 boost/message.ll 3346856464 boost/mo_lambda.ll 587799204 boost/monotonic_buffer_resource.ll 129006750 -boost/mutex.ll 232960233 -boost/named_scope.ll 278934878 +boost/mutex.ll 232713948 +boost/named_scope.ll 278623228 boost/named_scope_format_parser.ll 1957895267 boost/noop.ll 52540274 boost/normalize.ll 628709401 @@ -2079,7 +2079,7 @@ boost/once_block.ll 44053061 boost/operations.ll 1959641731 boost/options_description.ll 2734748478 boost/origin_form_rule.ll 769560071 -boost/params_base.ll 363304877 +boost/params_base.ll 362929218 boost/params_encoded_base.ll 239105161 boost/params_encoded_ref.ll 305365333 boost/params_encoded_view.ll 269397004 @@ -2143,17 +2143,17 @@ boost/relate_linear_linear_sph.ll 71998635900 boost/relative_order.ll 27560357728 boost/relative_part_rule.ll 303936844 boost/relative_ref_rule.ll 376153161 -boost/replacement_field_rule.ll 1083516791 -boost/results_collector.ll 535441076 +boost/replacement_field_rule.ll 1081969297 +boost/results_collector.ll 534852323 boost/results_reporter.ll 144203322 boost/round_robin.ll 180658791 -boost/run_exe.ll 4222879663 +boost/run_exe.ll 4217992655 boost/run_exe_path.ll 30263901421 boost/scheduler.ll 860578618 boost/scheme.ll 78835148 boost/scheme_rule.ll 147311207 boost/search_path.ll 28440416186 -boost/segments_base.ll 106733496 +boost/segments_base.ll 106587312 boost/segments_encoded_base.ll 49836151 boost/segments_encoded_ref.ll 313901406 boost/segments_encoded_view.ll 268837270 @@ -2170,7 +2170,7 @@ boost/shell.ll 3845727220 boost/shell_path.ll 27527801566 boost/sort_by_side.ll 41353801889 boost/sort_by_side_basic.ll 34319602570 -boost/sparring_partner.ll 3984155324 +boost/sparring_partner.ll 3980127983 boost/spawn.ll 34961832810 boost/spirit_encoding.ll 64440480 boost/split.ll 1285301393 @@ -2200,18 +2200,18 @@ boost/test_fstream_special.ll 1548784228 boost/test_ifstream.ll 1306868867 boost/test_impl.ll 27187871098 boost/test_iostream.ll 843063600 -boost/test_main.ll 207700225 +boost/test_main.ll 207466902 boost/test_ofstream.ll 1346629011 boost/test_stackstring.ll 2067267284 boost/test_stat.ll 316593636 boost/test_stdio.ll 402691199 boost/test_system.ll 1276883217 -boost/test_tools.ll 1789567705 +boost/test_tools.ll 1791576582 boost/test_traits.ll 68675704 boost/test_tree.ll 2196961546 boost/text_file_backend.ll 6257609462 boost/text_iarchive.ll 342704776 -boost/text_multifile_backend.ll 203325779 +boost/text_multifile_backend.ll 203082494 boost/text_oarchive.ll 422742149 boost/text_ostream_backend.ll 611197220 boost/text_wiarchive.ll 361489378 @@ -2231,7 +2231,7 @@ boost/timestamp.ll 42319361 boost/to_chars.ll 3350437239 boost/token_ids.ll 139153778 boost/topology.ll 10791751515 -boost/trivial.ll 371188545 +boost/trivial.ll 370792099 boost/tupled_output.ll 28105319300 boost/tuples.ll 28223769585 boost/union_aa_geo.ll 45999938210 @@ -2245,22 +2245,22 @@ boost/unit_test_main.ll 834889078 boost/unit_test_monitor.ll 443522134 boost/unit_test_parameters.ll 11567323937 boost/unsynchronized_pool_resource.ll 55055423 -boost/uri_reference_rule.ll 189148810 -boost/uri_rule.ll 497176964 +boost/uri_reference_rule.ll 188900198 +boost/uri_rule.ll 496670468 boost/url.ll 320506589 boost/url_base.ll 2239325798 boost/url_impl.ll 217018541 boost/url_view.ll 279007750 -boost/url_view_base.ll 453088901 +boost/url_view_base.ll 452575596 boost/userinfo_rule.ll 265835649 boost/utf8.ll 508796129 boost/utf8_codecvt_facet.ll 121721572 boost/util.ll 83614866 boost/value_semantic.ll 2651232537 boost/variables_map.ll 1337480907 -boost/vformat.ll 267141762 +boost/vformat.ll 266828963 boost/visit.ll 43258185169 -boost/void_cast.ll 298211792 +boost/void_cast.ll 297878681 boost/wait.ll 37554498140 boost/wait_for.ll 31859603208 boost/waker.ll 189508453 @@ -2278,7 +2278,7 @@ boost/xml_grammar.ll 3978552013 boost/xml_iarchive.ll 390466392 boost/xml_log_formatter.ll 508002869 boost/xml_oarchive.ll 512716469 -boost/xml_report_formatter.ll 325509829 +boost/xml_report_formatter.ll 325152331 boost/xml_wgrammar.ll 3962796706 boost/xml_wiarchive.ll 603081149 boost/xml_woarchive.ll 626047079 @@ -2290,7 +2290,7 @@ box2d/b2_chain_polygon_contact.cpp.ll 48453818 box2d/b2_chain_shape.cpp.ll 94406603 box2d/b2_circle_contact.cpp.ll 41879607 box2d/b2_circle_shape.cpp.ll 78178504 -box2d/b2_collide_circle.cpp.ll 90345565 +box2d/b2_collide_circle.cpp.ll 90244000 box2d/b2_collide_edge.cpp.ll 221107065 box2d/b2_collide_polygon.cpp.ll 143285541 box2d/b2_collision.cpp.ll 309776647 @@ -2299,7 +2299,7 @@ box2d/b2_contact_manager.cpp.ll 174285427 box2d/b2_contact_solver.cpp.ll 384733007 box2d/b2_distance.cpp.ll 345613328 box2d/b2_distance_joint.cpp.ll 222037609 -box2d/b2_draw.cpp.ll 39143345 +box2d/b2_draw.cpp.ll 39097256 box2d/b2_dynamic_tree.cpp.ll 300257388 box2d/b2_edge_circle_contact.cpp.ll 41905281 box2d/b2_edge_polygon_contact.cpp.ll 41896620 @@ -2386,7 +2386,7 @@ bullet3/b3Point2PointConstraint.ll 161514948 bullet3/b3PrefixScanCL.ll 215862919 bullet3/b3PrefixScanFloat4CL.ll 222662417 bullet3/b3QuantizedBvh.ll 1095108370 -bullet3/b3RadixSort32CL.ll 545946933 +bullet3/b3RadixSort32CL.ll 545375176 bullet3/b3Solver.ll 1578710992 bullet3/b3StridingMeshInterface.ll 207160359 bullet3/b3TriangleIndexVertexArray.ll 109851922 @@ -2401,7 +2401,7 @@ bullet3/btBoxBoxCollisionAlgorithm.ll 114697105 bullet3/btBoxBoxDetector.ll 472630344 bullet3/btBoxShape.ll 210183518 bullet3/btBvhTriangleMeshShape.ll 247372656 -bullet3/btCapsuleShape.ll 178203721 +bullet3/btCapsuleShape.ll 178015879 bullet3/btCollisionAlgorithm.ll 35794376 bullet3/btCollisionDispatcher.ll 208224968 bullet3/btCollisionDispatcherMt.ll 333820629 @@ -2424,7 +2424,7 @@ bullet3/btConvexConcaveCollisionAlgorithm.ll 601516890 bullet3/btConvexConvexAlgorithm.ll 833293946 bullet3/btConvexHull.ll 1227729213 bullet3/btConvexHullComputer.ll 2563684001 -bullet3/btConvexHullShape.ll 330330429 +bullet3/btConvexHullShape.ll 329996193 bullet3/btConvexInternalShape.ll 206263547 bullet3/btConvexPlaneCollisionAlgorithm.ll 343298174 bullet3/btConvexPointCloudShape.ll 129354701 @@ -2446,7 +2446,7 @@ bullet3/btDeformableMultiBodyDynamicsWorld.ll 2654729090 bullet3/btDiscreteDynamicsWorld.ll 1614290853 bullet3/btDiscreteDynamicsWorldMt.ll 259332869 bullet3/btEmptyCollisionAlgorithm.ll 39557007 -bullet3/btEmptyShape.ll 62044923 +bullet3/btEmptyShape.ll 61974609 bullet3/btFixedConstraint.ll 186514856 bullet3/btGImpactBvh.ll 598851253 bullet3/btGImpactCollisionAlgorithm.ll 1033292443 @@ -2475,7 +2475,7 @@ bullet3/btMiniSDF.ll 699092766 bullet3/btMinkowskiPenetrationDepthSolver.ll 391216670 bullet3/btMinkowskiSumShape.ll 139287846 bullet3/btMultiBody.ll 3677307967 -bullet3/btMultiBodyConstraint.ll 384600576 +bullet3/btMultiBodyConstraint.ll 385104836 bullet3/btMultiBodyConstraintSolver.ll 1501585798 bullet3/btMultiBodyDynamicsWorld.ll 2051777274 bullet3/btMultiBodyFixedConstraint.ll 396628292 @@ -2567,7 +2567,7 @@ c3c/context.c.ll 208619134 c3c/copying.c.ll 1080924630 c3c/diagnostics.c.ll 120104407 c3c/errors.c.ll 36778548 -c3c/expr.c.ll 379919486 +c3c/expr.c.ll 379537806 c3c/file_utils.c.ll 211471190 c3c/float.c.ll 113096833 c3c/headers.c.ll 354778560 @@ -2609,7 +2609,7 @@ c3c/sema_types.c.ll 230074836 c3c/semantic_analyser.c.ll 312488221 c3c/source_file.c.ll 75758297 c3c/stringutils.c.ll 175844093 -c3c/symtab.c.ll 618064485 +c3c/symtab.c.ll 617434842 c3c/target.c.ll 833556207 c3c/taskqueue.c.ll 54303947 c3c/types.c.ll 1007370833 @@ -2626,7 +2626,7 @@ casadi/callback_internal.cpp.ll 834384620 casadi/casadi_c.cpp.ll 571095220 casadi/casadi_call.cpp.ll 685585350 casadi/casadi_cli.cpp.ll 566158303 -casadi/casadi_error_handling.cpp.ll 288188786 +casadi/casadi_error_handling.cpp.ll 287881835 casadi/casadi_find.cpp.ll 234579269 casadi/casadi_logger.cpp.ll 92835825 casadi/casadi_low.cpp.ll 418767689 @@ -2701,9 +2701,9 @@ casadi/cvodes_sptfqmr.c.ll 95138170 casadi/dae_builder.cpp.ll 2640394844 casadi/dae_builder_internal.cpp.ll 10276890577 casadi/daebuilder.cpp.ll 333408170 -casadi/determinant.cpp.ll 256315004 +casadi/determinant.cpp.ll 256008452 casadi/dm_instantiator.cpp.ll 9092493839 -casadi/dot.cpp.ll 280261866 +casadi/dot.cpp.ll 279931211 casadi/dple.cpp.ll 2858472596 casadi/einstein.cpp.ll 1725806631 casadi/expm.cpp.ll 1340243525 @@ -2711,7 +2711,7 @@ casadi/external.cpp.ll 1302005318 casadi/fast_newton.cpp.ll 1635089177 casadi/fast_newton_meta.cpp.ll 158187672 casadi/feasiblesqpmethod.cpp.ll 6188193867 -casadi/feasiblesqpmethod_meta.cpp.ll 169713741 +casadi/feasiblesqpmethod_meta.cpp.ll 169499414 casadi/finite_differences.cpp.ll 1507594268 casadi/fmu.cpp.ll 2638820861 casadi/fmu2.cpp.ll 3699133102 @@ -2745,7 +2745,7 @@ casadi/importer_internal.cpp.ll 1187654484 casadi/integration_tools.cpp.ll 9497331636 casadi/integrator.cpp.ll 7301647035 casadi/interpolant.cpp.ll 2242293289 -casadi/inverse.cpp.ll 246667426 +casadi/inverse.cpp.ll 246416721 casadi/io_instruction.cpp.ll 433432247 casadi/ipqp.cpp.ll 2080793070 casadi/ipqp_meta.cpp.ll 55297307 @@ -2765,16 +2765,16 @@ casadi/linsol_ldl.cpp.ll 1044319668 casadi/linsol_ldl_meta.cpp.ll 55316837 casadi/linsol_qr.cpp.ll 1507073894 casadi/linsol_qr_meta.cpp.ll 55314534 -casadi/linsol_tridiag.cpp.ll 513636036 +casadi/linsol_tridiag.cpp.ll 513069305 casadi/linsol_tridiag_meta.cpp.ll 55321230 -casadi/logsumexp.cpp.ll 269925018 +casadi/logsumexp.cpp.ll 269642689 casadi/lsqr.cpp.ll 685885977 casadi/lsqr_meta.cpp.ll 55298608 casadi/map.cpp.ll 1673971401 casadi/mapsum.cpp.ll 2250913821 casadi/mmin.cpp.ll 349719576 casadi/monitor.cpp.ll 377975465 -casadi/multiple_output.cpp.ll 360342310 +casadi/multiple_output.cpp.ll 359930126 casadi/multiplication.cpp.ll 567577341 casadi/mx.cpp.ll 11588799110 casadi/mx_function.cpp.ll 14060550810 @@ -2798,7 +2798,7 @@ casadi/qp_to_nlp_meta.cpp.ll 55129089 casadi/qrqp.cpp.ll 2935438230 casadi/qrqp_meta.cpp.ll 55297340 casadi/qrsqp.cpp.ll 2259343449 -casadi/qrsqp_meta.cpp.ll 168109822 +casadi/qrsqp_meta.cpp.ll 167923022 casadi/rank1.cpp.ll 587436667 casadi/repmat.cpp.ll 824773561 casadi/reshape.cpp.ll 295792157 @@ -2811,7 +2811,7 @@ casadi/sensitivity_analysis.cpp.ll 3370536302 casadi/serializer.cpp.ll 2452494534 casadi/serializing_stream.cpp.ll 1840351950 casadi/shared_object.cpp.ll 188508308 -casadi/shared_object_internal.cpp.ll 72484137 +casadi/shared_object_internal.cpp.ll 72411233 casadi/shell_compiler.cpp.ll 990226542 casadi/shell_compiler_meta.cpp.ll 55321105 casadi/slice.cpp.ll 548722719 @@ -2820,7 +2820,7 @@ casadi/sparsity_cast.cpp.ll 313198950 casadi/sparsity_internal.cpp.ll 6899931730 casadi/split.cpp.ll 1642341855 casadi/sqpmethod.cpp.ll 5596193980 -casadi/sqpmethod_meta.cpp.ll 169747623 +casadi/sqpmethod_meta.cpp.ll 169542488 casadi/subassign.cpp.ll 481752144 casadi/subref.cpp.ll 462443369 casadi/sundials_band.c.ll 185543755 @@ -2833,7 +2833,7 @@ casadi/sundials_spbcgs.c.ll 103368629 casadi/sundials_spgmr.c.ll 192043806 casadi/sundials_sptfqmr.c.ll 166827137 casadi/switch.cpp.ll 1791119577 -casadi/sx_elem.cpp.ll 1753468138 +casadi/sx_elem.cpp.ll 1761533032 casadi/sx_function.cpp.ll 12399305956 casadi/sx_instantiator.cpp.ll 17532688895 casadi/sx_node.cpp.ll 1676079246 @@ -2853,12 +2853,12 @@ casadi/xml_node.cpp.ll 551632245 ceres/array_utils.cc.ll 442676104 ceres/block_jacobi_preconditioner.cc.ll 8504734552 ceres/block_jacobian_writer.cc.ll 1567516178 -ceres/block_random_access_dense_matrix.cc.ll 162997584 +ceres/block_random_access_dense_matrix.cc.ll 162833270 ceres/block_random_access_diagonal_matrix.cc.ll 5869320069 ceres/block_random_access_sparse_matrix.cc.ll 975833088 ceres/block_sparse_matrix.cc.ll 7010552967 ceres/block_structure.cc.ll 176041396 -ceres/c_api.cc.ll 423529987 +ceres/c_api.cc.ll 422891733 ceres/callbacks.cc.ll 83338316 ceres/canonical_views_clustering.cc.ll 1008729760 ceres/cgnr_solver.cc.ll 3760027110 @@ -2870,9 +2870,9 @@ ceres/context.cc.ll 36925232 ceres/context_impl.cc.ll 162368727 ceres/coordinate_descent_minimizer.cc.ll 2990294931 ceres/corrector.cc.ll 224008388 -ceres/cost_function.cc.ll 74703181 +ceres/cost_function.cc.ll 74597797 ceres/covariance_impl.cc.ll 41507781247 -ceres/cuda_block_sparse_crs_view.cc.ll 400797995 +ceres/cuda_block_sparse_crs_view.cc.ll 400396429 ceres/cuda_block_structure.cc.ll 742071260 ceres/cuda_partitioned_block_sparse_crs_view.cc.ll 436471442 ceres/cuda_sparse_matrix.cc.ll 244726502 @@ -2899,12 +2899,12 @@ ceres/iterative_schur_complement_solver.cc.ll 2855275344 ceres/levenberg_marquardt_strategy.cc.ll 1741009157 ceres/line_search.cc.ll 1279632442 ceres/line_search_direction.cc.ll 2656590698 -ceres/line_search_minimizer.cc.ll 1480440847 -ceres/line_search_preprocessor.cc.ll 500977942 +ceres/line_search_minimizer.cc.ll 1478476817 +ceres/line_search_preprocessor.cc.ll 500357541 ceres/linear_least_squares_problems.cc.ll 1728895610 -ceres/linear_solver.cc.ll 602879566 +ceres/linear_solver.cc.ll 602216737 ceres/loss_function.cc.ll 152910416 -ceres/low_rank_inverse_hessian.cc.ll 1209278015 +ceres/low_rank_inverse_hessian.cc.ll 1207925284 ceres/manifold.cc.ll 2908189981 ceres/minimizer.cc.ll 504666572 ceres/normal_prior.cc.ll 993846153 @@ -2942,7 +2942,7 @@ ceres/reorder_program.cc.ll 4448411045 ceres/residual_block.cc.ll 540609745 ceres/residual_block_utils.cc.ll 150823503 ceres/schur_complement_solver.cc.ll 8517054122 -ceres/schur_eliminator.cc.ll 1423945508 +ceres/schur_eliminator.cc.ll 1422263132 ceres/schur_eliminator_2_2_2.cc.ll 17526032966 ceres/schur_eliminator_2_2_3.cc.ll 18169995665 ceres/schur_eliminator_2_2_4.cc.ll 18122269186 @@ -3145,7 +3145,7 @@ clamav/pathfn.cpp.ll 381201554 clamav/pdf.c.ll 1620875586 clamav/pdfdecode.c.ll 589019423 clamav/pdfng.c.ll 435496735 -clamav/pe.c.ll 2650169335 +clamav/pe.c.ll 2654409653 clamav/pe_icons.c.ll 1436890609 clamav/petite.c.ll 430054224 clamav/phishcheck.c.ll 887697328 @@ -3213,7 +3213,7 @@ clamav/uniq.c.ll 73373995 clamav/unpack.cpp.ll 2727599478 clamav/unrar_iface.cpp.ll 144242740 clamav/unsp.c.ll 578653366 -clamav/untar.c.ll 142155367 +clamav/untar.c.ll 142008935 clamav/unzip.c.ll 456355791 clamav/upack.c.ll 457617853 clamav/upx.c.ll 555398911 @@ -3373,7 +3373,7 @@ cmake/cmAddDependenciesCommand.cxx.ll 110571790 cmake/cmAddExecutableCommand.cxx.ll 269543210 cmake/cmAddLibraryCommand.cxx.ll 374291187 cmake/cmAddSubDirectoryCommand.cxx.ll 198548025 -cmake/cmAddTestCommand.cxx.ll 371448896 +cmake/cmAddTestCommand.cxx.ll 371019524 cmake/cmArchiveWrite.cxx.ll 430098468 cmake/cmArgumentParser.cxx.ll 1252786066 cmake/cmAuxSourceDirectoryCommand.cxx.ll 480641634 @@ -3390,7 +3390,7 @@ cmake/cmBinUtilsWindowsPELinker.cxx.ll 627412026 cmake/cmBinUtilsWindowsPEObjdumpGetRuntimeDependenciesTool.cxx.ll 398580513 cmake/cmBlockCommand.cxx.ll 943574702 cmake/cmBreakCommand.cxx.ll 57502269 -cmake/cmBuildCommand.cxx.ll 171781733 +cmake/cmBuildCommand.cxx.ll 171575917 cmake/cmBuildNameCommand.cxx.ll 159284989 cmake/cmCLocaleEnvironmentScope.cxx.ll 234490531 cmake/cmCMakeHostSystemInformationCommand.cxx.ll 1992951733 @@ -3400,7 +3400,7 @@ cmake/cmCMakePath.cxx.ll 297619115 cmake/cmCMakePathCommand.cxx.ll 2922294203 cmake/cmCMakePolicyCommand.cxx.ll 249547800 cmake/cmCMakePresetsErrors.cxx.ll 534853945 -cmake/cmCMakePresetsGraph.cxx.ll 5396483525 +cmake/cmCMakePresetsGraph.cxx.ll 5389451062 cmake/cmCMakePresetsGraphReadJSON.cxx.ll 9280387236 cmake/cmCMakePresetsGraphReadJSONBuildPresets.cxx.ll 1273144165 cmake/cmCMakePresetsGraphReadJSONConfigurePresets.cxx.ll 2472925731 @@ -3433,10 +3433,10 @@ cmake/cmCTestBuildHandler.cxx.ll 3359057636 cmake/cmCTestCVS.cxx.ll 1136458020 cmake/cmCTestConfigureCommand.cxx.ll 421440025 cmake/cmCTestConfigureHandler.cxx.ll 173068036 -cmake/cmCTestCoverageCommand.cxx.ll 435421560 +cmake/cmCTestCoverageCommand.cxx.ll 434969026 cmake/cmCTestCoverageHandler.cxx.ll 4008583369 -cmake/cmCTestCurl.cxx.ll 427649127 -cmake/cmCTestEmptyBinaryDirectoryCommand.cxx.ll 121277988 +cmake/cmCTestCurl.cxx.ll 427134707 +cmake/cmCTestEmptyBinaryDirectoryCommand.cxx.ll 121156260 cmake/cmCTestGIT.cxx.ll 1247349320 cmake/cmCTestGenericHandler.cxx.ll 783675366 cmake/cmCTestGlobalVC.cxx.ll 495521147 @@ -3457,7 +3457,7 @@ cmake/cmCTestRunScriptCommand.cxx.ll 145367519 cmake/cmCTestRunTest.cxx.ll 1598097743 cmake/cmCTestSVN.cxx.ll 1458758332 cmake/cmCTestScriptHandler.cxx.ll 2032510013 -cmake/cmCTestSleepCommand.cxx.ll 110969674 +cmake/cmCTestSleepCommand.cxx.ll 110856177 cmake/cmCTestStartCommand.cxx.ll 215935121 cmake/cmCTestSubmitCommand.cxx.ll 1346301417 cmake/cmCTestSubmitHandler.cxx.ll 2158684920 @@ -3465,10 +3465,10 @@ cmake/cmCTestTestCommand.cxx.ll 455183763 cmake/cmCTestTestHandler.cxx.ll 7817362109 cmake/cmCTestTestMeasurementXMLParser.cxx.ll 47134585 cmake/cmCTestUpdateCommand.cxx.ll 282859388 -cmake/cmCTestUpdateHandler.cxx.ll 524561675 +cmake/cmCTestUpdateHandler.cxx.ll 523875060 cmake/cmCTestUploadCommand.cxx.ll 570979070 cmake/cmCTestUploadHandler.cxx.ll 259498753 -cmake/cmCTestVC.cxx.ll 310256391 +cmake/cmCTestVC.cxx.ll 309915275 cmake/cmCacheManager.cxx.ll 1290072952 cmake/cmCommandArgumentLexer.cxx.ll 472435354 cmake/cmCommandArgumentParser.cxx.ll 182918599 @@ -3488,7 +3488,7 @@ cmake/cmCreateTestSourceList.cxx.ll 365788180 cmake/cmCryptoHash.cxx.ll 219051691 cmake/cmCurl.cxx.ll 150378361 cmake/cmCursesBoolWidget.cxx.ll 71497962 -cmake/cmCursesCacheEntryComposite.cxx.ll 483368908 +cmake/cmCursesCacheEntryComposite.cxx.ll 482705837 cmake/cmCursesColor.cxx.ll 221992912 cmake/cmCursesDummyWidget.cxx.ll 38242673 cmake/cmCursesFilePathWidget.cxx.ll 40468033 @@ -3496,8 +3496,8 @@ cmake/cmCursesForm.cxx.ll 51993345 cmake/cmCursesLabelWidget.cxx.ll 40051021 cmake/cmCursesLongMessageForm.cxx.ll 122090086 cmake/cmCursesMainForm.cxx.ll 1618241644 -cmake/cmCursesOptionsWidget.cxx.ll 167042048 -cmake/cmCursesPathWidget.cxx.ll 125553522 +cmake/cmCursesOptionsWidget.cxx.ll 166819540 +cmake/cmCursesPathWidget.cxx.ll 125412815 cmake/cmCursesStringWidget.cxx.ll 94282901 cmake/cmCursesWidget.cxx.ll 46996712 cmake/cmCustomCommand.cxx.ll 1127020552 @@ -3508,7 +3508,7 @@ cmake/cmCxxModuleUsageEffects.cxx.ll 53437787 cmake/cmDebuggerAdapter.cxx.ll 3779033554 cmake/cmDebuggerBreakpointManager.cxx.ll 2225248389 cmake/cmDebuggerExceptionManager.cxx.ll 1209881733 -cmake/cmDebuggerPosixPipeConnection.cxx.ll 528781598 +cmake/cmDebuggerPosixPipeConnection.cxx.ll 528125786 cmake/cmDebuggerProtocol.cxx.ll 2303866803 cmake/cmDebuggerThread.cxx.ll 2630768309 cmake/cmDebuggerThreadManager.cxx.ll 625462812 @@ -3537,14 +3537,14 @@ cmake/cmExecProgramCommand.cxx.ll 187968697 cmake/cmExecuteProcessCommand.cxx.ll 1621185480 cmake/cmExperimental.cxx.ll 101831919 cmake/cmExportBuildAndroidMKGenerator.cxx.ll 511763761 -cmake/cmExportBuildFileGenerator.cxx.ll 1785001447 +cmake/cmExportBuildFileGenerator.cxx.ll 1782806077 cmake/cmExportCommand.cxx.ll 1634758151 cmake/cmExportFileGenerator.cxx.ll 2959774847 -cmake/cmExportInstallAndroidMKGenerator.cxx.ll 259140874 +cmake/cmExportInstallAndroidMKGenerator.cxx.ll 258856238 cmake/cmExportInstallFileGenerator.cxx.ll 1760540757 cmake/cmExportLibraryDependenciesCommand.cxx.ll 986764928 cmake/cmExportSet.cxx.ll 749714528 -cmake/cmExportTryCompileFileGenerator.cxx.ll 1050129805 +cmake/cmExportTryCompileFileGenerator.cxx.ll 1048786239 cmake/cmExprLexer.cxx.ll 463673028 cmake/cmExprParser.cxx.ll 269832038 cmake/cmExprParserHelper.cxx.ll 129754675 @@ -3566,10 +3566,10 @@ cmake/cmFileInstaller.cxx.ll 473601523 cmake/cmFileLockPool.cxx.ll 397906932 cmake/cmFileLockResult.cxx.ll 71204474 cmake/cmFileSet.cxx.ll 1212333976 -cmake/cmFileTimeCache.cxx.ll 253394561 +cmake/cmFileTimeCache.cxx.ll 253057384 cmake/cmFindBase.cxx.ll 1884448191 -cmake/cmFindCommon.cxx.ll 1477610487 -cmake/cmFindFileCommand.cxx.ll 219821469 +cmake/cmFindCommon.cxx.ll 1476089236 +cmake/cmFindFileCommand.cxx.ll 219581248 cmake/cmFindLibraryCommand.cxx.ll 992281201 cmake/cmFindPackageCommand.cxx.ll 6244605022 cmake/cmFindPackageStack.cxx.ll 163945626 @@ -3579,11 +3579,11 @@ cmake/cmForEachCommand.cxx.ll 1696135806 cmake/cmFortranLexer.cxx.ll 620396792 cmake/cmFortranParser.cxx.ll 231181102 cmake/cmFortranParserImpl.cxx.ll 769875891 -cmake/cmFunctionBlocker.cxx.ll 289142915 +cmake/cmFunctionBlocker.cxx.ll 288830031 cmake/cmFunctionCommand.cxx.ll 1198323972 cmake/cmGccDepfileLexer.cxx.ll 465361416 cmake/cmGccDepfileLexerHelper.cxx.ll 576205881 -cmake/cmGeneratedFileStream.cxx.ll 168259663 +cmake/cmGeneratedFileStream.cxx.ll 168083779 cmake/cmGeneratorExpression.cxx.ll 1311896556 cmake/cmGeneratorExpressionDAGChecker.cxx.ll 526363904 cmake/cmGeneratorExpressionEvaluationFile.cxx.ll 582739510 @@ -3595,7 +3595,7 @@ cmake/cmGetCMakePropertyCommand.cxx.ll 132770316 cmake/cmGetDirectoryPropertyCommand.cxx.ll 103394670 cmake/cmGetFilenameComponentCommand.cxx.ll 174369976 cmake/cmGetPropertyCommand.cxx.ll 391077487 -cmake/cmGetSourceFilePropertyCommand.cxx.ll 182185429 +cmake/cmGetSourceFilePropertyCommand.cxx.ll 181994832 cmake/cmGetTargetPropertyCommand.cxx.ll 88509438 cmake/cmGetTestPropertyCommand.cxx.ll 75500195 cmake/cmGhsMultiTargetGenerator.cxx.ll 2436020644 @@ -3605,7 +3605,7 @@ cmake/cmGlobalGenerator.cxx.ll 9639893980 cmake/cmGlobalGhsMultiGenerator.cxx.ll 2496465253 cmake/cmGlobalNinjaGenerator.cxx.ll 8963988016 cmake/cmGlobalUnixMakefileGenerator3.cxx.ll 2580150897 -cmake/cmGlobalWatcomWMakeGenerator.cxx.ll 236260704 +cmake/cmGlobalWatcomWMakeGenerator.cxx.ll 235972897 cmake/cmGraphVizWriter.cxx.ll 2169536710 cmake/cmHexFileConverter.cxx.ll 134458203 cmake/cmIfCommand.cxx.ll 800456268 @@ -3618,11 +3618,11 @@ cmake/cmIncludeRegularExpressionCommand.cxx.ll 74198915 cmake/cmInstallCommand.cxx.ll 5619720993 cmake/cmInstallCommandArguments.cxx.ll 637725475 cmake/cmInstallCxxModuleBmiGenerator.cxx.ll 127806717 -cmake/cmInstallDirectoryGenerator.cxx.ll 388562281 +cmake/cmInstallDirectoryGenerator.cxx.ll 388161841 cmake/cmInstallExportGenerator.cxx.ll 588324682 cmake/cmInstallFileSetGenerator.cxx.ll 248923867 cmake/cmInstallFilesCommand.cxx.ll 674464742 -cmake/cmInstallFilesGenerator.cxx.ll 241039350 +cmake/cmInstallFilesGenerator.cxx.ll 240740688 cmake/cmInstallGenerator.cxx.ll 375325342 cmake/cmInstallGetRuntimeDependenciesGenerator.cxx.ll 425876062 cmake/cmInstallImportedRuntimeArtifactsGenerator.cxx.ll 410610799 @@ -3630,7 +3630,7 @@ cmake/cmInstallProgramsCommand.cxx.ll 673235811 cmake/cmInstallRuntimeDependencySet.cxx.ll 505945502 cmake/cmInstallRuntimeDependencySetGenerator.cxx.ll 489246857 cmake/cmInstallScriptGenerator.cxx.ll 167915272 -cmake/cmInstallSubdirectoryGenerator.cxx.ll 169746096 +cmake/cmInstallSubdirectoryGenerator.cxx.ll 169525372 cmake/cmInstallTargetGenerator.cxx.ll 1390761227 cmake/cmInstallTargetsCommand.cxx.ll 156549483 cmake/cmInstalledFile.cxx.ll 567918573 @@ -3639,18 +3639,18 @@ cmake/cmJSONState.cxx.ll 543363506 cmake/cmLDConfigLDConfigTool.cxx.ll 561025547 cmake/cmLDConfigTool.cxx.ll 34801075 cmake/cmLinkDirectoriesCommand.cxx.ll 246441929 -cmake/cmLinkItem.cxx.ll 149280431 +cmake/cmLinkItem.cxx.ll 149123257 cmake/cmLinkItemGraphVisitor.cxx.ll 677021819 cmake/cmLinkLibrariesCommand.cxx.ll 92440989 cmake/cmLinkLineComputer.cxx.ll 584092055 -cmake/cmLinkLineDeviceComputer.cxx.ll 756724281 +cmake/cmLinkLineDeviceComputer.cxx.ll 755886356 cmake/cmList.cxx.ll 3986676575 cmake/cmListCommand.cxx.ll 2193064010 cmake/cmListFileCache.cxx.ll 1331136933 cmake/cmListFileLexer.c.ll 673858573 cmake/cmLoadCacheCommand.cxx.ll 340833595 cmake/cmLoadCommandCommand.cxx.ll 2208888287 -cmake/cmLocalCommonGenerator.cxx.ll 209671316 +cmake/cmLocalCommonGenerator.cxx.ll 209435560 cmake/cmLocalGenerator.cxx.ll 10771389323 cmake/cmLocalGhsMultiGenerator.cxx.ll 320421657 cmake/cmLocalNinjaGenerator.cxx.ll 2723503945 @@ -3663,12 +3663,12 @@ cmake/cmMakefileExecutableTargetGenerator.cxx.ll 1142801873 cmake/cmMakefileLibraryTargetGenerator.cxx.ll 1602656001 cmake/cmMakefileProfilingData.cxx.ll 183525463 cmake/cmMakefileTargetGenerator.cxx.ll 5793646042 -cmake/cmMakefileUtilityTargetGenerator.cxx.ll 240740718 +cmake/cmMakefileUtilityTargetGenerator.cxx.ll 240425907 cmake/cmMarkAsAdvancedCommand.cxx.ll 122144054 cmake/cmMathCommand.cxx.ll 143219091 cmake/cmMessageCommand.cxx.ll 573590977 cmake/cmMessenger.cxx.ll 297669543 -cmake/cmNewLineStyle.cxx.ll 77237427 +cmake/cmNewLineStyle.cxx.ll 77155355 cmake/cmNinjaLinkLineComputer.cxx.ll 41413502 cmake/cmNinjaLinkLineDeviceComputer.cxx.ll 41448825 cmake/cmNinjaNormalTargetGenerator.cxx.ll 3911435664 @@ -3684,7 +3684,7 @@ cmake/cmParseBlanketJSCoverage.cxx.ll 363877773 cmake/cmParseCacheCoverage.cxx.ll 462347800 cmake/cmParseCoberturaCoverage.cxx.ll 506552099 cmake/cmParseDelphiCoverage.cxx.ll 464605214 -cmake/cmParseGTMCoverage.cxx.ll 425406982 +cmake/cmParseGTMCoverage.cxx.ll 424957233 cmake/cmParseJacocoCoverage.cxx.ll 412947408 cmake/cmParseMumpsCoverage.cxx.ll 504186058 cmake/cmParsePHPCoverage.cxx.ll 406495522 @@ -3696,7 +3696,7 @@ cmake/cmProcessTools.cxx.ll 488393757 cmake/cmProjectCommand.cxx.ll 997064772 cmake/cmPropertyDefinition.cxx.ll 214992627 cmake/cmPropertyMap.cxx.ll 775411708 -cmake/cmQTWrapCPPCommand.cxx.ll 496365990 +cmake/cmQTWrapCPPCommand.cxx.ll 495698590 cmake/cmQTWrapUICommand.cxx.ll 610747804 cmake/cmQtAutoGen.cxx.ll 893201912 cmake/cmQtAutoGenGlobalInitializer.cxx.ll 2011031691 @@ -3714,7 +3714,7 @@ cmake/cmSeparateArgumentsCommand.cxx.ll 506773739 cmake/cmSetCommand.cxx.ll 206785669 cmake/cmSetDirectoryPropertiesCommand.cxx.ll 87196972 cmake/cmSetPropertyCommand.cxx.ll 1235863932 -cmake/cmSetSourceFilesPropertiesCommand.cxx.ll 698978892 +cmake/cmSetSourceFilesPropertiesCommand.cxx.ll 698237326 cmake/cmSetTargetPropertiesCommand.cxx.ll 138054974 cmake/cmSetTestsPropertiesCommand.cxx.ll 349564467 cmake/cmSiteNameCommand.cxx.ll 294510577 @@ -3738,7 +3738,7 @@ cmake/cmTargetCompileDefinitionsCommand.cxx.ll 200531791 cmake/cmTargetCompileFeaturesCommand.cxx.ll 122237828 cmake/cmTargetCompileOptionsCommand.cxx.ll 185827481 cmake/cmTargetIncludeDirectoriesCommand.cxx.ll 345380853 -cmake/cmTargetLinkDirectoriesCommand.cxx.ll 278741703 +cmake/cmTargetLinkDirectoriesCommand.cxx.ll 278452838 cmake/cmTargetLinkLibrariesCommand.cxx.ll 873968547 cmake/cmTargetLinkOptionsCommand.cxx.ll 184258661 cmake/cmTargetPrecompileHeadersCommand.cxx.ll 333624319 @@ -3761,11 +3761,11 @@ cmake/cmValue.cxx.ll 117852448 cmake/cmVariableRequiresCommand.cxx.ll 118245441 cmake/cmVariableWatch.cxx.ll 706472068 cmake/cmVariableWatchCommand.cxx.ll 670067267 -cmake/cmWhileCommand.cxx.ll 682974029 +cmake/cmWhileCommand.cxx.ll 682232298 cmake/cmWindowsRegistry.cxx.ll 788054909 cmake/cmWorkerPool.cxx.ll 1451124784 cmake/cmWriteFileCommand.cxx.ll 117398431 -cmake/cmXMLParser.cxx.ll 108977742 +cmake/cmXMLParser.cxx.ll 108866745 cmake/cmXMLWriter.cxx.ll 226036999 cmake/cmXcFramework.cxx.ll 2473427247 cmake/cm_codecvt.cxx.ll 42549037 @@ -3888,12 +3888,12 @@ cmake/lzma2_decoder.c.ll 91002727 cmake/lzma2_encoder.c.ll 130534370 cmake/lzma_decoder.c.ll 1126127901 cmake/lzma_encoder.c.ll 485710848 -cmake/lzma_encoder_optimum_fast.c.ll 122184883 +cmake/lzma_encoder_optimum_fast.c.ll 122060988 cmake/lzma_encoder_optimum_normal.c.ll 896714650 cmake/lzma_encoder_presets.c.ll 43598872 cmake/md4.c.ll 262649273 cmake/mime.c.ll 586580575 -cmake/mprintf.c.ll 1395664333 +cmake/mprintf.c.ll 1439796914 cmake/multi.c.ll 1168231257 cmake/netrc.c.ll 127014736 cmake/network.cpp.ll 377614061 @@ -3920,9 +3920,9 @@ cmake/powerpc.c.ll 64701865 cmake/process.c.ll 236060990 cmake/proctitle.c.ll 62057299 cmake/progress.c.ll 203369209 -cmake/protocol_events.cpp.ll 4599195940 +cmake/protocol_events.cpp.ll 4594455096 cmake/protocol_requests.cpp.ll 10568962561 -cmake/protocol_response.cpp.ll 11743001125 +cmake/protocol_response.cpp.ll 11726292837 cmake/protocol_types.cpp.ll 9098304043 cmake/rand.c.ll 79416583 cmake/rhash.c.ll 176330392 @@ -3952,7 +3952,7 @@ cmake/testDirectory.cxx.ll 144437453 cmake/testDynamicLoader.cxx.ll 84563746 cmake/testEncoding.cxx.ll 373448812 cmake/testFStream.cxx.ll 93443748 -cmake/testProcess.c.ll 186736696 +cmake/testProcess.c.ll 186538908 cmake/testSystemTools.cxx.ll 1764332535 cmake/test_int_C.c.ll 335439858 cmake/test_int_CXX.cxx.ll 335335566 @@ -3970,7 +3970,7 @@ cmake/uv-common.c.ll 338751550 cmake/vtls.c.ll 593510345 cmake/x86.c.ll 82835163 cmake/xmlparse.c.ll 3149220072 -cmake/xmlrole.c.ll 166983637 +cmake/xmlrole.c.ll 166807477 cmake/xmltok.c.ll 2982555398 cmake/xxhash.c.ll 312535725 cmake/zdict.c.ll 934365192 @@ -4044,7 +4044,7 @@ coreutils-rs/1cffnn5jn7gf4ojp.ll 339826313 coreutils-rs/1cibfmxfze4dud7d.ll 777099519 coreutils-rs/1ciwfpob1c4rpiex.ll 64638439 coreutils-rs/1cuvxjl4ryp42l0c.ll 289835450 -coreutils-rs/1cy95gv4p34jizu6.ll 170583033 +coreutils-rs/1cy95gv4p34jizu6.ll 170383556 coreutils-rs/1d0hca39p2ioq12e.ll 169331576 coreutils-rs/1d5gvmr7ggbmo7q2.ll 184500697 coreutils-rs/1d8fw503khxds3sb.ll 1128261937 @@ -4119,7 +4119,7 @@ coreutils-rs/1si88ckqec3ipkyo.ll 88702123 coreutils-rs/1sk0tcojx9tvolbs.ll 233790320 coreutils-rs/1szl1qzxl9ewlwdb.ll 227939684 coreutils-rs/1ui3yxdetdbghtw.ll 132928739 -coreutils-rs/1ule2h3a0hqz383r.ll 259182390 +coreutils-rs/1ule2h3a0hqz383r.ll 258879417 coreutils-rs/1um4j9buokth39rd.ll 2065069285 coreutils-rs/1unp4st43r7zdtb0.ll 162766490 coreutils-rs/1uozre6jd02uz7mh.ll 117115927 @@ -4152,7 +4152,7 @@ coreutils-rs/21wv0uhiq3mmwxh3.ll 63221017 coreutils-rs/224n68suep2wik8d.ll 110770967 coreutils-rs/22bojphyikqmi872.ll 1442559771 coreutils-rs/22pxzo6p01muxykj.ll 107943223 -coreutils-rs/22s4rgjb6so6raux.ll 96979618 +coreutils-rs/22s4rgjb6so6raux.ll 96847444 coreutils-rs/22yacccxm8wnu1mg.ll 483429648 coreutils-rs/234chiv2gd72eavh.ll 145569712 coreutils-rs/23k8p0ykb1fllbpy.ll 291261684 @@ -4200,7 +4200,7 @@ coreutils-rs/2cxp4tq2629zd82g.ll 76722212 coreutils-rs/2d43cturz404jk4o.ll 40627603 coreutils-rs/2d6annz9uv9o8rk7.ll 49754685 coreutils-rs/2da8x6qqhq5bzyna.ll 298806812 -coreutils-rs/2dg52hs4i861duj9.ll 81572998 +coreutils-rs/2dg52hs4i861duj9.ll 81484526 coreutils-rs/2dlfsohq1q3o8pdn.ll 493563138 coreutils-rs/2e4o0hccflyu1cle.ll 92371241 coreutils-rs/2eb96ulhupdvrip8.ll 1108790525 @@ -4227,7 +4227,7 @@ coreutils-rs/2ifu8k2kcnip7wh5.ll 260186716 coreutils-rs/2ih4e36kvqrwkfr1.ll 36506133 coreutils-rs/2ikwmr24dr423jm9.ll 148894761 coreutils-rs/2j3x034tyak3eas9.ll 468081931 -coreutils-rs/2jm5bfr1qa6ga934.ll 492133917 +coreutils-rs/2jm5bfr1qa6ga934.ll 491585724 coreutils-rs/2k0nrq624sbl2bsw.ll 50038792 coreutils-rs/2k9owaexd2lz6q3s.ll 211628190 coreutils-rs/2koj86uqzsy5x1fd.ll 106254260 @@ -4252,7 +4252,7 @@ coreutils-rs/2ob896peucf7ir4q.ll 238627243 coreutils-rs/2oqtsf9adaj2wzr6.ll 2840976036 coreutils-rs/2oz1n2pr10bv8jmi.ll 1127929694 coreutils-rs/2pduk7piyqhwavir.ll 251473937 -coreutils-rs/2ph6t6nh0hmjeejh.ll 466750622 +coreutils-rs/2ph6t6nh0hmjeejh.ll 466231970 coreutils-rs/2pmnz451luffmzm4.ll 139769652 coreutils-rs/2pqvixtdp9wizsl2.ll 550365457 coreutils-rs/2praalz1q844ogmk.ll 192764428 @@ -4357,7 +4357,7 @@ coreutils-rs/3fjbjbdecddacq17.ll 560132604 coreutils-rs/3fp1x41wzh4l1rh9.ll 1126600524 coreutils-rs/3ftduutdpdnm3c8c.ll 173868861 coreutils-rs/3fvumgrg3ih17ehk.ll 237074180 -coreutils-rs/3gl1s1sja01easv1.ll 89054710 +coreutils-rs/3gl1s1sja01easv1.ll 88955947 coreutils-rs/3gnq88ga8xezmvuu.ll 718001456 coreutils-rs/3gpcfcm8cdto2seo.ll 92994587 coreutils-rs/3gr7iuormcphs5un.ll 131840943 @@ -4406,12 +4406,12 @@ coreutils-rs/3py8um1cxp7hgj0m.ll 610648292 coreutils-rs/3q8ukvkopatfv0x0.ll 5375737000 coreutils-rs/3qc0yve8cevcl6aw.ll 665914357 coreutils-rs/3qd2nnv0mbtxq1wn.ll 297843868 -coreutils-rs/3qdqns6te50g1281.ll 106321165 +coreutils-rs/3qdqns6te50g1281.ll 106208763 coreutils-rs/3qg4jogr5wmrcs5e.ll 317934683 coreutils-rs/3qzq2dwq4ijru3ue.ll 136937467 coreutils-rs/3r2vyvwpz7j7c5gy.ll 252890728 coreutils-rs/3r3g3dlfc6s7nx81.ll 382995105 -coreutils-rs/3r7uz3159wojxzhg.ll 82292138 +coreutils-rs/3r7uz3159wojxzhg.ll 82193527 coreutils-rs/3rajw6q0dpsvfeg2.ll 553937748 coreutils-rs/3ri12qup21vdgfw4.ll 474215258 coreutils-rs/3rr5b3ksrrnbn54h.ll 186676981 @@ -4433,7 +4433,7 @@ coreutils-rs/3vksatyvzzxvp9kd.ll 66341176 coreutils-rs/3w9wfedus70ogbg0.ll 108099639 coreutils-rs/3wh0yla9idangd55.ll 1536409934 coreutils-rs/3wh8t8l0mi6tzx9q.ll 703205774 -coreutils-rs/3wlevqz5mr44nqfo.ll 89055960 +coreutils-rs/3wlevqz5mr44nqfo.ll 88957244 coreutils-rs/3wzl423ndovdsp2h.ll 233408338 coreutils-rs/3x959pa9na58uqov.ll 1400901308 coreutils-rs/3xc4e7mmntf4esc6.ll 1377366020 @@ -4558,7 +4558,7 @@ coreutils-rs/4oz1icq7fx5rpxl7.ll 164156851 coreutils-rs/4paa2d0g0kiwj426.ll 262557116 coreutils-rs/4qb1jfrar16f25xc.ll 195510900 coreutils-rs/4qccn4mjmdouwvjm.ll 1595426077 -coreutils-rs/4qf8fxdjxuwdwevl.ll 202993925 +coreutils-rs/4qf8fxdjxuwdwevl.ll 202735994 coreutils-rs/4qkfk60uyd6d15k7.ll 154518365 coreutils-rs/4qxx322nsyoubiif.ll 55504945 coreutils-rs/4rb8mvaqslttl0fk.ll 1160275098 @@ -4608,7 +4608,7 @@ coreutils-rs/50ke159i4lhksidv.ll 147046365 coreutils-rs/50sr442t815q8qa8.ll 135882930 coreutils-rs/50yk4ggbj78ukvx1.ll 448298687 coreutils-rs/50z74lntrf1cjp27.ll 958410253 -coreutils-rs/51901isx0qbhezpv.ll 80861360 +coreutils-rs/51901isx0qbhezpv.ll 80760646 coreutils-rs/519f7n4qh4fevwxo.ll 157482894 coreutils-rs/51abuiozhpuvo320.ll 1137787034 coreutils-rs/51jj01tbivz9ji4v.ll 281148176 @@ -4690,7 +4690,7 @@ coreutils-rs/64has8d2jolryl4.ll 268046807 coreutils-rs/67mjb2gvdjt043z.ll 157647620 coreutils-rs/6h79q3cnlscd1jd.ll 758131953 coreutils-rs/6ullyz7zhr5tnpn.ll 80161043 -coreutils-rs/7ck58957p7w3oe7.ll 158881551 +coreutils-rs/7ck58957p7w3oe7.ll 158683308 coreutils-rs/7j12npc9rup3rmy.ll 204706666 coreutils-rs/8errj2vilzazrus.ll 380525222 coreutils-rs/8nf4jc48zp3hgya.ll 457292776 @@ -4814,7 +4814,7 @@ coreutils-rs/tjkohna6p7ofvip.ll 257888898 coreutils-rs/tq1d77uuiq535i2.ll 1977777108 coreutils-rs/trek8pgjfydm5tc.ll 419433909 coreutils-rs/tuf62ib4ktqcwm3.ll 670872744 -coreutils-rs/tukchfaz5kyr1qz.ll 378925138 +coreutils-rs/tukchfaz5kyr1qz.ll 378543785 coreutils-rs/u8kae7m2tlbt7qa.ll 66668031 coreutils-rs/ufpgzz1exqdrn9i.ll 315314726 coreutils-rs/uvex933k5fxym3j.ll 313666713 @@ -4835,7 +4835,7 @@ coreutils-rs/x49kkq2eezb15aj.ll 124490629 coreutils-rs/x8pbloshhgr8d49.ll 1770107352 coreutils-rs/xf8jtmwps288pj3.ll 78407445 coreutils-rs/xuq1zdhdajaflqx.ll 66961102 -coreutils-rs/xw9nlq9bg97sjsz.ll 99424053 +coreutils-rs/xw9nlq9bg97sjsz.ll 99320463 coreutils-rs/yeky3kbm8zdu7bp.ll 1435045891 coreutils-rs/yfsl8dt73p06kfs.ll 559505320 coreutils-rs/yiho3rob7ld9k5q.ll 7731729852 @@ -5116,21 +5116,21 @@ csmith/Block.cpp.ll 1773693456 csmith/Bookkeeper.cpp.ll 442572060 csmith/CFGEdge.cpp.ll 40938437 csmith/CGContext.cpp.ll 965287120 -csmith/CGOptions.cpp.ll 776575812 +csmith/CGOptions.cpp.ll 775392748 csmith/CVQualifiers.cpp.ll 1445434095 -csmith/Constant.cpp.ll 430839522 -csmith/CoverageTestExtension.cpp.ll 188289127 +csmith/Constant.cpp.ll 430352531 +csmith/CoverageTestExtension.cpp.ll 188052274 csmith/CrestExtension.cpp.ll 94202620 csmith/DFSOutputMgr.cpp.ll 57078440 csmith/DFSProgramGenerator.cpp.ll 60429182 csmith/DFSRndNumGenerator.cpp.ll 455870806 -csmith/DefaultOutputMgr.cpp.ll 221067903 +csmith/DefaultOutputMgr.cpp.ll 220786588 csmith/DefaultProgramGenerator.cpp.ll 55690916 csmith/DefaultRndNumGenerator.cpp.ll 87177103 csmith/DepthSpec.cpp.ll 244034348 csmith/Effect.cpp.ll 675819064 csmith/Expression.cpp.ll 157013481 -csmith/ExpressionAssign.cpp.ll 213078910 +csmith/ExpressionAssign.cpp.ll 212843283 csmith/ExpressionComma.cpp.ll 345683820 csmith/ExpressionFuncall.cpp.ll 357792436 csmith/ExpressionVariable.cpp.ll 343419698 @@ -5142,21 +5142,21 @@ csmith/FactUnion.cpp.ll 338561564 csmith/Filter.cpp.ll 62593269 csmith/Function.cpp.ll 1546966307 csmith/FunctionInvocation.cpp.ll 991443412 -csmith/FunctionInvocationBinary.cpp.ll 228576949 +csmith/FunctionInvocationBinary.cpp.ll 228338369 csmith/FunctionInvocationUnary.cpp.ll 100657459 csmith/FunctionInvocationUser.cpp.ll 1591978299 -csmith/KleeExtension.cpp.ll 84261169 +csmith/KleeExtension.cpp.ll 84154908 csmith/Lhs.cpp.ll 516872165 -csmith/LinearSequence.cpp.ll 219799679 +csmith/LinearSequence.cpp.ll 219561388 csmith/OutputMgr.cpp.ll 229491449 -csmith/PartialExpander.cpp.ll 263609072 +csmith/PartialExpander.cpp.ll 263288010 csmith/Probabilities.cpp.ll 2001365045 csmith/RandomNumber.cpp.ll 206903711 csmith/RandomProgramGenerator.cpp.ll 575279945 -csmith/SafeOpFlags.cpp.ll 221052182 +csmith/SafeOpFlags.cpp.ll 220800114 csmith/Sequence.cpp.ll 37085008 csmith/SequenceFactory.cpp.ll 132880603 -csmith/Statement.cpp.ll 1671693265 +csmith/Statement.cpp.ll 1669946229 csmith/StatementArrayOp.cpp.ll 1167281438 csmith/StatementAssign.cpp.ll 491938855 csmith/StatementBreak.cpp.ll 299906316 @@ -5215,7 +5215,7 @@ curl/libcurl_la-idn.ll 61761715 curl/libcurl_la-if2ip.ll 90821717 curl/libcurl_la-imap.ll 633423166 curl/libcurl_la-mime.ll 595294320 -curl/libcurl_la-mprintf.ll 1405136151 +curl/libcurl_la-mprintf.ll 1452845647 curl/libcurl_la-mqtt.ll 285975331 curl/libcurl_la-multi.ll 1181013414 curl/libcurl_la-netrc.ll 128588220 @@ -5338,10 +5338,10 @@ cvc5/circuit_propagator.cpp.ll 6247786204 cvc5/cnf_stream.cpp.ll 3086828379 cvc5/codatatype_bound_variable.cpp.ll 145833718 cvc5/code_point_solver.cpp.ll 679876561 -cvc5/combination_care_graph.cpp.ll 332511320 -cvc5/combination_engine.cpp.ll 270914480 +cvc5/combination_care_graph.cpp.ll 332125147 +cvc5/combination_engine.cpp.ll 270595373 cvc5/command_executor.cpp.ll 761560686 -cvc5/command_status.cpp.ll 71142334 +cvc5/command_status.cpp.ll 71059587 cvc5/commands.cpp.ll 4225268822 cvc5/congruence_manager.cpp.ll 4182533343 cvc5/conjecture_generator.cpp.ll 13886283571 @@ -5373,13 +5373,13 @@ cvc5/dot_printer.cpp.ll 1856917280 cvc5/dtype.cpp.ll 4703955666 cvc5/dtype_cons.cpp.ll 3835780559 cvc5/dtype_selector.cpp.ll 169654020 -cvc5/dual_simplex.cpp.ll 955503958 +cvc5/dual_simplex.cpp.ll 954221589 cvc5/dynamic_rewrite.cpp.ll 1489906350 cvc5/eager_proof_generator.cpp.ll 1130216617 cvc5/eager_solver.cpp.ll 831016951 -cvc5/ee_manager.cpp.ll 143734739 +cvc5/ee_manager.cpp.ll 143587825 cvc5/ee_manager_central.cpp.ll 1111646518 -cvc5/ee_manager_distributed.cpp.ll 328860411 +cvc5/ee_manager_distributed.cpp.ll 328528286 cvc5/elim_shadow_converter.cpp.ll 1608671939 cvc5/embedding_converter.cpp.ll 3614980537 cvc5/emptybag.cpp.ll 115668213 @@ -5387,7 +5387,7 @@ cvc5/emptyset.cpp.ll 115663743 cvc5/entailment_check.cpp.ll 1120135032 cvc5/enum_stream_substitution.cpp.ll 3901066170 cvc5/enum_value_manager.cpp.ll 1113521464 -cvc5/env.cpp.ll 590049813 +cvc5/env.cpp.ll 589315839 cvc5/env_obj.cpp.ll 60431367 cvc5/eq_proof.cpp.ll 6077330870 cvc5/eqc_info.cpp.ll 616494486 @@ -5417,7 +5417,7 @@ cvc5/ff_bitsum.cpp.ll 1592130648 cvc5/find_synth_solver.cpp.ll 483408102 cvc5/first_order_model.cpp.ll 3053940441 cvc5/first_order_model_fmc.cpp.ll 1640900335 -cvc5/floatingpoint.cpp.ll 562275289 +cvc5/floatingpoint.cpp.ll 561707632 cvc5/floatingpoint_literal_symfpu.cpp.ll 2100206706 cvc5/floatingpoint_literal_symfpu_traits.cpp.ll 262467674 cvc5/foreign_theory_rewrite.cpp.ll 1123668638 @@ -5467,14 +5467,14 @@ cvc5/inst_strategy_pool.cpp.ll 1211371212 cvc5/instantiate.cpp.ll 5157767993 cvc5/instantiation_engine.cpp.ll 841634003 cvc5/instantiation_list.cpp.ll 140178741 -cvc5/instantiator.cpp.ll 127976898 +cvc5/instantiator.cpp.ll 127839929 cvc5/int_blaster.cpp.ll 4970307604 cvc5/int_to_bv.cpp.ll 1556607931 cvc5/integer_gmp_imp.cpp.ll 301111998 cvc5/interactive_shell.cpp.ll 477457651 cvc5/interpolation_solver.cpp.ll 346655508 cvc5/io_utils.cpp.ll 123463641 -cvc5/ite_removal.cpp.ll 340126039 +cvc5/ite_removal.cpp.ll 339785237 cvc5/ite_simp.cpp.ll 665057296 cvc5/ite_utilities.cpp.ll 7841852873 cvc5/justification_strategy.cpp.ll 1600441363 @@ -5504,7 +5504,7 @@ cvc5/linear_equality.cpp.ll 3341411626 cvc5/listener.cpp.ll 34664785 cvc5/listeners.cpp.ll 39057044 cvc5/logic_info.cpp.ll 667882291 -cvc5/managed_streams.cpp.ll 305593166 +cvc5/managed_streams.cpp.ll 305220631 cvc5/master_eq_notify.cpp.ll 72316419 cvc5/match_trie.cpp.ll 2103617756 cvc5/metakind.cpp.ll 1206271920 @@ -5615,7 +5615,7 @@ cvc5/quantifiers_options.cpp.ll 510142463 cvc5/quantifiers_preprocess.cpp.ll 150446742 cvc5/quantifiers_registry.cpp.ll 2214750971 cvc5/quantifiers_rewriter.cpp.ll 12170434573 -cvc5/quantifiers_state.cpp.ll 447384002 +cvc5/quantifiers_state.cpp.ll 446851732 cvc5/quantifiers_statistics.cpp.ll 81341706 cvc5/query_generator.cpp.ll 370422710 cvc5/query_generator_sample_sat.cpp.ll 2982290354 @@ -5662,7 +5662,7 @@ cvc5/shared_solver.cpp.ll 1111797201 cvc5/shared_solver_distributed.cpp.ll 874227019 cvc5/shared_terms_database.cpp.ll 2287683234 cvc5/simplex.cpp.ll 1326702531 -cvc5/simplex_update.cpp.ll 214932461 +cvc5/simplex_update.cpp.ll 214622423 cvc5/sine_solver.cpp.ll 4140432424 cvc5/single_inv_partition.cpp.ll 3640856525 cvc5/skolem_cache.cpp.ll 669453663 @@ -5673,7 +5673,7 @@ cvc5/skolemize.cpp.ll 4415538303 cvc5/smt2_cmd_parser.cpp.ll 2213962130 cvc5/smt2_lexer.cpp.ll 381699049 cvc5/smt2_parser.cpp.ll 135297162 -cvc5/smt2_printer.cpp.ll 2609397511 +cvc5/smt2_printer.cpp.ll 2618759612 cvc5/smt2_quote_string.cpp.ll 83387208 cvc5/smt2_state.cpp.ll 3594704503 cvc5/smt2_term_parser.cpp.ll 3744663793 @@ -5695,16 +5695,16 @@ cvc5/state.cpp.ll 2961793338 cvc5/static_learning.cpp.ll 1075637185 cvc5/static_rewrite.cpp.ll 1275762338 cvc5/statistics_public.cpp.ll 881603086 -cvc5/statistics_registry.cpp.ll 1031020309 +cvc5/statistics_registry.cpp.ll 1029903277 cvc5/statistics_stats.cpp.ll 59373310 -cvc5/statistics_value.cpp.ll 281548915 +cvc5/statistics_value.cpp.ll 281265344 cvc5/stats.cpp.ll 58645710 cvc5/strategy.cpp.ll 675063291 cvc5/string.cpp.ll 952329495 cvc5/strings_eager_pp.cpp.ll 660679758 cvc5/strings_entail.cpp.ll 2756263670 cvc5/strings_fmf.cpp.ll 549626019 -cvc5/strings_options.cpp.ll 120304152 +cvc5/strings_options.cpp.ll 120161041 cvc5/strings_rewriter.cpp.ll 1531572802 cvc5/subs.cpp.ll 1019306665 cvc5/subs_minimize.cpp.ll 3455985912 @@ -5788,14 +5788,14 @@ cvc5/theory_bv.cpp.ll 2065247792 cvc5/theory_bv_rewriter.cpp.ll 14622355328 cvc5/theory_bv_type_rules.cpp.ll 445800153 cvc5/theory_bv_utils.cpp.ll 1654850687 -cvc5/theory_datatypes.cpp.ll 10513453255 +cvc5/theory_datatypes.cpp.ll 13503731246 cvc5/theory_datatypes_type_rules.cpp.ll 3534052231 cvc5/theory_datatypes_utils.cpp.ll 849475985 cvc5/theory_engine.cpp.ll 7211481029 cvc5/theory_engine_module.cpp.ll 76459852 cvc5/theory_engine_proof_generator.cpp.ll 1008035488 cvc5/theory_engine_statistics.cpp.ll 67377639 -cvc5/theory_ff.cpp.ll 267609460 +cvc5/theory_ff.cpp.ll 267306060 cvc5/theory_ff_rewriter.cpp.ll 1528850360 cvc5/theory_ff_type_rules.cpp.ll 145879738 cvc5/theory_fp.cpp.ll 3787257627 @@ -5854,7 +5854,7 @@ cvc5/type_properties.cpp.ll 214428349 cvc5/type_set.cpp.ll 919442778 cvc5/uf_options.cpp.ll 80371712 cvc5/unconstrained_simplifier.cpp.ll 3089311209 -cvc5/uninterpreted_sort_value.cpp.ll 113462244 +cvc5/uninterpreted_sort_value.cpp.ll 113339709 cvc5/unsat_core.cpp.ll 244699233 cvc5/unsat_core_manager.cpp.ll 2230962521 cvc5/util.cpp.ll 188715311 @@ -5986,7 +5986,7 @@ darktable/introspection_channelmixer.c.ll 300505475 darktable/introspection_channelmixerrgb.c.ll 2692251485 darktable/introspection_clahe.c.ll 523136864 darktable/introspection_clipping.c.ll 1185731700 -darktable/introspection_colisa.c.ll 157554551 +darktable/introspection_colisa.c.ll 157396595 darktable/introspection_colorbalance.c.ll 682595543 darktable/introspection_colorbalancergb.c.ll 926113615 darktable/introspection_colorchecker.c.ll 1129033255 @@ -6052,7 +6052,7 @@ darktable/introspection_splittoning.c.ll 277844414 darktable/introspection_spots.c.ll 616260696 darktable/introspection_temperature.c.ll 719457840 darktable/introspection_tonecurve.c.ll 1527231660 -darktable/introspection_toneequal.c.ll 2004452306 +darktable/introspection_toneequal.c.ll 2007895745 darktable/introspection_tonemap.cc.ll 411348174 darktable/introspection_velvia.c.ll 99864363 darktable/introspection_vibrance.c.ll 93552227 @@ -6087,7 +6087,7 @@ darktable/styles.c.ll 256929856 darktable/tagging.c.ll 968917570 darktable/tethering.c.ll 338359889 darktable/tiff.c.ll 400360497 -darktable/timeline.c.ll 808073757 +darktable/timeline.c.ll 812721806 darktable/view_toolbox.c.ll 58024576 darktable/viewswitcher.c.ll 107169353 darktable/xcf.c.ll 168062403 @@ -6105,7 +6105,7 @@ delta-rs/1iagj3aecrejld8d.ll 6186193262 delta-rs/1kqybwbo4z39nain.ll 1368346551 delta-rs/1m1fj9umpmd4kvmc.ll 6371185476 delta-rs/1muvhd66na3y5hwz.ll 804939664 -delta-rs/1q6q2cmruh1j9ndm.ll 703680472 +delta-rs/1q6q2cmruh1j9ndm.ll 702916959 delta-rs/1r1w77ke32wmydhz.ll 1190518309 delta-rs/1rw3q64nilk4jthd.ll 31506464016 delta-rs/1x96nto90vd3u3mo.ll 6098185108 @@ -6131,7 +6131,7 @@ delta-rs/2x48acc7nc4mbnc8.ll 517566164 delta-rs/2yom0llikg21u9sa.ll 7034892675 delta-rs/30t7bl0a5sx2amtb.ll 6665194077 delta-rs/31i6j0ayu6bevt9n.ll 282040767 -delta-rs/38djajxxepbcmysg.ll 269370679 +delta-rs/38djajxxepbcmysg.ll 269058334 delta-rs/3az65ggk3a0dkjzz.ll 544623475 delta-rs/3b3wagmv5uf13esg.ll 921767996 delta-rs/3bt5fggny0b8h5sp.ll 795340725 @@ -6158,7 +6158,7 @@ delta-rs/46he2zua7mougj0d.ll 5530206975 delta-rs/47qjbhol909h8zu7.ll 28836962229 delta-rs/47v8d7rk426ud397.ll 6666407775 delta-rs/4bgg6x0arskfcu6w.ll 1950465009 -delta-rs/4dbpnkyij7o2iiab.ll 714417120 +delta-rs/4dbpnkyij7o2iiab.ll 713594478 delta-rs/4gmkuentbgxoit0g.ll 3711907136 delta-rs/4hbajsv9e0zw688t.ll 1412570125 delta-rs/4imd7xbfeanhlkqt.ll 938007645 @@ -6221,7 +6221,7 @@ diesel-rs/15s0i984drbne3lh.ll 345752353 diesel-rs/173kfv9vgwy610wq.ll 566655669 diesel-rs/17oxsd0qf9l9nib2.ll 39361564 diesel-rs/18c6qug6q42af287.ll 76914051 -diesel-rs/1a0eeki5zv7i23mc.ll 352442680 +diesel-rs/1a0eeki5zv7i23mc.ll 352078758 diesel-rs/1a5i3zh1agibg74z.ll 40794008 diesel-rs/1d2qvx9ydcknzsic.ll 549712537 diesel-rs/1d6yrclfdvavot4r.ll 702861365 @@ -6237,7 +6237,7 @@ diesel-rs/1huc92ny4pazp0ae.ll 189781328 diesel-rs/1hwven6eovlu4ao9.ll 669048589 diesel-rs/1jz126bddzidz5zd.ll 429271754 diesel-rs/1k9itxwmy6phzvjw.ll 865287265 -diesel-rs/1ksci6wsu20op9cc.ll 235822862 +diesel-rs/1ksci6wsu20op9cc.ll 235543438 diesel-rs/1kyzuzxhcccv0umo.ll 387969026 diesel-rs/1mcix0ravw4ybg9k.ll 2027344992 diesel-rs/1mjnhb1ttzak27kh.ll 53391201 @@ -6250,10 +6250,10 @@ diesel-rs/1rpbwg2ivde0m4sm.ll 460137004 diesel-rs/1s59klw960rzefhp.ll 34609914 diesel-rs/1siyfs74f49yh72n.ll 329963592 diesel-rs/1tv2nlr963c938o2.ll 162864135 -diesel-rs/1twmu4mg7wlgn5nl.ll 191788656 +diesel-rs/1twmu4mg7wlgn5nl.ll 191592190 diesel-rs/1vuxmtz2yhpbr3bd.ll 610933906 diesel-rs/1xjmwmr0lwqscmwt.ll 353387331 -diesel-rs/1y5afe719vt3j8l4.ll 460380098 +diesel-rs/1y5afe719vt3j8l4.ll 459861508 diesel-rs/1yplebaplvqz1diq.ll 304375264 diesel-rs/1z3qificwegqnhb.ll 300903517 diesel-rs/1zhqdyjorbzdhypm.ll 475715668 @@ -6376,7 +6376,7 @@ diesel-rs/4er4uowv3yad92ot.ll 300917707 diesel-rs/4evqpcg6dxygah01.ll 621828482 diesel-rs/4gc9zq1wrq086e44.ll 190391973 diesel-rs/4h677pklov6a0v0o.ll 394146574 -diesel-rs/4j8air1313yj5apg.ll 603859606 +diesel-rs/4j8air1313yj5apg.ll 603196650 diesel-rs/4jebxyzsxalpttle.ll 60070965 diesel-rs/4jwl6v0dzs4k2fgl.ll 124452688 diesel-rs/4l2dlnns3xjar0un.ll 1780484707 @@ -6483,7 +6483,7 @@ double_conversion/fixed-dtoa.cc.ll 308165548 double_conversion/string-to-double.cc.ll 1336400407 double_conversion/strtod.cc.ll 411609823 draco/adaptive_rans_bit_decoder.cc.ll 100699303 -draco/adaptive_rans_bit_encoder.cc.ll 423725143 +draco/adaptive_rans_bit_encoder.cc.ll 423270050 draco/attribute_octahedron_transform.cc.ll 345626520 draco/attribute_quantization_transform.cc.ll 604243123 draco/attributes_decoder.cc.ll 344302675 @@ -6491,24 +6491,24 @@ draco/attributes_encoder.cc.ll 391761337 draco/corner_table.cc.ll 1699011453 draco/data_buffer.cc.ll 131657015 draco/decode.cc.ll 523504970 -draco/direct_bit_decoder.cc.ll 139291923 +draco/direct_bit_decoder.cc.ll 139126323 draco/direct_bit_encoder.cc.ll 263403330 draco/draco_decoder.cc.ll 315407623 draco/draco_encoder.cc.ll 464948219 draco/dynamic_integer_points_kd_tree_decoder.cc.ll 400400439 -draco/dynamic_integer_points_kd_tree_encoder.cc.ll 431499036 +draco/dynamic_integer_points_kd_tree_encoder.cc.ll 431023977 draco/encode.cc.ll 935144765 draco/encoder_buffer.cc.ll 293856442 -draco/expert_encode.cc.ll 879671032 +draco/expert_encode.cc.ll 878655072 draco/file_utils.cc.ll 192603932 draco/float_points_tree_decoder.cc.ll 2550301032 draco/float_points_tree_encoder.cc.ll 2750662741 draco/hash_utils.cc.ll 73137933 draco/kd_tree_attributes_decoder.cc.ll 4012319408 draco/kd_tree_attributes_encoder.cc.ll 4704923872 -draco/keyframe_animation.cc.ll 298428942 +draco/keyframe_animation.cc.ll 298056138 draco/keyframe_animation_encoder.cc.ll 103515311 -draco/mesh.cc.ll 404023178 +draco/mesh.cc.ll 403540518 draco/mesh_are_equivalent.cc.ll 863023943 draco/mesh_attribute_corner_table.cc.ll 1224894630 draco/mesh_cleanup.cc.ll 1449764492 @@ -6518,18 +6518,18 @@ draco/mesh_edgebreaker_decoder_impl.cc.ll 7116129799 draco/mesh_edgebreaker_encoder.cc.ll 565192246 draco/mesh_edgebreaker_encoder_impl.cc.ll 6555711563 draco/mesh_encoder.cc.ll 120107555 -draco/mesh_io.cc.ll 331962290 +draco/mesh_io.cc.ll 331506572 draco/mesh_sequential_decoder.cc.ll 583601505 draco/mesh_sequential_encoder.cc.ll 781743863 draco/mesh_stripifier.cc.ll 270985392 draco/metadata.cc.ll 974891160 -draco/metadata_decoder.cc.ll 384932531 +draco/metadata_decoder.cc.ll 384546246 draco/metadata_encoder.cc.ll 262481266 draco/obj_decoder.cc.ll 1096928186 draco/obj_encoder.cc.ll 1531465132 draco/options.cc.ll 299548923 draco/parser_utils.cc.ll 191209476 -draco/ply_decoder.cc.ll 2221906506 +draco/ply_decoder.cc.ll 2218741073 draco/ply_encoder.cc.ll 405186299 draco/ply_reader.cc.ll 1508488078 draco/point_attribute.cc.ll 3702869941 @@ -6540,13 +6540,13 @@ draco/point_cloud_encoder.cc.ll 766966597 draco/point_cloud_io.cc.ll 236216728 draco/point_cloud_kd_tree_decoder.cc.ll 222338361 draco/point_cloud_kd_tree_encoder.cc.ll 481375581 -draco/point_cloud_sequential_decoder.cc.ll 335674694 +draco/point_cloud_sequential_decoder.cc.ll 335297920 draco/point_cloud_sequential_encoder.cc.ll 595046293 draco/prediction_scheme_encoder_factory.cc.ll 170037002 draco/quantization_utils.cc.ll 40689035 draco/rans_bit_decoder.cc.ll 105919253 draco/rans_bit_encoder.cc.ll 518309355 -draco/sequential_attribute_decoder.cc.ll 350673814 +draco/sequential_attribute_decoder.cc.ll 350255163 draco/sequential_attribute_decoders_controller.cc.ll 408715018 draco/sequential_attribute_encoder.cc.ll 385386362 draco/sequential_attribute_encoders_controller.cc.ll 945699666 @@ -6557,10 +6557,10 @@ draco/sequential_normal_attribute_encoder.cc.ll 3412206646 draco/sequential_quantization_attribute_decoder.cc.ll 159523079 draco/sequential_quantization_attribute_encoder.cc.ll 393249619 draco/shannon_entropy.cc.ll 238213348 -draco/stdio_file_reader.cc.ll 207721671 +draco/stdio_file_reader.cc.ll 207459353 draco/stdio_file_writer.cc.ll 84955645 draco/stl_decoder.cc.ll 158331273 -draco/stl_encoder.cc.ll 423459739 +draco/stl_encoder.cc.ll 422884370 draco/symbol_bit_decoder.cc.ll 202471467 draco/symbol_bit_encoder.cc.ll 304331453 draco/symbol_decoding.cc.ll 2089526916 @@ -6741,7 +6741,7 @@ eastl/EAString.cpp.ll 2525178486 eastl/EATest.cpp.ll 845104820 eastl/EATextUtil.cpp.ll 658292112 eastl/Int128_t.cpp.ll 1126290070 -eastl/TestAlgorithm.cpp.ll 11021884629 +eastl/TestAlgorithm.cpp.ll 11010308178 eastl/TestAllocator.cpp.ll 727784511 eastl/TestAny.cpp.ll 3243665194 eastl/TestArray.cpp.ll 265103214 @@ -6752,7 +6752,7 @@ eastl/TestBitset.cpp.ll 7423094177 eastl/TestCharTraits.cpp.ll 551391702 eastl/TestDeque.cpp.ll 25651354144 eastl/TestExtra.cpp.ll 5378690065 -eastl/TestFixedFunction.cpp.ll 2128332206 +eastl/TestFixedFunction.cpp.ll 2125981218 eastl/TestFixedHash.cpp.ll 19020032091 eastl/TestFixedList.cpp.ll 2927805142 eastl/TestFixedMap.cpp.ll 14228403412 @@ -6789,11 +6789,11 @@ eastl/TestStringView.cpp.ll 10020067956 eastl/TestTupleVector.cpp.ll 7199957505 eastl/TestUtility.cpp.ll 451922628 eastl/TestVariant.cpp.ll 4241056738 -eastl/TestVariant2.cpp.ll 158704895 +eastl/TestVariant2.cpp.ll 158478300 eastl/TestVector.cpp.ll 9436463046 eastl/TestVectorMap.cpp.ll 34933730670 eastl/TestVectorSet.cpp.ll 26238695727 -eastl/eathread.cpp.ll 101370837 +eastl/eathread.cpp.ll 101266330 eastl/eathread_barrier.cpp.ll 77307311 eastl/eathread_callstack.cpp.ll 69144992 eastl/eathread_condition.cpp.ll 64855393 @@ -6894,7 +6894,7 @@ faiss/AdditiveQuantizer.cpp.ll 1365936681 faiss/AutoTune.cpp.ll 2000740174 faiss/AuxIndexStructures.cpp.ll 428937209 faiss/BlockInvertedLists.cpp.ll 642317203 -faiss/Clustering.cpp.ll 1249735569 +faiss/Clustering.cpp.ll 1248174935 faiss/CodePacker.cpp.ll 55288677 faiss/DirectMap.cpp.ll 769968775 faiss/FaissException.cpp.ll 84691691 @@ -6906,8 +6906,8 @@ faiss/Index.cpp.ll 326611848 faiss/Index2Layer.cpp.ll 379193375 faiss/IndexAdditiveQuantizer.cpp.ll 1694011378 faiss/IndexAdditiveQuantizerFastScan.cpp.ll 386045753 -faiss/IndexBinary.cpp.ll 179916353 -faiss/IndexBinaryFlat.cpp.ll 259575386 +faiss/IndexBinary.cpp.ll 179727147 +faiss/IndexBinaryFlat.cpp.ll 259315171 faiss/IndexBinaryFromFloat.cpp.ll 113220141 faiss/IndexBinaryHNSW.cpp.ll 1034660639 faiss/IndexBinaryHash.cpp.ll 5804107013 @@ -6915,7 +6915,7 @@ faiss/IndexBinaryIVF.cpp.ll 9756775494 faiss/IndexFastScan.cpp.ll 3082371663 faiss/IndexFlat.cpp.ll 570605552 faiss/IndexFlatCodes.cpp.ll 239050377 -faiss/IndexHNSW.cpp.ll 2547165881 +faiss/IndexHNSW.cpp.ll 2544198781 faiss/IndexIDMap.cpp.ll 802176907 faiss/IndexIVF.cpp.ll 2251346600 faiss/IndexIVFAdditiveQuantizer.cpp.ll 717447404 @@ -7002,7 +7002,7 @@ flac/lpc_intrin_sse41.c.ll 385724551 flac/main.c.ll 792446539 flac/md5.c.ll 567676055 flac/memory.c.ll 57519538 -flac/metadata.cpp.ll 520139549 +flac/metadata.cpp.ll 519598115 flac/metadata_iterators.c.ll 2522589525 flac/metadata_object.c.ll 778760576 flac/ogg_helper.c.ll 81435432 @@ -7017,7 +7017,7 @@ flac/replaygain_analysis.c.ll 255687293 flac/replaygain_synthesis.c.ll 246859014 flac/seektable.c.ll 63366627 flac/stream_decoder.c.ll 1506964814 -flac/stream_decoder.cpp.ll 99199999 +flac/stream_decoder.cpp.ll 99073064 flac/stream_encoder.c.ll 2072438897 flac/stream_encoder.cpp.ll 137205267 flac/stream_encoder_framing.c.ll 251164348 @@ -7033,7 +7033,7 @@ flatbuffers/annotated_binary_text_gen.cpp.ll 938409259 flatbuffers/bfbs_gen_lua.cpp.ll 3670521880 flatbuffers/bfbs_gen_nim.cpp.ll 4360499661 flatbuffers/binary_annotator.cpp.ll 6390319828 -flatbuffers/code_generators.cpp.ll 381791437 +flatbuffers/code_generators.cpp.ll 381317613 flatbuffers/cpp_generator.cc.ll 2565141789 flatbuffers/flatc.cpp.ll 4534686380 flatbuffers/flatc_main.cpp.ll 722986786 @@ -7044,7 +7044,7 @@ flatbuffers/idl_gen_csharp.cpp.ll 3662108418 flatbuffers/idl_gen_dart.cpp.ll 2371940470 flatbuffers/idl_gen_fbs.cpp.ll 1872426811 flatbuffers/idl_gen_go.cpp.ll 2418643187 -flatbuffers/idl_gen_grpc.cpp.ll 780598297 +flatbuffers/idl_gen_grpc.cpp.ll 779747059 flatbuffers/idl_gen_java.cpp.ll 4134230043 flatbuffers/idl_gen_json_schema.cpp.ll 1042224835 flatbuffers/idl_gen_kotlin.cpp.ll 3825423588 @@ -7058,7 +7058,7 @@ flatbuffers/idl_gen_text.cpp.ll 2198340950 flatbuffers/idl_gen_ts.cpp.ll 4732221015 flatbuffers/idl_parser.cpp.ll 21124398534 flatbuffers/java_generator.cc.ll 2335274358 -flatbuffers/python_generator.cc.ll 475769509 +flatbuffers/python_generator.cc.ll 475196090 flatbuffers/reflection.cpp.ll 2430188517 flatbuffers/swift_generator.cc.ll 986443798 flatbuffers/ts_generator.cc.ll 1484256443 @@ -7123,7 +7123,7 @@ folly/Cursor.cpp.ll 59139053 folly/CustomLogFormatter.cpp.ll 964630254 folly/DeadlockDetector.cpp.ll 33341380 folly/Demangle.cpp.ll 121350343 -folly/DeterministicSchedule.cpp.ll 1369735111 +folly/DeterministicSchedule.cpp.ll 1372352425 folly/DistributedMutex.cpp.ll 163400037 folly/Dump.cpp.ll 490316753 folly/DynamicParser.cpp.ll 530221829 @@ -7200,7 +7200,7 @@ folly/MemoryMapping.cpp.ll 320371727 folly/MicroLock.cpp.ll 50191338 folly/MuxIOThreadPoolExecutor.cpp.ll 2356065793 folly/NestedCommandLineApp.cpp.ll 1599318612 -folly/NetOps.cpp.ll 79607392 +folly/NetOps.cpp.ll 79517393 folly/ObjectToString.cpp.ll 102941905 folly/ObserverManager.cpp.ll 3507962035 folly/OpenSSLCertUtils.cpp.ll 546943917 @@ -7280,7 +7280,7 @@ folly/TimeoutManager.cpp.ll 130024627 folly/TimeoutQueue.cpp.ll 438763768 folly/TimerFD.cpp.ll 96282812 folly/TimerFDTimeoutManager.cpp.ll 199477597 -folly/Try.cpp.ll 75609014 +folly/Try.cpp.ll 75516090 folly/Unicode.cpp.ll 175702673 folly/UniqueInstance.cpp.ll 222482166 folly/Uri.cpp.ll 6831605708 @@ -7342,55 +7342,55 @@ g2o/command_args.cpp.ll 1126318381 g2o/csparse_extension.cpp.ll 88780996 g2o/csparse_helper.cpp.ll 60634127 g2o/csparse_wrapper.cpp.ll 260194242 -g2o/data_queue.cpp.ll 201674849 +g2o/data_queue.cpp.ll 201453298 g2o/dquat2mat.cpp.ll 304323887 g2o/edge_line2d.cpp.ll 1785753868 -g2o/edge_line2d_pointxy.cpp.ll 1145252662 +g2o/edge_line2d_pointxy.cpp.ll 1143880064 g2o/edge_plane.cpp.ll 2222122072 -g2o/edge_pointxy.cpp.ll 1750818113 +g2o/edge_pointxy.cpp.ll 1748395445 g2o/edge_pointxyz.cpp.ll 2268447790 -g2o/edge_project_p2mc.cpp.ll 3253111486 +g2o/edge_project_p2mc.cpp.ll 3248830257 g2o/edge_project_p2sc.cpp.ll 3504603334 -g2o/edge_project_psi2uv.cpp.ll 5148348346 -g2o/edge_project_stereo_xyz.cpp.ll 3064621671 -g2o/edge_project_stereo_xyz_onlypose.cpp.ll 1626360014 -g2o/edge_project_xyz.cpp.ll 2962051659 -g2o/edge_project_xyz2uv.cpp.ll 3427225612 -g2o/edge_project_xyz2uvu.cpp.ll 3476374933 +g2o/edge_project_psi2uv.cpp.ll 5142756728 +g2o/edge_project_stereo_xyz.cpp.ll 3061261052 +g2o/edge_project_stereo_xyz_onlypose.cpp.ll 1624508962 +g2o/edge_project_xyz.cpp.ll 2958932369 +g2o/edge_project_xyz2uv.cpp.ll 3421810051 +g2o/edge_project_xyz2uvu.cpp.ll 3471397280 g2o/edge_project_xyz_onlypose.cpp.ll 1323144414 -g2o/edge_sba_cam.cpp.ll 2895345672 +g2o/edge_sba_cam.cpp.ll 2891656655 g2o/edge_sba_scale.cpp.ll 1977053583 -g2o/edge_se2.cpp.ll 2684869192 +g2o/edge_se2.cpp.ll 2681986334 g2o/edge_se2_line2d.cpp.ll 2567860900 g2o/edge_se2_lotsofxy.cpp.ll 6154798333 -g2o/edge_se2_odom_differential_calib.cpp.ll 2324882444 -g2o/edge_se2_offset.cpp.ll 3006778634 -g2o/edge_se2_pointxy.cpp.ll 2609222937 -g2o/edge_se2_pointxy_bearing.cpp.ll 2106843407 +g2o/edge_se2_odom_differential_calib.cpp.ll 2322005287 +g2o/edge_se2_offset.cpp.ll 3001959577 +g2o/edge_se2_pointxy.cpp.ll 2606404662 +g2o/edge_se2_pointxy_bearing.cpp.ll 2103156100 g2o/edge_se2_pointxy_calib.cpp.ll 4569379889 -g2o/edge_se2_pointxy_offset.cpp.ll 3500845168 -g2o/edge_se2_prior.cpp.ll 2032797565 +g2o/edge_se2_pointxy_offset.cpp.ll 3495905295 +g2o/edge_se2_prior.cpp.ll 2030081095 g2o/edge_se2_segment2d.cpp.ll 3175858205 g2o/edge_se2_segment2d_line.cpp.ll 2818267087 -g2o/edge_se2_segment2d_pointLine.cpp.ll 3315601747 -g2o/edge_se2_sensor_calib.cpp.ll 2409292262 +g2o/edge_se2_segment2d_pointLine.cpp.ll 3311606458 +g2o/edge_se2_sensor_calib.cpp.ll 2406440885 g2o/edge_se2_twopointsxy.cpp.ll 4786817974 g2o/edge_se2_xyprior.cpp.ll 1441374588 -g2o/edge_se3.cpp.ll 6113263922 +g2o/edge_se3.cpp.ll 6106152526 g2o/edge_se3_calib.cpp.ll 6158092593 g2o/edge_se3_euler.cpp.ll 5538362183 g2o/edge_se3_expmap.cpp.ll 4091192620 -g2o/edge_se3_line.cpp.ll 4875962769 +g2o/edge_se3_line.cpp.ll 4870738018 g2o/edge_se3_lotsofxyz.cpp.ll 6991231035 g2o/edge_se3_offset.cpp.ll 6376994753 -g2o/edge_se3_plane_calib.cpp.ll 6472410442 -g2o/edge_se3_pointxyz.cpp.ll 4262878172 -g2o/edge_se3_pointxyz_depth.cpp.ll 4661866553 -g2o/edge_se3_pointxyz_disparity.cpp.ll 4701964687 +g2o/edge_se3_plane_calib.cpp.ll 6465545428 +g2o/edge_se3_pointxyz.cpp.ll 4258540762 +g2o/edge_se3_pointxyz_depth.cpp.ll 4656331875 +g2o/edge_se3_pointxyz_disparity.cpp.ll 4696850537 g2o/edge_se3_prior.cpp.ll 6163475607 -g2o/edge_se3_xyzprior.cpp.ll 3624189562 +g2o/edge_se3_xyzprior.cpp.ll 3620320360 g2o/edge_xy_prior.cpp.ll 1372807491 -g2o/edge_xyz_prior.cpp.ll 1814286165 +g2o/edge_xyz_prior.cpp.ll 1812375232 g2o/estimate_propagator.cpp.ll 822060839 g2o/factory.cpp.ll 741066548 g2o/filesys_tools.cpp.ll 1423727124 @@ -7401,32 +7401,32 @@ g2o/isometry3d_gradients.cpp.ll 304256316 g2o/isometry3d_mappings.cpp.ll 1188614270 g2o/jacobian_workspace.cpp.ll 290220087 g2o/laser_parameters.cpp.ll 48890334 -g2o/line3d.cpp.ll 3939381404 +g2o/line3d.cpp.ll 3934344043 g2o/logger.cpp.ll 32176599 g2o/marginal_covariance_cholesky.cpp.ll 1600102604 g2o/matrix_structure.cpp.ll 470450625 -g2o/odometry_measurement.cpp.ll 293125932 +g2o/odometry_measurement.cpp.ll 292673454 g2o/optimizable_graph.cpp.ll 10288489189 g2o/optimization_algorithm.cpp.ll 73048602 -g2o/optimization_algorithm_dogleg.cpp.ll 1458004775 +g2o/optimization_algorithm_dogleg.cpp.ll 1456239651 g2o/optimization_algorithm_factory.cpp.ll 266491927 g2o/optimization_algorithm_gauss_newton.cpp.ll 79774509 g2o/optimization_algorithm_levenberg.cpp.ll 249685265 -g2o/optimization_algorithm_with_hessian.cpp.ll 140907051 +g2o/optimization_algorithm_with_hessian.cpp.ll 140747656 g2o/parameter.cpp.ll 38908672 -g2o/parameter_camera.cpp.ll 1202405096 -g2o/parameter_cameraparameters.cpp.ll 96141371 -g2o/parameter_container.cpp.ll 310350380 -g2o/parameter_se2_offset.cpp.ll 1098218554 +g2o/parameter_camera.cpp.ll 1200664040 +g2o/parameter_cameraparameters.cpp.ll 96030511 +g2o/parameter_container.cpp.ll 310026048 +g2o/parameter_se2_offset.cpp.ll 1096514264 g2o/parameter_se3_offset.cpp.ll 1622221074 -g2o/parameter_stereo_camera.cpp.ll 53758084 +g2o/parameter_stereo_camera.cpp.ll 53681003 g2o/property.cpp.ll 298212286 g2o/raw_laser.cpp.ll 362416816 g2o/robot_data.cpp.ll 49936054 g2o/robot_laser.cpp.ll 472443758 g2o/robust_kernel.cpp.ll 38959303 g2o/robust_kernel_factory.cpp.ll 439649621 -g2o/robust_kernel_impl.cpp.ll 551324644 +g2o/robust_kernel_impl.cpp.ll 550695191 g2o/sampler.cpp.ll 185718415 g2o/sbacam.cpp.ll 2064220203 g2o/slam2d_linear.cpp.ll 8976099461 @@ -7445,31 +7445,31 @@ g2o/structure_only.cpp.ll 4499903695 g2o/tictoc.cpp.ll 570240267 g2o/timeutil.cpp.ll 62832938 g2o/types_data.cpp.ll 230579212 -g2o/types_icp.cpp.ll 12896252007 +g2o/types_icp.cpp.ll 12881313690 g2o/types_sba.cpp.ll 365517055 -g2o/types_sclam2d.cpp.ll 229338666 -g2o/types_seven_dof_expmap.cpp.ll 13235965432 -g2o/types_six_dof_expmap.cpp.ll 3016924219 -g2o/types_slam2d.cpp.ll 992398676 +g2o/types_sclam2d.cpp.ll 229062731 +g2o/types_seven_dof_expmap.cpp.ll 13218216807 +g2o/types_six_dof_expmap.cpp.ll 3012875591 +g2o/types_slam2d.cpp.ll 991404088 g2o/types_slam2d_addons.cpp.ll 452668896 g2o/types_slam3d.cpp.ll 3899716842 g2o/types_slam3d_addons.cpp.ll 462121956 -g2o/vertex_cam.cpp.ll 5428386326 +g2o/vertex_cam.cpp.ll 5422200671 g2o/vertex_ellipse.cpp.ll 8512718838 g2o/vertex_intrinsics.cpp.ll 3340234003 -g2o/vertex_line2d.cpp.ll 2796413724 -g2o/vertex_line3d.cpp.ll 4285700177 -g2o/vertex_odom_differential_params.cpp.ll 2955417673 +g2o/vertex_line2d.cpp.ll 2792847659 +g2o/vertex_line3d.cpp.ll 4279862431 +g2o/vertex_odom_differential_params.cpp.ll 2952395295 g2o/vertex_plane.cpp.ll 3686948643 g2o/vertex_point_xy.cpp.ll 2743996325 -g2o/vertex_pointxyz.cpp.ll 3075494019 -g2o/vertex_se2.cpp.ll 3106054924 +g2o/vertex_pointxyz.cpp.ll 3071948796 +g2o/vertex_se2.cpp.ll 3102382067 g2o/vertex_se3.cpp.ll 6240107630 g2o/vertex_se3_euler.cpp.ll 6190232309 g2o/vertex_se3_expmap.cpp.ll 5938957705 -g2o/vertex_segment2d.cpp.ll 3374205470 -g2o/vertex_tag.cpp.ll 88308654 -git/abspath.ll 182421158 +g2o/vertex_segment2d.cpp.ll 3370560508 +g2o/vertex_tag.cpp.ll 88181569 +git/abspath.ll 182226605 git/add-interactive.ll 571495386 git/add-patch.ll 1372755143 git/add.ll 311623135 @@ -7503,7 +7503,7 @@ git/check-ref-format.ll 83644469 git/checkout--worker.ll 100801989 git/checkout-index.ll 330300876 git/checkout.ll 1609144352 -git/chunk-format.ll 164256479 +git/chunk-format.ll 164090844 git/clean.ll 639202504 git/clone.ll 647797680 git/color.ll 291850058 @@ -7743,9 +7743,9 @@ git/tr2_cmd_name.ll 48774917 git/tr2_dst.ll 200200332 git/tr2_sid.ll 67430565 git/tr2_tgt_event.ll 145426621 -git/tr2_tgt_normal.ll 128616790 +git/tr2_tgt_normal.ll 128487406 git/tr2_tgt_perf.ll 192698450 -git/trace.ll 187888196 +git/trace.ll 187694412 git/trace2.ll 359479877 git/trailer.ll 857553699 git/transport-helper.ll 727747569 @@ -7782,10 +7782,10 @@ git/xpatience.ll 235199271 git/xprepare.ll 318825280 git/xutils.ll 386943068 glog/cleanup_immediately_unittest.cc.ll 798273422 -glog/cleanup_with_absolute_prefix_unittest.cc.ll 802004147 +glog/cleanup_with_absolute_prefix_unittest.cc.ll 801133246 glog/cleanup_with_relative_prefix_unittest.cc.ll 797677153 -glog/demangle_unittest.cc.ll 668021289 -glog/flags.cc.ll 211691767 +glog/demangle_unittest.cc.ll 667228669 +glog/flags.cc.ll 211440854 glog/logging.cc.ll 7241545498 glog/logging_unittest.cc.ll 5326342071 glog/mock-log_unittest.cc.ll 1794075794 @@ -7795,11 +7795,11 @@ glog/signalhandler_unittest.cc.ll 154633803 glog/stacktrace.cc.ll 41940343 glog/stacktrace_unittest.cc.ll 237428764 glog/stl_logging_unittest.cc.ll 1101562200 -glog/striplog_unittest.cc.ll 95675463 +glog/striplog_unittest.cc.ll 95563394 glog/symbolize.cc.ll 717001080 -glog/symbolize_unittest.cc.ll 595009270 +glog/symbolize_unittest.cc.ll 594219471 glog/utilities.cc.ll 141056637 -glog/utilities_unittest.cc.ll 313818614 +glog/utilities_unittest.cc.ll 313431999 glog/vlog_is_on.cc.ll 113638410 glslang/CodeGen.cpp.ll 60789146 glslang/Constant.cpp.ll 3329401652 @@ -7809,10 +7809,10 @@ glslang/InfoSink.cpp.ll 57631276 glslang/Initialize.cpp.ll 17094951273 glslang/IntermTraverse.cpp.ll 415335415 glslang/Intermediate.cpp.ll 4446683179 -glslang/Link.cpp.ll 84132923 +glslang/Link.cpp.ll 84036694 glslang/Logger.cpp.ll 158482390 glslang/ParseContextBase.cpp.ll 5165350787 -glslang/ParseHelper.cpp.ll 15108794198 +glslang/ParseHelper.cpp.ll 15124596978 glslang/PoolAlloc.cpp.ll 159851855 glslang/Pp.cpp.ll 2636053421 glslang/PpAtom.cpp.ll 456080560 @@ -7858,7 +7858,7 @@ graphviz/SparseMatrix.c.ll 1609838021 graphviz/actions.c.ll 760363865 graphviz/acyclic.c.ll 62888775 graphviz/adjust.c.ll 485262880 -graphviz/agerror.c.ll 69717125 +graphviz/agerror.c.ll 69636502 graphviz/apply.c.ll 46939663 graphviz/args.c.ll 131874074 graphviz/arrows.c.ll 416972287 @@ -7871,7 +7871,7 @@ graphviz/blockpath.c.ll 691632561 graphviz/blocks.cpp.ll 310411671 graphviz/blocktree.c.ll 192225285 graphviz/call_tri.c.ll 86099550 -graphviz/ccomps.c.ll 371040222 +graphviz/ccomps.c.ll 370658705 graphviz/chresc.c.ll 54146713 graphviz/circle.c.ll 280549387 graphviz/circpos.c.ll 263900368 @@ -8027,7 +8027,7 @@ graphviz/memory.c.ll 70504812 graphviz/mincross.c.ll 1759854921 graphviz/mm2gv.c.ll 291181057 graphviz/mmio.c.ll 66842096 -graphviz/mocs_compilation.cpp.ll 335537438 +graphviz/mocs_compilation.cpp.ll 335179612 graphviz/mq.c.ll 402223958 graphviz/multispline.c.ll 909760819 graphviz/neatoinit.c.ll 792294057 @@ -8044,7 +8044,7 @@ graphviz/osageinit.c.ll 268922472 graphviz/output.c.ll 601265479 graphviz/pack.c.ll 975057130 graphviz/parse.c.ll 310987312 -graphviz/partition.c.ll 403511678 +graphviz/partition.c.ll 407791573 graphviz/patchwork.c.ll 133247964 graphviz/patchworkinit.c.ll 128351972 graphviz/pathaccess.c.ll 99195514 @@ -8121,7 +8121,7 @@ gromacs/add_par.cpp.ll 546160845 gromacs/adler32.c.ll 191182868 gromacs/anadih.cpp.ll 766199439 gromacs/analysisdata.cpp.ll 362107648 -gromacs/analysismodule.cpp.ll 993664014 +gromacs/analysismodule.cpp.ll 992480614 gromacs/andersentemperaturecoupling.cpp.ll 1386963338 gromacs/angle.cpp.ll 2009925730 gromacs/any.cpp.ll 163018486 @@ -8172,7 +8172,7 @@ gromacs/checkpointhelper.cpp.ll 846603131 gromacs/cluster_methods.cpp.ll 1602065387 gromacs/cmat.cpp.ll 166258925 gromacs/cmdlinehelpcontext.cpp.ll 142550782 -gromacs/cmdlinehelpmodule.cpp.ll 998803692 +gromacs/cmdlinehelpmodule.cpp.ll 997688642 gromacs/cmdlinehelpwriter.cpp.ll 605891571 gromacs/cmdlineinit.cpp.ll 164503860 gromacs/cmdlinemodulemanager.cpp.ll 944639089 @@ -8193,7 +8193,7 @@ gromacs/colvarbias_histogram.cpp.ll 1472558024 gromacs/colvarbias_histogram_reweight_amd.cpp.ll 1024280643 gromacs/colvarbias_meta.cpp.ll 4575005226 gromacs/colvarbias_restraint.cpp.ll 2969256940 -gromacs/colvarcomp.cpp.ll 1537012568 +gromacs/colvarcomp.cpp.ll 1535411266 gromacs/colvarcomp_alchlambda.cpp.ll 97610036 gromacs/colvarcomp_angles.cpp.ll 852881476 gromacs/colvarcomp_apath.cpp.ll 2930541030 @@ -8205,7 +8205,7 @@ gromacs/colvarcomp_neuralnetwork.cpp.ll 1456260123 gromacs/colvarcomp_protein.cpp.ll 1033425318 gromacs/colvarcomp_rotations.cpp.ll 1903246824 gromacs/colvarcomp_volmaps.cpp.ll 165916096 -gromacs/colvardeps.cpp.ll 876149559 +gromacs/colvardeps.cpp.ll 880221555 gromacs/colvargrid.cpp.ll 4513659100 gromacs/colvarmodule.cpp.ll 4680772492 gromacs/colvarparams.cpp.ll 519275220 @@ -8221,28 +8221,28 @@ gromacs/colvarsMDModule.cpp.ll 2332647996 gromacs/colvars_memstream.cpp.ll 249434129 gromacs/colvarscript.cpp.ll 1471101438 gromacs/colvarscript_commands.cpp.ll 605511030 -gromacs/colvarscript_commands_bias.cpp.ll 272501372 +gromacs/colvarscript_commands_bias.cpp.ll 272182149 gromacs/colvarscript_commands_colvar.cpp.ll 777122682 -gromacs/colvarsforceprovider.cpp.ll 1584576943 +gromacs/colvarsforceprovider.cpp.ll 1582969093 gromacs/colvarsoptions.cpp.ll 2133643521 gromacs/colvarspreprocessor.cpp.ll 625479179 gromacs/colvarssimulationsparameters.cpp.ll 224420595 gromacs/colvartypes.cpp.ll 2365810048 gromacs/colvarvalue.cpp.ll 1686223487 -gromacs/com.cpp.ll 273903750 +gromacs/com.cpp.ll 273543031 gromacs/comm.cpp.ll 257168151 gromacs/communicator_stub.cpp.ll 254224436 gromacs/compare.cpp.ll 69786481 gromacs/compiler.cpp.ll 3307088774 -gromacs/compositesimulatorelement.cpp.ll 142812278 +gromacs/compositesimulatorelement.cpp.ll 142663860 gromacs/compute_io.cpp.ll 124627308 -gromacs/computeglobalselement.cpp.ll 1678441281 +gromacs/computeglobalselement.cpp.ll 1676557994 gromacs/computemultibodycutoffs.cpp.ll 681119414 gromacs/confio.cpp.ll 312838761 gromacs/conformation_utilities.cpp.ll 90263539 gromacs/constr.cpp.ll 2010849614 gromacs/constraint_gpu_helpers.cpp.ll 654919967 -gromacs/constraintelement.cpp.ll 1147786660 +gromacs/constraintelement.cpp.ll 1146599995 gromacs/constraintrange.cpp.ll 294272571 gromacs/context.cpp.ll 1759460741 gromacs/conversions.cpp.ll 1888997231 @@ -8251,7 +8251,7 @@ gromacs/convert_tpr.cpp.ll 1741996026 gromacs/convert_trj.cpp.ll 239934906 gromacs/convparm.cpp.ll 833682798 gromacs/coolstuff.cpp.ll 254022862 -gromacs/coordinatefile.cpp.ll 1013403507 +gromacs/coordinatefile.cpp.ll 1011963287 gromacs/coordinatetransformation.cpp.ll 282307083 gromacs/coordstate.cpp.ll 539876429 gromacs/correlationgrid.cpp.ll 804522794 @@ -8280,14 +8280,14 @@ gromacs/decidesimulationworkload.cpp.ll 226649884 gromacs/deflate.c.ll 825366403 gromacs/dens_filter.cpp.ll 108954079 gromacs/densityfit.cpp.ll 869728215 -gromacs/densityfitting.cpp.ll 2111113147 +gromacs/densityfitting.cpp.ll 2108564707 gromacs/densityfittingamplitudelookup.cpp.ll 539468168 gromacs/densityfittingforce.cpp.ll 476551556 gromacs/densityfittingforceprovider.cpp.ll 1368840602 gromacs/densityfittingoptions.cpp.ll 2810286696 -gromacs/detecthardware.cpp.ll 781112397 +gromacs/detecthardware.cpp.ll 780220441 gromacs/device_management_common.cpp.ll 574772831 -gromacs/device_stream_manager.cpp.ll 149797782 +gromacs/device_stream_manager.cpp.ll 149619855 gromacs/dgebrd.cpp.ll 93630021 gromacs/dgemm.cpp.ll 275898493 gromacs/dgemv.cpp.ll 128261453 @@ -8299,7 +8299,7 @@ gromacs/directoryenumerator.cpp.ll 723358756 gromacs/dispersioncorrection.cpp.ll 624430104 gromacs/displacement.cpp.ll 485163520 gromacs/disre.cpp.ll 353628216 -gromacs/distance.cpp.ll 1001097186 +gromacs/distance.cpp.ll 1000052390 gromacs/distribute.cpp.ll 1261714895 gromacs/dlabrd.cpp.ll 146150992 gromacs/dlacpy.cpp.ll 64071773 @@ -8344,7 +8344,7 @@ gromacs/domdec_constraints.cpp.ll 1890954716 gromacs/domdec_setup.cpp.ll 776791197 gromacs/domdec_specatomcomm.cpp.ll 1225585356 gromacs/domdec_vsite.cpp.ll 524475318 -gromacs/domdechelper.cpp.ll 347349191 +gromacs/domdechelper.cpp.ll 346971274 gromacs/dorgbr.cpp.ll 75240952 gromacs/dorgl2.cpp.ll 88213369 gromacs/dorglq.cpp.ll 114676562 @@ -8373,7 +8373,7 @@ gromacs/dsytrd.cpp.ll 101267019 gromacs/dtrmm.cpp.ll 419172475 gromacs/dtrmv.cpp.ll 187008484 gromacs/dtrsm.cpp.ll 419617540 -gromacs/dump.cpp.ll 315183429 +gromacs/dump.cpp.ll 314795743 gromacs/ebin.cpp.ll 216460375 gromacs/editconf.cpp.ll 954177743 gromacs/edsam.cpp.ll 3433115254 @@ -8384,7 +8384,7 @@ gromacs/eneconv.cpp.ll 621555134 gromacs/enerdata_utils.cpp.ll 649331654 gromacs/energydata.cpp.ll 1620147512 gromacs/energydrifttracker.cpp.ll 46813129 -gromacs/energyframe.cpp.ll 380607308 +gromacs/energyframe.cpp.ll 380184859 gromacs/energyhistory.cpp.ll 2018713445 gromacs/energyoutput.cpp.ll 1470775416 gromacs/energyterm.cpp.ll 375667324 @@ -8404,7 +8404,7 @@ gromacs/expandedensembleelement.cpp.ll 1540535203 gromacs/expfit.cpp.ll 354737636 gromacs/exponentialmovingaverage.cpp.ll 665954350 gromacs/extract_cluster.cpp.ll 520078101 -gromacs/fatalerror.cpp.ll 112232641 +gromacs/fatalerror.cpp.ll 112107193 gromacs/fflibutil.cpp.ll 456027119 gromacs/fft.cpp.ll 117158775 gromacs/fft5d.cpp.ll 738329717 @@ -8413,7 +8413,7 @@ gromacs/filenameoption.cpp.ll 1255656947 gromacs/filenameoptionmanager.cpp.ll 366522959 gromacs/filenm.cpp.ll 266867585 gromacs/fileredirector.cpp.ll 76225047 -gromacs/filestream.cpp.ll 353142339 +gromacs/filestream.cpp.ll 352778833 gromacs/filetypes.cpp.ll 166970780 gromacs/findallgputasks.cpp.ll 492944052 gromacs/firstorderpressurecoupling.cpp.ll 1846098336 @@ -8421,7 +8421,7 @@ gromacs/fitahx.cpp.ll 312846095 gromacs/fixpoint.c.ll 46494010 gromacs/force.cpp.ll 527387256 gromacs/forcebuffers.cpp.ll 387739669 -gromacs/forceelement.cpp.ll 1117444268 +gromacs/forceelement.cpp.ll 1116074532 gromacs/forcefieldparameters.cpp.ll 98342300 gromacs/forcerec.cpp.ll 2651471135 gromacs/forcetable.cpp.ll 1367876685 @@ -8430,7 +8430,7 @@ gromacs/freeenergyparameters.cpp.ll 91115754 gromacs/freeenergyperturbationdata.cpp.ll 1392812164 gromacs/freevolume.cpp.ll 912100859 gromacs/functions.cpp.ll 89319039 -gromacs/futil.cpp.ll 517344521 +gromacs/futil.cpp.ll 516800288 gromacs/g96io.cpp.ll 308152749 gromacs/ga2la.cpp.ll 202611568 gromacs/gausstransform.cpp.ll 847559274 @@ -8446,7 +8446,7 @@ gromacs/gmx_anaeig.cpp.ll 1344731678 gromacs/gmx_analyze.cpp.ll 1152178599 gromacs/gmx_angle.cpp.ll 364483190 gromacs/gmx_arpack.cpp.ll 2862717087 -gromacs/gmx_awh.cpp.ll 1004961199 +gromacs/gmx_awh.cpp.ll 1003663179 gromacs/gmx_bar.cpp.ll 3273704960 gromacs/gmx_bundle.cpp.ll 665037291 gromacs/gmx_chi.cpp.ll 3159916275 @@ -8459,7 +8459,7 @@ gromacs/gmx_density.cpp.ll 612443512 gromacs/gmx_densmap.cpp.ll 422969710 gromacs/gmx_densorder.cpp.ll 827235168 gromacs/gmx_dielectric.cpp.ll 406553706 -gromacs/gmx_dipoles.cpp.ll 1557703586 +gromacs/gmx_dipoles.cpp.ll 1559740377 gromacs/gmx_disre.cpp.ll 2380874544 gromacs/gmx_dos.cpp.ll 461273981 gromacs/gmx_dyecoupl.cpp.ll 421303354 @@ -8473,7 +8473,7 @@ gromacs/gmx_helix.cpp.ll 253665158 gromacs/gmx_helixorient.cpp.ll 513321232 gromacs/gmx_hydorder.cpp.ll 935468726 gromacs/gmx_internal_xdr.cpp.ll 140829056 -gromacs/gmx_lie.cpp.ll 196573212 +gromacs/gmx_lie.cpp.ll 196361930 gromacs/gmx_lmcurve.cpp.ll 78549702 gromacs/gmx_make_edi.cpp.ll 470266273 gromacs/gmx_mdmat.cpp.ll 431918549 @@ -8509,7 +8509,7 @@ gromacs/gmx_wham.cpp.ll 3343674937 gromacs/gmx_wheel.cpp.ll 294004748 gromacs/gmx_xpm2ps.cpp.ll 2748252336 gromacs/gmxassert.cpp.ll 34991544 -gromacs/gmxcalculatorcpu.cpp.ll 1315483399 +gromacs/gmxcalculatorcpu.cpp.ll 1313910999 gromacs/gmxcpp.cpp.ll 1364490342 gromacs/gmxfio.cpp.ll 398791680 gromacs/gmxfio_xdr.cpp.ll 403379577 @@ -8552,21 +8552,21 @@ gromacs/inffast.c.ll 165677027 gromacs/inflate.c.ll 1029369329 gromacs/inftrees.c.ll 134742073 gromacs/inmemoryserializer.cpp.ll 655974330 -gromacs/inputrec.cpp.ll 1765457564 +gromacs/inputrec.cpp.ll 1763487900 gromacs/insert_molecules.cpp.ll 1955530904 gromacs/integrate.cpp.ll 132092194 gromacs/integrator.cpp.ll 253025397 gromacs/interaction_const.cpp.ll 337408152 -gromacs/interactions.cpp.ll 809236294 +gromacs/interactions.cpp.ll 808375807 gromacs/invertmatrix.cpp.ll 78249066 gromacs/isamax.cpp.ll 49175208 -gromacs/isotope.cpp.ll 376320954 +gromacs/isotope.cpp.ll 375881918 gromacs/kernel_ElecEwTwinCut_VdwLJCombGeom_F.cpp.ll 1069868951 gromacs/kernel_ElecEwTwinCut_VdwLJCombGeom_VF.cpp.ll 1386996189 gromacs/kernel_ElecEwTwinCut_VdwLJCombGeom_VgrpF.cpp.ll 1486050422 gromacs/kernel_ElecEwTwinCut_VdwLJCombLB_F.cpp.ll 1138476952 gromacs/kernel_ElecEwTwinCut_VdwLJCombLB_VF.cpp.ll 1509182351 -gromacs/kernel_ElecEwTwinCut_VdwLJCombLB_VgrpF.cpp.ll 1607406358 +gromacs/kernel_ElecEwTwinCut_VdwLJCombLB_VgrpF.cpp.ll 1605584733 gromacs/kernel_ElecEwTwinCut_VdwLJEwCombGeom_F.cpp.ll 1329654944 gromacs/kernel_ElecEwTwinCut_VdwLJEwCombGeom_VF.cpp.ll 1715597093 gromacs/kernel_ElecEwTwinCut_VdwLJEwCombGeom_VgrpF.cpp.ll 1821620644 @@ -8577,7 +8577,7 @@ gromacs/kernel_ElecEwTwinCut_VdwLJPSw_F.cpp.ll 1322511460 gromacs/kernel_ElecEwTwinCut_VdwLJPSw_VF.cpp.ll 1566513122 gromacs/kernel_ElecEwTwinCut_VdwLJPSw_VgrpF.cpp.ll 1674063798 gromacs/kernel_ElecEwTwinCut_VdwLJ_F.cpp.ll 1091318096 -gromacs/kernel_ElecEwTwinCut_VdwLJ_VF.cpp.ll 1411320007 +gromacs/kernel_ElecEwTwinCut_VdwLJ_VF.cpp.ll 1409801898 gromacs/kernel_ElecEwTwinCut_VdwLJ_VgrpF.cpp.ll 1516268096 gromacs/kernel_ElecEw_VdwLJCombGeom_F.cpp.ll 1021166783 gromacs/kernel_ElecEw_VdwLJCombGeom_VF.cpp.ll 1338272094 @@ -8622,10 +8622,10 @@ gromacs/kernel_ElecQSTab_VdwLJCombLB_F.cpp.ll 1089393696 gromacs/kernel_ElecQSTab_VdwLJCombLB_VF.cpp.ll 1440062808 gromacs/kernel_ElecQSTab_VdwLJCombLB_VgrpF.cpp.ll 1540516784 gromacs/kernel_ElecQSTab_VdwLJEwCombGeom_F.cpp.ll 1306927412 -gromacs/kernel_ElecQSTab_VdwLJEwCombGeom_VF.cpp.ll 1677800501 +gromacs/kernel_ElecQSTab_VdwLJEwCombGeom_VF.cpp.ll 1675936165 gromacs/kernel_ElecQSTab_VdwLJEwCombGeom_VgrpF.cpp.ll 1782223046 gromacs/kernel_ElecQSTab_VdwLJFSw_F.cpp.ll 1173264627 -gromacs/kernel_ElecQSTab_VdwLJFSw_VF.cpp.ll 1516822002 +gromacs/kernel_ElecQSTab_VdwLJFSw_VF.cpp.ll 1515170327 gromacs/kernel_ElecQSTab_VdwLJFSw_VgrpF.cpp.ll 1620884614 gromacs/kernel_ElecQSTab_VdwLJPSw_F.cpp.ll 1301983779 gromacs/kernel_ElecQSTab_VdwLJPSw_VF.cpp.ll 1533405678 @@ -8646,12 +8646,12 @@ gromacs/kernel_ElecRF_VdwLJFSw_F.cpp.ll 1056807349 gromacs/kernel_ElecRF_VdwLJFSw_VF.cpp.ll 1341943366 gromacs/kernel_ElecRF_VdwLJFSw_VgrpF.cpp.ll 1446160914 gromacs/kernel_ElecRF_VdwLJPSw_F.cpp.ll 1189038071 -gromacs/kernel_ElecRF_VdwLJPSw_VF.cpp.ll 1358670500 +gromacs/kernel_ElecRF_VdwLJPSw_VF.cpp.ll 1356921020 gromacs/kernel_ElecRF_VdwLJPSw_VgrpF.cpp.ll 1463406811 gromacs/kernel_ElecRF_VdwLJ_F.cpp.ll 953658406 gromacs/kernel_ElecRF_VdwLJ_VF.cpp.ll 1194272718 gromacs/kernel_ElecRF_VdwLJ_VgrpF.cpp.ll 1299234364 -gromacs/kernel_gpu_ref.cpp.ll 273684894 +gromacs/kernel_gpu_ref.cpp.ll 273352144 gromacs/kernel_ref.cpp.ll 16505219594 gromacs/kernel_ref_prune.cpp.ll 255097702 gromacs/kerneldispatch.cpp.ll 471815435 @@ -8671,10 +8671,10 @@ gromacs/localatomset.cpp.ll 47703792 gromacs/localatomsetdata.cpp.ll 277263633 gromacs/localatomsetmanager.cpp.ll 403847970 gromacs/localtopology.cpp.ll 1847422074 -gromacs/localtopologychecker.cpp.ll 889860462 +gromacs/localtopologychecker.cpp.ll 888866884 gromacs/logger.cpp.ll 45087091 gromacs/loggerbuilder.cpp.ll 607836817 -gromacs/logging.cpp.ll 232390239 +gromacs/logging.cpp.ll 232126346 gromacs/long_range_correction.cpp.ll 212599778 gromacs/lz77.c.ll 165051306 gromacs/make_ndx.cpp.ll 2055981204 @@ -8692,7 +8692,7 @@ gromacs/md5.cpp.ll 340700934 gromacs/md_support.cpp.ll 917085722 gromacs/mdatoms.cpp.ll 1440369606 gromacs/mdebin_bar.cpp.ll 1082690281 -gromacs/mdmodules.cpp.ll 1251362222 +gromacs/mdmodules.cpp.ll 1249734393 gromacs/mdmodulesnotifiers.cpp.ll 131710978 gromacs/mdoutf.cpp.ll 623291338 gromacs/mdrun.cpp.ll 797699696 @@ -8701,16 +8701,16 @@ gromacs/mdsignals.cpp.ll 347809509 gromacs/membed.cpp.ll 1906616116 gromacs/membedholder.cpp.ll 48153809 gromacs/mempool.cpp.ll 210388448 -gromacs/message_string_collector.cpp.ll 253560017 +gromacs/message_string_collector.cpp.ll 253286228 gromacs/methane-water-integration.cpp.ll 3257962671 -gromacs/mimic.cpp.ll 772038399 +gromacs/mimic.cpp.ll 771225000 gromacs/minimize.cpp.ll 3210551488 gromacs/mk_angndx.cpp.ll 294849428 gromacs/modularsimulator.cpp.ll 2297724979 gromacs/modules.cpp.ll 173478180 gromacs/molecules.cpp.ll 3766758114 gromacs/mpiinfo.cpp.ll 5492592129 -gromacs/mrcdensitymap.cpp.ll 771752811 +gromacs/mrcdensitymap.cpp.ll 770839033 gromacs/mrcdensitymapheader.cpp.ll 447058111 gromacs/mrcserializer.cpp.ll 285054839 gromacs/msd.cpp.ll 2827481911 @@ -8726,15 +8726,15 @@ gromacs/muParserCallback.cpp.ll 208152681 gromacs/muParserDLL.cpp.ll 1196158667 gromacs/muParserError.cpp.ll 281243927 gromacs/muParserInt.cpp.ll 224953884 -gromacs/muParserTest.cpp.ll 2697523408 +gromacs/muParserTest.cpp.ll 2701666023 gromacs/muParserTokenReader.cpp.ll 2056024507 gromacs/multipletimestepping.cpp.ll 597746403 gromacs/multisim.cpp.ll 406348991 gromacs/nb_free_energy.cpp.ll 39141921153 -gromacs/nbnxm.cpp.ll 400007771 +gromacs/nbnxm.cpp.ll 399481282 gromacs/nbnxm_geometry.cpp.ll 47835225 gromacs/nbnxm_setup.cpp.ll 740723267 -gromacs/nbnxmsetuphelpers.cpp.ll 911221192 +gromacs/nbnxmsetuphelpers.cpp.ll 910306469 gromacs/nbsearch.cpp.ll 1735745188 gromacs/neldermead.cpp.ll 812759570 gromacs/nm2type.cpp.ll 368981432 @@ -8760,18 +8760,18 @@ gromacs/p2p_protocol.cpp.ll 277228849 gromacs/p2p_send_recv.cpp.ll 66653573 gromacs/p2p_wait.cpp.ll 184388220 gromacs/pairdist.cpp.ll 1327702906 -gromacs/pairlist.cpp.ll 7882685661 +gromacs/pairlist.cpp.ll 7894817678 gromacs/pairlist_simd_kernel.cpp.ll 575426199 gromacs/pairlist_tuning.cpp.ll 514179723 gromacs/pairlistparams.cpp.ll 42914815 -gromacs/pairlistset.cpp.ll 297557994 +gromacs/pairlistset.cpp.ll 297150786 gromacs/pairlistwork.cpp.ll 187391982 gromacs/pairs.cpp.ll 810677459 gromacs/pairsearch.cpp.ll 314253638 gromacs/parallel_3dfft.cpp.ll 90491513 gromacs/params.cpp.ll 2429635994 -gromacs/pargs.cpp.ll 1525624103 -gromacs/parrinellorahmanbarostat.cpp.ll 2014431497 +gromacs/pargs.cpp.ll 1523821724 +gromacs/parrinellorahmanbarostat.cpp.ll 2012295058 gromacs/parser.cpp.ll 1358520449 gromacs/parsetree.cpp.ll 1152215126 gromacs/particlesequencer.cpp.ll 846091656 @@ -8808,7 +8808,7 @@ gromacs/powerspect.cpp.ll 144977239 gromacs/pp2shift.cpp.ll 336220211 gromacs/princ.cpp.ll 256922679 gromacs/printtime.cpp.ll 51576553 -gromacs/programcontext.cpp.ll 80046026 +gromacs/programcontext.cpp.ll 79959754 gromacs/propagator.cpp.ll 7908855836 gromacs/prunekerneldispatch.cpp.ll 159052996 gromacs/pull.cpp.ll 3395144564 @@ -8821,7 +8821,7 @@ gromacs/qmmmforceprovider_stub.cpp.ll 672659689 gromacs/qmmminputgenerator.cpp.ll 992154506 gromacs/qmmmoptions.cpp.ll 4386515776 gromacs/qmmmtopologypreprocessor.cpp.ll 2397052113 -gromacs/quadraticsplinetable.cpp.ll 822769602 +gromacs/quadraticsplinetable.cpp.ll 821742673 gromacs/rbin.cpp.ll 120734826 gromacs/rdf.cpp.ll 1554994691 gromacs/read_params.cpp.ll 1467022786 @@ -8850,7 +8850,7 @@ gromacs/rf_util.cpp.ll 40159119 gromacs/rle.c.ll 88439582 gromacs/rmpbc.cpp.ll 176786597 gromacs/rstparser.cpp.ll 162086772 -gromacs/runner.cpp.ll 4624246762 +gromacs/runner.cpp.ll 4619305475 gromacs/runnercommon.cpp.ll 539702004 gromacs/sasa.cpp.ll 1478553817 gromacs/sasum.cpp.ll 57883214 @@ -8859,11 +8859,11 @@ gromacs/sbdsdc.cpp.ll 161037538 gromacs/sbdsqr.cpp.ll 377387747 gromacs/scanner.cpp.ll 426458403 gromacs/scanner_internal.cpp.ll 370871722 -gromacs/scattering-debye-sans.cpp.ll 269511599 -gromacs/scattering-debye-saxs.cpp.ll 349874442 +gromacs/scattering-debye-sans.cpp.ll 269175170 +gromacs/scattering-debye-saxs.cpp.ll 349388918 gromacs/scattering-debye.cpp.ll 918086119 gromacs/scattering.cpp.ll 1403595511 -gromacs/scatteringfactors.cpp.ll 197544569 +gromacs/scatteringfactors.cpp.ll 197289040 gromacs/scopy.cpp.ll 61940341 gromacs/sdot.cpp.ll 61712814 gromacs/seed.cpp.ll 123441489 @@ -8871,7 +8871,7 @@ gromacs/select.cpp.ll 1950972824 gromacs/selection.cpp.ll 618320753 gromacs/selectioncollection.cpp.ll 1784103885 gromacs/selectionoption.cpp.ll 1190931521 -gromacs/selectionoptionbehavior.cpp.ll 268030208 +gromacs/selectionoptionbehavior.cpp.ll 267728428 gromacs/selectionoptionmanager.cpp.ll 593691353 gromacs/selelem.cpp.ll 681347702 gromacs/selhelp.cpp.ll 618021121 @@ -8883,7 +8883,7 @@ gromacs/setforces.cpp.ll 188877493 gromacs/setprecision.cpp.ll 180080535 gromacs/settle.cpp.ll 4180292771 gromacs/setup.cpp.ll 673793550 -gromacs/setvelocities.cpp.ll 188977158 +gromacs/setvelocities.cpp.ll 188776708 gromacs/sfactor.cpp.ll 536635426 gromacs/sgebrd.cpp.ll 93704286 gromacs/sgemm.cpp.ll 273876859 @@ -8892,19 +8892,19 @@ gromacs/sger.cpp.ll 72272622 gromacs/sgesdd.cpp.ll 149357347 gromacs/sgetri.cpp.ll 121257262 gromacs/shake.cpp.ll 952165593 -gromacs/shellcompletions.cpp.ll 314518307 +gromacs/shellcompletions.cpp.ll 314074275 gromacs/shellfc.cpp.ll 1962580191 gromacs/sighandler.cpp.ll 184523333 -gromacs/signallers.cpp.ll 466652149 +gromacs/signallers.cpp.ll 466145168 gromacs/sim_util.cpp.ll 2165793289 gromacs/simd_energy_accumulator.cpp.ll 459134965 gromacs/simd_prune_kernel.cpp.ll 383369342 gromacs/simd_support.cpp.ll 387032972 -gromacs/simulationinput.cpp.ll 103997168 -gromacs/simulationinputhandle.cpp.ll 331893415 +gromacs/simulationinput.cpp.ll 103875638 +gromacs/simulationinputhandle.cpp.ll 331501312 gromacs/simulationsignal.cpp.ll 82996089 gromacs/simulationstate.cpp.ll 2887019902 -gromacs/simulatoralgorithm.cpp.ll 5414884792 +gromacs/simulatoralgorithm.cpp.ll 5408958389 gromacs/simulatorbuilder.cpp.ll 898194159 gromacs/slabrd.cpp.ll 146254909 gromacs/slacpy.cpp.ll 64175730 @@ -8946,7 +8946,7 @@ gromacs/sm_permute.cpp.ll 259074181 gromacs/sm_position.cpp.ll 76508443 gromacs/sm_same.cpp.ll 499383228 gromacs/sm_simple.cpp.ll 463379627 -gromacs/smalloc.cpp.ll 99447654 +gromacs/smalloc.cpp.ll 99340626 gromacs/snrm2.cpp.ll 48022903 gromacs/solvate.cpp.ll 1756078565 gromacs/sorgbr.cpp.ll 75238911 @@ -8984,7 +8984,7 @@ gromacs/statistics.cpp.ll 307464978 gromacs/stophandler.cpp.ll 518476170 gromacs/strconvert.cpp.ll 272203482 gromacs/strdb.cpp.ll 148059171 -gromacs/stringstream.cpp.ll 115319009 +gromacs/stringstream.cpp.ll 115201580 gromacs/stringutil.cpp.ll 520446317 gromacs/strmm.cpp.ll 415954238 gromacs/strmv.cpp.ll 185395901 @@ -9004,13 +9004,13 @@ gromacs/textwriter.cpp.ll 270895215 gromacs/tgroup.cpp.ll 85227722 gromacs/thermochemistry.cpp.ll 119765743 gromacs/threadaffinity.cpp.ll 446841721 -gromacs/threaded_force_buffer.cpp.ll 1620924621 +gromacs/threaded_force_buffer.cpp.ll 1619038528 gromacs/timeunitmanager.cpp.ll 516171687 gromacs/tmpi_init.cpp.ll 199138494 gromacs/tng_compress.c.ll 1249780003 gromacs/tng_io.c.ll 5826438511 gromacs/tngio.cpp.ll 1007715694 -gromacs/tomorse.cpp.ll 576151858 +gromacs/tomorse.cpp.ll 575472088 gromacs/topdirs.cpp.ll 612702141 gromacs/topio.cpp.ll 2546664791 gromacs/topology.cpp.ll 20174063182 @@ -9022,13 +9022,13 @@ gromacs/topshake.cpp.ll 614221918 gromacs/topsort.cpp.ll 230731102 gromacs/toputil.cpp.ll 481418233 gromacs/tpi.cpp.ll 1666891940 -gromacs/tpr.cpp.ll 2056862131 +gromacs/tpr.cpp.ll 2054141870 gromacs/tpxio.cpp.ll 5656065321 gromacs/trajectory.cpp.ll 446060169 -gromacs/trajectory_writing.cpp.ll 251053256 +gromacs/trajectory_writing.cpp.ll 250790683 gromacs/trajectoryelement.cpp.ll 574779762 gromacs/trajectoryframe.cpp.ll 239762221 -gromacs/transformationcoordinate.cpp.ll 236114651 +gromacs/transformationcoordinate.cpp.ll 235856833 gromacs/transformations.cpp.ll 5409044692 gromacs/trees.c.ll 698485002 gromacs/treesupport.cpp.ll 1661322539 @@ -9068,7 +9068,7 @@ gromacs/xtc3.c.ll 1264060568 gromacs/xtcio.cpp.ll 124969797 gromacs/xvgr.cpp.ll 863561358 grpc/activity.cc.ll 273837146 -grpc/address_filtering.cc.ll 977867469 +grpc/address_filtering.cc.ll 976727232 grpc/aes_gcm.cc.ll 478257891 grpc/alts_counter.cc.ll 61658938 grpc/alts_credentials.cc.ll 134122019 @@ -9088,19 +9088,19 @@ grpc/alts_tsi_utils.cc.ll 65473577 grpc/alts_unseal_privacy_integrity_crypter.cc.ll 49849597 grpc/alts_zero_copy_grpc_protector.cc.ll 138124133 grpc/api.cc.ll 250598489 -grpc/arena.cc.ll 114651780 +grpc/arena.cc.ll 114528672 grpc/ares_resolver.cc.ll 3056050470 grpc/audit_logging.cc.ll 450326379 grpc/authorization_policy_provider_vtable.cc.ll 63493644 -grpc/aws_external_account_credentials.cc.ll 2493250215 +grpc/aws_external_account_credentials.cc.ll 2490085775 grpc/aws_request_signer.cc.ll 1301954048 grpc/b64.cc.ll 157270079 grpc/backend_metric.cc.ll 449803762 -grpc/backend_metric_filter.cc.ll 1486069918 +grpc/backend_metric_filter.cc.ll 1483811433 grpc/backoff.cc.ll 203021890 grpc/backup_poller.cc.ll 136125080 grpc/basic_work_queue.cc.ll 268865381 -grpc/batch_builder.cc.ll 1517657127 +grpc/batch_builder.cc.ll 1515590199 grpc/bdp_estimator.cc.ll 103413406 grpc/bin_decoder.cc.ll 144258592 grpc/bin_encoder.cc.ll 205720283 @@ -9123,53 +9123,53 @@ grpc/channel.cc.ll 1072817891 grpc/channel_args.cc.ll 1781642056 grpc/channel_args_endpoint_config.cc.ll 65038965 grpc/channel_connectivity.cc.ll 447682063 -grpc/channel_creds_registry_init.cc.ll 1227213076 +grpc/channel_creds_registry_init.cc.ll 1225836886 grpc/channel_idle_filter.cc.ll 3351442011 grpc/channel_init.cc.ll 2153381816 grpc/channel_ping.cc.ll 110491111 grpc/channel_stack.cc.ll 1234435827 -grpc/channel_stack_builder.cc.ll 162475107 +grpc/channel_stack_builder.cc.ll 162257785 grpc/channel_stack_builder_impl.cc.ll 240450878 grpc/channel_trace.cc.ll 1177067703 grpc/channelz.cc.ll 3226487787 -grpc/channelz_registry.cc.ll 1796260849 +grpc/channelz_registry.cc.ll 1793845164 grpc/check_gcp_environment.cc.ll 55398144 grpc/child_policy_handler.cc.ll 483307290 grpc/chttp2_connector.cc.ll 940507950 grpc/chttp2_server.cc.ll 2582828740 grpc/chttp2_transport.cc.ll 9078937117 grpc/client_auth_filter.cc.ll 2295766739 -grpc/client_authority_filter.cc.ll 1224300989 +grpc/client_authority_filter.cc.ll 1222841150 grpc/client_channel.cc.ll 12719415509 -grpc/client_channel_channelz.cc.ll 1263712143 +grpc/client_channel_channelz.cc.ll 1262365901 grpc/client_channel_factory.cc.ll 43878268 grpc/client_channel_plugin.cc.ll 72188356 grpc/client_channel_service_config.cc.ll 541795643 -grpc/client_load_reporting_filter.cc.ll 1398143162 +grpc/client_load_reporting_filter.cc.ll 1396232148 grpc/closure.cc.ll 158400544 grpc/combiner.cc.ll 394305223 grpc/completion_queue.cc.ll 671176728 grpc/completion_queue_factory.cc.ll 119800326 -grpc/composite_credentials.cc.ll 1604468789 +grpc/composite_credentials.cc.ll 1601980268 grpc/compression.cc.ll 67831523 -grpc/compression_filter.cc.ll 2781402786 +grpc/compression_filter.cc.ll 2778123399 grpc/compression_internal.cc.ll 524312489 grpc/config.cc.ll 589325167 grpc/config_selector.cc.ll 65510103 grpc/connected_channel.cc.ll 11520508641 grpc/connectivity_state.cc.ll 433317017 -grpc/core_configuration.cc.ll 774611924 +grpc/core_configuration.cc.ll 773498479 grpc/credentials.cc.ll 183684988 grpc/credentials_generic.cc.ll 79740004 -grpc/deadline_filter.cc.ll 1244290048 -grpc/default_event_engine.cc.ll 354329891 -grpc/default_event_engine_factory.cc.ll 68944211 +grpc/deadline_filter.cc.ll 1242160640 +grpc/default_event_engine.cc.ll 353834519 +grpc/default_event_engine_factory.cc.ll 68867786 grpc/directory_reader.cc.ll 103951228 grpc/dns_resolver.cc.ll 768525241 grpc/dns_resolver_ares.cc.ll 2060838693 -grpc/dns_resolver_plugin.cc.ll 106043703 +grpc/dns_resolver_plugin.cc.ll 105888412 grpc/dualstack_socket_posix.cc.ll 42049544 -grpc/dynamic_filters.cc.ll 267735710 +grpc/dynamic_filters.cc.ll 267465155 grpc/endpoint.cc.ll 575635678 grpc/endpoint_addresses.cc.ll 507664420 grpc/endpoint_list.cc.ll 1460715953 @@ -9186,15 +9186,15 @@ grpc/event_poller_posix_default.cc.ll 289262314 grpc/event_string.cc.ll 209134472 grpc/exec_ctx.cc.ll 81624217 grpc/executor.cc.ll 336979079 -grpc/external_account_credentials.cc.ll 2751012955 -grpc/fake_credentials.cc.ll 2064876773 +grpc/external_account_credentials.cc.ll 2747908825 +grpc/fake_credentials.cc.ll 2062324690 grpc/fake_resolver.cc.ll 841371634 grpc/fake_security_connector.cc.ll 439627594 grpc/fake_transport_security.cc.ll 299458970 -grpc/fault_injection_filter.cc.ll 2903213915 +grpc/fault_injection_filter.cc.ll 2899861158 grpc/fault_injection_service_config_parser.cc.ll 610006059 grpc/file_external_account_credentials.cc.ll 953096665 -grpc/file_watcher_certificate_provider_factory.cc.ll 536100883 +grpc/file_watcher_certificate_provider_factory.cc.ll 535397306 grpc/flow_control.cc.ll 561701952 grpc/fork_posix.cc.ll 123088148 grpc/forkable.cc.ll 366410109 @@ -9206,22 +9206,22 @@ grpc/frame_ping.cc.ll 152639188 grpc/frame_rst_stream.cc.ll 257066251 grpc/frame_settings.cc.ll 212294037 grpc/frame_window_update.cc.ll 157286294 -grpc/global_subchannel_pool.cc.ll 281706670 +grpc/global_subchannel_pool.cc.ll 281332406 grpc/google_c2p_resolver.cc.ll 2185233594 grpc/google_default_credentials.cc.ll 1248350169 grpc/grpc_ares_ev_driver_posix.cc.ll 335376227 grpc/grpc_ares_wrapper.cc.ll 1007975988 grpc/grpc_ares_wrapper_posix.cc.ll 40363078 -grpc/grpc_authorization_engine.cc.ll 549329781 +grpc/grpc_authorization_engine.cc.ll 548622257 grpc/grpc_context.cc.ll 48640415 -grpc/grpc_server_authz_filter.cc.ll 1354095494 +grpc/grpc_server_authz_filter.cc.ll 1352113978 grpc/grpc_tls_certificate_distributor.cc.ll 1358389352 grpc/grpc_tls_certificate_match.cc.ll 92610828 grpc/grpc_tls_certificate_provider.cc.ll 1988460571 grpc/grpc_tls_certificate_verifier.cc.ll 634165881 grpc/grpc_tls_credentials_options.cc.ll 293432516 grpc/grpc_tls_crl_provider.cc.ll 2076715363 -grpc/grpclb.cc.ll 5692838017 +grpc/grpclb.cc.ll 5686819779 grpc/handshaker.cc.ll 656349564 grpc/handshaker_registry.cc.ll 249597664 grpc/health_check_client.cc.ll 1665034612 @@ -9230,15 +9230,15 @@ grpc/hpack_encoder.cc.ll 629840759 grpc/hpack_encoder_table.cc.ll 165597157 grpc/hpack_parse_result.cc.ll 2143802192 grpc/hpack_parser.cc.ll 7638455448 -grpc/hpack_parser_table.cc.ll 2271250493 -grpc/http_client_filter.cc.ll 2037117947 +grpc/hpack_parser_table.cc.ll 2268495818 +grpc/http_client_filter.cc.ll 2034666703 grpc/http_connect_handshaker.cc.ll 336468828 grpc/http_filters_plugin.cc.ll 126095976 grpc/http_proxy_mapper.cc.ll 818274361 -grpc/http_server_filter.cc.ll 1968574578 +grpc/http_server_filter.cc.ll 1966183639 grpc/httpcli.cc.ll 1018550915 grpc/httpcli_security_connector.cc.ll 326228447 -grpc/iam_credentials.cc.ll 2101961849 +grpc/iam_credentials.cc.ll 2099169538 grpc/init.cc.ll 158262829 grpc/inproc_transport.cc.ll 2387259512 grpc/insecure_credentials.cc.ll 163396388 @@ -9248,7 +9248,7 @@ grpc/iomgr.cc.ll 155452711 grpc/iomgr_posix.cc.ll 186640202 grpc/json_object_loader.cc.ll 1523964445 grpc/json_reader.cc.ll 1940718745 -grpc/json_token.cc.ll 1180236158 +grpc/json_token.cc.ll 1178914024 grpc/json_util.cc.ll 263210859 grpc/json_writer.cc.ll 268336238 grpc/jwt_credentials.cc.ll 3095947480 @@ -9257,29 +9257,29 @@ grpc/lame_client.cc.ll 1437839420 grpc/lb_policy.cc.ll 246445349 grpc/lb_policy_registry.cc.ll 978266636 grpc/legacy_channel_idle_filter.cc.ll 3348744440 -grpc/legacy_compression_filter.cc.ll 2295369109 +grpc/legacy_compression_filter.cc.ll 2292988888 grpc/legacy_inproc_transport.cc.ll 5197473669 grpc/legacy_server_auth_filter.cc.ll 4249560216 grpc/load_balancer_api.cc.ll 460193131 grpc/load_system_roots_supported.cc.ll 179472587 -grpc/local_credentials.cc.ll 124598240 -grpc/local_security_connector.cc.ll 457075838 +grpc/local_credentials.cc.ll 124458797 +grpc/local_security_connector.cc.ll 456478130 grpc/local_subchannel_pool.cc.ll 217370187 grpc/local_transport_security.cc.ll 54336351 grpc/matchers.cc.ll 421706386 grpc/memory_quota.cc.ll 3584807115 grpc/message_compress.cc.ll 113662022 -grpc/message_size_filter.cc.ll 2603536911 +grpc/message_size_filter.cc.ll 2600651481 grpc/metadata_array.cc.ll 41130422 grpc/metadata_batch.cc.ll 533225729 grpc/metadata_query.cc.ll 402624856 grpc/native_dns_resolver.cc.ll 647684401 -grpc/oauth2_credentials.cc.ll 3682266077 +grpc/oauth2_credentials.cc.ll 3678408360 grpc/oob_backend_metric.cc.ll 899820815 grpc/outlier_detection.cc.ll 4644701371 grpc/parse_address.cc.ll 242398604 grpc/parser.cc.ll 935278097 -grpc/parsing.cc.ll 1232368198 +grpc/parsing.cc.ll 1233734897 grpc/party.cc.ll 485980499 grpc/per_cpu.cc.ll 43348414 grpc/percent_encoding.cc.ll 150559837 @@ -9294,21 +9294,21 @@ grpc/posix_endpoint.cc.ll 2336635401 grpc/posix_engine.cc.ll 3380539616 grpc/posix_engine_listener.cc.ll 908400678 grpc/posix_engine_listener_utils.cc.ll 517091020 -grpc/priority.cc.ll 3308846714 +grpc/priority.cc.ll 3304393069 grpc/promise_based_filter.cc.ll 7843836716 grpc/proxy_mapper_registry.cc.ll 267249343 grpc/random_early_detection.cc.ll 77862034 -grpc/rbac_filter.cc.ll 1267701437 +grpc/rbac_filter.cc.ll 1265896933 grpc/rbac_policy.cc.ll 988990783 grpc/rbac_service_config_parser.cc.ll 4513421146 grpc/resolve_address.cc.ll 109667617 grpc/resolve_address_posix.cc.ll 729980579 -grpc/resolver.cc.ll 51362468 +grpc/resolver.cc.ll 51307639 grpc/resolver_registry.cc.ll 676680862 grpc/resource_quota.cc.ll 350135257 grpc/retry_filter.cc.ll 244279266 grpc/retry_filter_legacy_call_data.cc.ll 5992317818 -grpc/retry_service_config.cc.ll 861225072 +grpc/retry_service_config.cc.ll 860274219 grpc/retry_throttle.cc.ll 256504797 grpc/ring_hash.cc.ll 4404274928 grpc/rls.cc.ll 10226363039 @@ -9319,12 +9319,12 @@ grpc/security_context.cc.ll 283738313 grpc/security_handshaker.cc.ll 984315857 grpc/server.cc.ll 6696297042 grpc/server_auth_filter.cc.ll 4529242777 -grpc/server_call_tracer_filter.cc.ll 1647730352 -grpc/server_config_selector_filter.cc.ll 1572368738 -grpc/service_config_channel_arg_filter.cc.ll 1256626613 +grpc/server_call_tracer_filter.cc.ll 1645745312 +grpc/server_config_selector_filter.cc.ll 1570425995 +grpc/service_config_channel_arg_filter.cc.ll 1254690152 grpc/service_config_helper.cc.ll 1115803167 grpc/service_config_impl.cc.ll 1567297467 -grpc/service_config_parser.cc.ll 321559497 +grpc/service_config_parser.cc.ll 321164262 grpc/sleep.cc.ll 198045650 grpc/slice.cc.ll 267841899 grpc/slice_buffer.cc.ll 417288070 @@ -9335,12 +9335,12 @@ grpc/socket_utils_linux.cc.ll 41807776 grpc/socket_utils_posix.cc.ll 110959758 grpc/ssl_credentials.cc.ll 308162874 grpc/ssl_key_logging.cc.ll 333614806 -grpc/ssl_security_connector.cc.ll 480421911 +grpc/ssl_security_connector.cc.ll 479920730 grpc/ssl_session_boringssl.cc.ll 98554205 grpc/ssl_session_cache.cc.ll 340298690 grpc/ssl_transport_security.cc.ll 882604752 grpc/ssl_utils.cc.ll 729022143 -grpc/stateful_session_filter.cc.ll 3872124093 +grpc/stateful_session_filter.cc.ll 3867557703 grpc/stateful_session_service_config_parser.cc.ll 431642070 grpc/static_stride_scheduler.cc.ll 224242860 grpc/stats.cc.ll 346101383 @@ -9352,7 +9352,7 @@ grpc/stdout_logger.cc.ll 193106979 grpc/stream_lists.cc.ll 159405228 grpc/subchannel.cc.ll 2777501016 grpc/subchannel_pool_interface.cc.ll 105652111 -grpc/subchannel_stream_client.cc.ll 1873480000 +grpc/subchannel_stream_client.cc.ll 1870751920 grpc/systemd_utils.cc.ll 102155649 grpc/tcp_client.cc.ll 511973147 grpc/tcp_client_posix.cc.ll 906094450 @@ -9363,15 +9363,15 @@ grpc/tcp_server_utils_posix_common.cc.ll 249589836 grpc/tcp_server_utils_posix_ifaddrs.cc.ll 303272087 grpc/tcp_socket_utils.cc.ll 504358481 grpc/thread_pool_factory.cc.ll 149044535 -grpc/thread_quota.cc.ll 57336117 +grpc/thread_quota.cc.ll 57269780 grpc/thready_event_engine.cc.ll 1423087704 grpc/time.cc.ll 242203601 grpc/time_averaged_stats.cc.ll 40759220 grpc/timeout_encoding.cc.ll 209496491 grpc/timer.cc.ll 375987390 grpc/timer_generic.cc.ll 383518817 -grpc/timer_manager.cc.ll 383798951 -grpc/tls_credentials.cc.ll 302819062 +grpc/timer_manager.cc.ll 383221897 +grpc/tls_credentials.cc.ll 302513087 grpc/tls_security_connector.cc.ll 1643932146 grpc/traced_buffer_list.cc.ll 445579306 grpc/transport.cc.ll 5145416984 @@ -9380,13 +9380,13 @@ grpc/transport_security.cc.ll 146965594 grpc/transport_security_common_api.cc.ll 201605111 grpc/unix_sockets_posix.cc.ll 148467861 grpc/uri_parser.cc.ll 1209399494 -grpc/url_external_account_credentials.cc.ll 1648491460 +grpc/url_external_account_credentials.cc.ll 1646605254 grpc/utils.cc.ll 79969646 grpc/validate_metadata.cc.ll 114325176 grpc/validation_errors.cc.ll 435085333 grpc/vsock.cc.ll 128146273 -grpc/wakeup_fd_eventfd.cc.ll 150443075 -grpc/wakeup_fd_pipe.cc.ll 168884021 +grpc/wakeup_fd_eventfd.cc.ll 150264487 +grpc/wakeup_fd_pipe.cc.ll 168714896 grpc/wakeup_fd_posix.cc.ll 47172752 grpc/weighted_round_robin.cc.ll 6208999920 grpc/weighted_target.cc.ll 3165291701 @@ -9400,9 +9400,9 @@ grpc/xds_bootstrap_grpc.cc.ll 3409573573 grpc/xds_certificate_provider.cc.ll 1459316781 grpc/xds_channel_stack_modifier.cc.ll 235065073 grpc/xds_client.cc.ll 8112974300 -grpc/xds_client_grpc.cc.ll 695732904 -grpc/xds_client_stats.cc.ll 658534045 -grpc/xds_cluster.cc.ll 3845697882 +grpc/xds_client_grpc.cc.ll 694705223 +grpc/xds_client_stats.cc.ll 657838220 +grpc/xds_cluster.cc.ll 3840747612 grpc/xds_cluster_impl.cc.ll 2459381621 grpc/xds_cluster_manager.cc.ll 2569293666 grpc/xds_cluster_resolver.cc.ll 8109442489 @@ -9420,7 +9420,7 @@ grpc/xds_listener.cc.ll 7070333950 grpc/xds_override_host.cc.ll 3455868302 grpc/xds_resolver.cc.ll 8523387651 grpc/xds_route_config.cc.ll 7316703682 -grpc/xds_routing.cc.ll 1511385124 +grpc/xds_routing.cc.ll 1509374451 grpc/xds_server_config_fetcher.cc.ll 7207402908 grpc/xds_transport_grpc.cc.ll 671070288 grpc/xds_wrr_locality.cc.ll 2480253471 @@ -9447,7 +9447,7 @@ hdf5/H5Adense.c.ll 373712543 hdf5/H5Adeprec.c.ll 98953866 hdf5/H5Aint.c.ll 471757781 hdf5/H5Atest.c.ll 41280053 -hdf5/H5B.c.ll 461247842 +hdf5/H5B.c.ll 462077123 hdf5/H5B2.c.ll 344714568 hdf5/H5B2cache.c.ll 252550558 hdf5/H5B2dbg.c.ll 92523822 @@ -9462,7 +9462,7 @@ hdf5/H5Bdbg.c.ll 105797632 hdf5/H5C.c.ll 471253146 hdf5/H5CX.c.ll 363696952 hdf5/H5Cdbg.c.ll 54555142 -hdf5/H5Centry.c.ll 1206118243 +hdf5/H5Centry.c.ll 1207533079 hdf5/H5Cepoch.c.ll 43220655 hdf5/H5Cimage.c.ll 804394724 hdf5/H5Cint.c.ll 472032195 @@ -9495,10 +9495,10 @@ hdf5/H5Doh.c.ll 82604302 hdf5/H5Dscatgath.c.ll 473023740 hdf5/H5Dselect.c.ll 148714236 hdf5/H5Dsingle.c.ll 72741431 -hdf5/H5Dtest.c.ll 52740266 +hdf5/H5Dtest.c.ll 52678797 hdf5/H5Dvirtual.c.ll 913434645 hdf5/H5E.c.ll 218872667 -hdf5/H5EA.c.ll 187513036 +hdf5/H5EA.c.ll 188450674 hdf5/H5EAcache.c.ll 449617727 hdf5/H5EAdbg.c.ll 130375546 hdf5/H5EAdblkpage.c.ll 68967266 @@ -9843,10 +9843,10 @@ hermes/CFG.cpp.ll 6894730897 hermes/CSE.cpp.ll 979787638 hermes/Callable.cpp.ll 2103808503 hermes/CharacterProperties.cpp.ll 682231248 -hermes/ChromeTraceSerializer.cpp.ll 1460507342 +hermes/ChromeTraceSerializer.cpp.ll 1459006724 hermes/CodeBlock.cpp.ll 203124497 hermes/CodeCoverageProfiler.cpp.ll 1019961500 -hermes/CodeMotion.cpp.ll 537393471 +hermes/CodeMotion.cpp.ll 536718774 hermes/CommandLine.cpp.ll 4545848663 hermes/CommonJS.cpp.ll 352698448 hermes/CompactArray.cpp.ll 102009617 @@ -9868,7 +9868,7 @@ hermes/Domain.cpp.ll 778269172 hermes/DummyObject.cpp.ll 231492821 hermes/Dumper.cpp.ll 1687753330 hermes/ES6Class.cpp.ll 6732804694 -hermes/ESTreeIRGen-except.cpp.ll 519095052 +hermes/ESTreeIRGen-except.cpp.ll 518509812 hermes/ESTreeIRGen-expr.cpp.ll 2338531642 hermes/ESTreeIRGen-func.cpp.ll 1401112695 hermes/ESTreeIRGen-stmt.cpp.ll 851585340 @@ -9879,7 +9879,7 @@ hermes/ErrorHandling.cpp.ll 117256113 hermes/Exceptions.cpp.ll 1245132958 hermes/Executor.cpp.ll 2089328824 hermes/FileCheck.cpp.ll 2664913505 -hermes/FlowHelpers.cpp.ll 196334414 +hermes/FlowHelpers.cpp.ll 196136026 hermes/FoldingSet.cpp.ll 479304818 hermes/FuncCallNOpts.cpp.ll 217731924 hermes/FuncSigOpts.cpp.ll 778548874 @@ -9889,7 +9889,7 @@ hermes/GeneratorPrototype.cpp.ll 234228623 hermes/GlobalObject.cpp.ll 792735710 hermes/GraphWriter.cpp.ll 506327511 hermes/HBC.cpp.ll 6130839330 -hermes/HBCParser.cpp.ll 1261810962 +hermes/HBCParser.cpp.ll 1260386428 hermes/HadesGC.cpp.ll 6864317676 hermes/HandleRootOwner.cpp.ll 81081356 hermes/HeapSnapshot.cpp.ll 116490889 @@ -9898,7 +9898,7 @@ hermes/HermesBuiltin.cpp.ll 1417836162 hermes/HermesInternal.cpp.ll 835695815 hermes/HermesValue.cpp.ll 181292767 hermes/HiddenClass.cpp.ll 1266588918 -hermes/HoistStartGenerator.cpp.ll 119327049 +hermes/HoistStartGenerator.cpp.ll 119183634 hermes/Host.cpp.ll 1170628845 hermes/HostModel.cpp.ll 303900946 hermes/IR.cpp.ll 4478192386 @@ -9939,7 +9939,7 @@ hermes/JSProxy.cpp.ll 1500237911 hermes/JSRegExp.cpp.ll 3421866213 hermes/JSTypedArray.cpp.ll 1553990587 hermes/JSWeakMapImpl.cpp.ll 887550063 -hermes/JSWeakRef.cpp.ll 183123016 +hermes/JSWeakRef.cpp.ll 182871795 hermes/LEB128.cpp.ll 167282660 hermes/LineIterator.cpp.ll 81793230 hermes/Logging.cpp.ll 34548969 @@ -9949,7 +9949,7 @@ hermes/MD5.cpp.ll 528374501 hermes/Math.cpp.ll 518717380 hermes/Mem2Reg.cpp.ll 4971944477 hermes/Memory.cpp.ll 80722354 -hermes/MemoryBuffer.cpp.ll 510605036 +hermes/MemoryBuffer.cpp.ll 509973309 hermes/MemorySizeParser.cpp.ll 68863255 hermes/Metadata.cpp.ll 301539827 hermes/MicrosoftDemangle.cpp.ll 2532582942 @@ -9987,7 +9987,7 @@ hermes/SamplingProfilerSampler.cpp.ll 753032600 hermes/ScopeTransformations.cpp.ll 558529005 hermes/SegmentedArray.cpp.ll 1238528974 hermes/SemanticValidator.cpp.ll 5307872300 -hermes/SerializedLiteralGenerator.cpp.ll 407177966 +hermes/SerializedLiteralGenerator.cpp.ll 406735154 hermes/Set.cpp.ll 559300164 hermes/Signals.cpp.ll 486294014 hermes/SimpleBytecodeBuilder.cpp.ll 414462329 @@ -10036,13 +10036,13 @@ hermes/UniquingFilenameTable.cpp.ll 322622677 hermes/UniquingStringLiteralTable.cpp.ll 2330943617 hermes/Utils.cpp.ll 290501062 hermes/WeakMap.cpp.ll 323674822 -hermes/WeakSet.cpp.ll 278708564 +hermes/WeakSet.cpp.ll 278409370 hermes/c-api.cpp.ll 457871731 hermes/circular_raw_ostream.cpp.ll 72898750 hermes/dependency-extractor.cpp.ll 1109704269 hermes/dtoa.c.ll 2027376970 hermes/emdependency-extractor.cpp.ll 1059892108 -hermes/emhermesc.cpp.ll 784662064 +hermes/emhermesc.cpp.ll 783678809 hermes/escape.cpp.ll 1156849506 hermes/eval.cpp.ll 311768225 hermes/g_fmt.c.ll 75521206 @@ -10070,10 +10070,10 @@ hermes/rust-api.cpp.ll 2261733821 hermes/rustgen.cpp.ll 5078148013 hermes/synth.cpp.ll 1931335225 hermes/zip.c.ll 4241916999 -html5ever-rs/102v6xburpu2qkif.ll 129972575 +html5ever-rs/102v6xburpu2qkif.ll 129822618 html5ever-rs/126f7y4y0nk6dpjh.ll 545093146 html5ever-rs/16nt8vgyvcmyshf2.ll 128933164 -html5ever-rs/19ci5iy6gkdi8zuj.ll 219935227 +html5ever-rs/19ci5iy6gkdi8zuj.ll 219705542 html5ever-rs/1c9wisiomueezeur.ll 545814724 html5ever-rs/1gn06q17cru09u2n.ll 94371215 html5ever-rs/1l7aj4ykki4ycs65.ll 146537805 @@ -10102,7 +10102,7 @@ html5ever-rs/3n74qlghvzguzx1d.ll 109296824 html5ever-rs/3yf7dd26qc4nc3nw.ll 464549093 html5ever-rs/427f68nqtcfpg289.ll 641083885 html5ever-rs/4325nz1rw7m9fcm6.ll 146295585 -html5ever-rs/43v1czcn8mbp77o0.ll 140290594 +html5ever-rs/43v1czcn8mbp77o0.ll 140149131 html5ever-rs/453rv8cpsu1qvujv.ll 154424328 html5ever-rs/4dkjnn2l9aykvefm.ll 108297051 html5ever-rs/4dpxytvfbzbus9g7.ll 375799142 @@ -10130,7 +10130,7 @@ hwloc/hwloc-bind.ll 1025257326 hwloc/hwloc-calc.ll 1027063314 hwloc/hwloc-diff.ll 89331022 hwloc/hwloc-distrib.ll 404388126 -hwloc/hwloc-gather-cpuid.ll 658383434 +hwloc/hwloc-gather-cpuid.ll 659050053 hwloc/hwloc-info.ll 1044369929 hwloc/hwloc-patch.ll 92764177 hwloc/hwloc-ps.ll 360380866 @@ -10173,11 +10173,11 @@ hyperscan/AsciiComponentClass.cpp.ll 247712322 hyperscan/Component.cpp.ll 40189786 hyperscan/ComponentAlternation.cpp.ll 574281317 hyperscan/ComponentAssertion.cpp.ll 253210338 -hyperscan/ComponentAtomicGroup.cpp.ll 240838007 -hyperscan/ComponentBackReference.cpp.ll 58247981 +hyperscan/ComponentAtomicGroup.cpp.ll 240546930 +hyperscan/ComponentBackReference.cpp.ll 58174807 hyperscan/ComponentBoundary.cpp.ll 349810729 hyperscan/ComponentByte.cpp.ll 141598193 -hyperscan/ComponentClass.cpp.ll 451048994 +hyperscan/ComponentClass.cpp.ll 456248287 hyperscan/ComponentCondReference.cpp.ll 318505109 hyperscan/ComponentEUS.cpp.ll 144519369 hyperscan/ComponentEmpty.cpp.ll 107409622 @@ -10185,9 +10185,9 @@ hyperscan/ComponentRepeat.cpp.ll 1105638044 hyperscan/ComponentSequence.cpp.ll 1328887873 hyperscan/ComponentVisitor.cpp.ll 59666375 hyperscan/ComponentWordBoundary.cpp.ll 143904814 -hyperscan/ConstComponentVisitor.cpp.ll 70345857 +hyperscan/ConstComponentVisitor.cpp.ll 70262437 hyperscan/Parser.cpp.ll 5397013744 -hyperscan/Utf8ComponentClass.cpp.ll 2188904124 +hyperscan/Utf8ComponentClass.cpp.ll 2191443874 hyperscan/accel_dfa_build_strat.cpp.ll 4806023111 hyperscan/accelcompile.cpp.ll 245819752 hyperscan/alloc.cpp.ll 39813458 @@ -10226,12 +10226,12 @@ hyperscan/fdr_engine_description.cpp.ll 232297992 hyperscan/flood_compile.cpp.ll 533147337 hyperscan/gough.c.ll 836602116 hyperscan/goughcompile.cpp.ll 11281051087 -hyperscan/goughcompile_accel.cpp.ll 2714180718 +hyperscan/goughcompile_accel.cpp.ll 2711344884 hyperscan/goughcompile_reg.cpp.ll 4338375372 hyperscan/gtest-all.cc.ll 7448459857 -hyperscan/hs.cpp.ll 594248861 +hyperscan/hs.cpp.ll 593591649 hyperscan/hwlm.c.ll 891782557 -hyperscan/hwlm_build.cpp.ll 614829393 +hyperscan/hwlm_build.cpp.ll 614145585 hyperscan/identical.cpp.ll 1556312472 hyperscan/lbr.c.ll 3472246466 hyperscan/limex_64.c.ll 2060320696 @@ -10256,8 +10256,8 @@ hyperscan/multibit_build.cpp.ll 462140204 hyperscan/nfa_api_dispatch.c.ll 268663050 hyperscan/ng.cpp.ll 1165023855 hyperscan/ng_anchored_dots.cpp.ll 2566002260 -hyperscan/ng_asserts.cpp.ll 2200499488 -hyperscan/ng_builder.cpp.ll 896279007 +hyperscan/ng_asserts.cpp.ll 2198292118 +hyperscan/ng_builder.cpp.ll 895363542 hyperscan/ng_calc_components.cpp.ll 5873866296 hyperscan/ng_corpus_generator.cpp.ll 1595208589 hyperscan/ng_corpus_properties.cpp.ll 137959254 @@ -10270,10 +10270,10 @@ hyperscan/ng_execute.cpp.ll 3891823192 hyperscan/ng_expr_info.cpp.ll 1022552036 hyperscan/ng_extparam.cpp.ll 3315746373 hyperscan/ng_find_matches.cpp.ll 2974027966 -hyperscan/ng_fixed_width.cpp.ll 833326753 +hyperscan/ng_fixed_width.cpp.ll 832280505 hyperscan/ng_fuzzy.cpp.ll 3837995971 hyperscan/ng_haig.cpp.ll 11680699938 -hyperscan/ng_holder.cpp.ll 696607266 +hyperscan/ng_holder.cpp.ll 695550842 hyperscan/ng_is_equal.cpp.ll 2058600721 hyperscan/ng_lbr.cpp.ll 923193960 hyperscan/ng_limex.cpp.ll 6279735319 @@ -10291,7 +10291,7 @@ hyperscan/ng_redundancy.cpp.ll 4981751570 hyperscan/ng_region.cpp.ll 5313880921 hyperscan/ng_region_redundancy.cpp.ll 1876716380 hyperscan/ng_repeat.cpp.ll 17404096994 -hyperscan/ng_reports.cpp.ll 539662244 +hyperscan/ng_reports.cpp.ll 539102151 hyperscan/ng_restructuring.cpp.ll 1934535185 hyperscan/ng_revacc.cpp.ll 845058149 hyperscan/ng_small_literal_set.cpp.ll 1751739494 @@ -10337,7 +10337,7 @@ hyperscan/rose_build_lookaround.cpp.ll 1962486493 hyperscan/rose_build_matchers.cpp.ll 2480621580 hyperscan/rose_build_merge.cpp.ll 9258227944 hyperscan/rose_build_misc.cpp.ll 1471738975 -hyperscan/rose_build_program.cpp.ll 4313995652 +hyperscan/rose_build_program.cpp.ll 4318645110 hyperscan/rose_build_role_aliasing.cpp.ll 6670296787 hyperscan/rose_build_width.cpp.ll 330866979 hyperscan/rose_in_util.cpp.ll 1352455243 @@ -10348,7 +10348,7 @@ hyperscan/scratch_op.cpp.ll 1519336829 hyperscan/serialize.cpp.ll 2597957059 hyperscan/sheng.c.ll 1630706140 hyperscan/shengcompile.cpp.ll 3460518455 -hyperscan/shortcut_literal.cpp.ll 340992556 +hyperscan/shortcut_literal.cpp.ll 340603383 hyperscan/shufti.c.ll 137696753 hyperscan/shufticompile.cpp.ll 1097278325 hyperscan/single.cpp.ll 3061001188 @@ -10383,7 +10383,7 @@ icu/bmpset.ll 589562663 icu/bocsu.ll 127285205 icu/brkeng.ll 235600814 icu/brkiter.ll 230943075 -icu/brktrans.ll 187556932 +icu/brktrans.ll 187363149 icu/buddhcal.ll 81066476 icu/bytesinkutil.ll 149090380 icu/bytestream.ll 54986443 @@ -10396,12 +10396,12 @@ icu/caniter.ll 377613699 icu/casetrn.ll 84101303 icu/cecal.ll 70509876 icu/characterproperties.ll 253821256 -icu/chariter.ll 65226536 +icu/chariter.ll 65149189 icu/charstr.ll 216344245 icu/chnsecal.ll 266144909 icu/choicfmt.ll 253837600 icu/coleitr.ll 300804980 -icu/coll.ll 397318898 +icu/coll.ll 396826386 icu/collation.ll 79119942 icu/collationbuilder.ll 1056253950 icu/collationcompare.ll 249434270 @@ -10435,16 +10435,16 @@ icu/ctest.ll 384859048 icu/curramt.ll 54240280 icu/currfmt.ll 45421388 icu/currpinf.ll 301351229 -icu/currunit.ll 120464552 +icu/currunit.ll 120330952 icu/dangical.ll 152025595 -icu/datamap.ll 156099150 +icu/datamap.ll 155917135 icu/date.ll 208656265 icu/datefmt.ll 330152079 icu/dayperiodrules.ll 441913632 icu/dbgutil.ll 195352321 icu/dcfmtsym.ll 526360069 icu/decContext.ll 93003108 -icu/decNumber.ll 2736344272 +icu/decNumber.ll 2741585894 icu/decimfmt.ll 1038298933 icu/denseranges.ll 115095836 icu/derb.ll 338221531 @@ -10496,7 +10496,7 @@ icu/gender.ll 197884346 icu/gendict.ll 320027231 icu/genmbcs.ll 803974218 icu/gennorm2.ll 201822223 -icu/genrb.ll 468541829 +icu/genrb.ll 468036523 icu/gensprep.ll 101516580 icu/gentest.ll 122191580 icu/gregocal.ll 293268049 @@ -10528,7 +10528,7 @@ icu/lsr.ll 149921610 icu/lstmbe.ll 576114820 icu/makeconv.ll 374338520 icu/measfmt.ll 620895732 -icu/measunit.ll 954023255 +icu/measunit.ll 952957210 icu/measunit_extra.ll 820777230 icu/measure.ll 69407081 icu/messagepattern.ll 1002420328 @@ -10589,7 +10589,7 @@ icu/package.ll 549165648 icu/parse.ll 922319372 icu/parsepos.ll 40896486 icu/patternprops.ll 131830738 -icu/persncal.ll 105240298 +icu/persncal.ll 105117599 icu/pkg_genc.ll 283341844 icu/pkg_gencmn.ll 193428181 icu/pkg_icu.ll 105132933 @@ -10626,7 +10626,7 @@ icu/rbt_set.ll 213495129 icu/rbtz.ll 480104208 icu/rbutil.ll 63499669 icu/read.ll 163438833 -icu/regexcmp.ll 1503918636 +icu/regexcmp.ll 1508103808 icu/regeximp.ll 68554489 icu/regexst.ll 137570861 icu/region.ll 803296930 @@ -10648,16 +10648,16 @@ icu/scrptrun.ll 103838962 icu/search.ll 170321199 icu/selfmt.ll 180434540 icu/serv.ll 467887003 -icu/servlk.ll 183642203 +icu/servlk.ll 183423769 icu/servlkf.ll 116919306 icu/servls.ll 180281702 icu/servnotf.ll 89254063 -icu/servrbf.ll 94752253 +icu/servrbf.ll 94630506 icu/servslkf.ll 117689006 -icu/sharedbreakiterator.ll 40639296 +icu/sharedbreakiterator.ll 40596065 icu/simpleformatter.ll 263400451 icu/simpletz.ll 470007467 -icu/smpdtfmt.ll 1986831738 +icu/smpdtfmt.ll 1990186032 icu/smpdtfst.ll 80952737 icu/sortkey.ll 115006233 icu/sprintf.ll 85370802 @@ -10672,12 +10672,12 @@ icu/strmatch.ll 235492019 icu/strrepl.ll 242853724 icu/stsearch.ll 186365273 icu/swapimpl.ll 252177354 -icu/taiwncal.ll 86315077 +icu/taiwncal.ll 86220032 icu/testdata.ll 73656985 icu/timezone.ll 635509931 icu/titletrn.ll 90002076 icu/tmunit.ll 52280457 -icu/tmutamt.ll 49222374 +icu/tmutamt.ll 49158469 icu/tmutfmt.ll 508641996 icu/tolowtrn.ll 47252361 icu/toolutil.ll 94597001 @@ -10761,7 +10761,7 @@ icu/ulistformatter.ll 206720167 icu/uloc.ll 851554643 icu/uloc_keytype.ll 588923052 icu/uloc_tag.ll 2084419837 -icu/ulocale.ll 132419581 +icu/ulocale.ll 132285436 icu/ulocbuilder.ll 99592244 icu/ulocdata.ll 143055746 icu/umsg.ll 234140338 @@ -10913,7 +10913,7 @@ influxdb-rs/k4rb82tj7t3tvne.ll 1993629782 influxdb-rs/tvx8frl9fecnofk.ll 945200690 influxdb-rs/u7z03ejdn0bs7a8.ll 4728259352 influxdb-rs/xf9idvr5og46ibq.ll 4843267803 -ipopt/IpAdaptiveMuUpdate.ll 964881371 +ipopt/IpAdaptiveMuUpdate.ll 963861993 ipopt/IpAlgBuilder.ll 2262198773 ipopt/IpAlgorithmRegOp.ll 438686715 ipopt/IpAugRestoSystemSolver.ll 2065330693 @@ -10927,13 +10927,13 @@ ipopt/IpCGSearchDirCalc.ll 1447782329 ipopt/IpCompoundMatrix.ll 2030667166 ipopt/IpCompoundSymMatrix.ll 1701915918 ipopt/IpCompoundVector.ll 1420207426 -ipopt/IpDefaultIterateInitializer.ll 1579958357 +ipopt/IpDefaultIterateInitializer.ll 1581649168 ipopt/IpDenseGenMatrix.ll 1072724245 ipopt/IpDenseSymMatrix.ll 1054473929 ipopt/IpDenseVector.ll 995311548 -ipopt/IpDiagMatrix.ll 280953890 +ipopt/IpDiagMatrix.ll 280640286 ipopt/IpEquilibrationScaling.ll 412562443 -ipopt/IpExactHessianUpdater.ll 90515224 +ipopt/IpExactHessianUpdater.ll 90400599 ipopt/IpExpandedMultiVectorMatrix.ll 1111074685 ipopt/IpExpansionMatrix.ll 412443651 ipopt/IpFilterLSAcceptor.ll 1635677224 @@ -10980,7 +10980,7 @@ ipopt/IpPiecewisePenalty.ll 287888246 ipopt/IpProbingMuOracle.ll 1183306565 ipopt/IpQualityFunctionMuOracle.ll 1764050781 ipopt/IpRegOptions.ll 1540431861 -ipopt/IpRestoConvCheck.ll 388582327 +ipopt/IpRestoConvCheck.ll 388192927 ipopt/IpRestoFilterConvCheck.ll 47797187 ipopt/IpRestoIpoptNLP.ll 1700371518 ipopt/IpRestoIterateInitializer.ll 758243218 @@ -11003,8 +11003,8 @@ ipopt/IpSymTMatrix.ll 313003261 ipopt/IpTNLP.ll 1989117896 ipopt/IpTNLPAdapter.ll 4925880138 ipopt/IpTNLPReducer.ll 500845331 -ipopt/IpTSymDependencyDetector.ll 160887499 -ipopt/IpTSymLinearSolver.ll 537280966 +ipopt/IpTSymDependencyDetector.ll 160681487 +ipopt/IpTSymLinearSolver.ll 536639055 ipopt/IpTaggedObject.ll 141220196 ipopt/IpTransposeMatrix.ll 251113717 ipopt/IpTripletHelper.ll 840452075 @@ -11020,10 +11020,10 @@ ipopt/SensBuilder.ll 740582681 ipopt/SensDenseGenSchurDriver.ll 560328313 ipopt/SensIndexPCalculator.ll 860621670 ipopt/SensIndexSchurData.ll 788670440 -ipopt/SensMetadataMeasurement.ll 1143484228 +ipopt/SensMetadataMeasurement.ll 1142131599 ipopt/SensReducedHessianCalculator.ll 614814198 ipopt/SensRegOp.ll 74007592 -ipopt/SensSimpleBacksolver.ll 115292329 +ipopt/SensSimpleBacksolver.ll 115145987 ipopt/SensStdStepCalc.ll 1458681566 jemalloc/arena.ll 1424513657 jemalloc/arena.pic.ll 1422364721 @@ -11143,7 +11143,7 @@ jq/builtin.ll 1041253053 jq/bytecode.ll 119838619 jq/compile.ll 1078586965 jq/decContext.ll 104951920 -jq/decNumber.ll 2712671084 +jq/decNumber.ll 2716429772 jq/euc_jp.ll 105819384 jq/euc_kr.ll 60071048 jq/euc_tw.ll 70109957 @@ -11188,7 +11188,7 @@ jsonnet/libjsonnet.cpp.ll 2155775787 jsonnet/md5.cpp.ll 377916690 jsonnet/parser.cpp.ll 5134384910 jsonnet/pass.cpp.ll 2240269594 -jsonnet/path_utils.cpp.ll 53330912 +jsonnet/path_utils.cpp.ll 53276069 jsonnet/rapidyaml.cpp.ll 9267489271 jsonnet/static_analysis.cpp.ll 1292174974 jsonnet/string_utils.cpp.ll 595035783 @@ -11275,7 +11275,7 @@ libjpeg-turbo/jdapistd.c.ll 289946261 libjpeg-turbo/jdarith.c.ll 366399474 libjpeg-turbo/jdatadst-tj.c.ll 56667363 libjpeg-turbo/jdatadst.c.ll 62882443 -libjpeg-turbo/jdatasrc-tj.c.ll 47724902 +libjpeg-turbo/jdatasrc-tj.c.ll 47669360 libjpeg-turbo/jdatasrc.c.ll 58444836 libjpeg-turbo/jdcoefct.c.ll 610394177 libjpeg-turbo/jdcolor.c.ll 836243575 @@ -11331,17 +11331,17 @@ libjpeg-turbo/wrppm.c.ll 105670462 libjpeg-turbo/wrtarga.c.ll 101888956 libphonenumber/area_code_map.cc.ll 86543411 libphonenumber/area_code_map_test.cc.ll 414221962 -libphonenumber/asyoutypeformatter.cc.ll 516928976 +libphonenumber/asyoutypeformatter.cc.ll 516262944 libphonenumber/asyoutypeformatter_test.cc.ll 8065369237 libphonenumber/default_map_storage.cc.ll 42454631 libphonenumber/generate_geocoding_data.cc.ll 2480289648 -libphonenumber/generate_geocoding_data_test.cc.ll 306436847 +libphonenumber/generate_geocoding_data_test.cc.ll 306124719 libphonenumber/geocoding_data_test.cc.ll 1355851345 libphonenumber/geocoding_test_program.cc.ll 64072922 libphonenumber/logger_test.cc.ll 665018690 libphonenumber/mapping_file_provider.cc.ll 184932286 libphonenumber/mapping_file_provider_test.cc.ll 421907947 -libphonenumber/matcher_test.cc.ll 324582893 +libphonenumber/matcher_test.cc.ll 324248815 libphonenumber/phonemetadata.pb.cc.ll 2407165970 libphonenumber/phonenumber.pb.cc.ll 511435421 libphonenumber/phonenumber_offline_geocoder.cc.ll 311611375 @@ -11352,10 +11352,10 @@ libphonenumber/phonenumbermatcher_test.cc.ll 4611739276 libphonenumber/phonenumberutil.cc.ll 5275497515 libphonenumber/phonenumberutil_test.cc.ll 15708510191 libphonenumber/regex_based_matcher.cc.ll 94873403 -libphonenumber/regexp_adapter_icu.cc.ll 183387845 +libphonenumber/regexp_adapter_icu.cc.ll 183198717 libphonenumber/regexp_adapter_test.cc.ll 1730354175 libphonenumber/regexp_cache.cc.ll 555673982 -libphonenumber/regexp_cache_test.cc.ll 382289728 +libphonenumber/regexp_cache_test.cc.ll 381899691 libphonenumber/rune.c.ll 110209101 libphonenumber/shortnumberinfo.cc.ll 1242926266 libphonenumber/shortnumberinfo_test.cc.ll 2374440350 @@ -11365,7 +11365,7 @@ libphonenumber/stringutil.cc.ll 543707555 libphonenumber/stringutil_test.cc.ll 1716429430 libphonenumber/unicodestring_test.cc.ll 1315602034 libphonenumber/unicodetext.cc.ll 336470852 -libphonenumber/unicodetext_test.cc.ll 170982345 +libphonenumber/unicodetext_test.cc.ll 170754560 libpng/filter_sse2_intrinsics.c.ll 126321713 libpng/intel_init.c.ll 35376972 libpng/png.c.ll 1144308169 @@ -11417,7 +11417,7 @@ libquic/bio.c.ll 211802745 libquic/bio_asn1.c.ll 121347806 libquic/bio_mem.c.ll 99855653 libquic/bio_ndef.c.ll 63312630 -libquic/bio_test.cc.ll 271821299 +libquic/bio_test.cc.ll 271547887 libquic/blinding.c.ll 78904242 libquic/blowfish.c.ll 487557663 libquic/bn.c.ll 131844356 @@ -11437,9 +11437,9 @@ libquic/cfb.c.ll 138151457 libquic/cfb64ede.c.ll 191453574 libquic/chacha20_poly1305_decrypter.cc.ll 38594613 libquic/chacha20_poly1305_encrypter.cc.ll 37174550 -libquic/chacha_test.cc.ll 81788433 +libquic/chacha_test.cc.ll 81697823 libquic/cipher.c.ll 196743397 -libquic/cipher_test.cc.ll 353209712 +libquic/cipher_test.cc.ll 352759731 libquic/client.cc.ll 677201461 libquic/cmac.c.ll 101009185 libquic/cmac_test.cc.ll 98519172 @@ -11452,7 +11452,7 @@ libquic/convert.c.ll 286039368 libquic/cpu-intel.c.ll 67500959 libquic/crc32.c.ll 258789701 libquic/crypto_framer.cc.ll 324712304 -libquic/crypto_handshake_message.cc.ll 612531111 +libquic/crypto_handshake_message.cc.ll 611883110 libquic/crypto_utils.cc.ll 228241182 libquic/ctr.c.ll 118007307 libquic/cubic.cc.ll 83797101 @@ -11466,7 +11466,7 @@ libquic/d1_srtp.c.ll 57377790 libquic/d1_srvr.c.ll 104050654 libquic/deflate.c.ll 1085280915 libquic/derive_key.c.ll 71882812 -libquic/des.c.ll 1779679542 +libquic/des.c.ll 1790368825 libquic/dh.c.ll 115323625 libquic/dh_test.cc.ll 389991976 libquic/digest.c.ll 100720324 @@ -11521,7 +11521,7 @@ libquic/gzwrite.c.ll 204957257 libquic/heap_profiler_allocation_context.cc.ll 91530484 libquic/heap_profiler_allocation_context_tracker.cc.ll 257381287 libquic/histogram.cc.ll 1422721558 -libquic/histogram_base.cc.ll 217776723 +libquic/histogram_base.cc.ll 217558288 libquic/histogram_samples.cc.ll 107445655 libquic/hkdf.cc.ll 172523599 libquic/hmac.c.ll 79617064 @@ -11533,7 +11533,7 @@ libquic/hpack_huffman_decoder.cc.ll 95545879 libquic/hpack_huffman_table.cc.ll 906364851 libquic/hpack_input_stream.cc.ll 124163370 libquic/hpack_output_stream.cc.ll 67929483 -libquic/hpack_static_table.cc.ll 528672205 +libquic/hpack_static_table.cc.ll 528028831 libquic/hybrid_slow_start.cc.ll 65662307 libquic/icu_utf.cc.ll 70205202 libquic/infback.c.ll 468117918 @@ -11542,7 +11542,7 @@ libquic/inftrees.c.ll 135693942 libquic/internal_linux.cc.ll 475708603 libquic/ip_address.cc.ll 659490203 libquic/ip_endpoint.cc.ll 157910605 -libquic/json_parser.cc.ll 783246491 +libquic/json_parser.cc.ll 782310490 libquic/json_reader.cc.ll 121836087 libquic/json_string_value_serializer.cc.ll 50709643 libquic/json_writer.cc.ll 121626237 @@ -11603,11 +11603,11 @@ libquic/process_metrics_linux.cc.ll 526329652 libquic/process_metrics_posix.cc.ll 50575135 libquic/proof_source.cc.ll 119229538 libquic/prtime.cc.ll 624341711 -libquic/quic_alarm.cc.ll 71452192 +libquic/quic_alarm.cc.ll 71378456 libquic/quic_bandwidth.cc.ll 78370065 libquic/quic_buffered_packet_store.cc.ll 1131264136 libquic/quic_client_promised_info.cc.ll 214607277 -libquic/quic_client_push_promise_index.cc.ll 150444325 +libquic/quic_client_push_promise_index.cc.ll 150279418 libquic/quic_client_session_base.cc.ll 651863590 libquic/quic_clock.cc.ll 48620314 libquic/quic_compressed_certs_cache.cc.ll 431348960 @@ -11616,7 +11616,7 @@ libquic/quic_connection.cc.ll 1949520001 libquic/quic_crypto_client_config.cc.ll 2767774113 libquic/quic_crypto_client_stream.cc.ll 572768353 libquic/quic_crypto_server_config.cc.ll 3109579376 -libquic/quic_crypto_server_stream.cc.ll 378643503 +libquic/quic_crypto_server_stream.cc.ll 378054442 libquic/quic_crypto_stream.cc.ll 83648318 libquic/quic_data_writer.cc.ll 94796165 libquic/quic_flow_controller.cc.ll 126608611 @@ -11634,7 +11634,7 @@ libquic/quic_sent_packet_manager.cc.ll 983698587 libquic/quic_server_id.cc.ll 116013512 libquic/quic_server_session_base.cc.ll 220464895 libquic/quic_session.cc.ll 1847424537 -libquic/quic_socket_address_coder.cc.ll 164648062 +libquic/quic_socket_address_coder.cc.ll 164466104 libquic/quic_spdy_session.cc.ll 1081386511 libquic/quic_spdy_stream.cc.ll 287753638 libquic/quic_stream_sequencer.cc.ll 136248137 @@ -11663,7 +11663,7 @@ libquic/s3_enc.c.ll 92735093 libquic/s3_lib.c.ll 156583907 libquic/s3_pkt.c.ll 197367739 libquic/s3_srvr.c.ll 534417482 -libquic/sample_map.cc.ll 275150187 +libquic/sample_map.cc.ll 274822944 libquic/sample_vector.cc.ll 244187584 libquic/secure_hash.cc.ll 98551025 libquic/sequence_token.cc.ll 91077932 @@ -11676,23 +11676,23 @@ libquic/shift.c.ll 125276862 libquic/simple.c.ll 295630565 libquic/socket.c.ll 58130743 libquic/source_address_token.pb.cc.ll 452189657 -libquic/spake25519_test.cc.ll 132777532 +libquic/spake25519_test.cc.ll 132613513 libquic/sparse_histogram.cc.ll 304341005 -libquic/spdy_alt_svc_wire_format.cc.ll 620495216 +libquic/spdy_alt_svc_wire_format.cc.ll 619872278 libquic/spdy_frame_builder.cc.ll 177712713 libquic/spdy_framer.cc.ll 1956161100 -libquic/spdy_framer_decoder_adapter.cc.ll 152565450 +libquic/spdy_framer_decoder_adapter.cc.ll 152370785 libquic/spdy_header_block.cc.ll 635934550 libquic/spdy_headers_block_parser.cc.ll 113650849 libquic/spdy_prefixed_buffer_reader.cc.ll 83252597 -libquic/spdy_protocol.cc.ll 387061465 +libquic/spdy_protocol.cc.ll 386653816 libquic/spdy_utils.cc.ll 495908166 libquic/speed.cc.ll 853708211 libquic/sqrt.c.ll 146040476 libquic/ssl_aead_ctx.c.ll 114207244 libquic/ssl_asn1.c.ll 183310617 libquic/ssl_buffer.c.ll 122029995 -libquic/ssl_cert.c.ll 163974910 +libquic/ssl_cert.c.ll 163790106 libquic/ssl_cipher.c.ll 959342234 libquic/ssl_decrepit.c.ll 61961386 libquic/ssl_ecdh.c.ll 100664250 @@ -11712,7 +11712,7 @@ libquic/string_split.cc.ll 965954952 libquic/string_util.cc.ll 1063915090 libquic/stringprintf.cc.ll 120458476 libquic/superfasthash.c.ll 59808925 -libquic/symmetric_key.cc.ll 108252816 +libquic/symmetric_key.cc.ll 108139164 libquic/sys_info_linux.cc.ll 72461707 libquic/sys_info_posix.cc.ll 124025077 libquic/t1_enc.c.ll 131380262 @@ -11725,7 +11725,7 @@ libquic/tasn_enc.c.ll 170118579 libquic/tasn_fre.c.ll 89128258 libquic/tasn_new.c.ll 111087158 libquic/tasn_prn.c.ll 179645846 -libquic/tcp_cubic_sender_base.cc.ll 195697564 +libquic/tcp_cubic_sender_base.cc.ll 195494343 libquic/tcp_cubic_sender_bytes.cc.ll 89965105 libquic/tcp_cubic_sender_packets.cc.ll 92165167 libquic/test_config.cc.ll 118076370 @@ -11772,14 +11772,14 @@ libquic/v3_utl.c.ll 562515912 libquic/v3name_test.c.ll 168136986 libquic/values.cc.ll 1348525183 libquic/vlog.cc.ll 212654174 -libquic/weak_ptr.cc.ll 87209480 +libquic/weak_ptr.cc.ll 87103450 libquic/wnaf.c.ll 249302849 libquic/x25519-x86_64.c.ll 182286230 libquic/x509_att.c.ll 143068727 libquic/x509_cmp.c.ll 176190417 libquic/x509_lu.c.ll 228369077 libquic/x509_req.c.ll 89766577 -libquic/x509_test.cc.ll 469877149 +libquic/x509_test.cc.ll 469402253 libquic/x509_v3.c.ll 96614847 libquic/x509_vfy.c.ll 857446702 libquic/x509_vpm.c.ll 176659976 @@ -12008,11 +12008,11 @@ libzmq/ctx.cpp.ll 1703233884 libzmq/dealer.cpp.ll 73362084 libzmq/decoder_allocators.cpp.ll 66964814 libzmq/dgram.cpp.ll 78075699 -libzmq/dish.cpp.ll 299620975 +libzmq/dish.cpp.ll 299301574 libzmq/dist.cpp.ll 243229355 libzmq/epoll.cpp.ll 190794857 libzmq/fq.cpp.ll 184124077 -libzmq/gather.cpp.ll 64457323 +libzmq/gather.cpp.ll 64386611 libzmq/inproc_lat.cpp.ll 69362651 libzmq/inproc_thr.cpp.ll 70653053 libzmq/io_object.cpp.ll 58623594 @@ -12028,7 +12028,7 @@ libzmq/mechanism_base.cpp.ll 48762193 libzmq/msg.cpp.ll 238293547 libzmq/mtrie.cpp.ll 392216360 libzmq/null_mechanism.cpp.ll 107920756 -libzmq/object.cpp.ll 131577975 +libzmq/object.cpp.ll 131436595 libzmq/options.cpp.ll 628544430 libzmq/own.cpp.ll 605395593 libzmq/pair.cpp.ll 72832396 @@ -12036,14 +12036,14 @@ libzmq/peer.cpp.ll 68583869 libzmq/pipe.cpp.ll 423156240 libzmq/plain_client.cpp.ll 83834899 libzmq/plain_server.cpp.ll 118261215 -libzmq/poller_base.cpp.ll 182865029 +libzmq/poller_base.cpp.ll 182674035 libzmq/polling_util.cpp.ll 36421542 -libzmq/proxy.cpp.ll 381114075 +libzmq/proxy.cpp.ll 381546191 libzmq/proxy_thr.cpp.ll 99744678 libzmq/pub.cpp.ll 53242267 -libzmq/pull.cpp.ll 56194931 +libzmq/pull.cpp.ll 56122789 libzmq/push.cpp.ll 55239626 -libzmq/radio.cpp.ll 377390524 +libzmq/radio.cpp.ll 376963562 libzmq/radix_tree.cpp.ll 419009743 libzmq/raw_decoder.cpp.ll 55729395 libzmq/raw_encoder.cpp.ll 82033322 @@ -12099,21 +12099,21 @@ lief/AndroidIdent.cpp.ll 12009155514 lief/Attribute.cpp.ll 80214997 lief/BinaryParser.cpp.ll 21642863343 lief/BinaryStream.cpp.ll 1126637331 -lief/BindingInfo.cpp.ll 84845201 +lief/BindingInfo.cpp.ll 84751533 lief/BuildToolVersion.cpp.ll 6831685112 lief/BuildVersion.cpp.ll 365343260 lief/Builder.cpp.ll 17151996908 lief/ChainedBindingInfo.cpp.ll 98988637 -lief/ChainedBindingInfoList.cpp.ll 74364748 +lief/ChainedBindingInfoList.cpp.ll 74289157 lief/ChainedFixup.cpp.ll 11984441583 -lief/Class.cpp.ll 1299215972 +lief/Class.cpp.ll 1297766456 lief/CodeInfo.cpp.ll 44174934 lief/CodeIntegrity.cpp.ll 6806932294 lief/CodeSignature.cpp.ll 65533147 lief/CodeSignatureDir.cpp.ll 62956041 lief/CodeView.cpp.ll 6836784030 lief/CodeViewPDB.cpp.ll 7298712470 -lief/ContentInfo.cpp.ll 148292526 +lief/ContentInfo.cpp.ll 148067335 lief/ContentType.cpp.ll 63145522 lief/CoreAuxv.cpp.ll 7485705198 lief/CoreFile.cpp.ll 12754975840 @@ -12132,7 +12132,7 @@ lief/DyldChainedFixups.cpp.ll 7190642056 lief/DyldEnvironment.cpp.ll 60690221 lief/DyldExportsTrie.cpp.ll 218888571 lief/DyldInfo.cpp.ll 16636695851 -lief/DylibCommand.cpp.ll 158470920 +lief/DylibCommand.cpp.ll 158294827 lief/DylinkerCommand.cpp.ll 117468707 lief/DynamicEntry.cpp.ll 129546119 lief/DynamicEntryArray.cpp.ll 12536151892 @@ -12141,8 +12141,8 @@ lief/DynamicEntryLibrary.cpp.ll 6827475048 lief/DynamicEntryRpath.cpp.ll 12348063726 lief/DynamicEntryRunPath.cpp.ll 12338056691 lief/DynamicSharedObject.cpp.ll 6819173935 -lief/DynamicSymbolCommand.cpp.ll 214203405 -lief/EncryptionInfo.cpp.ll 53117919 +lief/DynamicSymbolCommand.cpp.ll 213945282 +lief/EncryptionInfo.cpp.ll 53059974 lief/Export.cpp.ll 291996349 lief/ExportEntry.cpp.ll 92364774 lief/ExportInfo.cpp.ll 242002293 @@ -12150,7 +12150,7 @@ lief/FatBinary.cpp.ll 341355643 lief/Field.cpp.ll 10782673470 lief/File.cpp.ll 15270532543 lief/FileStream.cpp.ll 12133820826 -lief/FilesetCommand.cpp.ll 71382114 +lief/FilesetCommand.cpp.ll 71302836 lief/Function.cpp.ll 421658457 lief/FunctionStarts.cpp.ll 222331851 lief/GenericContent.cpp.ll 6930265549 @@ -12161,7 +12161,7 @@ lief/Import.cpp.ll 91072403 lief/LangCodeItem.cpp.ll 12586961779 lief/Layout.cpp.ll 1452537860 lief/LinkEdit.cpp.ll 12217651895 -lief/LinkerOptHint.cpp.ll 62997445 +lief/LinkerOptHint.cpp.ll 62928135 lief/LoadConfiguration.cpp.ll 6952615483 lief/LoadConfigurationV0.cpp.ll 6799681038 lief/LoadConfigurationV1.cpp.ll 7041466496 @@ -12181,14 +12181,14 @@ lief/MapList.cpp.ll 11038309739 lief/MemoryStream.cpp.ll 12092715053 lief/Method.cpp.ll 619961833 lief/MsSpcNestedSignature.cpp.ll 59558010 -lief/MsSpcStatementType.cpp.ll 63168970 -lief/Note.cpp.ll 13787776859 +lief/MsSpcStatementType.cpp.ll 63103661 +lief/Note.cpp.ll 13773443434 lief/NoteAbi.cpp.ll 6966585091 lief/NoteGnuProperty.cpp.ll 12604514908 lief/OIDToString.cpp.ll 8347684337 lief/Object.cpp.ll 39828459 lief/PKCS9AtSequenceNumber.cpp.ll 92885930 -lief/PKCS9CounterSignature.cpp.ll 59570317 +lief/PKCS9CounterSignature.cpp.ll 59505310 lief/PKCS9MessageDigest.cpp.ll 132485595 lief/PKCS9SigningTime.cpp.ll 6818436948 lief/Pogo.cpp.ll 7072833495 @@ -12203,7 +12203,7 @@ lief/RelocationObject.cpp.ll 10620660012 lief/RelocationSizes.cpp.ll 559618376 lief/RelocationStrings.cpp.ll 11157120415 lief/Repro.cpp.ll 7209183975 -lief/ResourceAccelerator.cpp.ll 214280462 +lief/ResourceAccelerator.cpp.ll 214017084 lief/ResourceData.cpp.ll 203623244 lief/ResourceDialog.cpp.ll 11546004521 lief/ResourceDialogItem.cpp.ll 11071666130 @@ -12219,7 +12219,7 @@ lief/ResourcesManager.cpp.ll 14650355618 lief/ResourcesParser.cpp.ll 14070046808 lief/RichEntry.cpp.ll 62584922 lief/RichHeader.cpp.ll 12569682863 -lief/RsaInfo.cpp.ll 135750757 +lief/RsaInfo.cpp.ll 135579072 lief/SegmentCommand.cpp.ll 11381896438 lief/SegmentSplitInfo.cpp.ll 65507816 lief/Signature.cpp.ll 13725136966 @@ -12228,14 +12228,14 @@ lief/SignerInfo.cpp.ll 7286356119 lief/SourceVersion.cpp.ll 64925383 lief/SpanStream.cpp.ll 12164957882 lief/SpcIndirectData.cpp.ll 6954418977 -lief/SpcSpOpusInfo.cpp.ll 62710386 +lief/SpcSpOpusInfo.cpp.ll 62635460 lief/StackSize.cpp.ll 6789770239 lief/SubFramework.cpp.ll 58964735 lief/SymbolCommand.cpp.ll 59726777 lief/SymbolVersion.cpp.ll 93576598 lief/SymbolVersionAux.cpp.ll 37623590 lief/SymbolVersionAuxRequirement.cpp.ll 43508658 -lief/SymbolVersionDefinition.cpp.ll 227570973 +lief/SymbolVersionDefinition.cpp.ll 227310308 lief/SymbolVersionRequirement.cpp.ll 234234989 lief/SysvHash.cpp.ll 154005423 lief/TLS.cpp.ll 7468599149 @@ -12246,7 +12246,7 @@ lief/Type.cpp.ll 12224488746 lief/UUIDCommand.cpp.ll 79159107 lief/VectorStream.cpp.ll 12253805834 lief/VersionMin.cpp.ll 69143638 -lief/Visitor.cpp.ll 174448377 +lief/Visitor.cpp.ll 174271367 lief/X86Feature.cpp.ll 11112255202 lief/X86ISA.cpp.ll 11797983733 lief/aes.c.ll 896766588 @@ -12275,7 +12275,7 @@ lief/entropy.c.ll 154568561 lief/error.c.ll 86437403 lief/exports_trie.cpp.ll 10881701951 lief/gcm.c.ll 365951333 -lief/hash.cpp.ll 614360780 +lief/hash.cpp.ll 613461507 lief/hash_stream.cpp.ll 12216606317 lief/hkdf.c.ll 64066995 lief/hmac_drbg.c.ll 161549539 @@ -12340,11 +12340,11 @@ lightgbm/dataset.cpp.ll 10513187888 lightgbm/dataset_loader.cpp.ll 7354191219 lightgbm/dcg_calculator.cpp.ll 904788186 lightgbm/feature_histogram.cpp.ll 71622387844 -lightgbm/feature_parallel_tree_learner.cpp.ll 867332497 +lightgbm/feature_parallel_tree_learner.cpp.ll 866390996 lightgbm/file_io.cpp.ll 105789641 lightgbm/gbdt.cpp.ll 5361510847 lightgbm/gbdt_model_text.cpp.ll 3301090558 -lightgbm/gbdt_prediction.cpp.ll 420272536 +lightgbm/gbdt_prediction.cpp.ll 419830417 lightgbm/gradient_discretizer.cpp.ll 1279886900 lightgbm/json11.cpp.ll 1879362310 lightgbm/linear_tree_learner.cpp.ll 9837150775 @@ -12494,7 +12494,7 @@ linux/buffered_write.ll 562390284 linux/bug.ll 96242745 linux/bugs.ll 417480111 linux/build_policy.ll 1678636702 -linux/build_utility.ll 1769039866 +linux/build_utility.ll 1770925861 linux/buildid.ll 105516583 linux/bus-fixup.ll 108819300 linux/bus.ll 231913115 @@ -12543,7 +12543,7 @@ linux/cn_proc.ll 154689112 linux/cn_queue.ll 70932303 linux/coalesce.ll 190351082 linux/commit.ll 359538417 -linux/common.ll 141921944 +linux/common.ll 141773006 linux/commoncap.ll 235399592 linux/compaction.ll 1311982509 linux/compat_binfmt_elf.ll 490740269 @@ -12782,7 +12782,7 @@ linux/exconvrt.ll 136804555 linux/exec.ll 526685852 linux/exfield.ll 63777633 linux/exfldio.ll 127705076 -linux/exit.ll 524825120 +linux/exit.ll 525429818 linux/exmisc.ll 62026240 linux/exnames.ll 96881475 linux/exoparg1.ll 133377255 @@ -12837,7 +12837,7 @@ linux/freq_table.ll 130338732 linux/fs-writeback.ll 838254657 linux/fs_context.ll 181325521 linux/fs_struct.ll 84685378 -linux/fse_decompress.ll 665877634 +linux/fse_decompress.ll 666575101 linux/fsmap.ll 226861876 linux/fsopen.ll 128580796 linux/fsync.ll 69181085 @@ -13756,7 +13756,7 @@ linux/setup-bus.ll 738271449 linux/setup-res.ll 125022173 linux/setup.ll 153703999 linux/setup_percpu.ll 62284079 -linux/severity.ll 131777755 +linux/severity.ll 131631062 linux/sg.ll 697665431 linux/sha3_generic.ll 154779977 linux/sha512_generic.ll 226594220 @@ -13798,7 +13798,7 @@ linux/sound.ll 89152219 linux/sparse-keymap.ll 103604943 linux/sparse-vmemmap.ll 164893669 linux/sparse.ll 198978623 -linux/spinlock.ll 111543527 +linux/spinlock.ll 111430495 linux/spurious.ll 108865140 linux/sqpoll.ll 187980044 linux/sr.ll 193842904 @@ -13875,13 +13875,13 @@ linux/tcp_ipv6.ll 683467641 linux/tcp_metrics.ll 372396287 linux/tcp_minisocks.ll 223342952 linux/tcp_offload.ll 192357522 -linux/tcp_output.ll 1396180058 +linux/tcp_output.ll 1400288236 linux/tcp_sigpool.ll 133269126 linux/tcp_timer.ll 241072849 linux/tcp_ulp.ll 66707427 linux/tcpv6_offload.ll 68019034 linux/tctx.ll 118748118 -linux/tdls.ll 473411185 +linux/tdls.ll 475627638 linux/tg3.ll 5383503907 linux/therm_throt.ll 189539622 linux/thermal.ll 205109298 @@ -14029,7 +14029,7 @@ linux/virtio_net.ll 1555603970 linux/virtio_pci_common.ll 177517485 linux/virtio_pci_modern.ll 164649125 linux/virtio_pci_modern_dev.ll 163044381 -linux/virtio_ring.ll 671878099 +linux/virtio_ring.ll 672813599 linux/virtio_scsi.ll 234516905 linux/vlv_dsi.ll 570577780 linux/vlv_dsi_pll.ll 196889475 @@ -14126,11 +14126,11 @@ llvm/AArch64BranchTargets.cpp.ll 393457884 llvm/AArch64CallLowering.cpp.ll 2530667189 llvm/AArch64CallingConvention.cpp.ll 1772933749 llvm/AArch64CleanupLocalDynamicTLSPass.cpp.ll 341078892 -llvm/AArch64CollectLOH.cpp.ll 982870693 +llvm/AArch64CollectLOH.cpp.ll 981555486 llvm/AArch64CompressJumpTables.cpp.ll 335102743 llvm/AArch64CondBrTuning.cpp.ll 416600480 llvm/AArch64ConditionOptimizer.cpp.ll 970209104 -llvm/AArch64ConditionalCompares.cpp.ll 1773536528 +llvm/AArch64ConditionalCompares.cpp.ll 1771597500 llvm/AArch64DeadRegisterDefinitionsPass.cpp.ll 332408988 llvm/AArch64Disassembler.cpp.ll 11299956788 llvm/AArch64ELFObjectWriter.cpp.ll 248859581 @@ -14141,8 +14141,8 @@ llvm/AArch64ExternalSymbolizer.cpp.ll 155583477 llvm/AArch64FalkorHWPFFix.cpp.ll 2751627372 llvm/AArch64FastISel.cpp.ll 11107314887 llvm/AArch64FrameLowering.cpp.ll 9127132419 -llvm/AArch64GlobalISelUtils.cpp.ll 283684443 -llvm/AArch64GlobalsTagging.cpp.ll 417444235 +llvm/AArch64GlobalISelUtils.cpp.ll 283358394 +llvm/AArch64GlobalsTagging.cpp.ll 417016824 llvm/AArch64ISelDAGToDAG.cpp.ll 7710979867 llvm/AArch64ISelLowering.cpp.ll 36146872723 llvm/AArch64InstPrinter.cpp.ll 3840875820 @@ -14183,10 +14183,10 @@ llvm/AArch64StackTaggingPreRA.cpp.ll 1898878816 llvm/AArch64StorePairSuppress.cpp.ll 328798243 llvm/AArch64Subtarget.cpp.ll 4612148441 llvm/AArch64TargetInfo.cpp.ll 63052225 -llvm/AArch64TargetMachine.cpp.ll 4583546861 +llvm/AArch64TargetMachine.cpp.ll 4578595960 llvm/AArch64TargetObjectFile.cpp.ll 448122903 llvm/AArch64TargetParser.cpp.ll 2434845597 -llvm/AArch64TargetStreamer.cpp.ll 350475338 +llvm/AArch64TargetStreamer.cpp.ll 349998025 llvm/AArch64TargetTransformInfo.cpp.ll 10597733389 llvm/AArch64WinCOFFObjectWriter.cpp.ll 142094522 llvm/AArch64WinCOFFStreamer.cpp.ll 602280551 @@ -14213,21 +14213,21 @@ llvm/APInt.cpp.ll 5188025041 llvm/APSInt.cpp.ll 116983181 llvm/APSIntType.cpp.ll 90134583 llvm/APValue.cpp.ll 2212712668 -llvm/ARC.cpp.ll 329535435 -llvm/ARCMT.cpp.ll 2392828614 +llvm/ARC.cpp.ll 329139903 +llvm/ARCMT.cpp.ll 2390064927 llvm/ARCMTActions.cpp.ll 147526168 llvm/ARM.cpp.ll 2150640095 llvm/ARMAttributeParser.cpp.ll 639763066 llvm/ARMBuildAttrs.cpp.ll 35602256 -llvm/ARMException.cpp.ll 206022674 +llvm/ARMException.cpp.ll 205791832 llvm/ARMTargetDefEmitter.cpp.ll 1643311635 llvm/ARMTargetParser.cpp.ll 1197999756 llvm/ARMTargetParserCommon.cpp.ll 375512411 llvm/ARMWinEH.cpp.ll 74410272 -llvm/ASTCommon.cpp.ll 519878020 +llvm/ASTCommon.cpp.ll 519331147 llvm/ASTConcept.cpp.ll 255915304 llvm/ASTConsumer.cpp.ll 48591769 -llvm/ASTConsumers.cpp.ll 28105558665 +llvm/ASTConsumers.cpp.ll 27985243186 llvm/ASTContext.cpp.ll 36737489500 llvm/ASTDiagnostic.cpp.ll 3549095469 llvm/ASTDumper.cpp.ll 10368063986 @@ -14235,16 +14235,16 @@ llvm/ASTImporter.cpp.ll 29919092036 llvm/ASTImporterLookupTable.cpp.ll 17652067732 llvm/ASTMatchFinder.cpp.ll 41544295637 llvm/ASTMatchersInternal.cpp.ll 6276626323 -llvm/ASTMerge.cpp.ll 1325170548 +llvm/ASTMerge.cpp.ll 1323659910 llvm/ASTReader.cpp.ll 44360478773 llvm/ASTReaderDecl.cpp.ll 21382334433 llvm/ASTReaderStmt.cpp.ll 6765188691 -llvm/ASTSourceDescriptor.cpp.ll 99639144 +llvm/ASTSourceDescriptor.cpp.ll 99520441 llvm/ASTStructuralEquivalence.cpp.ll 5124437075 -llvm/ASTTableGen.cpp.ll 415240678 +llvm/ASTTableGen.cpp.ll 414732130 llvm/ASTTypeTraits.cpp.ll 684103829 llvm/ASTUnit.cpp.ll 10507215119 -llvm/ASTUtils.cpp.ll 353832273 +llvm/ASTUtils.cpp.ll 353381178 llvm/ASTWriter.cpp.ll 32741708325 llvm/ASTWriterDecl.cpp.ll 8257152857 llvm/ASTWriterStmt.cpp.ll 6263361258 @@ -14252,7 +14252,7 @@ llvm/ASanStackFrameLayout.cpp.ll 599254345 llvm/AVR.cpp.ll 1005864229 llvm/AbstractCallSite.cpp.ll 303792274 llvm/AccelTable.cpp.ll 4755127337 -llvm/Action.cpp.ll 515213981 +llvm/Action.cpp.ll 514590593 llvm/AddDiscriminators.cpp.ll 1483916853 llvm/AddressPool.cpp.ll 288526900 llvm/AddressSanitizer.cpp.ll 9376900343 @@ -14285,7 +14285,7 @@ llvm/ArchiveWriter.cpp.ll 3373399488 llvm/Arg.cpp.ll 255133506 llvm/ArgList.cpp.ll 1338269527 llvm/ArgumentPromotion.cpp.ll 5475985444 -llvm/ArrayBoundChecker.cpp.ll 549997822 +llvm/ArrayBoundChecker.cpp.ll 549360366 llvm/ArrayBoundCheckerV2.cpp.ll 2383059790 llvm/AsmLexer.cpp.ll 972567060 llvm/AsmMatcherEmitter.cpp.ll 14788607588 @@ -14328,13 +14328,13 @@ llvm/BasicBlockUtils.cpp.ll 7064391678 llvm/BasicObjCFoundationChecks.cpp.ll 5257969586 llvm/BasicTargetTransformInfo.cpp.ll 159221569 llvm/BasicValueFactory.cpp.ll 1375572332 -llvm/Binary.cpp.ll 350517561 +llvm/Binary.cpp.ll 349978447 llvm/BinaryStreamError.cpp.ll 73589775 llvm/BinaryStreamReader.cpp.ll 798722039 llvm/BinaryStreamRef.cpp.ll 433762841 llvm/BinaryStreamWriter.cpp.ll 498134193 llvm/BitReader.cpp.ll 555515484 -llvm/BitWriter.cpp.ll 71034154 +llvm/BitWriter.cpp.ll 70947070 llvm/BitcodeAnalyzer.cpp.ll 3276786188 llvm/BitcodeReader.cpp.ll 21694957356 llvm/BitcodeWriter.cpp.ll 17161554722 @@ -14342,7 +14342,7 @@ llvm/BitcodeWriterPass.cpp.ll 204265112 llvm/BitstreamReader.cpp.ll 1839696359 llvm/BitstreamRemarkParser.cpp.ll 2709381043 llvm/BitstreamRemarkSerializer.cpp.ll 2287768625 -llvm/BitwiseShiftChecker.cpp.ll 1959046524 +llvm/BitwiseShiftChecker.cpp.ll 1956972730 llvm/BlockCounter.cpp.ll 1027943830 llvm/BlockCoverageInference.cpp.ll 3178650841 llvm/BlockExtractor.cpp.ll 1524870653 @@ -14366,7 +14366,7 @@ llvm/BugSuppression.cpp.ll 16782892364 llvm/BuildID.cpp.ll 1540891219 llvm/BuildLibCalls.cpp.ll 1737088845 llvm/BuiltinFunctionChecker.cpp.ll 853756413 -llvm/BuiltinGCs.cpp.ll 240168616 +llvm/BuiltinGCs.cpp.ll 239863088 llvm/Builtins.cpp.ll 645873996 llvm/BuryPointer.cpp.ll 35554668 llvm/BypassSlowDivision.cpp.ll 1926234784 @@ -14382,7 +14382,7 @@ llvm/CFIFixup.cpp.ll 1056330851 llvm/CFIInstrInserter.cpp.ll 2937570221 llvm/CGAtomic.cpp.ll 3424585948 llvm/CGBlocks.cpp.ll 6114320713 -llvm/CGBuiltin.cpp.ll 79419542830 +llvm/CGBuiltin.cpp.ll 79325843113 llvm/CGCUDANV.cpp.ll 4234790670 llvm/CGCUDARuntime.cpp.ll 69499787 llvm/CGCXX.cpp.ll 1315446465 @@ -14408,7 +14408,7 @@ llvm/CGNonTrivialStruct.cpp.ll 4296217315 llvm/CGObjC.cpp.ll 7387894134 llvm/CGObjCGNU.cpp.ll 8374269748 llvm/CGObjCMac.cpp.ll 11442092966 -llvm/CGObjCRuntime.cpp.ll 1302758107 +llvm/CGObjCRuntime.cpp.ll 1301121876 llvm/CGOpenCLRuntime.cpp.ll 416417600 llvm/CGOpenMPRuntime.cpp.ll 33133858606 llvm/CGOpenMPRuntimeGPU.cpp.ll 7374743742 @@ -14436,7 +14436,7 @@ llvm/CSKYAttributeParser.cpp.ll 187463874 llvm/CSKYAttributes.cpp.ll 33037202 llvm/CSKYTargetParser.cpp.ll 714970933 llvm/CSKYToolChain.cpp.ll 1321054462 -llvm/CStringChecker.cpp.ll 6204464965 +llvm/CStringChecker.cpp.ll 6211584671 llvm/CStringSyntaxChecker.cpp.ll 1091132542 llvm/CTagsEmitter.cpp.ll 826640590 llvm/CVSymbolVisitor.cpp.ll 1359196416 @@ -14450,7 +14450,7 @@ llvm/Caching.cpp.ll 1120995979 llvm/CalcSpillWeights.cpp.ll 1501201667 llvm/CallAndMessageChecker.cpp.ll 2167436727 llvm/CallBrPrepare.cpp.ll 1053735865 -llvm/CallDescription.cpp.ll 751143092 +llvm/CallDescription.cpp.ll 750298017 llvm/CallEvent.cpp.ll 4000334149 llvm/CallGraph.cpp.ll 2205978375 llvm/CallGraphSCCPass.cpp.ll 2056957707 @@ -14466,15 +14466,15 @@ llvm/CallingConvLower.cpp.ll 535179067 llvm/CanonicalizeAliases.cpp.ll 252355698 llvm/CanonicalizeFreezeInLoops.cpp.ll 845904015 llvm/CaptureTracking.cpp.ll 800672241 -llvm/CastSizeChecker.cpp.ll 760645901 +llvm/CastSizeChecker.cpp.ll 759804874 llvm/CastToStructChecker.cpp.ll 16282637177 llvm/CastValueChecker.cpp.ll 2048076124 -llvm/ChainedDiagnosticConsumer.cpp.ll 62053996 -llvm/ChainedIncludesSource.cpp.ll 1445488070 +llvm/ChainedDiagnosticConsumer.cpp.ll 61985164 +llvm/ChainedIncludesSource.cpp.ll 1443922124 llvm/CheckExprLifetime.cpp.ll 3535925529 llvm/CheckObjCDealloc.cpp.ll 3667758053 llvm/CheckObjCInstMethSignature.cpp.ll 829506091 -llvm/CheckPlacementNew.cpp.ll 1222742827 +llvm/CheckPlacementNew.cpp.ll 1221219209 llvm/CheckSecuritySyntaxOnly.cpp.ll 2338318436 llvm/Checker.cpp.ll 54772685 llvm/CheckerContext.cpp.ll 428928250 @@ -14483,7 +14483,7 @@ llvm/CheckerHelpers.cpp.ll 1423206224 llvm/CheckerManager.cpp.ll 3813721454 llvm/CheckerRegistry.cpp.ll 4739989237 llvm/CheckerRegistryData.cpp.ll 577058117 -llvm/Chrono.cpp.ll 191564063 +llvm/Chrono.cpp.ll 191329736 llvm/ChrootChecker.cpp.ll 620908495 llvm/Clang.cpp.ll 15081371703 llvm/ClangASTNodesEmitter.cpp.ll 888148445 @@ -14501,11 +14501,11 @@ llvm/ClangOptionDocEmitter.cpp.ll 3273307734 llvm/ClangSACheckersEmitter.cpp.ll 547407521 llvm/ClangSyntaxEmitter.cpp.ll 1741301290 llvm/ClangTypeNodesEmitter.cpp.ll 442851273 -llvm/CloneChecker.cpp.ll 1663198814 +llvm/CloneChecker.cpp.ll 1661458378 llvm/CloneDetection.cpp.ll 4445590733 llvm/CloneFunction.cpp.ll 5113232354 llvm/CloneModule.cpp.ll 1021894846 -llvm/CmpInstAnalysis.cpp.ll 318238900 +llvm/CmpInstAnalysis.cpp.ll 317859094 llvm/CocoaConventions.cpp.ll 457646814 llvm/CodeCompleteConsumer.cpp.ll 2452530608 llvm/CodeEmitterGen.cpp.ll 1716444728 @@ -14523,7 +14523,7 @@ llvm/CodeGenInstAlias.cpp.ll 714717668 llvm/CodeGenInstruction.cpp.ll 1521909855 llvm/CodeGenIntrinsics.cpp.ll 1654319373 llvm/CodeGenMapTable.cpp.ll 2430407181 -llvm/CodeGenModule.cpp.ll 38547489791 +llvm/CodeGenModule.cpp.ll 38475182443 llvm/CodeGenOptions.cpp.ll 36424689 llvm/CodeGenPGO.cpp.ll 22755430318 llvm/CodeGenPrepare.cpp.ll 28759001146 @@ -14544,8 +14544,8 @@ llvm/CombinerHelper.cpp.ll 15324022643 llvm/CombinerHelperCasts.cpp.ll 903729871 llvm/CombinerHelperVectorOps.cpp.ll 964680486 llvm/CombinerUtils.cpp.ll 95653926 -llvm/Comdat.cpp.ll 134001290 -llvm/CommandFlags.cpp.ll 4209400205 +llvm/Comdat.cpp.ll 133865038 +llvm/CommandFlags.cpp.ll 4204624413 llvm/CommandLine.cpp.ll 5949258984 llvm/Comment.cpp.ll 868567778 llvm/CommentBriefParser.cpp.ll 195578632 @@ -14563,7 +14563,7 @@ llvm/CompilerInstance.cpp.ll 7850787537 llvm/CompilerInvocation.cpp.ll 31024706654 llvm/ComplexDeinterleavingPass.cpp.ll 7667326120 llvm/CompressInstEmitter.cpp.ll 3971260363 -llvm/Compression.cpp.ll 165447770 +llvm/Compression.cpp.ll 165222750 llvm/ComputeDependence.cpp.ll 1849890286 llvm/ConstantFold.cpp.ll 1734164905 llvm/ConstantFolding.cpp.ll 4661882965 @@ -14577,7 +14577,7 @@ llvm/Constants.cpp.ll 9808902808 llvm/ConstraintElimination.cpp.ll 8460883287 llvm/ConstraintManager.cpp.ll 390789102 llvm/ConstraintSystem.cpp.ll 884449270 -llvm/ConstructionContext.cpp.ll 544421263 +llvm/ConstructionContext.cpp.ll 543746689 llvm/Consumed.cpp.ll 3834502038 llvm/ContainerModeling.cpp.ll 6165233480 llvm/Context.cpp.ll 1763368617 @@ -14600,14 +14600,14 @@ llvm/CoroFrame.cpp.ll 17658061805 llvm/CoroSplit.cpp.ll 6509144228 llvm/Coroutines.cpp.ll 1498253763 llvm/CorrelatedValuePropagation.cpp.ll 3477472794 -llvm/CostModel.cpp.ll 724165357 +llvm/CostModel.cpp.ll 723209707 llvm/CountVisits.cpp.ll 134642325 llvm/CoverageMapping.cpp.ll 11195324463 llvm/CoverageMappingGen.cpp.ll 7847861979 llvm/CoverageMappingReader.cpp.ll 11137682733 llvm/CoverageMappingWriter.cpp.ll 1089682235 -llvm/CrashRecoveryContext.cpp.ll 163233987 -llvm/CreateCheckerManager.cpp.ll 1089739154 +llvm/CrashRecoveryContext.cpp.ll 163019079 +llvm/CreateCheckerManager.cpp.ll 1088317645 llvm/CreateInvocationFromCommandLine.cpp.ll 1127182856 llvm/CriticalAntiDepBreaker.cpp.ll 1377970335 llvm/CrossDSOCFI.cpp.ll 1467378682 @@ -14621,7 +14621,7 @@ llvm/CycleInfo.cpp.ll 2953459005 llvm/DAGCombiner.cpp.ll 42664468125 llvm/DAGDeltaAlgorithm.cpp.ll 1666639363 llvm/DAGISelEmitter.cpp.ll 1485373961 -llvm/DAGISelMatcher.cpp.ll 924615053 +llvm/DAGISelMatcher.cpp.ll 923355614 llvm/DAGISelMatcherEmitter.cpp.ll 6528447830 llvm/DAGISelMatcherGen.cpp.ll 2002887967 llvm/DAGISelMatcherOpt.cpp.ll 992461969 @@ -14647,22 +14647,22 @@ llvm/DWARFContext.cpp.ll 9329599345 llvm/DWARFDataExtractor.cpp.ll 437509491 llvm/DWARFDebugAbbrev.cpp.ll 968838566 llvm/DWARFDebugAddr.cpp.ll 645383685 -llvm/DWARFDebugArangeSet.cpp.ll 480818473 +llvm/DWARFDebugArangeSet.cpp.ll 480238517 llvm/DWARFDebugAranges.cpp.ll 1086549361 llvm/DWARFDebugFrame.cpp.ll 3235270090 -llvm/DWARFDebugInfoEntry.cpp.ll 283209202 +llvm/DWARFDebugInfoEntry.cpp.ll 282883488 llvm/DWARFDebugLine.cpp.ll 3858176842 -llvm/DWARFDebugLoc.cpp.ll 1131151090 +llvm/DWARFDebugLoc.cpp.ll 1129972781 llvm/DWARFDebugMacro.cpp.ll 690185523 -llvm/DWARFDebugPubTable.cpp.ll 537696012 +llvm/DWARFDebugPubTable.cpp.ll 537074401 llvm/DWARFDebugRangeList.cpp.ll 450331518 llvm/DWARFDebugRnglists.cpp.ll 729921792 llvm/DWARFDie.cpp.ll 1990850322 llvm/DWARFExpression.cpp.ll 1498034193 llvm/DWARFFormValue.cpp.ll 1014825974 llvm/DWARFGdbIndex.cpp.ll 799265925 -llvm/DWARFListTable.cpp.ll 532453915 -llvm/DWARFLocationExpression.cpp.ll 231714244 +llvm/DWARFListTable.cpp.ll 531759686 +llvm/DWARFLocationExpression.cpp.ll 231463182 llvm/DWARFTypePrinter.cpp.ll 1330783719 llvm/DWARFTypeUnit.cpp.ll 297956468 llvm/DWARFUnit.cpp.ll 3576312827 @@ -14671,7 +14671,7 @@ llvm/DWARFVerifier.cpp.ll 12687905916 llvm/DXContainer.cpp.ll 848535605 llvm/DXContainerPSVInfo.cpp.ll 866771474 llvm/DXILEmitter.cpp.ll 2826075761 -llvm/DXILMetadataAnalysis.cpp.ll 365336162 +llvm/DXILMetadataAnalysis.cpp.ll 364866728 llvm/DXILResource.cpp.ll 2148004022 llvm/DXILUpgrade.cpp.ll 194989986 llvm/Darwin.cpp.ll 5735756586 @@ -14706,14 +14706,14 @@ llvm/DebugInlineeLinesSubsection.cpp.ll 570619638 llvm/DebugIteratorModeling.cpp.ll 1016238461 llvm/DebugLinesSubsection.cpp.ll 805812030 llvm/DebugLoc.cpp.ll 563231976 -llvm/DebugLocStream.cpp.ll 395947760 -llvm/DebugProgramInstruction.cpp.ll 1171677909 +llvm/DebugLocStream.cpp.ll 395473229 +llvm/DebugProgramInstruction.cpp.ll 1170420124 llvm/DebugStringTableSubsection.cpp.ll 873728644 llvm/DebugSubsection.cpp.ll 35418394 llvm/DebugSubsectionRecord.cpp.ll 212214872 llvm/DebugSubsectionVisitor.cpp.ll 373461030 llvm/DebugSymbolRVASubsection.cpp.ll 272866020 -llvm/DebugSymbolsSubsection.cpp.ll 252860491 +llvm/DebugSymbolsSubsection.cpp.ll 252524035 llvm/Debugify.cpp.ll 7094444052 llvm/Decl.cpp.ll 9689425036 llvm/DeclBase.cpp.ll 6151374398 @@ -14721,14 +14721,14 @@ llvm/DeclCXX.cpp.ll 6261594045 llvm/DeclFriend.cpp.ll 448844732 llvm/DeclGroup.cpp.ll 112001600 llvm/DeclObjC.cpp.ll 5604804930 -llvm/DeclOpenMP.cpp.ll 447568360 -llvm/DeclPrinter.cpp.ll 4370782316 +llvm/DeclOpenMP.cpp.ll 447069139 +llvm/DeclPrinter.cpp.ll 4366246902 llvm/DeclSpec.cpp.ll 1836714471 llvm/DeclTemplate.cpp.ll 3264660126 llvm/DeclarationFragments.cpp.ll 5440445497 llvm/DeclarationName.cpp.ll 1100612036 llvm/DecoderEmitter.cpp.ll 8954216919 -llvm/Decompressor.cpp.ll 150581251 +llvm/Decompressor.cpp.ll 150424179 llvm/DefinitionBlockSeparator.cpp.ll 860816496 llvm/DelayedDiagnostic.cpp.ll 92974303 llvm/Delinearization.cpp.ll 1848426788 @@ -14756,11 +14756,11 @@ llvm/DiagnosticOptions.cpp.ll 33979894 llvm/DiagnosticPrinter.cpp.ll 83238257 llvm/DiagnosticRenderer.cpp.ll 1464689915 llvm/DirectIvarAssignment.cpp.ll 1270217636 -llvm/DirectX.cpp.ll 318727447 +llvm/DirectX.cpp.ll 318408685 llvm/DirectiveEmitter.cpp.ll 6225431404 llvm/DirectoryScanner.cpp.ll 1606896590 llvm/Disasm.cpp.ll 3236744215 -llvm/Disassembler.cpp.ll 730403457 +llvm/Disassembler.cpp.ll 729622301 llvm/DisassemblerEmitter.cpp.ll 107675374 llvm/Distro.cpp.ll 413156175 llvm/DivRemPairs.cpp.ll 2181490751 @@ -14792,7 +14792,7 @@ llvm/DynamicLibrary.cpp.ll 415667192 llvm/DynamicType.cpp.ll 4530859704 llvm/DynamicTypeChecker.cpp.ll 1434397361 llvm/DynamicTypePropagation.cpp.ll 19093524639 -llvm/EHContGuardCatchret.cpp.ll 166703119 +llvm/EHContGuardCatchret.cpp.ll 166517745 llvm/EHPersonalities.cpp.ll 607749690 llvm/EHStreamer.cpp.ll 2069961051 llvm/ELF.cpp.ll 18755267396 @@ -14808,13 +14808,13 @@ llvm/EditedSource.cpp.ll 1385403500 llvm/ElimAvailExtern.cpp.ll 403109554 llvm/EmbedBitcodePass.cpp.ll 137261455 llvm/EntryExitInstrumenter.cpp.ll 638161542 -llvm/EnumCastOutOfRangeChecker.cpp.ll 1518708223 +llvm/EnumCastOutOfRangeChecker.cpp.ll 1517061714 llvm/EnumTables.cpp.ll 195806443 llvm/Environment.cpp.ll 1538348371 llvm/ErlangGCPrinter.cpp.ll 169414340 llvm/Errno.cpp.ll 37591699 llvm/ErrnoChecker.cpp.ll 943034043 -llvm/ErrnoModeling.cpp.ll 1367740099 +llvm/ErrnoModeling.cpp.ll 1366341301 llvm/ErrnoTesterChecker.cpp.ll 1003718388 llvm/Error.cpp.ll 455704582 llvm/ErrorHandling.cpp.ll 120632124 @@ -14822,23 +14822,23 @@ llvm/EscapeEnumerator.cpp.ll 386578841 llvm/EvalEmitter.cpp.ll 31964228271 llvm/EvaluationResult.cpp.ll 1335369106 llvm/Evaluator.cpp.ll 2362517461 -llvm/ExecuteCompilerInvocation.cpp.ll 1601962588 -llvm/ExecutionDomainFix.cpp.ll 1277473379 +llvm/ExecuteCompilerInvocation.cpp.ll 1599408484 +llvm/ExecutionDomainFix.cpp.ll 1275932447 llvm/ExegesisEmitter.cpp.ll 2258476971 -llvm/ExpandLargeDivRem.cpp.ll 1037005927 +llvm/ExpandLargeDivRem.cpp.ll 1035644996 llvm/ExpandLargeFpConvert.cpp.ll 2215282804 llvm/ExpandMemCmp.cpp.ll 3320518102 -llvm/ExpandPostRAPseudos.cpp.ll 393984567 +llvm/ExpandPostRAPseudos.cpp.ll 393508097 llvm/ExpandReductions.cpp.ll 830562026 -llvm/ExpandVariadics.cpp.ll 2456137262 +llvm/ExpandVariadics.cpp.ll 2452646153 llvm/ExpandVectorPredication.cpp.ll 1610090302 llvm/ExplodedGraph.cpp.ll 1881944129 llvm/ExponentialBackoff.cpp.ll 88942424 llvm/Expr.cpp.ll 9240277962 llvm/ExprCXX.cpp.ll 2564115563 -llvm/ExprClassification.cpp.ll 916907930 +llvm/ExprClassification.cpp.ll 915959565 llvm/ExprConcepts.cpp.ll 287999328 -llvm/ExprConstant.cpp.ll 38084562387 +llvm/ExprConstant.cpp.ll 37878588009 llvm/ExprEngine.cpp.ll 11350025253 llvm/ExprEngineC.cpp.ll 2383462929 llvm/ExprEngineCXX.cpp.ll 2809571635 @@ -14899,9 +14899,9 @@ llvm/FrontendOptions.cpp.ll 195532221 llvm/Fuchsia.cpp.ll 1578319065 llvm/FuchsiaHandleChecker.cpp.ll 3889224865 llvm/FuncletLayout.cpp.ll 369382605 -llvm/Function.cpp.ll 22346303561 +llvm/Function.cpp.ll 22737337987 llvm/FunctionAttrs.cpp.ll 9562643954 -llvm/FunctionComparator.cpp.ll 1850186795 +llvm/FunctionComparator.cpp.ll 1847990792 llvm/FunctionImport.cpp.ll 8777114827 llvm/FunctionImportUtils.cpp.ll 982401383 llvm/FunctionLoweringInfo.cpp.ll 4215459166 @@ -14910,7 +14910,7 @@ llvm/FunctionPropertiesAnalysis.cpp.ll 3059483782 llvm/FunctionSpecialization.cpp.ll 6119959015 llvm/FunctionSummary.cpp.ll 118267088 llvm/GCDAntipatternChecker.cpp.ll 7093289421 -llvm/GCEmptyBasicBlocks.cpp.ll 314076181 +llvm/GCEmptyBasicBlocks.cpp.ll 313650973 llvm/GCMetadata.cpp.ll 913454822 llvm/GCMetadataPrinter.cpp.ll 40737779 llvm/GCOV.cpp.ll 3562037259 @@ -14950,7 +14950,7 @@ llvm/GlobalsModRef.cpp.ll 4927105488 llvm/GlobalsStream.cpp.ll 1037003956 llvm/Gnu.cpp.ll 7787073384 llvm/GraphWriter.cpp.ll 471954274 -llvm/GtestMatchers.cpp.ll 5760884731 +llvm/GtestMatchers.cpp.ll 5753800570 llvm/GuardUtils.cpp.ll 575649734 llvm/GuardWidening.cpp.ll 4554668120 llvm/HIPAMD.cpp.ll 1641019625 @@ -14965,15 +14965,15 @@ llvm/HTMLRewrite.cpp.ll 1624295392 llvm/HWAddressSanitizer.cpp.ll 6014958704 llvm/Haiku.cpp.ll 997622329 llvm/HardwareLoops.cpp.ll 2253521467 -llvm/Hash.cpp.ll 85095029 +llvm/Hash.cpp.ll 85000003 llvm/HashTable.cpp.ll 576674566 llvm/HeaderAnalysis.cpp.ll 399219642 llvm/HeaderFile.cpp.ll 423493509 llvm/HeaderIncludeGen.cpp.ll 909724507 -llvm/HeaderIncludes.cpp.ll 1619223128 +llvm/HeaderIncludes.cpp.ll 1617450525 llvm/HeaderMap.cpp.ll 437721553 llvm/HeaderSearch.cpp.ll 5583152915 -llvm/HeatUtils.cpp.ll 112598625 +llvm/HeatUtils.cpp.ll 112467288 llvm/HelloWorld.cpp.ll 110900290 llvm/Hexagon.cpp.ll 930031148 llvm/HexagonAttributeParser.cpp.ll 125142543 @@ -14989,7 +14989,7 @@ llvm/IRMover.cpp.ll 7110794288 llvm/IRObjectFile.cpp.ll 782217362 llvm/IROutliner.cpp.ll 16458419673 llvm/IRPrintingPasses.cpp.ll 239331063 -llvm/IRReader.cpp.ll 896604265 +llvm/IRReader.cpp.ll 895648106 llvm/IRSimilarityIdentifier.cpp.ll 11331038325 llvm/IRSymtab.cpp.ll 2799682702 llvm/IRTranslator.cpp.ll 11250484479 @@ -15002,16 +15002,16 @@ llvm/IdentifierTable.cpp.ll 7883798221 llvm/IfConversion.cpp.ll 4888859276 llvm/ImplicitNullChecks.cpp.ll 1817894211 llvm/ImportedFunctionsInliningStatistics.cpp.ll 1430202249 -llvm/InMemoryModuleCache.cpp.ll 173891329 +llvm/InMemoryModuleCache.cpp.ll 173714960 llvm/IncludeStyle.cpp.ll 236330989 llvm/InclusionRewriter.cpp.ll 1360999654 llvm/IndVarSimplify.cpp.ll 5183416365 -llvm/IndexBody.cpp.ll 15514031497 -llvm/IndexDecl.cpp.ll 2134881022 +llvm/IndexBody.cpp.ll 15496736408 +llvm/IndexDecl.cpp.ll 2131845499 llvm/IndexSymbol.cpp.ll 1118405141 llvm/IndexTypeSourceInfo.cpp.ll 10133885151 llvm/IndexingAction.cpp.ll 1072376633 -llvm/IndexingContext.cpp.ll 1012436355 +llvm/IndexingContext.cpp.ll 1011390367 llvm/IndirectBrExpandPass.cpp.ll 857724102 llvm/IndirectCallPromotion.cpp.ll 6950052685 llvm/IndirectCallPromotionAnalysis.cpp.ll 239492880 @@ -15021,10 +15021,10 @@ llvm/InferAlignment.cpp.ll 285966021 llvm/InferFunctionAttrs.cpp.ll 143624773 llvm/InfoByHwMode.cpp.ll 1483555647 llvm/InfoStream.cpp.ll 585524370 -llvm/InfoStreamBuilder.cpp.ll 245312721 +llvm/InfoStreamBuilder.cpp.ll 245059013 llvm/InheritViz.cpp.ll 662571469 llvm/InitHeaderSearch.cpp.ll 2029234806 -llvm/InitLLVM.cpp.ll 115849282 +llvm/InitLLVM.cpp.ll 115725942 llvm/InitPreprocessor.cpp.ll 2944246553 llvm/InitUndef.cpp.ll 1061349623 llvm/InjectTLIMappings.cpp.ll 708087524 @@ -15096,7 +15096,7 @@ llvm/InterpStack.cpp.ll 63217851 llvm/InterpState.cpp.ll 317339027 llvm/IntervalMap.cpp.ll 195596009 llvm/IntervalPartition.cpp.ll 2796698685 -llvm/IntrinsicEmitter.cpp.ll 4410040218 +llvm/IntrinsicEmitter.cpp.ll 4405598593 llvm/IntrinsicInst.cpp.ll 1568420411 llvm/IntrinsicLowering.cpp.ll 1378301208 llvm/InvalidPtrChecker.cpp.ll 3632471684 @@ -15128,21 +15128,21 @@ llvm/LLParser.cpp.ll 21638707971 llvm/LLVMContext.cpp.ll 1024058626 llvm/LLVMContextImpl.cpp.ll 9490540792 llvm/LLVMConventionsChecker.cpp.ll 1490795319 -llvm/LLVMRemarkStreamer.cpp.ll 870338894 +llvm/LLVMRemarkStreamer.cpp.ll 869272426 llvm/LLVMTargetMachine.cpp.ll 5401302269 llvm/LTO.cpp.ll 12065932924 llvm/LTOBackend.cpp.ll 5238053838 llvm/LTOCodeGenerator.cpp.ll 2892155985 -llvm/LTOModule.cpp.ll 1794881717 -llvm/Lanai.cpp.ll 393649481 +llvm/LTOModule.cpp.ll 1792656491 +llvm/Lanai.cpp.ll 393187529 llvm/LangOptions.cpp.ll 752071181 -llvm/LangStandards.cpp.ll 254309134 +llvm/LangStandards.cpp.ll 254015409 llvm/LatencyPriorityQueue.cpp.ll 404630523 llvm/LayoutOverrideSource.cpp.ll 1247712219 -llvm/LazyBlockFrequencyInfo.cpp.ll 132668628 +llvm/LazyBlockFrequencyInfo.cpp.ll 132500666 llvm/LazyBranchProbabilityInfo.cpp.ll 618050844 llvm/LazyCallGraph.cpp.ll 11055274629 -llvm/LazyMachineBlockFrequencyInfo.cpp.ll 369076968 +llvm/LazyMachineBlockFrequencyInfo.cpp.ll 368672048 llvm/LazyRandomTypeCollection.cpp.ll 1555018289 llvm/LazyValueInfo.cpp.ll 6483891905 llvm/LegacyLegalizerInfo.cpp.ll 2632020960 @@ -15171,7 +15171,7 @@ llvm/LinkModules.cpp.ll 3029882563 llvm/Lint.cpp.ll 3399666525 llvm/Linux.cpp.ll 1850412688 llvm/LiteralSupport.cpp.ll 2627626312 -llvm/LiveDebugValues.cpp.ll 435313943 +llvm/LiveDebugValues.cpp.ll 434719776 llvm/LiveDebugVariables.cpp.ll 11881527467 llvm/LiveInterval.cpp.ll 2937198360 llvm/LiveIntervalCalc.cpp.ll 652419771 @@ -15183,7 +15183,7 @@ llvm/LiveRangeEdit.cpp.ll 2193552322 llvm/LiveRangeShrink.cpp.ll 1423431286 llvm/LiveRegMatrix.cpp.ll 758778874 llvm/LiveRegUnits.cpp.ll 655422926 -llvm/LiveStacks.cpp.ll 721074788 +llvm/LiveStacks.cpp.ll 720156772 llvm/LiveVariables.cpp.ll 3888840809 llvm/LoadStoreOpt.cpp.ll 2598734676 llvm/LoadStoreVectorizer.cpp.ll 7733480755 @@ -15191,7 +15191,7 @@ llvm/Loads.cpp.ll 1487515947 llvm/Local.cpp.ll 375040735 llvm/LocalStackSlotAllocation.cpp.ll 1122226027 llvm/Locale.cpp.ll 33855409 -llvm/LocalizationChecker.cpp.ll 23174270316 +llvm/LocalizationChecker.cpp.ll 23147310954 llvm/Localizer.cpp.ll 1309135914 llvm/LockFileManager.cpp.ll 397942845 llvm/LogDiagnosticPrinter.cpp.ll 591690797 @@ -15220,7 +15220,7 @@ llvm/LoopPass.cpp.ll 1546078491 llvm/LoopPassManager.cpp.ll 1393813587 llvm/LoopPeel.cpp.ll 5081656202 llvm/LoopPredication.cpp.ll 2634177869 -llvm/LoopRotation.cpp.ll 713612860 +llvm/LoopRotation.cpp.ll 712626701 llvm/LoopRotationUtils.cpp.ll 3403569837 llvm/LoopSimplify.cpp.ll 2513665710 llvm/LoopSimplifyCFG.cpp.ll 3297288877 @@ -15247,7 +15247,7 @@ llvm/LowLevelTypeUtils.cpp.ll 561111558 llvm/LowerAllowCheckPass.cpp.ll 945882248 llvm/LowerAtomic.cpp.ll 568577139 llvm/LowerAtomicPass.cpp.ll 418354030 -llvm/LowerConstantIntrinsics.cpp.ll 1411037269 +llvm/LowerConstantIntrinsics.cpp.ll 1409167468 llvm/LowerEmuTLS.cpp.ll 529424162 llvm/LowerExpectIntrinsic.cpp.ll 1170933676 llvm/LowerGlobalDtors.cpp.ll 1022501184 @@ -15258,8 +15258,8 @@ llvm/LowerMatrixIntrinsics.cpp.ll 10985987482 llvm/LowerMemIntrinsics.cpp.ll 1922984460 llvm/LowerSwitch.cpp.ll 2665579191 llvm/LowerTypeTests.cpp.ll 18334681787 -llvm/LowerWidenableCondition.cpp.ll 183443395 -llvm/M68k.cpp.ll 544371203 +llvm/LowerWidenableCondition.cpp.ll 183253786 +llvm/M68k.cpp.ll 543624800 llvm/MBFIWrapper.cpp.ll 238128038 llvm/MCAsmBackend.cpp.ll 699972823 llvm/MCAsmInfo.cpp.ll 837377738 @@ -15277,16 +15277,16 @@ llvm/MCAssembler.cpp.ll 1236071010 llvm/MCCodeEmitter.cpp.ll 35153856 llvm/MCCodeView.cpp.ll 1461440774 llvm/MCContext.cpp.ll 5346100270 -llvm/MCDXContainerStreamer.cpp.ll 127895510 -llvm/MCDXContainerWriter.cpp.ll 265262306 +llvm/MCDXContainerStreamer.cpp.ll 127713872 +llvm/MCDXContainerWriter.cpp.ll 264987690 llvm/MCDisassembler.cpp.ll 85049207 llvm/MCDwarf.cpp.ll 3168805162 llvm/MCELFObjectTargetWriter.cpp.ll 42743271 -llvm/MCELFStreamer.cpp.ll 812268685 +llvm/MCELFStreamer.cpp.ll 811439886 llvm/MCExpr.cpp.ll 1053043864 llvm/MCExternalSymbolizer.cpp.ll 175663187 llvm/MCFragment.cpp.ll 154070292 -llvm/MCGOFFStreamer.cpp.ll 128027417 +llvm/MCGOFFStreamer.cpp.ll 127843316 llvm/MCInst.cpp.ll 134132324 llvm/MCInstPrinter.cpp.ll 348036042 llvm/MCInstrAnalysis.cpp.ll 88158197 @@ -15317,18 +15317,18 @@ llvm/MCSubtargetInfo.cpp.ll 678092337 llvm/MCSymbol.cpp.ll 136557707 llvm/MCSymbolELF.cpp.ll 90416261 llvm/MCSymbolXCOFF.cpp.ll 33793905 -llvm/MCSymbolizer.cpp.ll 47178437 +llvm/MCSymbolizer.cpp.ll 47126144 llvm/MCTargetAsmParser.cpp.ll 150451418 llvm/MCTargetOptions.cpp.ll 46596705 -llvm/MCTargetOptionsCommandFlags.cpp.ll 743501566 +llvm/MCTargetOptionsCommandFlags.cpp.ll 742751534 llvm/MCValue.cpp.ll 66243225 llvm/MCWasmObjectTargetWriter.cpp.ll 39797945 -llvm/MCWasmStreamer.cpp.ll 286402146 +llvm/MCWasmStreamer.cpp.ll 286027350 llvm/MCWin64EH.cpp.ll 2665932128 -llvm/MCWinCOFFStreamer.cpp.ll 576013485 +llvm/MCWinCOFFStreamer.cpp.ll 575127599 llvm/MCWinEH.cpp.ll 33502132 llvm/MCXCOFFObjectTargetWriter.cpp.ll 38122572 -llvm/MCXCOFFStreamer.cpp.ll 268580762 +llvm/MCXCOFFStreamer.cpp.ll 268300488 llvm/MD5.cpp.ll 489419683 llvm/MDBuilder.cpp.ll 582089668 llvm/MIGChecker.cpp.ll 3086925002 @@ -15353,11 +15353,11 @@ llvm/MSP430.cpp.ll 336885879 llvm/MSP430AttributeParser.cpp.ll 134930602 llvm/MSP430Attributes.cpp.ll 32433451 llvm/MSVC.cpp.ll 1942058237 -llvm/MSVCPaths.cpp.ll 455134213 +llvm/MSVCPaths.cpp.ll 454621650 llvm/MacOSKeychainAPIChecker.cpp.ll 3103849177 llvm/MacOSXAPIChecker.cpp.ll 930436467 llvm/MachO.cpp.ll 224140528 -llvm/MachOObjectFile.cpp.ll 8911415428 +llvm/MachOObjectFile.cpp.ll 8922644168 llvm/MachOUniversal.cpp.ll 492866168 llvm/MachOUniversalWriter.cpp.ll 1686699622 llvm/MachObjectWriter.cpp.ll 2741856386 @@ -15410,11 +15410,11 @@ llvm/MachineStripDebug.cpp.ll 499095561 llvm/MachineTraceMetrics.cpp.ll 3169281858 llvm/MachineUniformityAnalysis.cpp.ll 3868800935 llvm/MachineVerifier.cpp.ll 13108164185 -llvm/MacroArgs.cpp.ll 526012390 +llvm/MacroArgs.cpp.ll 525468662 llvm/MacroCallReconstructor.cpp.ll 1753008791 llvm/MacroExpander.cpp.ll 1313456125 llvm/MacroExpansionContext.cpp.ll 1805758264 -llvm/MacroFusion.cpp.ll 472573376 +llvm/MacroFusion.cpp.ll 472003355 llvm/MacroFusionPredicatorEmitter.cpp.ll 968772259 llvm/MacroInfo.cpp.ll 552548803 llvm/MacroPPCallbacks.cpp.ll 258537995 @@ -15428,11 +15428,11 @@ llvm/ManagedStatic.cpp.ll 57171554 llvm/Mangle.cpp.ll 1755440899 llvm/Mangler.cpp.ll 651941819 llvm/MappedBlockStream.cpp.ll 1615988928 -llvm/Markup.cpp.ll 363988881 +llvm/Markup.cpp.ll 363611713 llvm/MarkupFilter.cpp.ll 2647308423 llvm/MasmParser.cpp.ll 12528940799 llvm/MatchFilePath.cpp.ll 107713308 -llvm/MatrixUtils.cpp.ll 329196455 +llvm/MatrixUtils.cpp.ll 328841440 llvm/Mem2Reg.cpp.ll 351578580 llvm/MemAlloc.cpp.ll 34099730 llvm/MemCpyOptimizer.cpp.ll 4545544136 @@ -15468,17 +15468,17 @@ llvm/MicrosoftDemangle.cpp.ll 2326928638 llvm/MicrosoftDemangleNodes.cpp.ll 980081659 llvm/MicrosoftMangle.cpp.ll 8491212659 llvm/MinGW.cpp.ll 2275204846 -llvm/Minidump.cpp.ll 1040867826 +llvm/Minidump.cpp.ll 1039671633 llvm/Mips.cpp.ll 1157199279 llvm/MipsLinux.cpp.ll 1251966464 -llvm/MisExpect.cpp.ll 549951705 -llvm/MismatchedIteratorChecker.cpp.ll 772028729 -llvm/MmapWriteExecChecker.cpp.ll 590081215 -llvm/ModRef.cpp.ll 111353550 +llvm/MisExpect.cpp.ll 549357141 +llvm/MismatchedIteratorChecker.cpp.ll 771202528 +llvm/MmapWriteExecChecker.cpp.ll 589347562 +llvm/ModRef.cpp.ll 111221052 llvm/ModelConsumer.cpp.ll 136104088 -llvm/ModelInjector.cpp.ll 671709707 +llvm/ModelInjector.cpp.ll 670979620 llvm/Module.cpp.ll 2401972026 -llvm/ModuleBuilder.cpp.ll 480553969 +llvm/ModuleBuilder.cpp.ll 479935030 llvm/ModuleDebugInfoPrinter.cpp.ll 591699516 llvm/ModuleDebugStream.cpp.ll 1220454992 llvm/ModuleDependencyCollector.cpp.ll 1007688446 @@ -15489,7 +15489,7 @@ llvm/ModuleManager.cpp.ll 2571863737 llvm/ModuleMap.cpp.ll 10606450979 llvm/ModuleSummaryAnalysis.cpp.ll 10132109226 llvm/ModuleSummaryIndex.cpp.ll 4904205983 -llvm/ModuleSymbolTable.cpp.ll 1058001911 +llvm/ModuleSymbolTable.cpp.ll 1056900869 llvm/ModuleUtils.cpp.ll 2435550374 llvm/ModuloSchedule.cpp.ll 11575588524 llvm/MoveAutoInit.cpp.ll 1704055417 @@ -15498,7 +15498,7 @@ llvm/MsgPackDocument.cpp.ll 1194556408 llvm/MsgPackDocumentYAML.cpp.ll 493674796 llvm/MsgPackReader.cpp.ll 322475648 llvm/MsgPackWriter.cpp.ll 163828373 -llvm/MultiHazardRecognizer.cpp.ll 323648356 +llvm/MultiHazardRecognizer.cpp.ll 323284955 llvm/Multilib.cpp.ll 2799588842 llvm/MultilibBuilder.cpp.ll 1200148697 llvm/MultiplexConsumer.cpp.ll 674777035 @@ -15534,7 +15534,7 @@ llvm/NativeSymbolEnumerator.cpp.ll 170156249 llvm/NativeTypeArray.cpp.ll 111316010 llvm/NativeTypeBuiltin.cpp.ll 68424810 llvm/NativeTypeEnum.cpp.ll 1164726524 -llvm/NativeTypeFunctionSig.cpp.ll 610270341 +llvm/NativeTypeFunctionSig.cpp.ll 609520215 llvm/NativeTypePointer.cpp.ll 182374047 llvm/NativeTypeTypedef.cpp.ll 90856319 llvm/NativeTypeUDT.cpp.ll 232069013 @@ -15546,7 +15546,7 @@ llvm/NewGVN.cpp.ll 25695919960 llvm/NoInferenceModelRunner.cpp.ll 292261566 llvm/NoOwnershipChangeVisitor.cpp.ll 360582073 llvm/NoReturnFunctionChecker.cpp.ll 885197411 -llvm/NoSanitizeList.cpp.ll 89437289 +llvm/NoSanitizeList.cpp.ll 89315983 llvm/NoUncountedMembersChecker.cpp.ll 16797188382 llvm/NonNullParamChecker.cpp.ll 2012543180 llvm/NonRelocatableStringpool.cpp.ll 672409415 @@ -15559,16 +15559,16 @@ llvm/ODRHash.cpp.ll 2721089463 llvm/OHOS.cpp.ll 1680536059 llvm/OMP.cpp.ll 2494504191 llvm/OMPContext.cpp.ll 1443755273 -llvm/OMPIRBuilder.cpp.ll 21460588937 +llvm/OMPIRBuilder.cpp.ll 21540060202 llvm/OSLog.cpp.ll 340824399 llvm/OSObjectCStyleCast.cpp.ll 5991214343 llvm/OSTargets.cpp.ll 399874600 llvm/ObjCARC.cpp.ll 1070968660 llvm/ObjCARCAPElim.cpp.ll 410064792 llvm/ObjCARCAliasAnalysis.cpp.ll 191425128 -llvm/ObjCARCAnalysisUtils.cpp.ll 271228500 +llvm/ObjCARCAnalysisUtils.cpp.ll 270947120 llvm/ObjCARCContract.cpp.ll 2203337682 -llvm/ObjCARCExpand.cpp.ll 318015991 +llvm/ObjCARCExpand.cpp.ll 317663847 llvm/ObjCARCInstKind.cpp.ll 279451590 llvm/ObjCARCOpts.cpp.ll 9175627593 llvm/ObjCAtSyncChecker.cpp.ll 582337246 @@ -15578,32 +15578,32 @@ llvm/ObjCContainersChecker.cpp.ll 1919274688 llvm/ObjCMT.cpp.ll 40943086522 llvm/ObjCMissingSuperCallChecker.cpp.ll 16620234446 llvm/ObjCNoReturn.cpp.ll 240729099 -llvm/ObjCPropertyAttributeOrderFixer.cpp.ll 782425978 +llvm/ObjCPropertyAttributeOrderFixer.cpp.ll 781410230 llvm/ObjCPropertyChecker.cpp.ll 527166543 llvm/ObjCRuntime.cpp.ll 165418461 llvm/ObjCSelfInitChecker.cpp.ll 2098516209 llvm/ObjCSuperDeallocChecker.cpp.ll 1803472630 llvm/ObjCUnusedIVarsChecker.cpp.ll 1594703477 -llvm/Object.cpp.ll 688900468 +llvm/Object.cpp.ll 687830170 llvm/ObjectFile.cpp.ll 707701459 llvm/ObjectFilePCHContainerReader.cpp.ll 546165015 llvm/ObjectFilePCHContainerWriter.cpp.ll 17464408025 llvm/OcamlGCPrinter.cpp.ll 324202311 -llvm/OffloadBinary.cpp.ll 1263887673 +llvm/OffloadBinary.cpp.ll 1262434638 llvm/OffloadBundler.cpp.ll 3615194939 llvm/OffloadWrapper.cpp.ll 1195865815 llvm/OpenACCClause.cpp.ll 1335453091 llvm/OpenBSD.cpp.ll 860152814 llvm/OpenCLOptions.cpp.ll 509522758 llvm/OpenMPClause.cpp.ll 5792970894 -llvm/OpenMPKinds.cpp.ll 800173525 +llvm/OpenMPKinds.cpp.ll 799353494 llvm/OpenMPOpt.cpp.ll 29941492594 llvm/Operator.cpp.ll 1102232405 llvm/OperatorPrecedence.cpp.ll 37539682 -llvm/OptBisect.cpp.ll 322953441 +llvm/OptBisect.cpp.ll 322512479 llvm/OptEmitter.cpp.ll 149190312 llvm/OptParserEmitter.cpp.ll 2763527200 -llvm/OptRSTEmitter.cpp.ll 412381517 +llvm/OptRSTEmitter.cpp.ll 411950000 llvm/OptTable.cpp.ll 1895128635 llvm/OptimizationLevel.cpp.ll 32600144 llvm/OptimizationRemarkEmitter.cpp.ll 1036700288 @@ -15614,24 +15614,24 @@ llvm/OptionUtils.cpp.ll 256206464 llvm/Optional.cpp.ll 44770058 llvm/OverflowInstAnalysis.cpp.ll 372169368 llvm/PCHContainerOperations.cpp.ll 422559678 -llvm/PDB.cpp.ll 130962298 +llvm/PDB.cpp.ll 130811456 llvm/PDBContext.cpp.ll 413549209 llvm/PDBExtras.cpp.ll 727288107 -llvm/PDBFile.cpp.ll 1666386153 +llvm/PDBFile.cpp.ll 1664645765 llvm/PDBFileBuilder.cpp.ll 1993657239 llvm/PDBInterfaceAnchors.cpp.ll 45875407 -llvm/PDBStringTable.cpp.ll 758972262 -llvm/PDBStringTableBuilder.cpp.ll 535470369 -llvm/PDBSymDumper.cpp.ll 84728007 +llvm/PDBStringTable.cpp.ll 758194362 +llvm/PDBStringTableBuilder.cpp.ll 534798484 +llvm/PDBSymDumper.cpp.ll 84619140 llvm/PDBSymbol.cpp.ll 398925089 llvm/PDBSymbolAnnotation.cpp.ll 35991038 llvm/PDBSymbolBlock.cpp.ll 36022947 -llvm/PDBSymbolCompiland.cpp.ll 384961717 +llvm/PDBSymbolCompiland.cpp.ll 384557186 llvm/PDBSymbolCompilandDetails.cpp.ll 36008290 llvm/PDBSymbolCompilandEnv.cpp.ll 53979081 llvm/PDBSymbolCustom.cpp.ll 37242676 llvm/PDBSymbolData.cpp.ll 158280567 -llvm/PDBSymbolExe.cpp.ll 164597647 +llvm/PDBSymbolExe.cpp.ll 164379481 llvm/PDBSymbolFunc.cpp.ll 574003029 llvm/PDBSymbolFuncDebugEnd.cpp.ll 35997905 llvm/PDBSymbolFuncDebugStart.cpp.ll 36000370 @@ -15646,7 +15646,7 @@ llvm/PDBSymbolTypeDimension.cpp.ll 36004068 llvm/PDBSymbolTypeEnum.cpp.ll 36028023 llvm/PDBSymbolTypeFriend.cpp.ll 35990977 llvm/PDBSymbolTypeFunctionArg.cpp.ll 36033708 -llvm/PDBSymbolTypeFunctionSig.cpp.ll 242650199 +llvm/PDBSymbolTypeFunctionSig.cpp.ll 242290450 llvm/PDBSymbolTypeManaged.cpp.ll 35992960 llvm/PDBSymbolTypePointer.cpp.ll 36318910 llvm/PDBSymbolTypeTypedef.cpp.ll 35992501 @@ -15665,25 +15665,25 @@ llvm/PGOOptions.cpp.ll 60231886 llvm/PHIElimination.cpp.ll 4298130146 llvm/PHIEliminationUtils.cpp.ll 365626891 llvm/PHITransAddr.cpp.ll 976673593 -llvm/PNaCl.cpp.ll 338508687 +llvm/PNaCl.cpp.ll 338121736 llvm/PPC.cpp.ll 2830128799 -llvm/PPCFreeBSD.cpp.ll 193848363 +llvm/PPCFreeBSD.cpp.ll 193630806 llvm/PPCLinux.cpp.ll 450352566 llvm/PPCTargetParser.cpp.ll 183901936 -llvm/PPCaching.cpp.ll 588016236 -llvm/PPCallbacks.cpp.ll 199028512 +llvm/PPCaching.cpp.ll 587327933 +llvm/PPCallbacks.cpp.ll 198755725 llvm/PPConditionalDirectiveRecord.cpp.ll 316363845 llvm/PPDirectives.cpp.ll 6473095429 llvm/PPExpressions.cpp.ll 1922463610 llvm/PPLexerChange.cpp.ll 3153127200 -llvm/PPMacroExpansion.cpp.ll 6712599225 +llvm/PPMacroExpansion.cpp.ll 6705780230 llvm/PS4CPU.cpp.ll 1191055476 llvm/PackedVersion.cpp.ll 138732360 llvm/PaddingChecker.cpp.ll 17239015639 llvm/Parallel.cpp.ll 1057298534 llvm/ParentMap.cpp.ll 671304712 llvm/ParentMapContext.cpp.ll 18131921199 -llvm/ParseAST.cpp.ll 456563319 +llvm/ParseAST.cpp.ll 456080730 llvm/ParseCXXInlineMethods.cpp.ll 2031483842 llvm/ParseDecl.cpp.ll 11598415670 llvm/ParseDeclCXX.cpp.ll 7085493836 @@ -15701,7 +15701,7 @@ llvm/ParseTemplate.cpp.ll 2490839284 llvm/ParseTentative.cpp.ll 1185593012 llvm/ParsedAttr.cpp.ll 12076964745 llvm/ParsedAttrInfo.cpp.ll 119720012 -llvm/Parser.cpp.ll 902270420 +llvm/Parser.cpp.ll 900926051 llvm/PartialInlining.cpp.ll 6827621248 llvm/PartiallyInlineLibCalls.cpp.ll 1528658014 llvm/Pass.cpp.ll 361457091 @@ -15739,7 +15739,7 @@ llvm/PostRAHazardRecognizer.cpp.ll 186916322 llvm/PostRASchedulerList.cpp.ll 1464543286 llvm/Pragma.cpp.ll 3485932150 llvm/PreISelIntrinsicLowering.cpp.ll 1544215840 -llvm/PrecompiledPreamble.cpp.ll 2858617152 +llvm/PrecompiledPreamble.cpp.ll 2855563545 llvm/PredicateExpander.cpp.ll 799265294 llvm/PredicateInfo.cpp.ll 4474837729 llvm/PreprocessingRecord.cpp.ll 1241385347 @@ -15753,7 +15753,7 @@ llvm/PrintfFormatString.cpp.ll 1084085920 llvm/Process.cpp.ll 806740251 llvm/ProcessImplicitDefs.cpp.ll 833608382 llvm/ProfDataUtils.cpp.ll 392496698 -llvm/ProfileList.cpp.ll 261907388 +llvm/ProfileList.cpp.ll 261533823 llvm/ProfileSummary.cpp.ll 572816403 llvm/ProfileSummaryBuilder.cpp.ll 2791259799 llvm/ProfileSummaryInfo.cpp.ll 780048268 @@ -15766,7 +15766,7 @@ llvm/ProvenanceAnalysis.cpp.ll 894913781 llvm/ProvenanceAnalysisEvaluator.cpp.ll 745081467 llvm/PseudoLoweringEmitter.cpp.ll 1711179681 llvm/PseudoProbe.cpp.ll 629416593 -llvm/PseudoProbeInserter.cpp.ll 475178920 +llvm/PseudoProbeInserter.cpp.ll 474660733 llvm/PseudoProbePrinter.cpp.ll 395461107 llvm/PseudoSourceValue.cpp.ll 736855864 llvm/PthreadLockChecker.cpp.ll 3829896458 @@ -15808,7 +15808,7 @@ llvm/RISCVInsertWriteVXRM.cpp.ll 912550283 llvm/RISCVInstPrinter.cpp.ll 644100367 llvm/RISCVInstrInfo.cpp.ll 7212037719 llvm/RISCVInstructionSelector.cpp.ll 5597637694 -llvm/RISCVLandingPadSetup.cpp.ll 327447001 +llvm/RISCVLandingPadSetup.cpp.ll 326999441 llvm/RISCVLegalizerInfo.cpp.ll 4795527530 llvm/RISCVMCAsmInfo.cpp.ll 52019224 llvm/RISCVMCCodeEmitter.cpp.ll 2470503586 @@ -15823,7 +15823,7 @@ llvm/RISCVMoveMerger.cpp.ll 883163548 llvm/RISCVO0PreLegalizerCombiner.cpp.ll 4233497508 llvm/RISCVOptWInstrs.cpp.ll 1249898107 llvm/RISCVPostLegalizerCombiner.cpp.ll 4277386334 -llvm/RISCVPostRAExpandPseudoInsts.cpp.ll 419923135 +llvm/RISCVPostRAExpandPseudoInsts.cpp.ll 419448461 llvm/RISCVPreLegalizerCombiner.cpp.ll 5002360955 llvm/RISCVPushPopOptimizer.cpp.ll 765120270 llvm/RISCVRedundantCopyElimination.cpp.ll 356499402 @@ -15833,7 +15833,7 @@ llvm/RISCVSubtarget.cpp.ll 1540054000 llvm/RISCVTargetDefEmitter.cpp.ll 1952386271 llvm/RISCVTargetInfo.cpp.ll 45985860 llvm/RISCVTargetMachine.cpp.ll 4296051446 -llvm/RISCVTargetObjectFile.cpp.ll 308099202 +llvm/RISCVTargetObjectFile.cpp.ll 307765677 llvm/RISCVTargetParser.cpp.ll 712477582 llvm/RISCVTargetStreamer.cpp.ll 316607163 llvm/RISCVTargetTransformInfo.cpp.ll 6196885430 @@ -15854,20 +15854,20 @@ llvm/Reassociate.cpp.ll 9727911251 llvm/Record.cpp.ll 7877998826 llvm/RecordLayout.cpp.ll 316813483 llvm/RecordLayoutBuilder.cpp.ll 6889584136 -llvm/RecordName.cpp.ll 1078696805 +llvm/RecordName.cpp.ll 1077513078 llvm/RecordSerialization.cpp.ll 508941882 llvm/RecordStreamer.cpp.ll 912113821 llvm/RecordVisitor.cpp.ll 162045482 llvm/RecordsSlice.cpp.ll 2402763364 llvm/RefCntblBaseVirtualDtorChecker.cpp.ll 18191570245 -llvm/Reg2Mem.cpp.ll 469245088 +llvm/Reg2Mem.cpp.ll 468773550 llvm/RegAllocBase.cpp.ll 599523713 llvm/RegAllocBasic.cpp.ll 1091187565 -llvm/RegAllocEvictionAdvisor.cpp.ll 913666923 +llvm/RegAllocEvictionAdvisor.cpp.ll 912667343 llvm/RegAllocFast.cpp.ll 6649531113 llvm/RegAllocGreedy.cpp.ll 6880640305 llvm/RegAllocPBQP.cpp.ll 7971814694 -llvm/RegAllocPriorityAdvisor.cpp.ll 483803066 +llvm/RegAllocPriorityAdvisor.cpp.ll 483306442 llvm/RegAllocScore.cpp.ll 396371301 llvm/RegBankSelect.cpp.ll 2128648010 llvm/RegUsageInfoCollector.cpp.ll 508627255 @@ -15880,7 +15880,7 @@ llvm/RegionStore.cpp.ll 11497693512 llvm/RegisterBank.cpp.ll 112476252 llvm/RegisterBankEmitter.cpp.ll 2136535862 llvm/RegisterBankInfo.cpp.ll 2502139306 -llvm/RegisterClassInfo.cpp.ll 558009405 +llvm/RegisterClassInfo.cpp.ll 557422229 llvm/RegisterCoalescer.cpp.ll 8528647951 llvm/RegisterInfoEmitter.cpp.ll 13026173768 llvm/RegisterPressure.cpp.ll 2589246723 @@ -15890,7 +15890,7 @@ llvm/RelLookupTableConverter.cpp.ll 980984134 llvm/RelocationResolver.cpp.ll 1011004356 llvm/Remark.cpp.ll 219460668 llvm/RemarkFormat.cpp.ll 170177890 -llvm/RemarkLinker.cpp.ll 1152538492 +llvm/RemarkLinker.cpp.ll 1151304286 llvm/RemarkParser.cpp.ll 827632336 llvm/RemarkSerializer.cpp.ll 370612088 llvm/RemarkStreamer.cpp.ll 246651685 @@ -15901,8 +15901,8 @@ llvm/RenameIndependentSubregs.cpp.ll 2282309552 llvm/ReplaceConstant.cpp.ll 1168842192 llvm/ReplaceWithVeclib.cpp.ll 1423926010 llvm/Replacement.cpp.ll 2660784986 -llvm/ReplayInlineAdvisor.cpp.ll 608807641 -llvm/ResetMachineFunctionPass.cpp.ll 183707264 +llvm/ReplayInlineAdvisor.cpp.ll 608057801 +llvm/ResetMachineFunctionPass.cpp.ll 183478051 llvm/ResourcePriorityQueue.cpp.ll 1308899854 llvm/RetainCountChecker.cpp.ll 4681366021 llvm/RetainCountDiagnostics.cpp.ll 2337011923 @@ -15914,7 +15914,7 @@ llvm/RewriteBuffer.cpp.ll 120416790 llvm/RewriteMacros.cpp.ll 683616068 llvm/RewriteModernObjC.cpp.ll 12620283949 llvm/RewriteObjC.cpp.ll 8751826425 -llvm/RewriteObjCFoundationAPI.cpp.ll 1320725671 +llvm/RewriteObjCFoundationAPI.cpp.ll 1319333779 llvm/RewriteRope.cpp.ll 429285505 llvm/RewriteStatepointsForGC.cpp.ll 11977654317 llvm/RewriteTest.cpp.ll 60901023 @@ -15924,9 +15924,9 @@ llvm/RuntimeLibcalls.cpp.ll 794328484 llvm/RustDemangle.cpp.ll 1375617900 llvm/SARIFDiagnostic.cpp.ll 1023746895 llvm/SARIFDiagnosticPrinter.cpp.ll 447595186 -llvm/SCCP.cpp.ll 342433211 +llvm/SCCP.cpp.ll 341975399 llvm/SCCPSolver.cpp.ll 8115646470 -llvm/SDNodeProperties.cpp.ll 145691379 +llvm/SDNodeProperties.cpp.ll 145517458 llvm/SHA1.cpp.ll 767668919 llvm/SHA256.cpp.ll 1510227642 llvm/SLPVectorizer.cpp.ll 87090296486 @@ -15935,7 +15935,7 @@ llvm/SMEPeepholeOpt.cpp.ll 428752980 llvm/SMTConstraintManager.cpp.ll 2530779044 llvm/SPIR.cpp.ll 700292297 llvm/SPIRV.cpp.ll 407103705 -llvm/SPIRVObjectWriter.cpp.ll 137311189 +llvm/SPIRVObjectWriter.cpp.ll 137097463 llvm/SROA.cpp.ll 20469064484 llvm/SSAContext.cpp.ll 301123175 llvm/SSAUpdater.cpp.ll 3172960927 @@ -15983,7 +15983,7 @@ llvm/ScheduleDAGRRList.cpp.ll 4785579721 llvm/ScheduleDAGSDNodes.cpp.ll 3832707930 llvm/ScheduleDAGVLIW.cpp.ll 359376187 llvm/Scope.cpp.ll 358690046 -llvm/ScopeInfo.cpp.ll 1171983031 +llvm/ScopeInfo.cpp.ll 1170706692 llvm/ScopedNoAliasAA.cpp.ll 473906792 llvm/ScopedPrinter.cpp.ll 1216359461 llvm/ScoreboardHazardRecognizer.cpp.ll 173242007 @@ -16015,17 +16015,17 @@ llvm/SemaCast.cpp.ll 4908219138 llvm/SemaChecking.cpp.ll 19308719823 llvm/SemaCodeComplete.cpp.ll 33963050022 llvm/SemaConcept.cpp.ll 24450742183 -llvm/SemaConsumer.cpp.ll 46658282 +llvm/SemaConsumer.cpp.ll 46604260 llvm/SemaCoroutine.cpp.ll 3711677978 llvm/SemaDecl.cpp.ll 39530798408 llvm/SemaDeclAttr.cpp.ll 31143077219 llvm/SemaDeclCXX.cpp.ll 54022656516 -llvm/SemaDeclObjC.cpp.ll 26464425831 +llvm/SemaDeclObjC.cpp.ll 26325132721 llvm/SemaExceptionSpec.cpp.ll 3235411318 -llvm/SemaExprCXX.cpp.ll 56004126667 +llvm/SemaExprCXX.cpp.ll 56165898919 llvm/SemaExprMember.cpp.ll 4221768330 llvm/SemaExprObjC.cpp.ll 8733442072 -llvm/SemaFixItUtils.cpp.ll 1272300720 +llvm/SemaFixItUtils.cpp.ll 1270782334 llvm/SemaHLSL.cpp.ll 20674968454 llvm/SemaHexagon.cpp.ll 439334563 llvm/SemaInit.cpp.ll 11251746112 @@ -16056,7 +16056,7 @@ llvm/SemaTemplateDeduction.cpp.ll 40310161676 llvm/SemaTemplateDeductionGuide.cpp.ll 35968452297 llvm/SemaTemplateInstantiate.cpp.ll 39835137706 llvm/SemaTemplateInstantiateDecl.cpp.ll 29836502686 -llvm/SemaTemplateVariadic.cpp.ll 28423027421 +llvm/SemaTemplateVariadic.cpp.ll 28464672292 llvm/SemaType.cpp.ll 14162474645 llvm/SemaWasm.cpp.ll 980038515 llvm/SemaX86.cpp.ll 1050397649 @@ -16067,7 +16067,7 @@ llvm/SetTheory.cpp.ll 1673798841 llvm/SetgidSetuidOrderChecker.cpp.ll 1118946038 llvm/ShadowStackGCLowering.cpp.ll 1558949470 llvm/ShrinkWrap.cpp.ll 3591256516 -llvm/Signals.cpp.ll 1362099157 +llvm/Signals.cpp.ll 1360584962 llvm/Signposts.cpp.ll 51569384 llvm/SimpleConstraintManager.cpp.ll 232302611 llvm/SimpleLoopUnswitch.cpp.ll 17502626579 @@ -16090,19 +16090,19 @@ llvm/SmartPtrChecker.cpp.ll 541441279 llvm/SmartPtrModeling.cpp.ll 4355206728 llvm/Solaris.cpp.ll 930315573 llvm/SortJavaScriptImports.cpp.ll 2612666595 -llvm/Source.cpp.ll 117520198 +llvm/Source.cpp.ll 117383076 llvm/SourceLocation.cpp.ll 463034949 llvm/SourceManager.cpp.ll 5959550861 llvm/SourceMgr.cpp.ll 1633481006 llvm/SourceMgrAdapter.cpp.ll 722053525 -llvm/Sparc.cpp.ll 695491529 +llvm/Sparc.cpp.ll 694729267 llvm/SpecialCaseList.cpp.ll 1545839408 llvm/SpeculativeExecution.cpp.ll 969496747 llvm/SpillPlacement.cpp.ll 621301789 llvm/SplitKit.cpp.ll 6329696538 llvm/SplitModule.cpp.ll 3231872719 llvm/Stack.cpp.ll 47933977 -llvm/StackAddrEscapeChecker.cpp.ll 1692294892 +llvm/StackAddrEscapeChecker.cpp.ll 1690542200 llvm/StackColoring.cpp.ll 6438439250 llvm/StackFrameLayoutAnalysisPass.cpp.ll 2570422560 llvm/StackLifetime.cpp.ll 3328393793 @@ -16119,7 +16119,7 @@ llvm/Statistic.cpp.ll 1101147641 llvm/StdLibraryFunctionsChecker.cpp.ll 25396527069 llvm/StdVariantChecker.cpp.ll 1820319998 llvm/Stmt.cpp.ll 5002727335 -llvm/StmtCXX.cpp.ll 210410277 +llvm/StmtCXX.cpp.ll 210190383 llvm/StmtIterator.cpp.ll 185307230 llvm/StmtObjC.cpp.ll 148570973 llvm/StmtOpenACC.cpp.ll 15852741322 @@ -16130,7 +16130,7 @@ llvm/StmtViz.cpp.ll 47437647 llvm/Store.cpp.ll 856433234 llvm/StraightLineStrengthReduce.cpp.ll 2314793276 llvm/StreamChecker.cpp.ll 10706701572 -llvm/StringChecker.cpp.ll 855137887 +llvm/StringChecker.cpp.ll 854243704 llvm/StringExtras.cpp.ll 202727350 llvm/StringMap.cpp.ll 158013146 llvm/StringMatcher.cpp.ll 630707334 @@ -16146,10 +16146,10 @@ llvm/StructuralHash.cpp.ll 148532125 llvm/StructurizeCFG.cpp.ll 7851890812 llvm/SubtargetEmitter.cpp.ll 9529645198 llvm/SubtargetFeature.cpp.ll 332316988 -llvm/SubtargetFeatureInfo.cpp.ll 586973414 +llvm/SubtargetFeatureInfo.cpp.ll 586355546 llvm/SuffixTree.cpp.ll 944082474 llvm/SuffixTreeNode.cpp.ll 64928012 -llvm/SummaryBasedOptimizations.cpp.ll 1259747283 +llvm/SummaryBasedOptimizations.cpp.ll 1258238885 llvm/SveEmitter.cpp.ll 5482466997 llvm/SwiftCallingConv.cpp.ll 1608031992 llvm/SwiftErrorValueTracking.cpp.ll 1840171578 @@ -16161,13 +16161,13 @@ llvm/SymbolGraphSerializer.cpp.ll 3848675607 llvm/SymbolManager.cpp.ll 2300005313 llvm/SymbolRecordHelpers.cpp.ll 1472157986 llvm/SymbolRecordMapping.cpp.ll 1290003117 -llvm/SymbolRemappingReader.cpp.ll 321678366 -llvm/SymbolRewriter.cpp.ll 1444533713 -llvm/SymbolSerializer.cpp.ll 456131816 +llvm/SymbolRemappingReader.cpp.ll 321237352 +llvm/SymbolRewriter.cpp.ll 1443026494 +llvm/SymbolSerializer.cpp.ll 455566711 llvm/SymbolSet.cpp.ll 713039069 llvm/SymbolSize.cpp.ll 527333935 llvm/SymbolStream.cpp.ll 692591690 -llvm/SymbolicFile.cpp.ll 465533152 +llvm/SymbolicFile.cpp.ll 464942557 llvm/SymbolizableObjectFile.cpp.ll 1608903012 llvm/Symbolize.cpp.ll 3405240034 llvm/SyntheticCountsPropagation.cpp.ll 820618509 @@ -16175,17 +16175,17 @@ llvm/SyntheticCountsUtils.cpp.ll 3694488206 llvm/SystemUtils.cpp.ll 45890045 llvm/SystemZ.cpp.ll 625830744 llvm/TCE.cpp.ll 348258035 -llvm/TGLexer.cpp.ll 1034415500 +llvm/TGLexer.cpp.ll 1033263167 llvm/TGParser.cpp.ll 6124582033 llvm/TLSVariableHoist.cpp.ll 987524079 -llvm/TableGen.cpp.ll 372896721 +llvm/TableGen.cpp.ll 372450488 llvm/TableGenBackend.cpp.ll 371070730 llvm/TableGenBackendSkeleton.cpp.ll 50633164 llvm/TailDuplication.cpp.ll 342141842 llvm/TailDuplicator.cpp.ll 3202135136 llvm/TailRecursionElimination.cpp.ll 3669132953 llvm/Taint.cpp.ll 2838893561 -llvm/TaintTesterChecker.cpp.ll 497545811 +llvm/TaintTesterChecker.cpp.ll 497046411 llvm/TapiFile.cpp.ll 426123197 llvm/TapiUniversal.cpp.ll 613462906 llvm/TarWriter.cpp.ll 353794079 @@ -16200,7 +16200,7 @@ llvm/TargetLowering.cpp.ll 17426502049 llvm/TargetLoweringBase.cpp.ll 3612186496 llvm/TargetLoweringObjectFile.cpp.ll 553216758 llvm/TargetLoweringObjectFileImpl.cpp.ll 2978980088 -llvm/TargetMachine.cpp.ll 608235083 +llvm/TargetMachine.cpp.ll 607561196 llvm/TargetMachineC.cpp.ll 408021734 llvm/TargetOptionsImpl.cpp.ll 98674358 llvm/TargetParser.cpp.ll 546938626 @@ -16212,14 +16212,14 @@ llvm/TargetSubtargetInfo.cpp.ll 168392279 llvm/TargetTransformInfo.cpp.ll 3729880985 llvm/Targets.cpp.ll 9541385447 llvm/TemplateBase.cpp.ll 1546773310 -llvm/TemplateName.cpp.ll 680848000 +llvm/TemplateName.cpp.ll 679881905 llvm/TensorSpec.cpp.ll 1323946149 llvm/TestAfterDivZeroChecker.cpp.ll 2132175366 llvm/TestModuleFileExtension.cpp.ll 1609529409 llvm/TextAPIError.cpp.ll 70685941 llvm/TextDiagnostic.cpp.ll 2324975409 llvm/TextDiagnosticBuffer.cpp.ll 385093694 -llvm/TextDiagnosticPrinter.cpp.ll 251191435 +llvm/TextDiagnosticPrinter.cpp.ll 250903113 llvm/TextDiagnostics.cpp.ll 722200014 llvm/TextNodeDumper.cpp.ll 13007850795 llvm/TextStub.cpp.ll 8147006755 @@ -16241,17 +16241,17 @@ llvm/TokenAnnotator.cpp.ll 7203469730 llvm/TokenConcatenation.cpp.ll 204047094 llvm/TokenKinds.cpp.ll 152046897 llvm/TokenLexer.cpp.ll 1335106346 -llvm/TokenRewriter.cpp.ll 427785989 +llvm/TokenRewriter.cpp.ll 427265058 llvm/Tool.cpp.ll 42501339 llvm/ToolChain.cpp.ll 3826022240 llvm/ToolOutputFile.cpp.ll 83073426 -llvm/TpiHashing.cpp.ll 509996788 +llvm/TpiHashing.cpp.ll 509470492 llvm/TpiStream.cpp.ll 1704343470 llvm/TpiStreamBuilder.cpp.ll 792106709 llvm/Trace.cpp.ll 74663205 llvm/TrainingLogger.cpp.ll 397173361 llvm/TransAPIUses.cpp.ll 16178698115 -llvm/TransARCAssign.cpp.ll 16181230806 +llvm/TransARCAssign.cpp.ll 16159819070 llvm/TransAutoreleasePool.cpp.ll 45925959238 llvm/TransBlockObjCVariable.cpp.ll 38628811955 llvm/TransEmptyStatementsAndDealloc.cpp.ll 16733573088 @@ -16281,7 +16281,7 @@ llvm/TypeIndex.cpp.ll 89419093 llvm/TypeIndexDiscovery.cpp.ll 1009925465 llvm/TypeLoc.cpp.ll 3373137754 llvm/TypeLocBuilder.cpp.ll 2450407931 -llvm/TypeMetadataUtils.cpp.ll 662379090 +llvm/TypeMetadataUtils.cpp.ll 661509228 llvm/TypePrinter.cpp.ll 5991140662 llvm/TypePromotion.cpp.ll 3993926888 llvm/TypeRecordHelpers.cpp.ll 652695269 @@ -16295,7 +16295,7 @@ llvm/TypedefUnderlyingTypeResolver.cpp.ll 176760315 llvm/Types.cpp.ll 34252904 llvm/UDTLayout.cpp.ll 1800306669 llvm/USRGeneration.cpp.ll 3309931443 -llvm/UncountedCallArgsChecker.cpp.ll 17230702765 +llvm/UncountedCallArgsChecker.cpp.ll 17212879661 llvm/UncountedLambdaCapturesChecker.cpp.ll 16730492222 llvm/UncountedLocalVarsChecker.cpp.ll 17166872967 llvm/UndefBranchChecker.cpp.ll 605385395 @@ -16309,7 +16309,7 @@ llvm/UnicodeCaseFold.cpp.ll 918061207 llvm/UnicodeNameToCodepoint.cpp.ll 1017417729 llvm/UniformityAnalysis.cpp.ll 3810617520 llvm/UnifyFunctionExitNodes.cpp.ll 397509552 -llvm/UnifyLoopExits.cpp.ll 1114245196 +llvm/UnifyLoopExits.cpp.ll 1112998793 llvm/UninitializedObjectChecker.cpp.ll 7681817904 llvm/UninitializedPointee.cpp.ll 746776231 llvm/UninitializedValues.cpp.ll 4690819164 @@ -16321,7 +16321,7 @@ llvm/UnwrappedLineFormatter.cpp.ll 2246419386 llvm/UnwrappedLineParser.cpp.ll 7631520399 llvm/UpdateCompilerUsed.cpp.ll 652971254 llvm/Use.cpp.ll 59332732 -llvm/User.cpp.ll 416221883 +llvm/User.cpp.ll 415725692 llvm/UsingDeclarationsSorter.cpp.ll 1358628559 llvm/Utility.cpp.ll 1410957239 llvm/Utils.cpp.ll 34449894 @@ -16351,7 +16351,7 @@ llvm/ValueLatticeUtils.cpp.ll 171455253 llvm/ValueList.cpp.ll 583376862 llvm/ValueMapper.cpp.ll 3973163423 llvm/ValueProfileCollector.cpp.ll 800435240 -llvm/ValueSymbolTable.cpp.ll 215248907 +llvm/ValueSymbolTable.cpp.ll 214970508 llvm/ValueTracking.cpp.ll 19744050770 llvm/ValueTypes.cpp.ll 804470599 llvm/VarBypassDetector.cpp.ll 1123086756 @@ -16363,11 +16363,11 @@ llvm/VectorUtils.cpp.ll 5945116726 llvm/Vectorize.cpp.ll 32602489 llvm/Verifier.cpp.ll 19504185820 llvm/VerifyDiagnosticConsumer.cpp.ll 2632469102 -llvm/Version.cpp.ll 118892074 +llvm/Version.cpp.ll 118771756 llvm/VersionTuple.cpp.ll 153348711 llvm/VforkChecker.cpp.ll 971225723 llvm/VirtRegMap.cpp.ll 2976436761 -llvm/VirtualCallChecker.cpp.ll 2076323475 +llvm/VirtualCallChecker.cpp.ll 2074210106 llvm/VirtualFileSystem.cpp.ll 6300691184 llvm/Visitor.cpp.ll 16537886967 llvm/WarnMissedTransforms.cpp.ll 254512368 @@ -16383,7 +16383,7 @@ llvm/WebAssembly.cpp.ll 839048336 llvm/WebAssemblyDisassemblerEmitter.cpp.ll 794443221 llvm/WhitespaceManager.cpp.ll 3540096951 llvm/WholeProgramDevirt.cpp.ll 16170307042 -llvm/WinCFGuard.cpp.ll 522071764 +llvm/WinCFGuard.cpp.ll 521464726 llvm/WinCOFFObjectWriter.cpp.ll 3086302049 llvm/WinEHPrepare.cpp.ll 7179332557 llvm/WinException.cpp.ll 1690703748 @@ -16401,13 +16401,13 @@ llvm/X86AsmPrinter.cpp.ll 1450999151 llvm/X86AvoidStoreForwardingBlocks.cpp.ll 1960796837 llvm/X86AvoidTrailingCall.cpp.ll 457386784 llvm/X86CallFrameOptimization.cpp.ll 1788327571 -llvm/X86CallLowering.cpp.ll 799842293 +llvm/X86CallLowering.cpp.ll 798994297 llvm/X86CallingConv.cpp.ll 5589337925 llvm/X86CmovConversion.cpp.ll 4036219152 llvm/X86CodeGenPassBuilder.cpp.ll 9608067141 llvm/X86CompressEVEX.cpp.ll 408234272 llvm/X86Disassembler.cpp.ll 4613466283 -llvm/X86DisassemblerTables.cpp.ll 3265452846 +llvm/X86DisassemblerTables.cpp.ll 3484903994 llvm/X86DiscriminateMemOps.cpp.ll 1175206881 llvm/X86DomainReassignment.cpp.ll 2922439804 llvm/X86DynAllocaExpander.cpp.ll 1805118751 @@ -16418,7 +16418,7 @@ llvm/X86FastISel.cpp.ll 12316750365 llvm/X86FastPreTileConfig.cpp.ll 2418879559 llvm/X86FastTileConfig.cpp.ll 700778315 llvm/X86FixupBWInsts.cpp.ll 1062033854 -llvm/X86FixupInstTuning.cpp.ll 1013047840 +llvm/X86FixupInstTuning.cpp.ll 1011939048 llvm/X86FixupLEAs.cpp.ll 1579471432 llvm/X86FixupSetCC.cpp.ll 400985242 llvm/X86FixupVectorConstants.cpp.ll 2339236338 @@ -16449,7 +16449,7 @@ llvm/X86LoadValueInjectionRetHardening.cpp.ll 407530379 llvm/X86LowerAMXIntrinsics.cpp.ll 5228779425 llvm/X86LowerAMXType.cpp.ll 4382230301 llvm/X86LowerTileCopy.cpp.ll 792879916 -llvm/X86MCAsmInfo.cpp.ll 478295554 +llvm/X86MCAsmInfo.cpp.ll 477650878 llvm/X86MCCodeEmitter.cpp.ll 1645589399 llvm/X86MCInstLower.cpp.ll 2425107998 llvm/X86MCTargetDesc.cpp.ll 5390597138 @@ -16458,7 +16458,7 @@ llvm/X86MachineFunctionInfo.cpp.ll 552804629 llvm/X86MacroFusion.cpp.ll 57004823 llvm/X86MnemonicTables.cpp.ll 2167194540 llvm/X86ModRMFilters.cpp.ll 57362657 -llvm/X86OptimizeLEAs.cpp.ll 2933776742 +llvm/X86OptimizeLEAs.cpp.ll 2930535094 llvm/X86PadShortFunction.cpp.ll 1044124221 llvm/X86PartialReduction.cpp.ll 1649223216 llvm/X86PreTileConfig.cpp.ll 3387922024 @@ -16473,28 +16473,28 @@ llvm/X86SpeculativeExecutionSideEffectSuppression.cpp.ll 470596879 llvm/X86SpeculativeLoadHardening.cpp.ll 6817503615 llvm/X86Subtarget.cpp.ll 1931245737 llvm/X86TargetInfo.cpp.ll 46032374 -llvm/X86TargetMachine.cpp.ll 3923023139 +llvm/X86TargetMachine.cpp.ll 3918729940 llvm/X86TargetObjectFile.cpp.ll 83615554 llvm/X86TargetParser.cpp.ll 1091964636 llvm/X86TargetTransformInfo.cpp.ll 10305093079 llvm/X86TileConfig.cpp.ll 1198179949 llvm/X86VZeroUpper.cpp.ll 609292123 llvm/X86WinCOFFObjectWriter.cpp.ll 90512580 -llvm/X86WinCOFFStreamer.cpp.ll 145788812 +llvm/X86WinCOFFStreamer.cpp.ll 145643012 llvm/X86WinCOFFTargetStreamer.cpp.ll 865944193 llvm/X86WinEHState.cpp.ll 3124296445 llvm/X86WinFixupBufferSecurityCheck.cpp.ll 649417180 -llvm/XCOFF.cpp.ll 238170640 +llvm/XCOFF.cpp.ll 237897020 llvm/XCOFFAsmParser.cpp.ll 51130808 llvm/XCOFFObjectFile.cpp.ll 2305385779 llvm/XCOFFObjectWriter.cpp.ll 5593742814 -llvm/XCore.cpp.ll 332105790 +llvm/XCore.cpp.ll 331593473 llvm/XRayArgs.cpp.ll 1064810291 -llvm/XRayInstr.cpp.ll 101752076 +llvm/XRayInstr.cpp.ll 101619588 llvm/XRayInstrumentation.cpp.ll 690050220 llvm/XRayLists.cpp.ll 175538078 llvm/YAMLParser.cpp.ll 2992600410 -llvm/YAMLRemarkParser.cpp.ll 1622623596 +llvm/YAMLRemarkParser.cpp.ll 1620745668 llvm/YAMLRemarkSerializer.cpp.ll 833045463 llvm/YAMLTraits.cpp.ll 1919081357 llvm/Z3CrosscheckVisitor.cpp.ll 1744469394 @@ -16511,7 +16511,7 @@ llvm/clang-driver.cpp.ll 36406249 llvm/driver.cpp.ll 1278900130 llvm/raw_os_ostream.cpp.ll 43838324 llvm/raw_ostream.cpp.ll 1281486995 -llvm/raw_socket_stream.cpp.ll 628516700 +llvm/raw_socket_stream.cpp.ll 627717296 llvm/regcomp.c.ll 1374776420 llvm/regerror.c.ll 52849768 llvm/regexec.c.ll 1122770026 @@ -16572,7 +16572,7 @@ logos-rs/4b0las62rwkht70r.ll 37758527 logos-rs/4d68z2o55gnel4s0.ll 49686513 logos-rs/4ddvqwjh4l8egqdl.ll 100974825 logos-rs/4fmp2mkq74jc8een.ll 52726092 -logos-rs/4j25ky18rn3qukq.ll 212657933 +logos-rs/4j25ky18rn3qukq.ll 212361629 logos-rs/4jnebgpe8k5o40u4.ll 32643115 logos-rs/4k7sy2ayt8ehzqxi.ll 177405897 logos-rs/4kmrn6pj9h6vp84m.ll 62262230 @@ -16757,14 +16757,14 @@ luajit/lj_vmmath_dyn.ll 47667190 luajit/luajit.ll 269789294 luajit/minilua.ll 8105529413 luau/Analyze.cpp.ll 3052451560 -luau/Anyification.cpp.ll 917007671 -luau/ApplyTypeFunction.cpp.ll 435685727 +luau/Anyification.cpp.ll 915932190 +luau/ApplyTypeFunction.cpp.ll 435190136 luau/AssemblyBuilderA64.cpp.ll 964985201 luau/AssemblyBuilderA64.test.cpp.ll 5011173039 luau/AssemblyBuilderX64.cpp.ll 1358101135 luau/AssemblyBuilderX64.test.cpp.ll 7041989657 -luau/Ast.cpp.ll 279041315 -luau/AstJsonEncoder.cpp.ll 1514420588 +luau/Ast.cpp.ll 278745314 +luau/AstJsonEncoder.cpp.ll 1512843657 luau/AstJsonEncoder.test.cpp.ll 1833564110 luau/AstQuery.cpp.ll 1310002675 luau/AstQuery.test.cpp.ll 2381330749 @@ -16776,7 +16776,7 @@ luau/BuiltinDefinitions.cpp.ll 5281484407 luau/BuiltinDefinitions.test.cpp.ll 502226614 luau/BuiltinFolding.cpp.ll 316419657 luau/Builtins.cpp.ll 526321454 -luau/Bytecode.cpp.ll 768976537 +luau/Bytecode.cpp.ll 767982218 luau/BytecodeAnalysis.cpp.ll 1536129247 luau/BytecodeBuilder.cpp.ll 3665762632 luau/BytecodeSummary.cpp.ll 508302152 @@ -16801,7 +16801,7 @@ luau/Confusables.cpp.ll 115707645 luau/ConstantFolding.cpp.ll 709229719 luau/Constraint.cpp.ll 849561903 luau/ConstraintGenerator.cpp.ll 13569425901 -luau/ConstraintGeneratorFixture.cpp.ll 2775397170 +luau/ConstraintGeneratorFixture.cpp.ll 2771522564 luau/ConstraintSolver.cpp.ll 11111313385 luau/ConstraintSolver.test.cpp.ll 2103012884 luau/CostModel.cpp.ll 605302440 @@ -16815,7 +16815,7 @@ luau/DenseHash.test.cpp.ll 616994456 luau/DiffAsserts.cpp.ll 197765453 luau/Differ.cpp.ll 2804777598 luau/Differ.test.cpp.ll 6387726018 -luau/EmbeddedBuiltinDefinitions.cpp.ll 152625404 +luau/EmbeddedBuiltinDefinitions.cpp.ll 152454167 luau/EmitBuiltinsX64.cpp.ll 110315771 luau/EmitCommonX64.cpp.ll 259903691 luau/EmitInstructionX64.cpp.ll 269924066 @@ -16858,18 +16858,18 @@ luau/Lexer.cpp.ll 1015896010 luau/Lexer.test.cpp.ll 975467355 luau/Linter.cpp.ll 4586566385 luau/Linter.test.cpp.ll 9995964193 -luau/LinterConfig.cpp.ll 143997311 +luau/LinterConfig.cpp.ll 143817398 luau/Location.cpp.ll 92577913 luau/Module.cpp.ll 2382890882 luau/Module.test.cpp.ll 5730587667 -luau/NativeProtoExecData.cpp.ll 72267253 +luau/NativeProtoExecData.cpp.ll 72189842 luau/NativeState.cpp.ll 66810945 luau/NonStrictTypeChecker.cpp.ll 3237712247 luau/NonStrictTypeChecker.test.cpp.ll 4905106625 luau/NonstrictMode.test.cpp.ll 2164758522 luau/Normalize.cpp.ll 8805457775 luau/Normalize.test.cpp.ll 7931529825 -luau/NotNull.test.cpp.ll 467770888 +luau/NotNull.test.cpp.ll 467231346 luau/OptimizeConstProp.cpp.ll 1817116373 luau/OptimizeDeadStore.cpp.ll 848759319 luau/OptimizeFinalX64.cpp.ll 112913027 @@ -16886,7 +16886,7 @@ luau/Repl.test.cpp.ll 1445087026 luau/ReplEntry.cpp.ll 32674543 luau/Require.cpp.ll 495169596 luau/RequireByString.test.cpp.ll 1822816183 -luau/RequireTracer.cpp.ll 807632616 +luau/RequireTracer.cpp.ll 806590502 luau/RequireTracer.test.cpp.ll 1750074374 luau/RuntimeLimits.test.cpp.ll 598117493 luau/Scope.cpp.ll 1652928999 @@ -16905,7 +16905,7 @@ luau/Symbol.test.cpp.ll 591152200 luau/TableLiteralInference.cpp.ll 1667333279 luau/TableShape.cpp.ll 624337222 luau/TimeTrace.cpp.ll 49423588 -luau/ToDot.cpp.ll 1380877848 +luau/ToDot.cpp.ll 1379070050 luau/ToDot.test.cpp.ll 3494443242 luau/ToString.cpp.ll 6173347984 luau/ToString.test.cpp.ll 9102546767 @@ -16914,7 +16914,7 @@ luau/TopoSortStatements.cpp.ll 1561901361 luau/Transpiler.cpp.ll 1285757445 luau/Transpiler.test.cpp.ll 2271537078 luau/TxnLog.cpp.ll 2369695938 -luau/TxnLog.test.cpp.ll 1868637529 +luau/TxnLog.test.cpp.ll 1866636036 luau/Type.cpp.ll 4552213921 luau/TypeArena.cpp.ll 1325676835 luau/TypeAttach.cpp.ll 1380567830 @@ -16936,7 +16936,7 @@ luau/TypeInfer.intersectionTypes.test.cpp.ll 4571436608 luau/TypeInfer.loops.test.cpp.ll 5569285981 luau/TypeInfer.modules.test.cpp.ll 3814755037 luau/TypeInfer.negations.test.cpp.ll 1156508695 -luau/TypeInfer.oop.test.cpp.ll 2045343793 +luau/TypeInfer.oop.test.cpp.ll 2042998535 luau/TypeInfer.operators.test.cpp.ll 9068036924 luau/TypeInfer.primitives.test.cpp.ll 1361392104 luau/TypeInfer.provisional.test.cpp.ll 6315222881 @@ -16949,7 +16949,7 @@ luau/TypeInfer.typePacks.test.cpp.ll 8500336117 luau/TypeInfer.typestates.test.cpp.ll 3354046514 luau/TypeInfer.unionTypes.test.cpp.ll 5327561803 luau/TypeInfer.unknownnever.test.cpp.ll 2911636819 -luau/TypeOrPack.cpp.ll 127572570 +luau/TypeOrPack.cpp.ll 127411987 luau/TypePack.cpp.ll 887556191 luau/TypePack.test.cpp.ll 2168298760 luau/TypePath.cpp.ll 1912904725 @@ -16977,7 +16977,7 @@ luau/lbuffer.cpp.ll 39364933 luau/lbuflib.cpp.ll 97656522 luau/lbuiltins.cpp.ll 697485510 luau/lcode.cpp.ll 42482847 -luau/lcodegen.cpp.ll 65556226 +luau/lcodegen.cpp.ll 65487976 luau/lcorolib.cpp.ll 95059074 luau/ldblib.cpp.ll 94785309 luau/ldebug.cpp.ll 284409988 @@ -17123,7 +17123,7 @@ lvgl/lv_obj_event.ll 147071840 lvgl/lv_obj_pos.ll 685274715 lvgl/lv_obj_scroll.ll 406968776 lvgl/lv_obj_style.ll 817965334 -lvgl/lv_obj_style_gen.ll 171571839 +lvgl/lv_obj_style_gen.ll 171389122 lvgl/lv_obj_tree.ll 330836927 lvgl/lv_observer.ll 231861328 lvgl/lv_os.ll 33670138 @@ -17175,7 +17175,7 @@ meilisearch-rs/17jh51lasapq4j93.ll 1464100492 meilisearch-rs/1bqqlm3jtb9rf3cv.ll 782246056 meilisearch-rs/1cgo24wrkn2cjv53.ll 25021086495 meilisearch-rs/1f5rio4m04ghssoy.ll 575435740 -meilisearch-rs/1onj4gqrvchfzpwo.ll 832551197 +meilisearch-rs/1onj4gqrvchfzpwo.ll 831713034 meilisearch-rs/1rhts6w5jqfcprz6.ll 560205809 meilisearch-rs/1wnbkg3u8l6dyln4.ll 14718035943 meilisearch-rs/2bqmf34tdvo23w8l.ll 25254131474 @@ -17280,10 +17280,10 @@ meshlab/apss.cpp.ll 2423460515 meshlab/arap.cpp.ll 15718008813 meshlab/balltree.cpp.ll 658785223 meshlab/baseio.cpp.ll 23586594500 -meshlab/bool_value.cpp.ll 137726420 +meshlab/bool_value.cpp.ll 137573755 meshlab/cleanfilter.cpp.ll 16387627493 meshlab/cmesh.cpp.ll 5530148253 -meshlab/color_value.cpp.ll 154159682 +meshlab/color_value.cpp.ll 153994148 meshlab/congrats_dialog.cpp.ll 177985692 meshlab/coordinateframe.cpp.ll 853512695 meshlab/cube_style_precomputation.cpp.ll 28530837630 @@ -17347,7 +17347,7 @@ meshlab/filter_mesh_alpha_wrap.cpp.ll 64706388676 meshlab/filter_mesh_booleans.cpp.ll 92841491639 meshlab/filter_mutualglobal.cpp.ll 4949029460 meshlab/filter_mutualinfo.cpp.ll 2328460202 -meshlab/filter_parametrization.cpp.ll 39310405569 +meshlab/filter_parametrization.cpp.ll 39265531723 meshlab/filter_plugin.cpp.ll 2172208271 meshlab/filter_plugin_container.cpp.ll 1982610576 meshlab/filter_plymc.cpp.ll 33155302319 @@ -17355,7 +17355,7 @@ meshlab/filter_qhull.cpp.ll 7548599803 meshlab/filter_sample.cpp.ll 2193372871 meshlab/filter_sample_gpu.cpp.ll 5726107904 meshlab/filter_sampling.cpp.ll 20285520353 -meshlab/filter_screened_poisson.cpp.ll 25872678721 +meshlab/filter_screened_poisson.cpp.ll 25804563752 meshlab/filter_script_dialog.cpp.ll 2134032405 meshlab/filter_sdfgpu.cpp.ll 7055620737 meshlab/filter_sketchfab.cpp.ll 8416362413 @@ -17399,7 +17399,7 @@ meshlab/layerDialog.cpp.ll 4375971877 meshlab/levmarmethods.cpp.ll 249940797 meshlab/load_project.cpp.ll 5936975293 meshlab/load_save.cpp.ll 5296778026 -meshlab/logging.cpp.ll 363989827 +meshlab/logging.cpp.ll 363566398 meshlab/main.cpp.ll 1976978651 meshlab/mainwindow_Init.cpp.ll 4296553815 meshlab/mainwindow_RunTime.cpp.ll 9534628695 @@ -17440,9 +17440,9 @@ meshlab/options_dialog.cpp.ll 288899860 meshlab/orthogonal_procrustes.cpp.ll 1564424417 meshlab/outline2_rasterizer.cpp.ll 1203912921 meshlab/packing.cpp.ll 4591182884 -meshlab/paintbox.cpp.ll 1247662574 +meshlab/paintbox.cpp.ll 1246387644 meshlab/parameters.cpp.ll 2288900823 -meshlab/pickPointsTemplate.cpp.ll 249580640 +meshlab/pickPointsTemplate.cpp.ll 249313420 meshlab/pickedPoints.cpp.ll 2091955889 meshlab/pickpointsDialog.cpp.ll 3964509549 meshlab/plugin_info_dialog.cpp.ll 2866161662 @@ -17454,18 +17454,18 @@ meshlab/qhull_tools.cpp.ll 4088391186 meshlab/quadric_simp.cpp.ll 23187601661 meshlab/qualitymapper.cpp.ll 1702304397 meshlab/qualitymapperdialog.cpp.ll 3959056700 -meshlab/radianceScalingRenderer.cpp.ll 2341817244 +meshlab/radianceScalingRenderer.cpp.ll 2345274385 meshlab/raster_model.cpp.ll 1644030902 meshlab/render_raster.cpp.ll 202276642 meshlab/rich_bool.cpp.ll 58905072 meshlab/rich_color.cpp.ll 60965749 meshlab/rich_direction.cpp.ll 63766148 -meshlab/rich_dynamic_float.cpp.ll 84857287 +meshlab/rich_dynamic_float.cpp.ll 84756566 meshlab/rich_enum.cpp.ll 170209690 meshlab/rich_file_open.cpp.ll 176970411 -meshlab/rich_file_save.cpp.ll 93358884 +meshlab/rich_file_save.cpp.ll 93250108 meshlab/rich_float.cpp.ll 58582065 -meshlab/rich_int.cpp.ll 58659944 +meshlab/rich_int.cpp.ll 58581887 meshlab/rich_matrix44.cpp.ll 77952051 meshlab/rich_mesh.cpp.ll 60526168 meshlab/rich_parameter.cpp.ll 1933937449 @@ -17478,7 +17478,7 @@ meshlab/rich_string.cpp.ll 77114847 meshlab/rimls.cpp.ll 2230432335 meshlab/rubberband.cpp.ll 115591635 meshlab/save_mesh_attributes_dialog.cpp.ll 2270658557 -meshlab/save_project.cpp.ll 2658047084 +meshlab/save_project.cpp.ll 2661523564 meshlab/save_snapshot_dialog.cpp.ll 380097724 meshlab/seam_remover.cpp.ll 21359503710 meshlab/seams.cpp.ll 5217956655 @@ -17490,12 +17490,12 @@ meshlab/shot_value.cpp.ll 186584970 meshlab/shrinkage.cpp.ll 581379858 meshlab/solver.cpp.ll 5224159874 meshlab/ssao.cpp.ll 2122917222 -meshlab/string_value.cpp.ll 150184143 +meshlab/string_value.cpp.ll 149993109 meshlab/textfile.cpp.ll 42205310 meshlab/texture_object.cpp.ll 514781593 meshlab/texture_optimization.cpp.ll 1106902494 meshlab/texture_rendering.cpp.ll 1879576068 -meshlab/tfhandle.cpp.ll 106633135 +meshlab/tfhandle.cpp.ll 106509761 meshlab/trackball.cpp.ll 991727922 meshlab/trackmode.cpp.ll 2123164289 meshlab/transferfunction.cpp.ll 930675418 @@ -17782,7 +17782,7 @@ minetest/profilergraph.cpp.ll 496216851 minetest/proxy_sound_manager.cpp.ll 395303766 minetest/quicktune.cpp.ll 226127758 minetest/raycast.cpp.ll 135623398 -minetest/reflowscan.cpp.ll 295393964 +minetest/reflowscan.cpp.ll 311281009 minetest/remoteplayer.cpp.ll 367966547 minetest/renderingengine.cpp.ll 747690337 minetest/rollback.cpp.ll 1969478563 @@ -17845,7 +17845,7 @@ minetest/test_authdatabase.cpp.ll 947588412 minetest/test_ban.cpp.ll 286959858 minetest/test_clientactiveobjectmgr.cpp.ll 508649105 minetest/test_collision.cpp.ll 314717396 -minetest/test_compression.cpp.ll 714755013 +minetest/test_compression.cpp.ll 715561570 minetest/test_connection.cpp.ll 663220986 minetest/test_content_mapblock.cpp.ll 1055683596 minetest/test_craft.cpp.ll 1962840680 @@ -17947,7 +17947,7 @@ miniaudio/unity.c.ll 30347487113 mio-rs/2tcmneiv71cgky1q.ll 59550215 mio-rs/4e0y160spzkz1zok.ll 52124284 mitsuba3/aov.cpp.ll 4043255867 -mitsuba3/appender.cpp.ll 430684284 +mitsuba3/appender.cpp.ll 430208919 mitsuba3/area.cpp.ll 1043236490 mitsuba3/argparser.cpp.ll 809288144 mitsuba3/assembler.cpp.ll 193309215 @@ -17955,10 +17955,10 @@ mitsuba3/batch.cpp.ll 1071537526 mitsuba3/bitmap.cpp.ll 10456579562 mitsuba3/blackbody.cpp.ll 543271731 mitsuba3/blendbsdf.cpp.ll 1048179962 -mitsuba3/blender.cpp.ll 2104663461 +mitsuba3/blender.cpp.ll 2102393091 mitsuba3/blendphase.cpp.ll 1078733102 -mitsuba3/box.cpp.ll 173317046 -mitsuba3/bsdf.cpp.ll 1135608316 +mitsuba3/box.cpp.ll 173114852 +mitsuba3/bsdf.cpp.ll 1134388436 mitsuba3/bsplinecurve.cpp.ll 2690092770 mitsuba3/builder.cpp.ll 394799147 mitsuba3/bumpmap.cpp.ll 886169871 @@ -17973,10 +17973,10 @@ mitsuba3/const.cpp.ll 658465962 mitsuba3/constant.cpp.ll 1002813400 mitsuba3/constpool.cpp.ll 167927201 mitsuba3/cpuinfo.cpp.ll 239985451 -mitsuba3/cube.cpp.ll 670775313 +mitsuba3/cube.cpp.ll 670010218 mitsuba3/cylinder.cpp.ll 4053214106 mitsuba3/d65.cpp.ll 872821321 -mitsuba3/depth.cpp.ll 207276592 +mitsuba3/depth.cpp.ll 207023402 mitsuba3/dielectric.cpp.ll 1661289180 mitsuba3/diffuse.cpp.ll 844734192 mitsuba3/direct.cpp.ll 1144097482 @@ -18010,7 +18010,7 @@ mitsuba3/instance.cpp.ll 1065148622 mitsuba3/integrator.cpp.ll 1921924475 mitsuba3/irradiancemeter.cpp.ll 698890993 mitsuba3/irregular.cpp.ll 1080322004 -mitsuba3/isotropic.cpp.ll 355376631 +mitsuba3/isotropic.cpp.ll 355000831 mitsuba3/jitallocator.cpp.ll 528787286 mitsuba3/jitruntime.cpp.ll 64519761 mitsuba3/lanczos.cpp.ll 464201928 @@ -18039,7 +18039,7 @@ mitsuba3/orthogonal.cpp.ll 842690765 mitsuba3/orthographic.cpp.ll 882492791 mitsuba3/path.cpp.ll 1325577775 mitsuba3/perspective.cpp.ll 1309082296 -mitsuba3/phase.cpp.ll 125307328 +mitsuba3/phase.cpp.ll 125178185 mitsuba3/plastic.cpp.ll 1157983174 mitsuba3/plugin.cpp.ll 1522847937 mitsuba3/ply.cpp.ll 3572372218 @@ -18061,7 +18061,7 @@ mitsuba3/rayleigh.cpp.ll 562836955 mitsuba3/rectangle.cpp.ll 2459213136 mitsuba3/regular.cpp.ll 1023704284 mitsuba3/retarder.cpp.ll 1112807292 -mitsuba3/rfilter.cpp.ll 262354510 +mitsuba3/rfilter.cpp.ll 262071769 mitsuba3/rgb2spec.c.ll 153843165 mitsuba3/rgb2spec_opt.cpp.ll 469734740 mitsuba3/roughconductor.cpp.ll 2510941128 @@ -18079,7 +18079,7 @@ mitsuba3/specfilm.cpp.ll 2304923817 mitsuba3/spectrum.cpp.ll 1694116172 mitsuba3/sphere.cpp.ll 3109103782 mitsuba3/spiral.cpp.ll 230108235 -mitsuba3/spot.cpp.ll 1160033229 +mitsuba3/spot.cpp.ll 1158744488 mitsuba3/srgb.cpp.ll 672023934 mitsuba3/stokes.cpp.ll 1170762730 mitsuba3/stratified.cpp.ll 620630956 @@ -18419,16 +18419,16 @@ mold/thunks.cc.LOONGARCH64.cc.ll 2293609955 mold/thunks.cc.PPC32.cc.ll 2373931445 mold/thunks.cc.PPC64V1.cc.ll 2343740148 mold/thunks.cc.PPC64V2.cc.ll 2354334492 -ms-gsl/algorithm_tests.cpp.ll 784907951 -ms-gsl/assertion_tests.cpp.ll 390791578 +ms-gsl/algorithm_tests.cpp.ll 783908521 +ms-gsl/assertion_tests.cpp.ll 390283669 ms-gsl/at_tests.cpp.ll 859347171 -ms-gsl/byte_tests.cpp.ll 247576162 +ms-gsl/byte_tests.cpp.ll 247254238 ms-gsl/notnull_tests.cpp.ll 2150004525 -ms-gsl/owner_tests.cpp.ll 125232021 +ms-gsl/owner_tests.cpp.ll 125097069 ms-gsl/span_compatibility_tests.cpp.ll 917338810 ms-gsl/span_ext_tests.cpp.ll 2098386690 ms-gsl/span_tests.cpp.ll 8362748531 -ms-gsl/strict_notnull_tests.cpp.ll 209464112 +ms-gsl/strict_notnull_tests.cpp.ll 209231258 ms-gsl/utils_tests.cpp.ll 483895240 msdfgen/Contour.cpp.ll 298031688 msdfgen/MSDFErrorCorrection.cpp.ll 2233087935 @@ -18529,7 +18529,7 @@ ncnn/convolution1d_x86_fma.cpp.ll 2538666783 ncnn/convolution3d.cpp.ll 432822033 ncnn/convolution_x86.cpp.ll 18874140112 ncnn/convolution_x86_avx.cpp.ll 25246743680 -ncnn/convolution_x86_avx2.cpp.ll 12529901909 +ncnn/convolution_x86_avx2.cpp.ll 12547030919 ncnn/convolution_x86_avx512.cpp.ll 39703463995 ncnn/convolution_x86_avx512vnni.cpp.ll 15196444505 ncnn/convolution_x86_avxvnni.cpp.ll 10578264289 @@ -18649,7 +18649,7 @@ ncnn/interp_x86.cpp.ll 1206994833 ncnn/interp_x86_avx.cpp.ll 1825809364 ncnn/interp_x86_avx512.cpp.ll 2415737025 ncnn/interp_x86_fma.cpp.ll 1818757486 -ncnn/layer.cpp.ll 997339750 +ncnn/layer.cpp.ll 996270707 ncnn/layernorm.cpp.ll 239729860 ncnn/layernorm_x86.cpp.ll 399023995 ncnn/layernorm_x86_avx.cpp.ll 696200183 @@ -18865,7 +18865,7 @@ ninja/dyndep.cc.ll 412185163 ninja/dyndep_parser.cc.ll 592600469 ninja/dyndep_parser_test.cc.ll 3393879087 ninja/edit_distance.cc.ll 167487579 -ninja/edit_distance_test.cc.ll 292640015 +ninja/edit_distance_test.cc.ll 292289649 ninja/eval_env.cc.ll 813498246 ninja/graph.cc.ll 1832310579 ninja/graph_test.cc.ll 5438078368 @@ -19009,12 +19009,12 @@ nix/loggers.ll 2023688048 nix/lru-cache.ll 1570294880 nix/ls.ll 4953502968 nix/machines.ll 3997153289 -nix/main.ll 1188900128 +nix/main.ll 1187574267 nix/make-content-addressed.ll 5474742210 nix/memory-input-accessor.ll 615986469 nix/memory-source-accessor.ll 3522029894 nix/mercurial.ll 6382033443 -nix/misc-store-flags.ll 677015860 +nix/misc-store-flags.ll 676328962 nix/misc.ll 10190927134 nix/mounted-input-accessor.ll 811920484 nix/names.ll 6170745899 @@ -19074,7 +19074,7 @@ nix/sigs.ll 5227179897 nix/source-accessor.ll 2104412849 nix/source-path.ll 2425207396 nix/sqlite.ll 2709180752 -nix/ssh-store.ll 4812924663 +nix/ssh-store.ll 4808066789 nix/ssh.ll 3207497071 nix/stack.ll 2323769900 nix/store-api.ll 19336995253 @@ -19083,10 +19083,10 @@ nix/store-delete.ll 3297242708 nix/store-gc.ll 3275548900 nix/store-info.ll 4676599916 nix/store-repair.ll 1296138924 -nix/store.ll 1025368608 +nix/store.ll 1024079445 nix/substitution-goal.ll 4621039902 nix/suggestions.ll 2041880485 -nix/tarball.ll 5783034974 +nix/tarball.ll 5777134158 nix/tarfile.ll 2398615308 nix/terminal.ll 406174978 nix/tests.ll 5750359668 @@ -19150,7 +19150,7 @@ nlohmann_json/unit-no-mem-leak-on-adl-serialize.cpp.ll 1579948062 nlohmann_json/unit-ordered_json.cpp.ll 5115505724 nlohmann_json/unit-ordered_map.cpp.ll 1460803052 nlohmann_json/unit-pointer_access.cpp.ll 4414811482 -nlohmann_json/unit-readme.cpp.ll 9609874765 +nlohmann_json/unit-readme.cpp.ll 9600261664 nlohmann_json/unit-reference_access.cpp.ll 3910860687 nlohmann_json/unit-regression1.cpp.ll 29066834892 nlohmann_json/unit-regression2.cpp.ll 37623488434 @@ -19176,9 +19176,9 @@ node/fs.ll 755802630 node/getaddrinfo.ll 76780127 node/idna.ll 382048182 node/inet.ll 270550880 -node/libnode.NodeRuntime.ll 464783243 +node/libnode.NodeRuntime.ll 464224011 node/libnode.NodeTracing.ll 1117129233 -node/libnode.NodeWorker.ll 899405861 +node/libnode.NodeWorker.ll 898378790 node/libnode.Protocol.ll 6049133720 node/libnode.agent.ll 1051860903 node/libnode.application.ll 511944326 @@ -19202,7 +19202,7 @@ node/libnode.crypto_dh.ll 2599550214 node/libnode.crypto_dsa.ll 1434942254 node/libnode.crypto_ec.ll 2875832620 node/libnode.crypto_hash.ll 1528017932 -node/libnode.crypto_hkdf.ll 795477650 +node/libnode.crypto_hkdf.ll 794623373 node/libnode.crypto_hmac.ll 1469243223 node/libnode.crypto_keygen.ll 1401773797 node/libnode.crypto_keys.ll 2578581215 @@ -19230,8 +19230,8 @@ node/libnode.fs_permission.ll 576022198 node/libnode.handle_wrap.ll 295409517 node/libnode.heap_utils.ll 1486188827 node/libnode.histogram.ll 1719602383 -node/libnode.hooks.ll 625221559 -node/libnode.inspector_agent.ll 2709176080 +node/libnode.hooks.ll 624572956 +node/libnode.inspector_agent.ll 2706341144 node/libnode.inspector_io.ll 1177576568 node/libnode.inspector_js_api.ll 1117723954 node/libnode.inspector_profiler.ll 1434053277 @@ -19242,7 +19242,7 @@ node/libnode.js_stream.ll 372210037 node/libnode.js_udp_wrap.ll 358348509 node/libnode.json_parser.ll 129482467 node/libnode.logstream.ll 400227865 -node/libnode.main_thread_interface.ll 1627528123 +node/libnode.main_thread_interface.ll 1625575519 node/libnode.module_wrap.ll 1783753941 node/libnode.node.ll 2213494615 node/libnode.node_api.ll 1896775618 @@ -19264,7 +19264,7 @@ node/libnode.node_http_parser.ll 1804352690 node/libnode.node_i18n.ll 931494741 node/libnode.node_javascript.ll 8385925090 node/libnode.node_large_page.ll 432215954 -node/libnode.node_main_instance.ll 306008218 +node/libnode.node_main_instance.ll 305697178 node/libnode.node_messaging.ll 4972449566 node/libnode.node_metadata.ll 137915396 node/libnode.node_modules.ll 1770065767 @@ -19272,7 +19272,7 @@ node/libnode.node_options.ll 5901352817 node/libnode.node_os.ll 922775472 node/libnode.node_perf.ll 1275543723 node/libnode.node_platform.ll 2545112519 -node/libnode.node_process_events.ll 199375891 +node/libnode.node_process_events.ll 199128645 node/libnode.node_process_methods.ll 1593443413 node/libnode.node_process_object.ll 968952510 node/libnode.node_realm.ll 2726375088 @@ -19302,7 +19302,7 @@ node/libnode.packet.ll 1039772226 node/libnode.permission.ll 747368890 node/libnode.pipe_wrap.ll 473319901 node/libnode.preferredaddress.ll 264991839 -node/libnode.process_wrap.ll 622539617 +node/libnode.process_wrap.ll 621817702 node/libnode.queue.ll 4323232337 node/libnode.runtime_agent.ll 173281399 node/libnode.session.ll 4392535017 @@ -19321,13 +19321,13 @@ node/libnode.timers.ll 511277309 node/libnode.tlscontext.ll 1608910762 node/libnode.tokens.ll 145691589 node/libnode.traced_value.ll 180212741 -node/libnode.tracing_agent.ll 814345842 +node/libnode.tracing_agent.ll 813530482 node/libnode.transportparams.ll 874385633 node/libnode.tty_wrap.ll 291095570 node/libnode.udp_wrap.ll 1362579403 node/libnode.util.ll 614630631 node/libnode.uv.ll 251790267 -node/libnode.worker_agent.ll 944965742 +node/libnode.worker_agent.ll 943605887 node/libnode.worker_inspector.ll 869661494 node/linux.ll 1048203825 node/loop-watcher.ll 111126839 @@ -19354,7 +19354,7 @@ nom-rs/2x1fe52gli88yu9j.ll 174861620 nom-rs/3jpydaij29nuwx12.ll 36887737 nom-rs/3tis6dmtufznl8e6.ll 272633115 nom-rs/4d37o9bk80ni8qlk.ll 80008987 -nom-rs/4g95yf0nknmrxmxq.ll 103856483 +nom-rs/4g95yf0nknmrxmxq.ll 103736081 nom-rs/4njux7708r5jievh.ll 39129159 nom-rs/5c7a2c3z1ziid79c.ll 280703352 nom-rs/x65zckxx4q2a3hy.ll 68095384 @@ -19382,7 +19382,7 @@ nori/main.cpp.ll 1756594341 nori/mesh.cpp.ll 1198910250 nori/messagedialog.cpp.ll 212619897 nori/microfacet.cpp.ll 367179440 -nori/mirror.cpp.ll 157515630 +nori/mirror.cpp.ll 157318692 nori/nanovg.c.ll 13341871196 nori/obj.cpp.ll 2792784287 nori/object.cpp.ll 383998549 @@ -19408,7 +19408,7 @@ nori/theme.cpp.ll 496637251 nori/traits.cpp.ll 39080966 nori/ttest.cpp.ll 1174590410 nori/vscrollpanel.cpp.ll 201477401 -nori/warp.cpp.ll 276551531 +nori/warp.cpp.ll 276238835 nori/warptest.cpp.ll 5130135116 nori/widget.cpp.ll 522878723 nori/window.cpp.ll 158571795 @@ -19570,7 +19570,7 @@ nuttx/lib_swab.c.ll 39178866 nuttx/lib_timingsafe_bcmp.c.ll 39528748 nuttx/lib_ultoa_invert.c.ll 43193307 nuttx/lib_ungetwc.c.ll 43512425 -nuttx/lib_uuid_create.c.ll 55366429 +nuttx/lib_uuid_create.c.ll 55307125 nuttx/lib_wcschr.c.ll 37736439 nuttx/lib_wcscmp.c.ll 36742095 nuttx/lib_wcscpy.c.ll 34886851 @@ -19703,12 +19703,12 @@ ocio/ExposureContrastOpData.cpp.ll 404232217 ocio/ExposureContrastOpGPU.cpp.ll 561428207 ocio/ExposureContrastTransform.cpp.ll 279037360 ocio/FileFormat3DL.cpp.ll 1095866722 -ocio/FileFormatCC.cpp.ll 411890267 +ocio/FileFormatCC.cpp.ll 411445952 ocio/FileFormatCCC.cpp.ll 747489601 ocio/FileFormatCDL.cpp.ll 753172538 ocio/FileFormatCSP.cpp.ll 1590823009 ocio/FileFormatCTF.cpp.ll 3893161816 -ocio/FileFormatDiscreet1DL.cpp.ll 741117608 +ocio/FileFormatDiscreet1DL.cpp.ll 740334975 ocio/FileFormatHDL.cpp.ll 1949947751 ocio/FileFormatICC.cpp.ll 1600242072 ocio/FileFormatIridasCube.cpp.ll 951977638 @@ -19724,7 +19724,7 @@ ocio/FileFormatVF.cpp.ll 899154189 ocio/FileRules.cpp.ll 8064502161 ocio/FileTransform.cpp.ll 2165377150 ocio/FixedFunctionOp.cpp.ll 651453958 -ocio/FixedFunctionOpCPU.cpp.ll 1341068295 +ocio/FixedFunctionOpCPU.cpp.ll 1339205267 ocio/FixedFunctionOpData.cpp.ll 382628033 ocio/FixedFunctionOpGPU.cpp.ll 769330729 ocio/FixedFunctionTransform.cpp.ll 374298989 @@ -19752,9 +19752,9 @@ ocio/GradingRGBCurveOpGPU.cpp.ll 584619562 ocio/GradingRGBCurveTransform.cpp.ll 264519341 ocio/GradingTone.cpp.ll 404798448 ocio/GradingToneOp.cpp.ll 603361679 -ocio/GradingToneOpCPU.cpp.ll 1095942035 +ocio/GradingToneOpCPU.cpp.ll 1097236756 ocio/GradingToneOpData.cpp.ll 330182011 -ocio/GradingToneOpGPU.cpp.ll 1947499407 +ocio/GradingToneOpGPU.cpp.ll 1968149027 ocio/GradingToneTransform.cpp.ll 199256119 ocio/GroupTransform.cpp.ll 703602902 ocio/HashUtils.cpp.ll 718776481 @@ -19787,10 +19787,10 @@ ocio/Lut3DOpCPU_AVX.cpp.ll 179956897 ocio/Lut3DOpCPU_AVX2.cpp.ll 169249931 ocio/Lut3DOpCPU_SSE2.cpp.ll 221534900 ocio/Lut3DOpData.cpp.ll 789625651 -ocio/Lut3DTransform.cpp.ll 289467307 +ocio/Lut3DTransform.cpp.ll 289107532 ocio/MathUtils.cpp.ll 328223270 ocio/MatrixOp.cpp.ll 941892314 -ocio/MatrixOpCPU.cpp.ll 514059737 +ocio/MatrixOpCPU.cpp.ll 513528015 ocio/MatrixOpData.cpp.ll 1043739230 ocio/MatrixTransform.cpp.ll 352052559 ocio/MixingHelpers.cpp.ll 639932277 @@ -19800,21 +19800,21 @@ ocio/OCIOYaml.cpp.ll 15015771957 ocio/OCIOZArchive.cpp.ll 539725471 ocio/Op.cpp.ll 3017357957 ocio/OpHelpers.cpp.ll 254492344 -ocio/OpOptimizers.cpp.ll 1749673202 +ocio/OpOptimizers.cpp.ll 1747790945 ocio/OpTools.cpp.ll 124376408 ocio/PanasonicCameras.cpp.ll 197137335 ocio/ParseUtils.cpp.ll 921080920 ocio/PathUtils.cpp.ll 724256276 ocio/Platform.cpp.ll 160249891 -ocio/Processor.cpp.ll 1496543628 +ocio/Processor.cpp.ll 1494589427 ocio/RangeOp.cpp.ll 786933103 -ocio/RangeOpCPU.cpp.ll 389109006 +ocio/RangeOpCPU.cpp.ll 388715119 ocio/RangeOpData.cpp.ll 434150868 ocio/RangeTransform.cpp.ll 199589782 ocio/RedCameras.cpp.ll 256356727 ocio/ReferenceOpData.cpp.ll 61533661 ocio/ScanlineHelper.cpp.ll 1475530515 -ocio/SonyCameras.cpp.ll 326849489 +ocio/SonyCameras.cpp.ll 326472568 ocio/SystemMonitor.cpp.ll 282073173 ocio/Transform.cpp.ll 1046377546 ocio/ViewTransform.cpp.ll 749605700 @@ -20375,7 +20375,7 @@ openblas/dlasd0.c.ll 106158267 openblas/dlasd2.c.ll 169369188 openblas/dlasd3.c.ll 156456476 openblas/dlasd4.c.ll 346044034 -openblas/dlasd5.c.ll 49002372 +openblas/dlasd5.c.ll 48951996 openblas/dlasd7.c.ll 127183261 openblas/dlasd8.c.ll 95979182 openblas/dlasda.c.ll 141649685 @@ -20627,12 +20627,12 @@ opencc/Dict.cpp.ll 197669886 opencc/DictConverter.cpp.ll 219899963 opencc/DictGroup.cpp.ll 894930631 opencc/Lexicon.cpp.ll 362173288 -opencc/MarisaDict.cpp.ll 1030902268 +opencc/MarisaDict.cpp.ll 1029801372 opencc/MaxMatchSegmentation.cpp.ll 335837977 opencc/PhraseExtract.cpp.ll 3127162468 opencc/SerializedValues.cpp.ll 706992078 opencc/SimpleConverter.cpp.ll 135677063 -opencc/TextDict.cpp.ll 747274409 +opencc/TextDict.cpp.ll 746384987 opencc/UTF8Util.cpp.ll 52519212 opencc/agent.cc.ll 104771422 opencc/bit-vector.cc.ll 341723422 @@ -20664,8 +20664,8 @@ opencv/HitMiss.cpp.ll 372942601 opencv/HoughCircle_Demo.cpp.ll 147190228 opencv/HoughLines_Demo.cpp.ll 174674898 opencv/KAZEFeatures.cpp.ll 1405164957 -opencv/LATCH_match.cpp.ll 536351762 -opencv/LSDDetector.cpp.ll 652880156 +opencv/LATCH_match.cpp.ll 535805365 +opencv/LSDDetector.cpp.ll 652178040 opencv/Laplace_Demo.cpp.ll 68159711 opencv/Logos.cpp.ll 344994021 opencv/Match.cpp.ll 81326771 @@ -20690,9 +20690,9 @@ opencv/SURF_matching_Demo.cpp.ll 189004183 opencv/Smoothing.cpp.ll 120134133 opencv/Sobel_Demo.cpp.ll 114542370 opencv/THDiskFile.cpp.ll 310071668 -opencv/THFile.cpp.ll 66854559 +opencv/THFile.cpp.ll 66752744 opencv/THGeneral.cpp.ll 33846914 -opencv/Threshold.cpp.ll 73152573 +opencv/Threshold.cpp.ll 73073968 opencv/Threshold_inRange.cpp.ll 113239458 opencv/Utils.cpp.ll 1039535281 opencv/ValStructVec.cpp.ll 33845145 @@ -20708,7 +20708,7 @@ opencv/affine_feature2d.cpp.ll 1240616463 opencv/agast.cpp.ll 8446607689 opencv/agast_score.cpp.ll 8283268736 opencv/age_gender_emotion_recognition.cpp.ll 5114260420 -opencv/akaze.cpp.ll 512038237 +opencv/akaze.cpp.ll 511380104 opencv/algorithm.cpp.ll 87546436 opencv/align.cpp.ll 194834205 opencv/alignment_pattern.cpp.ll 53556849 @@ -20726,7 +20726,7 @@ opencv/apriltag_quad_thresh.cpp.ll 2053910815 opencv/ar_hmdb.cpp.ll 683769404 opencv/ar_hmdb_benchmark.cpp.ll 3416665691 opencv/ar_sports.cpp.ll 594904725 -opencv/arg_layer.cpp.ll 556517356 +opencv/arg_layer.cpp.ll 555958582 opencv/arithm.cpp.ll 1554090108 opencv/arithm.dispatch.cpp.ll 4741539698 opencv/array.cpp.ll 1591939167 @@ -20745,7 +20745,7 @@ opencv/attr_value.pb.cc.ll 2706924367 opencv/audio_spectrogram.cpp.ll 1635491386 opencv/augmented_unscented_kalman.cpp.ll 473815139 opencv/autocalib.cpp.ll 669933195 -opencv/average_hash.cpp.ll 275408072 +opencv/average_hash.cpp.ll 275112825 opencv/backend.cpp.ll 2181099257 opencv/backend_plugin.cpp.ll 1913403639 opencv/backend_static.cpp.ll 633598809 @@ -20755,7 +20755,7 @@ opencv/barcode.cpp.ll 585169768 opencv/bardetect.cpp.ll 1719440196 opencv/base_frame_adapter.cpp.ll 33850593 opencv/basicretinafilter.cpp.ll 729690761 -opencv/batch_distance.cpp.ll 645155972 +opencv/batch_distance.cpp.ll 646646322 opencv/batch_norm_layer.cpp.ll 494255128 opencv/beblid.cpp.ll 1149793798 opencv/benchmark.cpp.ll 1115084829 @@ -20777,9 +20777,9 @@ opencv/binarizermgr.cpp.ll 244428879 opencv/binary_descriptor.cpp.ll 3693073562 opencv/binary_descriptor_matcher.cpp.ll 2023458407 opencv/binarybitmap.cpp.ll 152547323 -opencv/bindings_ie.cpp.ll 1115941800 +opencv/bindings_ie.cpp.ll 1114227363 opencv/bindings_onnx.cpp.ll 1659512580 -opencv/bindings_ov.cpp.ll 1319891522 +opencv/bindings_ov.cpp.ll 1318341529 opencv/bindings_utils.cpp.ll 240014467 opencv/bitarray.cpp.ll 395314285 opencv/bitmatrix.cpp.ll 795107895 @@ -20802,7 +20802,7 @@ opencv/brightedgesexample.cpp.ll 80093718 opencv/brisk.cpp.ll 2499662596 opencv/brisque_eval_tid2008.cpp.ll 793945899 opencv/brisque_trainer_livedb.cpp.ll 577094831 -opencv/btv_l1.cpp.ll 1686258159 +opencv/btv_l1.cpp.ll 1684503714 opencv/btv_l1_cuda.cpp.ll 35174201 opencv/buffer.cpp.ll 33845855 opencv/buffer_area.cpp.ll 229459950 @@ -20847,7 +20847,7 @@ opencv/character_recognition.cpp.ll 123679689 opencv/characterseteci.cpp.ll 424763472 opencv/chart_detection.cpp.ll 286211655 opencv/chart_detection_with_network.cpp.ll 311537628 -opencv/charts.cpp.ll 195219123 +opencv/charts.cpp.ll 195020109 opencv/charuco.cpp.ll 294807999 opencv/charuco_detector.cpp.ll 2762386778 opencv/check.cpp.ll 228731048 @@ -20890,7 +20890,7 @@ opencv/concat_layer.cpp.ll 1211848995 opencv/conjugate_gradient.cpp.ll 379231378 opencv/connected_components.cpp.ll 167152930 opencv/connectedcomponents.cpp.ll 34982029817 -opencv/const_layer.cpp.ll 451148689 +opencv/const_layer.cpp.ll 450643441 opencv/container_avi.cpp.ll 1263050562 opencv/context.cpp.ll 33846109 opencv/contours.cpp.ll 1259571970 @@ -20934,7 +20934,7 @@ opencv/cpu_frame_adapter.cpp.ll 33850032 opencv/create_board.cpp.ll 183222312 opencv/create_board_charuco.cpp.ll 184947182 opencv/create_diamond.cpp.ll 327414774 -opencv/create_marker.cpp.ll 128692336 +opencv/create_marker.cpp.ll 128535726 opencv/create_mask.cpp.ll 238030797 opencv/crop_and_resize_layer.cpp.ll 731806261 opencv/cropped_word_recognition.cpp.ll 262157343 @@ -20944,7 +20944,7 @@ opencv/cuda_gpu_mat_nd.cpp.ll 581184502 opencv/cuda_host_mem.cpp.ll 75970897 opencv/cuda_info.cpp.ll 89351314 opencv/cuda_perf.cpp.ll 493929295 -opencv/cuda_stream.cpp.ll 129068471 +opencv/cuda_stream.cpp.ll 128932299 opencv/cuda_test.cpp.ll 1325049860 opencv/cumsum_layer.cpp.ll 275083047 opencv/cv2.cpp.ll 189071256755 @@ -20958,7 +20958,7 @@ opencv/darknet_io.cpp.ll 2800803252 opencv/dasiamrpn_tracker.cpp.ll 344057741 opencv/data.cpp.ll 2949876198 opencv/data_provider_interface_exception.cpp.ll 100932338 -opencv/datablock.cpp.ll 373489266 +opencv/datablock.cpp.ll 373068359 opencv/datafile.cpp.ll 648536958 opencv/datamask.cpp.ll 242625060 opencv/dataset.cpp.ll 43790890 @@ -20998,13 +20998,13 @@ opencv/detect_board.cpp.ll 454238632 opencv/detect_board_charuco.cpp.ll 443584714 opencv/detect_diamonds.cpp.ll 777075475 opencv/detect_markers.cpp.ll 512789348 -opencv/detect_mser.cpp.ll 898537142 +opencv/detect_mser.cpp.ll 897333455 opencv/detection_based_tracker.cpp.ll 1543841441 opencv/detection_output_layer.cpp.ll 3901831789 opencv/detector.cpp.ll 2089173962 opencv/detector_result.cpp.ll 94879679 opencv/device_selector_interface.cpp.ll 66547093 -opencv/dft.cpp.ll 165148118 +opencv/dft.cpp.ll 164975984 opencv/dictnet_demo.cpp.ll 122870332 opencv/digits_lenet.cpp.ll 352599831 opencv/digits_svm.cpp.ll 1528094351 @@ -21014,7 +21014,7 @@ opencv/dis_opticalflow.cpp.ll 183201741 opencv/discrete_fourier_transform.cpp.ll 165911173 opencv/disparity_filtering.cpp.ll 608327123 opencv/disparity_filters.cpp.ll 1144075842 -opencv/display_image.cpp.ll 71635024 +opencv/display_image.cpp.ll 71556535 opencv/distance.cpp.ll 185622071 opencv/distrans.cpp.ll 197643586 opencv/distransform.cpp.ll 973577244 @@ -21034,7 +21034,7 @@ opencv/documentation.cpp.ll 35129921 opencv/domain_transform.cpp.ll 76828757 opencv/downhill_simplex.cpp.ll 479270529 opencv/dpm_cascade.cpp.ll 1415088785 -opencv/dpm_cascade_detector.cpp.ll 806547733 +opencv/dpm_cascade_detector.cpp.ll 805673883 opencv/dpm_convolution.cpp.ll 80824708 opencv/dpm_feature.cpp.ll 585005520 opencv/dpm_model.cpp.ll 1025005881 @@ -21075,8 +21075,8 @@ opencv/end_to_end_recognition.cpp.ll 1909213412 opencv/epipolar_lines.cpp.ll 759068013 opencv/epnp.cpp.ll 937083778 opencv/erfilter.cpp.ll 11255636178 -opencv/error_correction_level.cpp.ll 62955326 -opencv/errorhandler.cpp.ll 59523194 +opencv/error_correction_level.cpp.ll 62891223 +opencv/errorhandler.cpp.ll 59460183 opencv/essential_mat_reconstr.cpp.ll 2436026811 opencv/essential_solver.cpp.ll 1273950986 opencv/estimated_covariance.cpp.ll 622159711 @@ -21094,7 +21094,7 @@ opencv/face_basic.cpp.ll 378626178 opencv/face_beautification.cpp.ll 7949099404 opencv/face_detect.cpp.ll 389643997 opencv/face_detection_mtcnn.cpp.ll 11443852815 -opencv/face_recognize.cpp.ll 494671448 +opencv/face_recognize.cpp.ll 494119903 opencv/facedetect.cpp.ll 341238722 opencv/facemark.cpp.ll 769114020 opencv/facemarkAAM.cpp.ll 5763281822 @@ -21129,7 +21129,7 @@ opencv/feature_evaluator.cpp.ll 151977715 opencv/featureselect.cpp.ll 889982382 opencv/fed.cpp.ll 168462234 opencv/fence.cpp.ll 33843783 -opencv/ffilldemo.cpp.ll 175631280 +opencv/ffilldemo.cpp.ll 175440549 opencv/fgs_filter.cpp.ll 654901079 opencv/file_data_provider.cpp.ll 71208583 opencv/file_input_output.cpp.ll 252646483 @@ -21170,12 +21170,12 @@ opencv/fundamental_solver.cpp.ll 1780342888 opencv/fuzzy_F0_math.cpp.ll 926905634 opencv/fuzzy_F1_math.cpp.ll 640326863 opencv/fuzzy_filtering.cpp.ll 85902628 -opencv/fuzzy_image.cpp.ll 231984503 +opencv/fuzzy_image.cpp.ll 231715551 opencv/fuzzy_inpainting.cpp.ll 123813535 opencv/gabor.cpp.ll 93703356 opencv/gabstractexecutor.cpp.ll 744146638 opencv/gabstractstreamingexecutor.cpp.ll 865858460 -opencv/gamma_values.cpp.ll 332882626 +opencv/gamma_values.cpp.ll 332514043 opencv/gapi_compiler_perf_tests.cpp.ll 1904629121 opencv/gapi_core_perf_tests.cpp.ll 42869917866 opencv/gapi_core_perf_tests_cpu.cpp.ll 34676521853 @@ -21187,7 +21187,7 @@ opencv/gapi_imgproc_perf_tests_fluid.cpp.ll 18386248417 opencv/gapi_imgproc_perf_tests_gpu.cpp.ll 18323257181 opencv/gapi_render_perf_tests.cpp.ll 10780362599 opencv/gapi_render_perf_tests_ocv.cpp.ll 9753697872 -opencv/gapi_video_perf_tests.cpp.ll 11503289714 +opencv/gapi_video_perf_tests.cpp.ll 11490680630 opencv/gapi_video_perf_tests_cpu.cpp.ll 8831602354 opencv/garray.cpp.ll 232860197 opencv/gasync.cpp.ll 2052042011 @@ -21209,7 +21209,7 @@ opencv/gcpuimgproc.cpp.ll 7047785556 opencv/gcpukernel.cpp.ll 229463715 opencv/gcpuot.cpp.ll 1723405236 opencv/gcpustereo.cpp.ll 1191827416 -opencv/gcpuvideo.cpp.ll 2294340175 +opencv/gcpuvideo.cpp.ll 2292035540 opencv/gdal-image.cpp.ll 353859580 opencv/gemm_layer.cpp.ll 927410962 opencv/gemm_spv.cpp.ll 45166897 @@ -21224,14 +21224,14 @@ opencv/geometry.cpp.ll 796737944 opencv/getlandmarks.cpp.ll 1629544217 opencv/gexecutor.cpp.ll 4078319556 opencv/gfluidbackend.cpp.ll 14424149632 -opencv/gfluidbuffer.cpp.ll 1435328583 +opencv/gfluidbuffer.cpp.ll 1433491105 opencv/gfluidcore.cpp.ll 10082963640 opencv/gfluidimgproc.cpp.ll 5690610906 opencv/gfluidimgproc_func.dispatch.cpp.ll 4111957855 opencv/gframe.cpp.ll 151924487 -opencv/gftt.cpp.ll 407829412 +opencv/gftt.cpp.ll 407330761 opencv/giebackend.cpp.ll 37369209 -opencv/ginfer.cpp.ll 462089807 +opencv/ginfer.cpp.ll 461520714 opencv/gislandmodel.cpp.ll 5406628480 opencv/gkernel.cpp.ll 1122277432 opencv/gl_core_3_1.cpp.ll 323524682 @@ -21245,7 +21245,7 @@ opencv/gmodelbuilder.cpp.ll 3802671655 opencv/gms.cpp.ll 1168810780 opencv/gms_matcher.cpp.ll 414892233 opencv/gnnparsers.cpp.ll 1263238451 -opencv/gnode.cpp.ll 124567455 +opencv/gnode.cpp.ll 124402480 opencv/goak.cpp.ll 1471916418 opencv/goak_memory_adapters.cpp.ll 335734971 opencv/goakbackend.cpp.ll 39741444 @@ -21255,8 +21255,8 @@ opencv/goclimgproc.cpp.ll 2859719341 opencv/goclkernel.cpp.ll 210552594 opencv/gonnxbackend.cpp.ll 37407107 opencv/goodFeaturesToTrack_Demo.cpp.ll 145277857 -opencv/gopaque.cpp.ll 199154456 -opencv/gorigin.cpp.ll 171229153 +opencv/gopaque.cpp.ll 198909182 +opencv/gorigin.cpp.ll 171051346 opencv/goturnTracker.cpp.ll 219028363 opencv/govbackend.cpp.ll 37406060 opencv/gpc_evaluate.cpp.ll 1141500517 @@ -21277,7 +21277,7 @@ opencv/graphsegmentation_demo.cpp.ll 186890011 opencv/graycodepattern.cpp.ll 1079513132 opencv/grayscale_bitmap.cpp.ll 290559427 opencv/grayworld_white_balance.cpp.ll 255834753 -opencv/grenderocv.cpp.ll 1799578278 +opencv/grenderocv.cpp.ll 1797707629 opencv/greyscale_luminance_source.cpp.ll 208841714 opencv/greyscale_rotated_luminance_source.cpp.ll 193514396 opencv/grfmt_base.cpp.ll 89904179 @@ -21288,11 +21288,11 @@ opencv/grfmt_jpeg.cpp.ll 465023413 opencv/grfmt_jpeg2000_openjpeg.cpp.ll 1304709780 opencv/grfmt_pam.cpp.ll 635450449 opencv/grfmt_pfm.cpp.ll 514945249 -opencv/grfmt_png.cpp.ll 406428413 +opencv/grfmt_png.cpp.ll 405910504 opencv/grfmt_pxm.cpp.ll 628054989 opencv/grfmt_sunras.cpp.ll 379438697 opencv/grfmt_tiff.cpp.ll 1972004360 -opencv/grfmt_webp.cpp.ll 446100942 +opencv/grfmt_webp.cpp.ll 445615606 opencv/grid_sampler.cpp.ll 199760553 opencv/group_norm_layer.cpp.ll 438094975 opencv/grunarg.cpp.ll 1133718402 @@ -21301,7 +21301,7 @@ opencv/gstreamer_buffer_utils.cpp.ll 33850725 opencv/gstreamer_media_adapter.cpp.ll 33851238 opencv/gstreamer_pipeline_facade.cpp.ll 33851829 opencv/gstreamerenv.cpp.ll 40345719 -opencv/gstreamerpipeline.cpp.ll 77791408 +opencv/gstreamerpipeline.cpp.ll 77691314 opencv/gstreamersource.cpp.ll 139372022 opencv/gstreaming.cpp.ll 894521282 opencv/gstreamingbackend.cpp.ll 3917482719 @@ -21329,7 +21329,7 @@ opencv/homography_from_camera_displacement.cpp.ll 602664440 opencv/homography_solver.cpp.ll 1852786571 opencv/hough.cpp.ll 5887192421 opencv/houghcircles.cpp.ll 123069760 -opencv/houghlines.cpp.ll 155935679 +opencv/houghlines.cpp.ll 155730862 opencv/how_to_scan_images.cpp.ll 286251506 opencv/how_to_use_OpenCV_parallel_for_.cpp.ll 296455827 opencv/how_to_use_OpenCV_parallel_for_new.cpp.ll 528314008 @@ -21427,13 +21427,13 @@ opencv/lda.cpp.ll 1866277321 opencv/learning_based_color_balance.cpp.ll 1244527528 opencv/legacy_backend.cpp.ll 71176807 opencv/letter_recog.cpp.ll 1466465093 -opencv/levmarq.cpp.ll 410217529 +opencv/levmarq.cpp.ll 409735462 opencv/linearize.cpp.ll 1201030227 opencv/linefit.cpp.ll 431863882 opencv/linemod.cpp.ll 1738307178 opencv/lines_extraction.cpp.ll 157449210 opencv/live_demo.cpp.ll 206369131 -opencv/lkdemo.cpp.ll 374650502 +opencv/lkdemo.cpp.ll 374257849 opencv/lkpyramid.cpp.ll 1170912336 opencv/loadsave.cpp.ll 3561159972 opencv/local_optimization.cpp.ll 2387427046 @@ -21442,13 +21442,13 @@ opencv/logger.cpp.ll 123977759 opencv/logistic_regression.cpp.ll 265793218 opencv/logos.cpp.ll 372228509 opencv/logtagconfigparser.cpp.ll 476104398 -opencv/logtagmanager.cpp.ll 1332766554 +opencv/logtagmanager.cpp.ll 1331373222 opencv/lpsolver.cpp.ll 718805748 opencv/lr.cpp.ll 858044024 opencv/lrn_layer.cpp.ll 565297917 opencv/lsc.cpp.ll 4328671666 opencv/lsd.cpp.ll 1798742343 -opencv/lsd_lines.cpp.ll 150942990 +opencv/lsd_lines.cpp.ll 150782450 opencv/lsd_lines_extraction.cpp.ll 157653172 opencv/lucid.cpp.ll 253487111 opencv/luminance_source.cpp.ll 110870550 @@ -21466,7 +21466,7 @@ opencv/mapper.cpp.ll 360104723 opencv/mappergradaffine.cpp.ll 458216541 opencv/mappergradeuclid.cpp.ll 334558055 opencv/mappergradproj.cpp.ll 604320087 -opencv/mappergradshift.cpp.ll 262376072 +opencv/mappergradshift.cpp.ll 262089202 opencv/mappergradsimilar.cpp.ll 372258932 opencv/mapperpyramid.cpp.ll 300848888 opencv/mapprojec.cpp.ll 215849366 @@ -21492,12 +21492,12 @@ opencv/matrix_iterator.cpp.ll 279618454 opencv/matrix_operations.cpp.ll 8200647502 opencv/matrix_sparse.cpp.ll 1699317466 opencv/matrix_transform.cpp.ll 1843135988 -opencv/matrix_wrap.cpp.ll 3386822693 +opencv/matrix_wrap.cpp.ll 3393151342 opencv/max_unpooling_layer.cpp.ll 593404771 -opencv/mcc.cpp.ll 113105544 +opencv/mcc.cpp.ll 112971508 opencv/mean.dispatch.cpp.ll 1149093336 opencv/meanshift.cpp.ll 125868819 -opencv/media.cpp.ll 118533383 +opencv/media.cpp.ll 118355258 opencv/median_blur.dispatch.cpp.ll 5532114328 opencv/memory_accessor.cpp.ll 520273509 opencv/memory_descriptor.cpp.ll 49850956 @@ -21509,13 +21509,13 @@ opencv/meta.cpp.ll 1964105392 opencv/metadata.cpp.ll 163823643 opencv/metatypes.cpp.ll 258706074 opencv/min_enclosing_triangle.cpp.ll 1213407131 -opencv/minarea.cpp.ll 246208579 +opencv/minarea.cpp.ll 245912044 opencv/miniflann.cpp.ll 16825713307 opencv/minmax.cpp.ll 1175338387 opencv/mode.cpp.ll 87028704 opencv/model.cpp.ll 5641303086 opencv/moments.cpp.ll 499248298 -opencv/moments_demo.cpp.ll 332217843 +opencv/moments_demo.cpp.ll 331842513 opencv/morph.dispatch.cpp.ll 6090975991 opencv/morphology2.cpp.ll 142246322 opencv/mosseTracker.cpp.ll 591211670 @@ -21524,7 +21524,7 @@ opencv/motionSaliency.cpp.ll 33847815 opencv/motionSaliencyBinWangApr2014.cpp.ll 1101022533 opencv/motion_deblur_filter.cpp.ll 285005160 opencv/motion_estimators.cpp.ll 3899970635 -opencv/motion_stabilizing.cpp.ll 613140986 +opencv/motion_stabilizing.cpp.ll 612509965 opencv/msd.cpp.ll 1843837601 opencv/mser.cpp.ll 1816886794 opencv/msm_epfl.cpp.ll 611957744 @@ -21551,16 +21551,16 @@ opencv/neural_network.cpp.ll 201681358 opencv/niblack_thresholding.cpp.ll 170652973 opencv/nldiffusion_functions.cpp.ll 596309599 opencv/nms.cpp.ll 1583069920 -opencv/node.cpp.ll 354817541 +opencv/node.cpp.ll 354340604 opencv/non_linear_svms.cpp.ll 327186932 opencv/nonrigid_icp.cpp.ll 2037417786 -opencv/norm.cpp.ll 1675151679 +opencv/norm.cpp.ll 1678501783 opencv/normal.cpp.ll 2335320408 opencv/normalize_bbox_layer.cpp.ll 742552705 opencv/not_implemented_layer.cpp.ll 304312063 opencv/npr.cpp.ll 942999944 opencv/npr_demo.cpp.ll 110738543 -opencv/oak_basic_infer.cpp.ll 2913114759 +opencv/oak_basic_infer.cpp.ll 2910122975 opencv/oak_copy.cpp.ll 1141016436 opencv/oak_rgb_camera_encoding.cpp.ll 1275732995 opencv/oak_small_hetero_pipeline.cpp.ll 1189247629 @@ -21573,9 +21573,9 @@ opencv/objectnessBING.cpp.ll 2133463508 opencv/objects_associator.cpp.ll 723447715 opencv/obsensor_stream_channel_v4l2.cpp.ll 895157060 opencv/obsensor_uvc_stream_channel.cpp.ll 1105431395 -opencv/ocl.cpp.ll 276827175 +opencv/ocl.cpp.ll 276329652 opencv/ocl_perf.cpp.ll 94005799 -opencv/ocl_test.cpp.ll 195460417 +opencv/ocl_test.cpp.ll 195249922 opencv/ocr_beamsearch_decoder.cpp.ll 3129161550 opencv/ocr_hmm_decoder.cpp.ll 4283875323 opencv/ocr_holistic.cpp.ll 636728230 @@ -21622,9 +21622,9 @@ opencv/optical_flow_io.cpp.ll 90007688 opencv/or_imagenet.cpp.ll 918882250 opencv/or_mnist.cpp.ll 520744339 opencv/or_pascal.cpp.ll 1166084831 -opencv/or_sun.cpp.ll 719364652 +opencv/or_sun.cpp.ll 718550998 opencv/orb.cpp.ll 1929548851 -opencv/out.cpp.ll 736688442 +opencv/out.cpp.ll 735822945 opencv/out_of_focus_deblur_filter.cpp.ll 261579178 opencv/outlier_rejection.cpp.ll 510965026 opencv/ovx.cpp.ll 36766958 @@ -21642,9 +21642,9 @@ opencv/pca.cpp.ll 259642161 opencv/pcaflow.cpp.ll 1061215397 opencv/pcaflow_demo.cpp.ll 532836094 opencv/pct_clusterizer.cpp.ll 553695938 -opencv/pct_sampler.cpp.ll 469645229 +opencv/pct_sampler.cpp.ll 469126144 opencv/pct_signatures.cpp.ll 839448099 -opencv/pct_signatures_sqfd.cpp.ll 359126554 +opencv/pct_signatures_sqfd.cpp.ll 358764149 opencv/pct_webcam.cpp.ll 135576695 opencv/pd_caltech.cpp.ll 628676211 opencv/pd_inria.cpp.ll 751818339 @@ -21654,7 +21654,7 @@ opencv/perf_3vs4.cpp.ll 52836386 opencv/perf_abs.cpp.ll 1239335192 opencv/perf_accumulate.cpp.ll 8132148563 opencv/perf_adaptive_manifold.cpp.ll 1958783092 -opencv/perf_addWeighted.cpp.ll 1254929575 +opencv/perf_addWeighted.cpp.ll 1253557529 opencv/perf_affine2d.cpp.ll 2477404208 opencv/perf_allocation.cpp.ll 895348869 opencv/perf_arithm.cpp.ll 5821165921 @@ -21693,7 +21693,7 @@ opencv/perf_daisy.cpp.ll 1150450996 opencv/perf_deepflow.cpp.ll 1107502903 opencv/perf_denoising.cpp.ll 52815749 opencv/perf_descriptor.cpp.ll 3590925029 -opencv/perf_descriptors.cpp.ll 1125569949 +opencv/perf_descriptors.cpp.ll 1124110579 opencv/perf_detection.cpp.ll 1967447479 opencv/perf_dft.cpp.ll 3100378865 opencv/perf_dis_optflow.cpp.ll 52816758 @@ -21701,7 +21701,7 @@ opencv/perf_disflow.cpp.ll 1601867277 opencv/perf_disparity_wls_filter.cpp.ll 2550587793 opencv/perf_distanceTransform.cpp.ll 3221078635 opencv/perf_dnn_superres.cpp.ll 1576429834 -opencv/perf_domain_transform.cpp.ll 2739903247 +opencv/perf_domain_transform.cpp.ll 2736859472 opencv/perf_dot.cpp.ll 1242455477 opencv/perf_dxt.cpp.ll 52835774 opencv/perf_ecc.cpp.ll 1268711094 @@ -21718,28 +21718,28 @@ opencv/perf_floodfill.cpp.ll 1716545605 opencv/perf_gemm.cpp.ll 52836167 opencv/perf_gftt.cpp.ll 52836285 opencv/perf_goodFeaturesToTrack.cpp.ll 2513084040 -opencv/perf_gpumat.cpp.ll 52850228 +opencv/perf_gpumat.cpp.ll 52794904 opencv/perf_grayworld.cpp.ll 1441095243 opencv/perf_guided_filter.cpp.ll 2295131918 opencv/perf_hdr.cpp.ll 524277855 opencv/perf_histogram.cpp.ll 4375483663 opencv/perf_hogdetect.cpp.ll 52815668 -opencv/perf_houghcircles.cpp.ll 319693836 +opencv/perf_houghcircles.cpp.ll 319314013 opencv/perf_houghlines.cpp.ll 52816132 opencv/perf_imgproc.cpp.ll 9088172788 -opencv/perf_imgwarp.cpp.ll 52850498 +opencv/perf_imgwarp.cpp.ll 52795325 opencv/perf_inRange.cpp.ll 1253904880 opencv/perf_inpaint.cpp.ll 1916297609 opencv/perf_input.cpp.ll 1418899636 opencv/perf_integral.cpp.ll 3799816835 -opencv/perf_intelligent_scissors.cpp.ll 1100321778 +opencv/perf_intelligent_scissors.cpp.ll 1099184155 opencv/perf_io_base64.cpp.ll 1997818115 opencv/perf_joint_bilateral_filter.cpp.ll 1895864802 opencv/perf_jpeg.cpp.ll 348522136 opencv/perf_l0_smooth.cpp.ll 1638253493 opencv/perf_latch.cpp.ll 52836372 opencv/perf_layer.cpp.ll 11359781428 -opencv/perf_learning_based_color_balance.cpp.ll 1452247930 +opencv/perf_learning_based_color_balance.cpp.ll 1450642738 opencv/perf_lut.cpp.ll 1063408320 opencv/perf_main.cpp.ll 148474367 opencv/perf_mat.cpp.ll 4107391034 @@ -21748,14 +21748,14 @@ opencv/perf_matchers.cpp.ll 4930443323 opencv/perf_matching.cpp.ll 666712356 opencv/perf_math.cpp.ll 7953996730 opencv/perf_matop.cpp.ll 52836908 -opencv/perf_mcc.cpp.ll 308137972 +opencv/perf_mcc.cpp.ll 307801625 opencv/perf_merge.cpp.ll 1537688287 opencv/perf_minmaxloc.cpp.ll 1257213720 opencv/perf_moments.cpp.ll 1778331302 opencv/perf_morph.cpp.ll 1703320803 opencv/perf_motempl.cpp.ll 52836284 opencv/perf_msd.cpp.ll 1379877809 -opencv/perf_net.cpp.ll 3112531340 +opencv/perf_net.cpp.ll 3109252356 opencv/perf_norm.cpp.ll 8158659884 opencv/perf_optflow_dualTVL1.cpp.ll 52857587 opencv/perf_optflow_farneback.cpp.ll 52835565 @@ -21765,15 +21765,15 @@ opencv/perf_output.cpp.ll 1381767917 opencv/perf_phasecorr.cpp.ll 883319290 opencv/perf_png.cpp.ll 348534105 opencv/perf_pnp.cpp.ll 2632339089 -opencv/perf_pyramid.cpp.ll 52850638 -opencv/perf_pyramids.cpp.ll 2767738077 +opencv/perf_pyramid.cpp.ll 52795474 +opencv/perf_pyramids.cpp.ll 2764673279 opencv/perf_qrcode_pipeline.cpp.ll 3728443749 opencv/perf_radon_transform.cpp.ll 1402670417 opencv/perf_recurrent.cpp.ll 1309051546 opencv/perf_reduce.cpp.ll 3031511780 opencv/perf_reg.cpp.ll 4616105068 opencv/perf_remap.cpp.ll 1815420985 -opencv/perf_resample.cpp.ll 1331338195 +opencv/perf_resample.cpp.ll 1329960851 opencv/perf_resize.cpp.ll 6134115740 opencv/perf_retina.ocl.cpp.ll 1816238705 opencv/perf_ridge_detection_filter.cpp.ll 1864964192 @@ -21793,8 +21793,8 @@ opencv/perf_superres.cpp.ll 1591355766 opencv/perf_surf.cpp.ll 52836206 opencv/perf_surf.cuda.cpp.ll 52815657 opencv/perf_surf.ocl.cpp.ll 52815037 -opencv/perf_teblid.cpp.ll 52850187 -opencv/perf_thining.cpp.ll 1421894691 +opencv/perf_teblid.cpp.ll 52795008 +opencv/perf_thining.cpp.ll 1420259454 opencv/perf_threshold.cpp.ll 4047630219 opencv/perf_trackers.cpp.ll 2223925022 opencv/perf_tsdf.cpp.ll 1135158883 @@ -21805,7 +21805,7 @@ opencv/perf_usage_flags.cpp.ll 52816622 opencv/perf_variational_refinement.cpp.ll 1511075845 opencv/perf_vgg.cpp.ll 52835643 opencv/perf_warp.cpp.ll 6016349049 -opencv/perf_warpers.cpp.ll 52850821 +opencv/perf_warpers.cpp.ll 52795528 opencv/perf_wechat_qrcode_pipeline.cpp.ll 2496774086 opencv/perf_weighted_median_filter.cpp.ll 1933988544 opencv/perform_substitution.cpp.ll 611061023 @@ -21829,7 +21829,7 @@ opencv/planar_tracking.cpp.ll 1094580981 opencv/plane.cpp.ll 1340847016 opencv/plot.cpp.ll 370216891 opencv/plot_demo.cpp.ll 164568972 -opencv/pnp_solver.cpp.ll 1194712095 +opencv/pnp_solver.cpp.ll 1193404590 opencv/pointPolygonTest_demo.cpp.ll 240877453 opencv/pointcloud.cpp.ll 705277653 opencv/points_classifier.cpp.ll 1396238460 @@ -21848,9 +21848,9 @@ opencv/ppf_match_3d.cpp.ll 2257635032 opencv/ppf_normal_computation.cpp.ll 71596742 opencv/predict_collector.cpp.ll 637388768 opencv/preproc_dispatcher.cpp.ll 121412062 -opencv/preproc_engine_interface.cpp.ll 68722689 +opencv/preproc_engine_interface.cpp.ll 68646899 opencv/prior_box_layer.cpp.ll 1535293643 -opencv/privacy_masking_camera.cpp.ll 4372351466 +opencv/privacy_masking_camera.cpp.ll 4367780943 opencv/projectorcalibration.cpp.ll 1525765342 opencv/proposal_layer.cpp.ll 1931314187 opencv/ptsetreg.cpp.ll 2006895529 @@ -21865,14 +21865,14 @@ opencv/quadsubpix.cpp.ll 814894113 opencv/quality.cpp.ll 1373349075 opencv/qualitybrisque.cpp.ll 623654631 opencv/qualitygmsd.cpp.ll 282859451 -opencv/qualitymse.cpp.ll 170033193 +opencv/qualitymse.cpp.ll 169806510 opencv/qualityssim.cpp.ll 274010652 opencv/quantization_utils.cpp.ll 1198305689 opencv/quasi_dense_stereo.cpp.ll 1031202338 opencv/quaternion.cpp.ll 902065010 opencv/queue_source.cpp.ll 1302376952 opencv/radial_variance_hash.cpp.ll 648196651 -opencv/radius_matching.cpp.ll 476092231 +opencv/radius_matching.cpp.ll 475515469 opencv/radon_transform.cpp.ll 158655645 opencv/radon_transform_demo.cpp.ll 53070665 opencv/rand.cpp.ll 1738982843 @@ -21908,7 +21908,7 @@ opencv/rho.cpp.ll 832408718 opencv/ridgedetectionfilter.cpp.ll 222537437 opencv/rlof_localflow.cpp.ll 4507982262 opencv/rlofflow.cpp.ll 1552807715 -opencv/rmat.cpp.ll 447339733 +opencv/rmat.cpp.ll 446876288 opencv/roiSelector.cpp.ll 251086257 opencv/rolling_guidance_filter.cpp.ll 86280246 opencv/rotcalipers.cpp.ll 220220896 @@ -21976,16 +21976,16 @@ opencv/softfloat.cpp.ll 2784193213 opencv/softmax.cpp.ll 256256511 opencv/softmax_layer.cpp.ll 934823418 opencv/solvepnp.cpp.ll 2328627333 -opencv/source.cpp.ll 130659416 +opencv/source.cpp.ll 130513868 opencv/source_priv.cpp.ll 36567837 opencv/sparse_match_interpolators.cpp.ll 3984693911 opencv/sparse_matching_gpc.cpp.ll 2718765137 -opencv/sparsetodenseflow.cpp.ll 344547959 +opencv/sparsetodenseflow.cpp.ll 344153290 opencv/spatialgradient.cpp.ll 121865207 opencv/speech_recognition.cpp.ll 1619490551 opencv/split.dispatch.cpp.ll 435569855 opencv/split_layer.cpp.ll 239999273 -opencv/spv_shader.cpp.ll 153144503 +opencv/spv_shader.cpp.ll 152979198 opencv/sqpnp.cpp.ll 1340200664 opencv/squares.cpp.ll 448490985 opencv/sr_bsds.cpp.ll 482565949 @@ -21999,7 +21999,7 @@ opencv/stat.dispatch.cpp.ll 59208070 opencv/stat_c.cpp.ll 155945047 opencv/staticSaliency.cpp.ll 124965277 opencv/staticSaliencyFineGrained.cpp.ll 333208280 -opencv/staticSaliencySpectralResidual.cpp.ll 263963221 +opencv/staticSaliencySpectralResidual.cpp.ll 263691561 opencv/stereo_binary_bm.cpp.ll 1212109680 opencv/stereo_binary_sgbm.cpp.ll 1220196158 opencv/stereo_calib.cpp.ll 1523930324 @@ -22010,9 +22010,9 @@ opencv/stitcher.cpp.ll 3992318892 opencv/stitching.cpp.ll 258467210 opencv/stitching_detailed.cpp.ll 6855347072 opencv/str.cpp.ll 100303568 -opencv/streaming.cpp.ll 1537698618 +opencv/streaming.cpp.ll 1535931752 opencv/stringutils.cpp.ll 307421352 -opencv/structured_edge_detection.cpp.ll 204961067 +opencv/structured_edge_detection.cpp.ll 204709450 opencv/subdivision2d.cpp.ll 1361330136 opencv/subgraphs.cpp.ll 1532612754 opencv/sum.dispatch.cpp.ll 781384825 @@ -22034,7 +22034,7 @@ opencv/templmatch.cpp.ll 1027875333 opencv/tensor.cpp.ll 33845740 opencv/tensor.pb.cc.ll 664910060 opencv/tensor_shape.pb.cc.ll 589007698 -opencv/termination.cpp.ll 801815301 +opencv/termination.cpp.ll 800985015 opencv/testset.cpp.ll 398794208 opencv/text_detection.cpp.ll 625132412 opencv/text_detectorCNN.cpp.ll 530929346 @@ -22059,7 +22059,7 @@ opencv/tldDetector.cpp.ll 1164526527 opencv/tldEnsembleClassifier.cpp.ll 638125201 opencv/tldModel.cpp.ll 832246631 opencv/tldTracker.cpp.ll 987550778 -opencv/tldUtils.cpp.ll 458785103 +opencv/tldUtils.cpp.ll 458178653 opencv/tonemap.cpp.ll 35364965 opencv/topological_sort.cpp.ll 868613379 opencv/torch_importer.cpp.ll 3260447761 @@ -22081,7 +22081,7 @@ opencv/trackerCSRTScaleEstimation.cpp.ll 486067479 opencv/trackerCSRTSegmentation.cpp.ll 1144184957 opencv/trackerCSRTUtils.cpp.ll 759854699 opencv/trackerFeature.cpp.ll 870079559 -opencv/trackerFeatureSet.cpp.ll 343142807 +opencv/trackerFeatureSet.cpp.ll 342760920 opencv/trackerKCF.cpp.ll 1988349873 opencv/trackerMIL_legacy.cpp.ll 275949607 opencv/trackerMedianFlow.cpp.ll 1842255542 @@ -22125,10 +22125,10 @@ opencv/ts_tags.cpp.ll 1002229309 opencv/tsdf.cpp.ll 1819194349 opencv/tsdf_functions.cpp.ll 936847072 opencv/tutorial_customizing_cn_tracker.cpp.ll 164562443 -opencv/tutorial_introduction_to_tracker.cpp.ll 130836786 +opencv/tutorial_introduction_to_tracker.cpp.ll 130682501 opencv/tutorial_multitracker.cpp.ll 760433374 -opencv/tvl1_optical_flow.cpp.ll 280186356 -opencv/tvl1flow.cpp.ll 1348888505 +opencv/tvl1_optical_flow.cpp.ll 279858126 +opencv/tvl1flow.cpp.ll 1347440684 opencv/twist.cpp.ll 176624586 opencv/types.cpp.ll 349138820 opencv/types.pb.cc.ll 40982592 @@ -22190,7 +22190,7 @@ opencv/wobble_suppression.cpp.ll 421171818 opencv/yolo_detector.cpp.ll 1053663134 opencv/zero_term_imageless_tracker.cpp.ll 1041851705 opencv/zmaxheap.cpp.ll 105259948 -openexr/IexBaseExc.cpp.ll 3477419507 +openexr/IexBaseExc.cpp.ll 3472810338 openexr/IexMathFloatExc.cpp.ll 48954813 openexr/IexThrowErrnoExc.cpp.ll 204977853 openexr/IlmThread.cpp.ll 98744349 @@ -22199,7 +22199,7 @@ openexr/IlmThreadSemaphorePosix.cpp.ll 69047465 openexr/ImfAcesFile.cpp.ll 400899584 openexr/ImfAttribute.cpp.ll 262518639 openexr/ImfB44Compressor.cpp.ll 1101917737 -openexr/ImfBoxAttribute.cpp.ll 156052882 +openexr/ImfBoxAttribute.cpp.ll 155832050 openexr/ImfCRgbaFile.cpp.ll 638831375 openexr/ImfChannelList.cpp.ll 430269860 openexr/ImfChannelListAttribute.cpp.ll 286774939 @@ -22211,7 +22211,7 @@ openexr/ImfCompressionAttribute.cpp.ll 74073231 openexr/ImfCompressor.cpp.ll 72328812 openexr/ImfConvert.cpp.ll 111877260 openexr/ImfDeepCompositing.cpp.ll 348483325 -openexr/ImfDeepFrameBuffer.cpp.ll 287047398 +openexr/ImfDeepFrameBuffer.cpp.ll 286705343 openexr/ImfDeepImage.cpp.ll 51655491 openexr/ImfDeepImageChannel.cpp.ll 338101273 openexr/ImfDeepImageIO.cpp.ll 319661777 @@ -22224,7 +22224,7 @@ openexr/ImfDeepTiledOutputFile.cpp.ll 2061795947 openexr/ImfDoubleAttribute.cpp.ll 78499575 openexr/ImfDwaCompressor.cpp.ll 7966945045 openexr/ImfEnvmap.cpp.ll 131257847 -openexr/ImfEnvmapAttribute.cpp.ll 70936359 +openexr/ImfEnvmapAttribute.cpp.ll 70859937 openexr/ImfFastHuf.cpp.ll 392183663 openexr/ImfFlatImage.cpp.ll 51662242 openexr/ImfFlatImageChannel.cpp.ll 176730644 @@ -22251,16 +22251,16 @@ openexr/ImfLineOrderAttribute.cpp.ll 72394405 openexr/ImfLut.cpp.ll 142346460 openexr/ImfMatrixAttribute.cpp.ll 456945531 openexr/ImfMisc.cpp.ll 1271646722 -openexr/ImfMultiPartInputFile.cpp.ll 1496441797 +openexr/ImfMultiPartInputFile.cpp.ll 1494894439 openexr/ImfMultiPartOutputFile.cpp.ll 1021311613 openexr/ImfMultiView.cpp.ll 353713120 openexr/ImfOpaqueAttribute.cpp.ll 97877841 openexr/ImfOutputFile.cpp.ll 1124105331 -openexr/ImfPartType.cpp.ll 95487230 +openexr/ImfPartType.cpp.ll 95374282 openexr/ImfPizCompressor.cpp.ll 470566572 openexr/ImfPreviewImageAttribute.cpp.ll 107904151 openexr/ImfPxr24Compressor.cpp.ll 231961950 -openexr/ImfRationalAttribute.cpp.ll 84574725 +openexr/ImfRationalAttribute.cpp.ll 84460568 openexr/ImfRgbaFile.cpp.ll 832994518 openexr/ImfRgbaYca.cpp.ll 883788741 openexr/ImfRle.cpp.ll 76893754 @@ -22294,12 +22294,12 @@ openexr/decoding.c.ll 256627645 openexr/encoding.c.ll 170777326 openexr/float_vector.c.ll 58086169 openexr/internal_b44.c.ll 561433064 -openexr/internal_dwa.c.ll 5622410205 +openexr/internal_dwa.c.ll 5633853005 openexr/internal_huf.c.ll 1111048979 openexr/internal_piz.c.ll 412273147 openexr/internal_pxr24.c.ll 231444187 openexr/internal_structs.c.ll 136541699 -openexr/opaque.c.ll 104705555 +openexr/opaque.c.ll 104599682 openexr/pack.c.ll 222118837 openexr/parse_header.c.ll 903880112 openexr/part.c.ll 183267878 @@ -22418,7 +22418,7 @@ openjdk/Inet6AddressImpl.ll 199747819 openjdk/InetAddress.ll 44331288 openjdk/Inflater.ll 83854081 openjdk/InheritedChannel.ll 56959432 -openjdk/InstrumentationImplNativeMethods.ll 48680413 +openjdk/InstrumentationImplNativeMethods.ll 48617665 openjdk/IntArgb.ll 888636483 openjdk/IntArgbBm.ll 544892690 openjdk/IntArgbPre.ll 855002259 @@ -22555,7 +22555,7 @@ openjdk/UnixFileSystem.ll 59958166 openjdk/UnixFileSystem_md.ll 155655352 openjdk/UnixFileUtils.ll 89867435 openjdk/UnixNativeDispatcher.ll 370897016 -openjdk/UnixOperatingSystem.ll 112094100 +openjdk/UnixOperatingSystem.ll 111980691 openjdk/UnixSysInfo.ll 83812953 openjdk/Ushort4444Argb.ll 109388752 openjdk/Ushort555Rgb.ll 878769568 @@ -22587,14 +22587,14 @@ openjdk/abstractCompiler.ll 57281653 openjdk/abstractDisassembler.ll 154229482 openjdk/abstractInterpreter.ll 343297917 openjdk/abstractInterpreter_x86.ll 442897750 -openjdk/abstract_vm_version.ll 75822283 -openjdk/accessBackend.ll 125824505 -openjdk/accessBarrierSupport.ll 65192182 +openjdk/abstract_vm_version.ll 75729737 +openjdk/accessBackend.ll 125693320 +openjdk/accessBarrierSupport.ll 65117194 openjdk/accessFlags.ll 70974645 openjdk/ad_x86.ll 15729902923 -openjdk/ad_x86_clone.ll 825731244 +openjdk/ad_x86_clone.ll 824652008 openjdk/ad_x86_expand.ll 10932179736 -openjdk/ad_x86_gen.ll 19579709786 +openjdk/ad_x86_gen.ll 20305434712 openjdk/ad_x86_misc.ll 7890457083 openjdk/ad_x86_peephole.ll 204190914 openjdk/ad_x86_pipeline.ll 2563739725 @@ -22606,7 +22606,7 @@ openjdk/allocTracer.ll 707838363 openjdk/allocation.ll 74434756 openjdk/altHashing.ll 573812260 openjdk/annotations.ll 195870433 -openjdk/app.ll 140782228 +openjdk/app.ll 140638703 openjdk/archiveBuilder.ll 2152531582 openjdk/archiveHeapLoader.ll 1697620484 openjdk/archiveHeapWriter.ll 2355342215 @@ -22620,7 +22620,7 @@ openjdk/assembler.ll 178204789 openjdk/assembler_linux_x86.ll 39763283 openjdk/assembler_x86.ll 15096108668 openjdk/attachListener.ll 265835908 -openjdk/attachListener_posix.ll 280839528 +openjdk/attachListener_posix.ll 280542116 openjdk/awt_AWTEvent.ll 34413560 openjdk/awt_Desktop.ll 43249478 openjdk/awt_DrawingSurface.ll 138946035 @@ -22662,7 +22662,7 @@ openjdk/bytecodeStream.ll 51181393 openjdk/bytecodeTracer.ll 872744276 openjdk/bytecodeUtils.ll 792190818 openjdk/bytecodes.ll 258005136 -openjdk/c1_Canonicalizer.ll 857899400 +openjdk/c1_Canonicalizer.ll 856763123 openjdk/c1_CodeStubs_x86.ll 441359671 openjdk/c1_Compilation.ll 755351961 openjdk/c1_Compiler.ll 124147250 @@ -22693,7 +22693,7 @@ openjdk/c2_CodeStubs_x86.ll 121738211 openjdk/c2_MacroAssembler_x86.ll 3066326484 openjdk/c2_init_x86.ll 50552849 openjdk/c2_intelJccErratum_x86.ll 141052816 -openjdk/c2_stubGenerator_x86_64_string.ll 652551785 +openjdk/c2_stubGenerator_x86_64_string.ll 653310770 openjdk/c2compiler.ll 224463462 openjdk/cHeapStringHolder.ll 39399201 openjdk/cSpaceCounters.ll 97769326 @@ -22710,7 +22710,7 @@ openjdk/castnode.ll 413355891 openjdk/cdsConfig.ll 183070945 openjdk/cdsConstants.ll 53753792 openjdk/cdsEnumKlass.ll 1242034909 -openjdk/cdsHeapVerifier.ll 1131689807 +openjdk/cdsHeapVerifier.ll 1130291476 openjdk/cdsProtectionDomain.ll 1097350552 openjdk/cfgnode.ll 2450309963 openjdk/cgroupSubsystem_linux.ll 365689240 @@ -22725,14 +22725,14 @@ openjdk/childproc.ll 146459930 openjdk/chunkHeaderPool.ll 62647312 openjdk/chunkManager.ll 209244774 openjdk/chunklevel.ll 53253137 -openjdk/ciArray.ll 671678563 +openjdk/ciArray.ll 670927014 openjdk/ciArrayKlass.ll 86136989 openjdk/ciBaseObject.ll 47951946 openjdk/ciCallSite.ll 108667793 openjdk/ciConstant.ll 56856815 openjdk/ciConstantPoolCache.ll 194058127 openjdk/ciEnv.ll 2252142228 -openjdk/ciExceptionHandler.ll 175581452 +openjdk/ciExceptionHandler.ll 175371615 openjdk/ciField.ll 403586477 openjdk/ciFlags.ll 62483345 openjdk/ciInstance.ll 637692060 @@ -22755,8 +22755,8 @@ openjdk/ciSignature.ll 189408946 openjdk/ciStreams.ll 526497959 openjdk/ciSymbol.ll 204047268 openjdk/ciType.ll 173895171 -openjdk/ciTypeArray.ll 129674848 -openjdk/ciTypeArrayKlass.ll 130647598 +openjdk/ciTypeArray.ll 129528512 +openjdk/ciTypeArrayKlass.ll 130501788 openjdk/ciTypeFlow.ll 2072435241 openjdk/ciUtilities.ll 39197921 openjdk/classFileError.ll 84256243 @@ -22765,10 +22765,10 @@ openjdk/classFileStream.ll 58138403 openjdk/classListParser.ll 1048024747 openjdk/classListWriter.ll 400823690 openjdk/classLoader.ll 1546987301 -openjdk/classLoaderData.ll 2542949005 +openjdk/classLoaderData.ll 2540081189 openjdk/classLoaderDataGraph.ll 321869036 openjdk/classLoaderDataShared.ll 138748073 -openjdk/classLoaderExt.ll 625246921 +openjdk/classLoaderExt.ll 624450713 openjdk/classLoaderHierarchyDCmd.ll 671862997 openjdk/classLoaderMetaspace.ll 110082644 openjdk/classLoaderStats.ll 618116120 @@ -22814,7 +22814,7 @@ openjdk/codeHeapState.ll 1461754813 openjdk/collectedHeap.ll 586030067 openjdk/collectorCounters.ll 95101543 openjdk/commitLimiter.ll 40371669 -openjdk/commitMask.ll 54180972 +openjdk/commitMask.ll 54116826 openjdk/commonRef.ll 290185690 openjdk/compactHashtable.ll 371029759 openjdk/compilationFailureInfo.ll 63091379 @@ -22831,12 +22831,12 @@ openjdk/compilerDefinitions.ll 392025307 openjdk/compilerDirectives.ll 688006642 openjdk/compilerEvent.ll 1273414895 openjdk/compilerOracle.ll 625327463 -openjdk/compilerThread.ll 92511062 +openjdk/compilerThread.ll 92372353 openjdk/compressedKlass.ll 51637038 openjdk/compressedKlass_x86.ll 35756199 -openjdk/compressedOops.ll 122843314 +openjdk/compressedOops.ll 122700690 openjdk/compressedStream.ll 222768325 -openjdk/concurrentGCBreakpoints.ll 111840470 +openjdk/concurrentGCBreakpoints.ll 111698776 openjdk/concurrentGCThread.ll 93561994 openjdk/connode.ll 169578504 openjdk/constMethod.ll 667525360 @@ -22848,14 +22848,14 @@ openjdk/continuation.ll 905298369 openjdk/continuationEntry.ll 231171892 openjdk/continuationFreezeThaw.ll 3994697881 openjdk/continuationJavaClasses.ll 64741233 -openjdk/continuationWrapper.ll 739051889 +openjdk/continuationWrapper.ll 738205971 openjdk/convertnode.ll 730098288 openjdk/copy.ll 570724563 openjdk/countbitsnode.ll 132535016 openjdk/cpCache.ll 1685678632 openjdk/cppVtables.ll 362307979 openjdk/cpuTimeCounters.ll 71283298 -openjdk/debug.ll 391933578 +openjdk/debug.ll 391488646 openjdk/debugDispatch.ll 46081196 openjdk/debugInfo.ll 1193811887 openjdk/debugInfoRec.ll 455712791 @@ -22863,7 +22863,7 @@ openjdk/debugInit.ll 588411387 openjdk/debugLoop.ll 92664935 openjdk/debug_trace.ll 33990524 openjdk/decoder.ll 100827826 -openjdk/decoder_elf.ll 74757404 +openjdk/decoder_elf.ll 74680598 openjdk/decoder_linux.ll 48002927 openjdk/defNewGeneration.ll 2216227097 openjdk/defaultMethods.ll 1765155618 @@ -22873,7 +22873,7 @@ openjdk/dependencyContext.ll 203393882 openjdk/dfa_x86.ll 23706588798 openjdk/dfsClosure.ll 1858412959 openjdk/dgif_lib.ll 438853072 -openjdk/diagnosticArgument.ll 246377055 +openjdk/diagnosticArgument.ll 246065014 openjdk/diagnosticCommand.ll 2111379431 openjdk/diagnosticFramework.ll 622116815 openjdk/dict.ll 201962644 @@ -22887,18 +22887,18 @@ openjdk/domgraph.ll 514819926 openjdk/downcallLinker.ll 60497679 openjdk/downcallLinker_x86_64.ll 332530521 openjdk/dumpAllocStats.ll 85919441 -openjdk/dumpTimeClassInfo.ll 548069203 +openjdk/dumpTimeClassInfo.ll 547432726 openjdk/dwarf.ll 174806345 -openjdk/dynamicArchive.ll 837127959 +openjdk/dynamicArchive.ll 836192439 openjdk/edge.ll 744502793 -openjdk/edgeQueue.ll 65183699 -openjdk/edgeStore.ll 362822609 +openjdk/edgeQueue.ll 65112026 +openjdk/edgeStore.ll 362454783 openjdk/edgeUtils.ll 380057987 openjdk/elfFile.ll 808535610 openjdk/elfFuncDescTable.ll 49477691 openjdk/elfStringTable.ll 51286439 openjdk/elfSymbolTable.ll 91539182 -openjdk/endian.ll 68204462 +openjdk/endian.ll 68133338 openjdk/epsilonArguments.ll 60059115 openjdk/epsilonBarrierSet.ll 52523980 openjdk/epsilonHeap.ll 340918551 @@ -22927,20 +22927,20 @@ openjdk/foreignGlobals_x86_64.ll 1096877087 openjdk/formatBuffer.ll 36347723 openjdk/forte.ll 564521535 openjdk/frame.ll 1440526457 -openjdk/frame_x86.ll 302308919 +openjdk/frame_x86.ll 301988064 openjdk/freeBlocks.ll 159051872 openjdk/freeChunkList.ll 123026720 openjdk/freeListAllocator.ll 172625010 openjdk/freetypeScaler.ll 425801324 openjdk/g1AllocRegion.ll 2598231217 openjdk/g1Allocator.ll 2770344859 -openjdk/g1Analytics.ll 150589528 +openjdk/g1Analytics.ll 150428994 openjdk/g1Arguments.ll 2533450596 openjdk/g1BarrierSet.ll 2541293742 -openjdk/g1BarrierSetAssembler_x86.ll 296837282 +openjdk/g1BarrierSetAssembler_x86.ll 296488121 openjdk/g1BarrierSetC1.ll 393331291 openjdk/g1BarrierSetC2.ll 469001796 -openjdk/g1BarrierSetRuntime.ll 72969059 +openjdk/g1BarrierSetRuntime.ll 72883382 openjdk/g1BatchedTask.ll 2569917365 openjdk/g1BiasedArray.ll 47992160 openjdk/g1BlockOffsetTable.ll 2495696616 @@ -22961,11 +22961,11 @@ openjdk/g1ConcurrentMarkThread.ll 2669166292 openjdk/g1ConcurrentRebuildAndScrub.ll 3882947627 openjdk/g1ConcurrentRefine.ll 2713517543 openjdk/g1ConcurrentRefineStats.ll 63728225 -openjdk/g1ConcurrentRefineThread.ll 170465353 +openjdk/g1ConcurrentRefineThread.ll 170222845 openjdk/g1ConcurrentRefineThreadsNeeded.ll 49805635 openjdk/g1DirtyCardQueue.ll 2763958357 openjdk/g1EvacFailureRegions.ll 2460365042 -openjdk/g1EvacStats.ll 92320834 +openjdk/g1EvacStats.ll 92198832 openjdk/g1FreeIdSet.ll 69741578 openjdk/g1FromCardCache.ll 103012809 openjdk/g1FullCollector.ll 4050021009 @@ -22978,7 +22978,7 @@ openjdk/g1FullGCOopClosures.ll 3411539896 openjdk/g1FullGCPrepareTask.ll 3330076619 openjdk/g1FullGCResetMetadataTask.ll 2564138611 openjdk/g1FullGCScope.ll 73166939 -openjdk/g1FullGCTask.ll 54024986 +openjdk/g1FullGCTask.ll 53967171 openjdk/g1GCCounters.ll 41086162 openjdk/g1GCPhaseTimes.ll 3986019528 openjdk/g1HeapRegion.ll 3463807512 @@ -22996,7 +22996,7 @@ openjdk/g1InitLogger.ll 53356371 openjdk/g1MMUTracker.ll 100845059 openjdk/g1MemoryPool.ll 71368942 openjdk/g1MonitoringSupport.ll 2631331490 -openjdk/g1MonotonicArena.ll 188674081 +openjdk/g1MonotonicArena.ll 188437105 openjdk/g1MonotonicArenaFreeMemoryTask.ll 213200460 openjdk/g1MonotonicArenaFreePool.ll 136991557 openjdk/g1NMethodClosure.ll 2497480232 @@ -23010,7 +23010,7 @@ openjdk/g1ParScanThreadState.ll 4094115503 openjdk/g1ParallelCleaning.ll 52013316 openjdk/g1PeriodicGCTask.ll 2492674888 openjdk/g1Policy.ll 3160311926 -openjdk/g1RedirtyCardsQueue.ll 91511181 +openjdk/g1RedirtyCardsQueue.ll 91407534 openjdk/g1RegionMarkStatsCache.ll 2479058466 openjdk/g1RegionToSpaceMapper.ll 244307706 openjdk/g1RegionsOnNodes.ll 49824757 @@ -23020,7 +23020,7 @@ openjdk/g1RemSetTrackingPolicy.ll 2542187734 openjdk/g1RootClosures.ll 2869425682 openjdk/g1RootProcessor.ll 2570441888 openjdk/g1SATBMarkQueueSet.ll 2499997749 -openjdk/g1ServiceThread.ll 150875623 +openjdk/g1ServiceThread.ll 150705818 openjdk/g1StringDedup.ll 2461446254 openjdk/g1SurvRateGroup.ll 97361514 openjdk/g1SurvivorRegions.ll 108603268 @@ -23032,12 +23032,12 @@ openjdk/g1YoungGCAllocationFailureInjector.ll 2442420581 openjdk/g1YoungGCPostEvacuateTasks.ll 3731400544 openjdk/g1YoungGCPreEvacuateTasks.ll 2545122330 openjdk/g1YoungGenSizer.ll 81234141 -openjdk/gcAdaptivePolicyCounters.ll 165332254 +openjdk/gcAdaptivePolicyCounters.ll 165156491 openjdk/gcArguments.ll 87504015 openjdk/gcBehaviours.ll 46213751 openjdk/gcCause.ll 40157886 openjdk/gcConfig.ll 100028546 -openjdk/gcConfiguration.ll 59474861 +openjdk/gcConfiguration.ll 59413197 openjdk/gcId.ll 57460234 openjdk/gcInitLogger.ll 137790442 openjdk/gcLocker.ll 130424955 @@ -23066,8 +23066,8 @@ openjdk/gnome_interface.ll 38198865 openjdk/granularTimer.ll 50786058 openjdk/graphKit.ll 3545169099 openjdk/growableArray.ll 49626286 -openjdk/gtk2_interface.ll 739276360 -openjdk/gtk3_interface.ll 1141455402 +openjdk/gtk2_interface.ll 741179463 +openjdk/gtk3_interface.ll 1143221873 openjdk/gtk_interface.ll 109139374 openjdk/guardedMemory.ll 85888111 openjdk/hSpaceCounters.ll 76851172 @@ -23215,12 +23215,12 @@ openjdk/jexec.ll 91352024 openjdk/jfdctflt.ll 58212528 openjdk/jfdctfst.ll 77003647 openjdk/jfdctint.ll 102795033 -openjdk/jfr.ll 57981096 -openjdk/jfrAdaptiveSampler.ll 202651410 -openjdk/jfrAllocation.ll 71426898 +openjdk/jfr.ll 57904660 +openjdk/jfrAdaptiveSampler.ll 202401390 +openjdk/jfrAllocation.ll 71354146 openjdk/jfrAllocationTracer.ll 35508015 openjdk/jfrBlob.ll 82617745 -openjdk/jfrBuffer.ll 146391103 +openjdk/jfrBuffer.ll 146197248 openjdk/jfrCallTrace.ll 269496116 openjdk/jfrCheckpointManager.ll 2142376476 openjdk/jfrCheckpointWriter.ll 604084916 @@ -23237,7 +23237,7 @@ openjdk/jfrEventClassTransformer.ll 4333847405 openjdk/jfrEventSetting.ll 42564367 openjdk/jfrEventThrottler.ll 102808959 openjdk/jfrFinalizerStatisticsEvent.ll 642503077 -openjdk/jfrFlush.ll 67023628 +openjdk/jfrFlush.ll 66948758 openjdk/jfrIntrinsics.ll 122383695 openjdk/jfrJavaCall.ll 238905977 openjdk/jfrJavaEventWriter.ll 745687176 @@ -23261,11 +23261,11 @@ openjdk/jfrObjectAllocationSample.ll 656323937 openjdk/jfrOptionSet.ll 489171559 openjdk/jfrPeriodic.ll 3317298891 openjdk/jfrPostBox.ll 158336106 -openjdk/jfrRecorder.ll 308321941 +openjdk/jfrRecorder.ll 307942554 openjdk/jfrRecorderService.ll 1247977939 -openjdk/jfrRecorderThread.ll 70374586 +openjdk/jfrRecorderThread.ll 70289830 openjdk/jfrRecorderThreadLoop.ll 118656895 -openjdk/jfrReferenceCountedStorage.ll 91090541 +openjdk/jfrReferenceCountedStorage.ll 90967824 openjdk/jfrRepository.ll 108318390 openjdk/jfrResolution.ll 1127935924 openjdk/jfrStackFilter.ll 58854988 @@ -23335,7 +23335,7 @@ openjdk/jvmFlagLookup.ll 74281807 openjdk/jvm_posix.ll 110318213 openjdk/jvmci.ll 312495585 openjdk/jvmciCodeInstaller.ll 2105145795 -openjdk/jvmciCodeInstaller_x86.ll 239802808 +openjdk/jvmciCodeInstaller_x86.ll 239514906 openjdk/jvmciCompiler.ll 756080131 openjdk/jvmciCompilerToVM.ll 6877911112 openjdk/jvmciCompilerToVMInit.ll 5952496886 @@ -23362,7 +23362,7 @@ openjdk/jvmtiManageCapabilities.ll 236406192 openjdk/jvmtiRawMonitor.ll 286365339 openjdk/jvmtiRedefineClasses.ll 3789866639 openjdk/jvmtiTagMap.ll 3770294187 -openjdk/jvmtiTagMapTable.ll 962041417 +openjdk/jvmtiTagMapTable.ll 961011164 openjdk/jvmtiThreadState.ll 1288350588 openjdk/jvmtiTrace.ll 215732173 openjdk/jvmtiUtil.ll 49072067 @@ -23411,10 +23411,10 @@ openjdk/loopopts.ll 3945258641 openjdk/lowMemoryDetector.ll 794232901 openjdk/machnode.ll 359718707 openjdk/macro.ll 2178624187 -openjdk/macroArrayCopy.ll 1123554312 +openjdk/macroArrayCopy.ll 1124892225 openjdk/macroAssembler_x86.ll 5682184099 openjdk/macroAssembler_x86_md5.ll 539254461 -openjdk/macroAssembler_x86_sha.ll 1197211256 +openjdk/macroAssembler_x86_sha.ll 1195965235 openjdk/main.ll 48603413 openjdk/mallocHeader.ll 42391921 openjdk/mallocInfoDcmd.ll 74884979 @@ -23426,9 +23426,9 @@ openjdk/management_ext.ll 38487821 openjdk/markBitMap.ll 66533944 openjdk/markWord.ll 84116191 openjdk/matcher.ll 2162106450 -openjdk/mathexactnode.ll 188917051 -openjdk/memAllocator.ll 292367288 -openjdk/memBaseline.ll 799716097 +openjdk/mathexactnode.ll 188715255 +openjdk/memAllocator.ll 292050816 +openjdk/memBaseline.ll 798914180 openjdk/memMapPrinter.ll 216238081 openjdk/memMapPrinter_linux.ll 142372728 openjdk/memRegion.ll 73169016 @@ -23439,7 +23439,7 @@ openjdk/memoryFileTracker.ll 401809821 openjdk/memoryManager.ll 796806596 openjdk/memoryPool.ll 731295694 openjdk/memoryService.ll 373302113 -openjdk/metachunk.ll 97156444 +openjdk/metachunk.ll 97051209 openjdk/metachunkList.ll 52652920 openjdk/metadata.ll 68995095 openjdk/metadataHandles.ll 121577352 @@ -23464,7 +23464,7 @@ openjdk/methodCounters.ll 75815168 openjdk/methodData.ll 1524385334 openjdk/methodFlags.ll 65680553 openjdk/methodHandles.ll 2092194709 -openjdk/methodHandles_x86.ll 286702405 +openjdk/methodHandles_x86.ll 287310629 openjdk/methodLiveness.ll 741778573 openjdk/methodMatcher.ll 236924854 openjdk/mlib_ImageAffine.ll 87519502 @@ -23516,7 +23516,7 @@ openjdk/mlib_c_ImageLookUp.ll 124366503 openjdk/mlib_c_ImageLookUp_f.ll 4076065400 openjdk/mlib_sys.ll 41536001 openjdk/modRefBarrierSetAssembler_x86.ll 61969578 -openjdk/modRefBarrierSetC1.ll 184479497 +openjdk/modRefBarrierSetC1.ll 184288366 openjdk/modRefBarrierSetC2.ll 110040879 openjdk/moduleEntry.ll 1358770665 openjdk/modules.ll 1347496044 @@ -23528,7 +23528,7 @@ openjdk/multiVis.ll 473680604 openjdk/multnode.ll 151606197 openjdk/mutableNUMASpace.ll 615250100 openjdk/mutableSpace.ll 1334325480 -openjdk/mutex.ll 172855329 +openjdk/mutex.ll 172633948 openjdk/mutexLocker.ll 189283934 openjdk/narrowptrnode.ll 83640998 openjdk/nativeCallStack.ll 67425382 @@ -23546,8 +23546,8 @@ openjdk/nmtNativeCallStackStorage.ll 184773707 openjdk/nmtPreInit.ll 92183912 openjdk/nmtUsage.ll 88284239 openjdk/node.ll 1538198831 -openjdk/nonJavaThread.ll 181266041 -openjdk/notificationThread.ll 150890717 +openjdk/nonJavaThread.ll 180993930 +openjdk/notificationThread.ll 150672836 openjdk/numberSeq.ll 123701890 openjdk/objArrayKlass.ll 1887209241 openjdk/objArrayOop.ll 691662459 @@ -23557,7 +23557,7 @@ openjdk/objectSample.ll 685906021 openjdk/objectSampleCheckpoint.ll 946461992 openjdk/objectSampleDescription.ll 234950690 openjdk/objectSampleWriter.ll 1324078350 -openjdk/objectSampler.ll 218436070 +openjdk/objectSampler.ll 218125445 openjdk/objectStartArray.ll 109433906 openjdk/oop.ll 1237894302 openjdk/oopFactory.ll 116903706 @@ -23577,7 +23577,7 @@ openjdk/osThread_linux.ll 44150161 openjdk/os_linux.ll 2206278154 openjdk/os_linux_x86.ll 242954125 openjdk/os_perf_linux.ll 263244340 -openjdk/os_posix.ll 638873175 +openjdk/os_posix.ll 638133351 openjdk/ostream.ll 568937349 openjdk/outStream.ll 170798567 openjdk/output.ll 2325843813 @@ -23591,9 +23591,9 @@ openjdk/p11_mutex.ll 108738727 openjdk/p11_objmgmt.ll 93254072 openjdk/p11_sessmgmt.ll 106073777 openjdk/p11_sign.ll 123226620 -openjdk/p11_util.ll 301543480 +openjdk/p11_util.ll 301217535 openjdk/packageEntry.ll 969679901 -openjdk/parMarkBitMap.ll 1441670374 +openjdk/parMarkBitMap.ll 1440070789 openjdk/parallelArguments.ll 69014251 openjdk/parallelCleaning.ll 168531096 openjdk/parallelInitLogger.ll 71298630 @@ -23614,7 +23614,7 @@ openjdk/pcsc_md.ll 63842869 openjdk/peephole_x86_64.ll 193340253 openjdk/perf.ll 241559903 openjdk/perfData.ll 387195161 -openjdk/perfMemory.ll 104103066 +openjdk/perfMemory.ll 103995635 openjdk/perfMemory_posix.ll 487103015 openjdk/phase.ll 96015402 openjdk/phaseX.ll 1952444906 @@ -23623,7 +23623,7 @@ openjdk/placeholders.ll 301217564 openjdk/png.ll 1137363513 openjdk/pngerror.ll 263766499 openjdk/pngget.ll 289708975 -openjdk/pngmem.ll 81124630 +openjdk/pngmem.ll 81031927 openjdk/pngpread.ll 350989197 openjdk/pngread.ll 1161203378 openjdk/pngrio.ll 39277249 @@ -23638,7 +23638,7 @@ openjdk/preserveException.ll 84958897 openjdk/preservedMarks.ll 223709958 openjdk/pretouchTask.ll 80066471 openjdk/printCLDMetaspaceInfoClosure.ll 137529931 -openjdk/printMetaspaceInfoKlassClosure.ll 64087145 +openjdk/printMetaspaceInfoKlassClosure.ll 64015116 openjdk/procMapsParser.ll 74303370 openjdk/protectionDomainCache.ll 885470959 openjdk/proxy_util.ll 48612822 @@ -23646,7 +23646,7 @@ openjdk/psAdaptiveSizePolicy.ll 288581034 openjdk/psCardTable.ll 2777414601 openjdk/psCompactionManager.ll 1940169717 openjdk/psGCAdaptivePolicyCounters.ll 191928515 -openjdk/psGenerationCounters.ll 79125271 +openjdk/psGenerationCounters.ll 79021245 openjdk/psMemoryPool.ll 102369146 openjdk/psOldGen.ll 304712338 openjdk/psParallelCompact.ll 6149620234 @@ -23680,13 +23680,13 @@ openjdk/relocator.ll 953664040 openjdk/replacednodes.ll 592983793 openjdk/resolutionErrors.ll 183306977 openjdk/resolvedFieldEntry.ll 69940526 -openjdk/resolvedIndyEntry.ll 72653717 +openjdk/resolvedIndyEntry.ll 72576739 openjdk/resolvedMethodEntry.ll 102165881 openjdk/resolvedMethodTable.ll 1446910547 openjdk/resourceArea.ll 57686753 openjdk/rewriter.ll 942348770 openjdk/rootChunkArea.ll 242945360 -openjdk/rootResolver.ll 388148297 +openjdk/rootResolver.ll 387745262 openjdk/rootSetClosure.ll 552491456 openjdk/rootType.ll 51737920 openjdk/rootnode.ll 92852121 @@ -23697,11 +23697,11 @@ openjdk/runtimeService.ll 75382231 openjdk/sadis.ll 68903246 openjdk/safefetch_static_posix.ll 37678765 openjdk/safepoint.ll 1277741032 -openjdk/safepointMechanism.ll 137994694 +openjdk/safepointMechanism.ll 137845785 openjdk/salibelf.ll 74513073 openjdk/sampleList.ll 165916066 openjdk/samplePriorityQueue.ll 110593225 -openjdk/satbMarkQueue.ll 181056441 +openjdk/satbMarkQueue.ll 180846805 openjdk/scavengableNMethods.ll 99249065 openjdk/scopeDesc.ll 377706665 openjdk/scopedMemoryAccess.ll 1501909450 @@ -23713,8 +23713,8 @@ openjdk/serialArguments.ll 36044919 openjdk/serialBlockOffsetTable.ll 123468471 openjdk/serialFullGC.ll 3057042045 openjdk/serialHeap.ll 2695519112 -openjdk/serialMemoryPools.ll 79176663 -openjdk/serialStringDedup.ll 67381225 +openjdk/serialMemoryPools.ll 79080072 +openjdk/serialStringDedup.ll 67311145 openjdk/serialVMOperations.ll 52012522 openjdk/serviceThread.ll 242818259 openjdk/sharedRuntime.ll 2511882071 @@ -23732,7 +23732,7 @@ openjdk/shenandoahBarrierSetC1.ll 465814923 openjdk/shenandoahBarrierSetC1_x86.ll 334042969 openjdk/shenandoahBarrierSetC2.ll 1202141194 openjdk/shenandoahBarrierSetNMethod.ll 59847086 -openjdk/shenandoahBarrierSetStackChunk.ll 121972492 +openjdk/shenandoahBarrierSetStackChunk.ll 121848023 openjdk/shenandoahBreakpoint.ll 53760889 openjdk/shenandoahCodeRoots.ll 283172882 openjdk/shenandoahCollectionSet.ll 118846641 @@ -23740,7 +23740,7 @@ openjdk/shenandoahCollectorPolicy.ll 144483966 openjdk/shenandoahCompactHeuristics.ll 129789012 openjdk/shenandoahConcurrentGC.ll 1310533417 openjdk/shenandoahConcurrentMark.ll 397783961 -openjdk/shenandoahControlThread.ll 264145083 +openjdk/shenandoahControlThread.ll 263867939 openjdk/shenandoahController.ll 133692351 openjdk/shenandoahDegeneratedGC.ll 233138058 openjdk/shenandoahEvacOOMHandler.ll 156023983 @@ -23751,20 +23751,20 @@ openjdk/shenandoahHeap.ll 6339499780 openjdk/shenandoahHeapRegion.ll 2427920308 openjdk/shenandoahHeapRegionCounters.ll 175601119 openjdk/shenandoahHeapRegionSet.ll 81935676 -openjdk/shenandoahHeuristics.ll 172149990 +openjdk/shenandoahHeuristics.ll 171972559 openjdk/shenandoahIUMode.ll 83667808 -openjdk/shenandoahInitLogger.ll 95525111 +openjdk/shenandoahInitLogger.ll 95399830 openjdk/shenandoahJfrSupport.ll 766457665 openjdk/shenandoahLock.ll 149527000 openjdk/shenandoahMark.ll 5417736294 openjdk/shenandoahMarkBitMap.ll 159612375 -openjdk/shenandoahMarkingContext.ll 211675441 +openjdk/shenandoahMarkingContext.ll 211429646 openjdk/shenandoahMemoryPool.ll 53101368 openjdk/shenandoahMetrics.ll 95240152 openjdk/shenandoahMonitoringSupport.ll 112007962 -openjdk/shenandoahNMethod.ll 649830179 +openjdk/shenandoahNMethod.ll 649127367 openjdk/shenandoahNumberSeq.ll 113935008 -openjdk/shenandoahPacer.ll 258952173 +openjdk/shenandoahPacer.ll 258642509 openjdk/shenandoahParallelCleaning.ll 53258246 openjdk/shenandoahPassiveHeuristics.ll 98798641 openjdk/shenandoahPassiveMode.ll 72608277 @@ -23778,7 +23778,7 @@ openjdk/shenandoahSATBMode.ll 79650490 openjdk/shenandoahSTWMark.ll 400294904 openjdk/shenandoahSimpleBitMap.ll 186546511 openjdk/shenandoahStackWatermark.ll 286835000 -openjdk/shenandoahStaticHeuristics.ll 96794445 +openjdk/shenandoahStaticHeuristics.ll 96694780 openjdk/shenandoahSupport.ll 3394724049 openjdk/shenandoahTaskqueue.ll 124029767 openjdk/shenandoahUnload.ll 149746451 @@ -23798,7 +23798,7 @@ openjdk/spinYield.ll 65676165 openjdk/splashscreen_gfx_impl.ll 300443268 openjdk/splashscreen_gif.ll 142430515 openjdk/splashscreen_impl.ll 291526289 -openjdk/splashscreen_jpeg.ll 81448799 +openjdk/splashscreen_jpeg.ll 81358766 openjdk/splashscreen_png.ll 71390369 openjdk/splashscreen_stubs.ll 49898049 openjdk/splashscreen_sys.ll 246702089 @@ -23821,15 +23821,15 @@ openjdk/stream.ll 36061779 openjdk/stringDedup.ll 413319565 openjdk/stringDedupConfig.ll 75140000 openjdk/stringDedupProcessor.ll 1031804101 -openjdk/stringDedupStat.ll 179779198 -openjdk/stringDedupStorageUse.ll 75485599 +openjdk/stringDedupStat.ll 179591315 +openjdk/stringDedupStorageUse.ll 75369501 openjdk/stringDedupTable.ll 1869935268 openjdk/stringDedupThread.ll 58164562 openjdk/stringTable.ll 2968901546 openjdk/stringUtils.ll 90651953 openjdk/stringopts.ll 2420885517 openjdk/strongRootsScope.ll 38844666 -openjdk/stubCodeGenerator.ll 115117773 +openjdk/stubCodeGenerator.ll 114953838 openjdk/stubGenerator_x86_64.ll 1755717815 openjdk/stubGenerator_x86_64_adler.ll 203052799 openjdk/stubGenerator_x86_64_aes.ll 3627374759 @@ -23899,11 +23899,11 @@ openjdk/ticks.ll 83059288 openjdk/timer.ll 69081421 openjdk/timerTrace.ll 48556573 openjdk/transport.ll 171478905 -openjdk/trimCHeapDCmd.ll 105526200 +openjdk/trimCHeapDCmd.ll 105417269 openjdk/trimNativeHeap.ll 170878708 openjdk/tstrings.ll 162769116 openjdk/type.ll 4098654583 -openjdk/typeArrayKlass.ll 407829358 +openjdk/typeArrayKlass.ll 407262608 openjdk/unhandledOops.ll 45880235 openjdk/universe.ll 2270656146 openjdk/unregisteredClasses.ll 980824637 @@ -23932,17 +23932,17 @@ openjdk/virtualSpaceNode.ll 175471424 openjdk/virtualizationSupport.ll 46437865 openjdk/virtualspace.ll 432111942 openjdk/vmClasses.ll 180607066 -openjdk/vmError.ll 956931027 +openjdk/vmError.ll 959974720 openjdk/vmError_posix.ll 53308929 openjdk/vmIntrinsics.ll 904783586 -openjdk/vmOperations.ll 483702702 +openjdk/vmOperations.ll 483059252 openjdk/vmStructs.ll 10715851813 openjdk/vmStructs_jvmci.ll 6048454577 openjdk/vmStructs_x.ll 46462512 openjdk/vmStructs_z.ll 46478897 openjdk/vmSymbols.ll 160606645 openjdk/vmThread.ll 864853202 -openjdk/vm_version.ll 79307155 +openjdk/vm_version.ll 79205034 openjdk/vm_version_x86.ll 1687962582 openjdk/vmatree.ll 370562151 openjdk/vmreg.ll 49788661 @@ -23987,7 +23987,7 @@ openjdk/xForwarding.ll 218351518 openjdk/xForwardingAllocator.ll 37446442 openjdk/xGlobals.ll 36210082 openjdk/xGlobals_x86.ll 52123950 -openjdk/xHeap.ll 436338011 +openjdk/xHeap.ll 435896025 openjdk/xHeapIterator.ll 2970662023 openjdk/xHeuristics.ll 64120117 openjdk/xInitialize.ll 47688441 @@ -24002,15 +24002,15 @@ openjdk/xMarkStackAllocator.ll 172299220 openjdk/xMemory.ll 156574235 openjdk/xMetronome.ll 67762568 openjdk/xMountPoint_linux.ll 171261115 -openjdk/xNMethod.ll 368095875 -openjdk/xNMethodData.ll 103543043 +openjdk/xNMethod.ll 367604904 +openjdk/xNMethodData.ll 103431524 openjdk/xNMethodTable.ll 267698706 openjdk/xNMethodTableIteration.ll 56883172 openjdk/xNUMA.ll 46610492 openjdk/xNUMA_linux.ll 46018184 -openjdk/xObjArrayAllocator.ll 170641473 +openjdk/xObjArrayAllocator.ll 170455041 openjdk/xObjectAllocator.ll 354648728 -openjdk/xPage.ll 141353401 +openjdk/xPage.ll 141194299 openjdk/xPageAllocator.ll 1239225295 openjdk/xPageCache.ll 297928310 openjdk/xPageTable.ll 81924467 @@ -24020,11 +24020,11 @@ openjdk/xReferenceProcessor.ll 578470243 openjdk/xRelocate.ll 627756306 openjdk/xRelocationSet.ll 157046811 openjdk/xRelocationSetSelector.ll 792170450 -openjdk/xResurrection.ll 37252133 -openjdk/xRootsIterator.ll 806544437 +openjdk/xResurrection.ll 37211498 +openjdk/xRootsIterator.ll 805538375 openjdk/xRuntimeWorkers.ll 71989714 openjdk/xServiceability.ll 97580511 -openjdk/xStackWatermark.ll 93427962 +openjdk/xStackWatermark.ll 93327185 openjdk/xStat.ll 963495581 openjdk/xSyscall_linux.ll 36526367 openjdk/xTask.ll 42400697 @@ -24065,7 +24065,7 @@ openjdk/zDirector.ll 429610078 openjdk/zDriver.ll 209896629 openjdk/zDriverPort.ll 185207463 openjdk/zErrno.ll 39632423 -openjdk/zForwarding.ll 307692819 +openjdk/zForwarding.ll 307327568 openjdk/zForwardingAllocator.ll 37446854 openjdk/zGCIdPrinter.ll 56418189 openjdk/zGeneration.ll 1525787008 @@ -24079,7 +24079,7 @@ openjdk/zLargePages.ll 48396368 openjdk/zLargePages_linux.ll 37183107 openjdk/zLiveMap.ll 168487482 openjdk/zMark.ll 3246234244 -openjdk/zMarkCache.ll 73554273 +openjdk/zMarkCache.ll 73469497 openjdk/zMarkStack.ll 217707142 openjdk/zMarkStackAllocator.ll 183985956 openjdk/zMemory.ll 168417769 @@ -24092,7 +24092,7 @@ openjdk/zNMethodTable.ll 278012659 openjdk/zNMethodTableIteration.ll 56883692 openjdk/zNUMA.ll 46610536 openjdk/zNUMA_linux.ll 46018296 -openjdk/zObjArrayAllocator.ll 191866531 +openjdk/zObjArrayAllocator.ll 191655862 openjdk/zObjectAllocator.ll 317079789 openjdk/zPage.ll 217437060 openjdk/zPageAllocator.ll 1358611017 @@ -24100,18 +24100,18 @@ openjdk/zPageCache.ll 277014581 openjdk/zPageTable.ll 152869271 openjdk/zPhysicalMemory.ll 323929930 openjdk/zPhysicalMemoryBacking_linux.ll 275658138 -openjdk/zReferenceProcessor.ll 1264688055 +openjdk/zReferenceProcessor.ll 1263301783 openjdk/zRelocate.ll 2812646890 openjdk/zRelocationSet.ll 1540799608 openjdk/zRelocationSetSelector.ll 894261489 openjdk/zRemembered.ll 902760102 openjdk/zRememberedSet.ll 431204840 -openjdk/zResurrection.ll 37252968 +openjdk/zResurrection.ll 37212022 openjdk/zRootsIterator.ll 805414290 openjdk/zRuntimeWorkers.ll 49324125 openjdk/zServiceability.ll 114543301 openjdk/zSharedArguments.ll 44225516 -openjdk/zStackWatermark.ll 352690163 +openjdk/zStackWatermark.ll 352325023 openjdk/zStat.ll 1290206618 openjdk/zStoreBarrierBuffer.ll 552870546 openjdk/zSyscall_linux.ll 36526272 @@ -24223,7 +24223,7 @@ openmpi/btl_tcp_proc.ll 418794701 openmpi/byte_offset.ll 46630606 openmpi/cb_config_list.ll 289680449 openmpi/check_monitoring.ll 645770239 -openmpi/cmd_line.ll 509605437 +openmpi/cmd_line.ll 509092502 openmpi/coll_accelerator_allreduce.ll 61543794 openmpi/coll_accelerator_component.ll 33866714 openmpi/coll_accelerator_exscan.ll 61567219 @@ -24374,7 +24374,7 @@ openmpi/comm_request.ll 260988687 openmpi/comm_revoke.ll 66289911 openmpi/comm_shrink.ll 67815623 openmpi/common_monitoring.ll 233422960 -openmpi/common_monitoring_coll.ll 163101054 +openmpi/common_monitoring_coll.ll 162933902 openmpi/common_ompio_aggregators.ll 528737901 openmpi/common_ompio_buffer.ll 76275462 openmpi/common_ompio_file_open.ll 182619894 @@ -24407,7 +24407,7 @@ openmpi/errhandler_predefined.ll 140500572 openmpi/errmgr.ll 306887589 openmpi/errmgr_base_frame.ll 35998501 openmpi/errmgr_base_select.ll 36252819 -openmpi/errmgr_dvm.ll 296209252 +openmpi/errmgr_dvm.ll 295896351 openmpi/errmgr_dvm_component.ll 37650804 openmpi/errmgr_prted.ll 367051052 openmpi/errmgr_prted_component.ll 37582863 @@ -24735,7 +24735,7 @@ openmpi/libmpi_c_profile_la-neighbor_alltoallv_init.ll 127249581 openmpi/libmpi_c_profile_la-neighbor_alltoallw.ll 135084575 openmpi/libmpi_c_profile_la-neighbor_alltoallw_init.ll 129313200 openmpi/libmpi_c_profile_la-op_f2c.ll 46308469 -openmpi/libmpi_c_profile_la-open_port.ll 63230482 +openmpi/libmpi_c_profile_la-open_port.ll 63164646 openmpi/libmpi_c_profile_la-pack.ll 143343833 openmpi/libmpi_c_profile_la-pack_external.ll 80974572 openmpi/libmpi_c_profile_la-pack_external_size.ll 62594367 @@ -24853,7 +24853,7 @@ openmpi/libmpi_c_profile_la-win_unlock.ll 70061832 openmpi/libmpi_c_profile_la-win_unlock_all.ll 65937763 openmpi/libmpi_c_profile_la-win_wait.ll 65905072 openmpi/libmpi_c_profile_la-wtime.ll 36878243 -openmpi/libmpi_fortran_base_la-f90_accessors.ll 47265545 +openmpi/libmpi_fortran_base_la-f90_accessors.ll 47215306 openmpi/libmpi_fortran_base_la-strings.ll 102898149 openmpi/libmpi_mpit_profile_la-category_get_categories.ll 45357170 openmpi/libmpi_mpit_profile_la-category_get_cvars.ll 45340694 @@ -25286,7 +25286,7 @@ openmpi/preg_base_stubs.ll 85931358 openmpi/preg_compress.ll 85977531 openmpi/preg_compress_component.ll 35518333 openmpi/preg_native.ll 525886427 -openmpi/pregister_datarep_f.ll 93537394 +openmpi/pregister_datarep_f.ll 93440348 openmpi/prequest_free_f.ll 35327043 openmpi/print.ll 305689936 openmpi/printf.ll 46111010 @@ -25306,7 +25306,7 @@ openmpi/prted.ll 310613021 openmpi/prtedl_base_select.ll 34842881 openmpi/prtedl_dlopen_component.ll 38607086 openmpi/prtedl_dlopen_module.ll 95272997 -openmpi/prteinstalldirs_base_components.ll 117060468 +openmpi/prteinstalldirs_base_components.ll 116940955 openmpi/prteinstalldirs_base_expand.ll 125041835 openmpi/prun.ll 72569524 openmpi/psched.ll 211340798 @@ -25373,7 +25373,7 @@ openmpi/ras_testrm_component.ll 35725421 openmpi/rcache_base_create.ll 78253896 openmpi/rcache_base_frame.ll 68677145 openmpi/rcache_base_mem_cb.ll 49899992 -openmpi/rcache_base_vma.ll 67738709 +openmpi/rcache_base_vma.ll 67658582 openmpi/rcache_base_vma_tree.ll 62470817 openmpi/rcache_gpusm_module.ll 182224438 openmpi/rcache_grdma_component.ll 80234385 @@ -25543,8 +25543,8 @@ openspiel/SolverIF.cpp.ll 319354088 openspiel/System.cpp.ll 1267065873 openspiel/ThreadMgr.cpp.ll 574831598 openspiel/TimeStat.cpp.ll 89356115 -openspiel/TimeStatList.cpp.ll 206742887 -openspiel/Timer.cpp.ll 109874064 +openspiel/TimeStatList.cpp.ll 206479712 +openspiel/Timer.cpp.ll 109750279 openspiel/TimerGroup.cpp.ll 351145810 openspiel/TimerList.cpp.ll 462860433 openspiel/TransTableL.cpp.ll 1433220238 @@ -25564,8 +25564,8 @@ openspiel/battleship_test.cc.ll 3927440787 openspiel/battleship_types.cc.ll 347229158 openspiel/best_response.cc.ll 3435766894 openspiel/best_response_test.cc.ll 3803345576 -openspiel/blackjack.cc.ll 1987230784 -openspiel/blackjack_test.cc.ll 518730290 +openspiel/blackjack.cc.ll 1984911303 +openspiel/blackjack_test.cc.ll 518166219 openspiel/blotto.cc.ll 2900023431 openspiel/blotto_test.cc.ll 433215722 openspiel/breakthrough.cc.ll 2068500372 @@ -25574,14 +25574,14 @@ openspiel/bridge.cc.ll 3491219487 openspiel/bridge_scoring.cc.ll 111469387 openspiel/bridge_test.cc.ll 528986265 openspiel/bridge_uncontested_bidding.cc.ll 2817395183 -openspiel/canonical_game_strings.cc.ll 83750048 +openspiel/canonical_game_strings.cc.ll 83665056 openspiel/cards.cc.ll 1072078729 openspiel/catch.cc.ll 1718732819 openspiel/catch_test.cc.ll 695787453 openspiel/cce.cc.ll 1228486467 openspiel/ce.cc.ll 3485355234 openspiel/cfr.cc.ll 3957785769 -openspiel/cfr_br.cc.ll 2022851251 +openspiel/cfr_br.cc.ll 2020770722 openspiel/cfr_br_test.cc.ll 1691812485 openspiel/cfr_test.cc.ll 2243507069 openspiel/checkers.cc.ll 2639027461 @@ -25638,7 +25638,7 @@ openspiel/dou_dizhu_test.cc.ll 143168637 openspiel/dou_dizhu_utils.cc.ll 1473627299 openspiel/dou_dizhu_utils_test.cc.ll 379808666 openspiel/dump.cpp.ll 392192058 -openspiel/dynamic_routing.cc.ll 4654474915 +openspiel/dynamic_routing.cc.ll 4649537269 openspiel/dynamic_routing_data.cc.ll 2001584172 openspiel/dynamic_routing_data_test.cc.ll 1459496727 openspiel/dynamic_routing_test.cc.ll 1657347724 @@ -25668,7 +25668,7 @@ openspiel/get_all_histories_test.cc.ll 196415496 openspiel/get_all_infostates.cc.ll 517991685 openspiel/get_all_states.cc.ll 296621096 openspiel/get_all_states_test.cc.ll 142824002 -openspiel/get_legal_actions_map.cc.ll 358034397 +openspiel/get_legal_actions_map.cc.ll 357624081 openspiel/get_legal_actions_map_test.cc.ll 596169345 openspiel/gin_rummy.cc.ll 4707822015 openspiel/gin_rummy_test.cc.ll 3544113152 @@ -25693,13 +25693,13 @@ openspiel/infostate_tree_test.cc.ll 2847548278 openspiel/init.cc.ll 32254136 openspiel/is_mcts.cc.ll 2721028176 openspiel/is_mcts_test.cc.ll 542705798 -openspiel/json.cc.ll 1615385104 +openspiel/json.cc.ll 1613408318 openspiel/kriegspiel.cc.ll 3863958021 openspiel/kriegspiel_test.cc.ll 322935119 openspiel/kuhn_poker.cc.ll 3287757281 openspiel/kuhn_poker_test.cc.ll 837443270 openspiel/laser_tag.cc.ll 3457453603 -openspiel/laser_tag_test.cc.ll 1679839616 +openspiel/laser_tag_test.cc.ll 1682661658 openspiel/leduc_poker.cc.ll 3457442128 openspiel/leduc_poker_test.cc.ll 830262443 openspiel/lewis_signaling.cc.ll 2332599758 @@ -25710,7 +25710,7 @@ openspiel/maedn.cc.ll 2622021386 openspiel/maedn_test.cc.ll 1356077319 openspiel/mancala.cc.ll 1578652815 openspiel/mancala_test.cc.ll 493082106 -openspiel/markov_soccer.cc.ll 2504940238 +openspiel/markov_soccer.cc.ll 2502322297 openspiel/markov_soccer_test.cc.ll 420199710 openspiel/matching_pennies_3p.cc.ll 1525311448 openspiel/matching_pennies_3p_test.cc.ll 154437777 @@ -25728,12 +25728,12 @@ openspiel/negotiation.cc.ll 3615685467 openspiel/negotiation_test.cc.ll 551833880 openspiel/nfg_game.cc.ll 1889324035 openspiel/nfg_game_test.cc.ll 1336403164 -openspiel/nfg_writer.cc.ll 383564159 +openspiel/nfg_writer.cc.ll 383036502 openspiel/nim.cc.ll 2510552615 openspiel/nim_test.cc.ll 1389350146 openspiel/nine_mens_morris.cc.ll 1859100050 openspiel/nine_mens_morris_test.cc.ll 154401091 -openspiel/observation_history.cc.ll 1096582799 +openspiel/observation_history.cc.ll 1095440339 openspiel/observation_history_test.cc.ll 1118247715 openspiel/observer.cc.ll 1911747599 openspiel/oh_hell.cc.ll 3451746480 @@ -25752,12 +25752,12 @@ openspiel/oware_test.cc.ll 1512063067 openspiel/pathfinding.cc.ll 3882873308 openspiel/pathfinding_test.cc.ll 1543473408 openspiel/pentago.cc.ll 1758246030 -openspiel/pentago_test.cc.ll 447138550 +openspiel/pentago_test.cc.ll 446578605 openspiel/phantom_go.cc.ll 2282951212 openspiel/phantom_go_board.cc.ll 1407641146 openspiel/phantom_go_test.cc.ll 1354162517 openspiel/phantom_ttt.cc.ll 1989834169 -openspiel/phantom_ttt_test.cc.ll 175214035 +openspiel/phantom_ttt_test.cc.ll 175024079 openspiel/pig.cc.ll 1968472522 openspiel/pig_test.cc.ll 534472753 openspiel/policy.cc.ll 4441926479 @@ -25802,11 +25802,11 @@ openspiel/tarok_test.cc.ll 6554275855 openspiel/tensor_game.cc.ll 2552332865 openspiel/tensor_game_utils.cc.ll 1559829488 openspiel/tensor_game_utils_test.cc.ll 313146364 -openspiel/thread.cc.ll 137657917 +openspiel/thread.cc.ll 137518311 openspiel/tic_tac_toe.cc.ll 1405046969 openspiel/tic_tac_toe_test.cc.ll 158587798 openspiel/tiny_bridge.cc.ll 3027432606 -openspiel/tiny_bridge_test.cc.ll 327135099 +openspiel/tiny_bridge_test.cc.ll 326724663 openspiel/tiny_hanabi.cc.ll 2316739128 openspiel/tiny_hanabi_test.cc.ll 253887253 openspiel/trade_comm.cc.ll 2009084512 @@ -25827,7 +25827,7 @@ openspiel/y_test.cc.ll 535222107 openssl/aesgcmtest-bin-aesgcmtest.ll 67982732 openssl/afalg-dso-e_afalg.ll 259319452 openssl/algorithmid_test-bin-algorithmid_test.ll 109709901 -openssl/asn1-test-bin-fuzz_rand.ll 56827244 +openssl/asn1-test-bin-fuzz_rand.ll 56770125 openssl/asn1_dsa_internal_test-bin-asn1_dsa_internal_test.ll 56352996 openssl/asn1_encode_test-bin-asn1_encode_test.ll 200598315 openssl/asn1_internal_test-bin-asn1_internal_test.ll 121125762 @@ -25963,7 +25963,7 @@ openssl/libcrypto-lib-bf_enc.ll 431935681 openssl/libcrypto-lib-bf_lbuf.ll 118038519 openssl/libcrypto-lib-bf_nbio.ll 59414526 openssl/libcrypto-lib-bf_prefix.ll 74037590 -openssl/libcrypto-lib-bf_readbuff.ll 103074649 +openssl/libcrypto-lib-bf_readbuff.ll 102966845 openssl/libcrypto-lib-bio_addr.ll 154500172 openssl/libcrypto-lib-bio_asn1.ll 114325099 openssl/libcrypto-lib-bio_b64.ll 209503116 @@ -26041,7 +26041,7 @@ openssl/libcrypto-lib-cms_enc.ll 96067733 openssl/libcrypto-lib-cms_env.ll 378812584 openssl/libcrypto-lib-cms_ess.ll 113593433 openssl/libcrypto-lib-cms_kari.ll 149785707 -openssl/libcrypto-lib-cms_lib.ll 203454476 +openssl/libcrypto-lib-cms_lib.ll 203250600 openssl/libcrypto-lib-cms_pwri.ll 120088138 openssl/libcrypto-lib-cms_rsa.ll 110328820 openssl/libcrypto-lib-cms_sd.ll 404307392 @@ -26060,7 +26060,7 @@ openssl/libcrypto-lib-ct_oct.ll 160980548 openssl/libcrypto-lib-ct_sct_ctx.ll 81286558 openssl/libcrypto-lib-ct_vfy.ll 63436994 openssl/libcrypto-lib-ctr128.ll 112142399 -openssl/libcrypto-lib-ctrl_params_translate.ll 622340786 +openssl/libcrypto-lib-ctrl_params_translate.ll 623368320 openssl/libcrypto-lib-cts128.ll 100938849 openssl/libcrypto-lib-ctype.ll 44005782 openssl/libcrypto-lib-curve25519.ll 2841828190 @@ -26069,7 +26069,7 @@ openssl/libcrypto-lib-decoder_lib.ll 272016302 openssl/libcrypto-lib-decoder_meth.ll 192448102 openssl/libcrypto-lib-decoder_pkey.ll 209681181 openssl/libcrypto-lib-der_writer.ll 115667545 -openssl/libcrypto-lib-des_enc.ll 1344526897 +openssl/libcrypto-lib-des_enc.ll 1354351211 openssl/libcrypto-lib-dh_ameth.ll 147415499 openssl/libcrypto-lib-dh_backend.ll 81023010 openssl/libcrypto-lib-dh_key.ll 125214654 @@ -26261,13 +26261,13 @@ openssl/libcrypto-lib-srp_vfy.ll 247629841 openssl/libcrypto-lib-stack.ll 251821916 openssl/libcrypto-lib-store_lib.ll 263752884 openssl/libcrypto-lib-store_meth.ll 175021161 -openssl/libcrypto-lib-store_register.ll 99958226 +openssl/libcrypto-lib-store_register.ll 99849582 openssl/libcrypto-lib-store_result.ll 233868568 openssl/libcrypto-lib-str2key.ll 65418291 openssl/libcrypto-lib-t_bitst.ll 52845409 openssl/libcrypto-lib-t_req.ll 102620829 openssl/libcrypto-lib-t_x509.ll 205400144 -openssl/libcrypto-lib-tasn_dec.ll 347815073 +openssl/libcrypto-lib-tasn_dec.ll 348260235 openssl/libcrypto-lib-tasn_enc.ll 184097577 openssl/libcrypto-lib-tasn_new.ll 113247215 openssl/libcrypto-lib-tasn_prn.ll 180634485 @@ -26277,7 +26277,7 @@ openssl/libcrypto-lib-ts_rsp_sign.ll 339607236 openssl/libcrypto-lib-ts_rsp_verify.ll 171922085 openssl/libcrypto-lib-ts_verify_ctx.ll 66227058 openssl/libcrypto-lib-txt_db.ll 196981220 -openssl/libcrypto-lib-ui_lib.ll 233755162 +openssl/libcrypto-lib-ui_lib.ll 233492573 openssl/libcrypto-lib-ui_openssl.ll 99807049 openssl/libcrypto-lib-ui_util.ll 64898706 openssl/libcrypto-lib-v3_addr.ll 648022733 @@ -26344,7 +26344,7 @@ openssl/libcrypto-shlib-bf_enc.ll 431632313 openssl/libcrypto-shlib-bf_lbuf.ll 117984466 openssl/libcrypto-shlib-bf_nbio.ll 59430235 openssl/libcrypto-shlib-bf_prefix.ll 74037804 -openssl/libcrypto-shlib-bf_readbuff.ll 103074646 +openssl/libcrypto-shlib-bf_readbuff.ll 102966896 openssl/libcrypto-shlib-bio_addr.ll 154500473 openssl/libcrypto-shlib-bio_asn1.ll 114323475 openssl/libcrypto-shlib-bio_b64.ll 209804896 @@ -26441,7 +26441,7 @@ openssl/libcrypto-shlib-ct_oct.ll 160966858 openssl/libcrypto-shlib-ct_sct_ctx.ll 81287084 openssl/libcrypto-shlib-ct_vfy.ll 63449047 openssl/libcrypto-shlib-ctr128.ll 112117629 -openssl/libcrypto-shlib-ctrl_params_translate.ll 622341737 +openssl/libcrypto-shlib-ctrl_params_translate.ll 623369973 openssl/libcrypto-shlib-cts128.ll 101056989 openssl/libcrypto-shlib-ctype.ll 44006176 openssl/libcrypto-shlib-curve25519.ll 2841827807 @@ -26450,7 +26450,7 @@ openssl/libcrypto-shlib-decoder_lib.ll 272015689 openssl/libcrypto-shlib-decoder_meth.ll 192448736 openssl/libcrypto-shlib-decoder_pkey.ll 209682456 openssl/libcrypto-shlib-der_writer.ll 115668707 -openssl/libcrypto-shlib-des_enc.ll 1344769372 +openssl/libcrypto-shlib-des_enc.ll 1354610746 openssl/libcrypto-shlib-dh_ameth.ll 147414270 openssl/libcrypto-shlib-dh_backend.ll 81023413 openssl/libcrypto-shlib-dh_key.ll 125212484 @@ -26519,7 +26519,7 @@ openssl/libcrypto-shlib-evp_enc.ll 535568197 openssl/libcrypto-shlib-evp_fetch.ll 148798288 openssl/libcrypto-shlib-evp_key.ll 86078545 openssl/libcrypto-shlib-evp_lib.ll 292493590 -openssl/libcrypto-shlib-evp_pbe.ll 95423654 +openssl/libcrypto-shlib-evp_pbe.ll 95315377 openssl/libcrypto-shlib-evp_rand.ll 301582148 openssl/libcrypto-shlib-ex_data.ll 177191416 openssl/libcrypto-shlib-exchange.ll 186934190 @@ -26561,7 +26561,7 @@ openssl/libcrypto-shlib-ocsp_ext.ll 125124612 openssl/libcrypto-shlib-ocsp_prn.ll 123727194 openssl/libcrypto-shlib-ocsp_vfy.ll 145441497 openssl/libcrypto-shlib-ofb_enc.ll 87138876 -openssl/libcrypto-shlib-p12_crt.ll 148894979 +openssl/libcrypto-shlib-p12_crt.ll 148734135 openssl/libcrypto-shlib-p12_kiss.ll 133615104 openssl/libcrypto-shlib-p12_mutl.ll 91737751 openssl/libcrypto-shlib-p12_npas.ll 142595994 @@ -26648,7 +26648,7 @@ openssl/libcrypto-shlib-str2key.ll 65418683 openssl/libcrypto-shlib-t_bitst.ll 52845516 openssl/libcrypto-shlib-t_req.ll 102621032 openssl/libcrypto-shlib-t_x509.ll 205555680 -openssl/libcrypto-shlib-tasn_dec.ll 347815590 +openssl/libcrypto-shlib-tasn_dec.ll 348260774 openssl/libcrypto-shlib-tasn_enc.ll 184097997 openssl/libcrypto-shlib-tasn_new.ll 113247606 openssl/libcrypto-shlib-tasn_prn.ll 180635626 @@ -26696,7 +26696,7 @@ openssl/libcrypto-shlib-x_x509.ll 101600225 openssl/libcrypto-shlib-xcbc_enc.ll 139769732 openssl/libcrypto-shlib-xts128.ll 71310149 openssl/libcrypto-shlib-xts128gb.ll 77523933 -openssl/libdefault-lib-argon2.ll 917406738 +openssl/libdefault-lib-argon2.ll 918879273 openssl/libdefault-lib-blake2_prov.ll 83410321 openssl/libdefault-lib-blake2b_mac.ll 73892391 openssl/libdefault-lib-blake2b_prov.ll 1338425667 @@ -26777,7 +26777,7 @@ openssl/liblegacy-lib-cipher_des.ll 79552704 openssl/liblegacy-lib-cipher_des_hw.ll 96716937 openssl/liblegacy-lib-cipher_rc4_hmac_md5_hw.ll 93457924 openssl/liblegacy-lib-cipher_tdes_common.ll 63464681 -openssl/liblegacy-lib-des_enc.ll 1344529828 +openssl/liblegacy-lib-des_enc.ll 1354354099 openssl/liblegacy-lib-fcrypt_b.ll 484316539 openssl/liblegacy-lib-md5_dgst.ll 64482488 openssl/liblegacy-lib-pbkdf1.ll 94848694 @@ -26805,13 +26805,13 @@ openssl/libssl-lib-quic_reactor.ll 129025695 openssl/libssl-lib-quic_record_rx.ll 696372074 openssl/libssl-lib-quic_record_shared.ll 148229176 openssl/libssl-lib-quic_record_tx.ll 402917139 -openssl/libssl-lib-quic_rstream.ll 207320433 +openssl/libssl-lib-quic_rstream.ll 207101313 openssl/libssl-lib-quic_rx_depack.ll 426695833 openssl/libssl-lib-quic_sf_list.ll 144974337 openssl/libssl-lib-quic_srtm.ll 150382246 openssl/libssl-lib-quic_sstream.ll 206587470 openssl/libssl-lib-quic_stream_map.ll 237744401 -openssl/libssl-lib-quic_thread_assist.ll 69792683 +openssl/libssl-lib-quic_thread_assist.ll 69720803 openssl/libssl-lib-quic_tls.ll 181701979 openssl/libssl-lib-quic_trace.ll 221295516 openssl/libssl-lib-quic_tserver.ll 143465573 @@ -26869,7 +26869,7 @@ openssl/libssl-shlib-quic_reactor.ll 129026159 openssl/libssl-shlib-quic_record_rx.ll 696373353 openssl/libssl-shlib-quic_record_shared.ll 148137884 openssl/libssl-shlib-quic_record_tx.ll 402917488 -openssl/libssl-shlib-quic_rstream.ll 207321866 +openssl/libssl-shlib-quic_rstream.ll 207102246 openssl/libssl-shlib-quic_rx_depack.ll 426696042 openssl/libssl-shlib-quic_sf_list.ll 144974472 openssl/libssl-shlib-quic_srtm.ll 150405151 @@ -27006,7 +27006,7 @@ openssl/provider_status_test-bin-provider_status_test.ll 89953516 openssl/provider_test-bin-p_test.ll 88685539 openssl/provider_test-bin-provider_test.ll 106622620 openssl/quic-client-test-bin-fuzz_rand.ll 56756093 -openssl/quic-lcidm-test-bin-fuzz_rand.ll 56827911 +openssl/quic-lcidm-test-bin-fuzz_rand.ll 56770657 openssl/quic-lcidm-test-bin-quic-lcidm.ll 147048605 openssl/quic-srtm-test-bin-fuzz_rand.ll 56820866 openssl/quic-srtm-test-bin-quic-srtm.ll 123243577 @@ -27068,13 +27068,13 @@ openssl/ssl_test-bin-ssl_test_ctx.ll 317918438 openssl/ssl_test_ctx_test-bin-ssl_test_ctx.ll 318018398 openssl/ssl_test_ctx_test-bin-ssl_test_ctx_test.ll 116501128 openssl/sslapitest-bin-filterprov.ll 86097435 -openssl/sslapitest-bin-sslapitest.ll 2736729100 +openssl/sslapitest-bin-sslapitest.ll 2740123128 openssl/sslapitest-bin-ssltestlib.ll 448115537 openssl/sslapitest-bin-tls-provider.ll 951981524 openssl/sslbuffertest-bin-sslbuffertest.ll 135900256 openssl/sslbuffertest-bin-ssltestlib.ll 448116804 openssl/sslcorrupttest-bin-ssltestlib.ll 448117313 -openssl/stack_test-bin-stack_test.ll 205586665 +openssl/stack_test-bin-stack_test.ll 205360016 openssl/test_test-bin-test_test.ll 381515304 openssl/threadstest-bin-threadstest.ll 262641220 openssl/tls13ccstest-bin-ssltestlib.ll 448115154 @@ -27090,7 +27090,7 @@ openssl/v3ext-bin-v3ext.ll 187561708 openssl/v3nametest-bin-v3nametest.ll 201634319 openssl/verify_extra_test-bin-verify_extra_test.ll 98591155 openssl/wpackettest-bin-wpackettest.ll 351893987 -openssl/x509-test-bin-fuzz_rand.ll 56826860 +openssl/x509-test-bin-fuzz_rand.ll 56769934 openssl/x509-test-bin-x509.ll 59662457 openssl/x509_check_cert_pkey_test-bin-x509_check_cert_pkey_test.ll 71122158 openusd/AVIFImage.cpp.ll 700381673 @@ -27098,17 +27098,17 @@ openusd/OpenEXRImage.cpp.ll 3552381250 openusd/SIGFPE.cpp.ll 33747076 openusd/SIGSEGV.cpp.ll 116287894 openusd/TestArAdvancedAPI_plugin.cpp.ll 351827561 -openusd/TestArOptionalImplementation_plugin.cpp.ll 229313801 -openusd/TestArPackageResolver_plugin.cpp.ll 95890374 -openusd/TestArURIResolver_plugin.cpp.ll 475670151 +openusd/TestArOptionalImplementation_plugin.cpp.ll 229038087 +openusd/TestArPackageResolver_plugin.cpp.ll 95774034 +openusd/TestArURIResolver_plugin.cpp.ll 475032238 openusd/TestPcpDynamicFileFormatPlugin.cpp.ll 3195539287 openusd/TestPcpStreamingLayerReload.cpp.ll 306483369 -openusd/TestPlugDso1.cpp.ll 154954237 -openusd/TestPlugDso2.cpp.ll 154938668 -openusd/TestPlugDso3.cpp.ll 201909770 +openusd/TestPlugDso1.cpp.ll 154778547 +openusd/TestPlugDso2.cpp.ll 154763232 +openusd/TestPlugDso3.cpp.ll 201678460 openusd/TestPlugDsoEmpty.cpp.ll 154869786 openusd/TestPlugDsoIncomplete.cpp.ll 155011874 -openusd/TestPlugDsoUnloadable.cpp.ll 155490734 +openusd/TestPlugDsoUnloadable.cpp.ll 155329341 openusd/TestSdfFileFormatCapabilities.cpp.ll 442347515 openusd/TestSdfNoAssetFileFormat.cpp.ll 731053478 openusd/TestSdfResolver.cpp.ll 223462432 @@ -27120,13 +27120,13 @@ openusd/TestSdrRegistry_oslParserPlugin.cpp.ll 2254881458 openusd/TestTfDl.cpp.ll 32668020 openusd/TestTfRegistryFunctionPlugin.cpp.ll 42751931 openusd/TestUsdProceduralExternalAssetsFileFormatPlugin.cpp.ll 1078859774 -openusd/TestUsdResolverChangedResolver.cpp.ll 851251043 +openusd/TestUsdResolverChangedResolver.cpp.ll 850330733 openusd/TestUsdUtilsDependenciesCustomResolver_plugin.cpp.ll 180648649 -openusd/abstractData.cpp.ll 1192667478 +openusd/abstractData.cpp.ll 1191092423 openusd/adapterManager.cpp.ll 2140649089 openusd/adapterRegistry.cpp.ll 2098843942 openusd/aggregateNode.cpp.ll 2003132126 -openusd/aggregateTree.cpp.ll 859772001 +openusd/aggregateTree.cpp.ll 858757945 openusd/aggregateTreeBuilder.cpp.ll 1806336852 openusd/align.cpp.ll 34465421 openusd/alloccommon.c.ll 154582814 @@ -27136,7 +27136,7 @@ openusd/animMapper.cpp.ll 12394232691 openusd/animQuery.cpp.ll 246102385 openusd/animQueryImpl.cpp.ll 747168420 openusd/animation.cpp.ll 849526283 -openusd/anyWeakPtr.cpp.ll 58096538 +openusd/anyWeakPtr.cpp.ll 58015876 openusd/aom_codec.c.ll 72457371 openusd/aom_convolve.c.ll 307630305 openusd/aom_decoder.c.ll 63394284 @@ -27158,7 +27158,7 @@ openusd/assetLocalization.cpp.ll 3033130262 openusd/assetLocalizationDelegate.cpp.ll 4239255963 openusd/assetLocalizationPackage.cpp.ll 1273827422 openusd/assetPath.cpp.ll 273674640 -openusd/assetPathResolver.cpp.ll 1110498358 +openusd/assetPathResolver.cpp.ll 1109300382 openusd/assetPreviewsAPI.cpp.ll 1137367290 openusd/assumptions.cpp.ll 42138480 openusd/atomicOfstreamWrapper.cpp.ll 63428118 @@ -27166,7 +27166,7 @@ openusd/atomicRenameUtil.cpp.ll 78279132 openusd/attachmentDesc.cpp.ll 66590967 openusd/attribute.cpp.ll 2055697413 openusd/attributeQuery.cpp.ll 2239637707 -openusd/attributeSpec.cpp.ll 1155048279 +openusd/attributeSpec.cpp.ll 1153794172 openusd/authoring.cpp.ll 4159867542 openusd/av1_dx_iface.c.ll 599591416 openusd/av1_inv_txfm1d.c.ll 3859408328 @@ -27205,7 +27205,7 @@ openusd/blitCmds.cpp.ll 35390458 openusd/blockd.c.ll 104838592 openusd/boundable.cpp.ll 1111368686 openusd/boundableComputeExtent.cpp.ll 1105212060 -openusd/boundableLightBase.cpp.ll 347334837 +openusd/boundableLightBase.cpp.ll 346981301 openusd/bprim.cpp.ll 90465630 openusd/buffer.cpp.ll 49410891 openusd/bufferArray.cpp.ll 468299761 @@ -27238,7 +27238,7 @@ openusd/changes.cpp.ll 9237520557 openusd/children.cpp.ll 1667503470 openusd/childrenUtils.cpp.ll 13727915464 openusd/cleanupEnabler.cpp.ll 176680532 -openusd/cleanupTracker.cpp.ll 287025345 +openusd/cleanupTracker.cpp.ll 286713835 openusd/clip.cpp.ll 10356157838 openusd/clipCache.cpp.ll 2871031702 openusd/clipSet.cpp.ll 3870170265 @@ -27251,7 +27251,7 @@ openusd/collection.cpp.ll 658296211 openusd/collectionAPI.cpp.ll 4175709872 openusd/collectionAPIAdapter.cpp.ll 2705252859 openusd/collectionCache.cpp.ll 3411005951 -openusd/collectionExpressionEvaluator.cpp.ll 1554710170 +openusd/collectionExpressionEvaluator.cpp.ll 1552898830 openusd/collectionMaterialBindingSchema.cpp.ll 532934752 openusd/collectionMaterialBindingsSchema.cpp.ll 357160765 openusd/collectionMembershipQuery.cpp.ll 5732235286 @@ -27259,7 +27259,7 @@ openusd/collectionNotice.cpp.ll 74546518 openusd/collectionPredicateLibrary.cpp.ll 3351538177 openusd/collectionSchema.cpp.ll 408053078 openusd/collectionsSchema.cpp.ll 333641073 -openusd/collector.cpp.ll 1111514379 +openusd/collector.cpp.ll 1110332463 openusd/collisionAPI.cpp.ll 799602422 openusd/collisionGroup.cpp.ll 2670950980 openusd/color.cpp.ll 181332644 @@ -27286,7 +27286,7 @@ openusd/containerSchema.cpp.ll 69417153 openusd/convolve.c.ll 1570922311 openusd/coordSys.cpp.ll 392782834 openusd/coordSysAPI.cpp.ll 2365292834 -openusd/coordSysAPIAdapter.cpp.ll 521998695 +openusd/coordSysAPIAdapter.cpp.ll 521447777 openusd/coordSysAdapter.cpp.ll 692230469 openusd/coordSysBindingSchema.cpp.ll 330145311 openusd/coordSysPrimSceneIndex.cpp.ll 3436040206 @@ -27294,7 +27294,7 @@ openusd/coordSysSchema.cpp.ll 407824496 openusd/copyUtils.cpp.ll 7475619166 openusd/coreValidators.cpp.ll 605057369 openusd/counterAccumulator.cpp.ll 866376970 -openusd/cpuEvaluator.cpp.ll 1130956216 +openusd/cpuEvaluator.cpp.ll 1134266195 openusd/cpuKernel.cpp.ll 246926499 openusd/cpuPatchTable.cpp.ll 923618682 openusd/cpuVertexBuffer.cpp.ll 44842757 @@ -27314,10 +27314,10 @@ openusd/cylinderMeshGenerator.cpp.ll 268030359 openusd/cylinderSchema.cpp.ll 811895281 openusd/cylinder_1.cpp.ll 1191963473 openusd/daemon.cpp.ll 59357951 -openusd/data.cpp.ll 1051550985 +openusd/data.cpp.ll 1050389234 openusd/dataBuffer.cpp.ll 153063527 openusd/dataSource.cpp.ll 876458803 -openusd/dataSourceAttribute.cpp.ll 10327083156 +openusd/dataSourceAttribute.cpp.ll 10314686074 openusd/dataSourceAttributeColorSpace.cpp.ll 262573315 openusd/dataSourceBasisCurves.cpp.ll 1890213416 openusd/dataSourceCamera.cpp.ll 1522711350 @@ -27360,7 +27360,7 @@ openusd/defineResolver.cpp.ll 33957600 openusd/delegate.cpp.ll 19508195446 openusd/delegatedCountPtr.cpp.ll 252820908 openusd/demangle.cpp.ll 117967896 -openusd/denoisePass.cpp.ll 298751836 +openusd/denoisePass.cpp.ll 298409591 openusd/dependencies.cpp.ll 4038501375 openusd/dependenciesSchema.cpp.ll 512234707 openusd/dependency.cpp.ll 190930105 @@ -27381,7 +27381,7 @@ openusd/dirtyBitsTranslator.cpp.ll 1204376033 openusd/dirtyList.cpp.ll 1622360134 openusd/discoveryPlugin.cpp.ll 1250848176 openusd/diskLight.cpp.ll 859253959 -openusd/diskLightAdapter.cpp.ll 349042091 +openusd/diskLightAdapter.cpp.ll 348650059 openusd/dispatcher.cpp.ll 700001297 openusd/displayFilterSchema.cpp.ll 415395376 openusd/distanceJoint.cpp.ll 823967873 @@ -27423,7 +27423,7 @@ openusd/errorTransport.cpp.ll 40461978 openusd/errors.cpp.ll 1571954856 openusd/evalCache.cpp.ll 556016535 openusd/evalUtils.cpp.ll 1663101064 -openusd/event.cpp.ll 147342661 +openusd/event.cpp.ll 147173139 openusd/eventContainer.cpp.ll 95651004 openusd/eventData.cpp.ll 149175354 openusd/eventList.cpp.ll 278553827 @@ -27467,7 +27467,7 @@ openusd/fileIO.cpp.ll 4551541617 openusd/fileIO_Common.cpp.ll 2666281070 openusd/fileSystem.cpp.ll 449689061 openusd/fileUtils.cpp.ll 1009952971 -openusd/filesystemAsset.cpp.ll 274373647 +openusd/filesystemAsset.cpp.ll 274020144 openusd/filesystemDiscovery.cpp.ll 448211241 openusd/filesystemDiscoveryHelpers.cpp.ll 1126666042 openusd/filesystemWritableAsset.cpp.ll 123728297 @@ -27521,17 +27521,17 @@ openusd/grain_synthesis.c.ll 1332831701 openusd/graphicsCmds.cpp.ll 35414672 openusd/graphicsCmdsDesc.cpp.ll 116906495 openusd/graphicsPipeline.cpp.ll 489569997 -openusd/half.cpp.ll 45669380 +openusd/half.cpp.ll 45622350 openusd/hash.cpp.ll 40217365 -openusd/hermiteCurves.cpp.ll 1066316163 +openusd/hermiteCurves.cpp.ll 1065188910 openusd/hermiteCurvesAdapter.cpp.ll 983370137 openusd/hgi.cpp.ll 295330970 -openusd/homogeneous.cpp.ll 74443724 +openusd/homogeneous.cpp.ll 74367294 openusd/idct.c.ll 154622090 openusd/identity.cpp.ll 861363229 openusd/ilmbase_half.cpp.ll 1536235985 openusd/image.cpp.ll 96674300 -openusd/imageRegistry.cpp.ll 958516675 +openusd/imageRegistry.cpp.ll 957491356 openusd/imageShader.cpp.ll 956375967 openusd/imageShaderSchema.cpp.ll 742251555 openusd/imageable.cpp.ll 2572208242 @@ -27551,7 +27551,7 @@ openusd/instanceCategoriesSchema.cpp.ll 408023219 openusd/instanceIndicesSchema.cpp.ll 483577046 openusd/instanceKey.cpp.ll 986893852 openusd/instanceSchema.cpp.ll 531816981 -openusd/instanceablePrimAdapter.cpp.ll 171736040 +openusd/instanceablePrimAdapter.cpp.ll 171549459 openusd/instancedBySchema.cpp.ll 451315363 openusd/instancer.cpp.ll 329840078 openusd/instancerTopologySchema.cpp.ll 868870511 @@ -27589,7 +27589,7 @@ openusd/legacyPrimSceneIndex.cpp.ll 575971612 openusd/lensDistortionSchema.cpp.ll 962642277 openusd/level.cpp.ll 2548894018 openusd/library.cpp.ll 56575392 -openusd/light.cpp.ll 471393048 +openusd/light.cpp.ll 470915845 openusd/lightAPI.cpp.ll 1158347420 openusd/lightAPIAdapter.cpp.ll 1377471619 openusd/lightAdapter.cpp.ll 3432316855 @@ -27606,13 +27606,13 @@ openusd/lineSeg.cpp.ll 91754898 openusd/lineSeg2d.cpp.ll 78656164 openusd/listAPI.cpp.ll 1508666780 openusd/listOp.cpp.ll 24161638087 -openusd/localizeAsset.cpp.ll 608724285 +openusd/localizeAsset.cpp.ll 607906878 openusd/loopParams.cpp.ll 74323287 openusd/loopPatchBuilder.cpp.ll 2609955885 openusd/loopfilter.c.ll 949992638 openusd/lz4.cpp.ll 5288132518 openusd/main.cpp.ll 34019617 -openusd/mallocHook.cpp.ll 59501948 +openusd/mallocHook.cpp.ll 59435559 openusd/mallocTag.cpp.ll 12257815881 openusd/mapContainerDataSource.cpp.ll 117293836 openusd/mapEditor.cpp.ll 2142292560 @@ -27692,13 +27692,13 @@ openusd/nurbsPatchTrimCurveSchema.cpp.ll 735403655 openusd/object.cpp.ll 904705560 openusd/obu.c.ll 590473027 openusd/obu_util.c.ll 58993369 -openusd/ompEvaluator.cpp.ll 1181860849 +openusd/ompEvaluator.cpp.ll 1187734336 openusd/ompKernel.cpp.ll 216733801 openusd/opaqueValue.cpp.ll 50419754 openusd/openVDBAsset.cpp.ll 748708200 -openusd/openexr-c.c.ll 18414291173 +openusd/openexr-c.c.ll 18436818081 openusd/openvdbAssetAdapter.cpp.ll 924043344 -openusd/output.cpp.ll 1214102578 +openusd/output.cpp.ll 1212736722 openusd/overlayContainerDataSource.cpp.ll 1122207362 openusd/package.cpp.ll 101876166 openusd/packageResolver.cpp.ll 48446844 @@ -27708,7 +27708,7 @@ openusd/parserHelpers.cpp.ll 15771390723 openusd/parserPlugin.cpp.ll 2654760523 openusd/parserValueContext.cpp.ll 902789695 openusd/pass.cpp.ll 852456393 -openusd/patchBasis.cpp.ll 1383551027 +openusd/patchBasis.cpp.ll 1390473030 openusd/patchBuilder.cpp.ll 1081306640 openusd/patchDescriptor.cpp.ll 43193787 openusd/patchMap.cpp.ll 469712558 @@ -27735,7 +27735,7 @@ openusd/pinnedCurveExpandingSceneIndex.cpp.ll 23676653248 openusd/pipeline.cpp.ll 3457822041 openusd/planar_functions.c.ll 53758359 openusd/plane.cpp.ll 182684059 -openusd/planeAdapter.cpp.ll 1210632829 +openusd/planeAdapter.cpp.ll 1209067842 openusd/plugin.cpp.ll 2479425498 openusd/pluginBase.cpp.ll 47497871 openusd/pluginEntry.cpp.ll 150225907 @@ -27783,8 +27783,8 @@ openusd/primvarSchema.cpp.ll 10628617817 openusd/primvarUtils.cpp.ll 556696414 openusd/primvarsAPI.cpp.ll 1778167008 openusd/primvarsSchema.cpp.ll 364256019 -openusd/prismaticJoint.cpp.ll 840238448 -openusd/probe.cpp.ll 316412081 +openusd/prismaticJoint.cpp.ll 839250732 +openusd/probe.cpp.ll 316008276 openusd/product.cpp.ll 772809668 openusd/property.cpp.ll 271343481 openusd/propertyIndex.cpp.ll 1646414311 @@ -27818,10 +27818,10 @@ openusd/reconinter.c.ll 1297544491 openusd/reconintra.c.ll 1713832222 openusd/rect2i.cpp.ll 60145603 openusd/rectLight.cpp.ll 903503297 -openusd/rectLightAdapter.cpp.ll 349094041 +openusd/rectLightAdapter.cpp.ll 348647843 openusd/refBase.cpp.ll 43478786 openusd/refPtr.cpp.ll 91672253 -openusd/refPtrTracker.cpp.ll 953521576 +openusd/refPtrTracker.cpp.ll 952536719 openusd/reference.cpp.ll 283007007 openusd/references.cpp.ll 1009377844 openusd/refinement.cpp.ll 1778683719 @@ -27831,7 +27831,7 @@ openusd/reformat.c.ll 1100666827 openusd/reformat_libsharpyuv.c.ll 32277542 openusd/reformat_libyuv.c.ll 35863779 openusd/regTest.cpp.ll 892173347 -openusd/regex.cpp.ll 243215773 +openusd/regex.cpp.ll 242954443 openusd/registeredVariantSet.cpp.ll 261477235 openusd/registry.cpp.ll 1734341516 openusd/registryManager.cpp.ll 2453317398 @@ -27848,8 +27848,8 @@ openusd/renderPass.cpp.ll 399106207 openusd/renderPassAPI.cpp.ll 615704633 openusd/renderPassAdapter.cpp.ll 484470803 openusd/renderPassSchema.cpp.ll 502077933 -openusd/renderPassState.cpp.ll 774868332 -openusd/renderProductAdapter.cpp.ll 486695047 +openusd/renderPassState.cpp.ll 774082088 +openusd/renderProductAdapter.cpp.ll 486132929 openusd/renderProductSchema.cpp.ll 1243970655 openusd/renderSettings.cpp.ll 959784515 openusd/renderSettingsAdapter.cpp.ll 2742772533 @@ -27900,7 +27900,7 @@ openusd/samplingUtils.cpp.ll 657269505 openusd/scale_any.c.ll 62271071 openusd/scale_common.c.ll 303834909 openusd/scene.cpp.ll 821570445 -openusd/sceneDelegate.cpp.ll 474842787 +openusd/sceneDelegate.cpp.ll 474317450 openusd/sceneGlobalsSceneIndex.cpp.ll 1121240594 openusd/sceneGlobalsSchema.cpp.ll 656110274 openusd/sceneGraphPrimAPI.cpp.ll 690388418 @@ -27913,9 +27913,9 @@ openusd/sceneIndexPrimView.cpp.ll 505845271 openusd/sceneIndexUtil.cpp.ll 1048712352 openusd/sceneIndices.cpp.ll 1081178494 openusd/schema.cpp.ll 45789683 -openusd/schemaBase.cpp.ll 433353503 +openusd/schemaBase.cpp.ll 432907052 openusd/schemaRegistry.cpp.ll 8188587093 -openusd/scope.cpp.ll 299130145 +openusd/scope.cpp.ll 298784264 openusd/scopeDescription.cpp.ll 1424832876 openusd/screenWindowParameters.cpp.ll 51896067 openusd/sdfdump.cpp.ll 12741262050 @@ -27970,7 +27970,7 @@ openusd/sphereSchema.cpp.ll 407717860 openusd/sphericalJoint.cpp.ll 839717918 openusd/spinMutex.cpp.ll 47172006 openusd/spinRWMutex.cpp.ll 57841999 -openusd/spline.cpp.ll 1973827445 +openusd/spline.cpp.ll 1971291641 openusd/splineAPI.cpp.ll 629382358 openusd/spline_KeyFrames.cpp.ll 1518844438 openusd/splitDiopterSchema.cpp.ll 726342486 @@ -27982,7 +27982,7 @@ openusd/stageLoadRules.cpp.ll 1380655440 openusd/stagePopulationMask.cpp.ll 951340136 openusd/stageSceneIndex.cpp.ll 5666034648 openusd/statementsAPI.cpp.ll 1705007355 -openusd/staticData.cpp.ll 417703943 +openusd/staticData.cpp.ll 417225460 openusd/staticInterface.cpp.ll 165191556 openusd/staticKeyData.cpp.ll 80431531 openusd/staticTokens.cpp.ll 423021801 @@ -27997,11 +27997,11 @@ openusd/stl.cpp.ll 175301916 openusd/stopwatch.cpp.ll 34432444 openusd/stream.c.ll 444589041 openusd/streamOut.cpp.ll 78805091 -openusd/strengthOrdering.cpp.ll 415188076 +openusd/strengthOrdering.cpp.ll 414701805 openusd/string-to-double.cc.ll 1337362115 openusd/stringUtils.cpp.ll 1081281773 openusd/strtod.cc.ll 408593488 -openusd/subLayerListEditor.cpp.ll 1427707807 +openusd/subLayerListEditor.cpp.ll 1426051569 openusd/subdivTags.cpp.ll 156287066 openusd/subdivisionTagsSchema.cpp.ll 769534620 openusd/subset.cpp.ll 4032008695 @@ -28016,10 +28016,10 @@ openusd/systemSchema.cpp.ll 507296092 openusd/targetIndex.cpp.ll 1746373679 openusd/task.cpp.ll 227368142 openusd/tbbEvaluator.cpp.ll 70722593 -openusd/tbbKernel.cpp.ll 1826101414 +openusd/tbbKernel.cpp.ll 1828645675 openusd/templateString.cpp.ll 727956915 openusd/tessellation.cpp.ll 2042748655 -openusd/testArDefaultResolver.cpp.ll 260113419 +openusd/testArDefaultResolver.cpp.ll 259823751 openusd/testArNotice.cpp.ll 704290602 openusd/testArResolverContext.cpp.ll 1220938058 openusd/testArThreadedAssetCreation.cpp.ll 383818960 @@ -28036,10 +28036,10 @@ openusd/testFileSystem.cpp.ll 280058024 openusd/testFunction.cpp.ll 137964397 openusd/testGfColor.cpp.ll 1128954037 openusd/testGfHardToReach.cpp.ll 446134361 -openusd/testHdBufferSourceEmptyVal.cpp.ll 178252588 +openusd/testHdBufferSourceEmptyVal.cpp.ll 178040900 openusd/testHdBufferSpec.cpp.ll 436925687 openusd/testHdCollectionExpressionEvaluator.cpp.ll 6739776151 -openusd/testHdCommand.cpp.ll 372102735 +openusd/testHdCommand.cpp.ll 371611124 openusd/testHdDataSource.cpp.ll 3467629817 openusd/testHdDataSourceLocator.cpp.ll 7985424622 openusd/testHdDirtyBitsTranslator.cpp.ll 488737275 @@ -28101,7 +28101,7 @@ openusd/testUsdAttributeInterpolationCpp.cpp.ll 11818310713 openusd/testUsdCreateAttributeCpp.cpp.ll 2019046125 openusd/testUsdGeomCreateAttribute.cpp.ll 604730368 openusd/testUsdGeomHasAPI.cpp.ll 238471810 -openusd/testUsdGeomIsA.cpp.ll 908466523 +openusd/testUsdGeomIsA.cpp.ll 907410113 openusd/testUsdGeomXformCache.cpp.ll 1396073367 openusd/testUsdHardToReach.cpp.ll 1631361885 openusd/testUsdImagingDataSourceAttribute.cpp.ll 1804897225 @@ -28203,7 +28203,7 @@ openusd/usdPrimInfoSchema.cpp.ll 892572887 openusd/usdRenderProductSchema.cpp.ll 1096631639 openusd/usdRenderSettingsSchema.cpp.ll 1212456508 openusd/usdRenderVarSchema.cpp.ll 606743018 -openusd/usdaFileFormat.cpp.ll 278126421 +openusd/usdaFileFormat.cpp.ll 277802821 openusd/usdcFileFormat.cpp.ll 519778679 openusd/usdcat.cpp.ll 9585130792 openusd/usdtree.cpp.ll 10403327863 @@ -28229,13 +28229,13 @@ openusd/variantSetSpec.cpp.ll 528778122 openusd/variantSets.cpp.ll 1424123605 openusd/variantSpec.cpp.ll 762095848 openusd/vec2d.cpp.ll 60174683 -openusd/vec2f.cpp.ll 60183943 +openusd/vec2f.cpp.ll 60102935 openusd/vec2h.cpp.ll 60796125 openusd/vec2i.cpp.ll 59271901 openusd/vec3d.cpp.ll 184939706 openusd/vec3f.cpp.ll 199393928 openusd/vec3h.cpp.ll 475065152 -openusd/vec3i.cpp.ll 62500582 +openusd/vec3i.cpp.ll 62429757 openusd/vec4d.cpp.ll 66864651 openusd/vec4f.cpp.ll 66693131 openusd/vec4h.cpp.ll 68639292 @@ -28247,7 +28247,7 @@ openusd/vertexDescriptor.cpp.ll 94816631 openusd/virtualMemory.cpp.ll 47808036 openusd/visibilityAPI.cpp.ll 1077895984 openusd/visibilitySchema.cpp.ll 399748230 -openusd/volume.cpp.ll 78906880 +openusd/volume.cpp.ll 78826019 openusd/volumeAdapter.cpp.ll 812940808 openusd/volumeFieldBindingSchema.cpp.ll 330263106 openusd/volumeFieldSchema.cpp.ll 653254325 @@ -28258,7 +28258,7 @@ openusd/warped_motion.c.ll 879488119 openusd/weakBase.cpp.ll 104387889 openusd/writableAsset.cpp.ll 34671413 openusd/write.c.ll 1111637201 -openusd/xform.cpp.ll 299945211 +openusd/xform.cpp.ll 299595958 openusd/xformCache.cpp.ll 1115618379 openusd/xformCommonAPI.cpp.ll 2501075498 openusd/xformOp.cpp.ll 1682764904 @@ -28289,7 +28289,7 @@ openvdb/LevelSetFilter.cc.ll 11868168777 openvdb/LevelSetFracture.cc.ll 59728900375 openvdb/LevelSetMeasure.cc.ll 8400819988 openvdb/LevelSetMorph.cc.ll 71306024296 -openvdb/LevelSetPlatonic.cc.ll 3923315873 +openvdb/LevelSetPlatonic.cc.ll 3928496497 openvdb/LevelSetRebuild.cc.ll 77625424889 openvdb/LevelSetSphere.cc.ll 39954929491 openvdb/LevelSetTracker.cc.ll 43446839109 @@ -28353,7 +28353,7 @@ ozz-animation/ik_two_bone_job.cc.ll 286651151 ozz-animation/import2ozz.cc.ll 259700917 ozz-animation/import2ozz_anim.cc.ll 1678481685 ozz-animation/import2ozz_config.cc.ll 630472614 -ozz-animation/import2ozz_skel.cc.ll 261350752 +ozz-animation/import2ozz_skel.cc.ll 261038452 ozz-animation/import2ozz_track.cc.ll 1690412053 ozz-animation/jsoncpp.cpp.ll 4963374297 ozz-animation/local_to_model_job.cc.ll 134518079 @@ -28364,7 +28364,7 @@ ozz-animation/platform.cc.ll 40058156 ozz-animation/raw_animation.cc.ll 122678173 ozz-animation/raw_animation_archive.cc.ll 894249300 ozz-animation/raw_animation_utils.cc.ll 679813896 -ozz-animation/raw_skeleton.cc.ll 90474167 +ozz-animation/raw_skeleton.cc.ll 90379404 ozz-animation/raw_skeleton_archive.cc.ll 273032225 ozz-animation/raw_track.cc.ll 902644050 ozz-animation/sampling_job.cc.ll 693326178 @@ -28390,7 +28390,7 @@ pbrt-v4/camera.cpp.ll 2559570552 pbrt-v4/cameras.cpp.ll 4279842126 pbrt-v4/check.cpp.ll 297632437 pbrt-v4/color.cpp.ll 696030437 -pbrt-v4/colorspace.cpp.ll 730690439 +pbrt-v4/colorspace.cpp.ll 729935654 pbrt-v4/display.cpp.ll 1916491709 pbrt-v4/error.cpp.ll 257861768 pbrt-v4/file.cpp.ll 1789881395 @@ -28417,13 +28417,13 @@ pbrt-v4/options.cpp.ll 728016388 pbrt-v4/parallel.cpp.ll 964097976 pbrt-v4/paramdict.cpp.ll 2967810419 pbrt-v4/parser.cpp.ll 5227659856 -pbrt-v4/pbrt.cpp.ll 194354486 +pbrt-v4/pbrt.cpp.ll 194153570 pbrt-v4/plytool.cpp.ll 2789760510 pbrt-v4/primitive.cpp.ll 2135925274 pbrt-v4/progressreporter.cpp.ll 415443488 pbrt-v4/pspec.cpp.ll 3357028645 pbrt-v4/pstd.cpp.ll 93025484 -pbrt-v4/render.cpp.ll 1101972444 +pbrt-v4/render.cpp.ll 1100605035 pbrt-v4/rgb2spec_opt.cpp.ll 847733677 pbrt-v4/samplers.cpp.ll 2177491777 pbrt-v4/samples.cpp.ll 2466918447 @@ -28457,7 +28457,7 @@ php/ZendAccelerator.ll 2504415805 php/active_formatting.ll 94038981 php/apprentice.ll 4847049154 php/array.ll 5303575797 -php/array_obj.ll 81569502 +php/array_obj.ll 81486314 php/ascmagic.ll 222335314 php/assert.ll 270063061 php/astro.ll 63608669 @@ -28519,12 +28519,12 @@ php/exec.ll 349381601 php/fastcgi.ll 737720274 php/file.ll 1594842820 php/fileinfo.ll 162378300 -php/filestat.ll 627126489 +php/filestat.ll 651477206 php/filter.ll 309230856 -php/filters.ll 964676098 +php/filters.ll 965710137 php/fopen_wrappers.ll 682587516 php/foreign_content.ll 138736834 -php/formatted_print.ll 769025989 +php/formatted_print.ll 769923443 php/fsmagic.ll 79109389 php/fsock.ll 92860611 php/ftok.ll 56091224 @@ -28549,8 +28549,8 @@ php/hash_whirlpool.ll 287440298 php/hash_xxhash.ll 1334551347 php/head.ll 404377192 php/hrtime.ll 47568472 -php/html.ll 2029715546 -php/html5_parser.ll 164054655 +php/html.ll 2032082396 +php/html5_parser.ll 163887128 php/html5_serializer.ll 277006843 php/html_document.ll 470352321 php/http.ll 452800977 @@ -28773,7 +28773,7 @@ php/zend_accelerator_hash.ll 94256788 php/zend_accelerator_module.ll 400968924 php/zend_accelerator_util_funcs.ll 475810298 php/zend_alloc.ll 1650710859 -php/zend_ast.ll 2732165464 +php/zend_ast.ll 2735350817 php/zend_attributes.ll 514736250 php/zend_builtin_functions.ll 1488501395 php/zend_call_graph.ll 352562578 @@ -28811,7 +28811,7 @@ php/zend_language_parser.ll 918122026 php/zend_language_scanner.ll 7258807320 php/zend_list.ll 132986271 php/zend_llist.ll 237491765 -php/zend_multibyte.ll 69346993 +php/zend_multibyte.ll 69272430 php/zend_object_handlers.ll 1191260199 php/zend_objects.ll 168978640 php/zend_objects_API.ll 121456465 @@ -29004,7 +29004,7 @@ postgres/cryptohashfuncs.ll 72544977 postgres/d2s.ll 521925058 postgres/d2s_shlib.ll 521500499 postgres/d2s_srv.ll 521630164 -postgres/data.ll 319513759 +postgres/data.ll 319037723 postgres/date.ll 798536947 postgres/datetime.ll 178688588 postgres/datum.ll 101310299 @@ -29155,7 +29155,7 @@ postgres/gistvalidate.ll 122395183 postgres/gistxlog.ll 240933728 postgres/gram.ll 5136883992 postgres/guc-file.ll 557027936 -postgres/guc.ll 1690654617 +postgres/guc.ll 1692940027 postgres/guc_funcs.ll 250764061 postgres/hash.ll 212156598 postgres/hash_xlog.ll 355108650 @@ -29170,7 +29170,7 @@ postgres/hashsearch.ll 212204843 postgres/hashutil.ll 155675684 postgres/hashvalidate.ll 141191827 postgres/hba.ll 1265459814 -postgres/hbafuncs.ll 319701003 +postgres/hbafuncs.ll 319370256 postgres/heap.ll 772488081 postgres/heapam.ll 2736508841 postgres/heapam_handler.ll 525178898 @@ -29186,7 +29186,7 @@ postgres/hmac_shlib.ll 76933443 postgres/hmac_srv.ll 73601315 postgres/hyperloglog.ll 72499491 postgres/ifaddr.ll 96975105 -postgres/index.ll 739530919 +postgres/index.ll 740464560 postgres/indexam.ll 183304054 postgres/indexcmds.ll 1012726692 postgres/indextuple.ll 220276572 @@ -29194,7 +29194,7 @@ postgres/indxpath.ll 1180585502 postgres/inet_cidr_ntop.ll 191201956 postgres/inet_net_ntop.ll 180805180 postgres/inet_net_ntop_shlib.ll 180718197 -postgres/inet_net_ntop_srv.ll 180815500 +postgres/inet_net_ntop_srv.ll 180630577 postgres/inet_net_pton.ll 296109870 postgres/info.ll 261782116 postgres/informix.ll 264152825 @@ -29227,7 +29227,7 @@ postgres/jsonb.ll 531171833 postgres/jsonb_gin.ll 307953580 postgres/jsonb_util.ll 528329198 postgres/jsonfuncs.ll 1301449296 -postgres/jsonpath.ll 248669616 +postgres/jsonpath.ll 249096793 postgres/jsonpath_exec.ll 964333061 postgres/jsonpath_gram.ll 348896033 postgres/jsonpath_scan.ll 834036619 @@ -29334,8 +29334,8 @@ postgres/nodeValuesscan.ll 80667291 postgres/nodeWindowAgg.ll 1048573116 postgres/numeric.ll 616165981 postgres/numutils.ll 365286623 -postgres/objectaddress.ll 1031736541 -postgres/oid.ll 126417921 +postgres/objectaddress.ll 1034275782 +postgres/oid.ll 126283021 postgres/opclasscmds.ll 424900858 postgres/operatorcmds.ll 190115817 postgres/option.ll 122597389 @@ -29418,7 +29418,7 @@ postgres/pg_enum.ll 194087075 postgres/pg_inherits.ll 204391162 postgres/pg_isready.ll 104206699 postgres/pg_locale.ll 387904639 -postgres/pg_lsn.ll 94062491 +postgres/pg_lsn.ll 93945767 postgres/pg_lzcompress.ll 224382635 postgres/pg_lzcompress_shlib.ll 224209088 postgres/pg_lzcompress_srv.ll 223996952 @@ -29675,7 +29675,7 @@ postgres/stem_UTF_8_romanian.ll 193017847 postgres/stem_UTF_8_serbian.ll 667108490 postgres/stem_UTF_8_spanish.ll 250349802 postgres/stem_UTF_8_swedish.ll 91554321 -postgres/stem_UTF_8_tamil.ll 428380538 +postgres/stem_UTF_8_tamil.ll 427951639 postgres/stem_UTF_8_turkish.ll 642643145 postgres/stem_UTF_8_yiddish.ll 266329626 postgres/storage.ll 210669215 @@ -29695,7 +29695,7 @@ postgres/strlcat_srv.ll 46041943 postgres/strlcpy.ll 41741790 postgres/strlcpy_shlib.ll 41728680 postgres/strlcpy_srv.ll 41784534 -postgres/subscriptioncmds.ll 683871518 +postgres/subscriptioncmds.ll 688299688 postgres/subselect.ll 687408477 postgres/subtrans.ll 86168982 postgres/superuser.ll 45324386 @@ -29724,7 +29724,7 @@ postgres/tlist.ll 507830811 postgres/to_tsany.ll 243006077 postgres/toast_compression.ll 66343297 postgres/toast_helper.ll 142612387 -postgres/toast_internals.ll 149047398 +postgres/toast_internals.ll 148893300 postgres/toasting.ll 81240255 postgres/transam.ll 77315372 postgres/trigger.ll 1640285073 @@ -29751,7 +29751,7 @@ postgres/tuplesort.ll 1326412928 postgres/tuplesortvariants.ll 428594035 postgres/tuplestore.ll 266399223 postgres/twophase.ll 531072553 -postgres/typcache.ll 656919736 +postgres/typcache.ll 662802207 postgres/type.ll 267442748 postgres/typecmds.ll 852849360 postgres/typename.ll 44210842 @@ -29792,7 +29792,7 @@ postgres/walreceiver.ll 407987784 postgres/walreceiverfuncs.ll 92562628 postgres/walsender.ll 919714474 postgres/walsummarizer.ll 292086181 -postgres/walsummary.ll 156999638 +postgres/walsummary.ll 156836038 postgres/walsummaryfuncs.ll 81923941 postgres/walwriter.ll 48212713 postgres/wchar.ll 652630022 @@ -29851,7 +29851,7 @@ proj/coordinates.cpp.ll 405622233 proj/coordinatesystem.cpp.ll 2501651680 proj/crs.cpp.ll 13961074181 proj/cs2cs.cpp.ll 857225643 -proj/ctx.cpp.ll 298124678 +proj/ctx.cpp.ll 297778937 proj/datum.cpp.ll 2524820977 proj/datum_set.cpp.ll 68403892 proj/defmodel.cpp.ll 5259247009 @@ -29893,7 +29893,7 @@ proj/hammer.cpp.ll 55645327 proj/hatano.cpp.ll 51949657 proj/healpix.cpp.ll 285058038 proj/helmert.cpp.ll 193107820 -proj/hgridshift.cpp.ll 316068233 +proj/hgridshift.cpp.ll 315678684 proj/horner.cpp.ll 305557195 proj/igh.cpp.ll 128137339 proj/igh_o.cpp.ll 127721768 @@ -29969,7 +29969,7 @@ proj/sconics.cpp.ll 105103519 proj/singleoperation.cpp.ll 6886389070 proj/som.cpp.ll 158991679 proj/somerc.cpp.ll 64600547 -proj/sqlite3_utils.cpp.ll 110062443 +proj/sqlite3_utils.cpp.ll 109931887 proj/static.cpp.ll 951599723 proj/stere.cpp.ll 120219757 proj/sterea.cpp.ll 60847707 @@ -30018,14 +30018,14 @@ protobuf/csharp_doc_comment.cc.ll 1270807589 protobuf/csharp_enum.cc.ll 1303519972 protobuf/csharp_enum_field.cc.ll 890966174 protobuf/csharp_field_base.cc.ll 2370342198 -protobuf/csharp_generator.cc.ll 294035074 +protobuf/csharp_generator.cc.ll 293608802 protobuf/csharp_helpers.cc.ll 761188706 protobuf/csharp_map_field.cc.ll 1137065240 protobuf/csharp_message.cc.ll 3134814955 protobuf/csharp_message_field.cc.ll 1265650970 protobuf/csharp_primitive_field.cc.ll 1492512326 protobuf/csharp_reflection_class.cc.ll 1284255591 -protobuf/csharp_repeated_enum_field.cc.ll 536799114 +protobuf/csharp_repeated_enum_field.cc.ll 536239134 protobuf/csharp_repeated_message_field.cc.ll 1118581648 protobuf/csharp_repeated_primitive_field.cc.ll 536541773 protobuf/csharp_source_generator_base.cc.ll 711871697 @@ -30048,7 +30048,7 @@ protobuf/extension_lite.cc.ll 1047633281 protobuf/extension_set.cc.ll 5081735367 protobuf/extension_set_heavy.cc.ll 987088859 protobuf/feature_resolver.cc.ll 1903319728 -protobuf/field.cc.ll 2321823945 +protobuf/field.cc.ll 2319310581 protobuf/field_comparator.cc.ll 671595599 protobuf/field_mask.pb.cc.ll 205724718 protobuf/field_mask_util.cc.ll 2919508500 @@ -30058,7 +30058,7 @@ protobuf/generated_message_bases.cc.ll 92220225 protobuf/generated_message_reflection.cc.ll 8181957291 protobuf/generated_message_tctable_gen.cc.ll 2676420719 protobuf/generated_message_tctable_lite.cc.ll 8596388189 -protobuf/generated_message_util.cc.ll 159675665 +protobuf/generated_message_util.cc.ll 159511564 protobuf/generator.cc.ll 2676745947 protobuf/generator_factory.cc.ll 53867321 protobuf/gzip_stream.cc.ll 140014804 @@ -30122,10 +30122,10 @@ protobuf/timestamp.pb.cc.ll 151359113 protobuf/tokenizer.cc.ll 1033231885 protobuf/tracker.cc.ll 1173475427 protobuf/type.pb.cc.ll 1001711540 -protobuf/type_resolver_util.cc.ll 578956106 +protobuf/type_resolver_util.cc.ll 578247286 protobuf/unknown_field_set.cc.ll 702613112 protobuf/unparser.cc.ll 6226425103 -protobuf/unsupported_field.cc.ll 163668409 +protobuf/unsupported_field.cc.ll 163501107 protobuf/untyped_message.cc.ll 4703415900 protobuf/versions.cc.ll 451726243 protobuf/wire_format.cc.ll 3813460566 @@ -30146,10 +30146,10 @@ proxy/proxy_reflection_tests.cpp.ll 496133599 proxygen/AsyncTimeoutSet.cpp.ll 242993273 proxygen/ByteEventTracker.cpp.ll 315568125 proxygen/ByteEvents.cpp.ll 158868424 -proxygen/CodecErrorResponseHandler.cpp.ll 95906597 -proxygen/CodecProtocol.cpp.ll 456570444 +proxygen/CodecErrorResponseHandler.cpp.ll 95782193 +proxygen/CodecProtocol.cpp.ll 456111010 proxygen/CodecUtil.cpp.ll 389546097 -proxygen/DefaultHTTPCodecFactory.cpp.ll 149154157 +proxygen/DefaultHTTPCodecFactory.cpp.ll 148983929 proxygen/Exception.cpp.ll 64768923 proxygen/FileServerListGenerator.cpp.ll 721812205 proxygen/FlowControlFilter.cpp.ll 520616675 @@ -30158,46 +30158,46 @@ proxygen/HPACKContext.cpp.ll 305575991 proxygen/HPACKDecodeBuffer.cpp.ll 624390347 proxygen/HPACKDecoder.cpp.ll 237504703 proxygen/HPACKDecoderBase.cpp.ll 335086840 -proxygen/HPACKEncodeBuffer.cpp.ll 238628961 +proxygen/HPACKEncodeBuffer.cpp.ll 238359835 proxygen/HPACKEncoder.cpp.ll 556827183 -proxygen/HQByteEventTracker.cpp.ll 199491429 +proxygen/HQByteEventTracker.cpp.ll 199290343 proxygen/HQControlCodec.cpp.ll 968307547 -proxygen/HQFramedCodec.cpp.ll 319007786 +proxygen/HQFramedCodec.cpp.ll 318609356 proxygen/HQFramer.cpp.ll 2239209505 proxygen/HQStreamCodec.cpp.ll 934514119 proxygen/HQStreamDispatcher.cpp.ll 390825362 proxygen/HTTP1xCodec.cpp.ll 2152122187 proxygen/HTTP2Codec.cpp.ll 4462172698 -proxygen/HTTP2Constants.cpp.ll 81905911 +proxygen/HTTP2Constants.cpp.ll 81816792 proxygen/HTTP2Framer.cpp.ll 1300953255 proxygen/HTTP2PriorityQueue.cpp.ll 2276454631 proxygen/HTTP3ErrorCode.cpp.ll 149334076 proxygen/HTTPBinaryCodec.cpp.ll 2606229799 -proxygen/HTTPChecks.cpp.ll 198882436 -proxygen/HTTPCodecFilter.cpp.ll 352787937 +proxygen/HTTPChecks.cpp.ll 198613583 +proxygen/HTTPCodecFilter.cpp.ll 352404451 proxygen/HTTPCodecPrinter.cpp.ll 557936022 proxygen/HTTPCommonHeaders.cpp.ll 109807326 proxygen/HTTPConnectorWithFizz.cpp.ll 3768576509 -proxygen/HTTPDefaultSessionCodecFactory.cpp.ll 244011369 +proxygen/HTTPDefaultSessionCodecFactory.cpp.ll 243684227 proxygen/HTTPDirectResponseHandler.cpp.ll 370777199 -proxygen/HTTPDownstreamSession.cpp.ll 777671578 +proxygen/HTTPDownstreamSession.cpp.ll 776829751 proxygen/HTTPErrorPage.cpp.ll 66023172 proxygen/HTTPException.cpp.ll 174303263 proxygen/HTTPHeaders.cpp.ll 724519001 proxygen/HTTPMessage.cpp.ll 3515855707 -proxygen/HTTPMessageFilters.cpp.ll 439284096 +proxygen/HTTPMessageFilters.cpp.ll 438626733 proxygen/HTTPMethod.cpp.ll 199311914 proxygen/HTTPParallelCodec.cpp.ll 116247640 proxygen/HTTPPriorityFunctions.cpp.ll 748831723 -proxygen/HTTPServerAcceptor.cpp.ll 2367166751 +proxygen/HTTPServerAcceptor.cpp.ll 2364377556 proxygen/HTTPSession.cpp.ll 8146850300 -proxygen/HTTPSessionAcceptor.cpp.ll 2077972066 +proxygen/HTTPSessionAcceptor.cpp.ll 2075819821 proxygen/HTTPSessionActivityTracker.cpp.ll 93380549 proxygen/HTTPSessionBase.cpp.ll 774059169 proxygen/HTTPSessionObserverInterface.cpp.ll 113912258 proxygen/HTTPTransaction.cpp.ll 4544271629 proxygen/HTTPTransactionEgressSM.cpp.ll 312858374 -proxygen/HTTPTransactionIngressSM.cpp.ll 321722695 +proxygen/HTTPTransactionIngressSM.cpp.ll 321347149 proxygen/HeaderConstants.cpp.ll 107725687 proxygen/HeaderDecodeInfo.cpp.ll 1212687207 proxygen/HeaderIndexingStrategy.cpp.ll 123100532 @@ -30215,7 +30215,7 @@ proxygen/QPACKContext.cpp.ll 113783203 proxygen/QPACKDecoder.cpp.ll 753686546 proxygen/QPACKEncoder.cpp.ll 1258510548 proxygen/QPACKHeaderTable.cpp.ll 868445993 -proxygen/RFC1867.cpp.ll 745817807 +proxygen/RFC1867.cpp.ll 744915548 proxygen/RFC2616.cpp.ll 906897966 proxygen/RateLimitFilter.cpp.ll 646920443 proxygen/RendezvousHash.cpp.ll 631143687 @@ -30229,25 +30229,25 @@ proxygen/ServerHealthCheckerCallback.cpp.ll 76486425 proxygen/ServerIdleSessionController.cpp.ll 672556374 proxygen/ServerListGenerator.cpp.ll 179900343 proxygen/Service.cpp.ll 682544469 -proxygen/SessionHolder.cpp.ll 313064735 +proxygen/SessionHolder.cpp.ll 312729070 proxygen/SessionPool.cpp.ll 271707853 proxygen/SignalHandler.cpp.ll 54717932 proxygen/SimpleController.cpp.ll 106381067 proxygen/StaticHeaderTable.cpp.ll 456067770 proxygen/StructuredHeadersBuffer.cpp.ll 1191066781 proxygen/StructuredHeadersDecoder.cpp.ll 1153253804 -proxygen/StructuredHeadersEncoder.cpp.ll 1044911468 +proxygen/StructuredHeadersEncoder.cpp.ll 1043695791 proxygen/StructuredHeadersUtilities.cpp.ll 456937349 proxygen/SynchronizedLruQuicPskCache.cpp.ll 1162150535 proxygen/TraceEvent.cpp.ll 918982380 -proxygen/TraceEventContext.cpp.ll 284033764 +proxygen/TraceEventContext.cpp.ll 283717825 proxygen/TraceEventType.cpp.ll 264409841 proxygen/TraceFieldType.cpp.ll 1105162144 proxygen/Window.cpp.ll 87145356 proxygen/WorkerThread.cpp.ll 267249317 proxygen/ZlibStreamCompressor.cpp.ll 183028440 proxygen/ZlibStreamDecompressor.cpp.ll 127232781 -proxygen/ZstdStreamCompressor.cpp.ll 143250686 +proxygen/ZstdStreamCompressor.cpp.ll 143074341 proxygen/ZstdStreamDecompressor.cpp.ll 179379173 proxygen/http_parser_cpp.cpp.ll 1320280369 pugixml/pugixml.cpp.ll 9845978855 @@ -30309,8 +30309,8 @@ pyo3-rs/1a7w5j0xbcjzugy7.ll 122649577 pyo3-rs/1crvj4t9fp4wnndf.ll 59027016 pyo3-rs/1dxwqp3o22nst0op.ll 990327951 pyo3-rs/1ey8yrsh0gsyi5hu.ll 62338845 -pyo3-rs/1fs8y5f8gsfmi8ap.ll 102394616 -pyo3-rs/1kzw1ypkvwc953fp.ll 56097868 +pyo3-rs/1fs8y5f8gsfmi8ap.ll 102281452 +pyo3-rs/1kzw1ypkvwc953fp.ll 56038932 pyo3-rs/1lxyrdmv5ntrqjp.ll 93609288 pyo3-rs/1mw8gv56tjek1kvy.ll 292815515 pyo3-rs/1o57f9n8cz70xe94.ll 376950814 @@ -30319,7 +30319,7 @@ pyo3-rs/1satie9rofwgo8sv.ll 43351186 pyo3-rs/1utdwgnfz4f7lsmv.ll 165940489 pyo3-rs/1xbxmcn8q38l1f6c.ll 272922467 pyo3-rs/1xfqi0n6cq9b6i9o.ll 1285633959 -pyo3-rs/1xi2lm5zxke54bif.ll 373423753 +pyo3-rs/1xi2lm5zxke54bif.ll 372951420 pyo3-rs/220jfh1kusg8lwe4.ll 41091499 pyo3-rs/23tgpgxnh0x411j4.ll 759432367 pyo3-rs/249pdmmr5286g8h9.ll 911195143 @@ -30327,10 +30327,10 @@ pyo3-rs/26aiw6t2t8xba8i6.ll 425161851 pyo3-rs/27v5aosxbpf7z8uc.ll 41668075 pyo3-rs/292vgvdt0ac3ashv.ll 677571229 pyo3-rs/29v88egx8stql608.ll 74573136 -pyo3-rs/2bwqae3mb2e8qzca.ll 873514329 +pyo3-rs/2bwqae3mb2e8qzca.ll 872007943 pyo3-rs/2c6t2zmseyyrmc3o.ll 1237431377 pyo3-rs/2d5nkzdq8c5yl2o9.ll 82001855 -pyo3-rs/2mfuxclk440bfcfq.ll 432842726 +pyo3-rs/2mfuxclk440bfcfq.ll 432219787 pyo3-rs/2mu24q704v4bn2ph.ll 58965062 pyo3-rs/2xkt0x9k1swgqccf.ll 77786264 pyo3-rs/2z4c85pb8xgxybu4.ll 492435754 @@ -30361,7 +30361,7 @@ pyo3-rs/4ybq1xu6nzdahol5.ll 70780753 pyo3-rs/4yu5v8gwnt2k6ypk.ll 173755148 pyo3-rs/4z0qp503bgjcdxcv.ll 3533862026 pyo3-rs/51fip9ks9os2k4ct.ll 54786687 -pyo3-rs/52w461jtoccryjom.ll 296932920 +pyo3-rs/52w461jtoccryjom.ll 296547643 pyo3-rs/56vxt2c36l1z7pcl.ll 68854018 pyo3-rs/5a36ggkdtm8ke8bq.ll 67769128 pyo3-rs/5bp96a7pt7de4or1.ll 316941687 @@ -30369,13 +30369,13 @@ pyo3-rs/5cngl7ehxnf7u52x.ll 93859916 pyo3-rs/7fy1k54rnf1oqw0.ll 36707753 pyo3-rs/7x9rx9u8nmy1m3j.ll 347990780 pyo3-rs/iw84gvn6qy5ye7d.ll 72642182 -pyo3-rs/mb6r14ymp42ea73.ll 306620318 +pyo3-rs/mb6r14ymp42ea73.ll 306166514 pyo3-rs/mgf9doolfdf4dez.ll 77877931 pyo3-rs/p6l8ssdkz29b6n1.ll 40371202 pyo3-rs/rmscw83ea3pgpi8.ll 343102275 pyo3-rs/tfewsbm4mi02388.ll 44182705 pyo3-rs/u1to58y395kgh6o.ll 33260586 -pyo3-rs/u9yls9uu3nkfe04.ll 130369394 +pyo3-rs/u9yls9uu3nkfe04.ll 130219939 pyo3-rs/wwfvrjnc9n4hn6h.ll 34209748 pyo3-rs/zvz0qn9riqunr4a.ll 274694141 qdrant-rs/141v33l0n5g7l55d.ll 93734657 @@ -30435,7 +30435,7 @@ qdrant-rs/yy4gik10e8xjuga.ll 66976198 qemu/.._libqmp.c.ll 113962435 qemu/.._libqtest.c.ll 539630173 qemu/accel_dummy-cpus.c.ll 45264443 -qemu/accel_stubs_kvm-stub.c.ll 46790286 +qemu/accel_stubs_kvm-stub.c.ll 46726026 qemu/accel_tcg_cpu-exec.c.ll 459306235 qemu/accel_tcg_cputlb.c.ll 2965699322 qemu/accel_tcg_icount-common.c.ll 204902144 @@ -30461,7 +30461,7 @@ qemu/backends_cryptodev-builtin.c.ll 159563705 qemu/backends_cryptodev-vhost-user.c.ll 130835157 qemu/backends_cryptodev-vhost.c.ll 111681276 qemu/backends_cryptodev.c.ll 169816049 -qemu/backends_dbus-vmstate.c.ll 211219454 +qemu/backends_dbus-vmstate.c.ll 210985630 qemu/backends_hostmem.c.ll 141201444 qemu/backends_rng.c.ll 62934051 qemu/backends_tpm_tpm_emulator.c.ll 472400544 @@ -30481,7 +30481,7 @@ qemu/block_commit.c.ll 163751262 qemu/block_copy-before-write.c.ll 148966872 qemu/block_copy-on-read.c.ll 82381975 qemu/block_crypto.c.ll 210450599 -qemu/block_dirty-bitmap.c.ll 233264563 +qemu/block_dirty-bitmap.c.ll 233027571 qemu/block_dmg.c.ll 246620510 qemu/block_export_export.c.ll 135371684 qemu/block_export_vduse-blk.c.ll 129569699 @@ -30520,7 +30520,7 @@ qemu/block_snapshot-access.c.ll 52272605 qemu/block_snapshot.c.ll 321136846 qemu/block_stream.c.ll 148952005 qemu/block_throttle-groups.c.ll 275108474 -qemu/block_throttle.c.ll 74886560 +qemu/block_throttle.c.ll 74805317 qemu/block_vdi.c.ll 237617983 qemu/block_vhdx-log.c.ll 358723996 qemu/block_vhdx.c.ll 544150562 @@ -30531,7 +30531,7 @@ qemu/blockdev-nbd.c.ll 87405136 qemu/blockdev.c.ll 960196378 qemu/blockjob.c.ll 221497670 qemu/cache.ll 375901663 -qemu/chardev_char-fd.c.ll 85389669 +qemu/chardev_char-fd.c.ll 85301708 qemu/chardev_char-fe.c.ll 120880176 qemu/chardev_char-hmp-cmds.c.ll 83168413 qemu/chardev_char-mux.c.ll 184893820 @@ -30541,7 +30541,7 @@ qemu/chardev_char-serial.c.ll 108371987 qemu/chardev_char-socket.c.ll 417551643 qemu/chardev_char.c.ll 310166578 qemu/chardev_testdev.c.ll 101123547 -qemu/chardev_wctablet.c.ll 185717627 +qemu/chardev_wctablet.c.ll 185511078 qemu/cpu-common.c.ll 171476047 qemu/cpu-target.c.ll 101198573 qemu/crypto_aes.c.ll 784038803 @@ -30552,7 +30552,7 @@ qemu/crypto_block.c.ll 191358924 qemu/crypto_cipher.c.ll 115572182 qemu/crypto_der.c.ll 177656624 qemu/crypto_hash-gnutls.c.ll 53997992 -qemu/crypto_hmac-gnutls.c.ll 58868680 +qemu/crypto_hmac-gnutls.c.ll 58808941 qemu/crypto_ivgen-essiv.c.ll 49215695 qemu/crypto_secret_common.c.ll 103495638 qemu/crypto_tlscreds.c.ll 89064484 @@ -30583,7 +30583,7 @@ qemu/hotblocks.ll 66954633 qemu/hotpages.ll 82628988 qemu/howvec.ll 119468875 qemu/hw_9pfs_9p-local.c.ll 421994561 -qemu/hw_9pfs_9p-proxy.c.ll 429172618 +qemu/hw_9pfs_9p-proxy.c.ll 445664568 qemu/hw_9pfs_9p-synth.c.ll 218954195 qemu/hw_9pfs_9p-xattr-user.c.ll 47141208 qemu/hw_9pfs_9p-xattr.c.ll 91681435 @@ -30664,7 +30664,7 @@ qemu/hw_misc_ivshmem.c.ll 327252802 qemu/hw_misc_pci-testdev.c.ll 109108053 qemu/hw_misc_sifive_e_prci.c.ll 51069363 qemu/hw_net_cadence_gem.c.ll 815094325 -qemu/hw_net_can_can_kvaser_pci.c.ll 67711636 +qemu/hw_net_can_can_kvaser_pci.c.ll 67636528 qemu/hw_net_can_can_sja1000.c.ll 365937871 qemu/hw_net_can_ctucan_core.c.ll 270830461 qemu/hw_net_e1000.c.ll 984269946 @@ -30786,14 +30786,14 @@ qemu/hw_watchdog_watchdog.c.ll 56222377 qemu/hw_watchdog_wdt_i6300esb.c.ll 126648848 qemu/hwprofile.ll 130382127 qemu/i2c-imx.c.ll 102891232 -qemu/io_channel-buffer.c.ll 81252329 +qemu/io_channel-buffer.c.ll 81166334 qemu/io_channel-command.c.ll 132841583 qemu/io_channel-socket.c.ll 320885734 qemu/io_channel-tls.c.ll 183825587 qemu/io_channel-websock.c.ll 596272696 qemu/io_channel.c.ll 194309597 qemu/io_dns-resolver.c.ll 105516695 -qemu/job.c.ll 492132964 +qemu/job.c.ll 491600367 qemu/libqos-malloc.c.ll 200597377 qemu/libqos.c.ll 96925446 qemu/libvduse.c.ll 424319458 @@ -30921,7 +30921,7 @@ qemu/qobject_qdict.c.ll 331947298 qemu/qobject_qjson.c.ll 87728765 qemu/qobject_qlist.c.ll 103458829 qemu/qobject_qlit.c.ll 75507851 -qemu/qobject_qnum.c.ll 82940276 +qemu/qobject_qnum.c.ll 82847045 qemu/qobject_qstring.c.ll 60925401 qemu/qom_object.c.ll 938083859 qemu/qom_object_interfaces.c.ll 149731101 @@ -30991,7 +30991,7 @@ qemu/target_riscv_translate.c.ll 15843198789 qemu/target_riscv_vcrypto_helper.c.ll 1489228795 qemu/target_riscv_vector_helper.c.ll 20128765947 qemu/target_riscv_vector_internals.c.ll 112879502 -qemu/tcg-op-gvec.c.ll 1696075739 +qemu/tcg-op-gvec.c.ll 1694348655 qemu/tcg-op-ldst.c.ll 1100202358 qemu/tcg-op-vec.c.ll 488088639 qemu/tcg-op.c.ll 825721871 @@ -31005,7 +31005,7 @@ qemu/ui_curses.c.ll 345942118 qemu/ui_cursor.c.ll 228351412 qemu/ui_dbus-console.c.ll 211062514 qemu/ui_dbus-listener.c.ll 104294678 -qemu/ui_dbus.c.ll 138669580 +qemu/ui_dbus.c.ll 138520252 qemu/ui_input-barrier.c.ll 325054516 qemu/ui_input-legacy.c.ll 95197017 qemu/ui_input-linux.c.ll 201105510 @@ -31084,7 +31084,7 @@ qemu/virtio-pci.c.ll 142274422 qemu/virtio.c.ll 192930711 qoi/qoi.ll 199771080 quantlib/abcd.ll 279026021 -quantlib/abcdatmvolcurve.ll 2501929285 +quantlib/abcdatmvolcurve.ll 2499273157 quantlib/abcdcalibration.ll 961434027 quantlib/abcdmathfunction.ll 340382598 quantlib/abcdvol.ll 813110402 @@ -31093,35 +31093,35 @@ quantlib/actual365fixed.ll 323446660 quantlib/actualactual.ll 894238007 quantlib/adaptedpathpayoff.ll 262652837 quantlib/africa.ll 676934422 -quantlib/alimikhailhaqcopula.ll 204138964 +quantlib/alimikhailhaqcopula.ll 203914089 quantlib/alphafinder.ll 388550561 quantlib/alphaformconcrete.ll 74167899 quantlib/america.ll 750947946 quantlib/americanpayoffatexpiry.ll 365666593 quantlib/americanpayoffathit.ll 405240416 -quantlib/amortizingcmsratebond.ll 1066722544 +quantlib/amortizingcmsratebond.ll 1065651259 quantlib/amortizingfixedratebond.ll 1098258646 quantlib/amortizingfloatingratebond.ll 1072198927 quantlib/analytic_cont_geom_av_price.ll 943964155 quantlib/analytic_cont_geom_av_price_heston.ll 1971406030 -quantlib/analytic_discr_geom_av_price.ll 1130550525 +quantlib/analytic_discr_geom_av_price.ll 1129193059 quantlib/analytic_discr_geom_av_price_heston.ll 2601556643 -quantlib/analytic_discr_geom_av_strike.ll 1131809773 +quantlib/analytic_discr_geom_av_strike.ll 1130359811 quantlib/analyticamericanmargrabeengine.ll 2104008947 quantlib/analyticbarrierengine.ll 1042366594 -quantlib/analyticbinarybarrierengine.ll 1464021671 +quantlib/analyticbinarybarrierengine.ll 1462517961 quantlib/analyticbsmhullwhiteengine.ll 1816432289 quantlib/analyticcapfloorengine.ll 1113003246 quantlib/analyticcevengine.ll 2285115501 quantlib/analyticcliquetengine.ll 1167580161 -quantlib/analyticcomplexchooserengine.ll 892257324 +quantlib/analyticcomplexchooserengine.ll 891241193 quantlib/analyticcompoundoptionengine.ll 1435415788 -quantlib/analyticcontinuousfixedlookback.ll 956910430 +quantlib/analyticcontinuousfixedlookback.ll 955889382 quantlib/analyticcontinuousfloatinglookback.ll 862099504 -quantlib/analyticcontinuouspartialfixedlookback.ll 978818156 +quantlib/analyticcontinuouspartialfixedlookback.ll 977809327 quantlib/analyticcontinuouspartialfloatinglookback.ll 937918936 quantlib/analyticdigitalamericanengine.ll 940812345 -quantlib/analyticdividendeuropeanengine.ll 1064069420 +quantlib/analyticdividendeuropeanengine.ll 1062911276 quantlib/analyticdoublebarrierbinaryengine.ll 1217013335 quantlib/analyticdoublebarrierengine.ll 1164897002 quantlib/analyticeuropeanengine.ll 1486212078 @@ -31132,7 +31132,7 @@ quantlib/analytich1hwengine.ll 640254294 quantlib/analytichestonengine.ll 5518235330 quantlib/analytichestonforwardeuropeanengine.ll 1957141028 quantlib/analytichestonhullwhiteengine.ll 757768426 -quantlib/analyticholderextensibleoptionengine.ll 1074078396 +quantlib/analyticholderextensibleoptionengine.ll 1072701947 quantlib/analyticpartialtimebarrieroptionengine.ll 1635987469 quantlib/analyticpdfhestonengine.ll 1039753303 quantlib/analyticperformanceengine.ll 1171545953 @@ -31153,13 +31153,13 @@ quantlib/asia.ll 1185462510 quantlib/asianoption.ll 1543697836 quantlib/assetswap.ll 3333548603 quantlib/asx.ll 339268629 -quantlib/atmadjustedsmilesection.ll 448562169 +quantlib/atmadjustedsmilesection.ll 448089961 quantlib/atmsmilesection.ll 423480942 quantlib/australia.ll 352059690 quantlib/austria.ll 336115859 -quantlib/averagebmacoupon.ll 1609036018 +quantlib/averagebmacoupon.ll 1607394362 quantlib/averagetype.ll 168977963 -quantlib/bacheliercapfloorengine.ll 1709631464 +quantlib/bacheliercapfloorengine.ll 1707698485 quantlib/baroneadesiwhaleyengine.ll 1166679557 quantlib/barrieroption.ll 1109999148 quantlib/barriertype.ll 169816208 @@ -31174,7 +31174,7 @@ quantlib/batesmodel.ll 1452470799 quantlib/batesprocess.ll 451887804 quantlib/bermudanswaptionexercisevalue.ll 614255224 quantlib/bernsteinpolynomial.ll 35747944 -quantlib/bespokecalendar.ll 255374504 +quantlib/bespokecalendar.ll 255058925 quantlib/beta.ll 235089361 quantlib/bfgs.ll 379126724 quantlib/bibor.ll 692248105 @@ -31183,7 +31183,7 @@ quantlib/binomialtree.ll 404678932 quantlib/bivariatenormaldistribution.ll 528621553 quantlib/bivariatestudenttdistribution.ll 121747612 quantlib/bjerksundstenslandengine.ll 2027135906 -quantlib/blackatmvolcurve.ll 282621373 +quantlib/blackatmvolcurve.ll 282292680 quantlib/blackcalculator.ll 621634232 quantlib/blackcallablebondengine.ll 1515868487 quantlib/blackcapfloorengine.ll 1739884991 @@ -31191,7 +31191,7 @@ quantlib/blackcdsoptionengine.ll 856051017 quantlib/blackdeltacalculator.ll 881752100 quantlib/blackformula.ll 1949930395 quantlib/blackkarasinski.ll 2006036827 -quantlib/blackscholescalculator.ll 228586528 +quantlib/blackscholescalculator.ll 228357299 quantlib/blackscholesprocess.ll 2312212800 quantlib/blackswaptionengine.ll 2410879983 quantlib/blackvariancecurve.ll 1100106562 @@ -31199,7 +31199,7 @@ quantlib/blackvariancesurface.ll 1126296472 quantlib/blackvolsurface.ll 280888618 quantlib/blackvoltermstructure.ll 341708021 quantlib/bmaindex.ll 1012860190 -quantlib/bmaswap.ll 1304300628 +quantlib/bmaswap.ll 1302816381 quantlib/bond.ll 3267019257 quantlib/bondforward.ll 1161923387 quantlib/bondfunctions.ll 967913531 @@ -31215,12 +31215,12 @@ quantlib/btp.ll 3327127994 quantlib/bumpinstrumentjacobian.ll 1325231800 quantlib/burley2020sobolrsg.ll 572539299 quantlib/business252.ll 1082631321 -quantlib/businessdayconvention.ll 171650261 +quantlib/businessdayconvention.ll 171466733 quantlib/calendar.ll 698570916 -quantlib/calibrationhelper.ll 455093450 +quantlib/calibrationhelper.ll 454608412 quantlib/callablebond.ll 3284102037 quantlib/callablebondconstantvol.ll 1043226133 -quantlib/callablebondvolstructure.ll 357965565 +quantlib/callablebondvolstructure.ll 357590698 quantlib/callspecifiedmultiproduct.ll 1364319075 quantlib/canada.ll 361379458 quantlib/capfloor.ll 3424716374 @@ -31244,15 +31244,15 @@ quantlib/cdo.ll 1914696621 quantlib/cdsoption.ll 1979292080 quantlib/cevrndcalculator.ll 3358419985 quantlib/chebyshevinterpolation.ll 658451646 -quantlib/chfliborswap.ll 798262652 +quantlib/chfliborswap.ll 797421170 quantlib/chile.ll 234911232 quantlib/china.ll 947132397 quantlib/chisquaredistribution.ll 576470432 quantlib/choleskydecomposition.ll 272796780 -quantlib/claim.ll 379838329 +quantlib/claim.ll 379401188 quantlib/claytoncopula.ll 221682473 quantlib/cliquetoption.ll 1032462616 -quantlib/cmscoupon.ll 1512347026 +quantlib/cmscoupon.ll 1510781734 quantlib/cmsmarket.ll 2712382053 quantlib/cmsmarketcalibration.ll 8712447731 quantlib/cmsmmdriftcalculator.ll 756362876 @@ -31264,28 +31264,28 @@ quantlib/commodity.ll 518418332 quantlib/commoditycashflow.ll 389456883 quantlib/commoditycurve.ll 1375327201 quantlib/commodityindex.ll 880994856 -quantlib/commoditypricinghelpers.ll 512189935 -quantlib/commoditysettings.ll 176739908 -quantlib/commoditytype.ll 476525619 +quantlib/commoditypricinghelpers.ll 511496037 +quantlib/commoditysettings.ll 176557953 +quantlib/commoditytype.ll 475947679 quantlib/commodityunitcost.ll 183227010 -quantlib/complexchooseroption.ll 852922947 -quantlib/compositeinstrument.ll 793673665 +quantlib/complexchooseroption.ll 852006218 +quantlib/compositeinstrument.ll 792857436 quantlib/compositeproduct.ll 1831134704 quantlib/compoundoption.ll 777043898 quantlib/concentrating1dmesher.ll 2842274668 -quantlib/conjugategradient.ll 268328019 -quantlib/constantcapfloortermvol.ll 940545286 +quantlib/conjugategradient.ll 268002793 +quantlib/constantcapfloortermvol.ll 939565224 quantlib/constantcpivolatility.ll 870914869 -quantlib/constantestimator.ll 334156991 +quantlib/constantestimator.ll 333793611 quantlib/constantoptionletvol.ll 992092701 -quantlib/constraint.ll 320224269 +quantlib/constraint.ll 319783276 quantlib/continuousarithmeticasianlevyengine.ll 1015842914 quantlib/continuousarithmeticasianvecerengine.ll 1786957137 quantlib/conundrumpricer.ll 2999910533 quantlib/convertiblebonds.ll 2510698858 quantlib/convolvedstudentt.ll 1253357772 quantlib/corra.ll 620973187 -quantlib/correlationstructure.ll 87223056 +quantlib/correlationstructure.ll 87124882 quantlib/coshestonengine.ll 1336209187 quantlib/coterminalswapcurvestate.ll 728594355 quantlib/cotswapfromfwdcorrelation.ll 533670686 @@ -31293,7 +31293,7 @@ quantlib/cotswaptofwdadapter.ll 1022739721 quantlib/coupon.ll 258911121 quantlib/couponpricer.ll 2310986584 quantlib/coxingersollross.ll 1184218883 -quantlib/coxingersollrossprocess.ll 473313913 +quantlib/coxingersollrossprocess.ll 472716693 quantlib/cpibond.ll 1262719051 quantlib/cpicapfloor.ll 923832238 quantlib/cpicapfloorengines.ll 652125275 @@ -31318,17 +31318,17 @@ quantlib/dataparsers.ll 2576008634 quantlib/date.ll 3126796569 quantlib/dategenerationrule.ll 173069325 quantlib/dateinterval.ll 45214940 -quantlib/defaultdensitystructure.ll 419064329 +quantlib/defaultdensitystructure.ll 418640011 quantlib/defaultevent.ll 983693170 -quantlib/defaultprobabilityhelpers.ll 1724971019 +quantlib/defaultprobabilityhelpers.ll 1723199999 quantlib/defaultprobabilitykey.ll 662347572 quantlib/defaulttermstructure.ll 946031712 -quantlib/defaulttype.ll 173551716 +quantlib/defaulttype.ll 173329061 quantlib/deltavolquote.ll 599987871 quantlib/denmark.ll 192389225 quantlib/differentialevolution.ll 2280024926 quantlib/digitalcmscoupon.ll 1637861732 -quantlib/digitalcmsspreadcoupon.ll 1637567722 +quantlib/digitalcmsspreadcoupon.ll 1635692965 quantlib/digitalcoupon.ll 1549907726 quantlib/digitaliborcoupon.ll 1636515241 quantlib/discounter.ll 79703582 @@ -31344,31 +31344,31 @@ quantlib/discretizedconvertible.ll 1240436302 quantlib/discretizeddoublebarrieroption.ll 755051049 quantlib/discretizedswap.ll 1644085889 quantlib/discretizedswaption.ll 2101036957 -quantlib/discretizedvanillaoption.ll 513873294 +quantlib/discretizedvanillaoption.ll 513350284 quantlib/distribution.ll 1038500009 quantlib/dividend.ll 583932106 quantlib/doublebarrieroption.ll 971069980 quantlib/doublebarriertype.ll 169880239 quantlib/douglasscheme.ll 480621587 quantlib/duration.ll 169401373 -quantlib/dynprogvppintrinsicvalueengine.ll 747270756 +quantlib/dynprogvppintrinsicvalueengine.ll 746256315 quantlib/ecb.ll 1608707972 -quantlib/endcriteria.ll 239983600 +quantlib/endcriteria.ll 239702548 quantlib/endeulerdiscretization.ll 369589027 quantlib/energybasisswap.ll 3182853413 quantlib/energycommodity.ll 1164559418 -quantlib/energyfuture.ll 1512336865 +quantlib/energyfuture.ll 1510423825 quantlib/energyswap.ll 877995257 -quantlib/energyvanillaswap.ll 2835479432 +quantlib/energyvanillaswap.ll 2832110519 quantlib/eonia.ll 666548168 quantlib/equitycashflow.ll 2178482591 -quantlib/equityfxvolsurface.ll 336318104 +quantlib/equityfxvolsurface.ll 335958465 quantlib/equityindex.ll 1202955051 quantlib/equitytotalreturnswap.ll 2028368020 quantlib/errorfunction.ll 58038434 quantlib/errors.ll 373648041 -quantlib/escroweddividendadjustment.ll 226202181 -quantlib/estr.ll 666416572 +quantlib/escroweddividendadjustment.ll 225955238 +quantlib/estr.ll 665667518 quantlib/eulerdiscretization.ll 369125920 quantlib/euribor.ll 788287892 quantlib/euriborswap.ll 906760625 @@ -31377,7 +31377,7 @@ quantlib/eurliborswap.ll 906488138 quantlib/eurodollarfuturesquote.ll 678495606 quantlib/europe.ll 1684934612 quantlib/europeanoption.ll 621439599 -quantlib/event.ll 207001059 +quantlib/event.ll 206792362 quantlib/everestoption.ll 890146802 quantlib/evolutiondescription.ll 698772092 quantlib/exchangerate.ll 510787051 @@ -31385,7 +31385,7 @@ quantlib/exchangeratemanager.ll 1511820105 quantlib/exercise.ll 711093219 quantlib/exerciseadapter.ll 347614586 quantlib/expcorrelations.ll 709320084 -quantlib/expliciteulerscheme.ll 386542802 +quantlib/expliciteulerscheme.ll 386054857 quantlib/expm.ll 835161717 quantlib/expm1.ll 63462778 quantlib/exponentialfittinghestonengine.ll 2016237239 @@ -31396,15 +31396,15 @@ quantlib/extendedblackscholesprocess.ll 564542280 quantlib/extendedblackvariancecurve.ll 1328536713 quantlib/extendedblackvariancesurface.ll 1323761541 quantlib/extendedcoxingersollross.ll 1312684360 -quantlib/extendedornsteinuhlenbeckprocess.ll 600397270 +quantlib/extendedornsteinuhlenbeckprocess.ll 599796477 quantlib/extouwithjumpsprocess.ll 506542563 quantlib/factorial.ll 38884522 quantlib/factorreduction.ll 505836734 quantlib/farliegumbelmorgensterncopula.ll 204166812 quantlib/faurersg.ll 839844834 quantlib/fd2dblackscholesvanillaengine.ll 1312869085 -quantlib/fdbatesvanillaengine.ll 1547351579 -quantlib/fdblackscholesasianengine.ll 1687328187 +quantlib/fdbatesvanillaengine.ll 1545509250 +quantlib/fdblackscholesasianengine.ll 1685510775 quantlib/fdblackscholesbarrierengine.ll 2576821834 quantlib/fdblackscholesrebateengine.ll 1526412650 quantlib/fdblackscholesshoutengine.ll 2056194033 @@ -31419,7 +31419,7 @@ quantlib/fdhestonhullwhitevanillaengine.ll 2789985622 quantlib/fdhestonrebateengine.ll 1773414257 quantlib/fdhestonvanillaengine.ll 2613477721 quantlib/fdhullwhiteswaptionengine.ll 2811466842 -quantlib/fdklugeextouspreadengine.ll 3507772906 +quantlib/fdklugeextouspreadengine.ll 3503416535 quantlib/fdm1dimsolver.ll 2730994116 quantlib/fdm2dblackscholesop.ll 2367399486 quantlib/fdm2dblackscholessolver.ll 893356211 @@ -31441,9 +31441,9 @@ quantlib/fdmblackscholessolver.ll 931489674 quantlib/fdmcev1dmesher.ll 457705204 quantlib/fdmcevop.ll 1422027951 quantlib/fdmcirop.ll 1778529807 -quantlib/fdmcirsolver.ll 916623815 +quantlib/fdmcirsolver.ll 915669160 quantlib/fdmdirichletboundary.ll 287734506 -quantlib/fdmdiscountdirichletboundary.ll 206384119 +quantlib/fdmdiscountdirichletboundary.ll 206161398 quantlib/fdmdividendhandler.ll 928481358 quantlib/fdmdupire1dop.ll 1452751071 quantlib/fdmescrowedloginnervaluecalculator.ll 77975708 @@ -31453,7 +31453,7 @@ quantlib/fdmextoujumpsolver.ll 800917964 quantlib/fdmg2op.ll 1679707698 quantlib/fdmg2solver.ll 800843699 quantlib/fdmhestonfwdop.ll 2587426344 -quantlib/fdmhestongreensfct.ll 497674946 +quantlib/fdmhestongreensfct.ll 497169091 quantlib/fdmhestonhullwhiteop.ll 2079092455 quantlib/fdmhestonhullwhitesolver.ll 922625011 quantlib/fdmhestonop.ll 2111257026 @@ -31469,31 +31469,31 @@ quantlib/fdmlocalvolfwdop.ll 1657199256 quantlib/fdmmeshercomposite.ll 870711605 quantlib/fdmmesherintegral.ll 323001986 quantlib/fdmornsteinuhlenbeckop.ll 1616362466 -quantlib/fdmquantohelper.ll 153690782 +quantlib/fdmquantohelper.ll 153521986 quantlib/fdmsabrop.ll 1652373930 quantlib/fdmshoutloginnervaluecalculator.ll 266716992 quantlib/fdmsimple2dbssolver.ll 845783960 quantlib/fdmsimpleprocess1dmesher.ll 347095063 quantlib/fdmsimplestoragecondition.ll 961877673 quantlib/fdmsimpleswingcondition.ll 510144214 -quantlib/fdmsnapshotcondition.ll 98891384 +quantlib/fdmsnapshotcondition.ll 98746734 quantlib/fdmsquarerootfwdop.ll 2713701349 -quantlib/fdmstepconditioncomposite.ll 1012024004 +quantlib/fdmstepconditioncomposite.ll 1010666560 quantlib/fdmtimedepdirichletboundary.ll 371212510 quantlib/fdmvppstartlimitstepcondition.ll 332843966 quantlib/fdmvppstepcondition.ll 632247281 -quantlib/fdmvppstepconditionfactory.ll 412302641 +quantlib/fdmvppstepconditionfactory.ll 411889776 quantlib/fdmzabrop.ll 1665798742 quantlib/fdornsteinuhlenbeckvanillaengine.ll 1209149365 -quantlib/fdsabrvanillaengine.ll 1594376557 +quantlib/fdsabrvanillaengine.ll 1592440330 quantlib/fdsimplebsswingengine.ll 1688897447 quantlib/fdsimpleextoujumpswingengine.ll 1920349049 quantlib/fdsimpleextoustorageengine.ll 2582721570 quantlib/fdsimpleklugeextouvppengine.ll 3941067213 quantlib/fdvanillaengine.ll 815470450 -quantlib/fedfunds.ll 666536865 +quantlib/fedfunds.ll 665695794 quantlib/fftengine.ll 2491942123 -quantlib/fftvanillaengine.ll 776929163 +quantlib/fftvanillaengine.ll 776120376 quantlib/fftvariancegammaengine.ll 741136238 quantlib/filonintegral.ll 397110364 quantlib/finland.ll 192302226 @@ -31501,18 +31501,18 @@ quantlib/fireflyalgorithm.ll 1311040801 quantlib/firstderivativeop.ll 260856074 quantlib/fittedbonddiscountcurve.ll 1684302047 quantlib/fixedlocalvolsurface.ll 1848183583 -quantlib/fixedratebond.ll 1107425317 +quantlib/fixedratebond.ll 1106035352 quantlib/fixedratecoupon.ll 1580513723 quantlib/fixedvsfloatingswap.ll 1812051021 quantlib/flatforward.ll 1208074245 -quantlib/flathazardrate.ll 1127960956 -quantlib/flatsmilesection.ll 396686860 +quantlib/flathazardrate.ll 1126637458 +quantlib/flatsmilesection.ll 396168803 quantlib/flatvol.ll 1655929779 quantlib/floatfloatswap.ll 4405850075 quantlib/floatfloatswaption.ll 1174031598 quantlib/floatingratebond.ll 1170449853 quantlib/floatingratecoupon.ll 954497096 -quantlib/forward.ll 1046189954 +quantlib/forward.ll 1045012835 quantlib/forwardforwardmappings.ll 419846111 quantlib/forwardmeasureprocess.ll 299630329 quantlib/forwardrateagreement.ll 1191802444 @@ -31521,15 +31521,15 @@ quantlib/forwardswapquote.ll 783446433 quantlib/forwardvaluequote.ll 399202393 quantlib/forwardvanillaoption.ll 657189644 quantlib/france.ll 326446543 -quantlib/frankcopula.ll 204566898 +quantlib/frankcopula.ll 204353096 quantlib/frequency.ll 174357139 quantlib/futures.ll 46494105 quantlib/futuresconvadjustmentquote.ll 874893096 quantlib/fwdperiodadapter.ll 1064766859 -quantlib/fwdtocotswapadapter.ll 1018898028 +quantlib/fwdtocotswapadapter.ll 1017821623 quantlib/g2.ll 2093960265 -quantlib/g2process.ll 720742983 -quantlib/galamboscopula.ll 204775163 +quantlib/g2process.ll 719976099 +quantlib/galamboscopula.ll 204550734 quantlib/gammadistribution.ll 210787127 quantlib/garch.ll 1773857784 quantlib/gaussian1dcapfloorengine.ll 3163338181 @@ -31547,13 +31547,13 @@ quantlib/gaussiannoncentralchisquaredpolynomial.ll 4390313344 quantlib/gaussianorthogonalpolynomial.ll 358857011 quantlib/gaussianquadratures.ll 570524909 quantlib/gausslobattointegral.ll 269232974 -quantlib/gbpliborswap.ll 760356500 +quantlib/gbpliborswap.ll 759508882 quantlib/gbsmrndcalculator.ll 645660130 quantlib/gemanroncoroniprocess.ll 450491288 quantlib/generalizedhullwhite.ll 3482106599 quantlib/generalizedornsteinuhlenbeckprocess.ll 483553426 quantlib/generalstatistics.ll 658182366 -quantlib/genericlsregression.ll 1233326880 +quantlib/genericlsregression.ll 1232060271 quantlib/geometricbrownianprocess.ll 320153970 quantlib/germany.ll 464536093 quantlib/getcovariance.ll 274874039 @@ -31563,9 +31563,9 @@ quantlib/glued1dmesher.ll 319449322 quantlib/gmres.ll 1133375109 quantlib/goldstein.ll 278663968 quantlib/greeks.ll 251281339 -quantlib/gridmodellocalvolsurface.ll 1281393719 +quantlib/gridmodellocalvolsurface.ll 1280090808 quantlib/gsr.ll 2756199503 -quantlib/gsrprocess.ll 641986166 +quantlib/gsrprocess.ll 641333766 quantlib/gsrprocesscore.ll 1833977958 quantlib/gumbelcopula.ll 204540966 quantlib/haganirregularswaptionengine.ll 2965521492 @@ -31580,7 +31580,7 @@ quantlib/hestonrndcalculator.ll 1414191554 quantlib/hestonslvfdmmodel.ll 5658550008 quantlib/hestonslvmcmodel.ll 3244789915 quantlib/hestonslvprocess.ll 686255218 -quantlib/himalayaoption.ll 929419917 +quantlib/himalayaoption.ll 928317732 quantlib/histogram.ll 931121482 quantlib/historicalratesanalysis.ll 970891810 quantlib/holderextensibleoption.ll 750207318 @@ -31593,7 +31593,7 @@ quantlib/huslerreisscopula.ll 235737918 quantlib/hybridhestonhullwhiteprocess.ll 751927319 quantlib/iborcoupon.ll 2422159086 quantlib/iborindex.ll 1049307973 -quantlib/iceland.ll 195004110 +quantlib/iceland.ll 194780654 quantlib/imm.ll 478567188 quantlib/impliciteulerscheme.ll 602648551 quantlib/impliedstddevquote.ll 626630376 @@ -31615,32 +31615,32 @@ quantlib/inflationindex.ll 2014742963 quantlib/inflationtermstructure.ll 686795645 quantlib/instrument.ll 801725978 quantlib/integral.ll 195055702 -quantlib/integralcdoengine.ll 1052443361 +quantlib/integralcdoengine.ll 1051198784 quantlib/integralcdsengine.ll 970368680 quantlib/integralengine.ll 927359208 -quantlib/integralhestonvarianceoptionengine.ll 1224334662 +quantlib/integralhestonvarianceoptionengine.ll 1222931283 quantlib/integralntdengine.ll 924556768 quantlib/interestrate.ll 426098188 quantlib/interestrateindex.ll 933724127 -quantlib/interestratevolsurface.ll 294831762 -quantlib/interpolatedswaptionvolatilitycube.ll 2472445621 +quantlib/interestratevolsurface.ll 294532092 +quantlib/interpolatedswaptionvolatilitycube.ll 2469328295 quantlib/irregularswap.ll 1839085857 quantlib/irregularswaption.ll 2011120083 quantlib/isdacdsengine.ll 2163450169 quantlib/israel.ll 1610478298 quantlib/issuer.ll 749518307 -quantlib/italy.ll 331115094 +quantlib/italy.ll 330769923 quantlib/jamshidianswaptionengine.ll 1176209513 quantlib/japan.ll 308604706 quantlib/jointcalendar.ll 651524411 quantlib/jointstochasticprocess.ll 1672860329 -quantlib/jpyliborswap.ll 966589129 +quantlib/jpyliborswap.ll 965339780 quantlib/jumpdiffusionengine.ll 1825156986 quantlib/juquadraticengine.ll 1084813823 quantlib/kahalesmilesection.ll 2453702279 quantlib/kirkengine.ll 1032050859 quantlib/kirkspreadoptionengine.ll 954062759 -quantlib/klugeextouprocess.ll 528259245 +quantlib/klugeextouprocess.ll 527691824 quantlib/knuthuniformrng.ll 211592544 quantlib/kronrodintegral.ll 332165364 quantlib/laplaceinterpolation.ll 4152904413 @@ -31656,13 +31656,13 @@ quantlib/lfmhullwhiteparam.ll 834862496 quantlib/lfmprocess.ll 1339246178 quantlib/lfmswaptionengine.ll 1102593498 quantlib/libor.ll 865074090 -quantlib/liborforwardmodel.ll 1470721832 +quantlib/liborforwardmodel.ll 1469156539 quantlib/lineartsrpricer.ll 2056594274 quantlib/linesearch.ll 316498280 -quantlib/linesearchbasedmethod.ll 458573402 +quantlib/linesearchbasedmethod.ll 458073726 quantlib/lmcorrmodel.ll 425975975 quantlib/lmdif.ll 811788603 -quantlib/lmexpcorrmodel.ll 520757481 +quantlib/lmexpcorrmodel.ll 520069319 quantlib/lmextlinexpvolmodel.ll 615074324 quantlib/lmfixedvolmodel.ll 456651114 quantlib/lmlinexpcorrmodel.ll 728887404 @@ -31675,7 +31675,7 @@ quantlib/localvolrndcalculator.ll 5509165066 quantlib/localvolsurface.ll 1381843807 quantlib/localvoltermstructure.ll 260916741 quantlib/lognormalcmsspreadpricer.ll 1692685867 -quantlib/lognormalcmswapratepc.ll 889998920 +quantlib/lognormalcmswapratepc.ll 888952698 quantlib/lognormalcotswapratepc.ll 898676111 quantlib/lognormalfwdrateballand.ll 954806567 quantlib/lognormalfwdrateeuler.ll 918374950 @@ -31691,14 +31691,14 @@ quantlib/lsstrategy.ll 964016496 quantlib/makearithmeticaverageois.ll 1614065642 quantlib/makecapfloor.ll 1267316336 quantlib/makecds.ll 909776043 -quantlib/makecms.ll 1876609288 +quantlib/makecms.ll 1874098617 quantlib/makeois.ll 1570379637 quantlib/makeswaption.ll 1123756112 quantlib/makevanillaswap.ll 1992097330 quantlib/makeyoyinflationcapfloor.ll 1661693230 quantlib/margrabeoption.ll 891401763 quantlib/marketmodel.ll 640560855 -quantlib/marketmodeldifferences.ll 601837301 +quantlib/marketmodeldifferences.ll 601213860 quantlib/markovfunctional.ll 10373011742 quantlib/marshallolkincopula.ll 222233951 quantlib/matrix.ll 899993170 @@ -31723,16 +31723,16 @@ quantlib/mchullwhiteengine.ll 682132243 quantlib/mclookbackengine.ll 650215530 quantlib/mcpagodaengine.ll 74771488 quantlib/mcpathbasketengine.ll 434609064 -quantlib/mcperformanceengine.ll 234661663 +quantlib/mcperformanceengine.ll 234424969 quantlib/merton76process.ll 752181313 quantlib/methodoflinesscheme.ll 904974187 -quantlib/mexico.ll 206138265 +quantlib/mexico.ll 205921197 quantlib/mfstateprocess.ll 570444169 quantlib/midpointcdoengine.ll 936907044 quantlib/midpointcdsengine.ll 928857701 -quantlib/mincopula.ll 187661881 +quantlib/mincopula.ll 187408968 quantlib/model.ll 1645005845 -quantlib/modifiedbessel.ll 465231468 +quantlib/modifiedbessel.ll 464699124 quantlib/modifiedcraigsneydscheme.ll 626562863 quantlib/money.ll 825192157 quantlib/montecarlocatbondengine.ll 868656492 @@ -31741,9 +31741,9 @@ quantlib/mtbrowniangenerator.ll 423755973 quantlib/multiassetoption.ll 791234029 quantlib/multidimintegrator.ll 1279200871 quantlib/multidimquadrature.ll 2555163462 -quantlib/multiproductcomposite.ll 862790721 +quantlib/multiproductcomposite.ll 861721275 quantlib/multiproductmultistep.ll 457842225 -quantlib/multiproductonestep.ll 438873455 +quantlib/multiproductonestep.ll 438418499 quantlib/multistepcoinitialswaps.ll 344708585 quantlib/multistepcoterminalswaps.ll 343714506 quantlib/multistepcoterminalswaptions.ll 429792871 @@ -31755,16 +31755,16 @@ quantlib/multisteppathwisewrapper.ll 503939952 quantlib/multistepperiodcapletswaptions.ll 787417959 quantlib/multistepratchet.ll 318077603 quantlib/multistepswap.ll 325132478 -quantlib/multistepswaption.ll 507110142 +quantlib/multistepswaption.ll 506514049 quantlib/multisteptarn.ll 698994342 quantlib/newzealand.ll 249084595 quantlib/ninepointlinearop.ll 1177553786 quantlib/noarbsabr.ll 2779324297 quantlib/noarbsabrinterpolatedsmilesection.ll 2961788753 -quantlib/noarbsabrsmilesection.ll 590183711 +quantlib/noarbsabrsmilesection.ll 589401949 quantlib/nonlinearfittingmethods.ll 990977378 quantlib/nonstandardswap.ll 3116122443 -quantlib/nonstandardswaption.ll 1298487458 +quantlib/nonstandardswaption.ll 1297168710 quantlib/normalclvmodel.ll 2042586199 quantlib/normaldistribution.ll 673628076 quantlib/normalfwdratepc.ll 735434989 @@ -31773,8 +31773,8 @@ quantlib/nothingexercisevalue.ll 559820086 quantlib/nthorderderivativeop.ll 1121249268 quantlib/nthtodefault.ll 1791626114 quantlib/numericaldifferentiation.ll 671890827 -quantlib/observable.ll 359946218 -quantlib/oceania.ll 240045119 +quantlib/observable.ll 359531790 +quantlib/oceania.ll 239771931 quantlib/oisratehelper.ll 1417337242 quantlib/oneassetoption.ll 872698482 quantlib/onefactorcopula.ll 570201051 @@ -31793,7 +31793,7 @@ quantlib/ornsteinuhlenbeckprocess.ll 435137361 quantlib/overnightindexedcoupon.ll 2109658656 quantlib/overnightindexedcouponpricer.ll 1278472066 quantlib/overnightindexedswap.ll 1889176953 -quantlib/overnightindexfuture.ll 1232865427 +quantlib/overnightindexfuture.ll 1231543499 quantlib/overnightindexfutureratehelper.ll 1257564572 quantlib/pagodaoption.ll 976419122 quantlib/parametricexercise.ll 754803092 @@ -31801,7 +31801,7 @@ quantlib/parametricexerciseadapter.ll 441848934 quantlib/partialtimebarrieroption.ll 837073523 quantlib/particleswarmoptimization.ll 1717001442 quantlib/pascaltriangle.ll 317419053 -quantlib/pathmultiassetoption.ll 553056370 +quantlib/pathmultiassetoption.ll 552348992 quantlib/pathwiseaccountingengine.ll 4194996329 quantlib/pathwisediscounter.ll 193231230 quantlib/pathwiseproductcallspecified.ll 1493896219 @@ -31811,15 +31811,15 @@ quantlib/pathwiseproductinversefloater.ll 737629311 quantlib/pathwiseproductswap.ll 675269200 quantlib/pathwiseproductswaption.ll 912309199 quantlib/paymentterm.ll 479639658 -quantlib/payoffs.ll 506363112 +quantlib/payoffs.ll 505731344 quantlib/period.ll 742914765 quantlib/perturbativebarrieroptionengine.ll 1861001496 -quantlib/piecewiseconstantabcdvariance.ll 336215247 +quantlib/piecewiseconstantabcdvariance.ll 335826162 quantlib/piecewiseconstantvariance.ll 221866841 quantlib/piecewiseintegral.ll 550234216 quantlib/piecewisetimedependenthestonmodel.ll 1025866612 quantlib/plackettcopula.ll 221352384 -quantlib/poland.ll 375513232 +quantlib/poland.ll 375126308 quantlib/polynomialmathfunction.ll 545794504 quantlib/pool.ll 1930925587 quantlib/position.ll 168841753 @@ -31837,8 +31837,8 @@ quantlib/qrdecomposition.ll 763534175 quantlib/quadratic.ll 44722302 quantlib/quantity.ll 704560246 quantlib/quantobarrieroption.ll 690124606 -quantlib/quantocouponpricer.ll 582029424 -quantlib/quantodoublebarrieroption.ll 687495638 +quantlib/quantocouponpricer.ll 581403529 +quantlib/quantodoublebarrieroption.ll 686638659 quantlib/quantoforwardvanillaoption.ll 690472546 quantlib/quantovanillaoption.ll 685682234 quantlib/randomdefaultmodel.ll 1769505245 @@ -31846,10 +31846,10 @@ quantlib/rangeaccrual.ll 2607382552 quantlib/ratehelpers.ll 3282552596 quantlib/ratepseudorootjacobian.ll 1440547162 quantlib/rebatedexercise.ll 388987679 -quantlib/recoveryratemodel.ll 779555763 -quantlib/recoveryratequote.ll 402136720 +quantlib/recoveryratemodel.ll 778526558 +quantlib/recoveryratequote.ll 401624148 quantlib/region.ll 393872565 -quantlib/replication.ll 171127195 +quantlib/replication.ll 170935228 quantlib/richardsonextrapolation.ll 579386286 quantlib/riskneutraldensitycalculator.ll 412166226 quantlib/riskyassetswap.ll 2010267819 @@ -31860,8 +31860,8 @@ quantlib/romania.ll 381866156 quantlib/rounding.ll 176496114 quantlib/russia.ll 416422142 quantlib/sabr.ll 441132726 -quantlib/sabrinterpolatedsmilesection.ll 2966880957 -quantlib/sabrsmilesection.ll 436964509 +quantlib/sabrinterpolatedsmilesection.ll 2963799711 +quantlib/sabrsmilesection.ll 436503456 quantlib/sabrvolsurface.ll 1652305752 quantlib/sampledcurve.ll 1958388594 quantlib/saudiarabia.ll 667875676 @@ -31881,31 +31881,31 @@ quantlib/simplex.ll 755592442 quantlib/simplifynotificationgraph.ll 486063018 quantlib/singapore.ll 418459878 quantlib/singleproductcomposite.ll 849664742 -quantlib/slovakia.ll 198289575 +quantlib/slovakia.ll 198046816 quantlib/smilesection.ll 547968710 quantlib/smilesectionutils.ll 805284738 quantlib/smmdriftcalculator.ll 684988452 quantlib/sobolbrownianbridgersg.ll 154825646 -quantlib/sobolbrowniangenerator.ll 1121582615 +quantlib/sobolbrowniangenerator.ll 1120382515 quantlib/sobolrsg.ll 46067042349 -quantlib/sofr.ll 666218597 +quantlib/sofr.ll 665365068 quantlib/sonia.ll 620888298 -quantlib/southafrica.ll 235452638 +quantlib/southafrica.ll 235197626 quantlib/southkorea.ll 1063188681 quantlib/sparseilupreconditioner.ll 1981950381 quantlib/spherecylinder.ll 332739648 -quantlib/spreadedoptionletvol.ll 815999715 -quantlib/spreadedsmilesection.ll 649867152 +quantlib/spreadedoptionletvol.ll 815137945 +quantlib/spreadedsmilesection.ll 649085658 quantlib/spreadedswaptionvol.ll 849029958 -quantlib/squarerootandersen.ll 374938570 +quantlib/squarerootandersen.ll 374510345 quantlib/squarerootclvmodel.ll 4812710872 -quantlib/squarerootprocess.ll 293818026 +quantlib/squarerootprocess.ll 293502389 quantlib/squarerootprocessrndcalculator.ll 3428706862 quantlib/steepestdescent.ll 90575425 -quantlib/stickyratchet.ll 232806734 +quantlib/stickyratchet.ll 232571877 quantlib/stochasticcollocationinvcdf.ll 696875009 quantlib/stochasticprocess.ll 553135394 -quantlib/stochasticprocessarray.ll 978520137 +quantlib/stochasticprocessarray.ll 977501340 quantlib/stock.ll 756726102 quantlib/strippedcapflooredcoupon.ll 1043291400 quantlib/strippedoptionlet.ll 1486315938 @@ -31923,25 +31923,25 @@ quantlib/swap.ll 2182747402 quantlib/swapbasissystem.ll 499322018 quantlib/swapforwardbasissystem.ll 470358587 quantlib/swapforwardmappings.ll 492813471 -quantlib/swapindex.ll 1490019122 +quantlib/swapindex.ll 1488317207 quantlib/swapratetrigger.ll 427439644 quantlib/swapspreadindex.ll 1229816018 quantlib/swaption.ll 2309828230 quantlib/swaptioncfs.ll 959438328 -quantlib/swaptionconstantvol.ll 1026440829 +quantlib/swaptionconstantvol.ll 1025363627 quantlib/swaptionhelper.ll 2785678085 quantlib/swaptionpseudojacobian.ll 1311691144 quantlib/swaptionvolcube.ll 1458358765 quantlib/swaptionvoldiscrete.ll 1204963354 -quantlib/swaptionvolmatrix.ll 3302634442 +quantlib/swaptionvolmatrix.ll 3299065156 quantlib/swaptionvolstructure.ll 300557871 quantlib/sweden.ll 195146515 -quantlib/switzerland.ll 189410773 +quantlib/switzerland.ll 189210523 quantlib/symmetricschurdecomposition.ll 1123691886 quantlib/syntheticcdo.ll 3533897891 quantlib/taiwan.ll 383083368 quantlib/tapcorrelations.ll 632992572 -quantlib/target.ll 188602024 +quantlib/target.ll 188410360 quantlib/tcopulapolicy.ll 4438350131 quantlib/tenoroptionletvts.ll 1294143194 quantlib/tenorswaptionvts.ll 1584187736 @@ -31963,9 +31963,9 @@ quantlib/tridiagonaloperator.ll 580954309 quantlib/triggeredswapexercise.ll 499950951 quantlib/trinomialtree.ll 782366163 quantlib/triplebandlinearop.ll 1203385973 -quantlib/turkey.ll 309677015 +quantlib/turkey.ll 309364371 quantlib/turnbullwakemanasianengine.ll 1303010578 -quantlib/twoassetbarrieroption.ll 791700159 +quantlib/twoassetbarrieroption.ll 790848730 quantlib/twoassetcorrelationoption.ll 711887754 quantlib/twofactormodel.ll 1361453666 quantlib/ukraine.ll 205383751 @@ -31978,12 +31978,12 @@ quantlib/unitofmeasureconversionmanager.ll 900600552 quantlib/upperboundengine.ll 2051967593 quantlib/usdliborswap.ll 842295503 quantlib/utilities.ll 1013338887 -quantlib/vanillaoption.ll 985146464 -quantlib/vanillaswap.ll 1716561943 +quantlib/vanillaoption.ll 984044717 +quantlib/vanillaswap.ll 1714555251 quantlib/vanillaswingoption.ll 1340368611 quantlib/vanillavppoption.ll 1002565791 quantlib/vannavolgabarrierengine.ll 3524048258 -quantlib/variancegammamodel.ll 1167511480 +quantlib/variancegammamodel.ll 1166069357 quantlib/variancegammaprocess.ll 723905783 quantlib/varianceoption.ll 699480289 quantlib/varianceswap.ll 710868584 @@ -31992,10 +31992,10 @@ quantlib/vegabumpcluster.ll 859471342 quantlib/vegastressedblackscholesprocess.ll 350926236 quantlib/version.ll 31930207 quantlib/volatilityinterpolationspecifierabcd.ll 762321806 -quantlib/volcube.ll 361664366 +quantlib/volcube.ll 361272989 quantlib/voltermstructure.ll 219832726 quantlib/weekday.ll 216360662 -quantlib/weekendsonly.ll 173466785 +quantlib/weekendsonly.ll 173278985 quantlib/writerextensibleoption.ll 804418962 quantlib/xoshiro256starstaruniformrng.ll 53674538 quantlib/yearfractiontodate.ll 239066917 @@ -32015,7 +32015,7 @@ quantlib/zigguratrng.ll 86002239 quest/QuEST.c.ll 466894074 quest/QuEST_common.c.ll 634183581 quest/QuEST_cpu.c.ll 2043214648 -quest/QuEST_cpu_local.c.ll 109692962 +quest/QuEST_cpu_local.c.ll 109551996 quest/QuEST_qasm.c.ll 456537647 quest/QuEST_validation.c.ll 725285711 quest/mt19937ar.c.ll 97779918 @@ -32060,8 +32060,8 @@ rayon-rs/3gtpnk30hls61mxx.ll 93586081 rayon-rs/3qoszy48rpwc5bnp.ll 287594780 rayon-rs/42isjd4q974i3ftt.ll 449571438 rayon-rs/4ho2e9t13rrkhaa8.ll 78781583 -rayon-rs/4ht8xefeo0zr8mzr.ll 314084135 -rayon-rs/4k8zt5cv4x2jivhi.ll 211098029 +rayon-rs/4ht8xefeo0zr8mzr.ll 313740815 +rayon-rs/4k8zt5cv4x2jivhi.ll 210851135 rayon-rs/4xa8jns6944z4boh.ll 522157475 rayon-rs/5ev50in5ju1pej99.ll 728902911 rayon-rs/6wmzy39i6zbenyc.ll 304216084 @@ -32109,9 +32109,9 @@ recastnavigation/DetourTileCacheBuilder.cpp.ll 1837119354 recastnavigation/Filelist.cpp.ll 287623755 recastnavigation/InputGeom.cpp.ll 345380975 recastnavigation/MeshLoaderObj.cpp.ll 168111891 -recastnavigation/NavMeshPruneTool.cpp.ll 305081608 +recastnavigation/NavMeshPruneTool.cpp.ll 304721995 recastnavigation/NavMeshTesterTool.cpp.ll 654023085 -recastnavigation/OffMeshConnectionTool.cpp.ll 87166435 +recastnavigation/OffMeshConnectionTool.cpp.ll 87079055 recastnavigation/Recast.cpp.ll 297281573 recastnavigation/RecastArea.cpp.ll 520513143 recastnavigation/RecastContour.cpp.ll 1833688288 @@ -32166,7 +32166,7 @@ redis/cli_common.ll 129620315 redis/cluster.ll 621151039 redis/cluster_legacy.ll 2475897977 redis/config.ll 1171856403 -redis/connection.ll 107982797 +redis/connection.ll 107862355 redis/ctl.ll 3886124725 redis/ctl.sym.ll 3886281480 redis/db.ll 1384119461 @@ -32197,7 +32197,7 @@ redis/function_lua.ll 186834666 redis/functions.ll 385611806 redis/fxp.ll 76899172 redis/fxp.sym.ll 76899910 -redis/geo.ll 411409272 +redis/geo.ll 414317414 redis/geohash.ll 245761652 redis/geohash_helper.ll 110200067 redis/hdr_histogram.ll 567572122 @@ -32321,7 +32321,7 @@ redis/t_list.ll 512305284 redis/t_set.ll 745653853 redis/t_stream.ll 1576771245 redis/t_string.ll 460661314 -redis/t_zset.ll 2212930041 +redis/t_zset.ll 2215619866 redis/tcache.ll 762807969 redis/tcache.sym.ll 762507705 redis/thread_event.ll 146541141 @@ -32416,7 +32416,7 @@ ripgrep-rs/1p7cjbb068z6rrl2.ll 143893833 ripgrep-rs/1rzxgyr0fo8f0ob1.ll 156578885 ripgrep-rs/1tu4ff7k1l20r9ex.ll 1601398621 ripgrep-rs/1ukn63sdzqaif6pp.ll 456480926 -ripgrep-rs/1z9h5gqzznas8vli.ll 210130091 +ripgrep-rs/1z9h5gqzznas8vli.ll 209899269 ripgrep-rs/1zzjpab9m5homdm3.ll 1114752306 ripgrep-rs/20vllb8f66lp502b.ll 408780620 ripgrep-rs/22j6dvsf1p76hecq.ll 380602128 @@ -32451,7 +32451,7 @@ ripgrep-rs/3vs5ulptsskws9gc.ll 48546205 ripgrep-rs/3xecgmndlg4aprp5.ll 692167674 ripgrep-rs/3z0plfw7nahr6t4f.ll 1413238294 ripgrep-rs/44q5hms9jxvl4b9q.ll 697791060 -ripgrep-rs/45o2da3e7aj5mw3i.ll 1603296106 +ripgrep-rs/45o2da3e7aj5mw3i.ll 1601624866 ripgrep-rs/48ebkfcy4wdt2bov.ll 390794029 ripgrep-rs/4bfxuxievipam920.ll 201020611 ripgrep-rs/4cq6nq4u7bbbs0et.ll 92987356 @@ -32532,7 +32532,7 @@ rocksdb/block_prefetcher.cc.ll 623737928 rocksdb/block_prefix_index.cc.ll 459578028 rocksdb/build_version.cc.ll 374709527 rocksdb/builder.cc.ll 2114545139 -rocksdb/bytesxor.cc.ll 214368470 +rocksdb/bytesxor.cc.ll 214132966 rocksdb/c.cc.ll 8263986194 rocksdb/cache.cc.ll 1127586469 rocksdb/cache_dump_load.cc.ll 646618510 @@ -32572,7 +32572,7 @@ rocksdb/concurrent_arena.cc.ll 262171518 rocksdb/concurrent_task_limiter_impl.cc.ll 90535212 rocksdb/configurable.cc.ll 1480292012 rocksdb/convenience.cc.ll 994204868 -rocksdb/counted_fs.cc.ll 769202855 +rocksdb/counted_fs.cc.ll 768334284 rocksdb/crc32c.cc.ll 501488260 rocksdb/cuckoo_table_builder.cc.ll 1352216288 rocksdb/cuckoo_table_factory.cc.ll 585943476 @@ -32606,7 +32606,7 @@ rocksdb/env_mirror.cc.ll 896124318 rocksdb/env_posix.cc.ll 1442066370 rocksdb/env_timed.cc.ll 490423383 rocksdb/error_handler.cc.ll 1668116135 -rocksdb/event_helpers.cc.ll 1176504636 +rocksdb/event_helpers.cc.ll 1175166435 rocksdb/experimental.cc.ll 1910452804 rocksdb/external_sst_file_ingestion_job.cc.ll 4385436679 rocksdb/fault_injection_env.cc.ll 1642156590 @@ -32637,9 +32637,9 @@ rocksdb/hash_skiplist_rep.cc.ll 777251300 rocksdb/histogram.cc.ll 484756557 rocksdb/histogram_windowing.cc.ll 266794008 rocksdb/import_column_family_job.cc.ll 2773808751 -rocksdb/in_memory_stats_history.cc.ll 145984287 -rocksdb/index_builder.cc.ll 632998792 -rocksdb/index_reader_common.cc.ll 177784349 +rocksdb/in_memory_stats_history.cc.ll 145810494 +rocksdb/index_builder.cc.ll 632241020 +rocksdb/index_reader_common.cc.ll 177598294 rocksdb/instrumented_mutex.cc.ll 327957149 rocksdb/internal_stats.cc.ll 3995700617 rocksdb/io_posix.cc.ll 2469526509 @@ -32652,7 +32652,7 @@ rocksdb/ldb_cmd.cc.ll 11079356067 rocksdb/ldb_tool.cc.ll 1031288487 rocksdb/leveldb_options.cc.ll 626961179 rocksdb/line_file_reader.cc.ll 450690084 -rocksdb/lock_manager.cc.ll 95682365 +rocksdb/lock_manager.cc.ll 95562756 rocksdb/lock_request.cc.ll 886992012 rocksdb/locktree.cc.ll 1016058915 rocksdb/log_buffer.cc.ll 157028833 @@ -32664,8 +32664,8 @@ rocksdb/malloc_stats.cc.ll 87529625 rocksdb/manager.cc.ll 615234218 rocksdb/max.cc.ll 234802545 rocksdb/memkind_kmem_allocator.cc.ll 119712873 -rocksdb/memory_allocator.cc.ll 2045052751 -rocksdb/memory_util.cc.ll 248549298 +rocksdb/memory_allocator.cc.ll 2042457724 +rocksdb/memory_util.cc.ll 248292793 rocksdb/memtable.cc.ll 3829894689 rocksdb/memtable_list.cc.ll 2460537974 rocksdb/merge_helper.cc.ll 2721898557 @@ -32677,7 +32677,7 @@ rocksdb/mock_env.cc.ll 2985001671 rocksdb/murmurhash.cc.ll 52918013 rocksdb/object_registry.cc.ll 1552752613 rocksdb/offpeak_time_info.cc.ll 78267569 -rocksdb/optimistic_transaction.cc.ll 593452282 +rocksdb/optimistic_transaction.cc.ll 592811662 rocksdb/optimistic_transaction_db_impl.cc.ll 2407961694 rocksdb/option_change_migration.cc.ll 1121681568 rocksdb/options.cc.ll 1994686092 @@ -32689,7 +32689,7 @@ rocksdb/partitioned_filter_block.cc.ll 1920471570 rocksdb/partitioned_index_iterator.cc.ll 930639900 rocksdb/partitioned_index_reader.cc.ll 1385528639 rocksdb/perf_context.cc.ll 682917481 -rocksdb/periodic_task_scheduler.cc.ll 1280975039 +rocksdb/periodic_task_scheduler.cc.ll 1279683015 rocksdb/persistent_cache_helper.cc.ll 241104557 rocksdb/persistent_cache_tier.cc.ll 420281163 rocksdb/persistent_stats_history.cc.ll 413533482 @@ -32703,7 +32703,7 @@ rocksdb/plain_table_key_coding.cc.ll 640634301 rocksdb/plain_table_reader.cc.ll 2405362286 rocksdb/point_lock_manager.cc.ll 4361136012 rocksdb/point_lock_tracker.cc.ll 868156123 -rocksdb/port_posix.cc.ll 117350542 +rocksdb/port_posix.cc.ll 117219744 rocksdb/prefetch_buffer_collection.cc.ll 577872809 rocksdb/put.cc.ll 281036167 rocksdb/random.cc.ll 92207249 @@ -32722,7 +32722,7 @@ rocksdb/replayer_impl.cc.ll 687952751 rocksdb/secondary_cache_adapter.cc.ll 1598348259 rocksdb/seqno_to_time_mapping.cc.ll 1685761791 rocksdb/sequence_file_reader.cc.ll 767159808 -rocksdb/sharded_cache.cc.ll 187580971 +rocksdb/sharded_cache.cc.ll 187391973 rocksdb/sim_cache.cc.ll 900059423 rocksdb/skiplistrep.cc.ll 1301663583 rocksdb/slice.cc.ll 1841165569 @@ -32759,17 +32759,17 @@ rocksdb/trace_record_result.cc.ll 231645017 rocksdb/trace_replay.cc.ll 1090138389 rocksdb/transaction_base.cc.ll 1638380653 rocksdb/transaction_db_mutex_impl.cc.ll 205570671 -rocksdb/transaction_log_impl.cc.ll 1152829027 +rocksdb/transaction_log_impl.cc.ll 1151588321 rocksdb/transaction_test_util.cc.ll 987898569 rocksdb/transaction_util.cc.ll 370528122 rocksdb/treenode.cc.ll 337194751 rocksdb/two_level_iterator.cc.ll 277781818 rocksdb/txnid_set.cc.ll 313407775 rocksdb/udt_util.cc.ll 558814733 -rocksdb/uint64add.cc.ll 205448170 +rocksdb/uint64add.cc.ll 205204215 rocksdb/uncompression_dict_reader.cc.ll 216985147 rocksdb/unique_id.cc.ll 237788971 -rocksdb/unique_id_gen.cc.ll 165980954 +rocksdb/unique_id_gen.cc.ll 165802259 rocksdb/vectorrep.cc.ll 1193909566 rocksdb/version_builder.cc.ll 4058802800 rocksdb/version_edit.cc.ll 1876844111 @@ -32824,7 +32824,7 @@ ruby/bubblebabble.ll 122798166 ruby/builtin.ll 112953585 ruby/cesu_8.ll 127799628 ruby/class.ll 1050123757 -ruby/compile.ll 16287469353 +ruby/compile.ll 16328662818 ruby/complex.ll 1587248627 ruby/console.ll 362219142 ruby/constants.ll 869213443 @@ -32834,8 +32834,8 @@ ruby/cp949.ll 60570932 ruby/cstr.ll 139867116 ruby/date_core.ll 3645163533 ruby/date_parse.ll 2397365347 -ruby/date_strftime.ll 629423373 -ruby/date_strptime.ll 566850726 +ruby/date_strftime.ll 628418007 +ruby/date_strptime.ll 566253151 ruby/debug.ll 71066392 ruby/digest.ll 199491603 ruby/dir.ll 1099364875 @@ -33040,7 +33040,7 @@ rust-analyzer-rs/1a0ojo5v21uuli03.ll 454628703 rust-analyzer-rs/1a1zl56kycqv0u1p.ll 780661368 rust-analyzer-rs/1a2athgpe0u8z37j.ll 590744636 rust-analyzer-rs/1a9wgp98jzqk22uy.ll 892920437 -rust-analyzer-rs/1arzxdbnyk8fkg2l.ll 4887102323 +rust-analyzer-rs/1arzxdbnyk8fkg2l.ll 4882214989 rust-analyzer-rs/1au8fupciwcmum6.ll 21966583647 rust-analyzer-rs/1b6xp6lrqkqaedig.ll 30846325498 rust-analyzer-rs/1bjrygtvfxna7kin.ll 5433256887 @@ -33069,7 +33069,7 @@ rust-analyzer-rs/1n2nbybgay5hs9t3.ll 4519320547 rust-analyzer-rs/1n6t6n716s6vtscg.ll 6774606437 rust-analyzer-rs/1nq05dx97mrwfe5q.ll 1492692465 rust-analyzer-rs/1ocnbqjisn6f62l.ll 28918783008 -rust-analyzer-rs/1odpv3eeje06yf96.ll 1511847113 +rust-analyzer-rs/1odpv3eeje06yf96.ll 1510200517 rust-analyzer-rs/1opoiu8yzxku2bb7.ll 16074289715 rust-analyzer-rs/1p0iigfpelh2fxri.ll 310266799 rust-analyzer-rs/1pwj5zl5udagsgkm.ll 483205285 @@ -33115,7 +33115,7 @@ rust-analyzer-rs/25tozh2fr1r5ujs0.ll 958431343 rust-analyzer-rs/263movrkvzfkcmw2.ll 414731607 rust-analyzer-rs/266k6bqg3m0kg73d.ll 6968650370 rust-analyzer-rs/266kpbtyw349d2y8.ll 280034933 -rust-analyzer-rs/27by592xx6qbsutp.ll 447024156 +rust-analyzer-rs/27by592xx6qbsutp.ll 446460012 rust-analyzer-rs/27nq9ouizkmpc8x5.ll 1087325753 rust-analyzer-rs/283lazrkge1bb16o.ll 1963365595 rust-analyzer-rs/28jcyytu5knrz2fd.ll 2774970146 @@ -33197,7 +33197,7 @@ rust-analyzer-rs/30xtbgi0aa5f1nss.ll 3329857444 rust-analyzer-rs/32159jsxk2k2usd7.ll 6830541049 rust-analyzer-rs/32bq2465pah9s0xr.ll 9891567412 rust-analyzer-rs/32k9emi9ipqo4utc.ll 486928787 -rust-analyzer-rs/33wiy5muhbs8ctf.ll 329148789 +rust-analyzer-rs/33wiy5muhbs8ctf.ll 328804366 rust-analyzer-rs/34aixgz8bp7wb24p.ll 634060368 rust-analyzer-rs/34epm85550lugb2d.ll 19981389983 rust-analyzer-rs/34iz1ce50suppavh.ll 508096014 @@ -33275,7 +33275,7 @@ rust-analyzer-rs/41f7ddah72h8g0ie.ll 41145954 rust-analyzer-rs/42n1lucpcixci439.ll 410956272 rust-analyzer-rs/434fzezlnnye3nix.ll 2475503448 rust-analyzer-rs/43lb6ni48vyk0mse.ll 2150488422 -rust-analyzer-rs/43nczfbfdd1c6gc3.ll 169752713 +rust-analyzer-rs/43nczfbfdd1c6gc3.ll 169537102 rust-analyzer-rs/43pdur0jxhus3hd4.ll 14629634273 rust-analyzer-rs/43ziu3sspt3bixjk.ll 2685408456 rust-analyzer-rs/44ayynfm08lnhjsw.ll 11280739064 @@ -33402,7 +33402,7 @@ rust-analyzer-rs/5cv6fzh8luwt5r60.ll 6485829483 rust-analyzer-rs/5d8poqeznvlx1h03.ll 358947785 rust-analyzer-rs/5djmpgt9ghwflvfq.ll 12445680384 rust-analyzer-rs/5dls0k37z0lpcnxf.ll 590659509 -rust-analyzer-rs/5dzancx749u0myyk.ll 6395780770 +rust-analyzer-rs/5dzancx749u0myyk.ll 6388246520 rust-analyzer-rs/5e0wslse2ls19syc.ll 428111708 rust-analyzer-rs/5e9lbgp68cpg0q6a.ll 9344717118 rust-analyzer-rs/5efjmftjssfnzleg.ll 11890865577 @@ -33414,7 +33414,7 @@ rust-analyzer-rs/5tc27igfpd8lxn0.ll 5858565980 rust-analyzer-rs/6218mmeycy2lka1.ll 19414861908 rust-analyzer-rs/62jls0djfkqesn3.ll 108630729 rust-analyzer-rs/635ry91nhs2ocdh.ll 600872340 -rust-analyzer-rs/68ytxs4wk5ncclk.ll 23233768319 +rust-analyzer-rs/68ytxs4wk5ncclk.ll 23209446086 rust-analyzer-rs/6geurunh5eorswv.ll 5784000044 rust-analyzer-rs/6ix1w6o1enhavym.ll 294860557 rust-analyzer-rs/7lpeywhc9n6h2ze.ll 29287581430 @@ -33429,7 +33429,7 @@ rust-analyzer-rs/9ipmi6my0zkv4p.ll 4644450614 rust-analyzer-rs/9o1cq3k2zy9kphw.ll 360902475 rust-analyzer-rs/9xkc74kd1bsgldb.ll 20049361273 rust-analyzer-rs/a1gz87jxvbvnc32.ll 6613942815 -rust-analyzer-rs/adsklrs215qwyaa.ll 2437820427 +rust-analyzer-rs/adsklrs215qwyaa.ll 2435369166 rust-analyzer-rs/aq6vzyl3cdvfzgv.ll 5741526020 rust-analyzer-rs/awv6aju8ybiknh.ll 81402793 rust-analyzer-rs/ax17c37uj31hhic.ll 8426407598 @@ -33457,7 +33457,7 @@ rust-analyzer-rs/k7tkamocj2mkngu.ll 861542093 rust-analyzer-rs/kcxpblerbqo90m6.ll 9478813460 rust-analyzer-rs/kgjdhswqfwvmeof.ll 3401696794 rust-analyzer-rs/kusn7g75uvgw38z.ll 52536307 -rust-analyzer-rs/l0tkbojyonj85dp.ll 62335967 +rust-analyzer-rs/l0tkbojyonj85dp.ll 62255238 rust-analyzer-rs/l6qsabb4kg569bf.ll 422059133 rust-analyzer-rs/leba1wmgxgrzxkl.ll 10515721940 rust-analyzer-rs/lkt0vc36jo6l130.ll 4802516038 @@ -33491,7 +33491,7 @@ rust-analyzer-rs/ufa4p1xkxrokz79.ll 563907256 rust-analyzer-rs/v2z6ecwiine657n.ll 463280639 rust-analyzer-rs/vccy6rg1lgzb14e.ll 5411260900 rust-analyzer-rs/vhdf3hp2hnrr9zz.ll 73241495 -rust-analyzer-rs/vux7x0s1st8za9f.ll 349991504 +rust-analyzer-rs/vux7x0s1st8za9f.ll 349635165 rust-analyzer-rs/w5izhm9gpx5oofk.ll 75716353 rust-analyzer-rs/wbobvfguvtnjjwz.ll 678893166 rust-analyzer-rs/wcknfmhk1hydgx3.ll 14122842566 @@ -33533,18 +33533,18 @@ sentencepiece/char_model.cc.ll 418301263 sentencepiece/char_model_trainer.cc.ll 551089833 sentencepiece/coded_stream.cc.ll 715859382 sentencepiece/common.cc.ll 139563321 -sentencepiece/error.cc.ll 127324346 +sentencepiece/error.cc.ll 127170198 sentencepiece/extension_set.cc.ll 4008511392 sentencepiece/filesystem.cc.ll 243908304 -sentencepiece/flag.cc.ll 1105608093 +sentencepiece/flag.cc.ll 1104255918 sentencepiece/generated_enum_util.cc.ll 148714816 sentencepiece/generated_message_table_driven_lite.cc.ll 3134655430 sentencepiece/generated_message_util.cc.ll 3664655641 sentencepiece/implicit_weak_message.cc.ll 122821561 sentencepiece/int128.cc.ll 198667018 sentencepiece/message_lite.cc.ll 561343229 -sentencepiece/model_factory.cc.ll 160273522 -sentencepiece/model_interface.cc.ll 1176719365 +sentencepiece/model_factory.cc.ll 160069016 +sentencepiece/model_interface.cc.ll 1175421879 sentencepiece/normalizer.cc.ll 1565997404 sentencepiece/parse_context.cc.ll 1258606039 sentencepiece/pretokenizer_for_training.cc.ll 281326358 @@ -33565,7 +33565,7 @@ sentencepiece/stringprintf.cc.ll 80989494 sentencepiece/structurally_valid.cc.ll 170788758 sentencepiece/strutil.cc.ll 1250477154 sentencepiece/time.cc.ll 301029690 -sentencepiece/trainer_factory.cc.ll 189331430 +sentencepiece/trainer_factory.cc.ll 189019709 sentencepiece/trainer_interface.cc.ll 4370148746 sentencepiece/unicode_script.cc.ll 100527419364 sentencepiece/unigram_model.cc.ll 5426443403 @@ -33664,7 +33664,7 @@ slurm/cred_munge.ll 104814154 slurm/cron.ll 251055722 slurm/data.ll 765334049 slurm/data_parser.ll 252426470 -slurm/data_parser_v0_0_39_la-alloc.ll 71931921 +slurm/data_parser_v0_0_39_la-alloc.ll 71849687 slurm/data_parser_v0_0_39_la-api.ll 77749268 slurm/data_parser_v0_0_39_la-openapi.ll 145926192 slurm/data_parser_v0_0_39_la-parsers.ll 1377676724 @@ -33741,7 +33741,7 @@ slurm/job_container_tmpfs.ll 303233362 slurm/job_features.ll 94182204 slurm/job_info.ll 911104110 slurm/job_mgr.ll 6580116962 -slurm/job_report_functions.ll 196524019 +slurm/job_report_functions.ll 277331268 slurm/job_reports.ll 380518502 slurm/job_resources.ll 222285068 slurm/job_scheduler.ll 2014578754 @@ -33772,7 +33772,7 @@ slurm/mcs_account.ll 44164515 slurm/mgr.ll 981789915 slurm/mpi.ll 512415659 slurm/mpi_cray_shasta_la-apinfo.ll 526433656 -slurm/mpi_cray_shasta_la-mpi_cray_shasta.ll 74875302 +slurm/mpi_cray_shasta_la-mpi_cray_shasta.ll 74796362 slurm/mpi_pmi2.ll 56732584 slurm/multi_prog.ll 220922767 slurm/net.ll 91474932 @@ -34006,7 +34006,7 @@ spike/add16.ll 603363885 spike/add32.ll 471798272 spike/add64.ll 526019540 spike/add8.ll 608896973 -spike/add_uw.ll 399257973 +spike/add_uw.ll 398800455 spike/addi.ll 405828651 spike/addiw.ll 374365380 spike/addw.ll 376798646 @@ -34032,7 +34032,7 @@ spike/amoand_w.ll 1081230561 spike/amocas_b.ll 646213046 spike/amocas_d.ll 738014616 spike/amocas_h.ll 648443581 -spike/amocas_q.ll 712302478 +spike/amocas_q.ll 711559588 spike/amocas_w.ll 630594762 spike/amomax_b.ll 1063789741 spike/amomax_d.ll 796007741 @@ -34071,7 +34071,7 @@ spike/bclr.ll 459857284 spike/bclri.ll 450472158 spike/beq.ll 357016815 spike/bext.ll 449742802 -spike/bexti.ll 440341370 +spike/bexti.ll 439890427 spike/bge.ll 357024989 spike/bgeu.ll 356902494 spike/binv.ll 458016733 @@ -34094,7 +34094,7 @@ spike/c_fld.ll 611788601 spike/c_fldsp.ll 609419310 spike/c_flw.ll 620141665 spike/c_flwsp.ll 623507832 -spike/c_fsd.ll 453363156 +spike/c_fsd.ll 452778333 spike/c_fsdsp.ll 441085582 spike/c_fsw.ll 477188357 spike/c_fswsp.ll 461120381 @@ -34109,7 +34109,7 @@ spike/c_li.ll 425952664 spike/c_lui.ll 592815424 spike/c_lw.ll 608485861 spike/c_lwsp.ll 616328146 -spike/c_mul.ll 463601583 +spike/c_mul.ll 463126819 spike/c_mv.ll 445587347 spike/c_not.ll 420365635 spike/c_or.ll 431967448 @@ -34171,11 +34171,11 @@ spike/csrrw.ll 438017456 spike/csrrwi.ll 425766190 spike/csrs.ll 2421059888 spike/ctz.ll 477890852 -spike/ctzw.ll 416023295 +spike/ctzw.ll 415470266 spike/czero_eqz.ll 447988715 spike/czero_nez.ll 448231019 spike/debug_module.ll 1026868141 -spike/device.ll 1077615509 +spike/device.ll 1076444103 spike/devices.ll 445025003 spike/disasm.ll 4703432846 spike/div.ll 538638455 @@ -34186,7 +34186,7 @@ spike/dret.ll 299834532 spike/dtm.ll 250085927 spike/dts.ll 269594740 spike/dummy_rocc.ll 179192976 -spike/ebreak.ll 302451687 +spike/ebreak.ll 302060720 spike/ecall.ll 252217375 spike/elf2hex.ll 116021354 spike/elfloader.ll 534054224 @@ -34246,7 +34246,7 @@ spike/fcvt_bf16_s.ll 570480158 spike/fcvt_d_h.ll 642130477 spike/fcvt_d_l.ll 474623407 spike/fcvt_d_lu.ll 474626788 -spike/fcvt_d_q.ll 480315871 +spike/fcvt_d_q.ll 479823015 spike/fcvt_d_s.ll 612465692 spike/fcvt_d_w.ll 597847304 spike/fcvt_d_wu.ll 597851597 @@ -34257,11 +34257,11 @@ spike/fcvt_h_q.ll 500836217 spike/fcvt_h_s.ll 579734773 spike/fcvt_h_w.ll 563948548 spike/fcvt_h_wu.ll 563967304 -spike/fcvt_l_d.ll 465681825 +spike/fcvt_l_d.ll 465128503 spike/fcvt_l_h.ll 461995773 spike/fcvt_l_q.ll 441893940 spike/fcvt_l_s.ll 464569304 -spike/fcvt_lu_d.ll 465704418 +spike/fcvt_lu_d.ll 465131953 spike/fcvt_lu_h.ll 462001721 spike/fcvt_lu_q.ll 441746055 spike/fcvt_lu_s.ll 464569746 @@ -34269,7 +34269,7 @@ spike/fcvt_q_d.ll 483303334 spike/fcvt_q_h.ll 506141734 spike/fcvt_q_l.ll 429202612 spike/fcvt_q_lu.ll 429207434 -spike/fcvt_q_s.ll 487454449 +spike/fcvt_q_s.ll 486962583 spike/fcvt_q_w.ll 484985838 spike/fcvt_q_wu.ll 484996949 spike/fcvt_s_bf16.ll 571527284 @@ -34318,7 +34318,7 @@ spike/fli_d.ll 540318343 spike/fli_h.ll 505436628 spike/fli_q.ll 452089071 spike/fli_s.ll 511169321 -spike/flq.ll 578429277 +spike/flq.ll 577839481 spike/flt_d.ll 564994543 spike/flt_h.ll 511247335 spike/flt_q.ll 462904985 @@ -34361,7 +34361,7 @@ spike/fmv_h_x.ll 437063839 spike/fmv_w_x.ll 440197512 spike/fmv_x_d.ll 400293564 spike/fmv_x_h.ll 431377252 -spike/fmv_x_w.ll 433812883 +spike/fmv_x_w.ll 433375562 spike/fmvh_x_d.ll 445032741 spike/fmvh_x_q.ll 405115691 spike/fmvp_d_x.ll 482315188 @@ -34414,7 +34414,7 @@ spike/grevi.ll 612478764 spike/hfence_gvma.ll 306034861 spike/hfence_vvma.ll 292727357 spike/hinval_gvma.ll 323731254 -spike/hinval_vvma.ll 310784922 +spike/hinval_vvma.ll 310461230 spike/hlv_b.ll 611118892 spike/hlv_bu.ll 611327309 spike/hlv_d.ll 540942396 @@ -34433,7 +34433,7 @@ spike/htif_hexwriter.ll 414289194 spike/htif_pthread.ll 1028835693 spike/insb.ll 521312057 spike/interactive.ll 2939126453 -spike/isa_parser.ll 862852979 +spike/isa_parser.ll 861949958 spike/jal.ll 480425702 spike/jalr.ll 472065119 spike/kabs16.ll 633917358 @@ -34473,7 +34473,7 @@ spike/khmtt16.ll 548270120 spike/khmx16.ll 803447168 spike/khmx8.ll 875153258 spike/kmabb.ll 651702196 -spike/kmabb32.ll 444711163 +spike/kmabb32.ll 444185211 spike/kmabt.ll 653356726 spike/kmabt32.ll 447514796 spike/kmada.ll 765909824 @@ -34582,7 +34582,7 @@ spike/orn.ll 451874920 spike/pack.ll 472405961 spike/packh.ll 453343911 spike/packu.ll 455875682 -spike/packw.ll 428531394 +spike/packw.ll 428059332 spike/pbsad.ll 580126893 spike/pbsada.ll 586671086 spike/pkbb16.ll 498362148 @@ -34663,7 +34663,7 @@ spike/s_subMagsF32.ll 70189419 spike/s_subMagsF64.ll 68045782 spike/sb.ll 418063753 spike/sb_rl.ll 434266228 -spike/sc_d.ll 557330180 +spike/sc_d.ll 556686813 spike/sc_w.ll 599318916 spike/sclip16.ll 636680017 spike/sclip32.ll 594083948 @@ -34675,7 +34675,7 @@ spike/scmplt8.ll 602089629 spike/sd.ll 373464586 spike/sd_rl.ll 384422281 spike/sext_b.ll 431594927 -spike/sext_h.ll 431752469 +spike/sext_h.ll 431318834 spike/sfence_inval_ir.ll 355234358 spike/sfence_vma.ll 367747223 spike/sfence_w_inval.ll 355220945 @@ -34685,14 +34685,14 @@ spike/sh1add_uw.ll 399977445 spike/sh2add.ll 448865340 spike/sh2add_uw.ll 399958453 spike/sh3add.ll 448695679 -spike/sh3add_uw.ll 400020429 +spike/sh3add_uw.ll 399597489 spike/sh_rl.ll 440984315 spike/sha256sig0.ll 441653636 spike/sha256sig1.ll 441531941 spike/sha256sum0.ll 443157692 -spike/sha256sum1.ll 443427978 +spike/sha256sum1.ll 442858061 spike/sha512sig0.ll 394173080 -spike/sha512sig0h.ll 430777472 +spike/sha512sig0h.ll 430346654 spike/sha512sig0l.ll 436415199 spike/sha512sig1.ll 394508015 spike/sha512sig1h.ll 430904656 @@ -34702,7 +34702,7 @@ spike/sha512sum0r.ll 442734364 spike/sha512sum1.ll 394776871 spike/sha512sum1r.ll 437857055 spike/shfli.ll 510408312 -spike/sim.ll 2048782255 +spike/sim.ll 2046708532 spike/sinval_vma.ll 386540811 spike/sll.ll 416699921 spike/sll16.ll 581008704 @@ -34712,7 +34712,7 @@ spike/slli.ll 421445314 spike/slli16.ll 562258636 spike/slli32.ll 450121435 spike/slli8.ll 566458898 -spike/slli_uw.ll 396144669 +spike/slli_uw.ll 395683640 spike/slliw.ll 376205738 spike/sllw.ll 379515062 spike/slt.ll 412409980 @@ -34815,14 +34815,14 @@ spike/sub16.ll 606783778 spike/sub32.ll 473181098 spike/sub64.ll 526006498 spike/sub8.ll 612480124 -spike/subw.ll 377083528 +spike/subw.ll 376596034 spike/sunpkd810.ll 512910519 spike/sunpkd820.ll 514950226 spike/sunpkd830.ll 513912386 spike/sunpkd831.ll 512765132 spike/sunpkd832.ll 515366444 spike/sw.ll 427253309 -spike/sw_rl.ll 441497996 +spike/sw_rl.ll 441032088 spike/syscall.ll 1227325412 spike/term.ll 47106768 spike/triggers.ll 818072431 @@ -34933,7 +34933,7 @@ spike/vdiv_vv.ll 852119324 spike/vdiv_vx.ll 887104830 spike/vdivu_vv.ll 788761038 spike/vdivu_vx.ll 813930749 -spike/vector_unit.ll 989886118 +spike/vector_unit.ll 988770861 spike/vfadd_vf.ll 872520024 spike/vfadd_vv.ll 865200263 spike/vfclass_v.ll 800249815 @@ -34941,7 +34941,7 @@ spike/vfcvt_f_x_v.ll 1483603571 spike/vfcvt_f_xu_v.ll 1482370695 spike/vfcvt_rtz_x_f_v.ll 1485665596 spike/vfcvt_rtz_xu_f_v.ll 1485130699 -spike/vfcvt_x_f_v.ll 1487640903 +spike/vfcvt_x_f_v.ll 1486058598 spike/vfcvt_xu_f_v.ll 1487556387 spike/vfdiv_vf.ll 872466554 spike/vfdiv_vv.ll 865980243 @@ -34961,7 +34961,7 @@ spike/vfmsub_vf.ll 880988842 spike/vfmsub_vv.ll 877431652 spike/vfmul_vf.ll 872469918 spike/vfmul_vv.ll 865204954 -spike/vfmv_f_s.ll 729391444 +spike/vfmv_f_s.ll 728535866 spike/vfmv_s_f.ll 677271384 spike/vfmv_v_f.ll 777741930 spike/vfncvt_f_f_w.ll 1229625359 @@ -35345,7 +35345,7 @@ stb/stb_dxt.c.ll 417272503 stb/stb_easy_font.c.ll 121556709 stb/stb_herringbone_wang_tile.c.ll 1879405940 stb/stb_hexwave.c.ll 268812638 -stb/stb_image.c.ll 5467585755 +stb/stb_image.c.ll 5475274980 stb/stb_image_resize2.c.ll 5052654677 stb/stb_image_write.c.ll 1396208123 stb/stb_include.c.ll 165145770 @@ -35376,7 +35376,7 @@ stockfish/ucioption.ll 506416462 sundials/arkode.c.ll 660038120 sundials/arkode_adapt.c.ll 65464945 sundials/arkode_arkstep.c.ll 877904377 -sundials/arkode_arkstep_io.c.ll 384661401 +sundials/arkode_arkstep_io.c.ll 384222204 sundials/arkode_arkstep_nls.c.ll 150419935 sundials/arkode_bandpre.c.ll 163016242 sundials/arkode_bbdpre.c.ll 194577538 @@ -35387,7 +35387,7 @@ sundials/arkode_io.c.ll 320799010 sundials/arkode_ls.c.ll 618728136 sundials/arkode_mri_tables.c.ll 755540905 sundials/arkode_mristep.c.ll 762123100 -sundials/arkode_mristep_io.c.ll 185539063 +sundials/arkode_mristep_io.c.ll 185293698 sundials/arkode_mristep_nls.c.ll 117960634 sundials/arkode_relaxation.c.ll 258346439 sundials/arkode_root.c.ll 331573205 @@ -35438,7 +35438,7 @@ sundials/nvector_manyvector.c.ll 380835103 sundials/nvector_serial.c.ll 781048829 sundials/sundials_band.c.ll 276033098 sundials/sundials_dense.c.ll 507843488 -sundials/sundials_direct.c.ll 185080064 +sundials/sundials_direct.c.ll 184868602 sundials/sundials_errors.c.ll 62459765 sundials/sundials_iterative.c.ll 229513411 sundials/sundials_logger.c.ll 240174311 @@ -35462,12 +35462,12 @@ syn/19z3k5eqgbxjiezn.ll 2556051960 syn/1isw8n6q6q0tgdaq.ll 4305938697 syn/2i67i8azb4r5b3mw.ll 3382647524 syn/2khi0xu1ufmhwoo.ll 2658226584 -syn/2tga7oe2tfdpj05w.ll 2809020699 +syn/2tga7oe2tfdpj05w.ll 2806170961 syn/3e28wvtnspuupgei.ll 3244044732 syn/3r5osr990qsnm7hf.ll 3847202109 syn/4dl8yvgrwkkcv6u.ll 1864516977 syn/4llvvcm7ykus6q9g.ll 2517908557 -syn/4pem7cta6fyqelao.ll 2133020361 +syn/4pem7cta6fyqelao.ll 2130213722 syn/56htwb1zk20ney2o.ll 727443616 syn/59s55fjcmu2d325w.ll 1600259553 syn/akcjbpenbinfer0.ll 1769249517 @@ -35495,7 +35495,7 @@ taskflow/parallel_data_pipeline.cpp.ll 7165538181 taskflow/parallel_for.cpp.ll 7131979370 taskflow/parallel_graph_pipeline.cpp.ll 8807018231 taskflow/parallel_sort.cpp.ll 6308400154 -taskflow/pipeline.cpp.ll 8706044967 +taskflow/pipeline.cpp.ll 8696961464 taskflow/pipeline_with_deferred_tokens.cpp.ll 8801329239 taskflow/priority.cpp.ll 6484725931 taskflow/reduce.cpp.ll 7268647484 @@ -35626,7 +35626,7 @@ tokio-rs/k2uhbjhe54a6089.ll 42160590 tokio-rs/qqq7nw5h0oohsoh.ll 54441846 tokio-rs/r9h5225tdo2hxm6.ll 2064875344 tokio-rs/rq81hdouiclvz49.ll 61766307 -tokio-rs/um69cc05lgsv45r.ll 2476291144 +tokio-rs/um69cc05lgsv45r.ll 2473481613 tomlplusplus/toml.cpp.ll 8424220236 tree-sitter-rs/18icl7374jy052bn.ll 107553736 tree-sitter-rs/18kt1xijwoc4jebp.ll 11219033668 @@ -35702,7 +35702,7 @@ tree-sitter-rs/5dicbs4s56kmxb4j.ll 59732495 tree-sitter-rs/5e4w8uibwrcl4d4a.ll 8680083612 tree-sitter-rs/5edwf61672v3jzil.ll 812983985 tree-sitter-rs/5el7r6jpk9vnyf1c.ll 587378983 -tree-sitter-rs/5exgj98ug936yba5.ll 849844354 +tree-sitter-rs/5exgj98ug936yba5.ll 848767262 tree-sitter-rs/625td5bh6h6b3cx.ll 7982647784 tree-sitter-rs/76by25jz7vi08g1.ll 13611461679 tree-sitter-rs/99e7gbsiai38vp2.ll 3595316172 @@ -35739,11 +35739,11 @@ turborepo-rs/397adzofsg1m4vpnoty9f4olk.ll 103765206 turborepo-rs/39tfs0fazjpiegi7x8722cij0.ll 32623430 turborepo-rs/3fk5hcx75aeasird8xahweqvs.ll 34963685 turborepo-rs/3l7xg3ikfppult5o2lclnyys7.ll 562756090 -turborepo-rs/3wg34qzs64td8o5fq33fcg5rk.ll 451985151 +turborepo-rs/3wg34qzs64td8o5fq33fcg5rk.ll 451516810 turborepo-rs/43mxnq5l18zt2wz7kzlj45feg.ll 958321467 turborepo-rs/48o4amdii1hw5iq3bxbkre4yx.ll 36956921 turborepo-rs/4npj4wsmg2ap1thdgni5ygdc7.ll 192529519 -turborepo-rs/4snjx7j460s69h0xnzx9tlrzk.ll 116888272 +turborepo-rs/4snjx7j460s69h0xnzx9tlrzk.ll 116745856 turborepo-rs/4vdzcrqmrfs3duezq953b12ub.ll 113390768 turborepo-rs/4w1csgyiq6dgirwtqbfcv7k3j.ll 37673572 turborepo-rs/4w2esflvo3af23i5beiirhnry.ll 147877820 @@ -35758,7 +35758,7 @@ turborepo-rs/5zo83lltehbj7neheqnb3lfr4.ll 35907246 turborepo-rs/64uwdsmpexaigapuegn2rljv5.ll 33288825 turborepo-rs/667fw7b0fgqo2a1672jmft41u.ll 1142741364 turborepo-rs/68uz0ms18epwru7402hblucwm.ll 405885295 -turborepo-rs/6fe2bi1zs9aq3tv2o4cs7t5ld.ll 74474423 +turborepo-rs/6fe2bi1zs9aq3tv2o4cs7t5ld.ll 74373184 turborepo-rs/6j3umgnakkhp7hfu3kjgv6nxx.ll 313455710 turborepo-rs/6jkgkc1600lrz2u0oa3gubskw.ll 2266178387 turborepo-rs/6xu5in3f251xfadbifq2n85lj.ll 196760112 @@ -35893,7 +35893,7 @@ vcpkg/ci-baseline.cpp.ll 2691750521 vcpkg/cmakevars.cpp.ll 2835098131 vcpkg/cmd-parser.cpp.ll 2483526667 vcpkg/cofffilereader.cpp.ll 3378581540 -vcpkg/commands.acquire-project.cpp.ll 215876296 +vcpkg/commands.acquire-project.cpp.ll 215583275 vcpkg/commands.acquire.cpp.ll 479870183 vcpkg/commands.activate.cpp.ll 215946691 vcpkg/commands.add-version.cpp.ll 2827575944 @@ -35909,7 +35909,7 @@ vcpkg/commands.ci.cpp.ll 5510890036 vcpkg/commands.contact.cpp.ll 952185053 vcpkg/commands.cpp.ll 443989350 vcpkg/commands.create.cpp.ll 1223928782 -vcpkg/commands.deactivate.cpp.ll 144555158 +vcpkg/commands.deactivate.cpp.ll 144404235 vcpkg/commands.depend-info.cpp.ll 4351214574 vcpkg/commands.download.cpp.ll 1324908288 vcpkg/commands.edit.cpp.ll 1559365177 @@ -35929,19 +35929,19 @@ vcpkg/commands.package-info.cpp.ll 1798723915 vcpkg/commands.portsdiff.cpp.ll 2160961758 vcpkg/commands.regenerate.cpp.ll 354846235 vcpkg/commands.remove.cpp.ll 2798286224 -vcpkg/commands.search.cpp.ll 197020851 +vcpkg/commands.search.cpp.ll 196748126 vcpkg/commands.set-installed.cpp.ll 3383025084 vcpkg/commands.update-baseline.cpp.ll 1683766084 -vcpkg/commands.update-registry.cpp.ll 329381486 +vcpkg/commands.update-registry.cpp.ll 328986220 vcpkg/commands.update.cpp.ll 1656001497 -vcpkg/commands.upgrade.cpp.ll 1460336563 +vcpkg/commands.upgrade.cpp.ll 1458717316 vcpkg/commands.use.cpp.ll 480265933 vcpkg/commands.version.cpp.ll 952057418 vcpkg/commands.z-changelog.cpp.ll 1108224156 vcpkg/commands.z-extract.cpp.ll 1379144160 vcpkg/commands.z-generate-message-map.cpp.ll 2005499917 -vcpkg/commands.z-preregister-telemetry.cpp.ll 263311951 -vcpkg/commands.z-print-config.cpp.ll 199570664 +vcpkg/commands.z-preregister-telemetry.cpp.ll 262960009 +vcpkg/commands.z-print-config.cpp.ll 199351287 vcpkg/configuration.cpp.ll 4088086478 vcpkg/configure-environment.cpp.ll 1292696197 vcpkg/dependencies.cpp.ll 12047134948 @@ -36018,7 +36018,7 @@ velox/ConstantExpr.cpp.ll 1779938772 velox/ConstantVector.cpp.ll 128888395 velox/Counters.cpp.ll 2476208100 velox/CoverageUtil.cpp.ll 1422416380 -velox/CumeDist.cpp.ll 693868870 +velox/CumeDist.cpp.ll 693134496 velox/DateTimeFormatter.cpp.ll 2452961696 velox/DateTimeFormatterBuilder.cpp.ll 527092259 velox/DecimalUtil.cpp.ll 202772759 @@ -36043,18 +36043,18 @@ velox/FirstLastValue.cpp.ll 3826935454 velox/FlatVector.cpp.ll 3978631764 velox/FromUnixTime.cpp.ll 3891533826 velox/FromUtf8.cpp.ll 11432936680 -velox/FunctionRegistry.cpp.ll 1126734370 +velox/FunctionRegistry.cpp.ll 1125462543 velox/FunctionSignature.cpp.ll 1871389883 -velox/FuzzerConnector.cpp.ll 565935007 +velox/FuzzerConnector.cpp.ll 565360075 velox/GenericWriter.cpp.ll 62636744451 velox/GreatestLeast.cpp.ll 14255468849 velox/HashStringAllocator.cpp.ll 1538949577 velox/HiveTypeParser.cpp.ll 1906357571 velox/HiveTypeSerializer.cpp.ll 123825251 velox/HugeInt.cpp.ll 130151172 -velox/HyperLogLogType.cpp.ll 319474084 +velox/HyperLogLogType.cpp.ll 319007068 velox/InPredicate.cpp.ll 18899233833 -velox/IoStatistics.cpp.ll 356114226 +velox/IoStatistics.cpp.ll 355689698 velox/IsNull.cpp.ll 9033318908 velox/JsonExtractor.cpp.ll 1528716720 velox/JsonFunctions.cpp.ll 9646023129 @@ -36078,7 +36078,7 @@ velox/MemoryAllocator.cpp.ll 1149631204 velox/MemoryArbitrator.cpp.ll 3603977545 velox/MemoryPool.cpp.ll 2375247485 velox/MmapAllocator.cpp.ll 1532049611 -velox/MmapArena.cpp.ll 1295964401 +velox/MmapArena.cpp.ll 1294638222 velox/Not.cpp.ll 8177043659 velox/NthValue.cpp.ll 5599171496 velox/Ntile.cpp.ll 1436827686 @@ -36088,13 +36088,13 @@ velox/PlanFragment.cpp.ll 226060918 velox/PlanNode.cpp.ll 14987617714 velox/PrestoSerializer.cpp.ll 24926630027 velox/ProcessBase.cpp.ll 121618209 -velox/QueryConfig.cpp.ll 278351437 +velox/QueryConfig.cpp.ll 278021483 velox/RandomUtil.cpp.ll 47967159 velox/Rank.cpp.ll 1385216831 velox/RawVector.cpp.ll 179511575 velox/Re2Functions.cpp.ll 29990760114 velox/Reduce.cpp.ll 3242383528 -velox/RegisterSpecialForm.cpp.ll 317644924 +velox/RegisterSpecialForm.cpp.ll 317313917 velox/Repeat.cpp.ll 4481403860 velox/Reverse.cpp.ll 3297649196 velox/RowConstructor.cpp.ll 523316657 @@ -36132,7 +36132,7 @@ velox/Subscript.cpp.ll 2402892177 velox/SubscriptUtil.cpp.ll 20999254106 velox/SuccinctPrinter.cpp.ll 84303811 velox/SwitchExpr.cpp.ll 2049490865 -velox/TestValue.cpp.ll 93465493 +velox/TestValue.cpp.ll 93330641 velox/TimeZoneDatabase.cpp.ll 7916819420 velox/TimeZoneMap.cpp.ll 1459030218 velox/Timestamp.cpp.ll 554204272 @@ -36147,7 +36147,7 @@ velox/TransformValues.cpp.ll 3019651738 velox/TryExpr.cpp.ll 3022276950 velox/Type.cpp.ll 8603032377 velox/TypeCalculation.yy.cc.ll 735332552 -velox/TypeParser.yy.cc.ll 1251829987 +velox/TypeParser.yy.cc.ll 1250569509 velox/URLFunctions.cpp.ll 7110484543 velox/UnsafeRowFast.cpp.ll 1111234524 velox/UnsafeRowSerializer.cpp.ll 11608091139 @@ -36167,18 +36167,18 @@ velox/VeloxException.cpp.ll 488880793 velox/WidthBucketArray.cpp.ll 3848039994 velox/Zip.cpp.ll 4576318984 velox/ZipWith.cpp.ll 4829982265 -velox/flags.cpp.ll 77251875 +velox/flags.cpp.ll 77164594 velox/md5.cpp.ll 1493927207 velox/tz.cpp.ll 2529121840 verilator/V3Active.cpp.ll 1290348606 verilator/V3ActiveTop.cpp.ll 762188379 verilator/V3Assert.cpp.ll 1374053787 verilator/V3AssertPre.cpp.ll 1884551838 -verilator/V3Ast.cpp.ll 2216953238 +verilator/V3Ast.cpp.ll 2214718706 verilator/V3AstNodes.cpp.ll 19526229513 verilator/V3Begin.cpp.ll 973670296 verilator/V3Branch.cpp.ll 308175684 -verilator/V3Broken.cpp.ll 1939385685 +verilator/V3Broken.cpp.ll 1937212863 verilator/V3CCtors.cpp.ll 945296028 verilator/V3CUse.cpp.ll 491403232 verilator/V3Case.cpp.ll 1739798777 @@ -36197,16 +36197,16 @@ verilator/V3Delayed.cpp.ll 2362252992 verilator/V3Depth.cpp.ll 584019397 verilator/V3DepthBlock.cpp.ll 363454166 verilator/V3Descope.cpp.ll 1135656974 -verilator/V3Dfg.cpp.ll 1623494287 +verilator/V3Dfg.cpp.ll 1621287815 verilator/V3DfgAstToDfg.cpp.ll 7660836850 verilator/V3DfgCache.cpp.ll 1127913401 -verilator/V3DfgDecomposition.cpp.ll 2399698251 +verilator/V3DfgDecomposition.cpp.ll 2397059102 verilator/V3DfgDfgToAst.cpp.ll 3411602301 verilator/V3DfgOptimizer.cpp.ll 1444694820 verilator/V3DfgPasses.cpp.ll 2662187089 verilator/V3DfgPeephole.cpp.ll 4222113843 -verilator/V3DfgRegularize.cpp.ll 1381677285 -verilator/V3DupFinder.cpp.ll 403470705 +verilator/V3DfgRegularize.cpp.ll 1380229442 +verilator/V3DupFinder.cpp.ll 402942815 verilator/V3EmitCBase.cpp.ll 680953345 verilator/V3EmitCConstPool.cpp.ll 1087541282 verilator/V3EmitCFunc.cpp.ll 1772863387 @@ -36219,12 +36219,12 @@ verilator/V3EmitCModel.cpp.ll 6535888650 verilator/V3EmitCPch.cpp.ll 141117688 verilator/V3EmitCSyms.cpp.ll 7070612674 verilator/V3EmitMk.cpp.ll 935040059 -verilator/V3EmitV.cpp.ll 1702544108 +verilator/V3EmitV.cpp.ll 1700792919 verilator/V3EmitXml.cpp.ll 1599489736 verilator/V3Error.cpp.ll 972939931 verilator/V3ExecGraph.cpp.ll 3077639241 verilator/V3Expand.cpp.ll 1995408163 -verilator/V3File.cpp.ll 2225233297 +verilator/V3File.cpp.ll 2222803130 verilator/V3FileLine.cpp.ll 1614415130 verilator/V3Force.cpp.ll 1965275932 verilator/V3Fork.cpp.ll 2563799467 @@ -36235,8 +36235,8 @@ verilator/V3GraphAcyc.cpp.ll 1202632566 verilator/V3GraphAlg.cpp.ll 1889187933 verilator/V3GraphPathChecker.cpp.ll 336311105 verilator/V3GraphTest.cpp.ll 377059979 -verilator/V3Hash.cpp.ll 55518176 -verilator/V3Hasher.cpp.ll 3163570213 +verilator/V3Hash.cpp.ll 55461000 +verilator/V3Hasher.cpp.ll 3159842881 verilator/V3HierBlock.cpp.ll 2479077989 verilator/V3Inline.cpp.ll 2330929821 verilator/V3Inst.cpp.ll 2130880257 @@ -36248,18 +36248,18 @@ verilator/V3LinkCells.cpp.ll 2035865453 verilator/V3LinkDot.cpp.ll 7541152840 verilator/V3LinkInc.cpp.ll 592527680 verilator/V3LinkJump.cpp.ll 1377025593 -verilator/V3LinkLValue.cpp.ll 454217443 +verilator/V3LinkLValue.cpp.ll 453670347 verilator/V3LinkLevel.cpp.ll 1589121986 verilator/V3LinkParse.cpp.ll 2196223850 verilator/V3LinkResolve.cpp.ll 1350609756 verilator/V3Localize.cpp.ll 1344875605 verilator/V3MergeCond.cpp.ll 2248811655 -verilator/V3Name.cpp.ll 2986394639 +verilator/V3Name.cpp.ll 2983275978 verilator/V3Number.cpp.ll 4624609427 verilator/V3OptionParser.cpp.ll 1878136369 verilator/V3Options.cpp.ll 7286919608 verilator/V3Order.cpp.ll 228424280 -verilator/V3OrderGraphBuilder.cpp.ll 1095607538 +verilator/V3OrderGraphBuilder.cpp.ll 1094337143 verilator/V3OrderMoveGraph.cpp.ll 943118776 verilator/V3OrderParallel.cpp.ll 5954300125 verilator/V3OrderProcessDomains.cpp.ll 2228133546 @@ -36288,8 +36288,8 @@ verilator/V3Split.cpp.ll 2423156932 verilator/V3SplitAs.cpp.ll 483542197 verilator/V3SplitVar.cpp.ll 5154940872 verilator/V3StackCount.cpp.ll 303622093 -verilator/V3Stats.cpp.ll 775486239 -verilator/V3StatsReport.cpp.ll 833441427 +verilator/V3Stats.cpp.ll 774694936 +verilator/V3StatsReport.cpp.ll 832601118 verilator/V3String.cpp.ll 1297506656 verilator/V3Subst.cpp.ll 924739724 verilator/V3TSP.cpp.ll 3381329063 @@ -36350,7 +36350,7 @@ wasmedge/jit.cpp.ll 5751326402 wasmedge/loader.cpp.ll 8841708945 wasmedge/memory.cpp.ll 5320218483 wasmedge/memoryInstr.cpp.ll 5834594786 -wasmedge/mmap.cpp.ll 86481607 +wasmedge/mmap.cpp.ll 86389947 wasmedge/module.cpp.ll 6830188524 wasmedge/path.cpp.ll 93027609 wasmedge/plugin.cpp.ll 11672309582 @@ -36400,14 +36400,14 @@ wasmtime-rs/16qf4j2oevjc61uc.ll 8877538542 wasmtime-rs/172871zsy4nrpcmu.ll 853186661 wasmtime-rs/172zkh8zulcvpwf2.ll 78402731 wasmtime-rs/175xipdsovv1dz4r.ll 54997531 -wasmtime-rs/176tode9f0xidq5a.ll 57351017 +wasmtime-rs/176tode9f0xidq5a.ll 57290098 wasmtime-rs/17evukb5bsx7fp0o.ll 40709717 wasmtime-rs/17poo9s8anpkt1t8.ll 1449769119 wasmtime-rs/18flldcd4wnig7ks.ll 4048369773 wasmtime-rs/18j9bq48s0hpcaoq.ll 2828954932 wasmtime-rs/1ab4bwgkzfvm86m5.ll 43693455 wasmtime-rs/1aeertcmltcg0pmp.ll 1059735245 -wasmtime-rs/1apiis695qg2qkjp.ll 305363414 +wasmtime-rs/1apiis695qg2qkjp.ll 304982327 wasmtime-rs/1b6ebcj7bse6r93y.ll 80136438 wasmtime-rs/1ba25hle4h2rt9ow.ll 54491324 wasmtime-rs/1bcfhxehf88v8ux3.ll 46210914 @@ -36470,7 +36470,7 @@ wasmtime-rs/1yfvjntoc8ylik9q.ll 51570032 wasmtime-rs/1yipc6g1ijw8sqf9.ll 1954116169 wasmtime-rs/1zkfgtqtm638lb5r.ll 5829336391 wasmtime-rs/1zz7jsxv168dc7km.ll 1744700937 -wasmtime-rs/204w8qgnvx1a6jxr.ll 444656655 +wasmtime-rs/204w8qgnvx1a6jxr.ll 444153514 wasmtime-rs/2060593ck81rm0sk.ll 58407692 wasmtime-rs/20nt41y9mh2276bx.ll 40747239 wasmtime-rs/21fqzizs6bhqfm93.ll 133122973 @@ -36491,7 +36491,7 @@ wasmtime-rs/25l19ar3fhpmzcbl.ll 378372593 wasmtime-rs/26njb8b27j72a4cj.ll 427261599 wasmtime-rs/26trd4atg57wyjbd.ll 11017831849 wasmtime-rs/27g7khr3xg8dgvq3.ll 51948344 -wasmtime-rs/27pp1heeu8t47xv3.ll 167011623 +wasmtime-rs/27pp1heeu8t47xv3.ll 166833425 wasmtime-rs/27y5mf4j2qnj7fax.ll 2644467674 wasmtime-rs/2800hku92bkgvycz.ll 49553067 wasmtime-rs/29iswk43scqgr9td.ll 178407157 @@ -36549,7 +36549,7 @@ wasmtime-rs/2y3wfjzj02o80wks.ll 975204147 wasmtime-rs/2z2bbg03c0vbl72j.ll 37449790 wasmtime-rs/2zbrxqpx49ysr6cn.ll 273950765 wasmtime-rs/30bs26v8gk3pt07g.ll 708065570 -wasmtime-rs/30grvq3ik5vq8b2f.ll 293185337 +wasmtime-rs/30grvq3ik5vq8b2f.ll 292845955 wasmtime-rs/320v7ko74ke0k4k4.ll 5361985499 wasmtime-rs/322ukxfdvnm2wdbn.ll 44088042 wasmtime-rs/322yw2dra6hhv794.ll 51432660 @@ -36599,8 +36599,8 @@ wasmtime-rs/3l7qoir9vkeaj1h9.ll 70924868 wasmtime-rs/3l7ulxp82d8eo1xu.ll 89524253 wasmtime-rs/3lotaxjn51xvspys.ll 84671012 wasmtime-rs/3mv9bmhxukl3fzns.ll 41139632 -wasmtime-rs/3mzybv7dafz5g4fx.ll 59895590 -wasmtime-rs/3n0zrdpc82n5c9ib.ll 128674863 +wasmtime-rs/3mzybv7dafz5g4fx.ll 59826326 +wasmtime-rs/3n0zrdpc82n5c9ib.ll 128491252 wasmtime-rs/3nx5xa8lpfh19nj.ll 278864133 wasmtime-rs/3ongwcslbj2wmgl9.ll 1606569157 wasmtime-rs/3pl7x9pw4pwt2clp.ll 877360202 @@ -36612,9 +36612,9 @@ wasmtime-rs/3r1ipj9yad5ocxlr.ll 158273312 wasmtime-rs/3sb71uj5mon9qr9k.ll 1934978709 wasmtime-rs/3smwlw8gzd3esows.ll 266885572 wasmtime-rs/3sojahi0zug90b0k.ll 41429074 -wasmtime-rs/3svhyn9z4vtm8iwc.ll 2008707897 +wasmtime-rs/3svhyn9z4vtm8iwc.ll 2006671145 wasmtime-rs/3swblxtk0gei22sv.ll 118770131 -wasmtime-rs/3swlmlzz83rbbf1u.ll 740690054 +wasmtime-rs/3swlmlzz83rbbf1u.ll 739852438 wasmtime-rs/3tddp02mhmdocq2m.ll 1282878427 wasmtime-rs/3tukmgwo6vemwvwz.ll 4447687438 wasmtime-rs/3twtyjck3mnl13lg.ll 50023814 @@ -36731,7 +36731,7 @@ wasmtime-rs/50u67af3arszrd38.ll 308032447 wasmtime-rs/511b8lvricv2amio.ll 464817078 wasmtime-rs/51qw21auwj5g8lkq.ll 809235245 wasmtime-rs/51r9csr3d9dou1a2.ll 7068334367 -wasmtime-rs/51uhlaw075ohxc33.ll 82473472 +wasmtime-rs/51uhlaw075ohxc33.ll 82386476 wasmtime-rs/51vzh3uxwbzgi4f3.ll 140903575 wasmtime-rs/526qiozl2mm0d4p0.ll 3383995634 wasmtime-rs/53hna1nq3hau85x1.ll 13351055096 @@ -36768,7 +36768,7 @@ wasmtime-rs/9ms3k9wtxzjgu1g.ll 397801523 wasmtime-rs/beiugzjs7tvizh4.ll 287662989 wasmtime-rs/c6huqcyo3b9z3g6.ll 805972160 wasmtime-rs/co39w200egkthiy.ll 136511422 -wasmtime-rs/cv50pehlmljxqlp.ll 396466592 +wasmtime-rs/cv50pehlmljxqlp.ll 395949550 wasmtime-rs/cxg2cx8gn6v5trt.ll 1206705822 wasmtime-rs/d6ph2wohj5hdp1j.ll 92857965 wasmtime-rs/ekwkdyslrbf458t.ll 40570915 @@ -36811,7 +36811,7 @@ wasmtime-rs/u9l4sc0a46h6g9z.ll 541319968 wasmtime-rs/v5prf101dn49s3v.ll 4228081863 wasmtime-rs/vl32czxhityl01k.ll 2293545746 wasmtime-rs/whu18zn8ngpbxbr.ll 48745677 -wasmtime-rs/wtp2wi3bcje8i2h.ll 102169061 +wasmtime-rs/wtp2wi3bcje8i2h.ll 102059058 wasmtime-rs/x7ydxa15kh51k9x.ll 186483470 wasmtime-rs/xl3b912aq97wiv3.ll 3483654604 wasmtime-rs/xwe1luu7ota7lol.ll 8818760095 @@ -36848,7 +36848,7 @@ wireshark/btsnoop.c.ll 102097684 wireshark/busmaster.c.ll 137250270 wireshark/busmaster_parser.c.ll 197012475 wireshark/busmaster_scanner.c.ll 496512239 -wireshark/byte_view_tab.cpp.ll 349062357 +wireshark/byte_view_tab.cpp.ll 348679658 wireshark/byte_view_text.cpp.ll 1572737124 wireshark/cache_proxy_model.cpp.ll 95329299 wireshark/camins.c.ll 166567218 @@ -36865,7 +36865,7 @@ wireshark/capture_file_properties_dialog.cpp.ll 1461953280 wireshark/capture_filter_combo.cpp.ll 225924648 wireshark/capture_filter_edit.cpp.ll 1569971277 wireshark/capture_info_dialog.cpp.ll 1634405777 -wireshark/capture_preferences_frame.cpp.ll 260135143 +wireshark/capture_preferences_frame.cpp.ll 259866543 wireshark/captype.c.ll 57107115 wireshark/catapult_dct2000.c.ll 559078029 wireshark/charsets.c.ll 270598522 @@ -36902,7 +36902,7 @@ wireshark/crc5.c.ll 49242784 wireshark/crc6.c.ll 39132085 wireshark/crc7.c.ll 39502666 wireshark/crc8.c.ll 52120579 -wireshark/credentials_dialog.cpp.ll 311210656 +wireshark/credentials_dialog.cpp.ll 310788006 wireshark/credentials_model.cpp.ll 352112164 wireshark/curve25519.c.ll 56700382 wireshark/data_printer.cpp.ll 497648909 @@ -36983,7 +36983,7 @@ wireshark/file-jpeg.c.ll 228142516 wireshark/file-mp4.c.ll 242861210 wireshark/file-pcap.c.ll 90991593 wireshark/file-pcapng-darwin.c.ll 43277943 -wireshark/file-pcapng.c.ll 514601832 +wireshark/file-pcapng.c.ll 519327063 wireshark/file-png.c.ll 105865632 wireshark/file-rbm.c.ll 191367050 wireshark/file-rfc7468.c.ll 120563072 @@ -37003,7 +37003,7 @@ wireshark/filter_expression_frame.cpp.ll 437074550 wireshark/filter_expression_toolbar.cpp.ll 1028920676 wireshark/filter_files.c.ll 126623156 wireshark/filter_list_model.cpp.ll 917940562 -wireshark/find_line_edit.cpp.ll 138138691 +wireshark/find_line_edit.cpp.ll 137968084 wireshark/firewall_rules_dialog.cpp.ll 482883347 wireshark/follow.c.ll 106184770 wireshark/follow_stream_action.cpp.ll 75486894 @@ -37012,7 +37012,7 @@ wireshark/follow_stream_text.cpp.ll 415539193 wireshark/font_color_preferences_frame.cpp.ll 1287426100 wireshark/frame_data.c.ll 128154951 wireshark/frame_data_sequence.c.ll 101134054 -wireshark/frame_information.cpp.ll 70350144 +wireshark/frame_information.cpp.ll 70279409 wireshark/ftype-bytes.c.ll 153261949 wireshark/ftype-guid.c.ll 68547470 wireshark/ftype-ieee-11073-float.c.ll 525313190 @@ -37034,7 +37034,7 @@ wireshark/gsm_map_summary_dialog.cpp.ll 682458168 wireshark/i4btrace.c.ll 128254693 wireshark/iana-ip.c.ll 54817353 wireshark/iax2_analysis_dialog.cpp.ll 2674436504 -wireshark/idl2wrs.c.ll 1116194431 +wireshark/idl2wrs.c.ll 1121407129 wireshark/import_text_dialog.cpp.ll 2677822262 wireshark/in_cksum.c.ll 117685695 wireshark/inet_cidr.c.ll 64409739 @@ -37043,9 +37043,9 @@ wireshark/interface.c.ll 49589550 wireshark/interface_frame.cpp.ll 1353049856 wireshark/interface_sort_filter_model.cpp.ll 889502028 wireshark/interface_toolbar.cpp.ll 4202648150 -wireshark/interface_toolbar_lineedit.cpp.ll 184705363 +wireshark/interface_toolbar_lineedit.cpp.ll 184474424 wireshark/interface_tree_cache_model.cpp.ll 861693337 -wireshark/interface_tree_model.cpp.ll 240169974 +wireshark/interface_tree_model.cpp.ll 239907798 wireshark/io_console_dialog.cpp.ll 550835868 wireshark/io_graph_dialog.cpp.ll 4075130633 wireshark/io_graph_item.c.ll 62682678 @@ -37075,7 +37075,7 @@ wireshark/lte_rlc_statistics_dialog.cpp.ll 1467140661 wireshark/mac_hd_generic_decoder.c.ll 343048675 wireshark/main.cpp.ll 308366206 wireshark/main_application.cpp.ll 2803801382 -wireshark/main_status_bar.cpp.ll 808736632 +wireshark/main_status_bar.cpp.ll 807821280 wireshark/main_window.cpp.ll 1027913194 wireshark/main_window_layout.cpp.ll 573910398 wireshark/main_window_preferences_frame.cpp.ll 936193613 @@ -37121,7 +37121,7 @@ wireshark/opcua_keyset.c.ll 68408107 wireshark/opcua_simpletypes.c.ll 285501626 wireshark/opcua_transport_layer.c.ll 98660659 wireshark/osi-utils.c.ll 120575878 -wireshark/overlay_scroll_bar.cpp.ll 337581772 +wireshark/overlay_scroll_bar.cpp.ll 337242823 wireshark/packet-3com-njack.c.ll 90052221 wireshark/packet-3g-a11.c.ll 633165479 wireshark/packet-5co-legacy.c.ll 292708163 @@ -37133,7 +37133,7 @@ wireshark/packet-acap.c.ll 56741754 wireshark/packet-acdr.c.ll 424166413 wireshark/packet-acn.c.ll 2213048619 wireshark/packet-acr122.c.ll 164590193 -wireshark/packet-acse.c.ll 213601208 +wireshark/packet-acse.c.ll 213334232 wireshark/packet-adb.c.ll 283650785 wireshark/packet-adb_cs.c.ll 128585372 wireshark/packet-adb_service.c.ll 248146454 @@ -37150,7 +37150,7 @@ wireshark/packet-alp.c.ll 206671440 wireshark/packet-amp.c.ll 172136294 wireshark/packet-amqp.c.ll 2266521021 wireshark/packet-amr.c.ll 159558814 -wireshark/packet-ams.c.ll 155842447 +wireshark/packet-ams.c.ll 156197428 wireshark/packet-ancp.c.ll 137484529 wireshark/packet-ansi_637.c.ll 529156826 wireshark/packet-ansi_683.c.ll 723743926 @@ -37222,7 +37222,7 @@ wireshark/packet-btbnep.c.ll 129358433 wireshark/packet-btbredr_rf.c.ll 620796603 wireshark/packet-bthci_acl.c.ll 204403162 wireshark/packet-bthci_cmd.c.ll 1557962437 -wireshark/packet-bthci_evt.c.ll 1663486124 +wireshark/packet-bthci_evt.c.ll 1665571191 wireshark/packet-bthci_iso.c.ll 179809264 wireshark/packet-bthci_sco.c.ll 113134546 wireshark/packet-bthci_vendor.c.ll 324941468 @@ -37241,7 +37241,7 @@ wireshark/packet-btmesh-proxy.c.ll 151052595 wireshark/packet-btmesh.c.ll 1842509530 wireshark/packet-btrfcomm.c.ll 282731705 wireshark/packet-btsap.c.ll 239905648 -wireshark/packet-btsdp.c.ll 1520889130 +wireshark/packet-btsdp.c.ll 1527666966 wireshark/packet-btsmp.c.ll 88533133 wireshark/packet-busmirroring.c.ll 123046008 wireshark/packet-bvlc.c.ll 223666665 @@ -37304,10 +37304,10 @@ wireshark/packet-dcerpc-budb.c.ll 731242390 wireshark/packet-dcerpc-butc.c.ll 488422628 wireshark/packet-dcerpc-clusapi.c.ll 3584885783 wireshark/packet-dcerpc-dfs.c.ll 897136314 -wireshark/packet-dcerpc-dnsserver.c.ll 507660143 +wireshark/packet-dcerpc-dnsserver.c.ll 507120787 wireshark/packet-dcerpc-drsuapi.c.ll 3583574303 wireshark/packet-dcerpc-dssetup.c.ll 178859094 -wireshark/packet-dcerpc-efs.c.ll 232093779 +wireshark/packet-dcerpc-efs.c.ll 231850104 wireshark/packet-dcerpc-epm.c.ll 172908153 wireshark/packet-dcerpc-eventlog.c.ll 377449771 wireshark/packet-dcerpc-fileexp.c.ll 628631043 @@ -37331,7 +37331,7 @@ wireshark/packet-dcerpc-rs_pgo.c.ll 234899491 wireshark/packet-dcerpc-samr.c.ll 2643589292 wireshark/packet-dcerpc-spoolss.c.ll 1129773155 wireshark/packet-dcerpc-srvsvc.c.ll 3625328856 -wireshark/packet-dcerpc-svcctl.c.ll 1540675643 +wireshark/packet-dcerpc-svcctl.c.ll 1538967819 wireshark/packet-dcerpc-winreg.c.ll 816223294 wireshark/packet-dcerpc-winspool.c.ll 1523154665 wireshark/packet-dcerpc-witness.c.ll 276993105 @@ -37442,7 +37442,7 @@ wireshark/packet-fcoib.c.ll 80106530 wireshark/packet-fcsb3.c.ll 166391191 wireshark/packet-fcsp.c.ll 131857346 wireshark/packet-fcswils.c.ll 510642204 -wireshark/packet-fddi.c.ll 120716680 +wireshark/packet-fddi.c.ll 120580095 wireshark/packet-fefd.c.ll 69671158 wireshark/packet-finger.c.ll 70155443 wireshark/packet-fip.c.ll 124563314 @@ -37514,20 +37514,20 @@ wireshark/packet-gsm_sim.c.ll 333615002 wireshark/packet-gsm_sms.c.ll 597587440 wireshark/packet-gsmtap.c.ll 254571337 wireshark/packet-gssapi.c.ll 162456854 -wireshark/packet-gtp.c.ll 2470028943 +wireshark/packet-gtp.c.ll 2472751165 wireshark/packet-gtpv2.c.ll 1413194270 -wireshark/packet-gvcp.c.ll 550242565 +wireshark/packet-gvcp.c.ll 552833692 wireshark/packet-gvrp.c.ll 74882285 wireshark/packet-gvsp.c.ll 473971133 wireshark/packet-h223.c.ll 404084949 wireshark/packet-h224.c.ll 97503454 wireshark/packet-h225.c.ll 980269335 -wireshark/packet-h245.c.ll 1436518918 +wireshark/packet-h245.c.ll 1435035515 wireshark/packet-h248.c.ll 991136378 wireshark/packet-h263.c.ll 94391562 wireshark/packet-h263p.c.ll 54197800 -wireshark/packet-h264.c.ll 744808961 -wireshark/packet-h265.c.ll 960790189 +wireshark/packet-h264.c.ll 749439464 +wireshark/packet-h265.c.ll 968455538 wireshark/packet-h450-ros.c.ll 130339244 wireshark/packet-h450.c.ll 559295741 wireshark/packet-h460.c.ll 281410458 @@ -37593,7 +37593,7 @@ wireshark/packet-ipx.c.ll 224430538 wireshark/packet-ircomm.c.ll 79831270 wireshark/packet-irda.c.ll 690976379 wireshark/packet-isakmp.c.ll 1713095907 -wireshark/packet-iscsi.c.ll 841665417 +wireshark/packet-iscsi.c.ll 842515540 wireshark/packet-isdn-sup.c.ll 372677074 wireshark/packet-isi.c.ll 324542563 wireshark/packet-isis-clv.c.ll 150200655 @@ -37608,7 +37608,7 @@ wireshark/packet-iso14443.c.ll 337414456 wireshark/packet-iso15765.c.ll 386104270 wireshark/packet-iso7816.c.ll 211759758 wireshark/packet-iso8583.c.ll 540744912 -wireshark/packet-isobus-vt.c.ll 1104676609 +wireshark/packet-isobus-vt.c.ll 1116518221 wireshark/packet-isobus.c.ll 446473366 wireshark/packet-isup.c.ll 1387494265 wireshark/packet-iuup.c.ll 464452279 @@ -37670,7 +37670,7 @@ wireshark/packet-logcat-text.c.ll 113955937 wireshark/packet-lorawan.c.ll 340432045 wireshark/packet-lpp.c.ll 3443075146 wireshark/packet-lsd.c.ll 72621688 -wireshark/packet-lte-rrc.c.ll 13726341686 +wireshark/packet-lte-rrc.c.ll 13710736177 wireshark/packet-ltp.c.ll 659969441 wireshark/packet-lustre.c.ll 1944622950 wireshark/packet-lwm.c.ll 147917922 @@ -37702,7 +37702,7 @@ wireshark/packet-metamako.c.ll 159027640 wireshark/packet-mgcp.c.ll 859467667 wireshark/packet-mih.c.ll 509579560 wireshark/packet-mikey.c.ll 224066490 -wireshark/packet-mint.c.ll 130194420 +wireshark/packet-mint.c.ll 130523735 wireshark/packet-miop.c.ll 66550675 wireshark/packet-mip.c.ll 209136696 wireshark/packet-mip6.c.ll 509198628 @@ -37782,7 +37782,7 @@ wireshark/packet-nlm.c.ll 185862160 wireshark/packet-nntp.c.ll 56014105 wireshark/packet-noe.c.ll 251049827 wireshark/packet-nordic_ble.c.ll 371322499 -wireshark/packet-nr-rrc.c.ll 13507882705 +wireshark/packet-nr-rrc.c.ll 13487958109 wireshark/packet-nsip.c.ll 264098030 wireshark/packet-ntlmssp.c.ll 615221931 wireshark/packet-ntp.c.ll 729866464 @@ -37807,7 +37807,7 @@ wireshark/packet-openflow_v5.c.ll 1373847373 wireshark/packet-openflow_v6.c.ll 1546817141 wireshark/packet-opensafety.c.ll 1068554475 wireshark/packet-openvpn.c.ll 116437917 -wireshark/packet-openwire.c.ll 457225349 +wireshark/packet-openwire.c.ll 470876078 wireshark/packet-opsi.c.ll 129723909 wireshark/packet-optommp.c.ll 155514104 wireshark/packet-opus.c.ll 145253860 @@ -37817,7 +37817,7 @@ wireshark/packet-oscore.c.ll 357464629 wireshark/packet-osi.c.ll 241212317 wireshark/packet-ositp.c.ll 633239628 wireshark/packet-osmo_trx.c.ll 237935402 -wireshark/packet-ospf.c.ll 1384229230 +wireshark/packet-ospf.c.ll 1386514244 wireshark/packet-p1.c.ll 1214470433 wireshark/packet-p_mul.c.ll 477164747 wireshark/packet-packetbb.c.ll 362096356 @@ -37836,7 +37836,7 @@ wireshark/packet-per.c.ll 1107424712 wireshark/packet-pfcp.c.ll 1806210287 wireshark/packet-pgm.c.ll 359326893 wireshark/packet-pgsql.c.ll 338594835 -wireshark/packet-pim.c.ll 390957192 +wireshark/packet-pim.c.ll 393685445 wireshark/packet-pkcs12.c.ll 236443550 wireshark/packet-pktc.c.ll 140874059 wireshark/packet-pldm.c.ll 448333000 @@ -37859,7 +37859,7 @@ wireshark/packet-ppi.c.ll 382378380 wireshark/packet-ppp.c.ll 1085190844 wireshark/packet-pppoe.c.ll 301005822 wireshark/packet-pres.c.ll 245533044 -wireshark/packet-protobuf.c.ll 771772438 +wireshark/packet-protobuf.c.ll 773720751 wireshark/packet-proxy.c.ll 309589926 wireshark/packet-prp.c.ll 63939870 wireshark/packet-ptp.c.ll 856252785 @@ -37904,7 +37904,7 @@ wireshark/packet-rmt-alc.c.ll 82806407 wireshark/packet-rmt-fec.c.ll 72410807 wireshark/packet-rmt-lct.c.ll 144476737 wireshark/packet-rmt-norm.c.ll 233104427 -wireshark/packet-rnsap.c.ll 5793448549 +wireshark/packet-rnsap.c.ll 5786971479 wireshark/packet-rohc.c.ll 641639921 wireshark/packet-roofnet.c.ll 80544531 wireshark/packet-roon_discovery.c.ll 85399217 @@ -37913,14 +37913,14 @@ wireshark/packet-rpc.c.ll 740145045 wireshark/packet-rpcap.c.ll 266750986 wireshark/packet-rpcrdma.c.ll 456951572 wireshark/packet-rpki-rtr.c.ll 116353074 -wireshark/packet-rrc.c.ll 18274483761 +wireshark/packet-rrc.c.ll 18253013346 wireshark/packet-rsl.c.ll 771209723 wireshark/packet-rsvd.c.ll 230231615 -wireshark/packet-rsvp.c.ll 2418650478 +wireshark/packet-rsvp.c.ll 2424629608 wireshark/packet-rtcp.c.ll 1765245706 wireshark/packet-rtitcp.c.ll 268204533 wireshark/packet-rtls.c.ll 118125138 -wireshark/packet-rtmpt.c.ll 828738153 +wireshark/packet-rtmpt.c.ll 829665947 wireshark/packet-rtp-ed137.c.ll 228264372 wireshark/packet-rtp-events.c.ll 57314405 wireshark/packet-rtp-midi.c.ll 1413601465 @@ -37928,7 +37928,7 @@ wireshark/packet-rtp.c.ll 633347460 wireshark/packet-rtpproxy.c.ll 250383255 wireshark/packet-rtps-processed.c.ll 72971248 wireshark/packet-rtps-virtual-transport.c.ll 169353023 -wireshark/packet-rtps.c.ll 3535888165 +wireshark/packet-rtps.c.ll 3541264699 wireshark/packet-rtse.c.ll 139819683 wireshark/packet-rtsp.c.ll 521624325 wireshark/packet-rx.c.ll 130878474 @@ -37990,7 +37990,7 @@ wireshark/packet-snmp.c.ll 765330173 wireshark/packet-snort-config.c.ll 493336110 wireshark/packet-snort.c.ll 575222040 wireshark/packet-socketcan.c.ll 230596999 -wireshark/packet-socks.c.ll 276057890 +wireshark/packet-socks.c.ll 275773247 wireshark/packet-solaredge.c.ll 247590413 wireshark/packet-someip-sd.c.ll 460184513 wireshark/packet-someip.c.ll 1447191380 @@ -38018,9 +38018,9 @@ wireshark/packet-sysdig-event.c.ll 259961096 wireshark/packet-sysex_digitech.c.ll 175740216 wireshark/packet-syslog.c.ll 135053852 wireshark/packet-systemd-journal.c.ll 532506099 -wireshark/packet-t124.c.ll 312796433 +wireshark/packet-t124.c.ll 312432581 wireshark/packet-t125.c.ll 93628048 -wireshark/packet-t30.c.ll 218601144 +wireshark/packet-t30.c.ll 218882222 wireshark/packet-t38.c.ll 268723964 wireshark/packet-tacacs.c.ll 294905385 wireshark/packet-tango.c.ll 1311865836 @@ -38035,7 +38035,7 @@ wireshark/packet-teamspeak2.c.ll 169912095 wireshark/packet-tecmp.c.ll 651123025 wireshark/packet-telnet.c.ll 483815002 wireshark/packet-teredo.c.ll 85117244 -wireshark/packet-tetra.c.ll 831273061 +wireshark/packet-tetra.c.ll 830329671 wireshark/packet-text-media.c.ll 55669281 wireshark/packet-tfp.c.ll 82959108 wireshark/packet-tftp.c.ll 220763532 @@ -38078,7 +38078,7 @@ wireshark/packet-udt.c.ll 129774878 wireshark/packet-uftp.c.ll 308608545 wireshark/packet-uftp4.c.ll 538983856 wireshark/packet-uftp5.c.ll 542831709 -wireshark/packet-ulp.c.ll 822807591 +wireshark/packet-ulp.c.ll 821774207 wireshark/packet-uma.c.ll 252319456 wireshark/packet-umts_fp.c.ll 1728396121 wireshark/packet-umts_mac.c.ll 466639260 @@ -38089,7 +38089,7 @@ wireshark/packet-usb-com.c.ll 208529846 wireshark/packet-usb-dfu.c.ll 109882520 wireshark/packet-usb-hid.c.ll 1181383378 wireshark/packet-usb-video.c.ll 374003098 -wireshark/packet-usb.c.ll 1338937479 +wireshark/packet-usb.c.ll 1341197053 wireshark/packet-usbip.c.ll 225845905 wireshark/packet-usbll.c.ll 658658675 wireshark/packet-usbms-bot.c.ll 114381091 @@ -38139,7 +38139,7 @@ wireshark/packet-wtls.c.ll 276669446 wireshark/packet-wtp.c.ll 165062363 wireshark/packet-x11.c.ll 15280904023 wireshark/packet-x25.c.ll 504855732 -wireshark/packet-x509if.c.ll 268708173 +wireshark/packet-x509if.c.ll 268422018 wireshark/packet-xcsl.c.ll 85794489 wireshark/packet-xdmcp.c.ll 134673572 wireshark/packet-xip-serval.c.ll 85639774 @@ -38149,7 +38149,7 @@ wireshark/packet-xml.c.ll 496552557 wireshark/packet-xmpp-core.c.ll 322509803 wireshark/packet-xmpp-utils.c.ll 386223382 wireshark/packet-xmpp.c.ll 158944677 -wireshark/packet-xnap.c.ll 3348959436 +wireshark/packet-xnap.c.ll 3345442364 wireshark/packet-xot.c.ll 97981795 wireshark/packet-xra.c.ll 287115961 wireshark/packet-xti.c.ll 367443260 @@ -38185,7 +38185,7 @@ wireshark/packet-zvt.c.ll 253703409 wireshark/packet.c.ll 771761470 wireshark/packet_comment_dialog.cpp.ll 380573568 wireshark/packet_diagram.cpp.ll 2152553086 -wireshark/packet_dialog.cpp.ll 1007842901 +wireshark/packet_dialog.cpp.ll 1006798458 wireshark/packet_format_group_box.cpp.ll 271790599 wireshark/packet_list.cpp.ll 2809250972 wireshark/packet_list_header.cpp.ll 523661322 @@ -38207,7 +38207,7 @@ wireshark/percent_bar_delegate.cpp.ll 165080340 wireshark/persfilepath_opt.c.ll 41270877 wireshark/plugins.c.ll 114723784 wireshark/pppdump.c.ll 153081739 -wireshark/pref_delegate.cpp.ll 108886910 +wireshark/pref_delegate.cpp.ll 108769553 wireshark/pref_models.cpp.ll 1184341452 wireshark/pref_module_view.cpp.ll 145750581 wireshark/preference_editor_frame.cpp.ll 661988338 @@ -38221,9 +38221,9 @@ wireshark/print_stream.c.ll 128561702 wireshark/profile.c.ll 141756558 wireshark/profile_dialog.cpp.ll 1836568010 wireshark/profile_model.cpp.ll 3465490579 -wireshark/profile_tree_view.cpp.ll 292795862 +wireshark/profile_tree_view.cpp.ll 292461058 wireshark/progress_frame.cpp.ll 258064416 -wireshark/proto.c.ll 4546621064 +wireshark/proto.c.ll 4551429213 wireshark/proto_data.c.ll 64419589 wireshark/proto_hier_stats.c.ll 170837089 wireshark/proto_node.cpp.ll 369437282 @@ -38255,10 +38255,10 @@ wireshark/resolved_addresses_view.cpp.ll 1367590712 wireshark/response_time_delay_dialog.cpp.ll 1197417775 wireshark/rfc7468.c.ll 77641317 wireshark/rpc_service_response_time_dialog.cpp.ll 2216107988 -wireshark/rsa_keys_frame.cpp.ll 956027428 +wireshark/rsa_keys_frame.cpp.ll 955056121 wireshark/rtp_analysis_dialog.cpp.ll 3512108300 wireshark/rtp_audio_file.cpp.ll 208415818 -wireshark/rtp_audio_graph.cpp.ll 99321222 +wireshark/rtp_audio_graph.cpp.ll 99215893 wireshark/rtp_audio_routing.cpp.ll 47718202 wireshark/rtp_audio_routing_filter.cpp.ll 70846611 wireshark/rtp_audio_silence_generator.cpp.ll 46064296 @@ -38410,7 +38410,7 @@ wireshark/wimax_pdu_decoder.c.ll 68721092 wireshark/wimaxasncp_dict.c.ll 673914905 wireshark/wireless_frame.cpp.ll 577292104 wireshark/wireless_timeline.cpp.ll 1133273757 -wireshark/wireshark_application.cpp.ll 309401980 +wireshark/wireshark_application.cpp.ll 309049510 wireshark/wireshark_dialog.cpp.ll 538438402 wireshark/wireshark_file_dialog.cpp.ll 53422503 wireshark/wireshark_main_window.cpp.ll 10000356053 @@ -38503,9 +38503,9 @@ xgboost/cpu_predictor.cc.ll 8583414564 xgboost/cpu_treeshap.cc.ll 528227321 xgboost/data.cc.ll 11094571119 xgboost/elementwise_metric.cc.ll 5524565457 -xgboost/ellpack_page.cc.ll 280533506 +xgboost/ellpack_page.cc.ll 280210851 xgboost/error_msg.cc.ll 422430949 -xgboost/file_iterator.cc.ll 1416395605 +xgboost/file_iterator.cc.ll 1414710492 xgboost/filesys.cc.ll 607186931 xgboost/fit_stump.cc.ll 797368084 xgboost/gblinear.cc.ll 3445598042 @@ -38513,7 +38513,7 @@ xgboost/gblinear_model.cc.ll 1237753398 xgboost/gbm.cc.ll 348020359 xgboost/gbtree.cc.ll 9027718236 xgboost/gbtree_model.cc.ll 2530010724 -xgboost/global_config.cc.ll 835727408 +xgboost/global_config.cc.ll 834733236 xgboost/gradient_index.cc.ll 6079459591 xgboost/gradient_index_format.cc.ll 684457446 xgboost/gradient_index_page_source.cc.ll 2928236422 @@ -38523,7 +38523,7 @@ xgboost/histogram.cc.ll 343864387 xgboost/host_device_vector.cc.ll 4304388444 xgboost/in_memory_handler.cc.ll 1051740715 xgboost/indexed_recordio_split.cc.ll 835522076 -xgboost/init_estimation.cc.ll 419563522 +xgboost/init_estimation.cc.ll 419126634 xgboost/input_split_base.cc.ll 4214449403 xgboost/io.cc.ll 1275181115 xgboost/iterative_dmatrix.cc.ll 8228663056 @@ -38558,13 +38558,13 @@ xgboost/result.cc.ll 544175973 xgboost/simple_dmatrix.cc.ll 4037700858 xgboost/socket.cc.ll 1151793401 xgboost/sparse_page_dmatrix.cc.ll 7064786231 -xgboost/sparse_page_raw_format.cc.ll 1550545880 +xgboost/sparse_page_raw_format.cc.ll 1548572732 xgboost/sparse_page_source.cc.ll 108016772 xgboost/stats.cc.ll 10753442673 xgboost/survival_metric.cc.ll 2531129049 xgboost/survival_util.cc.ll 1215965276 xgboost/threading_utils.cc.ll 309750347 -xgboost/timer.cc.ll 374390815 +xgboost/timer.cc.ll 373963703 xgboost/tracker.cc.ll 3593078616 xgboost/tree_model.cc.ll 8877963158 xgboost/tree_updater.cc.ll 350792893 @@ -38575,7 +38575,7 @@ xgboost/updater_prune.cc.ll 843389225 xgboost/updater_quantile_hist.cc.ll 33369558020 xgboost/updater_refresh.cc.ll 2213766718 xgboost/updater_shotgun.cc.ll 2894702954 -xgboost/updater_sync.cc.ll 767372856 +xgboost/updater_sync.cc.ll 766586884 xgboost/version.cc.ll 702962072 yalantinglibs/EnumFieldGenerator.cpp.ll 1718864813 yalantinglibs/EnumGenerator.cpp.ll 950750833 @@ -38638,11 +38638,11 @@ yaml-cpp/emitfromevents.cpp.ll 275744603 yaml-cpp/emitter.cpp.ll 437810008 yaml-cpp/emitterstate.cpp.ll 575277297 yaml-cpp/emitterutils.cpp.ll 840082165 -yaml-cpp/exceptions.cpp.ll 59724363 +yaml-cpp/exceptions.cpp.ll 59647044 yaml-cpp/exp.cpp.ll 164228446 -yaml-cpp/graphbuilder.cpp.ll 138878149 +yaml-cpp/graphbuilder.cpp.ll 138732826 yaml-cpp/graphbuilderadapter.cpp.ll 326278133 -yaml-cpp/memory.cpp.ll 370125838 +yaml-cpp/memory.cpp.ll 369730701 yaml-cpp/node_data.cpp.ll 594484347 yaml-cpp/nodebuilder.cpp.ll 571199461 yaml-cpp/nodeevents.cpp.ll 470874545 @@ -38668,9 +38668,9 @@ yoga/Node.cpp.ll 979651694 yoga/PixelGrid.cpp.ll 114511897 yoga/YGConfig.cpp.ll 54915074 yoga/YGNode.cpp.ll 456473711 -yoga/YGNodeLayout.cpp.ll 86784771 +yoga/YGNodeLayout.cpp.ll 86694697 yoga/YGNodeStyle.cpp.ll 465933616 -yoga/event.cpp.ll 78045035 +yoga/event.cpp.ll 77959661 yosys/BigInteger.ll 359167717 yosys/BigUnsigned.ll 581511147 yosys/BigUnsignedInABase.ll 165178125 @@ -38724,7 +38724,7 @@ yosys/cover.ll 378708697 yosys/cutpoint.ll 3019696449 yosys/cxxrtl_backend.ll 23480854747 yosys/delete.ll 2144399340 -yosys/deminout.ll 4034445484 +yosys/deminout.ll 4030402104 yosys/demuxmap.ll 1356066817 yosys/design.ll 3782232088 yosys/dffinit.ll 3696514948 @@ -38734,7 +38734,7 @@ yosys/dffunmap.ll 1646586871 yosys/dft_tag.ll 23239982930 yosys/dpicall.ll 328137324 yosys/driver.ll 5464871959 -yosys/edgetypes.ll 3716656140 +yosys/edgetypes.ll 3712133409 yosys/edif.ll 17724213715 yosys/efinix_fixcarry.ll 2259147701 yosys/equiv_add.ll 2739972109 @@ -38774,8 +38774,8 @@ yosys/fsm.ll 213461462 yosys/fsm_detect.ll 20014815159 yosys/fsm_expand.ll 10641018398 yosys/fsm_export.ll 1985867436 -yosys/fsm_extract.ll 21902690197 -yosys/fsm_info.ll 1787722466 +yosys/fsm_extract.ll 21931866356 +yosys/fsm_info.ll 1785489826 yosys/fsm_map.ll 3336515345 yosys/fsm_opt.ll 4422630791 yosys/fsm_recode.ll 2028435071 @@ -38823,7 +38823,7 @@ yosys/memory_narrow.ll 762600040 yosys/memory_nordff.ll 1650605774 yosys/memory_share.ll 19713161084 yosys/memory_unpack.ll 740605533 -yosys/miter.ll 3499699542 +yosys/miter.ll 3496060559 yosys/mutate.ll 15374328112 yosys/muxcover.ll 7649939067 yosys/muxpack.ll 7266744051 @@ -38839,7 +38839,7 @@ yosys/opt_lut_ins.ll 2779787133 yosys/opt_mem.ll 2984243245 yosys/opt_mem_feedback.ll 8249154163 yosys/opt_mem_priority.ll 15146738994 -yosys/opt_mem_widen.ll 1405568087 +yosys/opt_mem_widen.ll 1403955620 yosys/opt_merge.ll 17226669622 yosys/opt_muxtree.ll 6238587942 yosys/opt_reduce.ll 11624919178 @@ -38852,7 +38852,7 @@ yosys/portlist.ll 654071322 yosys/prep.ll 266719274 yosys/preproc.ll 2167958998 yosys/printattrs.ll 254629195 -yosys/proc.ll 191963567 +yosys/proc.ll 191738192 yosys/proc_arst.ll 5043328300 yosys/proc_clean.ll 1820255925 yosys/proc_dff.ll 10799836783 @@ -38878,7 +38878,7 @@ yosys/rmports.ll 4086362388 yosys/rpc_frontend.ll 2829035223 yosys/rtlil.ll 25222174240 yosys/rtlil_backend.ll 1508482890 -yosys/rtlil_frontend.ll 156134625 +yosys/rtlil_frontend.ll 155949844 yosys/rtlil_lexer.ll 398756574 yosys/rtlil_parser.tab.ll 4629146925 yosys/sat.ll 22550283679 @@ -38947,12 +38947,12 @@ yosys/verilog_lexer.ll 2288050746 yosys/verilog_parser.tab.ll 5034759073 yosys/viz.ll 15997642802 yosys/wreduce.ll 9161613321 -yosys/write_file.ll 210476007 +yosys/write_file.ll 210199619 yosys/xaiger.ll 11083362196 yosys/xilinx_dffopt.ll 5447267977 yosys/xilinx_dsp.ll 34610118550 yosys/xilinx_srl.ll 13942831380 -yosys/xprop.ll 23014157129 +yosys/xprop.ll 23042558111 yosys/yosys.ll 13932611197 yosys/yw.ll 1610989458 yosys/zinit.ll 1948438015 @@ -38988,7 +38988,7 @@ z3/api_params.cpp.ll 187377222 z3/api_parsers.cpp.ll 400485411 z3/api_pb.cpp.ll 432659322 z3/api_polynomial.cpp.ll 237318105 -z3/api_qe.cpp.ll 521216819 +z3/api_qe.cpp.ll 520562019 z3/api_quant.cpp.ll 655961211 z3/api_rcf.cpp.ll 426342430 z3/api_seq.cpp.ll 901608757 @@ -39005,7 +39005,7 @@ z3/arith_diagnostics.cpp.ll 1178833936 z3/arith_eq_adapter.cpp.ll 792170031 z3/arith_eq_solver.cpp.ll 1727173806 z3/arith_internalize.cpp.ll 2981449462 -z3/arith_rewriter.cpp.ll 7178135400 +z3/arith_rewriter.cpp.ll 7186592558 z3/arith_sls.cpp.ll 1479416835 z3/arith_solver.cpp.ll 7835883783 z3/arith_value.cpp.ll 83026055 @@ -39025,12 +39025,12 @@ z3/ast_ll_pp.cpp.ll 506954743 z3/ast_lt.cpp.ll 423370503 z3/ast_pp_dot.cpp.ll 438802307 z3/ast_pp_util.cpp.ll 793767365 -z3/ast_printer.cpp.ll 224441265 +z3/ast_printer.cpp.ll 224179497 z3/ast_smt2_pp.cpp.ll 3566659866 z3/ast_smt_pp.cpp.ll 1674445719 z3/ast_translation.cpp.ll 1005514795 z3/ast_util.cpp.ll 1073651094 -z3/atom2bool_var.cpp.ll 1045653320 +z3/atom2bool_var.cpp.ll 1044599293 z3/automaton.cpp.ll 1773463653 z3/basic_cmds.cpp.ll 1533945069 z3/bind_variables.cpp.ll 785192189 @@ -39086,11 +39086,11 @@ z3/collect_statistics_tactic.cpp.ll 1251060336 z3/combined_solver.cpp.ll 389845067 z3/context_params.cpp.ll 153582920 z3/core_solver_pretty_printer.cpp.ll 1768703586 -z3/cost_evaluator.cpp.ll 162996288 +z3/cost_evaluator.cpp.ll 162807472 z3/cost_parser.cpp.ll 149434749 z3/ctx_simplify_tactic.cpp.ll 2303509213 z3/ctx_solver_simplify_tactic.cpp.ll 1035821603 -z3/datalog_frontend.cpp.ll 491198844 +z3/datalog_frontend.cpp.ll 490644691 z3/datalog_parser.cpp.ll 2464476849 z3/datatype_decl_plugin.cpp.ll 5498783529 z3/datatype_factory.cpp.ll 725300984 @@ -39098,7 +39098,7 @@ z3/datatype_rewriter.cpp.ll 197075856 z3/dbg_cmds.cpp.ll 1662209440 z3/dd_bdd.cpp.ll 4458279704 z3/dd_fdd.cpp.ll 1158433532 -z3/dd_pdd.cpp.ll 6854744532 +z3/dd_pdd.cpp.ll 6861824994 z3/ddnf.cpp.ll 2325170377 z3/debug.cpp.ll 278887288 z3/decl_collector.cpp.ll 1047129464 @@ -39203,7 +39203,7 @@ z3/euf_etable.cpp.ll 1308177123 z3/euf_internalize.cpp.ll 1695455928 z3/euf_invariant.cpp.ll 115223866 z3/euf_justification.cpp.ll 160780428 -z3/euf_local_search.cpp.ll 247865596 +z3/euf_local_search.cpp.ll 247512582 z3/euf_model.cpp.ll 1888329650 z3/euf_plugin.cpp.ll 116808284 z3/euf_proof.cpp.ll 1789563916 @@ -39320,7 +39320,7 @@ z3/mbp_qel.cpp.ll 704388841 z3/mbp_qel_util.cpp.ll 584692520 z3/mbp_solve_plugin.cpp.ll 1146402974 z3/mbp_term_graph.cpp.ll 6686693451 -z3/memory_manager.cpp.ll 105976445 +z3/memory_manager.cpp.ll 105857916 z3/min_cut.cpp.ll 496952753 z3/mk_extract_proc.cpp.ll 108560732 z3/model.cpp.ll 3682091482 @@ -39334,7 +39334,7 @@ z3/model_macro_solver.cpp.ll 3340025462 z3/model_pp.cpp.ll 289677288 z3/model_reconstruction_trail.cpp.ll 1099858292 z3/model_smt2_pp.cpp.ll 1153919361 -z3/mon_eq.cpp.ll 320906693 +z3/mon_eq.cpp.ll 320570051 z3/monomial_bounds.cpp.ll 2294014941 z3/mpbq.cpp.ll 775481691 z3/mpf.cpp.ll 2129595285 @@ -39377,7 +39377,7 @@ z3/numeral_factory.cpp.ll 778988159 z3/occf_tactic.cpp.ll 1103112170 z3/occurs.cpp.ll 997765868 z3/old_interval.cpp.ll 1087274511 -z3/opt_cmds.cpp.ll 190203461 +z3/opt_cmds.cpp.ll 189969993 z3/opt_context.cpp.ll 6667367588 z3/opt_cores.cpp.ll 4158581355 z3/opt_frontend.cpp.ll 302350034 @@ -39388,7 +39388,7 @@ z3/opt_preprocess.cpp.ll 5561178013 z3/opt_solver.cpp.ll 1313264162 z3/optsmt.cpp.ll 1816720734 z3/parallel_tactical.cpp.ll 1827488495 -z3/parametric_cmd.cpp.ll 165908043 +z3/parametric_cmd.cpp.ll 165737958 z3/params.cpp.ll 1863775374 z3/pattern_inference.cpp.ll 2765855980 z3/pattern_validation.cpp.ll 332908970 @@ -39434,15 +39434,15 @@ z3/q_eval.cpp.ll 594008374 z3/q_mam.cpp.ll 4528804296 z3/q_mbi.cpp.ll 2776904910 z3/q_model_fixer.cpp.ll 2207916960 -z3/q_queue.cpp.ll 429561653 +z3/q_queue.cpp.ll 429012338 z3/q_solver.cpp.ll 2079873098 z3/q_theory_checker.cpp.ll 253180271 z3/qe.cpp.ll 6959978499 z3/qe_arith_plugin.cpp.ll 5815716970 z3/qe_array_plugin.cpp.ll 805502513 z3/qe_bool_plugin.cpp.ll 486005107 -z3/qe_bv_plugin.cpp.ll 300451799 -z3/qe_cmd.cpp.ll 173168793 +z3/qe_bv_plugin.cpp.ll 300145070 +z3/qe_cmd.cpp.ll 172970217 z3/qe_datatype_plugin.cpp.ll 1753452006 z3/qe_dl_plugin.cpp.ll 768580864 z3/qe_lite_tactic.cpp.ll 9043164365 @@ -39535,7 +39535,7 @@ z3/seq_regex.cpp.ll 2474080150 z3/seq_rewriter.cpp.ll 15374720277 z3/seq_skolem.cpp.ll 697013375 z3/sexpr.cpp.ll 560193862 -z3/sexpr2upolynomial.cpp.ll 270950926 +z3/sexpr2upolynomial.cpp.ll 270648670 z3/shared_occs.cpp.ll 404715853 z3/simple_parser.cpp.ll 638931186 z3/simplex.cpp.ll 5950081798 @@ -39546,7 +39546,7 @@ z3/simplify_tactic.cpp.ll 707759581 z3/sls_engine.cpp.ll 6199158909 z3/sls_tactic.cpp.ll 1354771198 z3/small_object_allocator.cpp.ll 724923859 -z3/smt2_extra_cmds.cpp.ll 111314547 +z3/smt2_extra_cmds.cpp.ll 111161339 z3/smt2parser.cpp.ll 6067362796 z3/smt2scanner.cpp.ll 564369851 z3/smt_almost_cg_table.cpp.ll 453387961 @@ -39568,7 +39568,7 @@ z3/smt_for_each_relevant_expr.cpp.ll 577425335 z3/smt_implied_equalities.cpp.ll 1980930726 z3/smt_internalizer.cpp.ll 3596595391 z3/smt_justification.cpp.ll 1086987419 -z3/smt_kernel.cpp.ll 388961834 +z3/smt_kernel.cpp.ll 388492971 z3/smt_literal.cpp.ll 121328661 z3/smt_lookahead.cpp.ll 613946141 z3/smt_model_checker.cpp.ll 4389811785 @@ -39708,13 +39708,13 @@ z3/warning.cpp.ll 102188003 z3/watch_list.cpp.ll 185578339 z3/well_sorted.cpp.ll 344225303 z3/wmax.cpp.ll 1548944108 -z3/z3_exception.cpp.ll 55734348 +z3/z3_exception.cpp.ll 55677397 z3/z3_log_frontend.cpp.ll 51358505 z3/z3_replayer.cpp.ll 1324698381 z3/zstring.cpp.ll 432728036 zed-rs/0063uhmld9hazczp36wteke1g.ll 12363192286 zed-rs/00laj72jeyttgatxd0myrfigl.ll 6143926383 -zed-rs/012zc3yty77nzm9iwo470v26b.ll 221621764 +zed-rs/012zc3yty77nzm9iwo470v26b.ll 221340884 zed-rs/01673j3qy7vs5no0rm7cvabqs.ll 167807729 zed-rs/01a9u2e0i8wru57e54nrmyia7.ll 4781778967 zed-rs/01b9oogrfxzozn0mij40qtyx5.ll 346775484 @@ -39726,7 +39726,7 @@ zed-rs/04fhfmlktnjtedpduz35189qo.ll 10818179743 zed-rs/04ipwwk9ew5ywym1qtwkcf1qw.ll 2821841284 zed-rs/055l6m6wb4e4jq2j59cjsdkaz.ll 492579673 zed-rs/05btlo7ldoepff8rc85nwkmca.ll 3052025168 -zed-rs/05lrpc5icj3w7c2jbbww9rt02.ll 4872333481 +zed-rs/05lrpc5icj3w7c2jbbww9rt02.ll 4867161987 zed-rs/064fq8xy3p8h2lnsibc72udr1.ll 532033347 zed-rs/06lo9zvab5lvkkn9g2iqvtuth.ll 1388844234 zed-rs/06rtve3sizrg126ldkmgb72ea.ll 4830957930 @@ -39800,7 +39800,7 @@ zed-rs/12x3d7yxch19r9kog7sr8geci.ll 4682197783 zed-rs/12xam7q4l70h0vr8y5wvb4s4a.ll 3460225836 zed-rs/130afw1833d1gu50165ly3xmm.ll 3803821305 zed-rs/133fnc559z66t9e19x3ipw478.ll 11199207176 -zed-rs/13ihtml577iorkr51njntvtml.ll 309105163 +zed-rs/13ihtml577iorkr51njntvtml.ll 308740203 zed-rs/13pr1pzdsvcd15h9bn5oaps4z.ll 2433862479 zed-rs/13vabw3h9sttos1r8ubgjg4y3.ll 4238145690 zed-rs/14csn3yrwhc0s8nhox2r0cnc5.ll 151880608 @@ -39912,7 +39912,7 @@ zed-rs/2hj9t7h454jk4f0tp9t7ag5me.ll 8313383420 zed-rs/2hs9m8fwcz0rphv8e6zag6jxg.ll 278463638 zed-rs/2hvddgml5l5my169hr1dfnyc8.ll 61733700 zed-rs/2i53snxjtl1vkhht1z1o8oxqm.ll 550796000 -zed-rs/2i7qumxm48xcna5mghlie9btk.ll 523551234 +zed-rs/2i7qumxm48xcna5mghlie9btk.ll 523025688 zed-rs/2i8hya6f2t9bndlbd6b6686oi.ll 11786548033 zed-rs/2i8q3168bbbqfi20z5b5reakb.ll 3949753041 zed-rs/2icxmtzclo7z45oyowu1m9m0s.ll 3248147402 @@ -39945,7 +39945,7 @@ zed-rs/2swx58jaxgkeo0e1fu5m9py1h.ll 1966434321 zed-rs/2tnb5q2nu282joegshdwbwmo4.ll 4577071218 zed-rs/2tseelemdefm2fo39q21ogou2.ll 6933136253 zed-rs/2u07ozvgb5y602lk6oirxyayc.ll 51675090941 -zed-rs/2v1crabhdzmbjmzi7m5kjh0ot.ll 409568189 +zed-rs/2v1crabhdzmbjmzi7m5kjh0ot.ll 409104109 zed-rs/2vo4b41w4150vbu3r6p9pxyew.ll 60421375 zed-rs/2xv7gcyhgnpwydetyfctbxzbn.ll 1273296345 zed-rs/2y3d15fhybcig6chysm503x7k.ll 837994010 @@ -39976,7 +39976,7 @@ zed-rs/3bmw4la4unem3ok3146vfnhlp.ll 941575256 zed-rs/3boe7th2jcikaw79wgx15kyew.ll 2847955159 zed-rs/3bwpnkngp0v942xuk5tod4bfe.ll 31195013857 zed-rs/3c48pt9y6ttf7sk1plq0wwahs.ll 219180608 -zed-rs/3cg6ikkft2i40h673lxj7fwyb.ll 506964769 +zed-rs/3cg6ikkft2i40h673lxj7fwyb.ll 506293482 zed-rs/3di65m17000bk7br774s5jqap.ll 4764073356 zed-rs/3el3h7ms89q9qzqvq15n7caxe.ll 35118121 zed-rs/3epmadi9cv8b1ltlth8rmbbj6.ll 406194183 @@ -40137,7 +40137,7 @@ zed-rs/5dm7ofzf1e4v8vd2k597txwqa.ll 8046360794 zed-rs/5e9omh398ijohtd01awo2ssl8.ll 9479766251 zed-rs/5eo3r6xqgcl9c03ocnkjc70d3.ll 4631404246 zed-rs/5eoo2ucj5jjc2zgyn25xa6ig5.ll 36610220592 -zed-rs/5f7o38ytiusxxen0aiskr7vfz.ll 349625278 +zed-rs/5f7o38ytiusxxen0aiskr7vfz.ll 349231832 zed-rs/5f8wowaa8ngmyw3sne73ek1rt.ll 69641631 zed-rs/5ffktra9g6qxl852v2tr5a0jb.ll 211867783 zed-rs/5g69ycmx1hx8kom1nw4jlv4qu.ll 5122411229 @@ -40171,7 +40171,7 @@ zed-rs/5qf95fx0pqn6duuq4hkly3hl0.ll 2289811883 zed-rs/5rpbel1vuxrykhovncusmfyy6.ll 103026248 zed-rs/5rpya7la6h7ws9z99n4ku3sd5.ll 2382523521 zed-rs/5s44oz7ztp6o1gjtp6jhzkvc2.ll 24449700104 -zed-rs/5sucshn5njulvmxjucq4wg81p.ll 255693408 +zed-rs/5sucshn5njulvmxjucq4wg81p.ll 255409664 zed-rs/5syv1375c7i7870jctt3co1ip.ll 1885807276 zed-rs/5t11v1wc3a9lo225k1xr00pdg.ll 4719101327 zed-rs/5ta1fnasvc90k95zqql8ufc92.ll 6274541227 @@ -40185,13 +40185,13 @@ zed-rs/5vlycw7vf9lt1c0gfsbkih1jn.ll 122236119 zed-rs/5vqglwavs7x5ah6w1ejgztrvj.ll 4712313012 zed-rs/5wqsqgdmsa85llhvjdoyyxdbt.ll 7183802860 zed-rs/5wsk7wl322xg0y1u2gbq1r3rk.ll 879332526 -zed-rs/5wz01y896jxljxzjbwo9cjiak.ll 8163364316 +zed-rs/5wz01y896jxljxzjbwo9cjiak.ll 8153886930 zed-rs/5x7hg1mlcao6i0r3jb3d14b77.ll 29991993696 zed-rs/5xevyi85tx7z64jdpnqwqtx9p.ll 4140638908 zed-rs/5xfke1jw0ac7pab611oym1u20.ll 5547422956 zed-rs/5xyjbgzjrjfd06sknyxfrytq2.ll 10925360626 zed-rs/5xzbfmjm0ssp4zaxaevz1taue.ll 1557922381 -zed-rs/5y1wnv46c80h8ez08dncvhm61.ll 4864051277 +zed-rs/5y1wnv46c80h8ez08dncvhm61.ll 4960113316 zed-rs/5y1wsigytdd2raxioqt092gnl.ll 4846417468 zed-rs/5ydnh8mwazlmpt4yn4x5eda7s.ll 721211072 zed-rs/5yhp42dn62csd0zd7b3dkqa52.ll 4528661266 @@ -40205,7 +40205,7 @@ zed-rs/62p0ysciwr0duwav9qlwb71rc.ll 11048264414 zed-rs/62t06iuepw4aq76f147lyrero.ll 190645619 zed-rs/63wrflzyinu5dkqvbn0c4fu2f.ll 217625804 zed-rs/645sb9j0cpiprkfm7s339qqf6.ll 3196092499 -zed-rs/64h9cfpxdvrx76v1plx22xnyz.ll 486392532 +zed-rs/64h9cfpxdvrx76v1plx22xnyz.ll 485897794 zed-rs/64m9n7h70y7p22vy4aomn270y.ll 4803378126 zed-rs/655upmhuk5u49g6wx9tv0hih8.ll 2522223764 zed-rs/65od2e11tbtl7gt1ig9f3i8el.ll 4866476431 @@ -40307,7 +40307,7 @@ zed-rs/7hsbxpr1hqy17ngn0bqyx5x8s.ll 12141624032 zed-rs/7jaiv08yt9hrplelvkk8jyr6y.ll 984969093 zed-rs/7jcsx5qygrt6nx3uj1ici2nk0.ll 1191085431 zed-rs/7k2wk5j033lz8y6hpd70ftfgq.ll 2204481156 -zed-rs/7la7lih0ughh74a0k2a34khk7.ll 181466565 +zed-rs/7la7lih0ughh74a0k2a34khk7.ll 181244579 zed-rs/7lsy3hr16etm7iqoqsuckbyed.ll 283486465 zed-rs/7m8fd3drcujrn3b7m72kwodjc.ll 5438576263 zed-rs/7n9x7ynl84hra28mm4kly6hja.ll 3846056124 @@ -40332,7 +40332,7 @@ zed-rs/7vgle1vcww8f84ro2xl2r2u8f.ll 1303822053 zed-rs/7wi6xmtt44qg2wz2d9qkj40kr.ll 1966265027 zed-rs/7xoulo9o2q4wd1npp9yutbl3x.ll 4976174989 zed-rs/7ymltqwemw2szmsgk2j93gwi7.ll 212371169 -zed-rs/7ytobmn0xkq5d7tylhffnrtk5.ll 52596117959 +zed-rs/7ytobmn0xkq5d7tylhffnrtk5.ll 52541405368 zed-rs/7yv1dhoybslqchrv8y6qcv567.ll 14018226352 zed-rs/7z2xfgroq6luy23s4a62wgt90.ll 13086490200 zed-rs/7z9gx9vsexnpaf0yku1i7eka7.ll 1541880484 @@ -40345,7 +40345,7 @@ zed-rs/82i93ieknhg74a9n8u6wtxld2.ll 537400345 zed-rs/82tkkde3c6uy775b93ku1y220.ll 225329898 zed-rs/835zkucuw8h9aw73lp3nfl4bh.ll 774486933 zed-rs/83f7cv59nhkcel85ism08ubeo.ll 23875634930 -zed-rs/83mjpyo5lbj96jldbmy8hsyj7.ll 13812856313 +zed-rs/83mjpyo5lbj96jldbmy8hsyj7.ll 13799038887 zed-rs/8429boafm438obcc9d542xswj.ll 36857557721 zed-rs/84i9jtf3ksrb37ur8uqpg2f86.ll 952343860 zed-rs/85xxe5m9bzikfbp4r9clobcbu.ll 812668334 @@ -40426,7 +40426,7 @@ zed-rs/92iizbpp16n9wzmmxw0rpztpt.ll 977703823 zed-rs/92ohmf8wjinb2rin9q3h25rho.ll 442762726 zed-rs/92zdyfmioyp4yfeh8bw9uwmdb.ll 345372463 zed-rs/9388s4fwm23xwpjb7x3htregq.ll 803847801 -zed-rs/9442bztux3sevpf574oh1aseo.ll 6283108401 +zed-rs/9442bztux3sevpf574oh1aseo.ll 6275895847 zed-rs/94k9swwvzph2z2sylgbx96cr5.ll 98846937 zed-rs/94xo04zvzcszp53pmt1va3dhz.ll 273236637 zed-rs/95avnjj492qn9kfp6atrvkp2o.ll 3796134435 @@ -40438,10 +40438,10 @@ zed-rs/980u2xx1q6rr2l5we1spn44yd.ll 6016874660 zed-rs/98w34cm3i57zhkhn56epbm5eb.ll 4621250627 zed-rs/99cpypjhwx9vhqjqmo4qw5cth.ll 830374502 zed-rs/99xtkjwhw46g7fh9gdw0hgerp.ll 2346248055 -zed-rs/9aqq4lfma5vqqktu13c78vgev.ll 247022360 +zed-rs/9aqq4lfma5vqqktu13c78vgev.ll 246747317 zed-rs/9awmqr28bdho83r0fgrej0t00.ll 5966534244 zed-rs/9b9mx9mbozerqg2m8ico6qpia.ll 5351563323 -zed-rs/9bjw8qmh6fj8v4b9gd4oeq32n.ll 172725526 +zed-rs/9bjw8qmh6fj8v4b9gd4oeq32n.ll 172552015 zed-rs/9by7xbrgipxjyx0u6qobo1s7j.ll 389308183 zed-rs/9c10jgz06y4guc3kdqsrv661j.ll 1087199028 zed-rs/9c745mpyev6016wrbif8w6jcd.ll 3284157278 @@ -40467,7 +40467,7 @@ zed-rs/9iau01omm5rr9yzc2t1pdns1t.ll 46099555719 zed-rs/9igphs4jh07znzucv85uqqzol.ll 3867986437 zed-rs/9igvnisirgadr0nx586j3hgeh.ll 1532853351 zed-rs/9inm7ktdum3rusjyvfs9qhb1d.ll 3692295746 -zed-rs/9jehevk9d9r6579lr2sz7eugb.ll 3515321667 +zed-rs/9jehevk9d9r6579lr2sz7eugb.ll 3511221236 zed-rs/9jkx32jki2vcljeo0xctxc8uw.ll 1964152273 zed-rs/9jlworagd4ne92tsld97hkqun.ll 3531228510 zed-rs/9jrz8x0nc5lkiswz6iqpo0zcg.ll 2701209912 @@ -40522,7 +40522,7 @@ zed-rs/a0mwohwi8w2ksrje9uu757r3h.ll 4052244472 zed-rs/a1202jdosca6jpmc3o2s7syhq.ll 1226287883 zed-rs/a19dler2qrv3afh8hccxiqxn7.ll 13020361889 zed-rs/a1jdntn5hiutu9tuect63bb1g.ll 4042561337 -zed-rs/a1t5yikh8xmkdybur7pzzkyzr.ll 314675871 +zed-rs/a1t5yikh8xmkdybur7pzzkyzr.ll 314262372 zed-rs/a33zpymdipox9mx3pgzvd4ds5.ll 2541064606 zed-rs/a34lzu4ftuxlhmjxjhlchhsxi.ll 2006716396 zed-rs/a3hrzugt78pdexsn4h7d7fddk.ll 9938655360 @@ -40532,7 +40532,7 @@ zed-rs/a4a22mj316v75h7ufva5j1joa.ll 50632739005 zed-rs/a4buboiab83euvc0mbk1g3i5t.ll 3682177456 zed-rs/a4ig8dgz5t1q56qsxep8b7iux.ll 1220706956 zed-rs/a4ut3y0ca5lvzy1hbok6d51g2.ll 312672530 -zed-rs/a50lo7f303ucwqc37yc15xnyr.ll 2390121604 +zed-rs/a50lo7f303ucwqc37yc15xnyr.ll 2387623902 zed-rs/a5ci0rxxvxgj9v9regp58axvz.ll 1242128275 zed-rs/a5d6yyd6fi8sgpd1mrlxaz07z.ll 779677188 zed-rs/a5zoltfqgma86dzb1rp0ilkm9.ll 1951217447 @@ -40550,7 +40550,7 @@ zed-rs/a9rra6zt6cc5nzqj25fs18k6t.ll 2439561056 zed-rs/ab01r9sf75x1uliqc5hdvn2v4.ll 2548564853 zed-rs/abtvulclots5u0wyf3l8ipflx.ll 5337583286 zed-rs/ad3qos5opie5ae39m3c4ahrzq.ll 3626463660 -zed-rs/ad504h8k2ec2xxsenfuz9yaoq.ll 449906600 +zed-rs/ad504h8k2ec2xxsenfuz9yaoq.ll 449402506 zed-rs/adhrhj1ih026npw6eixxu9sn1.ll 785442198 zed-rs/adlc6qfcwjhvmcaovuwfkwg5s.ll 482061353 zed-rs/adpsnd9nqys7lhz1febbeebdz.ll 1452347133 @@ -40574,7 +40574,7 @@ zed-rs/ajen7e2erk46wakm45wy0wvu1.ll 457993964 zed-rs/ajrgaboxjz62fw3tsgontcvol.ll 5418192518 zed-rs/ak4ykc5o2q07hp1jptfv0x87c.ll 20883491439 zed-rs/aktvc84j83s8sqq1xgqfsdyza.ll 2258902635 -zed-rs/am8bxdru5sr9ei2xg1g1205ks.ll 142718947 +zed-rs/am8bxdru5sr9ei2xg1g1205ks.ll 142572636 zed-rs/an9c1nbjiirpzpjk20en0tyzy.ll 4214445592 zed-rs/anp459b0r1vn8pok0ofwmqun4.ll 2532429945 zed-rs/ao013726yqx7fego6eunzthdg.ll 125757276 @@ -40751,8 +40751,8 @@ zed-rs/czpyda74ta6m4oig1hr6iiwt6.ll 842068802 zed-rs/d0jkoh70hoa8mo1xffc75hpoi.ll 1142035638 zed-rs/d0whdpjvgd1qxjh8s9itwdzf0.ll 4845061762 zed-rs/d17olm41iqvz8vx06reipdlny.ll 6379208428 -zed-rs/d1bejzfnodjn9e2pnqe5ltmhz.ll 210441292 -zed-rs/d1la7tbj4bxfzuf7lklrygwfp.ll 4935519583 +zed-rs/d1bejzfnodjn9e2pnqe5ltmhz.ll 210230748 +zed-rs/d1la7tbj4bxfzuf7lklrygwfp.ll 4929767669 zed-rs/d1rzz8mrspct74ymgl9sm92kt.ll 10197707138 zed-rs/d1yjg6a7d7s9gdz92nlud1xw8.ll 2747593979 zed-rs/d236qqx54dpqso3cyloa7ybaj.ll 1692920426 @@ -40772,7 +40772,7 @@ zed-rs/d7h2r6mystjn2jzwcl5ofeoiz.ll 30491702208 zed-rs/d85rks8fjothinwf2xlu2hk13.ll 3195213503 zed-rs/d8k4gi60mp0onf0c8t6rhs7ks.ll 9978591464 zed-rs/d9ca0x39ei2n59u3v4jxmnvzg.ll 6361123780 -zed-rs/d9rdc00ynlk1r0xdli8lkxahk.ll 218358294 +zed-rs/d9rdc00ynlk1r0xdli8lkxahk.ll 218101197 zed-rs/d9u9g3e4j8a6dko6rysohoksz.ll 4655958647 zed-rs/d9zbxounqkt24vk3xyo3kqpk8.ll 12035663548 zed-rs/daazuwy5q4pkhw5qv9dy4nfnq.ll 39767527710 @@ -40860,9 +40860,9 @@ zed-rs/e80b5h5uaylvf0myf6av6e6rx.ll 630907114 zed-rs/e85mfp4znq1rfhk7zzynew4fw.ll 16887571042 zed-rs/e8bv0rfzqk9lxg765unikokbu.ll 494475626 zed-rs/e8miey85a4w6kj2eow2y7dsus.ll 5871876434 -zed-rs/e8p2cuwt1sxb20ryu42v8urkr.ll 34164958733 +zed-rs/e8p2cuwt1sxb20ryu42v8urkr.ll 34276307302 zed-rs/e8pmvisniubbhzhzwd0phlezk.ll 3807041116 -zed-rs/e8xlol5x7sq7s60t8s8tclp1n.ll 404296478 +zed-rs/e8xlol5x7sq7s60t8s8tclp1n.ll 403880431 zed-rs/e99ggtk3f1k11hiaohoa91fln.ll 1046821110 zed-rs/e9eqzmwc4ohazgd8llst5h8cu.ll 4977342126 zed-rs/e9q9l7f0w4ywe2gh59is8xhs3.ll 6447522719 @@ -41045,7 +41045,7 @@ zxing/DMDecoder.cpp.ll 1367989447 zxing/DMDetector.cpp.ll 2504527829 zxing/DMECEncoder.cpp.ll 403087922 zxing/DMHighLevelEncoder.cpp.ll 567693584 -zxing/DMReader.cpp.ll 316348288 +zxing/DMReader.cpp.ll 316031797 zxing/DMSymbolInfo.cpp.ll 97257727 zxing/DMVersion.cpp.ll 43699950 zxing/DMWriter.cpp.ll 254754542 @@ -41100,7 +41100,7 @@ zxing/PDFScanningDecoder.cpp.ll 2847652658 zxing/PDFWriter.cpp.ll 978543000 zxing/PerspectiveTransform.cpp.ll 139564653 zxing/QRBitMatrixParser.cpp.ll 366100041 -zxing/QRCodecMode.cpp.ll 91432181 +zxing/QRCodecMode.cpp.ll 91331433 zxing/QRDataBlock.cpp.ll 105468754 zxing/QRDecoder.cpp.ll 532608491 zxing/QRDetector.cpp.ll 3307715755 diff --git a/llvm/llvm-project b/llvm/llvm-project index f537792f3f4..e19a5fc6d30 160000 --- a/llvm/llvm-project +++ b/llvm/llvm-project @@ -1 +1 @@ -Subproject commit f537792f3f4977c8bc887b17ffc25e93833e7d0d +Subproject commit e19a5fc6d306a81d181a9597a8b25c444c08d722 diff --git a/stats.baseline b/stats.baseline index 83fe3248aa9..bdcf052db04 100644 --- a/stats.baseline +++ b/stats.baseline @@ -1,7 +1,7 @@ { "abstract-call-sites.NumCallbackCallSites": 7997, - "abstract-call-sites.NumDirectAbstractCallSites": 6203284, - "abstract-call-sites.NumInvalidAbstractCallSitesNoCallback": 98518, + "abstract-call-sites.NumDirectAbstractCallSites": 6203347, + "abstract-call-sites.NumInvalidAbstractCallSitesNoCallback": 98516, "abstract-call-sites.NumInvalidAbstractCallSitesUnknownCallee": 802, "abstract-call-sites.NumInvalidAbstractCallSitesUnknownUse": 636880, "adce.NumBranchesRemoved": 22208, @@ -10,7 +10,7 @@ "aggressive-instcombine.NumExprsReduced": 20689, "aggressive-instcombine.NumInstrsReduced": 61938, "aggressive-instcombine.NumPopCountRecognized": 179, - "argpromotion.NumArgumentsDead": 696124, + "argpromotion.NumArgumentsDead": 696126, "argpromotion.NumArgumentsPromoted": 580459, "attributor.NumAAs": 1744738, "basicaa.SearchLimitReached": 28839, @@ -33,8 +33,8 @@ "build-libcalls.NumWriteOnly": 6717, "build-libcalls.NumWriteOnlyArg": 3740, "callsite-splitting.NumCallSiteSplit": 9984, - "capture-tracking.NumCapturedBefore": 12917854, - "capture-tracking.NumNotCapturedBefore": 15832048, + "capture-tracking.NumCapturedBefore": 12918433, + "capture-tracking.NumNotCapturedBefore": 15832135, "constmerge.NumIdenticalMerged": 13524, "constraint-elimination.NumCondsRemoved": 1471502, "correlated-value-propagation.NumAShrsConverted": 3806, @@ -55,7 +55,7 @@ "correlated-value-propagation.NumNSW": 413536, "correlated-value-propagation.NumNUW": 353098, "correlated-value-propagation.NumNW": 766012, - "correlated-value-propagation.NumNonNull": 7055081, + "correlated-value-propagation.NumNonNull": 7055477, "correlated-value-propagation.NumOverflows": 2426, "correlated-value-propagation.NumPhiCommon": 49106, "correlated-value-propagation.NumPhis": 940102, @@ -78,7 +78,7 @@ "correlated-value-propagation.NumUDivURemsNarrowed": 8418, "correlated-value-propagation.NumUDivURemsNarrowedExpanded": 887, "count-visits.MaxVisited": 44092, - "deadargelim.NumArgumentsEliminated": 16793, + "deadargelim.NumArgumentsEliminated": 16803, "deadargelim.NumArgumentsReplacedWithPoison": 35741, "deadargelim.NumRetValsEliminated": 16481, "div-rem-pairs.NumDecomposed": 1764, @@ -91,35 +91,35 @@ "dse.NumCompletePartials": 19927, "dse.NumFastOther": 130018, "dse.NumFastStores": 716954, - "dse.NumGetDomMemoryDefPassed": 879786, + "dse.NumGetDomMemoryDefPassed": 879789, "dse.NumModifiedStores": 4174, "dse.NumRedundantStores": 27622, - "dse.NumRemainingStores": 35802862, - "early-cse.NumCSE": 3987420, - "early-cse.NumCSECVP": 69195, + "dse.NumRemainingStores": 35803679, + "early-cse.NumCSE": 3987430, + "early-cse.NumCSECVP": 69198, "early-cse.NumCSECall": 23544, - "early-cse.NumCSEGEP": 10181019, - "early-cse.NumCSELoad": 6182003, + "early-cse.NumCSEGEP": 10181464, + "early-cse.NumCSELoad": 6182077, "early-cse.NumDSE": 186470, - "early-cse.NumSimplify": 25582748, + "early-cse.NumSimplify": 25582803, "elim-avail-extern.NumRemovals": 220003, "elim-avail-extern.NumVariables": 91557, "function-attrs.NumCold": 21527, "function-attrs.NumMemoryAttr": 1370168, "function-attrs.NumNoAlias": 62809, - "function-attrs.NumNoCapture": 3258850, + "function-attrs.NumNoCapture": 3258857, "function-attrs.NumNoFree": 623662, "function-attrs.NumNoRecurse": 1342884, "function-attrs.NumNoSync": 1327242, - "function-attrs.NumNoUndefReturn": 63631, + "function-attrs.NumNoUndefReturn": 63632, "function-attrs.NumNoUnwind": 918267, "function-attrs.NumNonNullReturn": 16025, - "function-attrs.NumReadNoneArg": 1051224, - "function-attrs.NumReadOnlyArg": 1619594, + "function-attrs.NumReadNoneArg": 1051226, + "function-attrs.NumReadOnlyArg": 1619597, "function-attrs.NumReturned": 170566, "function-attrs.NumWillReturn": 1286232, "function-attrs.NumWriteOnlyArg": 704260, - "function-specialization.NumSpecsCreated": 8, + "function-specialization.NumSpecsCreated": 16, "globaldce.NumFunctions": 355453, "globaldce.NumVFuncs": 30580, "globaldce.NumVariables": 100055, @@ -129,27 +129,27 @@ "globalopt.NumCXXDtorsRemoved": 2136, "globalopt.NumCtorsEvaluated": 3032, "globalopt.NumDeleted": 823859, - "globalopt.NumFastCallFns": 2165343, + "globalopt.NumFastCallFns": 2165351, "globalopt.NumGlobUses": 300, - "globalopt.NumInternalFunc": 2165343, + "globalopt.NumInternalFunc": 2165351, "globalopt.NumLocalized": 13, "globalopt.NumMarked": 2611, "globalopt.NumSRA": 1134, "globalopt.NumShrunkToBool": 2269, - "globalopt.NumUnnamed": 12856366, + "globalopt.NumUnnamed": 12856374, "globalsmodref-aa.NumIndirectGlobalVars": 87, "globalsmodref-aa.NumNoMemFunctions": 781162, - "globalsmodref-aa.NumNonAddrTakenFunctions": 2331597, + "globalsmodref-aa.NumNonAddrTakenFunctions": 2331610, "globalsmodref-aa.NumNonAddrTakenGlobalVars": 175820, "globalsmodref-aa.NumReadMemFunctions": 1143057, "gvn.IsValueFullyAvailableInBlockNumSpeculationsMax": 463499, "gvn.NumGVNBlocks": 208952, "gvn.NumGVNEqProp": 338342, - "gvn.NumGVNInstr": 7597018, - "gvn.NumGVNLoad": 1051482, + "gvn.NumGVNInstr": 7597667, + "gvn.NumGVNLoad": 1051507, "gvn.NumGVNPRE": 127973, - "gvn.NumGVNSimpl": 4163739, - "gvn.NumPRELoad": 743399, + "gvn.NumGVNSimpl": 4164202, + "gvn.NumPRELoad": 743414, "gvn.NumPRELoadMoved2CEPred": 72372, "gvn.NumPRELoopLoad": 2369, "indvars.NumElimCmp": 46401, @@ -159,14 +159,14 @@ "indvars.NumElimOperand": 6, "indvars.NumElimRem": 188, "indvars.NumFoldedUser": 1843, - "indvars.NumLFTR": 239748, + "indvars.NumLFTR": 239753, "indvars.NumReplaced": 99185, "indvars.NumSimplifiedSDiv": 65, "indvars.NumSimplifiedSRem": 31, "indvars.NumWidened": 209657, - "inline-cost.NumCallsAnalyzed": 46269359, - "inline.NumDeleted": 15299378, - "inline.NumInlined": 36574375, + "inline-cost.NumCallsAnalyzed": 46270922, + "inline.NumDeleted": 15299379, + "inline.NumInlined": 36575316, "instcombine.NegatorMaxDepthVisited": 18145, "instcombine.NegatorMaxInstructionsCreated": 12686, "instcombine.NegatorMaxTotalValuesVisited": 56627, @@ -174,40 +174,40 @@ "instcombine.NegatorNumInstructionsNegatedSuccess": 45469, "instcombine.NegatorNumNegationsFoundInCache": 4150, "instcombine.NegatorNumTreesNegated": 35980, - "instcombine.NegatorNumValuesVisited": 22048468, - "instcombine.NegatorTotalNegationsAttempted": 21210926, + "instcombine.NegatorNumValuesVisited": 22048866, + "instcombine.NegatorTotalNegationsAttempted": 21211324, "instcombine.NumAggregateReconstructionsSimplified": 9238, - "instcombine.NumCombined": 95616520, + "instcombine.NumCombined": 95619543, "instcombine.NumConstProp": 104211, - "instcombine.NumDeadInst": 33152933, + "instcombine.NumDeadInst": 33153742, "instcombine.NumDeadStore": 23021, "instcombine.NumExpand": 1979, "instcombine.NumFactor": 41084, "instcombine.NumGlobalCopies": 134278, - "instcombine.NumOneIteration": 88233936, - "instcombine.NumPHICSEs": 1720032, - "instcombine.NumPHIsOfExtractValues": 3206558, + "instcombine.NumOneIteration": 88233938, + "instcombine.NumPHICSEs": 1720092, + "instcombine.NumPHIsOfExtractValues": 3206678, "instcombine.NumPHIsOfInsertValues": 21933, "instcombine.NumReassoc": 254334, "instcombine.NumSel": 28218, - "instcombine.NumSimplified": 412140, - "instcombine.NumSunkInst": 2698429, - "instcombine.NumTwoIterations": 17169303, - "instcombine.NumWorklistIterations": 105403239, + "instcombine.NumSimplified": 412141, + "instcombine.NumSunkInst": 2698538, + "instcombine.NumTwoIterations": 17169346, + "instcombine.NumWorklistIterations": 105403284, "instsimplify.NumExpand": 151854, "instsimplify.NumReassoc": 354548, - "instsimplify.NumSimplified": 2209395, + "instsimplify.NumSimplified": 2209843, "jump-threading.NumDupes": 112582, - "jump-threading.NumFolds": 2015015, - "jump-threading.NumThreads": 2132383, - "lcssa.NumLCSSA": 14037042, + "jump-threading.NumFolds": 2015058, + "jump-threading.NumThreads": 2132429, + "lcssa.NumLCSSA": 14039041, "libcalls-shrinkwrap.NumWrappedOneCond": 122, "libcalls-shrinkwrap.NumWrappedTwoCond": 173, "licm.NumAddSubHoisted": 896, "licm.NumBOAssociationsHoisted": 5316, "licm.NumFPAssociationsHoisted": 181, "licm.NumGEPsHoisted": 28252, - "licm.NumHoisted": 4041765, + "licm.NumHoisted": 4042180, "licm.NumIntAssociationsHoisted": 2653, "licm.NumLoadPromoted": 63089, "licm.NumLoadStorePromoted": 57640, @@ -215,7 +215,7 @@ "licm.NumMovedCalls": 19925, "licm.NumMovedLoads": 320172, "licm.NumPromotionCandidates": 376252, - "licm.NumSunk": 250137, + "licm.NumSunk": 250217, "local.NumPHICSEs": 162039, "local.NumRemoved": 3782120, "loop-delete.NumBackedgesBroken": 38864, @@ -225,54 +225,54 @@ "loop-idiom.NumMemSet": 34066, "loop-instsimplify.NumSimplified": 193214, "loop-load-elim.NumLoopLoadEliminted": 793, - "loop-rotate.NumInstrsDuplicated": 2894594, + "loop-rotate.NumInstrsDuplicated": 2894857, "loop-rotate.NumInstrsHoisted": 949, "loop-rotate.NumNotRotatedDueToHeaderSize": 12592, - "loop-rotate.NumRotated": 1076643, + "loop-rotate.NumRotated": 1076694, "loop-simplify.NumNested": 11290, "loop-simplifycfg.NumLoopBlocksDeleted": 10228, "loop-simplifycfg.NumLoopExitsDeleted": 6128, "loop-simplifycfg.NumTerminatorsFolded": 12158, "loop-unroll.NumCompletelyUnrolled": 537, "loop-unroll.NumUnrolled": 538, - "loop-vectorize.LoopsAnalyzed": 1918418, + "loop-vectorize.LoopsAnalyzed": 1918574, "loop-vectorize.LoopsVectorized": 11, "lower-expect-intrinsic.ExpectIntrinsicsHandled": 53089, "lower-is-constant-intrinsic.IsConstantIntrinsicsHandled": 19843, - "mem2reg.NumDeadAlloca": 1051775, + "mem2reg.NumDeadAlloca": 1051942, "mem2reg.NumLocalPromoted": 520303, - "mem2reg.NumPHIInsert": 9675109, - "mem2reg.NumPromoted": 47638, - "mem2reg.NumSingleStore": 54499454, + "mem2reg.NumPHIInsert": 9675134, + "mem2reg.NumPromoted": 47785, + "mem2reg.NumSingleStore": 54499574, "memcpyopt.NumCallSlot": 595197, "memcpyopt.NumCpyToSet": 9653, "memcpyopt.NumMemCpyInstr": 1137035, "memcpyopt.NumMemSetInfer": 361877, "memcpyopt.NumMoveToCpy": 6563, "memcpyopt.NumStackMove": 57188, - "memdep.NumCacheCompleteNonLocalPtr": 4139740, + "memdep.NumCacheCompleteNonLocalPtr": 4139872, "memdep.NumCacheDirtyNonLocal": 232, "memdep.NumCacheDirtyNonLocalPtr": 18616, "memdep.NumCacheNonLocal": 17260, - "memdep.NumCacheNonLocalPtr": 176518952, + "memdep.NumCacheNonLocalPtr": 176538240, "memdep.NumUncacheNonLocal": 22040, - "memdep.NumUncacheNonLocalPtr": 169461928, + "memdep.NumUncacheNonLocalPtr": 169476120, "memory-builtins.ObjectVisitorLoad": 1668502, "move-auto-init.NumMoved": 2874, "openmp-opt.NumOpenMPRuntimeCallsDeduplicated": 207, "openmp-opt.NumOpenMPRuntimeFunctionUsesIdentified": 12045755, "openmp-opt.NumOpenMPRuntimeFunctionsIdentified": 1548791, "reassociate.NumAnnihil": 742, - "reassociate.NumChanged": 4315422, + "reassociate.NumChanged": 4315662, "reassociate.NumFactor": 2995, "scalar-evolution.NumBruteForceTripCountsComputed": 79623, - "scalar-evolution.NumExitCountsComputed": 3663092, - "scalar-evolution.NumExitCountsNotComputed": 11521829, - "sccp.NumArgsElimed": 161286, - "sccp.NumDeadBlocks": 707072, + "scalar-evolution.NumExitCountsComputed": 3663102, + "scalar-evolution.NumExitCountsNotComputed": 11524743, + "sccp.NumArgsElimed": 161302, + "sccp.NumDeadBlocks": 707544, "sccp.NumGlobalConst": 3227, - "sccp.NumInstRemoved": 1912064, - "sccp.NumInstReplaced": 145681, + "sccp.NumInstRemoved": 1913525, + "sccp.NumInstReplaced": 145679, "simple-loop-unswitch.NumBranches": 82929, "simple-loop-unswitch.NumCostMultiplierSkipped": 18790, "simple-loop-unswitch.NumInvariantConditionsInjected": 37, @@ -280,30 +280,30 @@ "simple-loop-unswitch.NumSwitches": 2303, "simple-loop-unswitch.NumTrivial": 2565, "simplifycfg.NumBitMaps": 2412, - "simplifycfg.NumFoldBranchToCommonDest": 578785, + "simplifycfg.NumFoldBranchToCommonDest": 578791, "simplifycfg.NumFoldValueComparisonIntoPredecessors": 525628, - "simplifycfg.NumHoistCommonCode": 615166, - "simplifycfg.NumHoistCommonInstrs": 1777509, - "simplifycfg.NumInvokeSetsFormed": 53898, + "simplifycfg.NumHoistCommonCode": 615168, + "simplifycfg.NumHoistCommonInstrs": 1777511, + "simplifycfg.NumInvokeSetsFormed": 53903, "simplifycfg.NumInvokes": 848067, - "simplifycfg.NumInvokesMerged": 147800, + "simplifycfg.NumInvokesMerged": 147810, "simplifycfg.NumLinearMaps": 2930, "simplifycfg.NumLookupTables": 18874, "simplifycfg.NumLookupTablesHoles": 2237, - "simplifycfg.NumSimpl": 42475443, - "simplifycfg.NumSinkCommonCode": 335836, - "simplifycfg.NumSinkCommonInstrs": 705029, - "simplifycfg.NumSpeculations": 315032, + "simplifycfg.NumSimpl": 42476174, + "simplifycfg.NumSinkCommonCode": 335842, + "simplifycfg.NumSinkCommonInstrs": 705035, + "simplifycfg.NumSpeculations": 315033, "sroa.MaxPartitionsPerAlloca": 178743, "sroa.MaxUsesPerAllocaPartition": 1779306, - "sroa.NumAllocaPartitionUses": 210758139, - "sroa.NumAllocaPartitions": 68479830, - "sroa.NumAllocasAnalyzed": 90791411, - "sroa.NumDeleted": 214411448, + "sroa.NumAllocaPartitionUses": 210758684, + "sroa.NumAllocaPartitions": 68479995, + "sroa.NumAllocasAnalyzed": 90792656, + "sroa.NumDeleted": 214412158, "sroa.NumLoadsPredicated": 2105, "sroa.NumLoadsSpeculated": 288254, - "sroa.NumNewAllocas": 22245318, - "sroa.NumPromoted": 62068266, + "sroa.NumNewAllocas": 22245483, + "sroa.NumPromoted": 62068431, "sroa.NumStoresPredicated": 4086, "sroa.NumVectorized": 1250630, "tailcallelim.NumAccumAdded": 176,