diff --git a/bench/actix-rs/optimized/2o6s6qtmif526itx.ll b/bench/actix-rs/optimized/2o6s6qtmif526itx.ll index 2fc7a023818..0a58b7c8da7 100644 --- a/bench/actix-rs/optimized/2o6s6qtmif526itx.ll +++ b/bench/actix-rs/optimized/2o6s6qtmif526itx.ll @@ -815,7 +815,6 @@ _ZN19brotli_decompressor6writer9write_all17hd82ef04ab5f10320E.exit: ; preds = %5 ; Function Attrs: nonlazybind uwtable define internal fastcc noundef zeroext i1 @"_ZN2h25codec12framed_write16Encoder$LT$B$GT$11unset_frame17hcc6ee6c140920acbE"(ptr noalias noundef nonnull align 8 dereferenceable(304) initializes((248, 256), (272, 280)) %0) unnamed_addr #0 personality ptr @rust_eh_personality { - %.sroa.016 = alloca [61 x i8], align 8 %2 = alloca { ptr, [4 x i64] }, align 8 %3 = alloca { ptr, i64 }, align 8 %4 = alloca { { { ptr, ptr, i64, { ptr } } }, i32, [1 x i32] }, align 8 @@ -905,8 +904,6 @@ define internal fastcc noundef zeroext i1 @"_ZN2h25codec12framed_write16Encoder$ resume { ptr, i32 } %.pn 34: ; preds = %23 - call void @llvm.lifetime.start.p0(i64 61, ptr nonnull %.sroa.016) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %.sroa.016, ptr noundef nonnull align 8 dereferenceable(40) %2, i64 40, i1 false) call void @llvm.experimental.noalias.scope.decl(metadata !229) %35 = load i8, ptr %.sroa.5.0..sroa_idx, align 1, !range !195, !alias.scope !229, !noundef !10 %36 = icmp eq i8 %35, 3 @@ -928,14 +925,13 @@ define internal fastcc noundef zeroext i1 @"_ZN2h25codec12framed_write16Encoder$ 45: ; preds = %"_ZN4core3ptr128drop_in_place$LT$h2..codec..framed_write..Next$LT$h2..proto..streams..prioritize..Prioritized$LT$bytes..bytes..Bytes$GT$$GT$$GT$17h0d89d65fa9dc138fE.exit.i" %46 = landingpad { ptr, i32 } cleanup - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(61) %7, ptr noundef nonnull align 8 dereferenceable(61) %.sroa.016, i64 61, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %7, ptr noundef nonnull align 8 dereferenceable(40) %2, i64 40, i1 false) store i8 2, ptr %.sroa.5.0..sroa_idx, align 1 br label %33 .thread: ; preds = %"_ZN4core3ptr128drop_in_place$LT$h2..codec..framed_write..Next$LT$h2..proto..streams..prioritize..Prioritized$LT$bytes..bytes..Bytes$GT$$GT$$GT$17h0d89d65fa9dc138fE.exit.i", %34 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(61) %7, ptr noundef nonnull align 8 dereferenceable(61) %.sroa.016, i64 61, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %7, ptr noundef nonnull align 8 dereferenceable(40) %2, i64 40, i1 false) store i8 2, ptr %.sroa.5.0..sroa_idx, align 1 - call void @llvm.lifetime.end.p0(i64 61, ptr nonnull %.sroa.016) br label %47 47: ; preds = %23, %.thread @@ -1035,11 +1031,9 @@ define hidden noundef range(i8 2, 13) i8 @"_ZN2h25codec12framed_write16Encoder$L %89 = alloca [2 x { ptr, { ptr, [1 x i64] } }], align 8 %90 = alloca { { { ptr, i64 }, ptr } }, align 8 %91 = alloca { { i32, [1 x i32] }, { i32, [1 x i32] }, { i32, [1 x i32] }, { i32, [1 x i32] }, { i32, [1 x i32] }, { i32, [1 x i32] }, { i32, [1 x i32] }, i8, [3 x i8] }, align 4 - %.sroa.068 = alloca [61 x i8], align 8 %92 = alloca { ptr, [4 x i64] }, align 8 %93 = alloca { ptr, i64 }, align 8 %94 = alloca { { { { i64, [2 x i64] }, { { i64, ptr, {} }, i64 }, { { i64, ptr, {} }, i64 }, { { { { ptr, i64 } }, {} }, {} }, i16, [3 x i16] }, { { i8, [23 x i8] }, { ptr, [3 x i64] }, { ptr, [3 x i64] }, { ptr, [3 x i64] }, { ptr, [3 x i64] }, i16, [3 x i16] }, i64, i8, [7 x i8] }, i32, i32, i8, [7 x i8] }, align 8 - %.sroa.058 = alloca [61 x i8], align 8 %95 = alloca { ptr, [4 x i64] }, align 8 %96 = alloca { ptr, i64 }, align 8 %97 = alloca { { { { i64, [2 x i64] }, { { i64, ptr, {} }, i64 }, { { i64, ptr, {} }, i64 }, { { { { ptr, i64 } }, {} }, {} }, i16, [3 x i16] }, { { i8, [23 x i8] }, { ptr, [3 x i64] }, { ptr, [3 x i64] }, { ptr, [3 x i64] }, { ptr, [3 x i64] }, i16, [3 x i16] }, i64, i8, [7 x i8] }, { [5 x i8], i8, [2 x i8] }, i32, i8, [3 x i8] }, align 8 @@ -2095,8 +2089,6 @@ _ZN12tracing_core8callsite15DefaultCallsite8interest17hfb4783fc25b01e0cE.exit647 br i1 %.not541, label %"_ZN4core3ptr53drop_in_place$LT$h2..frame..headers..Continuation$GT$17h9d94dfbafc0ffe8aE.exit", label %472 472: ; preds = %470 - call void @llvm.lifetime.start.p0(i64 61, ptr nonnull %.sroa.058) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %.sroa.058, ptr noundef nonnull align 8 dereferenceable(40) %95, i64 40, i1 false) call void @llvm.experimental.noalias.scope.decl(metadata !346) %473 = load i8, ptr %128, align 1, !range !195, !alias.scope !346, !noundef !10 %474 = icmp eq i8 %473, 3 @@ -2118,14 +2110,13 @@ _ZN12tracing_core8callsite15DefaultCallsite8interest17hfb4783fc25b01e0cE.exit647 483: ; preds = %"_ZN4core3ptr128drop_in_place$LT$h2..codec..framed_write..Next$LT$h2..proto..streams..prioritize..Prioritized$LT$bytes..bytes..Bytes$GT$$GT$$GT$17h0d89d65fa9dc138fE.exit.i698" %484 = landingpad { ptr, i32 } cleanup - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(61) %127, ptr noundef nonnull align 8 dereferenceable(61) %.sroa.058, i64 61, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %127, ptr noundef nonnull align 8 dereferenceable(40) %95, i64 40, i1 false) store i8 2, ptr %128, align 1 br label %"_ZN4core3ptr120drop_in_place$LT$h2..frame..data..Data$LT$h2..proto..streams..prioritize..Prioritized$LT$bytes..bytes..Bytes$GT$$GT$$GT$17h7654534be3b35cdaE.exit697" .thread1184: ; preds = %"_ZN4core3ptr128drop_in_place$LT$h2..codec..framed_write..Next$LT$h2..proto..streams..prioritize..Prioritized$LT$bytes..bytes..Bytes$GT$$GT$$GT$17h0d89d65fa9dc138fE.exit.i698", %472 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(61) %127, ptr noundef nonnull align 8 dereferenceable(61) %.sroa.058, i64 61, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %127, ptr noundef nonnull align 8 dereferenceable(40) %95, i64 40, i1 false) store i8 2, ptr %128, align 1 - call void @llvm.lifetime.end.p0(i64 61, ptr nonnull %.sroa.058) br label %"_ZN4core3ptr53drop_in_place$LT$h2..frame..headers..Continuation$GT$17h9d94dfbafc0ffe8aE.exit" "_ZN4core3ptr53drop_in_place$LT$h2..frame..headers..Continuation$GT$17h9d94dfbafc0ffe8aE.exit": ; preds = %470, %.thread1184 @@ -2139,8 +2130,6 @@ _ZN12tracing_core8callsite15DefaultCallsite8interest17hfb4783fc25b01e0cE.exit647 br i1 %.not540, label %"_ZN4core3ptr53drop_in_place$LT$h2..frame..headers..Continuation$GT$17h9d94dfbafc0ffe8aE.exit706", label %487 487: ; preds = %485 - call void @llvm.lifetime.start.p0(i64 61, ptr nonnull %.sroa.068) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %.sroa.068, ptr noundef nonnull align 8 dereferenceable(40) %92, i64 40, i1 false) call void @llvm.experimental.noalias.scope.decl(metadata !353) %488 = load i8, ptr %128, align 1, !range !195, !alias.scope !353, !noundef !10 %489 = icmp eq i8 %488, 3 @@ -2162,14 +2151,13 @@ _ZN12tracing_core8callsite15DefaultCallsite8interest17hfb4783fc25b01e0cE.exit647 498: ; preds = %"_ZN4core3ptr128drop_in_place$LT$h2..codec..framed_write..Next$LT$h2..proto..streams..prioritize..Prioritized$LT$bytes..bytes..Bytes$GT$$GT$$GT$17h0d89d65fa9dc138fE.exit.i702" %499 = landingpad { ptr, i32 } cleanup - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(61) %127, ptr noundef nonnull align 8 dereferenceable(61) %.sroa.068, i64 61, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %127, ptr noundef nonnull align 8 dereferenceable(40) %92, i64 40, i1 false) store i8 2, ptr %128, align 1 br label %"_ZN4core3ptr120drop_in_place$LT$h2..frame..data..Data$LT$h2..proto..streams..prioritize..Prioritized$LT$bytes..bytes..Bytes$GT$$GT$$GT$17h7654534be3b35cdaE.exit697" .thread1186: ; preds = %"_ZN4core3ptr128drop_in_place$LT$h2..codec..framed_write..Next$LT$h2..proto..streams..prioritize..Prioritized$LT$bytes..bytes..Bytes$GT$$GT$$GT$17h0d89d65fa9dc138fE.exit.i702", %487 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(61) %127, ptr noundef nonnull align 8 dereferenceable(61) %.sroa.068, i64 61, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %127, ptr noundef nonnull align 8 dereferenceable(40) %92, i64 40, i1 false) store i8 2, ptr %128, align 1 - call void @llvm.lifetime.end.p0(i64 61, ptr nonnull %.sroa.068) br label %"_ZN4core3ptr53drop_in_place$LT$h2..frame..headers..Continuation$GT$17h9d94dfbafc0ffe8aE.exit706" "_ZN4core3ptr53drop_in_place$LT$h2..frame..headers..Continuation$GT$17h9d94dfbafc0ffe8aE.exit706": ; preds = %485, %.thread1186 diff --git a/bench/actix-rs/optimized/409utvkjqyfhgg14.ll b/bench/actix-rs/optimized/409utvkjqyfhgg14.ll index 91afeea8011..a6508d24d2d 100644 --- a/bench/actix-rs/optimized/409utvkjqyfhgg14.ll +++ b/bench/actix-rs/optimized/409utvkjqyfhgg14.ll @@ -3297,7 +3297,6 @@ define hidden void @"_ZN11actix_codec6framed19Framed$LT$T$C$U$GT$9next_item17h06 %.sroa.0.i = alloca [83 x i8], align 8 %.sroa.059 = alloca [83 x i8], align 8 %9 = alloca { i64, [1 x i64] }, align 8 - %.sroa.053 = alloca [83 x i8], align 8 %10 = alloca { { ptr, i64 }, { ptr, i64 }, { ptr, [1 x i64] } }, align 8 %11 = alloca { { { ptr, i64 }, { { ptr, ptr } } }, i64 }, align 8 %12 = alloca [1 x { ptr, { ptr, [1 x i64] } }], align 8 @@ -3320,7 +3319,6 @@ define hidden void @"_ZN11actix_codec6framed19Framed$LT$T$C$U$GT$9next_item17h06 %29 = alloca { { { ptr, i64 }, { { ptr, ptr } } }, i64 }, align 8 %30 = alloca [1 x { ptr, { ptr, [1 x i64] } }], align 8 %31 = alloca { { { ptr, i64 }, ptr } }, align 8 - %.sroa.03 = alloca [83 x i8], align 8 %.sroa.0199 = alloca [83 x i8], align 8 %32 = getelementptr inbounds nuw i8, ptr %1, i64 64 %33 = getelementptr inbounds nuw i8, ptr %1, i64 216 @@ -3420,12 +3418,9 @@ _ZN10tokio_util5codec7decoder7Decoder10decode_eof17hb5ee5bbe429ba09eE.exit.threa _ZN10tokio_util5codec7decoder7Decoder10decode_eof17hb5ee5bbe429ba09eE.exit.thread: ; preds = %69, %73 call void @llvm.lifetime.end.p0(i64 83, ptr nonnull %.sroa.0.i) - call void @llvm.lifetime.start.p0(i64 83, ptr nonnull %.sroa.03) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.03, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.0199, i64 16, i1 false) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(83) %0, ptr noundef nonnull align 8 dereferenceable(83) %.sroa.03, i64 83, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.0199, i64 16, i1 false) %.sroa.44.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 83 store i8 6, ptr %.sroa.44.0..sroa_idx, align 1 - call void @llvm.lifetime.end.p0(i64 83, ptr nonnull %.sroa.03) br label %260 _ZN10tokio_util5codec7decoder7Decoder10decode_eof17hb5ee5bbe429ba09eE.exit: ; preds = %67 @@ -3649,12 +3644,9 @@ _ZN12tracing_core8callsite15DefaultCallsite8interest17hfb4783fc25b01e0cE.exit.th br label %126 148: ; preds = %126 - call void @llvm.lifetime.start.p0(i64 83, ptr nonnull %.sroa.053) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.053, ptr noundef nonnull align 8 dereferenceable(16) %21, i64 16, i1 false) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(83) %0, ptr noundef nonnull align 8 dereferenceable(83) %.sroa.053, i64 83, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef nonnull align 8 dereferenceable(16) %21, i64 16, i1 false) %.sroa.454.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 83 store i8 6, ptr %.sroa.454.0..sroa_idx, align 1 - call void @llvm.lifetime.end.p0(i64 83, ptr nonnull %.sroa.053) br label %237 149: ; preds = %.invoke, %235, %.noexc196, %.critedge9.i194, %"_ZN84_$LT$tracing_core..field..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hcd9665bf20006012E.exit186", %156, %"_ZN84_$LT$tracing_core..field..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hcd9665bf20006012E.exit193", %186, %177, %_ZN12tracing_core8callsite15DefaultCallsite8interest17hfb4783fc25b01e0cE.exit179.thread @@ -5444,7 +5436,6 @@ define hidden void @"_ZN11actix_codec6framed19Framed$LT$T$C$U$GT$9next_item17h81 %.sroa.0.i = alloca [83 x i8], align 8 %.sroa.059 = alloca [83 x i8], align 8 %9 = alloca { i64, [1 x i64] }, align 8 - %.sroa.053 = alloca [83 x i8], align 8 %10 = alloca { { ptr, i64 }, { ptr, i64 }, { ptr, [1 x i64] } }, align 8 %11 = alloca { { { ptr, i64 }, { { ptr, ptr } } }, i64 }, align 8 %12 = alloca [1 x { ptr, { ptr, [1 x i64] } }], align 8 @@ -5467,7 +5458,6 @@ define hidden void @"_ZN11actix_codec6framed19Framed$LT$T$C$U$GT$9next_item17h81 %29 = alloca { { { ptr, i64 }, { { ptr, ptr } } }, i64 }, align 8 %30 = alloca [1 x { ptr, { ptr, [1 x i64] } }], align 8 %31 = alloca { { { ptr, i64 }, ptr } }, align 8 - %.sroa.03 = alloca [83 x i8], align 8 %.sroa.0199 = alloca [83 x i8], align 8 %32 = getelementptr inbounds nuw i8, ptr %1, i64 120 %33 = getelementptr inbounds nuw i8, ptr %1, i64 248 @@ -5567,12 +5557,9 @@ _ZN10tokio_util5codec7decoder7Decoder10decode_eof17hb5ee5bbe429ba09eE.exit.threa _ZN10tokio_util5codec7decoder7Decoder10decode_eof17hb5ee5bbe429ba09eE.exit.thread: ; preds = %69, %73 call void @llvm.lifetime.end.p0(i64 83, ptr nonnull %.sroa.0.i) - call void @llvm.lifetime.start.p0(i64 83, ptr nonnull %.sroa.03) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.03, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.0199, i64 16, i1 false) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(83) %0, ptr noundef nonnull align 8 dereferenceable(83) %.sroa.03, i64 83, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.0199, i64 16, i1 false) %.sroa.44.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 83 store i8 6, ptr %.sroa.44.0..sroa_idx, align 1 - call void @llvm.lifetime.end.p0(i64 83, ptr nonnull %.sroa.03) br label %260 _ZN10tokio_util5codec7decoder7Decoder10decode_eof17hb5ee5bbe429ba09eE.exit: ; preds = %67 @@ -5796,12 +5783,9 @@ _ZN12tracing_core8callsite15DefaultCallsite8interest17hfb4783fc25b01e0cE.exit.th br label %126 148: ; preds = %126 - call void @llvm.lifetime.start.p0(i64 83, ptr nonnull %.sroa.053) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.053, ptr noundef nonnull align 8 dereferenceable(16) %21, i64 16, i1 false) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(83) %0, ptr noundef nonnull align 8 dereferenceable(83) %.sroa.053, i64 83, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef nonnull align 8 dereferenceable(16) %21, i64 16, i1 false) %.sroa.454.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 83 store i8 6, ptr %.sroa.454.0..sroa_idx, align 1 - call void @llvm.lifetime.end.p0(i64 83, ptr nonnull %.sroa.053) br label %237 149: ; preds = %.invoke, %235, %.noexc196, %.critedge9.i194, %"_ZN84_$LT$tracing_core..field..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hcd9665bf20006012E.exit186", %156, %"_ZN84_$LT$tracing_core..field..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hcd9665bf20006012E.exit193", %186, %177, %_ZN12tracing_core8callsite15DefaultCallsite8interest17hfb4783fc25b01e0cE.exit179.thread @@ -6149,7 +6133,6 @@ define hidden void @"_ZN11actix_codec6framed19Framed$LT$T$C$U$GT$9next_item17he9 %.sroa.0.i = alloca [83 x i8], align 8 %.sroa.059 = alloca [83 x i8], align 8 %9 = alloca { i64, [1 x i64] }, align 8 - %.sroa.053 = alloca [83 x i8], align 8 %10 = alloca { { ptr, i64 }, { ptr, i64 }, { ptr, [1 x i64] } }, align 8 %11 = alloca { { { ptr, i64 }, { { ptr, ptr } } }, i64 }, align 8 %12 = alloca [1 x { ptr, { ptr, [1 x i64] } }], align 8 @@ -6172,7 +6155,6 @@ define hidden void @"_ZN11actix_codec6framed19Framed$LT$T$C$U$GT$9next_item17he9 %29 = alloca { { { ptr, i64 }, { { ptr, ptr } } }, i64 }, align 8 %30 = alloca [1 x { ptr, { ptr, [1 x i64] } }], align 8 %31 = alloca { { { ptr, i64 }, ptr } }, align 8 - %.sroa.03 = alloca [83 x i8], align 8 %.sroa.0199 = alloca [83 x i8], align 8 %32 = getelementptr inbounds nuw i8, ptr %1, i64 64 %33 = getelementptr inbounds nuw i8, ptr %1, i64 224 @@ -6272,12 +6254,9 @@ _ZN10tokio_util5codec7decoder7Decoder10decode_eof17hb5ee5bbe429ba09eE.exit.threa _ZN10tokio_util5codec7decoder7Decoder10decode_eof17hb5ee5bbe429ba09eE.exit.thread: ; preds = %69, %73 call void @llvm.lifetime.end.p0(i64 83, ptr nonnull %.sroa.0.i) - call void @llvm.lifetime.start.p0(i64 83, ptr nonnull %.sroa.03) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.03, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.0199, i64 16, i1 false) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(83) %0, ptr noundef nonnull align 8 dereferenceable(83) %.sroa.03, i64 83, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.0199, i64 16, i1 false) %.sroa.44.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 83 store i8 6, ptr %.sroa.44.0..sroa_idx, align 1 - call void @llvm.lifetime.end.p0(i64 83, ptr nonnull %.sroa.03) br label %260 _ZN10tokio_util5codec7decoder7Decoder10decode_eof17hb5ee5bbe429ba09eE.exit: ; preds = %67 @@ -6501,12 +6480,9 @@ _ZN12tracing_core8callsite15DefaultCallsite8interest17hfb4783fc25b01e0cE.exit.th br label %126 148: ; preds = %126 - call void @llvm.lifetime.start.p0(i64 83, ptr nonnull %.sroa.053) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.053, ptr noundef nonnull align 8 dereferenceable(16) %21, i64 16, i1 false) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(83) %0, ptr noundef nonnull align 8 dereferenceable(83) %.sroa.053, i64 83, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef nonnull align 8 dereferenceable(16) %21, i64 16, i1 false) %.sroa.454.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 83 store i8 6, ptr %.sroa.454.0..sroa_idx, align 1 - call void @llvm.lifetime.end.p0(i64 83, ptr nonnull %.sroa.053) br label %237 149: ; preds = %.invoke, %235, %.noexc196, %.critedge9.i194, %"_ZN84_$LT$tracing_core..field..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hcd9665bf20006012E.exit186", %156, %"_ZN84_$LT$tracing_core..field..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hcd9665bf20006012E.exit193", %186, %177, %_ZN12tracing_core8callsite15DefaultCallsite8interest17hfb4783fc25b01e0cE.exit179.thread diff --git a/bench/boost/optimized/union_issues.ll b/bench/boost/optimized/union_issues.ll index b1897cc7f9b..d179b9d0903 100644 --- a/bench/boost/optimized/union_issues.ll +++ b/bench/boost/optimized/union_issues.ll @@ -252450,9 +252450,6 @@ _ZNSt8_Rb_treeIN5boost8geometry15ring_identifierESt4pairIKS2_NS1_6detail7overlay ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr hidden void @_ZZN5boost8geometry6detail7overlay14assign_parentsILNS0_12overlay_typeE0ENS0_5model7polygonINS5_2d28point_xyIeNS0_2cs9cartesianEEELb1ELb1ESt6vectorSC_SaSaEESD_St5dequeINS5_4ringISB_Lb1ELb1ESC_SaEESaISG_EESt3mapINS0_15ring_identifierENS2_15ring_propertiesISB_eEESt4lessISK_ESaISt4pairIKSK_SM_EEENS0_10strategies6relate9cartesianIvEEEEvRKT0_RKT1_RKT2_RT3_RKT4_ENKUlmRKT_E_clISR_EEDamS1E_(ptr noundef nonnull align 8 dereferenceable(56) %0, i64 noundef %1, ptr noundef nonnull align 16 dereferenceable(176) %2) local_unnamed_addr #4 comdat align 2 { - %.sroa.0 = alloca [32 x i8], align 16 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %.sroa.0) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(24) %.sroa.0, ptr noundef nonnull align 16 dereferenceable(24) %2, i64 24, i1 false) %4 = getelementptr inbounds nuw i8, ptr %2, i64 96 %5 = load i8, ptr %4, align 16, !tbaa !3937, !range !17, !noundef !18 %6 = trunc nuw i8 %5 to i1 @@ -252464,12 +252461,11 @@ define linkonce_odr hidden void @_ZZN5boost8geometry6detail7overlay14assign_pare %12 = load ptr, ptr %0, align 8, !tbaa !5141 %13 = load ptr, ptr %12, align 8, !tbaa !4026 %14 = getelementptr inbounds nuw %"struct.boost::geometry::detail::overlay::ring_info_helper.1693", ptr %13, i64 %1 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %14, ptr noundef nonnull align 16 dereferenceable(32) %.sroa.0, i64 32, i1 false) + tail call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(24) %14, ptr noundef nonnull align 16 dereferenceable(24) %2, i64 24, i1 false) %.sroa.432.0..sroa_idx = getelementptr inbounds nuw i8, ptr %14, i64 32 store x86_fp80 %10, ptr %.sroa.432.0..sroa_idx, align 16 %.sroa.533.0..sroa_idx = getelementptr inbounds nuw i8, ptr %14, i64 48 store x86_fp80 %11, ptr %.sroa.533.0..sroa_idx, align 16 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %.sroa.0) %15 = load ptr, ptr %0, align 8, !tbaa !5141 %16 = load ptr, ptr %15, align 8, !tbaa !4026 %17 = getelementptr inbounds nuw %"struct.boost::geometry::detail::overlay::ring_info_helper.1693", ptr %16, i64 %1 diff --git a/bench/box2d/optimized/imgui_demo.ll b/bench/box2d/optimized/imgui_demo.ll index fffad1f61e5..3d637ccfc17 100644 --- a/bench/box2d/optimized/imgui_demo.ll +++ b/bench/box2d/optimized/imgui_demo.ll @@ -32327,11 +32327,6 @@ declare void @_ZN18ImDrawListSplitter5MergeEP10ImDrawList(ptr noundef nonnull al ; Function Attrs: mustprogress uwtable define linkonce_odr dso_local void @_ZN19ExampleAppDocumentsC2Ev(ptr noundef nonnull align 8 dereferenceable(41) %0) unnamed_addr #2 comdat align 2 personality ptr @__gxx_personality_v0 { _ZNK8ImVectorI10MyDocumentE14_grow_capacityEi.exit.i: - %.sroa.0109 = alloca [32 x i8], align 4 - %.sroa.099 = alloca [32 x i8], align 4 - %.sroa.089 = alloca [32 x i8], align 4 - %.sroa.079 = alloca [32 x i8], align 4 - %.sroa.0 = alloca [32 x i8], align 4 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(41) %0, i8 0, i64 41, i1 false) %1 = getelementptr inbounds nuw i8, ptr %0, i64 4 %2 = invoke noundef ptr @_ZN5ImGui8MemAllocEm(i64 noundef 448) @@ -32378,8 +32373,6 @@ _ZNK8ImVectorI10MyDocumentE14_grow_capacityEi.exit.i: %13 = load i32, ptr %0, align 8, !tbaa !19 %14 = add nsw i32 %13, 1 store i32 %14, ptr %0, align 8, !tbaa !19 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %.sroa.0109) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(9) %.sroa.0109, ptr noundef nonnull align 4 dereferenceable(9) @.str.2141, i64 9, i1 false) %15 = load i32, ptr %1, align 4, !tbaa !551 %16 = icmp eq i32 %14, %15 br i1 %16, label %17, label %._ZN8ImVectorI10MyDocumentE7reserveEi.exit_crit_edge.i5 @@ -32433,7 +32426,7 @@ _ZNK8ImVectorI10MyDocumentE14_grow_capacityEi.exit.i9: ; preds = %19, %17 %36 = phi ptr [ %.pre.i7, %._ZN8ImVectorI10MyDocumentE7reserveEi.exit_crit_edge.i5 ], [ %26, %.noexc13 ] %37 = sext i32 %35 to i64 %38 = getelementptr inbounds %struct.MyDocument, ptr %36, i64 %37 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %38, ptr noundef nonnull align 4 dereferenceable(32) %.sroa.0109, i64 32, i1 false) + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(9) %38, ptr noundef nonnull align 4 dereferenceable(9) @.str.2141, i64 9, i1 false) %.sroa.5110.0..sroa_idx = getelementptr inbounds nuw i8, ptr %38, i64 32 store i32 1, ptr %.sroa.5110.0..sroa_idx, align 4 %.sroa.6111.0..sroa_idx = getelementptr inbounds nuw i8, ptr %38, i64 36 @@ -32453,9 +32446,6 @@ _ZNK8ImVectorI10MyDocumentE14_grow_capacityEi.exit.i9: ; preds = %19, %17 %39 = load i32, ptr %0, align 8, !tbaa !19 %40 = add nsw i32 %39, 1 store i32 %40, ptr %0, align 8, !tbaa !19 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %.sroa.0109) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %.sroa.099) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(7) %.sroa.099, ptr noundef nonnull align 4 dereferenceable(7) @.str.1113, i64 7, i1 false) %41 = load i32, ptr %1, align 4, !tbaa !551 %42 = icmp eq i32 %40, %41 br i1 %42, label %43, label %._ZN8ImVectorI10MyDocumentE7reserveEi.exit_crit_edge.i15 @@ -32509,7 +32499,7 @@ _ZNK8ImVectorI10MyDocumentE14_grow_capacityEi.exit.i19: ; preds = %45, %43 %62 = phi ptr [ %.pre.i17, %._ZN8ImVectorI10MyDocumentE7reserveEi.exit_crit_edge.i15 ], [ %52, %.noexc23 ] %63 = sext i32 %61 to i64 %64 = getelementptr inbounds %struct.MyDocument, ptr %62, i64 %63 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %64, ptr noundef nonnull align 4 dereferenceable(32) %.sroa.099, i64 32, i1 false) + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(7) %64, ptr noundef nonnull align 4 dereferenceable(7) @.str.1113, i64 7, i1 false) %.sroa.5100.0..sroa_idx = getelementptr inbounds nuw i8, ptr %64, i64 32 store i32 2, ptr %.sroa.5100.0..sroa_idx, align 4 %.sroa.6101.0..sroa_idx = getelementptr inbounds nuw i8, ptr %64, i64 36 @@ -32529,9 +32519,6 @@ _ZNK8ImVectorI10MyDocumentE14_grow_capacityEi.exit.i19: ; preds = %45, %43 %65 = load i32, ptr %0, align 8, !tbaa !19 %66 = add nsw i32 %65, 1 store i32 %66, ptr %0, align 8, !tbaa !19 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %.sroa.099) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %.sroa.089) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(7) %.sroa.089, ptr noundef nonnull align 4 dereferenceable(7) @.str.2142, i64 7, i1 false) %67 = load i32, ptr %1, align 4, !tbaa !551 %68 = icmp eq i32 %66, %67 br i1 %68, label %69, label %._ZN8ImVectorI10MyDocumentE7reserveEi.exit_crit_edge.i25 @@ -32585,7 +32572,7 @@ _ZNK8ImVectorI10MyDocumentE14_grow_capacityEi.exit.i29: ; preds = %71, %69 %88 = phi ptr [ %.pre.i27, %._ZN8ImVectorI10MyDocumentE7reserveEi.exit_crit_edge.i25 ], [ %78, %.noexc33 ] %89 = sext i32 %87 to i64 %90 = getelementptr inbounds %struct.MyDocument, ptr %88, i64 %89 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %90, ptr noundef nonnull align 4 dereferenceable(32) %.sroa.089, i64 32, i1 false) + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(7) %90, ptr noundef nonnull align 4 dereferenceable(7) @.str.2142, i64 7, i1 false) %.sroa.590.0..sroa_idx = getelementptr inbounds nuw i8, ptr %90, i64 32 store i32 3, ptr %.sroa.590.0..sroa_idx, align 4 %.sroa.691.0..sroa_idx = getelementptr inbounds nuw i8, ptr %90, i64 36 @@ -32605,9 +32592,6 @@ _ZNK8ImVectorI10MyDocumentE14_grow_capacityEi.exit.i29: ; preds = %71, %69 %91 = load i32, ptr %0, align 8, !tbaa !19 %92 = add nsw i32 %91, 1 store i32 %92, ptr %0, align 8, !tbaa !19 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %.sroa.089) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %.sroa.079) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %.sroa.079, ptr noundef nonnull align 4 dereferenceable(20) @.str.2143, i64 20, i1 false) %93 = load i32, ptr %1, align 4, !tbaa !551 %94 = icmp eq i32 %92, %93 br i1 %94, label %95, label %._ZN8ImVectorI10MyDocumentE7reserveEi.exit_crit_edge.i35 @@ -32661,7 +32645,7 @@ _ZNK8ImVectorI10MyDocumentE14_grow_capacityEi.exit.i39: ; preds = %97, %95 %114 = phi ptr [ %.pre.i37, %._ZN8ImVectorI10MyDocumentE7reserveEi.exit_crit_edge.i35 ], [ %104, %.noexc43 ] %115 = sext i32 %113 to i64 %116 = getelementptr inbounds %struct.MyDocument, ptr %114, i64 %115 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %116, ptr noundef nonnull align 4 dereferenceable(32) %.sroa.079, i64 32, i1 false) + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %116, ptr noundef nonnull align 4 dereferenceable(20) @.str.2143, i64 20, i1 false) %.sroa.580.0..sroa_idx = getelementptr inbounds nuw i8, ptr %116, i64 32 store i32 4, ptr %.sroa.580.0..sroa_idx, align 4 %.sroa.681.0..sroa_idx = getelementptr inbounds nuw i8, ptr %116, i64 36 @@ -32681,9 +32665,6 @@ _ZNK8ImVectorI10MyDocumentE14_grow_capacityEi.exit.i39: ; preds = %97, %95 %117 = load i32, ptr %0, align 8, !tbaa !19 %118 = add nsw i32 %117, 1 store i32 %118, ptr %0, align 8, !tbaa !19 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %.sroa.079) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %.sroa.0) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(14) %.sroa.0, ptr noundef nonnull align 4 dereferenceable(14) @.str.2144, i64 14, i1 false) %119 = load i32, ptr %1, align 4, !tbaa !551 %120 = icmp eq i32 %118, %119 br i1 %120, label %121, label %._ZN8ImVectorI10MyDocumentE7reserveEi.exit_crit_edge.i45 @@ -32737,7 +32718,7 @@ _ZNK8ImVectorI10MyDocumentE14_grow_capacityEi.exit.i49: ; preds = %123, %121 %140 = phi ptr [ %.pre.i47, %._ZN8ImVectorI10MyDocumentE7reserveEi.exit_crit_edge.i45 ], [ %130, %.noexc53 ] %141 = sext i32 %139 to i64 %142 = getelementptr inbounds %struct.MyDocument, ptr %140, i64 %141 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %142, ptr noundef nonnull align 4 dereferenceable(32) %.sroa.0, i64 32, i1 false) + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(14) %142, ptr noundef nonnull align 4 dereferenceable(14) @.str.2144, i64 14, i1 false) %.sroa.5.0..sroa_idx75 = getelementptr inbounds nuw i8, ptr %142, i64 32 store i32 5, ptr %.sroa.5.0..sroa_idx75, align 4 %.sroa.6.0..sroa_idx76 = getelementptr inbounds nuw i8, ptr %142, i64 36 @@ -32757,7 +32738,6 @@ _ZNK8ImVectorI10MyDocumentE14_grow_capacityEi.exit.i49: ; preds = %123, %121 %143 = load i32, ptr %0, align 8, !tbaa !19 %144 = add nsw i32 %143, 1 store i32 %144, ptr %0, align 8, !tbaa !19 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %.sroa.0) ret void 145: ; preds = %5, %_ZNK8ImVectorI10MyDocumentE14_grow_capacityEi.exit.i @@ -32768,31 +32748,26 @@ _ZNK8ImVectorI10MyDocumentE14_grow_capacityEi.exit.i49: ; preds = %123, %121 147: ; preds = %29, %_ZNK8ImVectorI10MyDocumentE14_grow_capacityEi.exit.i9 %148 = landingpad { ptr, i32 } cleanup - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %.sroa.0109) br label %157 149: ; preds = %55, %_ZNK8ImVectorI10MyDocumentE14_grow_capacityEi.exit.i19 %150 = landingpad { ptr, i32 } cleanup - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %.sroa.099) br label %157 151: ; preds = %81, %_ZNK8ImVectorI10MyDocumentE14_grow_capacityEi.exit.i29 %152 = landingpad { ptr, i32 } cleanup - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %.sroa.089) br label %157 153: ; preds = %107, %_ZNK8ImVectorI10MyDocumentE14_grow_capacityEi.exit.i39 %154 = landingpad { ptr, i32 } cleanup - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %.sroa.079) br label %157 155: ; preds = %133, %_ZNK8ImVectorI10MyDocumentE14_grow_capacityEi.exit.i49 %156 = landingpad { ptr, i32 } cleanup - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %.sroa.0) br label %157 157: ; preds = %155, %153, %151, %149, %147, %145 diff --git a/bench/delta-rs/optimized/11w0at10aiwuq3yr.ll b/bench/delta-rs/optimized/11w0at10aiwuq3yr.ll index 021f0d477c3..89c7e38973e 100644 --- a/bench/delta-rs/optimized/11w0at10aiwuq3yr.ll +++ b/bench/delta-rs/optimized/11w0at10aiwuq3yr.ll @@ -109648,7 +109648,6 @@ define internal fastcc void @"_ZN14deltalake_core10operations16convert_to_delta2 %.sroa.762.i.i = alloca [12 x i64], align 8 %.sroa.622.i = alloca [12 x i64], align 8 %.sroa.12.i = alloca [12 x i64], align 8 - %.sroa.07.i = alloca { { { i64, [1 x i64] }, { { { { { i64, ptr, {} }, i64 } } }, { i64, [2 x i64] }, { i64, [2 x i64] }, i64, { { i32, { i32, i32 } }, {} }, [1 x i32] }, { { { ptr, ptr } }, {}, {} }, i8, i8, [6 x i8] }, [432 x i8] }, align 8 %72 = alloca { i64, [2 x i64] }, align 8 %73 = alloca { { ptr, i64, i64, i64 }, {}, {} }, align 8 %.sroa.0.sroa.0.i = alloca { i64, [2 x i64] }, align 8 @@ -113167,10 +113166,8 @@ _ZN3std4hash6random11RandomState3new4KEYS7__getit17h7a0280ef360f84c5E.llvm.59915 %.sroa.8756.sroa.9.01765 = phi ptr [ %.sroa.8756.sroa.9.2, %.thread ], [ undef, %1305 ] %.sroa.8756.sroa.7.01753 = phi i64 [ %.sroa.8756.sroa.7.2, %.thread ], [ undef, %1305 ] %.sroa.8756.sroa.0.01741 = phi i64 [ %.sroa.8756.sroa.0.2, %.thread ], [ undef, %1305 ] - call void @llvm.lifetime.start.p0(i64 568, ptr nonnull %.sroa.07.i) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(136) %.sroa.07.i, ptr noundef nonnull align 8 dereferenceable(136) %1309, i64 136, i1 false), !noalias !29141 %1310 = getelementptr inbounds nuw i8, ptr %1, i64 1016 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(568) %1310, ptr noundef nonnull align 8 dereferenceable(568) %.sroa.07.i, i64 568, i1 false), !noalias !29141 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(136) %1310, ptr noundef nonnull align 8 dereferenceable(136) %1309, i64 136, i1 false), !noalias !29141 %.sroa.78.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %1, i64 1584 store i8 0, ptr %.sroa.78.0..sroa_idx.i, align 8, !noalias !29141 %.sroa.89.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %1, i64 1585 @@ -113191,7 +113188,6 @@ _ZN3std4hash6random11RandomState3new4KEYS7__getit17h7a0280ef360f84c5E.llvm.59915 %1314 = phi ptr [ %1951, %2000 ], [ %2002, %.body.i365 ] %1315 = phi ptr [ %1952, %2000 ], [ %2003, %.body.i365 ] %.pn4.i = phi { ptr, i32 } [ %2001, %2000 ], [ %.pn2.i, %.body.i365 ] - call void @llvm.lifetime.end.p0(i64 568, ptr nonnull %.sroa.07.i) store i8 2, ptr %1314, align 8, !noalias !29141 br label %.body377 @@ -113208,7 +113204,6 @@ _ZN3std4hash6random11RandomState3new4KEYS7__getit17h7a0280ef360f84c5E.llvm.59915 unreachable 1319: ; preds = %1305 - call void @llvm.lifetime.start.p0(i64 568, ptr nonnull %.sroa.07.i) %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %1, i64 1586 %.pre.i = load i8, ptr %.phi.trans.insert.i, align 2, !range !1973, !noalias !29146 call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %.sroa.12.i) @@ -115124,7 +115119,6 @@ select.unfold.i.i.i.i.i.i: ; preds = %1594, %1599 2007: ; preds = %.thread.i368, %1993 %2008 = phi ptr [ %1991, %.thread.i368 ], [ %1951, %1993 ] call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %.sroa.12.i) - call void @llvm.lifetime.end.p0(i64 568, ptr nonnull %.sroa.07.i) store i8 3, ptr %2008, align 8, !noalias !29141 call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %.sroa.622.i) call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %.sroa.12824) @@ -115139,7 +115133,6 @@ select.unfold.i.i.i.i.i.i: ; preds = %1594, %1599 br label %common.ret 2009: ; preds = %1999 - call void @llvm.lifetime.end.p0(i64 568, ptr nonnull %.sroa.07.i) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %.sroa.12824, ptr noundef nonnull align 8 dereferenceable(96) %.sroa.622.i, i64 96, i1 false), !noalias !29489 store i8 1, ptr %1951, align 8, !noalias !29141 call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %.sroa.622.i) @@ -118709,7 +118702,6 @@ define internal void @"_ZN125_$LT$deltalake_core..operations..convert_to_delta.. %.sroa.935 = alloca [8 x i64], align 8 %.sroa.1636 = alloca [27 x i64], align 8 %7 = alloca { i64, [38 x i64] }, align 8 - %.sroa.032 = alloca { { { i64, [3 x i64] }, { i64, [2 x i64] }, { i64, [2 x i64] }, { i64, [2 x i64] }, { { { { { ptr, i64, i64, i64 }, {}, {} }, { i64, i64 } } } }, { { { { ptr, i64, i64, i64 }, {}, {} }, { i64, i64 } } }, { ptr, [1 x i64] }, { ptr, [5 x i64] }, i8, {}, [7 x i8] }, [328 x i8] }, align 8 %8 = alloca { { { i64, ptr, {} }, i64 }, { { i64, ptr, {} }, i64 }, { i64, [2 x i64] }, { i64, [2 x i64] }, { i64, [2 x i64] }, { i64, [2 x i64] }, { { { { ptr, i64, i64, i64 }, {}, {} }, { i64, i64 } } }, { ptr, [5 x i64] }, { ptr, [1 x i64] }, { ptr, [5 x i64] }, i8, [7 x i8] }, align 8 %9 = getelementptr inbounds nuw i8, ptr %1, i64 272 %10 = load i8, ptr %9, align 8, !range !2362, !noundef !22 @@ -118726,7 +118718,6 @@ default.unreachable98: ; preds = %3 11: ; preds = %3 call void @llvm.lifetime.start.p0(i64 312, ptr nonnull %8) - call void @llvm.lifetime.start.p0(i64 600, ptr nonnull %.sroa.032) br label %18 12: ; preds = %3 @@ -118741,10 +118732,8 @@ default.unreachable98: ; preds = %3 %14 = getelementptr inbounds nuw i8, ptr %1, i64 273 store i8 0, ptr %14, align 1 call void @llvm.lifetime.start.p0(i64 312, ptr nonnull %8) - call void @llvm.lifetime.start.p0(i64 600, ptr nonnull %.sroa.032) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(272) %.sroa.032, ptr noundef nonnull align 8 dereferenceable(272) %1, i64 272, i1 false) %15 = getelementptr inbounds nuw i8, ptr %1, i64 280 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(600) %15, ptr noundef nonnull align 8 dereferenceable(600) %.sroa.032, i64 600, i1 false) + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(272) %15, ptr noundef nonnull align 8 dereferenceable(272) %1, i64 272, i1 false) %.sroa.8.0..sroa_idx = getelementptr inbounds nuw i8, ptr %1, i64 880 store i8 0, ptr %.sroa.8.0..sroa_idx, align 8 br label %18 @@ -118790,8 +118779,8 @@ default.unreachable98: ; preds = %3 invoke fastcc void @"_ZN4core3ptr138drop_in_place$LT$deltalake_core..operations..convert_to_delta..ConvertToDeltaBuilder..into_create_builder..$u7b$$u7b$closure$u7d$$u7d$$GT$17hba9fd7fb97b57c7eE"(ptr noundef nonnull align 8 %19) to label %29 unwind label %27 -common.ret: ; preds = %92, %87, %26 - %.sink = phi i8 [ 1, %92 ], [ 4, %87 ], [ 3, %26 ] +common.ret: ; preds = %90, %87, %26 + %.sink = phi i8 [ 1, %90 ], [ 4, %85 ], [ 3, %26 ] store i8 %.sink, ptr %9, align 8 ret void @@ -118799,14 +118788,8 @@ common.ret: ; preds = %92, %87, %26 call void @llvm.lifetime.end.p0(i64 312, ptr nonnull %7) store i64 4, ptr %0, align 8 call void @llvm.lifetime.end.p0(i64 312, ptr nonnull %8) - call void @llvm.lifetime.end.p0(i64 600, ptr nonnull %.sroa.032) br label %common.ret -.body: ; preds = %39, %27, %20 - %.pn4 = phi { ptr, i32 } [ %21, %20 ], [ %28, %27 ], [ %40, %39 ] - call void @llvm.lifetime.end.p0(i64 600, ptr nonnull %.sroa.032) - br label %66 - 27: ; preds = %25 %28 = landingpad { ptr, i32 } cleanup @@ -118872,23 +118855,23 @@ common.ret: ; preds = %92, %87, %26 %.sroa.15.0..sroa_idx25.i = getelementptr inbounds nuw i8, ptr %36, i64 24 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %.sroa.15.0..sroa_idx25.i, ptr noundef nonnull align 8 dereferenceable(64) %.sroa.935, i64 64, i1 false), !noalias !30159 call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %5), !noalias !30149 - br label %63 + br label %90 43: ; preds = %31 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %.sroa.13.i, ptr noundef nonnull align 8 dereferenceable(64) %.sroa.935, i64 64, i1 false) - br label %63 + br label %90 44: ; preds = %31 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.13.i, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.935, i64 16, i1 false) - br label %63 + br label %90 45: ; preds = %31 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.13.i, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.935, i64 16, i1 false) - br label %63 + br label %90 46: ; preds = %31 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %.sroa.13.i, ptr noundef nonnull align 8 dereferenceable(64) %.sroa.935, i64 64, i1 false) - br label %63 + br label %90 47: ; preds = %29 %.sroa.844.0..sroa_idx = getelementptr inbounds nuw i8, ptr %8, i64 96 @@ -118903,7 +118886,6 @@ common.ret: ; preds = %92, %87, %26 store ptr %.sroa.534.0.copyload, ptr %.sroa.541.0..sroa_idx, align 8 %.sroa.642.0..sroa_idx = getelementptr inbounds nuw i8, ptr %8, i64 24 store ptr %.sroa.7.0.copyload, ptr %.sroa.642.0..sroa_idx, align 8 - call void @llvm.lifetime.end.p0(i64 600, ptr nonnull %.sroa.032) store i8 0, ptr %48, align 1 call void @llvm.lifetime.start.p0(i64 2840, ptr nonnull %4), !noalias !30160 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(312) %4, ptr noundef nonnull align 8 dereferenceable(312) %8, i64 312, i1 false) @@ -118945,28 +118927,20 @@ common.ret: ; preds = %92, %87, %26 br label %68 .body15: ; preds = %54, %88, %83, %75 - %.pn8 = phi { ptr, i32 } [ %76, %75 ], [ %89, %88 ], [ %84, %83 ], [ %55, %54 ] + %.pn8 = phi { ptr, i32 } [ %76, %73 ], [ %89, %86 ], [ %84, %81 ], [ %55, %54 ] %60 = getelementptr inbounds nuw i8, ptr %1, i64 273 %61 = load i8, ptr %60, align 1, !range !802, !noundef !22 %62 = trunc nuw i8 %61 to i1 - br i1 %62, label %95, label %66 - -63: ; preds = %"_ZN5alloc5boxed12Box$LT$T$GT$3new17h51231140651505efE.llvm.3801596959246744488.exit.i.i", %43, %44, %45, %46 - %.sroa.12.0.i = phi ptr [ @anon.17e6648beb32e5ba8aca87ae4c53798e.1580.llvm.3801596959246744488, %"_ZN5alloc5boxed12Box$LT$T$GT$3new17h51231140651505efE.llvm.3801596959246744488.exit.i.i" ], [ %.sroa.7.0.copyload, %43 ], [ %.sroa.7.0.copyload, %44 ], [ %.sroa.7.0.copyload, %45 ], [ %.sroa.7.0.copyload, %46 ] - %.sroa.8.0.i = phi ptr [ %36, %"_ZN5alloc5boxed12Box$LT$T$GT$3new17h51231140651505efE.llvm.3801596959246744488.exit.i.i" ], [ %.sroa.534.0.copyload, %43 ], [ %.sroa.534.0.copyload, %44 ], [ %.sroa.534.0.copyload, %45 ], [ %.sroa.534.0.copyload, %46 ] - %.sroa.0.0.i = phi i64 [ 41, %"_ZN5alloc5boxed12Box$LT$T$GT$3new17h51231140651505efE.llvm.3801596959246744488.exit.i.i" ], [ 13, %43 ], [ 15, %44 ], [ 14, %45 ], [ %.sroa.3.0.copyload, %46 ] - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %.sroa.964, ptr noundef nonnull align 8 dereferenceable(64) %.sroa.13.i, i64 64, i1 false) - call void @llvm.lifetime.end.p0(i64 600, ptr nonnull %.sroa.032) - br label %92 + br i1 %62, label %92, label %66 -64: ; preds = %95, %75, %20 +64: ; preds = %92, %75, %20 %65 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17hbacfddf1bcf21a1eE() #46 unreachable -66: ; preds = %95, %.body15, %.body - %.pn10.pn = phi { ptr, i32 } [ %.pn4, %.body ], [ %.pn8, %95 ], [ %.pn8, %.body15 ] +66: ; preds = %20, %27, %39, %92, %.body15 + %.pn10.pn = phi { ptr, i32 } [ %.pn8, %92 ], [ %.pn8, %.body15 ], [ %21, %20 ], [ %28, %27 ], [ %40, %39 ] %67 = getelementptr inbounds nuw i8, ptr %1, i64 273 store i8 0, ptr %67, align 1 call void @llvm.lifetime.end.p0(i64 312, ptr nonnull %8) @@ -118982,7 +118956,7 @@ common.ret: ; preds = %92, %87, %26 %72 = getelementptr inbounds nuw i8, ptr %1, i64 288 %73 = getelementptr inbounds nuw i8, ptr %69, i64 24 %74 = load ptr, ptr %73, align 8, !invariant.load !22, !noalias !30164, !nonnull !22 - invoke void %74(ptr noalias noundef nonnull sret({ i64, [78 x i64] }) align 8 captures(none) dereferenceable(632) %6, ptr noundef nonnull align 1 %70, ptr noalias noundef nonnull align 8 dereferenceable(8) %2) + invoke void %72(ptr noalias noundef nonnull sret({ i64, [78 x i64] }) align 8 captures(none) dereferenceable(632) %6, ptr noundef nonnull align 1 %70, ptr noalias noundef nonnull align 8 dereferenceable(8) %2) to label %"_ZN72_$LT$core..pin..Pin$LT$P$GT$$u20$as$u20$core..future..future..Future$GT$4poll17h7125916455f0cc56E.exit" unwind label %75 75: ; preds = %68 @@ -119014,7 +118988,7 @@ common.ret: ; preds = %92, %87, %26 %80 = load ptr, ptr %71, align 8, !alias.scope !30171, !noundef !22 %81 = load ptr, ptr %72, align 8, !alias.scope !30171, !nonnull !22, !align !58, !noundef !22 %82 = load ptr, ptr %81, align 8, !invariant.load !22, !noalias !30171, !nonnull !22 - invoke void %82(ptr noundef nonnull align 1 %80) + invoke void %80(ptr noundef nonnull align 1 %80) to label %"_ZN4core3ptr234drop_in_place$LT$alloc..boxed..Box$LT$dyn$u20$core..future..future..Future$u2b$Output$u20$$u3d$$u20$core..result..Result$LT$deltalake_core..table..DeltaTable$C$deltalake_core..errors..DeltaTableError$GT$$u2b$core..marker..Send$GT$$GT$17h74119af677e6de04E.llvm.4057250340930679409.exit.i" unwind label %83, !noalias !30171 83: ; preds = %79 @@ -119046,20 +119020,21 @@ common.ret: ; preds = %92, %87, %26 "_ZN4core3ptr256drop_in_place$LT$core..pin..Pin$LT$alloc..boxed..Box$LT$dyn$u20$core..future..future..Future$u2b$Output$u20$$u3d$$u20$core..result..Result$LT$deltalake_core..table..DeltaTable$C$deltalake_core..errors..DeltaTableError$GT$$u2b$core..marker..Send$GT$$GT$$GT$17he8a2beb1c6eeeac3E.exit": ; preds = %"_ZN4core3ptr234drop_in_place$LT$alloc..boxed..Box$LT$dyn$u20$core..future..future..Future$u2b$Output$u20$$u3d$$u20$core..result..Result$LT$deltalake_core..table..DeltaTable$C$deltalake_core..errors..DeltaTableError$GT$$u2b$core..marker..Send$GT$$GT$17h74119af677e6de04E.llvm.4057250340930679409.exit.i" %90 = icmp eq i64 %77, 3 - br i1 %90, label %94, label %91 + br i1 %90, label %90, label %91 91: ; preds = %"_ZN4core3ptr256drop_in_place$LT$core..pin..Pin$LT$alloc..boxed..Box$LT$dyn$u20$core..future..future..Future$u2b$Output$u20$$u3d$$u20$core..result..Result$LT$deltalake_core..table..DeltaTable$C$deltalake_core..errors..DeltaTableError$GT$$u2b$core..marker..Send$GT$$GT$$GT$17he8a2beb1c6eeeac3E.exit" call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(536) %.sroa.1065, ptr noundef nonnull align 8 dereferenceable(536) %.sroa.552, i64 536, i1 false) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %.sroa.964, ptr noundef nonnull align 8 dereferenceable(64) %.sroa.351.sroa.7, i64 64, i1 false) - br label %92 - -92: ; preds = %63, %94, %91 - %.sroa.057.1 = phi i64 [ %77, %91 ], [ 3, %94 ], [ 3, %63 ] - %.sroa.458.1 = phi i64 [ %.sroa.351.sroa.0.0.copyload, %91 ], [ %.sroa.351.sroa.0.0.copyload, %94 ], [ %.sroa.0.0.i, %63 ] - %.sroa.760.1 = phi ptr [ %.sroa.351.sroa.3.0.copyload, %91 ], [ %.sroa.351.sroa.3.0.copyload, %94 ], [ %.sroa.8.0.i, %63 ] - %.sroa.862.1 = phi ptr [ %.sroa.351.sroa.5.0.copyload, %91 ], [ %.sroa.351.sroa.5.0.copyload, %94 ], [ %.sroa.12.0.i, %63 ] - %93 = getelementptr inbounds nuw i8, ptr %1, i64 273 - store i8 0, ptr %93, align 1 + br label %90 + +90: ; preds = %46, %45, %44, %43, %"_ZN5alloc5boxed12Box$LT$T$GT$3new17h51231140651505efE.llvm.3801596959246744488.exit.i.i", %"_ZN4core3ptr256drop_in_place$LT$core..pin..Pin$LT$alloc..boxed..Box$LT$dyn$u20$core..future..future..Future$u2b$Output$u20$$u3d$$u20$core..result..Result$LT$deltalake_core..table..DeltaTable$C$deltalake_core..errors..DeltaTableError$GT$$u2b$core..marker..Send$GT$$GT$$GT$17he8a2beb1c6eeeac3E.exit", %89 + %.sroa.13.i.sink = phi ptr [ %.sroa.351.sroa.7, %89 ], [ %.sroa.351.sroa.7, %"_ZN4core3ptr256drop_in_place$LT$core..pin..Pin$LT$alloc..boxed..Box$LT$dyn$u20$core..future..future..Future$u2b$Output$u20$$u3d$$u20$core..result..Result$LT$deltalake_core..table..DeltaTable$C$deltalake_core..errors..DeltaTableError$GT$$u2b$core..marker..Send$GT$$GT$$GT$17he8a2beb1c6eeeac3E.exit" ], [ %.sroa.13.i, %"_ZN5alloc5boxed12Box$LT$T$GT$3new17h51231140651505efE.llvm.3801596959246744488.exit.i.i" ], [ %.sroa.13.i, %43 ], [ %.sroa.13.i, %44 ], [ %.sroa.13.i, %45 ], [ %.sroa.13.i, %46 ] + %.sroa.057.1 = phi i64 [ %77, %89 ], [ 3, %"_ZN4core3ptr256drop_in_place$LT$core..pin..Pin$LT$alloc..boxed..Box$LT$dyn$u20$core..future..future..Future$u2b$Output$u20$$u3d$$u20$core..result..Result$LT$deltalake_core..table..DeltaTable$C$deltalake_core..errors..DeltaTableError$GT$$u2b$core..marker..Send$GT$$GT$$GT$17he8a2beb1c6eeeac3E.exit" ], [ 3, %"_ZN5alloc5boxed12Box$LT$T$GT$3new17h51231140651505efE.llvm.3801596959246744488.exit.i.i" ], [ 3, %43 ], [ 3, %44 ], [ 3, %45 ], [ 3, %46 ] + %.sroa.458.1 = phi i64 [ %.sroa.351.sroa.0.0.copyload, %89 ], [ %.sroa.351.sroa.0.0.copyload, %"_ZN4core3ptr256drop_in_place$LT$core..pin..Pin$LT$alloc..boxed..Box$LT$dyn$u20$core..future..future..Future$u2b$Output$u20$$u3d$$u20$core..result..Result$LT$deltalake_core..table..DeltaTable$C$deltalake_core..errors..DeltaTableError$GT$$u2b$core..marker..Send$GT$$GT$$GT$17he8a2beb1c6eeeac3E.exit" ], [ 41, %"_ZN5alloc5boxed12Box$LT$T$GT$3new17h51231140651505efE.llvm.3801596959246744488.exit.i.i" ], [ 13, %43 ], [ 15, %44 ], [ 14, %45 ], [ %.sroa.3.0.copyload, %46 ] + %.sroa.760.1 = phi ptr [ %.sroa.351.sroa.3.0.copyload, %89 ], [ %.sroa.351.sroa.3.0.copyload, %"_ZN4core3ptr256drop_in_place$LT$core..pin..Pin$LT$alloc..boxed..Box$LT$dyn$u20$core..future..future..Future$u2b$Output$u20$$u3d$$u20$core..result..Result$LT$deltalake_core..table..DeltaTable$C$deltalake_core..errors..DeltaTableError$GT$$u2b$core..marker..Send$GT$$GT$$GT$17he8a2beb1c6eeeac3E.exit" ], [ %36, %"_ZN5alloc5boxed12Box$LT$T$GT$3new17h51231140651505efE.llvm.3801596959246744488.exit.i.i" ], [ %.sroa.534.0.copyload, %43 ], [ %.sroa.534.0.copyload, %44 ], [ %.sroa.534.0.copyload, %45 ], [ %.sroa.534.0.copyload, %46 ] + %.sroa.862.1 = phi ptr [ %.sroa.351.sroa.5.0.copyload, %89 ], [ %.sroa.351.sroa.5.0.copyload, %"_ZN4core3ptr256drop_in_place$LT$core..pin..Pin$LT$alloc..boxed..Box$LT$dyn$u20$core..future..future..Future$u2b$Output$u20$$u3d$$u20$core..result..Result$LT$deltalake_core..table..DeltaTable$C$deltalake_core..errors..DeltaTableError$GT$$u2b$core..marker..Send$GT$$GT$$GT$17he8a2beb1c6eeeac3E.exit" ], [ @anon.17e6648beb32e5ba8aca87ae4c53798e.1580.llvm.3801596959246744488, %"_ZN5alloc5boxed12Box$LT$T$GT$3new17h51231140651505efE.llvm.3801596959246744488.exit.i.i" ], [ %.sroa.7.0.copyload, %43 ], [ %.sroa.7.0.copyload, %44 ], [ %.sroa.7.0.copyload, %45 ], [ %.sroa.7.0.copyload, %46 ] + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %.sroa.964, ptr noundef nonnull align 8 dereferenceable(64) %.sroa.13.i.sink, i64 64, i1 false) + %91 = getelementptr inbounds nuw i8, ptr %1, i64 273 + store i8 0, ptr %91, align 1 call void @llvm.lifetime.end.p0(i64 312, ptr nonnull %8) store i64 %.sroa.057.1, ptr %0, align 8 %.sroa.458.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -119074,13 +119049,9 @@ common.ret: ; preds = %92, %87, %26 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(536) %.sroa.1065.0..sroa_idx, ptr noundef nonnull align 8 dereferenceable(536) %.sroa.1065, i64 536, i1 false) br label %common.ret -94: ; preds = %"_ZN4core3ptr256drop_in_place$LT$core..pin..Pin$LT$alloc..boxed..Box$LT$dyn$u20$core..future..future..Future$u2b$Output$u20$$u3d$$u20$core..result..Result$LT$deltalake_core..table..DeltaTable$C$deltalake_core..errors..DeltaTableError$GT$$u2b$core..marker..Send$GT$$GT$$GT$17he8a2beb1c6eeeac3E.exit" - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %.sroa.964, ptr noundef nonnull align 8 dereferenceable(64) %.sroa.351.sroa.7, i64 64, i1 false) - br label %92 - -95: ; preds = %.body15 +94: ; preds = %.body15 invoke void @"_ZN4core3ptr70drop_in_place$LT$deltalake_core..operations..create..CreateBuilder$GT$17h1246145595cb186eE"(ptr noalias noundef nonnull align 8 dereferenceable(312) %8) #45 - to label %66 unwind label %64 + to label %.body unwind label %64 } ; Function Attrs: inlinehint nonlazybind uwtable diff --git a/bench/delta-rs/optimized/2yom0llikg21u9sa.ll b/bench/delta-rs/optimized/2yom0llikg21u9sa.ll index 43bbe8e9125..5d60b284999 100644 --- a/bench/delta-rs/optimized/2yom0llikg21u9sa.ll +++ b/bench/delta-rs/optimized/2yom0llikg21u9sa.ll @@ -3771,7 +3771,6 @@ define hidden void @"_ZN10aws_config6loader12ConfigLoader4load28_$u7b$$u7b$closu %138 = alloca { { { { { i64, ptr, {} }, i64 } }, { { i64, [2 x i64] } } } }, align 8 %.sroa.3.sroa.4.i.sroa.5 = alloca [28 x i8], align 4 %.sroa.10.i.sroa.7 = alloca [28 x i8], align 4 - %.sroa.011.i = alloca { { { { { { i64, ptr, {} }, i64 } }, { i64, [2 x i64] }, { i64, [2 x i64] }, { { { { ptr, ptr } }, {}, {} } }, ptr, ptr, ptr, { ptr, [1 x i64] }, { ptr, [1 x i64] }, i8, i8, [6 x i8] } }, [640 x i8] }, align 8 %139 = alloca { [1 x i64], i64, [1 x i64] }, align 8 %140 = alloca { [1 x i64], i64, [1 x i64] }, align 8 %141 = alloca { i64, { ptr, i64 } }, align 8 @@ -3858,14 +3857,12 @@ define hidden void @"_ZN10aws_config6loader12ConfigLoader4load28_$u7b$$u7b$closu %215 = alloca { { { i64, [2 x i64] }, { { { { ptr, i64, i64, i64 }, {}, {} }, { i64, i64 } } }, { { { { ptr, i64, i64, i64 }, {}, {} }, { i64, i64 } } }, { { { { { ptr, i64, i64, i64 }, {}, {} }, { i64, i64 } } } } }, ptr }, align 8 %216 = alloca { { { { i64, ptr, {} }, i64 } } }, align 8 %.sroa.9801 = alloca [2 x i64], align 8 - %.sroa.0796 = alloca { { { { i64, [18 x i64] }, { i64, [2 x i64] }, { i64, [2 x i64] } }, { { { i64, [18 x i64] }, { i64, [2 x i64] }, { i64, [2 x i64] } }, { { i64, [18 x i64] }, { i64, [11 x i64] } }, ptr }, { i64, [18 x i64] }, { ptr, [1 x i64] } }, [824 x i8] }, align 8 %217 = alloca { { { { ptr, ptr } }, {}, {} }, i64 }, align 8 %218 = alloca { i64, [2 x i64] }, align 8 %219 = alloca { { { { i64, ptr, {} }, i64 } }, { i64, [2 x i64] }, { i64, [2 x i64] }, { { { { ptr, ptr } }, {}, {} } }, ptr, ptr, ptr, { ptr, [1 x i64] }, { ptr, [1 x i64] }, i8, i8, [6 x i8] }, align 8 %220 = alloca { { { i64, [18 x i64] }, { i64, [2 x i64] }, { i64, [2 x i64] } }, { { { i64, [18 x i64] }, { i64, [2 x i64] }, { i64, [2 x i64] } }, { { i64, [18 x i64] }, { i64, [11 x i64] } }, ptr }, { i64, [18 x i64] }, { ptr, [1 x i64] } }, align 8 %221 = alloca { { { { i64, ptr, {} }, i64 } } }, align 8 %.sroa.9791 = alloca [2 x i64], align 8 - %.sroa.0786 = alloca { { { { i64, [18 x i64] }, { i64, [2 x i64] }, { i64, [2 x i64] }, { { { { ptr, i64, i64, i64 }, {}, {} }, { i64, i64 } } } }, { { i64, [18 x i64] }, { i64, [2 x i64] }, { i64, [2 x i64] }, { i64, [8 x i64] } }, { { i64, [18 x i64] }, { i64, [2 x i64] }, { i64, [11 x i64] }, ptr }, { { i64, [18 x i64] }, { [2 x i32], i32, [1 x i32] }, { [2 x i32], i32, [1 x i32] }, { ptr, [1 x i64] } }, { { { i64, [18 x i64] }, { i64, [2 x i64] }, { i64, [2 x i64] } }, { { i64, [18 x i64] }, { i64, [11 x i64] } }, ptr }, { i64, [18 x i64] }, { ptr, [1 x i64] } }, [1624 x i8] }, align 8 %222 = alloca { { { { ptr, ptr } }, {}, {} }, i64 }, align 8 %223 = alloca { i64, [2 x i64] }, align 8 %224 = alloca { { { { i64, ptr, {} }, i64 } }, { i64, [2 x i64] }, { i64, [2 x i64] }, { { { { ptr, ptr } }, {}, {} } }, ptr, ptr, ptr, { ptr, [1 x i64] }, { ptr, [1 x i64] }, i8, i8, [6 x i8] }, align 8 @@ -6229,10 +6226,8 @@ _ZN12tracing_core8callsite15DefaultCallsite8interest17hfb4783fc25b01e0cE.exit.th .thread23.i: ; preds = %.thread994, %1027 %1030 = phi ptr [ %1025, %.thread994 ], [ %1029, %1027 ] %1031 = phi ptr [ %1024, %.thread994 ], [ %1028, %1027 ] - call void @llvm.lifetime.start.p0(i64 792, ptr nonnull %.sroa.011.i) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(152) %.sroa.011.i, ptr noundef nonnull align 8 dereferenceable(152) %1031, i64 152, i1 false), !noalias !696 %1032 = getelementptr inbounds nuw i8, ptr %1, i64 2272 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(792) %1032, ptr noundef nonnull align 8 dereferenceable(792) %.sroa.011.i, i64 792, i1 false), !noalias !696 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(152) %1032, ptr noundef nonnull align 8 dereferenceable(152) %1031, i64 152, i1 false), !noalias !696 %.sroa.7.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %1, i64 3064 store i8 0, ptr %.sroa.7.0..sroa_idx.i, align 8, !noalias !696 call void @llvm.lifetime.start.p0(i64 28, ptr nonnull %.sroa.10.i.sroa.7) @@ -6244,7 +6239,6 @@ _ZN12tracing_core8callsite15DefaultCallsite8interest17hfb4783fc25b01e0cE.exit.th %1034 = phi ptr [ %1063, %"_ZN4core3ptr171drop_in_place$LT$aws_smithy_types..error..display..DisplayErrorContext$LT$aws_runtime..env_config..EnvConfigError$LT$aws_config..retry..error..RetryConfigError$GT$$GT$$GT$17h7e1a2b4a4945ea6aE.exit.i" ], [ %1063, %1166 ], [ %1176, %.body.i368 ] %1035 = phi ptr [ %1064, %"_ZN4core3ptr171drop_in_place$LT$aws_smithy_types..error..display..DisplayErrorContext$LT$aws_runtime..env_config..EnvConfigError$LT$aws_config..retry..error..RetryConfigError$GT$$GT$$GT$17h7e1a2b4a4945ea6aE.exit.i" ], [ %1064, %1166 ], [ %1177, %.body.i368 ] %.pn6.i = phi { ptr, i32 } [ %1172, %"_ZN4core3ptr171drop_in_place$LT$aws_smithy_types..error..display..DisplayErrorContext$LT$aws_runtime..env_config..EnvConfigError$LT$aws_config..retry..error..RetryConfigError$GT$$GT$$GT$17h7e1a2b4a4945ea6aE.exit.i" ], [ %1167, %1166 ], [ %.pn.i, %.body.i368 ] - call void @llvm.lifetime.end.p0(i64 792, ptr nonnull %.sroa.011.i) store i8 2, ptr %1034, align 8, !noalias !696 br label %.body373 @@ -6261,7 +6255,6 @@ _ZN12tracing_core8callsite15DefaultCallsite8interest17hfb4783fc25b01e0cE.exit.th unreachable 1039: ; preds = %1027 - call void @llvm.lifetime.start.p0(i64 792, ptr nonnull %.sroa.011.i) %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %1, i64 3064 %.pre.i = load i8, ptr %.phi.trans.insert.i, align 8, !range !106, !noalias !700 call void @llvm.lifetime.start.p0(i64 28, ptr nonnull %.sroa.10.i.sroa.7) @@ -6695,7 +6688,6 @@ _ZN12tracing_core8callsite15DefaultCallsite8interest17hfb4783fc25b01e0cE.exit.th .thread914: ; preds = %.thread.i369, %1163 call void @llvm.lifetime.end.p0(i64 28, ptr nonnull %.sroa.10.i.sroa.7) - call void @llvm.lifetime.end.p0(i64 792, ptr nonnull %.sroa.011.i) store i8 3, ptr %1063, align 8, !noalias !696 call void @llvm.lifetime.end.p0(i64 28, ptr nonnull %.sroa.3.sroa.4.i.sroa.5) br label %1183 @@ -6757,7 +6749,6 @@ _ZN12tracing_core8callsite15DefaultCallsite8interest17hfb4783fc25b01e0cE.exit.th br label %.body373 1181: ; preds = %1168 - call void @llvm.lifetime.end.p0(i64 792, ptr nonnull %.sroa.011.i) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(28) %.sroa.10744, ptr noundef nonnull align 4 dereferenceable(28) %.sroa.3.sroa.4.i.sroa.5, i64 28, i1 false) store i8 1, ptr %1063, align 8, !noalias !696 call void @llvm.lifetime.end.p0(i64 28, ptr nonnull %.sroa.3.sroa.4.i.sroa.5) @@ -8053,10 +8044,8 @@ _ZN12tracing_core8callsite15DefaultCallsite8interest17hfb4783fc25b01e0cE.exit.th .thread997: ; preds = %"_ZN68_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7ec025a92bde2d2dE.exit" call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %223) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %222) - call void @llvm.lifetime.start.p0(i64 3248, ptr nonnull %.sroa.0786) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(1624) %.sroa.0786, ptr noundef nonnull align 8 dereferenceable(1624) %1549, i64 1624, i1 false) %1605 = getelementptr inbounds nuw i8, ptr %1, i64 3744 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(3248) %1605, ptr noundef nonnull align 8 dereferenceable(3248) %.sroa.0786, i64 3248, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(1624) %1605, ptr noundef nonnull align 8 dereferenceable(1624) %1549, i64 1624, i1 false) %.sroa.7787.0..sroa_idx = getelementptr inbounds nuw i8, ptr %1, i64 6992 store i8 0, ptr %.sroa.7787.0..sroa_idx, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %.sroa.9791) @@ -8093,7 +8082,6 @@ _ZN12tracing_core8callsite15DefaultCallsite8interest17hfb4783fc25b01e0cE.exit.th 1620: ; preds = %3 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %222) - call void @llvm.lifetime.start.p0(i64 3248, ptr nonnull %.sroa.0786) %.phi.trans.insert980 = getelementptr inbounds nuw i8, ptr %1, i64 6992 %.pre981 = load i8, ptr %.phi.trans.insert980, align 8, !range !751, !noalias !878 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %.sroa.9791) @@ -8940,13 +8928,11 @@ _ZN12tracing_core8callsite15DefaultCallsite8interest17hfb4783fc25b01e0cE.exit.th call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.9791) store i64 -9223372036854775807, ptr %0, align 8 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %222) - call void @llvm.lifetime.end.p0(i64 3248, ptr nonnull %.sroa.0786) br label %common.ret 1883: ; preds = %.body436, %1884 %.pn125 = phi { ptr, i32 } [ %1885, %1884 ], [ %.pn123, %.body436 ] call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %222) - call void @llvm.lifetime.end.p0(i64 3248, ptr nonnull %.sroa.0786) br label %1608 1884: ; preds = %1886, %1881 @@ -8964,7 +8950,6 @@ _ZN12tracing_core8callsite15DefaultCallsite8interest17hfb4783fc25b01e0cE.exit.th %1889 = getelementptr inbounds nuw i8, ptr %1, i64 1656 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %1889, ptr noundef nonnull align 8 dereferenceable(24) %222, i64 24, i1 false) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %222) - call void @llvm.lifetime.end.p0(i64 3248, ptr nonnull %.sroa.0786) br label %1612 1890: ; preds = %1612 @@ -9090,10 +9075,8 @@ _ZN12tracing_core8callsite15DefaultCallsite8interest17hfb4783fc25b01e0cE.exit.th .thread998: ; preds = %"_ZN68_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7ec025a92bde2d2dE.exit446" call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %218) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %217) - call void @llvm.lifetime.start.p0(i64 1648, ptr nonnull %.sroa.0796) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(824) %.sroa.0796, ptr noundef nonnull align 8 dereferenceable(824) %1901, i64 824, i1 false) %1926 = getelementptr inbounds nuw i8, ptr %1, i64 2944 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(1648) %1926, ptr noundef nonnull align 8 dereferenceable(1648) %.sroa.0796, i64 1648, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(824) %1926, ptr noundef nonnull align 8 dereferenceable(824) %1901, i64 824, i1 false) %.sroa.7797.0..sroa_idx = getelementptr inbounds nuw i8, ptr %1, i64 4592 store i8 0, ptr %.sroa.7797.0..sroa_idx, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %.sroa.9801) @@ -9127,7 +9110,6 @@ _ZN12tracing_core8callsite15DefaultCallsite8interest17hfb4783fc25b01e0cE.exit.th 1937: ; preds = %3 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %217) - call void @llvm.lifetime.start.p0(i64 1648, ptr nonnull %.sroa.0796) %.phi.trans.insert982 = getelementptr inbounds nuw i8, ptr %1, i64 4592 %.pre983 = load i8, ptr %.phi.trans.insert982, align 8, !range !751, !noalias !961 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %.sroa.9801) @@ -9707,13 +9689,11 @@ _ZN12tracing_core8callsite15DefaultCallsite8interest17hfb4783fc25b01e0cE.exit.th call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.9801) store i64 -9223372036854775807, ptr %0, align 8 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %217) - call void @llvm.lifetime.end.p0(i64 1648, ptr nonnull %.sroa.0796) br label %common.ret 2138: ; preds = %.body471, %2139 %.pn137 = phi { ptr, i32 } [ %2140, %2139 ], [ %.pn135, %.body471 ] call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %217) - call void @llvm.lifetime.end.p0(i64 1648, ptr nonnull %.sroa.0796) br label %1929 2139: ; preds = %2141, %2136 @@ -9731,7 +9711,6 @@ _ZN12tracing_core8callsite15DefaultCallsite8interest17hfb4783fc25b01e0cE.exit.th %2144 = getelementptr inbounds nuw i8, ptr %1, i64 1680 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %2144, ptr noundef nonnull align 8 dereferenceable(24) %217, i64 24, i1 false) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %217) - call void @llvm.lifetime.end.p0(i64 1648, ptr nonnull %.sroa.0796) br label %2145 2145: ; preds = %2142, %1890 diff --git a/bench/delta-rs/optimized/3qkwqfk85qralejq.ll b/bench/delta-rs/optimized/3qkwqfk85qralejq.ll index 9d11a1f818a..a6d3b6018dc 100644 --- a/bench/delta-rs/optimized/3qkwqfk85qralejq.ll +++ b/bench/delta-rs/optimized/3qkwqfk85qralejq.ll @@ -89908,7 +89908,6 @@ define void @"_ZN14deltalake_core7storage5utils129_$LT$impl$u20$core..convert..T define void @"_ZN14deltalake_core7storage5utils133_$LT$impl$u20$core..convert..TryFrom$LT$$RF$deltalake_core..kernel..models..actions..Add$GT$$u20$for$u20$object_store..ObjectMeta$GT$8try_from17h6ca994662e226d69E"(ptr noalias noundef writeonly sret({ i64, [11 x i64] }) align 8 captures(none) dereferenceable(96) %0, ptr noalias noundef readonly align 8 dereferenceable(296) %1) unnamed_addr #1 personality ptr @rust_eh_personality { %3 = alloca { { ptr, i64 }, { ptr, i64 }, { ptr, [1 x i64] } }, align 8 %4 = alloca { i64, [9 x i64] }, align 8 - %.sroa.344 = alloca [68 x i8], align 4 %5 = alloca { i64, [9 x i64] }, align 8 %.sroa.717 = alloca [3 x i64], align 8 %6 = alloca [1 x { ptr, ptr }], align 8 @@ -90000,8 +89999,7 @@ define void @"_ZN14deltalake_core7storage5utils133_$LT$impl$u20$core..convert..T %41 = trunc nuw i64 %40 to i32 %42 = trunc i64 %39 to i32 %.sroa.430.sroa.5.0.copyload = load i32, ptr %.sroa.10.0..sroa_idx, align 8 - %.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %8, i64 20 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(68) %.sroa.344, ptr noundef nonnull align 4 dereferenceable(68) %.sroa.5.0..sroa_idx, i64 68, i1 false) + %.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %7, i64 12 call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %8) %43 = getelementptr inbounds nuw i8, ptr %0, i64 8 store i64 3, ptr %43, align 8 @@ -90012,7 +90010,7 @@ define void @"_ZN14deltalake_core7storage5utils133_$LT$impl$u20$core..convert..T %.sroa.243.sroa.3.0..sroa.243.0..sroa_idx.sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 24 store i32 %.sroa.430.sroa.5.0.copyload, ptr %.sroa.243.sroa.3.0..sroa.243.0..sroa_idx.sroa_idx, align 8 %.sroa.344.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 28 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(68) %.sroa.344.0..sroa_idx, ptr noundef nonnull align 4 dereferenceable(68) %.sroa.344, i64 68, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %.sroa.344.0..sroa_idx, ptr noundef nonnull align 4 dereferenceable(12) %43, i64 12, i1 false) store i64 -9223372036854775808, ptr %0, align 8 br label %58 @@ -90063,7 +90061,7 @@ define void @"_ZN14deltalake_core7storage5utils133_$LT$impl$u20$core..convert..T %53 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr46drop_in_place$LT$object_store..path..Error$GT$17h2da1ea3d8e5507f6E.llvm.3801596959246744488"(ptr noalias noundef nonnull align 8 dereferenceable(80) %4) #40 - to label %56 unwind label %54, !noalias !10910 + to label %57 unwind label %54, !noalias !10910 54: ; preds = %52 %55 = landingpad { ptr, i32 } diff --git a/bench/delta-rs/optimized/43y2svfstmvqcl15.ll b/bench/delta-rs/optimized/43y2svfstmvqcl15.ll index f04f0c175d2..06dfb374c78 100644 --- a/bench/delta-rs/optimized/43y2svfstmvqcl15.ll +++ b/bench/delta-rs/optimized/43y2svfstmvqcl15.ll @@ -14562,7 +14562,6 @@ define internal void @"_ZN120_$LT$futures_util..stream..try_stream..and_then..An %15 = alloca { { i64 }, { i64 }, { { { { { { i64, [1 x i64] }, { i64, [1 x i64] }, { i64, [1 x i64] }, { i64, [1 x i64] }, { i64, [1 x i64] }, { { { i64, ptr, {} }, i64 } }, { { { i64, ptr, {} }, i64 } }, { i64, [2 x i64] }, { i64, [2 x i64] }, { i64, [2 x i64] }, i64, i64, i64, i64, i64, i64, i64, i8, i8, i8, i8, i8, i8, i8, i8 }, { i64, [2 x i64] }, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i8, i8, i8, i8, [4 x i8] }, { { { { i64, ptr, {} }, i64 } }, { { { i64, ptr, {} }, i64 } }, { i64, [2 x i64] }, { i64, [2 x i64] }, i8, i8, i8, [5 x i8] }, { { { { i64, ptr, {} }, i64 } }, i8, i8, [6 x i8] }, { i64, i64, i64, i64, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, [1 x i8] }, { { { ptr, [1 x i64] }, i64, { {} }, {} } }, { i8, i8, i8 }, [5 x i8] }, { { { { ptr, i64, i64, i64 }, {}, {} }, { {} } } } }, { { { i64, ptr, {} }, i64 } }, { i64, [2 x i64] }, { { { { ptr, i64, i64, i64 }, {}, {} }, { i64, i64 } } }, { { { { ptr, i64, i64, i64 }, {}, {} }, { i64, i64 } } }, { { { { ptr, i64, i64, i64 }, {}, {} }, { i64, i64 } } }, ptr } }, align 8 %.sroa.958.i.i.i = alloca [64 x i8], align 8 %.sroa.843.sroa.7.sroa.7.i.sroa.5.i.i = alloca [5 x i64], align 8 - %.sroa.041.i.i.i = alloca { { { { { { { { i64, [1 x i64] }, { i64, [1 x i64] }, { i64, [1 x i64] }, { i64, [1 x i64] }, { i64, [1 x i64] }, { { { i64, ptr, {} }, i64 } }, { { { i64, ptr, {} }, i64 } }, { i64, [2 x i64] }, { i64, [2 x i64] }, { i64, [2 x i64] }, i64, i64, i64, i64, i64, i64, i64, i8, i8, i8, i8, i8, i8, i8, i8 }, { i64, [2 x i64] }, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i8, i8, i8, i8, [4 x i8] }, { { { { i64, ptr, {} }, i64 } }, { { { i64, ptr, {} }, i64 } }, { i64, [2 x i64] }, { i64, [2 x i64] }, i8, i8, i8, [5 x i8] }, { { { { i64, ptr, {} }, i64 } }, i8, i8, [6 x i8] }, { i64, i64, i64, i64, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, [1 x i8] }, { { { ptr, [1 x i64] }, i64, { {} }, {} } }, { i8, i8, i8 }, [5 x i8] }, { { { { ptr, i64, i64, i64 }, {}, {} }, { {} } } } }, { { { i64, ptr, {} }, i64 } }, { { { i64, ptr, {} }, i64 } }, { { { i64, ptr, {} }, i64 } }, { { { i64, ptr, {} }, i64 } }, { { { ptr, ptr } }, {}, {} }, { { { ptr, ptr } }, {}, {} }, { { { { ptr, i64, i64, i64 }, {}, {} }, { i64, i64 } } }, { { { { ptr, i64, i64, i64 }, {}, {} }, { i64, i64 } } }, { { { { ptr, i64, i64, i64 }, {}, {} }, { i64, i64 } } }, { { { { ptr, i64, i64, i64 }, {}, {} }, { i64, i64 } } }, { { { ptr, ptr } }, {}, {} }, { ptr, { ptr, [5 x i64] }, { { i32, { i32, i32 } }, {} }, [1 x i32] }, { { { { ptr, i64, i64, i64 }, {}, {} }, { i64, i64 } } }, ptr }, { i64, [43 x i64] } }, [1840 x i8] }, align 16 %16 = alloca { { { { { { i64, [1 x i64] }, { i64, [1 x i64] }, { i64, [1 x i64] }, { i64, [1 x i64] }, { i64, [1 x i64] }, { { { i64, ptr, {} }, i64 } }, { { { i64, ptr, {} }, i64 } }, { i64, [2 x i64] }, { i64, [2 x i64] }, { i64, [2 x i64] }, i64, i64, i64, i64, i64, i64, i64, i8, i8, i8, i8, i8, i8, i8, i8 }, { i64, [2 x i64] }, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i8, i8, i8, i8, [4 x i8] }, { { { { i64, ptr, {} }, i64 } }, { { { i64, ptr, {} }, i64 } }, { i64, [2 x i64] }, { i64, [2 x i64] }, i8, i8, i8, [5 x i8] }, { { { { i64, ptr, {} }, i64 } }, i8, i8, [6 x i8] }, { i64, i64, i64, i64, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, [1 x i8] }, { { { ptr, [1 x i64] }, i64, { {} }, {} } }, { i8, i8, i8 }, [5 x i8] }, { { { { ptr, i64, i64, i64 }, {}, {} }, { {} } } } }, { { { i64, ptr, {} }, i64 } }, { i64, [2 x i64] }, { { { { ptr, i64, i64, i64 }, {}, {} }, { i64, i64 } } }, { { { { ptr, i64, i64, i64 }, {}, {} }, { i64, i64 } } }, { { { { ptr, i64, i64, i64 }, {}, {} }, { i64, i64 } } }, ptr }, align 8 %17 = alloca { { { ptr, ptr } }, {}, {} }, align 8 %18 = alloca { { { { i64, ptr, {} }, i64 } }, { [6 x i64], i64, [2 x i64] } }, align 8 @@ -14577,7 +14576,6 @@ define internal void @"_ZN120_$LT$futures_util..stream..try_stream..and_then..An %26 = alloca { i64, [4 x i64] }, align 8 %.sroa.8269.sroa.6.i.i = alloca [5 x i64], align 8 %.sroa.13.sroa.7.i.i = alloca [5 x i64], align 8 - %.sroa.0253.i.i = alloca { { { { { { { { i64, [1 x i64] }, { i64, [1 x i64] }, { i64, [1 x i64] }, { i64, [1 x i64] }, { i64, [1 x i64] }, { { { i64, ptr, {} }, i64 } }, { { { i64, ptr, {} }, i64 } }, { i64, [2 x i64] }, { i64, [2 x i64] }, { i64, [2 x i64] }, i64, i64, i64, i64, i64, i64, i64, i8, i8, i8, i8, i8, i8, i8, i8 }, { i64, [2 x i64] }, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i8, i8, i8, i8, [4 x i8] }, { { { { i64, ptr, {} }, i64 } }, { { { i64, ptr, {} }, i64 } }, { i64, [2 x i64] }, { i64, [2 x i64] }, i8, i8, i8, [5 x i8] }, { { { { i64, ptr, {} }, i64 } }, i8, i8, [6 x i8] }, { i64, i64, i64, i64, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, [1 x i8] }, { { { ptr, [1 x i64] }, i64, { {} }, {} } }, { i8, i8, i8 }, [5 x i8] }, { { { { ptr, i64, i64, i64 }, {}, {} }, { {} } } } }, { { { i64, ptr, {} }, i64 } }, { { { i64, ptr, {} }, i64 } }, { { { i64, ptr, {} }, i64 } }, { { { i64, ptr, {} }, i64 } }, { { { ptr, ptr } }, {}, {} }, { { { ptr, ptr } }, {}, {} }, { { { { ptr, i64, i64, i64 }, {}, {} }, { i64, i64 } } }, { { { { ptr, i64, i64, i64 }, {}, {} }, { i64, i64 } } }, { { { { ptr, i64, i64, i64 }, {}, {} }, { i64, i64 } } }, { { { { ptr, i64, i64, i64 }, {}, {} }, { i64, i64 } } }, { { { ptr, ptr } }, {}, {} }, { ptr, { ptr, [5 x i64] }, { { i32, { i32, i32 } }, {} }, [1 x i32] }, { { { { ptr, i64, i64, i64 }, {}, {} }, { i64, i64 } } }, ptr }, { i64, [43 x i64] } }, [1440 x i8] }, align 16 %27 = alloca { { i64, ptr, {} }, i64 }, align 8 %.sroa.3244.i.i = alloca [1328 x i8], align 16 %.sroa.5239.i.i = alloca [12 x i64], align 16 @@ -15429,11 +15427,9 @@ _ZN5alloc5alloc15exchange_malloc17he27dc27497df8aaaE.exit.i.i: ; preds = %184 .thread.i.i: ; preds = %259 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %27), !noalias !1522 - call void @llvm.lifetime.start.p0(i64 2880, ptr nonnull %.sroa.0253.i.i) store i8 0, ptr %75, align 1, !noalias !1522 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(1440) %.sroa.0253.i.i, ptr noundef nonnull align 16 dereferenceable(1440) %233, i64 1440, i1 false), !noalias !1522 %269 = getelementptr inbounds nuw i8, ptr %1, i64 2400 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(2880) %269, ptr noundef nonnull align 16 dereferenceable(2880) %.sroa.0253.i.i, i64 2880, i1 false), !noalias !1522 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(1440) %269, ptr noundef nonnull align 16 dereferenceable(1440) %233, i64 1440, i1 false), !noalias !1522 %.sroa.8254.0..sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %1, i64 5280 store i8 0, ptr %.sroa.8254.0..sroa_idx.i.i, align 16, !noalias !1522 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %.sroa.13.sroa.7.i.i) @@ -15444,7 +15440,6 @@ _ZN5alloc5alloc15exchange_malloc17he27dc27497df8aaaE.exit.i.i: ; preds = %184 270: ; preds = %.body142.i.i, %727 %271 = phi ptr [ %721, %727 ], [ %910, %.body142.i.i ] %.pn39.i.i = phi { ptr, i32 } [ %728, %727 ], [ %.pn37.i.i, %.body142.i.i ] - call void @llvm.lifetime.end.p0(i64 2880, ptr nonnull %.sroa.0253.i.i) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %27), !noalias !1522 %272 = getelementptr inbounds nuw i8, ptr %1, i64 2304 invoke void @"_ZN4core3ptr58drop_in_place$LT$datafusion_common..dfschema..DFSchema$GT$17hed09f58f4c1a38c0E"(ptr noalias noundef nonnull align 8 dereferenceable(96) %272) #41 @@ -15874,7 +15869,6 @@ _ZN5alloc5alloc15exchange_malloc17he27dc27497df8aaaE.exit.i.i: ; preds = %184 400: ; preds = %._crit_edge call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %38), !noalias !1522 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %27), !noalias !1522 - call void @llvm.lifetime.start.p0(i64 2880, ptr nonnull %.sroa.0253.i.i) %.phi.trans.insert.i.i = getelementptr inbounds nuw i8, ptr %1, i64 5280 %.pre.i.i = load i8, ptr %.phi.trans.insert.i.i, align 16, !range !1702, !noalias !1703 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %.sroa.13.sroa.7.i.i) @@ -15948,11 +15942,9 @@ _ZN5alloc5alloc15exchange_malloc17he27dc27497df8aaaE.exit.i.i: ; preds = %184 %421 = getelementptr inbounds nuw i8, ptr %1, i64 5296 store ptr %414, ptr %421, align 16, !noalias !1703 call void @llvm.lifetime.end.p0(i64 824, ptr nonnull %16), !noalias !1703 - call void @llvm.lifetime.start.p0(i64 3280, ptr nonnull %.sroa.041.i.i.i) store i8 0, ptr %406, align 1, !noalias !1703 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(1440) %.sroa.041.i.i.i, ptr noundef nonnull align 16 dereferenceable(1440) %407, i64 1440, i1 false), !noalias !1703 %422 = getelementptr inbounds nuw i8, ptr %1, i64 5312 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(3280) %422, ptr noundef nonnull align 16 dereferenceable(3280) %.sroa.041.i.i.i, i64 3280, i1 false), !noalias !1703 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(1440) %422, ptr noundef nonnull align 16 dereferenceable(1440) %407, i64 1440, i1 false), !noalias !1703 %.sroa.8.0..sroa_idx.i.i.i = getelementptr inbounds nuw i8, ptr %1, i64 8592 store i8 0, ptr %.sroa.8.0..sroa_idx.i.i.i, align 16, !noalias !1703 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %.sroa.2.i.sroa.7.i.sroa.7.i.i) @@ -15963,7 +15955,6 @@ _ZN5alloc5alloc15exchange_malloc17he27dc27497df8aaaE.exit.i.i: ; preds = %184 %425 = phi ptr [ %548, %582 ], [ %604, %.body17.i.i.i ] %426 = phi ptr [ %549, %582 ], [ %605, %.body17.i.i.i ] %.pn6.i.i.i = phi { ptr, i32 } [ %583, %582 ], [ %.pn4.i.i.i, %.body17.i.i.i ] - call void @llvm.lifetime.end.p0(i64 3280, ptr nonnull %.sroa.041.i.i.i) %427 = getelementptr inbounds nuw i8, ptr %1, i64 5296 call void @llvm.experimental.noalias.scope.decl(metadata !1716) call void @llvm.experimental.noalias.scope.decl(metadata !1719) @@ -16000,7 +15991,6 @@ _ZN5alloc5alloc15exchange_malloc17he27dc27497df8aaaE.exit.i.i: ; preds = %184 unreachable 441: ; preds = %400 - call void @llvm.lifetime.start.p0(i64 3280, ptr nonnull %.sroa.041.i.i.i) %.phi.trans.insert.i.i.i = getelementptr inbounds nuw i8, ptr %1, i64 8592 %.pre.i137.i.i = load i8, ptr %.phi.trans.insert.i.i.i, align 16, !range !1521, !noalias !1724 %442 = getelementptr inbounds nuw i8, ptr %1, i64 5312 @@ -16414,7 +16404,6 @@ _ZN5alloc5alloc15exchange_malloc17he27dc27497df8aaaE.exit.i.i: ; preds = %184 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %.sroa.822.i.sroa.11.i.sroa.9.i.i) store i8 3, ptr %581, align 16, !noalias !1724 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %.sroa.2.i.sroa.7.i.sroa.7.i.i) - call void @llvm.lifetime.end.p0(i64 3280, ptr nonnull %.sroa.041.i.i.i) br label %"_ZN53_$LT$F$u20$as$u20$futures_core..future..TryFuture$GT$8try_poll17h0789afb3c3aee70aE.exit.thread" 582: ; preds = %577 @@ -16431,7 +16420,6 @@ _ZN5alloc5alloc15exchange_malloc17he27dc27497df8aaaE.exit.i.i: ; preds = %184 call void @llvm.assume(i1 %586) %587 = icmp ne ptr %.sroa.822.i.sroa.8.0.i.i.i, null call void @llvm.assume(i1 %587) - call void @llvm.lifetime.end.p0(i64 3280, ptr nonnull %.sroa.041.i.i.i) call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %.sroa.958.i.i.i) %588 = getelementptr inbounds nuw i8, ptr %1, i64 5296 %589 = load ptr, ptr %588, align 16, !noalias !1703, !nonnull !5, !noundef !5 @@ -16456,7 +16444,6 @@ _ZN5alloc5alloc15exchange_malloc17he27dc27497df8aaaE.exit.i.i: ; preds = %184 594: ; preds = %584 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %.sroa.1028.i.i.sroa.7.i.i, ptr noundef nonnull align 8 dereferenceable(40) %.sroa.843.sroa.7.sroa.7.i.sroa.5.i.i, i64 40, i1 false), !noalias !1703 %595 = ptrtoint ptr %.sroa.822.i.sroa.0.0.i.i.i to i64 - call void @llvm.lifetime.end.p0(i64 3280, ptr nonnull %.sroa.041.i.i.i) %596 = getelementptr inbounds nuw i8, ptr %1, i64 5296 call void @llvm.experimental.noalias.scope.decl(metadata !1764) call void @llvm.experimental.noalias.scope.decl(metadata !1767) @@ -16896,7 +16883,6 @@ _ZN5alloc5alloc15exchange_malloc17he27dc27497df8aaaE.exit.i.i: ; preds = %184 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %.sroa.13.sroa.7.i.i) call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %38), !noalias !1522 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %27), !noalias !1522 - call void @llvm.lifetime.end.p0(i64 2880, ptr nonnull %.sroa.0253.i.i) store i8 3, ptr %725, align 16, !noalias !1522 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %.sroa.19.sroa.12.i.i) call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %.sroa.8269.sroa.6.i.i) @@ -16920,7 +16906,6 @@ _ZN5alloc5alloc15exchange_malloc17he27dc27497df8aaaE.exit.i.i: ; preds = %184 store ptr %.sroa.568.0.i.i.i, ptr %.sroa.4279.0..sroa_idx.i.i, align 8, !noalias !1522 %.sroa.5280.0..sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %27, i64 16 store i64 %.sroa.769.0.i.i.i, ptr %.sroa.5280.0..sroa_idx.i.i, align 8, !noalias !1522 - call void @llvm.lifetime.end.p0(i64 2880, ptr nonnull %.sroa.0253.i.i) call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %26), !noalias !1522 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25), !noalias !1522 call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %24), !noalias !1522 @@ -17377,7 +17362,6 @@ common.resume: ; preds = %933, %.body, %937, 883: ; preds = %729 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %.sroa.19.sroa.12.i.i, ptr noundef nonnull align 8 dereferenceable(40) %.sroa.8269.sroa.6.i.i, i64 40, i1 false), !noalias !1522 - call void @llvm.lifetime.end.p0(i64 2880, ptr nonnull %.sroa.0253.i.i) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %27), !noalias !1522 %884 = getelementptr inbounds nuw i8, ptr %1, i64 2304 invoke void @"_ZN4core3ptr58drop_in_place$LT$datafusion_common..dfschema..DFSchema$GT$17hed09f58f4c1a38c0E"(ptr noalias noundef nonnull align 8 dereferenceable(96) %884) diff --git a/bench/hyperscan/optimized/rose_build_anchored.ll b/bench/hyperscan/optimized/rose_build_anchored.ll index 71664808fd4..9f39a1f430f 100644 --- a/bench/hyperscan/optimized/rose_build_anchored.ll +++ b/bench/hyperscan/optimized/rose_build_anchored.ll @@ -8516,7 +8516,6 @@ _ZNSt6vectorIN3ue212graph_detail17vertex_descriptorINS0_9ue2_graphINS0_8NGHolder ; Function Attrs: mustprogress noinline uwtable define internal fastcc noundef zeroext i1 @_ZN3ue211determiniseINS_12_GLOBAL__N_116Automaton_HolderENS_6dstateEEEbRT_RSt6vectorIT0_SaIS7_EEmPS6_INS4_8StateSetESaISB_EE(ptr noundef nonnull align 8 dereferenceable(1286) %0, ptr noundef nonnull align 8 dereferenceable(24) %1) unnamed_addr #13 personality ptr @__gxx_personality_v0 { %3 = alloca %"class.ue2::bitfield.222", align 8 - %.sroa.02.i = alloca %"struct.ue2::(anonymous namespace)::Holder_StateSet", align 8 %4 = alloca %"class.std::unordered_map.267", align 8 %5 = alloca %"struct.ue2::dstate", align 8 %6 = alloca %"class.std::queue", align 8 @@ -8918,11 +8917,8 @@ _ZNSt11_Deque_baseISt4pairIN3ue212_GLOBAL__N_115Holder_StateSetEtESaIS4_EE16_M_d store i16 0, ptr %156, align 8 %157 = getelementptr inbounds nuw i8, ptr %128, i64 80 store ptr %157, ptr %152, align 8 - call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %.sroa.02.i) - %158 = getelementptr inbounds nuw i8, ptr %0, i64 112 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(68) %.sroa.02.i, ptr noundef nonnull readonly align 8 dereferenceable(68) %158, i64 68, i1 false), !noalias !439 - %159 = invoke noalias noundef nonnull dereferenceable(72) ptr @_Znwm(i64 noundef 72) #27 - to label %175 unwind label %173 + %158 = invoke noalias noundef nonnull dereferenceable(72) ptr @_Znwm(i64 noundef 72) #27 + to label %174 unwind label %172 _ZNSt12_Vector_baseIN3ue212_GLOBAL__N_115Holder_StateSetESaIS2_EEC2EmRKS3_.exit.i: ; preds = %_ZN3ue26dstateD2Ev.exit253 %160 = mul nuw nsw i64 %17, 72 @@ -8936,7 +8932,7 @@ _ZNSt12_Vector_baseIN3ue212_GLOBAL__N_115Holder_StateSetESaIS2_EEC2EmRKS3_.exit. %162 = add nsw i64 %.068.i.i.i.i.i.i, -1 %163 = getelementptr inbounds nuw i8, ptr %.09.i.i.i.i.i.i, i64 72 %.not.i.i.i.i.i.i = icmp eq i64 %162, 0 - br i1 %.not.i.i.i.i.i.i, label %.lr.ph115, label %.lr.ph.i.i.i.i.i.i, !llvm.loop !442 + br i1 %.not.i.i.i.i.i.i, label %.lr.ph115, label %.lr.ph.i.i.i.i.i.i, !llvm.loop !439 164: ; preds = %40, %_ZNSt6vectorIN3ue26dstateESaIS1_EE5clearEv.exit %165 = landingpad { ptr, i32 } @@ -8955,7 +8951,7 @@ _ZNSt12_Vector_baseIN3ue212_GLOBAL__N_115Holder_StateSetESaIS2_EEC2EmRKS3_.exit. br label %170 170: ; preds = %168, %166 - %.pn = phi { ptr, i32 } [ %169, %168 ], [ %167, %166 ] + %.pn = phi { ptr, i32 } [ %169, %167 ], [ %167, %165 ] call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %5) #24 br label %.body @@ -8970,8 +8966,8 @@ _ZNSt12_Vector_baseIN3ue212_GLOBAL__N_115Holder_StateSetESaIS2_EEC2EmRKS3_.exit. br label %909 175: ; preds = %146 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(72) %159, ptr noundef nonnull align 8 dereferenceable(72) %.sroa.02.i, i64 72, i1 false), !noalias !439 - call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %.sroa.02.i) + %175 = getelementptr inbounds nuw i8, ptr %0, i64 112 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(68) %158, ptr noundef nonnull readonly align 8 dereferenceable(68) %175, i64 68, i1 false), !noalias !440 %176 = shl nuw nsw i64 %17, 1 %177 = getelementptr inbounds nuw i8, ptr %7, i64 16 %178 = getelementptr inbounds nuw i8, ptr %7, i64 8 @@ -8991,7 +8987,7 @@ _ZNSt12_Vector_baseIN3ue212_GLOBAL__N_115Holder_StateSetESaIS2_EEC2EmRKS3_.exit. %192 = ptrtoint ptr %190 to i64 %193 = sub i64 %191, %192 %194 = sdiv exact i64 %193, 96 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(74) %157, ptr noundef nonnull readonly align 8 dereferenceable(72) %159, i64 72, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(74) %157, ptr noundef nonnull readonly align 8 dereferenceable(72) %158, i64 72, i1 false) %195 = getelementptr inbounds nuw i8, ptr %128, i64 152 %196 = trunc i64 %194 to i16 store i16 %196, ptr %195, align 8 @@ -9003,7 +8999,7 @@ _ZNSt12_Vector_baseIN3ue212_GLOBAL__N_115Holder_StateSetESaIS2_EEC2EmRKS3_.exit. .noexc236: ; preds = %175 store ptr null, ptr %198, align 8 %199 = getelementptr inbounds nuw i8, ptr %198, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(74) %199, ptr noundef nonnull readonly align 8 dereferenceable(72) %159, i64 72, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(74) %199, ptr noundef nonnull readonly align 8 dereferenceable(72) %158, i64 72, i1 false) %200 = getelementptr inbounds nuw i8, ptr %198, i64 80 %201 = trunc i64 %194 to i16 store i16 %201, ptr %200, align 8 @@ -10760,7 +10756,7 @@ _ZNSt6vectorIN3ue26dstateESaIS1_EE13shrink_to_fitEv.exit.thread: ; preds = %._cr _ZNSt6vectorIN3ue212_GLOBAL__N_115Holder_StateSetESaIS2_EED2Ev.exit372: ; preds = %_ZNSt6vectorIN3ue26dstateESaIS1_EE13shrink_to_fitEv.exit, %_ZNSt6vectorIN3ue26dstateESaIS1_EE13shrink_to_fitEv.exit.thread %892 = phi i1 [ false, %_ZNSt6vectorIN3ue26dstateESaIS1_EE13shrink_to_fitEv.exit ], [ %891, %_ZNSt6vectorIN3ue26dstateESaIS1_EE13shrink_to_fitEv.exit.thread ] - call void @_ZdlPv(ptr noundef nonnull %159) #25 + call void @_ZdlPv(ptr noundef nonnull %158) #25 %893 = load ptr, ptr %6, align 8 %.not.i.i.i373 = icmp eq ptr %893, null br i1 %.not.i.i.i373, label %_ZNSt5queueISt4pairIN3ue212_GLOBAL__N_115Holder_StateSetEtESt5dequeIS4_SaIS4_EEED2Ev.exit, label %894 @@ -10821,21 +10817,21 @@ _ZNSt13unordered_mapIN3ue212_GLOBAL__N_115Holder_StateSetEtNS0_10ue2_hasherESt8e _ZNSt6vectorIN3ue212_GLOBAL__N_115Holder_StateSetESaIS2_EED2Ev.exit380: ; preds = %455, %.body289, %908, %265, %_ZNSt10_HashtableIN3ue212_GLOBAL__N_115Holder_StateSetESt4pairIKS2_tESaIS5_ENSt8__detail10_Select1stESt8equal_toIS2_ENS0_10ue2_hasherENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb1ELb0ELb1EEEE12_Scoped_nodeD2Ev.exit45.i.i.i216, %271 %.pn138.pn.pn = phi { ptr, i32 } [ %.pn138, %271 ], [ %266, %265 ], [ %242, %_ZNSt10_HashtableIN3ue212_GLOBAL__N_115Holder_StateSetESt4pairIKS2_tESaIS5_ENSt8__detail10_Select1stESt8equal_toIS2_ENS0_10ue2_hasherENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb1ELb0ELb1EEEE12_Scoped_nodeD2Ev.exit45.i.i.i216 ], [ %456, %455 ], [ %.pn130.pn.pn, %.body289 ], [ %.pn130.pn.pn, %908 ] - call void @_ZdlPv(ptr noundef nonnull %159) #25 + call void @_ZdlPv(ptr noundef nonnull %158) #25 br label %909 909: ; preds = %173, %_ZNSt6vectorIN3ue212_GLOBAL__N_115Holder_StateSetESaIS2_EED2Ev.exit380 - %.pn138.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn138.pn.pn, %_ZNSt6vectorIN3ue212_GLOBAL__N_115Holder_StateSetESaIS2_EED2Ev.exit380 ], [ %174, %173 ] + %.pn138.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn138.pn.pn, %_ZNSt6vectorIN3ue212_GLOBAL__N_115Holder_StateSetESaIS2_EED2Ev.exit380 ], [ %174, %172 ] call fastcc void @_ZNSt5queueISt4pairIN3ue212_GLOBAL__N_115Holder_StateSetEtESt5dequeIS4_SaIS4_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(80) %6) #24 br label %.body183 .body183: ; preds = %171, %140, %909 - %.pn138.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn138.pn.pn.pn.pn, %909 ], [ %172, %171 ], [ %141, %140 ] + %.pn138.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn138.pn.pn.pn.pn, %909 ], [ %172, %170 ], [ %141, %140 ] call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %6) #24 br label %.body .body: ; preds = %164, %_ZNSt10_HashtableIN3ue212_GLOBAL__N_115Holder_StateSetESt4pairIKS2_tESaIS5_ENSt8__detail10_Select1stESt8equal_toIS2_ENS0_10ue2_hasherENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb1ELb0ELb1EEEE12_Scoped_nodeD2Ev.exit45.i.i.i, %.body183, %170 - %.pn138.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn138.pn.pn.pn.pn.pn, %.body183 ], [ %.pn, %170 ], [ %165, %164 ], [ %86, %_ZNSt10_HashtableIN3ue212_GLOBAL__N_115Holder_StateSetESt4pairIKS2_tESaIS5_ENSt8__detail10_Select1stESt8equal_toIS2_ENS0_10ue2_hasherENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb1ELb0ELb1EEEE12_Scoped_nodeD2Ev.exit45.i.i.i ] + %.pn138.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn138.pn.pn.pn.pn.pn, %.body183 ], [ %.pn, %169 ], [ %165, %163 ], [ %86, %_ZNSt10_HashtableIN3ue212_GLOBAL__N_115Holder_StateSetESt4pairIKS2_tESaIS5_ENSt8__detail10_Select1stESt8equal_toIS2_ENS0_10ue2_hasherENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb1ELb0ELb1EEEE12_Scoped_nodeD2Ev.exit45.i.i.i ] call fastcc void @_ZNSt13unordered_mapIN3ue212_GLOBAL__N_115Holder_StateSetEtNS0_10ue2_hasherESt8equal_toIS2_ESaISt4pairIKS2_tEEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %4) #24 call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %4) #24 resume { ptr, i32 } %.pn138.pn.pn.pn.pn.pn.pn @@ -16502,10 +16498,10 @@ attributes #29 = { noreturn nounwind } !436 = distinct !{!436, !6} !437 = distinct !{!437, !6} !438 = distinct !{!438, !6} -!439 = !{!440} -!440 = distinct !{!440, !441, !"_ZN3ue212_GLOBAL__N_116Automaton_Holder7initialEv: argument 0"} -!441 = distinct !{!441, !"_ZN3ue212_GLOBAL__N_116Automaton_Holder7initialEv"} -!442 = distinct !{!442, !6} +!439 = distinct !{!439, !6} +!440 = !{!441} +!441 = distinct !{!441, !442, !"_ZN3ue212_GLOBAL__N_116Automaton_Holder7initialEv: argument 0"} +!442 = distinct !{!442, !"_ZN3ue212_GLOBAL__N_116Automaton_Holder7initialEv"} !443 = distinct !{!443, !6} !444 = distinct !{!444, !6} !445 = !{!446, !448} diff --git a/bench/image-rs/optimized/1clnprdgqfw2q9lq.ll b/bench/image-rs/optimized/1clnprdgqfw2q9lq.ll index 5234192cf8b..0c094062f4f 100644 --- a/bench/image-rs/optimized/1clnprdgqfw2q9lq.ll +++ b/bench/image-rs/optimized/1clnprdgqfw2q9lq.ll @@ -19395,9 +19395,8 @@ _ZN3exr5block6reader12ChunksReader21parallel_decompressor17h15132c0d5f419b90E.ex br i1 %156, label %.thread, label %157 .thread: ; preds = %155 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %145, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.42.0..sroa_idx.i.i, i64 32, i1 false), !noalias !4212 call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %15), !noalias !4216 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(72) %.sroa.857.i, ptr noundef nonnull align 8 dereferenceable(72) %145, i64 72, i1 false), !noalias !4194 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.857.i, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.42.0..sroa_idx.i.i, i64 32, i1 false), !noalias !4194 call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %16), !noalias !4212 call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %17), !noalias !4212 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18), !noalias !4194 @@ -20266,9 +20265,8 @@ _ZN3exr5block6reader12ChunksReader21parallel_decompressor17ha09ee0bf42ed211bE.ex br i1 %156, label %.thread, label %157 .thread: ; preds = %155 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %145, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.42.0..sroa_idx.i.i, i64 32, i1 false), !noalias !4386 call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %15), !noalias !4389 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(72) %.sroa.857.i, ptr noundef nonnull align 8 dereferenceable(72) %145, i64 72, i1 false), !noalias !4368 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.857.i, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.42.0..sroa_idx.i.i, i64 32, i1 false), !noalias !4368 call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %16), !noalias !4386 call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %17), !noalias !4386 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18), !noalias !4368 @@ -20760,9 +20758,8 @@ define hidden void @_ZN3exr5block6reader12ChunksReader21decompress_sequential17h br i1 %26, label %.thread62, label %27 .thread62: ; preds = %25 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.42.0..sroa_idx.i, i64 32, i1 false), !noalias !4483 call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %7), !noalias !4485 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(72) %.sroa.857, ptr noundef nonnull align 8 dereferenceable(72) %14, i64 72, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.857, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.42.0..sroa_idx.i, i64 32, i1 false) call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %8), !noalias !4483 call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %9), !noalias !4483 br label %35 @@ -20965,9 +20962,8 @@ define hidden void @_ZN3exr5block6reader12ChunksReader21decompress_sequential17h br i1 %26, label %.thread62, label %27 .thread62: ; preds = %25 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.42.0..sroa_idx.i, i64 32, i1 false), !noalias !4520 call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %7), !noalias !4522 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(72) %.sroa.857, ptr noundef nonnull align 8 dereferenceable(72) %14, i64 72, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.857, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.42.0..sroa_idx.i, i64 32, i1 false) call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %8), !noalias !4520 call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %9), !noalias !4520 br label %35 diff --git a/bench/llvm/optimized/BuiltinFunctionChecker.ll b/bench/llvm/optimized/BuiltinFunctionChecker.ll index 1aaee76f593..0c3a5d0730e 100644 --- a/bench/llvm/optimized/BuiltinFunctionChecker.ll +++ b/bench/llvm/optimized/BuiltinFunctionChecker.ll @@ -2172,9 +2172,9 @@ _ZN4llvm18IntrusiveRefCntPtrIKN5clang4ento12ProgramStateEEC2ERKS5_.exit143.i: ; %.val114.i = load ptr, ptr %2, align 8 %514 = zext i1 %narrow.i.i to i8 %515 = call noalias noundef nonnull dereferenceable(56) ptr @_Znwm(i64 noundef 56) #17 - store ptr %.fca.0.extract46.i, ptr %515, align 16, !tbaa !3 + store ptr %.fca.0.extract46.i, ptr %515, align 16 %.sroa.0.i.sroa.4.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %515, i64 8 - store i8 %.fca.1.extract47.i, ptr %.sroa.0.i.sroa.4.0..sroa_idx.i, align 8, !tbaa !292 + store i8 %.fca.1.extract47.i, ptr %.sroa.0.i.sroa.4.0..sroa_idx.i, align 8 %.sroa.4.0..sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %515, i64 16 store ptr %.fca.0.extract80.i, ptr %.sroa.4.0..sroa_idx.i.i, align 16, !tbaa !3 %.sroa.5.0..sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %515, i64 24 diff --git a/bench/llvm/optimized/CGExprCXX.ll b/bench/llvm/optimized/CGExprCXX.ll index 37983811129..4b40825a2e4 100644 --- a/bench/llvm/optimized/CGExprCXX.ll +++ b/bench/llvm/optimized/CGExprCXX.ll @@ -6593,14 +6593,12 @@ define dso_local noundef ptr @_ZN5clang7CodeGen15CodeGenFunction14EmitCXXNewExpr %4 = alloca %"struct.clang::SanitizerSet", align 8 %5 = alloca %"class.clang::CodeGen::Address", align 8 %6 = alloca %"class.llvm::Twine", align 8 - %.sroa.01.i48.i = alloca %"class.clang::CodeGen::DominatingValue::saved_type", align 8 %7 = alloca %"class.clang::CodeGen::RawAddress", align 8 %8 = alloca %"class.clang::CodeGen::DominatingValue::saved_type", align 8 %9 = alloca %"class.clang::CodeGen::DominatingValue::saved_type", align 8 %10 = alloca %"class.clang::CodeGen::RValue", align 8 %11 = alloca %"class.clang::CodeGen::RValue", align 8 %12 = alloca %"class.clang::CodeGen::Address", align 8 - %.sroa.01.i.i = alloca %"class.clang::CodeGen::RValue", align 8 %13 = alloca %"class.clang::CodeGen::RValue", align 8 %14 = alloca %"class.clang::CodeGen::DominatingValue::saved_type", align 8 %15 = alloca %"class.clang::CodeGen::DominatingValue::saved_type", align 8 @@ -8700,7 +8698,7 @@ _ZNK5clang7CodeGen7Address14emitRawPointerERNS0_15CodeGenFunctionE.exit.i: ; pre br label %1019 1019: ; preds = %1019, %.lr.ph65.i - %indvars.iv67.i = phi i64 [ 0, %.lr.ph65.i ], [ %indvars.iv.next68.i, %1019 ] + %indvars.iv67.i = phi i64 [ 0, %.lr.ph64.i ], [ %indvars.iv.next67.i, %1019 ] %1020 = trunc nuw i64 %indvars.iv67.i to i32 %1021 = add i32 %988, %1020 %1022 = zext i32 %1021 to i64 @@ -8709,35 +8707,32 @@ _ZNK5clang7CodeGen7Address14emitRawPointerERNS0_15CodeGenFunctionE.exit.i: ; pre call void @_ZNK5clang7CodeGen7CallArg9getRValueERNS0_15CodeGenFunctionE(ptr dead_on_unwind nonnull writable sret(%"class.clang::CodeGen::RValue") align 8 %13, ptr noundef nonnull align 8 dereferenceable(152) %1024, ptr noundef nonnull align 8 dereferenceable(6496) %0) #16 %1025 = getelementptr inbounds nuw i8, ptr %1024, i64 144 %.sroa.08.0.copyload.i = load i64, ptr %1025, align 8, !tbaa !3 - call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %.sroa.01.i.i) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(49) %.sroa.01.i.i, ptr noundef nonnull align 8 dereferenceable(49) %13, i64 49, i1 false) - %1026 = getelementptr inbounds nuw %"struct.(anonymous namespace)::CallDeleteDuringNew::PlacementArg", ptr %1017, i64 %indvars.iv67.i - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %1026, ptr noundef nonnull align 8 dereferenceable(56) %.sroa.01.i.i, i64 56, i1 false), !tbaa.struct !1344 + %1026 = getelementptr inbounds nuw %"struct.(anonymous namespace)::CallDeleteDuringNew::PlacementArg", ptr %1017, i64 %indvars.iv66.i + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(49) %1026, ptr noundef nonnull align 8 dereferenceable(49) %13, i64 49, i1 false) %.sroa.4.0..sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %1026, i64 56 store i64 %.sroa.08.0.copyload.i, ptr %.sroa.4.0..sroa_idx.i.i, align 8, !tbaa !3 - call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %.sroa.01.i.i) - %indvars.iv.next68.i = add nuw nsw i64 %indvars.iv67.i, 1 - %.not.i182 = icmp eq i64 %indvars.iv.next68.i, %1018 - br i1 %.not.i182, label %_ZL21EnterNewDeleteCleanupRN5clang7CodeGen15CodeGenFunctionEPKNS_10CXXNewExprENS0_7AddressEPN4llvm5ValueENS_9CharUnitsERKNS0_11CallArgListE.exit, label %1019, !llvm.loop !1345 + %indvars.iv.next67.i = add nuw nsw i64 %indvars.iv66.i, 1 + %.not.i182 = icmp eq i64 %indvars.iv.next67.i, %1018 + br i1 %.not.i182, label %_ZL21EnterNewDeleteCleanupRN5clang7CodeGen15CodeGenFunctionEPKNS_10CXXNewExprENS0_7AddressEPN4llvm5ValueENS_9CharUnitsERKNS0_11CallArgListE.exit, label %1019, !llvm.loop !1344 1027: ; preds = %985 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %14) #16 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %12) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %12, ptr noundef nonnull align 8 dereferenceable(48) %18, i64 48, i1 false) %1028 = getelementptr inbounds nuw i8, ptr %12, i64 24 - %1029 = load i8, ptr %1028, align 8, !noalias !1346 + %1029 = load i8, ptr %1028, align 8, !noalias !1345 %1030 = and i8 %1029, 3 %.not.i.i.i175 = icmp eq i8 %1030, 0 br i1 %.not.i.i.i175, label %1031, label %1034 1031: ; preds = %1027 - %.0.copyload.i.i.i.i.i.i.i = load i64, ptr %12, align 8, !noalias !1346 + %.0.copyload.i.i.i.i.i.i.i = load i64, ptr %12, align 8, !noalias !1345 %1032 = and i64 %.0.copyload.i.i.i.i.i.i.i, -8 %1033 = inttoptr i64 %1032 to ptr br label %_ZN5clang7CodeGen6RValue3getENS0_7AddressERNS0_15CodeGenFunctionE.exit.i 1034: ; preds = %1027 - %1035 = call noundef ptr @_ZNK5clang7CodeGen7Address18emitRawPointerSlowERNS0_15CodeGenFunctionE(ptr noundef nonnull align 8 dereferenceable(48) %12, ptr noundef nonnull align 8 dereferenceable(6496) %0) #16, !noalias !1346 + %1035 = call noundef ptr @_ZNK5clang7CodeGen7Address18emitRawPointerSlowERNS0_15CodeGenFunctionE(ptr noundef nonnull align 8 dereferenceable(48) %12, ptr noundef nonnull align 8 dereferenceable(6496) %0) #16, !noalias !1345 br label %_ZN5clang7CodeGen6RValue3getENS0_7AddressERNS0_15CodeGenFunctionE.exit.i _ZN5clang7CodeGen6RValue3getENS0_7AddressERNS0_15CodeGenFunctionE.exit.i: ; preds = %1034, %1031 @@ -8781,7 +8776,7 @@ _ZN5clang7CodeGen6RValue3getENS0_7AddressERNS0_15CodeGenFunctionE.exit.i: ; pred %1049 = or disjoint i32 %1048, %1046 store i32 %1049, ptr %1045, align 8 %1050 = getelementptr inbounds nuw i8, ptr %1044, i64 16 - store ptr %1040, ptr %1050, align 8, !tbaa !1349 + store ptr %1040, ptr %1050, align 8, !tbaa !1348 %1051 = getelementptr inbounds nuw i8, ptr %1044, i64 24 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %1051, ptr noundef nonnull readonly align 8 dereferenceable(48) %9, i64 48, i1 false) %1052 = getelementptr inbounds nuw i8, ptr %1044, i64 72 @@ -8819,16 +8814,13 @@ _ZN5clang7CodeGen6RValue3getENS0_7AddressERNS0_15CodeGenFunctionE.exit.i: ; pred call void @_ZN5clang7CodeGen15DominatingValueINS0_6RValueEE10saved_type4saveERNS0_15CodeGenFunctionES2_(ptr dead_on_unwind nonnull writable sret(%"class.clang::CodeGen::DominatingValue::saved_type") align 8 %16, ptr noundef nonnull align 8 dereferenceable(6496) %0, ptr noundef nonnull byval(%"class.clang::CodeGen::RValue") align 8 %17) #16 %1063 = getelementptr inbounds nuw i8, ptr %1062, i64 144 %.sroa.0.0.copyload.i178 = load i64, ptr %1063, align 8, !tbaa !3 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %.sroa.01.i48.i) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(41) %.sroa.01.i48.i, ptr noundef nonnull align 8 dereferenceable(41) %16, i64 41, i1 false) %1064 = getelementptr inbounds nuw %"struct.(anonymous namespace)::CallDeleteDuringNew::PlacementArg", ptr %1055, i64 %indvars.iv.i - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %1064, ptr noundef nonnull align 8 dereferenceable(48) %.sroa.01.i48.i, i64 48, i1 false), !tbaa.struct !1352 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(41) %1064, ptr noundef nonnull align 8 dereferenceable(41) %16, i64 41, i1 false) %.sroa.4.0..sroa_idx.i49.i = getelementptr inbounds nuw i8, ptr %1064, i64 48 store i64 %.sroa.0.0.copyload.i178, ptr %.sroa.4.0..sroa_idx.i49.i, align 8, !tbaa !3 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %.sroa.01.i48.i) %indvars.iv.next.i = add nuw nsw i64 %indvars.iv.i, 1 %.not47.i = icmp eq i64 %indvars.iv.next.i, %1056 - br i1 %.not47.i, label %._crit_edge.i179, label %1057, !llvm.loop !1353 + br i1 %.not47.i, label %._crit_edge.i179, label %1057, !llvm.loop !1351 _ZL21EnterNewDeleteCleanupRN5clang7CodeGen15CodeGenFunctionEPKNS_10CXXNewExprENS0_7AddressEPN4llvm5ValueENS_9CharUnitsERKNS0_11CallArgListE.exit: ; preds = %1019, %_ZNK5clang7CodeGen7Address14emitRawPointerERNS0_15CodeGenFunctionE.exit.i, %._crit_edge.i179 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %18) @@ -8955,7 +8947,7 @@ _ZNK5clang7CodeGen7Address15withElementTypeEPN4llvm4TypeE.exit: ; preds = %1093, %1105 = getelementptr inbounds nuw i8, ptr %79, i64 40 store ptr %.sroa.23.1, ptr %1105, align 8, !tbaa !328 %1106 = getelementptr inbounds nuw i8, ptr %79, i64 8 - store ptr %1100, ptr %1106, align 8, !tbaa !864, !alias.scope !1354 + store ptr %1100, ptr %1106, align 8, !tbaa !864, !alias.scope !1352 %1107 = load ptr, ptr %82, align 8, !tbaa !40 %1108 = getelementptr inbounds nuw i8, ptr %1107, i64 184 %1109 = load ptr, ptr %1108, align 8, !tbaa !917 @@ -8973,7 +8965,7 @@ _ZNK5clang7CodeGen7Address15withElementTypeEPN4llvm4TypeE.exit: ; preds = %1093, %1116 = getelementptr inbounds nuw i8, ptr %0, i64 280 %1117 = and i64 %.sroa.0460.0.copyload, -8 %1118 = inttoptr i64 %1117 to ptr - %1119 = call noundef ptr @_ZN4llvm13IRBuilderBase27CreateLaunderInvariantGroupEPNS_5ValueE(ptr noundef nonnull align 8 dereferenceable(160) %1116, ptr noundef %1118) #16, !noalias !1357 + %1119 = call noundef ptr @_ZN4llvm13IRBuilderBase27CreateLaunderInvariantGroupEPNS_5ValueE(ptr noundef nonnull align 8 dereferenceable(160) %1116, ptr noundef %1118) #16, !noalias !1355 %1120 = ptrtoint ptr %1119 to i64 %1121 = and i64 %.sroa.0460.0.copyload, 7 %1122 = or i64 %1121, %1120 @@ -8986,7 +8978,7 @@ _ZN5clang12SanitizerSet3setENS_13SanitizerMaskEb.exit: ; preds = %1115, %1113, % %spec.select477 = select i1 %980, i64 536870912, i64 0 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %80) #16 %1123 = getelementptr inbounds nuw i8, ptr %1, i64 32 - %1124 = load ptr, ptr %1123, align 8, !tbaa !1360 + %1124 = load ptr, ptr %1123, align 8, !tbaa !1358 %.sroa.0.0.copyload.i197 = load i64, ptr %1124, align 8, !tbaa !3 %1125 = getelementptr inbounds nuw i8, ptr %1124, i64 8 %1126 = inttoptr i64 %.sroa.0.0.copyload.i197 to ptr @@ -9473,11 +9465,11 @@ _ZN5clang7CodeGen11CallArgList3addENS0_6RValueENS_8QualTypeE.exit: ; preds = %_Z %79 = trunc nuw nsw i64 %78 to i16 %80 = sub nsw i16 63, %79 %81 = getelementptr inbounds nuw i8, ptr %77, i64 2 - %82 = load i16, ptr %81, align 2, !tbaa !1361 + %82 = load i16, ptr %81, align 2, !tbaa !1359 %83 = and i16 %82, -64 %84 = and i16 %80, 255 %85 = or i16 %83, %84 - store i16 %85, ptr %81, align 2, !tbaa !1361 + store i16 %85, ptr %81, align 2, !tbaa !1359 %86 = ptrtoint ptr %77 to i64 %87 = and i64 %86, -5 %.sroa.6.7..sroa_idx132 = getelementptr inbounds nuw i8, ptr %.sroa.6, i64 7 @@ -9821,7 +9813,7 @@ _ZN5clang7CodeGen11CallArgList3addENS0_6RValueENS_8QualTypeE.exit82: ; preds = % 245: ; preds = %244 %246 = getelementptr inbounds nuw i8, ptr %.047, i64 16 - %247 = load ptr, ptr %246, align 8, !tbaa !1362 + %247 = load ptr, ptr %246, align 8, !tbaa !1360 %248 = icmp eq ptr %247, null br i1 %248, label %249, label %251 @@ -9990,9 +9982,9 @@ define dso_local void @_ZN5clang7CodeGen15CodeGenFunction27pushCallObjectDeleteC %6 = tail call noundef ptr @_ZN5clang7CodeGen12EHScopeStack11pushCleanupENS0_11CleanupKindEm(ptr noundef nonnull align 8 dereferenceable(320) %5, i32 noundef 3, i64 noundef 32) #16 store ptr getelementptr inbounds nuw inrange(-16, 24) (i8, ptr @_ZTVN12_GLOBAL__N_116CallObjectDeleteE, i64 16), ptr %6, align 8, !tbaa !296 %7 = getelementptr inbounds nuw i8, ptr %6, i64 8 - store ptr %2, ptr %7, align 8, !tbaa !1363 + store ptr %2, ptr %7, align 8, !tbaa !1361 %8 = getelementptr inbounds nuw i8, ptr %6, i64 16 - store ptr %1, ptr %8, align 8, !tbaa !1365 + store ptr %1, ptr %8, align 8, !tbaa !1363 %9 = getelementptr inbounds nuw i8, ptr %6, i64 24 store i64 %3, ptr %9, align 8, !tbaa !3 ret void @@ -10019,7 +10011,7 @@ define dso_local void @_ZN5clang7CodeGen15CodeGenFunction17EmitCXXDeleteExprEPKN %.sroa.8 = alloca [23 x i8], align 1 %19 = alloca %"class.llvm::Twine", align 8 %20 = getelementptr inbounds nuw i8, ptr %1, i64 24 - %21 = load ptr, ptr %20, align 8, !tbaa !1366 + %21 = load ptr, ptr %20, align 8, !tbaa !1364 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %14) #16 call void @_ZN5clang7CodeGen15CodeGenFunction24EmitPointerWithAlignmentEPKNS_4ExprEPNS0_14LValueBaseInfoEPNS0_14TBAAAccessInfoENS0_14KnownNonNull_tE(ptr dead_on_unwind nonnull writable sret(%"class.clang::CodeGen::Address") align 8 %14, ptr noundef nonnull align 8 dereferenceable(6496) %0, ptr noundef %21, ptr noundef null, ptr noundef null, i32 noundef 0) #16 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %15) #16 @@ -10118,12 +10110,12 @@ _ZN5clang7CodeGen11CGBuilderTy12CreateIsNullENS0_7AddressERKN4llvm5TwineE.exit: _ZN4llvm13IRBuilderBase12CreateCondBrEPNS_5ValueEPNS_10BasicBlockES4_PNS_6MDNodeES6_.exit: ; preds = %.lr.ph.i.i.i, %_ZN5clang7CodeGen11CGBuilderTy12CreateIsNullENS0_7AddressERKN4llvm5TwineE.exit call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %13) #16 call void @_ZN5clang7CodeGen15CodeGenFunction9EmitBlockEPN4llvm10BasicBlockEb(ptr noundef nonnull align 8 dereferenceable(6496) %0, ptr noundef nonnull %28, i1 noundef zeroext false) #16 - %.0.copyload.i.i.i.i = load i64, ptr %14, align 8, !noalias !1368 + %.0.copyload.i.i.i.i = load i64, ptr %14, align 8, !noalias !1366 %66 = or i64 %.0.copyload.i.i.i.i, 4 - store i64 %66, ptr %14, align 8, !noalias !1368 + store i64 %66, ptr %14, align 8, !noalias !1366 %67 = call i64 @_ZNK5clang13CXXDeleteExpr16getDestroyedTypeEv(ptr noundef nonnull align 8 dereferenceable(32) %1) #16 %68 = getelementptr inbounds nuw i8, ptr %1, i64 16 - %69 = load ptr, ptr %68, align 8, !tbaa !1371 + %69 = load ptr, ptr %68, align 8, !tbaa !1369 %70 = call noundef zeroext i1 @_ZNK5clang12FunctionDecl26isDestroyingOperatorDeleteEv(ptr noundef nonnull align 8 dereferenceable(168) %69) #16 br i1 %70, label %71, label %102 @@ -10165,7 +10157,7 @@ _ZNK5clang13CXXMethodDecl9isVirtualEv.exit.thread.i: ; preds = %_ZNK5clang13CXXM br label %_ZL26EmitDestroyingObjectDeleteRN5clang7CodeGen15CodeGenFunctionEPKNS_13CXXDeleteExprENS0_7AddressENS_8QualTypeE.exit 92: ; preds = %_ZNK5clang13CXXMethodDecl9isVirtualEv.exit.i, %71 - %93 = load ptr, ptr %68, align 8, !tbaa !1371 + %93 = load ptr, ptr %68, align 8, !tbaa !1369 %94 = getelementptr inbounds nuw i8, ptr %11, i64 24 %95 = load i8, ptr %94, align 8 %96 = and i8 %95, 3 @@ -10291,11 +10283,11 @@ _ZNK5clang10ASTContext22getAsConstantArrayTypeENS_8QualTypeE.exit: ; preds = %.l store i8 1, ptr %154, align 1, !tbaa !785 store ptr @.str.18, ptr %19, align 8, !tbaa !3 store i8 3, ptr %153, align 8, !tbaa !782 - call void @llvm.experimental.noalias.scope.decl(metadata !1372) + call void @llvm.experimental.noalias.scope.decl(metadata !1370) %.sroa.09.0.copyload.fr.i = freeze i64 %.sroa.061.0.copyload %155 = and i64 %.sroa.09.0.copyload.fr.i, -8 %156 = inttoptr i64 %155 to ptr - %157 = call noundef ptr @_ZN4llvm13IRBuilderBase9CreateGEPEPNS_4TypeEPNS_5ValueENS_8ArrayRefIS4_EERKNS_5TwineENS_14GEPNoWrapFlagsE(ptr noundef nonnull align 8 dereferenceable(160) %35, ptr noundef %.sroa.262.0.copyload, ptr noundef %156, ptr %149, i64 %151, ptr noundef nonnull align 8 dereferenceable(34) %19, i32 3), !noalias !1372 + %157 = call noundef ptr @_ZN4llvm13IRBuilderBase9CreateGEPEPNS_4TypeEPNS_5ValueENS_8ArrayRefIS4_EERKNS_5TwineENS_14GEPNoWrapFlagsE(ptr noundef nonnull align 8 dereferenceable(160) %35, ptr noundef %.sroa.262.0.copyload, ptr noundef %156, ptr %149, i64 %151, ptr noundef nonnull align 8 dereferenceable(34) %19, i32 3), !noalias !1370 %158 = and i64 %.sroa.09.0.copyload.fr.i, 4 %159 = ptrtoint ptr %157 to i64 %160 = and i64 %159, -8 @@ -10305,7 +10297,7 @@ _ZNK5clang10ASTContext22getAsConstantArrayTypeENS_8QualTypeE.exit: ; preds = %.l %.sink.i.i = select i1 %162, ptr %152, ptr null %storemerge.i.i = select i1 %162, i64 %.sroa.0.0.copyload.i34, i64 0 %.sroa.8.7..sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.8, i64 7 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(16) %.sroa.8.7..sroa_idx, i8 0, i64 16, i1 false), !alias.scope !1372 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(16) %.sroa.8.7..sroa_idx, i8 0, i64 16, i1 false), !alias.scope !1370 store i64 %.sink10.i.i, ptr %14, align 8, !tbaa !3 store ptr %.sink.i.i, ptr %.sroa.257.0..sroa_idx, align 8, !tbaa !326 store i64 %storemerge.i.i, ptr %.sroa.363.0..sroa_idx, align 8, !tbaa !313 @@ -10342,7 +10334,7 @@ _ZN4llvm11SmallVectorIPNS_5ValueELj8EED2Ev.exit: ; preds = %._crit_edge, %165 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #16 store ptr null, ptr %7, align 8, !tbaa !328 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #16 - store i64 0, ptr %8, align 8, !tbaa !1375 + store i64 0, ptr %8, align 8, !tbaa !1373 %170 = load ptr, ptr %24, align 8, !tbaa !40 %171 = getelementptr inbounds nuw i8, ptr %170, i64 224 %172 = load ptr, ptr %171, align 8, !tbaa !294 @@ -10350,7 +10342,7 @@ _ZN4llvm11SmallVectorIPNS_5ValueELj8EED2Ev.exit: ; preds = %._crit_edge, %165 %174 = getelementptr inbounds nuw i8, ptr %173, i64 672 %175 = load ptr, ptr %174, align 8 call void %175(ptr noundef nonnull align 8 dereferenceable(24) %172, ptr noundef nonnull align 8 dereferenceable(6496) %0, ptr noundef nonnull byval(%"class.clang::CodeGen::Address") align 8 %14, ptr noundef nonnull %1, i64 %.sroa.047.0, ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 8 dereferenceable(8) %7, ptr noundef nonnull align 8 dereferenceable(8) %8) #16 - %176 = load ptr, ptr %68, align 8, !tbaa !1371 + %176 = load ptr, ptr %68, align 8, !tbaa !1369 %177 = getelementptr inbounds nuw i8, ptr %0, i64 2224 %178 = load ptr, ptr %7, align 8, !tbaa !328 %179 = load ptr, ptr %6, align 8, !tbaa !328 @@ -10358,11 +10350,11 @@ _ZN4llvm11SmallVectorIPNS_5ValueELj8EED2Ev.exit: ; preds = %._crit_edge, %165 %180 = call noundef ptr @_ZN5clang7CodeGen12EHScopeStack11pushCleanupENS0_11CleanupKindEm(ptr noundef nonnull align 8 dereferenceable(320) %177, i32 noundef 3, i64 noundef 48) #16 store ptr getelementptr inbounds nuw inrange(-16, 24) (i8, ptr @_ZTVN12_GLOBAL__N_115CallArrayDeleteE, i64 16), ptr %180, align 8, !tbaa !296 %181 = getelementptr inbounds nuw i8, ptr %180, i64 8 - store ptr %178, ptr %181, align 8, !tbaa !1376 + store ptr %178, ptr %181, align 8, !tbaa !1374 %182 = getelementptr inbounds nuw i8, ptr %180, i64 16 - store ptr %176, ptr %182, align 8, !tbaa !1378 + store ptr %176, ptr %182, align 8, !tbaa !1376 %183 = getelementptr inbounds nuw i8, ptr %180, i64 24 - store ptr %179, ptr %183, align 8, !tbaa !1379 + store ptr %179, ptr %183, align 8, !tbaa !1377 %184 = getelementptr inbounds nuw i8, ptr %180, i64 32 store i64 %.sroa.047.0, ptr %184, align 8, !tbaa !3 %185 = getelementptr inbounds nuw i8, ptr %180, i64 40 @@ -10485,7 +10477,7 @@ _ZNK5clang7CodeGen7Address14emitRawPointerERNS0_15CodeGenFunctionE.exit.i.i: ; p _ZN5clang7CodeGen15CodeGenFunction13EmitTypeCheckENS1_13TypeCheckKindENS_14SourceLocationENS0_7AddressENS_8QualTypeENS_9CharUnitsENS_12SanitizerSetEPN4llvm5ValueE.exit.i: ; preds = %_ZNK5clang7CodeGen7Address14emitRawPointerERNS0_15CodeGenFunctionE.exit.i.i, %225 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %4) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %3) - %237 = load ptr, ptr %68, align 8, !tbaa !1371 + %237 = load ptr, ptr %68, align 8, !tbaa !1369 %238 = and i64 %.sroa.047.0, -16 %239 = inttoptr i64 %238 to ptr %240 = load ptr, ptr %239, align 16, !tbaa !6 @@ -10546,7 +10538,7 @@ _ZNK5clang13CXXMethodDecl9isVirtualEv.exit.i43: ; preds = %264 br i1 %.not101.i, label %_ZN5clang18declaresSameEntityEPKNS_4DeclES2_.exit.thread.i, label %_ZNK5clang13CXXMethodDecl9isVirtualEv.exit.thread.i42 _ZNK5clang13CXXMethodDecl9isVirtualEv.exit.thread.i42: ; preds = %_ZNK5clang13CXXMethodDecl9isVirtualEv.exit.i43, %264 - %274 = load ptr, ptr %20, align 8, !tbaa !1366 + %274 = load ptr, ptr %20, align 8, !tbaa !1364 %275 = load ptr, ptr %24, align 8, !tbaa !40 %276 = getelementptr inbounds nuw i8, ptr %275, i64 152 %277 = load ptr, ptr %276, align 8, !tbaa !666 @@ -10681,9 +10673,9 @@ _ZNK5clang7CodeGen7Address14emitRawPointerERNS0_15CodeGenFunctionE.exit.i40: ; p %348 = call noundef ptr @_ZN5clang7CodeGen12EHScopeStack11pushCleanupENS0_11CleanupKindEm(ptr noundef nonnull align 8 dereferenceable(320) %339, i32 noundef 3, i64 noundef 32) #16 store ptr getelementptr inbounds nuw inrange(-16, 24) (i8, ptr @_ZTVN12_GLOBAL__N_116CallObjectDeleteE, i64 16), ptr %348, align 8, !tbaa !296 %349 = getelementptr inbounds nuw i8, ptr %348, i64 8 - store ptr %.0.i71.i, ptr %349, align 8, !tbaa !1363 + store ptr %.0.i71.i, ptr %349, align 8, !tbaa !1361 %350 = getelementptr inbounds nuw i8, ptr %348, i64 16 - store ptr %237, ptr %350, align 8, !tbaa !1365 + store ptr %237, ptr %350, align 8, !tbaa !1363 %351 = getelementptr inbounds nuw i8, ptr %348, i64 24 store i64 %.sroa.047.0, ptr %351, align 8, !tbaa !3 %.not62.i = icmp eq ptr %.553.ph.i, null @@ -11044,10 +11036,10 @@ define dso_local noundef ptr @_ZN5clang7CodeGen15CodeGenFunction15EmitDynamicCas %15 = load ptr, ptr %14, align 8, !tbaa !40 tail call void @_ZN5clang7CodeGen13CodeGenModule24EmitExplicitCastExprTypeEPKNS_16ExplicitCastExprEPNS0_15CodeGenFunctionE(ptr noundef nonnull align 8 dereferenceable(3608) %15, ptr noundef %2, ptr noundef nonnull %0) #16 %16 = getelementptr inbounds nuw i8, ptr %2, i64 24 - %17 = load ptr, ptr %16, align 8, !tbaa !1380 + %17 = load ptr, ptr %16, align 8, !tbaa !1378 %.sroa.0.0.copyload.i.i = load i64, ptr %17, align 8, !tbaa !3 %18 = getelementptr inbounds nuw i8, ptr %2, i64 16 - %19 = load ptr, ptr %18, align 8, !tbaa !1383 + %19 = load ptr, ptr %18, align 8, !tbaa !1381 %20 = getelementptr inbounds nuw i8, ptr %19, i64 8 %.sroa.0.0.copyload.i = load i64, ptr %20, align 8, !tbaa !3 %21 = and i64 %.sroa.0.0.copyload.i.i, -16 @@ -11156,7 +11148,7 @@ _ZNK5clang4Type6castAsINS_13ReferenceTypeEEEPKT_v.exit.i: ; preds = %67, %.lr.ph %70 = load i24, ptr %69, align 16 %71 = and i24 %70, 1048576 %.not.i75 = icmp eq i24 %71, 0 - br i1 %.not.i75, label %_ZNK5clang13ReferenceType14getPointeeTypeEv.exit, label %.lr.ph.i, !llvm.loop !1384 + br i1 %.not.i75, label %_ZNK5clang13ReferenceType14getPointeeTypeEv.exit, label %.lr.ph.i, !llvm.loop !1382 _ZNK5clang13ReferenceType14getPointeeTypeEv.exit: ; preds = %_ZNK5clang4Type6castAsINS_13ReferenceTypeEEEPKT_v.exit.i, %_ZNK5clang4Type6castAsINS_13ReferenceTypeEEEPKT_v.exit %.0.lcssa.i = phi ptr [ %.1.i74, %_ZNK5clang4Type6castAsINS_13ReferenceTypeEEEPKT_v.exit ], [ %.1.i.i, %_ZNK5clang4Type6castAsINS_13ReferenceTypeEEEPKT_v.exit.i ] @@ -11804,11 +11796,11 @@ _ZN4llvm15SmallVectorImplIN5clang7CodeGen7CallArgEE7reserveEm.exit.i45: ; preds .lr.ph.i.i.i.i.i: ; preds = %.lr.ph.i.i.i.i.i, %.lr.ph.i.i.i.i.preheader.i %.09.i.i.i.i.i = phi ptr [ %60, %.lr.ph.i.i.i.i.i ], [ %58, %.lr.ph.i.i.i.i.preheader.i ] %.sroa.04.08.i.i.i.i.i = phi ptr [ %59, %.lr.ph.i.i.i.i.i ], [ %49, %.lr.ph.i.i.i.i.preheader.i ] - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(152) %.09.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(152) %.sroa.04.08.i.i.i.i.i, i64 152, i1 false), !tbaa.struct !1385 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(152) %.09.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(152) %.sroa.04.08.i.i.i.i.i, i64 152, i1 false), !tbaa.struct !1383 %59 = getelementptr inbounds nuw i8, ptr %.sroa.04.08.i.i.i.i.i, i64 152 %60 = getelementptr inbounds nuw i8, ptr %.09.i.i.i.i.i, i64 152 %.not.i.i.i.i.i = icmp eq ptr %59, %46 - br i1 %.not.i.i.i.i.i, label %_ZN4llvm23SmallVectorTemplateBaseIN5clang7CodeGen7CallArgELb1EE18uninitialized_copyISt13move_iteratorIPS3_ES7_EEvT_S9_T0_.exit.loopexit.i, label %.lr.ph.i.i.i.i.i, !llvm.loop !1386 + br i1 %.not.i.i.i.i.i, label %_ZN4llvm23SmallVectorTemplateBaseIN5clang7CodeGen7CallArgELb1EE18uninitialized_copyISt13move_iteratorIPS3_ES7_EEvT_S9_T0_.exit.loopexit.i, label %.lr.ph.i.i.i.i.i, !llvm.loop !1384 _ZN4llvm23SmallVectorTemplateBaseIN5clang7CodeGen7CallArgELb1EE18uninitialized_copyISt13move_iteratorIPS3_ES7_EEvT_S9_T0_.exit.loopexit.i: ; preds = %.lr.ph.i.i.i.i.i %.pre9.i = load i32, ptr %9, align 8, !tbaa !16 @@ -11867,12 +11859,12 @@ _ZSt13move_backwardIPN5clang7CodeGen7CallArgES3_ET0_T_S5_S4_.exit: ; preds = %_Z %.060 = phi ptr [ %78, %.lr.ph ], [ %45, %.lr.ph.preheader ] %.04059 = phi i64 [ %80, %.lr.ph ], [ %47, %.lr.ph.preheader ] %.04258 = phi ptr [ %79, %.lr.ph ], [ %2, %.lr.ph.preheader ] - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(152) %.060, ptr noundef nonnull align 8 dereferenceable(152) %.04258, i64 152, i1 false), !tbaa.struct !1385 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(152) %.060, ptr noundef nonnull align 8 dereferenceable(152) %.04258, i64 152, i1 false), !tbaa.struct !1383 %78 = getelementptr inbounds nuw i8, ptr %.060, i64 152 %79 = getelementptr inbounds nuw i8, ptr %.04258, i64 152 %80 = add i64 %.04059, -1 %.not44 = icmp eq i64 %80, 0 - br i1 %.not44, label %._crit_edge, label %.lr.ph, !llvm.loop !1387 + br i1 %.not44, label %._crit_edge, label %.lr.ph, !llvm.loop !1385 _ZSt4copyIPKN5clang7CodeGen7CallArgEPS2_ET0_T_S7_S6_.exit: ; preds = %75, %._crit_edge, %67, %_ZSt13move_backwardIPN5clang7CodeGen7CallArgES3_ET0_T_S5_S4_.exit, %_ZN4llvm15SmallVectorImplIN5clang7CodeGen7CallArgEE6appendIPKS3_vEEvT_S8_.exit %.041 = phi ptr [ %33, %_ZN4llvm15SmallVectorImplIN5clang7CodeGen7CallArgEE6appendIPKS3_vEEvT_S8_.exit ], [ %45, %_ZSt13move_backwardIPN5clang7CodeGen7CallArgES3_ET0_T_S5_S4_.exit ], [ %45, %67 ], [ %45, %._crit_edge ], [ %45, %75 ] @@ -11993,11 +11985,11 @@ _ZN4llvm15SmallVectorImplIN5clang7CodeGen11CallArgList9WritebackEE7reserveEm.exi .lr.ph.i.i.i.i.i: ; preds = %.lr.ph.i.i.i.i.i, %.lr.ph.i.i.i.i.preheader.i %.09.i.i.i.i.i = phi ptr [ %60, %.lr.ph.i.i.i.i.i ], [ %58, %.lr.ph.i.i.i.i.preheader.i ] %.sroa.04.08.i.i.i.i.i = phi ptr [ %59, %.lr.ph.i.i.i.i.i ], [ %49, %.lr.ph.i.i.i.i.preheader.i ] - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(208) %.09.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(208) %.sroa.04.08.i.i.i.i.i, i64 208, i1 false), !tbaa.struct !1388 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(208) %.09.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(208) %.sroa.04.08.i.i.i.i.i, i64 208, i1 false), !tbaa.struct !1386 %59 = getelementptr inbounds nuw i8, ptr %.sroa.04.08.i.i.i.i.i, i64 208 %60 = getelementptr inbounds nuw i8, ptr %.09.i.i.i.i.i, i64 208 %.not.i.i.i.i.i = icmp eq ptr %59, %46 - br i1 %.not.i.i.i.i.i, label %_ZN4llvm23SmallVectorTemplateBaseIN5clang7CodeGen11CallArgList9WritebackELb1EE18uninitialized_copyISt13move_iteratorIPS4_ES8_EEvT_SA_T0_.exit.loopexit.i, label %.lr.ph.i.i.i.i.i, !llvm.loop !1389 + br i1 %.not.i.i.i.i.i, label %_ZN4llvm23SmallVectorTemplateBaseIN5clang7CodeGen11CallArgList9WritebackELb1EE18uninitialized_copyISt13move_iteratorIPS4_ES8_EEvT_SA_T0_.exit.loopexit.i, label %.lr.ph.i.i.i.i.i, !llvm.loop !1387 _ZN4llvm23SmallVectorTemplateBaseIN5clang7CodeGen11CallArgList9WritebackELb1EE18uninitialized_copyISt13move_iteratorIPS4_ES8_EEvT_SA_T0_.exit.loopexit.i: ; preds = %.lr.ph.i.i.i.i.i %.pre9.i = load i32, ptr %9, align 8, !tbaa !16 @@ -12056,12 +12048,12 @@ _ZSt13move_backwardIPN5clang7CodeGen11CallArgList9WritebackES4_ET0_T_S6_S5_.exit %.060 = phi ptr [ %78, %.lr.ph ], [ %45, %.lr.ph.preheader ] %.04059 = phi i64 [ %80, %.lr.ph ], [ %47, %.lr.ph.preheader ] %.04258 = phi ptr [ %79, %.lr.ph ], [ %2, %.lr.ph.preheader ] - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(208) %.060, ptr noundef nonnull align 8 dereferenceable(208) %.04258, i64 208, i1 false), !tbaa.struct !1388 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(208) %.060, ptr noundef nonnull align 8 dereferenceable(208) %.04258, i64 208, i1 false), !tbaa.struct !1386 %78 = getelementptr inbounds nuw i8, ptr %.060, i64 208 %79 = getelementptr inbounds nuw i8, ptr %.04258, i64 208 %80 = add i64 %.04059, -1 %.not44 = icmp eq i64 %80, 0 - br i1 %.not44, label %._crit_edge, label %.lr.ph, !llvm.loop !1390 + br i1 %.not44, label %._crit_edge, label %.lr.ph, !llvm.loop !1388 _ZSt4copyIPKN5clang7CodeGen11CallArgList9WritebackEPS3_ET0_T_S8_S7_.exit: ; preds = %75, %._crit_edge, %67, %_ZSt13move_backwardIPN5clang7CodeGen11CallArgList9WritebackES4_ET0_T_S6_S5_.exit, %_ZN4llvm15SmallVectorImplIN5clang7CodeGen11CallArgList9WritebackEE6appendIPKS4_vEEvT_S9_.exit %.041 = phi ptr [ %33, %_ZN4llvm15SmallVectorImplIN5clang7CodeGen11CallArgList9WritebackEE6appendIPKS4_vEEvT_S9_.exit ], [ %45, %_ZSt13move_backwardIPN5clang7CodeGen11CallArgList9WritebackES4_ET0_T_S6_S5_.exit ], [ %45, %67 ], [ %45, %._crit_edge ], [ %45, %75 ] @@ -12182,11 +12174,11 @@ _ZN4llvm15SmallVectorImplIN5clang7CodeGen11CallArgList14CallArgCleanupEE7reserve .lr.ph.i.i.i.i.i: ; preds = %.lr.ph.i.i.i.i.i, %.lr.ph.i.i.i.i.preheader.i %.09.i.i.i.i.i = phi ptr [ %60, %.lr.ph.i.i.i.i.i ], [ %58, %.lr.ph.i.i.i.i.preheader.i ] %.sroa.04.08.i.i.i.i.i = phi ptr [ %59, %.lr.ph.i.i.i.i.i ], [ %49, %.lr.ph.i.i.i.i.preheader.i ] - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.09.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.04.08.i.i.i.i.i, i64 16, i1 false), !tbaa.struct !1391 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.09.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.04.08.i.i.i.i.i, i64 16, i1 false), !tbaa.struct !1389 %59 = getelementptr inbounds nuw i8, ptr %.sroa.04.08.i.i.i.i.i, i64 16 %60 = getelementptr inbounds nuw i8, ptr %.09.i.i.i.i.i, i64 16 %.not.i.i.i.i.i = icmp eq ptr %59, %46 - br i1 %.not.i.i.i.i.i, label %_ZN4llvm23SmallVectorTemplateBaseIN5clang7CodeGen11CallArgList14CallArgCleanupELb1EE18uninitialized_copyISt13move_iteratorIPS4_ES8_EEvT_SA_T0_.exit.loopexit.i, label %.lr.ph.i.i.i.i.i, !llvm.loop !1393 + br i1 %.not.i.i.i.i.i, label %_ZN4llvm23SmallVectorTemplateBaseIN5clang7CodeGen11CallArgList14CallArgCleanupELb1EE18uninitialized_copyISt13move_iteratorIPS4_ES8_EEvT_SA_T0_.exit.loopexit.i, label %.lr.ph.i.i.i.i.i, !llvm.loop !1391 _ZN4llvm23SmallVectorTemplateBaseIN5clang7CodeGen11CallArgList14CallArgCleanupELb1EE18uninitialized_copyISt13move_iteratorIPS4_ES8_EEvT_SA_T0_.exit.loopexit.i: ; preds = %.lr.ph.i.i.i.i.i %.pre9.i = load i32, ptr %9, align 8, !tbaa !16 @@ -12246,12 +12238,12 @@ _ZSt13move_backwardIPN5clang7CodeGen11CallArgList14CallArgCleanupES4_ET0_T_S6_S5 %.060 = phi ptr [ %80, %.lr.ph ], [ %45, %.lr.ph.preheader ] %.04059 = phi i64 [ %82, %.lr.ph ], [ %47, %.lr.ph.preheader ] %.04258 = phi ptr [ %81, %.lr.ph ], [ %2, %.lr.ph.preheader ] - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.060, ptr noundef nonnull align 8 dereferenceable(16) %.04258, i64 16, i1 false), !tbaa.struct !1391 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.060, ptr noundef nonnull align 8 dereferenceable(16) %.04258, i64 16, i1 false), !tbaa.struct !1389 %80 = getelementptr inbounds nuw i8, ptr %.060, i64 16 %81 = getelementptr inbounds nuw i8, ptr %.04258, i64 16 %82 = add i64 %.04059, -1 %.not44 = icmp eq i64 %82, 0 - br i1 %.not44, label %._crit_edge, label %.lr.ph, !llvm.loop !1394 + br i1 %.not44, label %._crit_edge, label %.lr.ph, !llvm.loop !1392 _ZSt4copyIPKN5clang7CodeGen11CallArgList14CallArgCleanupEPS3_ET0_T_S8_S7_.exit: ; preds = %77, %._crit_edge, %69, %_ZSt13move_backwardIPN5clang7CodeGen11CallArgList14CallArgCleanupES4_ET0_T_S6_S5_.exit, %_ZN4llvm15SmallVectorImplIN5clang7CodeGen11CallArgList14CallArgCleanupEE6appendIPKS4_vEEvT_S9_.exit %.041 = phi ptr [ %33, %_ZN4llvm15SmallVectorImplIN5clang7CodeGen11CallArgList14CallArgCleanupEE6appendIPKS4_vEEvT_S9_.exit ], [ %45, %_ZSt13move_backwardIPN5clang7CodeGen11CallArgList14CallArgCleanupES4_ET0_T_S6_S5_.exit ], [ %45, %69 ], [ %45, %._crit_edge ], [ %45, %77 ] @@ -12493,23 +12485,23 @@ define linkonce_odr hidden noundef ptr @_ZNK5clang12RedeclarableINS_7TagDeclEE8D 10: ; preds = %6 %11 = getelementptr inbounds nuw i8, ptr %9, i64 18200 - %12 = load ptr, ptr %11, align 8, !tbaa !1395 + %12 = load ptr, ptr %11, align 8, !tbaa !1393 %.not.not.i.i = icmp eq ptr %12, null br i1 %.not.not.i.i, label %38, label %13 13: ; preds = %10 %14 = getelementptr inbounds nuw i8, ptr %9, i64 2192 %15 = getelementptr inbounds nuw i8, ptr %9, i64 2272 - %16 = load i64, ptr %15, align 8, !tbaa !1396 + %16 = load i64, ptr %15, align 8, !tbaa !1394 %17 = add i64 %16, 24 - store i64 %17, ptr %15, align 8, !tbaa !1396 - %18 = load ptr, ptr %14, align 8, !tbaa !1397 + store i64 %17, ptr %15, align 8, !tbaa !1394 + %18 = load ptr, ptr %14, align 8, !tbaa !1395 %19 = ptrtoint ptr %18 to i64 %20 = add i64 %19, 7 %21 = and i64 %20, -8 %22 = add i64 %21, 24 %23 = getelementptr inbounds nuw i8, ptr %9, i64 2200 - %24 = load ptr, ptr %23, align 8, !tbaa !1398 + %24 = load ptr, ptr %23, align 8, !tbaa !1396 %25 = ptrtoint ptr %24 to i64 %.not.i.i.i.i.i.i = icmp ule i64 %22, %25 %26 = icmp ne ptr %18, null @@ -12518,7 +12510,7 @@ define linkonce_odr hidden noundef ptr @_ZNK5clang12RedeclarableINS_7TagDeclEE8D 28: ; preds = %13 %29 = inttoptr i64 %22 to ptr - store ptr %29, ptr %14, align 8, !tbaa !1397 + store ptr %29, ptr %14, align 8, !tbaa !1395 %30 = inttoptr i64 %21 to ptr br label %33 @@ -12528,11 +12520,11 @@ define linkonce_odr hidden noundef ptr @_ZNK5clang12RedeclarableINS_7TagDeclEE8D 33: ; preds = %31, %28 %.0.i.i.i.i.i.i = phi ptr [ %30, %28 ], [ %32, %31 ] - store ptr %12, ptr %.0.i.i.i.i.i.i, align 8, !tbaa !1399 + store ptr %12, ptr %.0.i.i.i.i.i.i, align 8, !tbaa !1397 %34 = getelementptr inbounds nuw i8, ptr %.0.i.i.i.i.i.i, i64 8 - store i32 0, ptr %34, align 8, !tbaa !1401 + store i32 0, ptr %34, align 8, !tbaa !1399 %35 = getelementptr inbounds nuw i8, ptr %.0.i.i.i.i.i.i, i64 16 - store ptr %1, ptr %35, align 8, !tbaa !1402 + store ptr %1, ptr %35, align 8, !tbaa !1400 %36 = ptrtoint ptr %.0.i.i.i.i.i.i to i64 %37 = or i64 %36, 4 br label %_ZN5clang25LazyGenerationalUpdatePtrIPKNS_4DeclEPS1_XadL_ZNS_17ExternalASTSource19CompleteRedeclChainES3_EEEC2ERKNS_10ASTContextES4_.exit @@ -12560,15 +12552,15 @@ _ZN5clang25LazyGenerationalUpdatePtrIPKNS_4DeclEPS1_XadL_ZNS_17ExternalASTSource 46: ; preds = %42 %47 = getelementptr inbounds nuw i8, ptr %45, i64 8 - %48 = load i32, ptr %47, align 8, !tbaa !1401 - %49 = load ptr, ptr %45, align 8, !tbaa !1399 + %48 = load i32, ptr %47, align 8, !tbaa !1399 + %49 = load ptr, ptr %45, align 8, !tbaa !1397 %50 = getelementptr inbounds nuw i8, ptr %49, i64 12 - %51 = load i32, ptr %50, align 4, !tbaa !1403 + %51 = load i32, ptr %50, align 4, !tbaa !1401 %.not12.i = icmp eq i32 %48, %51 br i1 %.not12.i, label %56, label %52 52: ; preds = %46 - store i32 %51, ptr %47, align 8, !tbaa !1401 + store i32 %51, ptr %47, align 8, !tbaa !1399 %53 = load ptr, ptr %49, align 8, !tbaa !296 %54 = getelementptr i8, ptr %53, i64 144, !nosanitize !814 %55 = load ptr, ptr %54, align 8, !nosanitize !814 @@ -12577,7 +12569,7 @@ _ZN5clang25LazyGenerationalUpdatePtrIPKNS_4DeclEPS1_XadL_ZNS_17ExternalASTSource 56: ; preds = %52, %46 %57 = getelementptr inbounds nuw i8, ptr %45, i64 16 - %58 = load ptr, ptr %57, align 8, !tbaa !1402 + %58 = load ptr, ptr %57, align 8, !tbaa !1400 br label %_ZN5clang25LazyGenerationalUpdatePtrIPKNS_4DeclEPS1_XadL_ZNS_17ExternalASTSource19CompleteRedeclChainES3_EEE3getES3_.exit _ZN5clang25LazyGenerationalUpdatePtrIPKNS_4DeclEPS1_XadL_ZNS_17ExternalASTSource19CompleteRedeclChainES3_EEE3getES3_.exit: ; preds = %56, %42, %6 @@ -12665,13 +12657,13 @@ _ZN4llvm20BumpPtrAllocatorImplINS_15MallocAllocatorELm4096ELm4096ELm128EE12Start store i32 %53, ptr %34, align 8, !tbaa !16 %54 = getelementptr inbounds nuw i8, ptr %39, i64 %38 %55 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store ptr %54, ptr %55, align 8, !tbaa !1398 + store ptr %54, ptr %55, align 8, !tbaa !1396 %56 = add i64 %7, %51 %57 = sub i64 0, %6 %58 = and i64 %56, %57 %59 = inttoptr i64 %58 to ptr %60 = getelementptr inbounds nuw i8, ptr %59, i64 %2 - store ptr %60, ptr %0, align 8, !tbaa !1397 + store ptr %60, ptr %0, align 8, !tbaa !1395 br label %61 61: ; preds = %_ZN4llvm20BumpPtrAllocatorImplINS_15MallocAllocatorELm4096ELm4096ELm128EE12StartNewSlabEv.exit, %_ZN4llvm23SmallVectorTemplateBaseISt4pairIPvmELb1EE9push_backES3_.exit @@ -12782,7 +12774,7 @@ define linkonce_odr hidden { i64, i8 } @_ZNK4llvm10DataLayout17getTypeSizeInBits 5: ; preds = %2 %6 = tail call noundef nonnull align 4 dereferenceable(17) ptr @_ZNK4llvm10DataLayout14getPointerSpecEj(ptr noundef nonnull align 8 dereferenceable(496) %0, i32 noundef 0) #16 %7 = getelementptr inbounds nuw i8, ptr %6, i64 4 - %8 = load i32, ptr %7, align 4, !tbaa !1406 + %8 = load i32, ptr %7, align 4, !tbaa !1404 %9 = zext i32 %8 to i64 br label %58 @@ -12790,15 +12782,15 @@ _ZNK4llvm4Type22getPointerAddressSpaceEv.exit: ; preds = %2 %10 = lshr i32 %4, 8 %11 = tail call noundef nonnull align 4 dereferenceable(17) ptr @_ZNK4llvm10DataLayout14getPointerSpecEj(ptr noundef nonnull align 8 dereferenceable(496) %0, i32 noundef %10) #16 %12 = getelementptr inbounds nuw i8, ptr %11, i64 4 - %13 = load i32, ptr %12, align 4, !tbaa !1406 + %13 = load i32, ptr %12, align 4, !tbaa !1404 %14 = zext i32 %13 to i64 br label %58 15: ; preds = %2 %16 = getelementptr inbounds nuw i8, ptr %1, i64 32 - %17 = load i64, ptr %16, align 8, !tbaa !1409 + %17 = load i64, ptr %16, align 8, !tbaa !1407 %18 = getelementptr inbounds nuw i8, ptr %1, i64 24 - %19 = load ptr, ptr %18, align 8, !tbaa !1414 + %19 = load ptr, ptr %18, align 8, !tbaa !1412 %20 = tail call { i64, i8 } @_ZNK4llvm10DataLayout17getTypeSizeInBitsEPNS_4TypeE(ptr noundef nonnull align 8 dereferenceable(496) %0, ptr noundef %19) %.fca.0.extract.i13.i = extractvalue { i64, i8 } %20, 0 %.fca.1.extract.i14.i = extractvalue { i64, i8 } %20, 1 @@ -12847,11 +12839,11 @@ _ZNK4llvm4Type22getPointerAddressSpaceEv.exit: ; preds = %2 43: ; preds = %2, %2 %44 = and i32 %4, 255 %45 = getelementptr inbounds nuw i8, ptr %1, i64 32 - %46 = load i32, ptr %45, align 8, !tbaa !1415 + %46 = load i32, ptr %45, align 8, !tbaa !1413 %47 = icmp eq i32 %44, 18 %48 = zext i32 %46 to i64 %49 = getelementptr inbounds nuw i8, ptr %1, i64 24 - %50 = load ptr, ptr %49, align 8, !tbaa !1417 + %50 = load ptr, ptr %49, align 8, !tbaa !1415 %51 = tail call { i64, i8 } @_ZNK4llvm10DataLayout17getTypeSizeInBitsEPNS_4TypeE(ptr noundef nonnull align 8 dereferenceable(496) %0, ptr noundef %50) %.fca.0.extract1 = extractvalue { i64, i8 } %51, 0 %52 = mul i64 %.fca.0.extract1, %48 @@ -13065,7 +13057,7 @@ define linkonce_odr hidden noundef ptr @_ZN4llvm17GetElementPtrInst6CreateEPNS_4 27: ; preds = %.lr.ph.i.i %28 = getelementptr inbounds nuw i8, ptr %22, i64 32 - %29 = load i32, ptr %28, align 8, !tbaa !1415 + %29 = load i32, ptr %28, align 8, !tbaa !1413 %30 = icmp eq i32 %25, 18 %.sroa.2.0.insert.shift.i.i.i.i = select i1 %30, i64 4294967296, i64 0 %.sroa.0.0.insert.ext.i.i.i.i = zext i32 %29 to i64 @@ -13078,10 +13070,10 @@ _ZN4llvm17GetElementPtrInstC2EPNS_4TypeEPNS_5ValueENS_8ArrayRefIS4_EENS_4User9Al %32 = and i32 %8, 134217727 tail call void @_ZN4llvm11InstructionC2EPNS_4TypeEjNS_4User9AllocInfoENS_14InsertPositionE(ptr noundef nonnull align 8 dereferenceable(88) %9, ptr noundef %.0.i.i, i32 noundef 34, i32 %32, ptr %.sroa.0.sroa.0.0.copyload, i64 %.sroa.0.sroa.2.0.copyload) #16 %33 = getelementptr inbounds nuw i8, ptr %9, i64 72 - store ptr %0, ptr %33, align 8, !tbaa !1418 + store ptr %0, ptr %33, align 8, !tbaa !1416 %34 = getelementptr inbounds nuw i8, ptr %9, i64 80 %35 = tail call noundef ptr @_ZN4llvm17GetElementPtrInst14getIndexedTypeEPNS_4TypeENS_8ArrayRefIPNS_5ValueEEE(ptr noundef %0, ptr %2, i64 %3) #16 - store ptr %35, ptr %34, align 8, !tbaa !1420 + store ptr %35, ptr %34, align 8, !tbaa !1418 tail call void @_ZN4llvm17GetElementPtrInst4initEPNS_5ValueENS_8ArrayRefIS2_EERKNS_5TwineE(ptr noundef nonnull align 8 dereferenceable(88) %9, ptr noundef %1, ptr %2, i64 %3, ptr noundef nonnull align 8 dereferenceable(34) %4) #16 ret ptr %9 } @@ -13134,13 +13126,13 @@ define linkonce_odr hidden noundef ptr @_ZN4llvm13IRBuilderBase10CreateICmpENS_7 %spec.select.i.i.i.i.i.i.i.i.i.i = icmp ult i32 %22, -2 %.not.not10.i.i = icmp eq ptr %18, null %.not.not.i.i = or i1 %.not.not10.i.i, %spec.select.i.i.i.i.i.i.i.i.i.i - %23 = load ptr, ptr %18, align 8, !tbaa !1421 + %23 = load ptr, ptr %18, align 8, !tbaa !1419 %24 = tail call noundef ptr @_ZN4llvm4Type9getInt1TyERNS_11LLVMContextE(ptr noundef nonnull align 8 dereferenceable(8) %23) #16 br i1 %.not.not.i.i, label %_ZN4llvm8ICmpInstC2ENS_7CmpInst9PredicateEPNS_5ValueES4_RKNS_5TwineE.exit, label %25 25: ; preds = %14 %26 = getelementptr inbounds nuw i8, ptr %18, i64 32 - %27 = load i32, ptr %26, align 8, !tbaa !1415 + %27 = load i32, ptr %26, align 8, !tbaa !1413 %28 = load i32, ptr %19, align 8 %29 = and i32 %28, 255 %30 = icmp eq i32 %29, 18 @@ -13236,7 +13228,7 @@ define linkonce_odr hidden noundef zeroext i1 @_ZN4llvm14FPMathOperator7classofE 12: ; preds = %5 %13 = getelementptr inbounds nuw i8, ptr %7, i64 16 - %14 = load ptr, ptr %13, align 8, !tbaa !1422 + %14 = load ptr, ptr %13, align 8, !tbaa !1420 %15 = load ptr, ptr %14, align 8, !tbaa !326 %.phi.trans.insert.i.i = getelementptr inbounds nuw i8, ptr %15, i64 8 %.pre.i.i = load i32, ptr %.phi.trans.insert.i.i, align 8 @@ -13272,7 +13264,7 @@ _ZNK4llvm4Type13getScalarTypeEv.exit.i.i: ; preds = %12, %5 24: ; preds = %22 %25 = getelementptr inbounds nuw i8, ptr %7, i64 16 - %26 = load ptr, ptr %25, align 8, !tbaa !1422 + %26 = load ptr, ptr %25, align 8, !tbaa !1420 %27 = load ptr, ptr %26, align 8, !tbaa !326 %.phi.trans.insert.i2.i = getelementptr inbounds nuw i8, ptr %27, i64 8 %.pre.i3.i = load i32, ptr %.phi.trans.insert.i2.i, align 8 @@ -13282,14 +13274,14 @@ _ZNK4llvm4Type13getScalarTypeEv.exit.i.i: ; preds = %12, %5 .preheader.i.i: ; preds = %19, %.preheader.i.i %.0.i.i = phi ptr [ %29, %.preheader.i.i ], [ %7, %19 ] %28 = getelementptr inbounds nuw i8, ptr %.0.i.i, i64 24 - %29 = load ptr, ptr %28, align 8, !tbaa !1414 + %29 = load ptr, ptr %28, align 8, !tbaa !1412 %30 = getelementptr inbounds nuw i8, ptr %29, i64 8 %31 = load i32, ptr %30, align 8 %32 = and i32 %31, 255 %33 = icmp ne i32 %32, 16 %.not1829.i.i = icmp eq ptr %29, null %.not18.i.i = or i1 %.not1829.i.i, %33 - br i1 %.not18.i.i, label %.loopexit.i.i, label %.preheader.i.i, !llvm.loop !1423 + br i1 %.not18.i.i, label %.loopexit.i.i, label %.preheader.i.i, !llvm.loop !1421 .loopexit.i.i: ; preds = %.preheader.i.i, %24, %19 %.pre-phi.i.i = phi i32 [ %.pre30.i.i, %24 ], [ %10, %19 ], [ %32, %.preheader.i.i ] @@ -13301,7 +13293,7 @@ _ZNK4llvm4Type13getScalarTypeEv.exit.i.i: ; preds = %12, %5 36: ; preds = %.loopexit.i.i %37 = getelementptr inbounds nuw i8, ptr %.013.ph.i.i, i64 16 - %38 = load ptr, ptr %37, align 8, !tbaa !1422 + %38 = load ptr, ptr %37, align 8, !tbaa !1420 %39 = load ptr, ptr %38, align 8, !tbaa !326 %.phi.trans.insert.i.i.i = getelementptr inbounds nuw i8, ptr %39, i64 8 %.pre.i.i.i = load i32, ptr %.phi.trans.insert.i.i.i, align 8 @@ -13356,23 +13348,23 @@ define linkonce_odr hidden noundef ptr @_ZNK5clang12RedeclarableINS_19Translatio 10: ; preds = %6 %11 = getelementptr inbounds nuw i8, ptr %9, i64 18200 - %12 = load ptr, ptr %11, align 8, !tbaa !1395 + %12 = load ptr, ptr %11, align 8, !tbaa !1393 %.not.not.i.i = icmp eq ptr %12, null br i1 %.not.not.i.i, label %38, label %13 13: ; preds = %10 %14 = getelementptr inbounds nuw i8, ptr %9, i64 2192 %15 = getelementptr inbounds nuw i8, ptr %9, i64 2272 - %16 = load i64, ptr %15, align 8, !tbaa !1396 + %16 = load i64, ptr %15, align 8, !tbaa !1394 %17 = add i64 %16, 24 - store i64 %17, ptr %15, align 8, !tbaa !1396 - %18 = load ptr, ptr %14, align 8, !tbaa !1397 + store i64 %17, ptr %15, align 8, !tbaa !1394 + %18 = load ptr, ptr %14, align 8, !tbaa !1395 %19 = ptrtoint ptr %18 to i64 %20 = add i64 %19, 7 %21 = and i64 %20, -8 %22 = add i64 %21, 24 %23 = getelementptr inbounds nuw i8, ptr %9, i64 2200 - %24 = load ptr, ptr %23, align 8, !tbaa !1398 + %24 = load ptr, ptr %23, align 8, !tbaa !1396 %25 = ptrtoint ptr %24 to i64 %.not.i.i.i.i.i.i = icmp ule i64 %22, %25 %26 = icmp ne ptr %18, null @@ -13381,7 +13373,7 @@ define linkonce_odr hidden noundef ptr @_ZNK5clang12RedeclarableINS_19Translatio 28: ; preds = %13 %29 = inttoptr i64 %22 to ptr - store ptr %29, ptr %14, align 8, !tbaa !1397 + store ptr %29, ptr %14, align 8, !tbaa !1395 %30 = inttoptr i64 %21 to ptr br label %33 @@ -13391,11 +13383,11 @@ define linkonce_odr hidden noundef ptr @_ZNK5clang12RedeclarableINS_19Translatio 33: ; preds = %31, %28 %.0.i.i.i.i.i.i = phi ptr [ %30, %28 ], [ %32, %31 ] - store ptr %12, ptr %.0.i.i.i.i.i.i, align 8, !tbaa !1399 + store ptr %12, ptr %.0.i.i.i.i.i.i, align 8, !tbaa !1397 %34 = getelementptr inbounds nuw i8, ptr %.0.i.i.i.i.i.i, i64 8 - store i32 0, ptr %34, align 8, !tbaa !1401 + store i32 0, ptr %34, align 8, !tbaa !1399 %35 = getelementptr inbounds nuw i8, ptr %.0.i.i.i.i.i.i, i64 16 - store ptr %1, ptr %35, align 8, !tbaa !1402 + store ptr %1, ptr %35, align 8, !tbaa !1400 %36 = ptrtoint ptr %.0.i.i.i.i.i.i to i64 %37 = or i64 %36, 4 br label %_ZN5clang25LazyGenerationalUpdatePtrIPKNS_4DeclEPS1_XadL_ZNS_17ExternalASTSource19CompleteRedeclChainES3_EEEC2ERKNS_10ASTContextES4_.exit @@ -13423,15 +13415,15 @@ _ZN5clang25LazyGenerationalUpdatePtrIPKNS_4DeclEPS1_XadL_ZNS_17ExternalASTSource 46: ; preds = %42 %47 = getelementptr inbounds nuw i8, ptr %45, i64 8 - %48 = load i32, ptr %47, align 8, !tbaa !1401 - %49 = load ptr, ptr %45, align 8, !tbaa !1399 + %48 = load i32, ptr %47, align 8, !tbaa !1399 + %49 = load ptr, ptr %45, align 8, !tbaa !1397 %50 = getelementptr inbounds nuw i8, ptr %49, i64 12 - %51 = load i32, ptr %50, align 4, !tbaa !1403 + %51 = load i32, ptr %50, align 4, !tbaa !1401 %.not12.i = icmp eq i32 %48, %51 br i1 %.not12.i, label %56, label %52 52: ; preds = %46 - store i32 %51, ptr %47, align 8, !tbaa !1401 + store i32 %51, ptr %47, align 8, !tbaa !1399 %53 = load ptr, ptr %49, align 8, !tbaa !296 %54 = getelementptr i8, ptr %53, i64 144, !nosanitize !814 %55 = load ptr, ptr %54, align 8, !nosanitize !814 @@ -13440,7 +13432,7 @@ _ZN5clang25LazyGenerationalUpdatePtrIPKNS_4DeclEPS1_XadL_ZNS_17ExternalASTSource 56: ; preds = %52, %46 %57 = getelementptr inbounds nuw i8, ptr %45, i64 16 - %58 = load ptr, ptr %57, align 8, !tbaa !1402 + %58 = load ptr, ptr %57, align 8, !tbaa !1400 br label %_ZN5clang25LazyGenerationalUpdatePtrIPKNS_4DeclEPS1_XadL_ZNS_17ExternalASTSource19CompleteRedeclChainES3_EEE3getES3_.exit _ZN5clang25LazyGenerationalUpdatePtrIPKNS_4DeclEPS1_XadL_ZNS_17ExternalASTSource19CompleteRedeclChainES3_EEE3getES3_.exit: ; preds = %56, %42, %6 @@ -13750,7 +13742,7 @@ define linkonce_odr hidden noundef ptr @_ZN4llvm13IRBuilderBase10CreateCallEPNS_ %8 = alloca %"class.llvm::ArrayRef", align 8 %9 = alloca %"class.llvm::Twine", align 8 %10 = getelementptr inbounds nuw i8, ptr %0, i64 112 - %.sroa.01.0.copyload = load ptr, ptr %10, align 8, !tbaa !1424 + %.sroa.01.0.copyload = load ptr, ptr %10, align 8, !tbaa !1422 %.sroa.2.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 120 %.sroa.2.0.copyload = load i64, ptr %.sroa.2.0..sroa_idx, align 8, !tbaa !313 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %9) #16 @@ -13765,8 +13757,8 @@ define linkonce_odr hidden noundef ptr @_ZN4llvm13IRBuilderBase10CreateCallEPNS_ %.0811.i.i = phi ptr [ %23, %.lr.ph.i.i ], [ %.sroa.01.0.copyload, %7 ] %13 = getelementptr inbounds nuw i8, ptr %.0811.i.i, i64 32 %14 = getelementptr inbounds nuw i8, ptr %.0811.i.i, i64 40 - %15 = load ptr, ptr %14, align 8, !tbaa !1425 - %16 = load ptr, ptr %13, align 8, !tbaa !1427 + %15 = load ptr, ptr %14, align 8, !tbaa !1423 + %16 = load ptr, ptr %13, align 8, !tbaa !1425 %17 = ptrtoint ptr %15 to i64 %18 = ptrtoint ptr %16 to i64 %19 = sub i64 %17, %18 @@ -13795,16 +13787,16 @@ _ZN4llvm8CallInst6CreateEPNS_12FunctionTypeEPNS_5ValueENS_8ArrayRefIS4_EENS5_INS %.sroa.2.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %8, i64 8 store i64 %.sroa.2.0.copyload, ptr %.sroa.2.0..sroa_idx.i, align 8 %32 = getelementptr inbounds nuw i8, ptr %1, i64 16 - %33 = load ptr, ptr %32, align 8, !tbaa !1422 + %33 = load ptr, ptr %32, align 8, !tbaa !1420 %34 = load ptr, ptr %33, align 8, !tbaa !326 tail call void @_ZN4llvm11InstructionC2EPNS_4TypeEjNS_4User9AllocInfoENS_14InsertPositionE(ptr noundef nonnull align 8 dereferenceable(88) %28, ptr noundef %34, i32 noundef 56, i32 %31, ptr null, i64 0) #16 %35 = getelementptr inbounds nuw i8, ptr %28, i64 72 - store ptr null, ptr %35, align 8, !tbaa !1428 + store ptr null, ptr %35, align 8, !tbaa !1426 call void @_ZN4llvm8CallInst4initEPNS_12FunctionTypeEPNS_5ValueENS_8ArrayRefIS4_EENS5_INS_17OperandBundleDefTIS4_EEEERKNS_5TwineE(ptr noundef nonnull align 8 dereferenceable(88) %28, ptr noundef nonnull %1, ptr noundef %2, ptr %3, i64 %4, ptr noundef nonnull byval(%"class.llvm::ArrayRef") align 8 %8, ptr noundef nonnull align 8 dereferenceable(34) %9) #16 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %8) call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %9) #16 %36 = getelementptr inbounds nuw i8, ptr %0, i64 108 - %37 = load i8, ptr %36, align 4, !tbaa !1430, !range !813, !noundef !814 + %37 = load i8, ptr %36, align 4, !tbaa !1428, !range !813, !noundef !814 %38 = trunc nuw i8 %37 to i1 br i1 %38, label %39, label %42 @@ -14042,7 +14034,7 @@ _ZN5clang7CodeGen11CallArgList3addENS0_6RValueENS_8QualTypeE.exit26: ; preds = % %76 = getelementptr inbounds nuw i8, ptr %1, i64 88 %77 = load ptr, ptr %76, align 8, !tbaa !3 %78 = getelementptr inbounds nuw i8, ptr %0, i64 40 - %79 = load i64, ptr %78, align 8, !tbaa !1375 + %79 = load i64, ptr %78, align 8, !tbaa !1373 %80 = call noundef ptr @_ZN4llvm11ConstantInt3getEPNS_11IntegerTypeEmb(ptr noundef %77, i64 noundef %79, i1 noundef zeroext false) #16 %81 = getelementptr inbounds nuw i8, ptr %1, i64 144 %82 = load ptr, ptr %81, align 8, !tbaa !40 @@ -14207,7 +14199,7 @@ _ZN5clang7CodeGen11CallArgList3addENS0_6RValueENS_8QualTypeE.exit39: ; preds = % %152 = load i32, ptr %34, align 8 %153 = and i32 %152, 2147483647 %.not18 = icmp eq i32 %151, %153 - br i1 %.not18, label %._crit_edge, label %128, !llvm.loop !1431 + br i1 %.not18, label %._crit_edge, label %128, !llvm.loop !1429 } declare void @_ZN5clang7CodeGen15DominatingValueINS0_6RValueEE10saved_type4saveERNS0_15CodeGenFunctionES2_(ptr dead_on_unwind writable sret(%"class.clang::CodeGen::DominatingValue::saved_type") align 8, ptr noundef nonnull align 8 dereferenceable(6496), ptr noundef byval(%"class.clang::CodeGen::RValue") align 8) local_unnamed_addr #3 @@ -14227,7 +14219,7 @@ define internal void @_ZN12_GLOBAL__N_119CallDeleteDuringNewIZL21EnterNewDeleteC %14 = alloca %"class.clang::CodeGen::RValue", align 8 %15 = alloca %"class.clang::CodeGen::RValue", align 8 %16 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %17 = load ptr, ptr %16, align 8, !tbaa !1349 + %17 = load ptr, ptr %16, align 8, !tbaa !1348 %18 = getelementptr inbounds nuw i8, ptr %17, i64 48 %.sroa.0.0.copyload.i = load i64, ptr %18, align 8, !tbaa !3 %19 = and i64 %.sroa.0.0.copyload.i, -16 @@ -14333,7 +14325,7 @@ _ZN5clang7CodeGen11CallArgList3addENS0_6RValueENS_8QualTypeE.exit: ; preds = %_Z br i1 %67, label %104, label %139 68: ; preds = %_ZN5clang7CodeGen11CallArgList3addENS0_6RValueENS_8QualTypeE.exit - %69 = load ptr, ptr %16, align 8, !tbaa !1349 + %69 = load ptr, ptr %16, align 8, !tbaa !1348 %70 = call fastcc i24 @_ZL20getUsualDeleteParamsPKN5clang12FunctionDeclE(ptr noundef %69) %.sroa.6.0.extract.trunc = icmp samesign ugt i24 %70, 65535 %71 = and i24 %70, 256 @@ -14408,7 +14400,7 @@ _ZN5clang7CodeGen11CallArgList3addENS0_6RValueENS_8QualTypeE.exit26: ; preds = % %105 = getelementptr inbounds nuw i8, ptr %1, i64 88 %106 = load ptr, ptr %105, align 8, !tbaa !3 %107 = getelementptr inbounds nuw i8, ptr %0, i64 120 - %108 = load i64, ptr %107, align 8, !tbaa !1375 + %108 = load i64, ptr %107, align 8, !tbaa !1373 %109 = call noundef ptr @_ZN4llvm11ConstantInt3getEPNS_11IntegerTypeEmb(ptr noundef %106, i64 noundef %108, i1 noundef zeroext false) #16 %110 = getelementptr inbounds nuw i8, ptr %1, i64 144 %111 = load ptr, ptr %110, align 8, !tbaa !40 @@ -14484,7 +14476,7 @@ _ZN5clang7CodeGen11CallArgList3addENS0_6RValueENS_8QualTypeE.exit33: ; preds = % br label %157 ._crit_edge: ; preds = %_ZN5clang7CodeGen11CallArgList3addENS0_6RValueENS_8QualTypeE.exit39, %139 - %147 = load ptr, ptr %16, align 8, !tbaa !1349 + %147 = load ptr, ptr %16, align 8, !tbaa !1348 call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %15) #16 call fastcc void @_ZL17EmitNewDeleteCallRN5clang7CodeGen15CodeGenFunctionEPKNS_12FunctionDeclEPKNS_17FunctionProtoTypeERKNS0_11CallArgListE(ptr dead_on_unwind noalias nonnull writable align 8 %15, ptr noundef nonnull align 8 dereferenceable(6496) %1, ptr noundef %147, ptr noundef nonnull %.1.i, ptr noundef nonnull align 8 dereferenceable(1496) %11) call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %15) #16 @@ -14576,7 +14568,7 @@ _ZN5clang7CodeGen11CallArgList3addENS0_6RValueENS_8QualTypeE.exit39: ; preds = % %181 = load i32, ptr %64, align 8 %182 = and i32 %181, 2147483647 %.not18 = icmp eq i32 %180, %182 - br i1 %.not18, label %._crit_edge, label %157, !llvm.loop !1432 + br i1 %.not18, label %._crit_edge, label %157, !llvm.loop !1430 } declare void @_ZN5clang7CodeGen15DominatingValueINS0_6RValueEE10saved_type7restoreERNS0_15CodeGenFunctionE(ptr dead_on_unwind writable sret(%"class.clang::CodeGen::RValue") align 8, ptr noundef nonnull align 8 dereferenceable(41), ptr noundef nonnull align 8 dereferenceable(6496)) local_unnamed_addr #3 @@ -14605,13 +14597,13 @@ declare void @_ZN5clang7CodeGen15CodeGenFunction15PopCleanupBlockEbb(ptr noundef ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_115CallArrayDelete4EmitERN5clang7CodeGen15CodeGenFunctionENS2_12EHScopeStack7Cleanup5FlagsE(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(6496) %1, i32 %2) unnamed_addr #0 align 2 { %4 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %5 = load ptr, ptr %4, align 8, !tbaa !1378 + %5 = load ptr, ptr %4, align 8, !tbaa !1376 %6 = getelementptr inbounds nuw i8, ptr %0, i64 8 - %7 = load ptr, ptr %6, align 8, !tbaa !1376 + %7 = load ptr, ptr %6, align 8, !tbaa !1374 %8 = getelementptr inbounds nuw i8, ptr %0, i64 32 %.sroa.01.0.copyload = load i64, ptr %8, align 8, !tbaa !3 %9 = getelementptr inbounds nuw i8, ptr %0, i64 24 - %10 = load ptr, ptr %9, align 8, !tbaa !1379 + %10 = load ptr, ptr %9, align 8, !tbaa !1377 %11 = getelementptr inbounds nuw i8, ptr %0, i64 40 %.sroa.0.0.copyload = load i64, ptr %11, align 8, !tbaa !313 tail call void @_ZN5clang7CodeGen15CodeGenFunction14EmitDeleteCallEPKNS_12FunctionDeclEPN4llvm5ValueENS_8QualTypeES7_NS_9CharUnitsE(ptr noundef nonnull align 8 dereferenceable(6496) %1, ptr noundef %5, ptr noundef %7, i64 %.sroa.01.0.copyload, ptr noundef %10, i64 %.sroa.0.0.copyload) @@ -14627,9 +14619,9 @@ declare noundef ptr @_ZN4llvm11PoisonValue3getEPNS_4TypeE(ptr noundef) local_unn ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_116CallObjectDelete4EmitERN5clang7CodeGen15CodeGenFunctionENS2_12EHScopeStack7Cleanup5FlagsE(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(6496) %1, i32 %2) unnamed_addr #0 align 2 { %4 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %5 = load ptr, ptr %4, align 8, !tbaa !1365 + %5 = load ptr, ptr %4, align 8, !tbaa !1363 %6 = getelementptr inbounds nuw i8, ptr %0, i64 8 - %7 = load ptr, ptr %6, align 8, !tbaa !1363 + %7 = load ptr, ptr %6, align 8, !tbaa !1361 %8 = getelementptr inbounds nuw i8, ptr %0, i64 24 %.sroa.0.0.copyload = load i64, ptr %8, align 8, !tbaa !3 tail call void @_ZN5clang7CodeGen15CodeGenFunction14EmitDeleteCallEPKNS_12FunctionDeclEPN4llvm5ValueENS_8QualTypeES7_NS_9CharUnitsE(ptr noundef nonnull align 8 dereferenceable(6496) %1, ptr noundef %5, ptr noundef %7, i64 %.sroa.0.0.copyload, ptr noundef null, i64 0) @@ -16021,92 +16013,90 @@ attributes #19 = { builtin nounwind allocsize(0) } !1341 = !{!"_ZTSN5clang7CodeGen12EHScopeStack7CleanupE"} !1342 = !{!1340, !134, i64 24} !1343 = !{!1340, !134, i64 32} -!1344 = !{i64 0, i64 48, !3, i64 48, i64 1, !3, i64 56, i64 8, !3} -!1345 = distinct !{!1345, !39} -!1346 = !{!1347} -!1347 = distinct !{!1347, !1348, !"_ZN5clang7CodeGen6RValue3getENS0_7AddressERNS0_15CodeGenFunctionE: argument 0"} -!1348 = distinct !{!1348, !"_ZN5clang7CodeGen6RValue3getENS0_7AddressERNS0_15CodeGenFunctionE"} -!1349 = !{!1350, !1104, i64 16} -!1350 = !{!"_ZTSN12_GLOBAL__N_119CallDeleteDuringNewIZL21EnterNewDeleteCleanupRN5clang7CodeGen15CodeGenFunctionEPKNS1_10CXXNewExprENS2_7AddressEPN4llvm5ValueENS1_9CharUnitsERKNS2_11CallArgListEE24ConditionalCleanupTraitsEE", !1341, i64 0, !15, i64 8, !15, i64 11, !1104, i64 16, !1351, i64 24, !1351, i64 72, !143, i64 120} -!1351 = !{!"_ZTSN5clang7CodeGen15DominatingValueINS0_6RValueEE10saved_typeE", !4, i64 0, !15, i64 40} -!1352 = !{i64 0, i64 40, !3, i64 40, i64 1, !3, i64 48, i64 8, !3} -!1353 = distinct !{!1353, !39} -!1354 = !{!1355} -!1355 = distinct !{!1355, !1356, !"_ZNK5clang7CodeGen7Address15withElementTypeEPN4llvm4TypeE: argument 0"} -!1356 = distinct !{!1356, !"_ZNK5clang7CodeGen7Address15withElementTypeEPN4llvm4TypeE"} -!1357 = !{!1358} -!1358 = distinct !{!1358, !1359, !"_ZN5clang7CodeGen11CGBuilderTy27CreateLaunderInvariantGroupENS0_7AddressE: argument 0"} -!1359 = distinct !{!1359, !"_ZN5clang7CodeGen11CGBuilderTy27CreateLaunderInvariantGroupENS0_7AddressE"} -!1360 = !{!1303, !318, i64 32} -!1361 = !{!779, !780, i64 2} -!1362 = !{!779, !781, i64 16} -!1363 = !{!1364, !134, i64 8} -!1364 = !{!"_ZTSN12_GLOBAL__N_116CallObjectDeleteE", !1341, i64 0, !134, i64 8, !1104, i64 16, !10, i64 24} -!1365 = !{!1364, !1104, i64 16} -!1366 = !{!1367, !307, i64 24} -!1367 = !{!"_ZTSN5clang13CXXDeleteExprE", !310, i64 0, !1104, i64 16, !307, i64 24} -!1368 = !{!1369} -!1369 = distinct !{!1369, !1370, !"_ZN5clang7CodeGen7Address15setKnownNonNullEv: argument 0"} -!1370 = distinct !{!1370, !"_ZN5clang7CodeGen7Address15setKnownNonNullEv"} -!1371 = !{!1367, !1104, i64 16} -!1372 = !{!1373} -!1373 = distinct !{!1373, !1374, !"_ZN5clang7CodeGen11CGBuilderTy17CreateInBoundsGEPENS0_7AddressEN4llvm8ArrayRefIPNS3_5ValueEEEPNS3_4TypeENS_9CharUnitsERKNS3_5TwineE: argument 0"} -!1374 = distinct !{!1374, !"_ZN5clang7CodeGen11CGBuilderTy17CreateInBoundsGEPENS0_7AddressEN4llvm8ArrayRefIPNS3_5ValueEEEPNS3_4TypeENS_9CharUnitsERKNS3_5TwineE"} -!1375 = !{!143, !79, i64 0} -!1376 = !{!1377, !134, i64 8} -!1377 = !{!"_ZTSN12_GLOBAL__N_115CallArrayDeleteE", !1341, i64 0, !134, i64 8, !1104, i64 16, !134, i64 24, !10, i64 32, !143, i64 40} -!1378 = !{!1377, !1104, i64 16} -!1379 = !{!1377, !134, i64 24} -!1380 = !{!1381, !318, i64 24} -!1381 = !{!"_ZTSN5clang16ExplicitCastExprE", !1382, i64 0, !318, i64 24} -!1382 = !{!"_ZTSN5clang8CastExprE", !310, i64 0, !307, i64 16} -!1383 = !{!1382, !307, i64 16} +!1344 = distinct !{!1344, !39} +!1345 = !{!1346} +!1346 = distinct !{!1346, !1347, !"_ZN5clang7CodeGen6RValue3getENS0_7AddressERNS0_15CodeGenFunctionE: argument 0"} +!1347 = distinct !{!1347, !"_ZN5clang7CodeGen6RValue3getENS0_7AddressERNS0_15CodeGenFunctionE"} +!1348 = !{!1349, !1104, i64 16} +!1349 = !{!"_ZTSN12_GLOBAL__N_119CallDeleteDuringNewIZL21EnterNewDeleteCleanupRN5clang7CodeGen15CodeGenFunctionEPKNS1_10CXXNewExprENS2_7AddressEPN4llvm5ValueENS1_9CharUnitsERKNS2_11CallArgListEE24ConditionalCleanupTraitsEE", !1341, i64 0, !15, i64 8, !15, i64 11, !1104, i64 16, !1350, i64 24, !1350, i64 72, !143, i64 120} +!1350 = !{!"_ZTSN5clang7CodeGen15DominatingValueINS0_6RValueEE10saved_typeE", !4, i64 0, !15, i64 40} +!1351 = distinct !{!1351, !39} +!1352 = !{!1353} +!1353 = distinct !{!1353, !1354, !"_ZNK5clang7CodeGen7Address15withElementTypeEPN4llvm4TypeE: argument 0"} +!1354 = distinct !{!1354, !"_ZNK5clang7CodeGen7Address15withElementTypeEPN4llvm4TypeE"} +!1355 = !{!1356} +!1356 = distinct !{!1356, !1357, !"_ZN5clang7CodeGen11CGBuilderTy27CreateLaunderInvariantGroupENS0_7AddressE: argument 0"} +!1357 = distinct !{!1357, !"_ZN5clang7CodeGen11CGBuilderTy27CreateLaunderInvariantGroupENS0_7AddressE"} +!1358 = !{!1303, !318, i64 32} +!1359 = !{!779, !780, i64 2} +!1360 = !{!779, !781, i64 16} +!1361 = !{!1362, !134, i64 8} +!1362 = !{!"_ZTSN12_GLOBAL__N_116CallObjectDeleteE", !1341, i64 0, !134, i64 8, !1104, i64 16, !10, i64 24} +!1363 = !{!1362, !1104, i64 16} +!1364 = !{!1365, !307, i64 24} +!1365 = !{!"_ZTSN5clang13CXXDeleteExprE", !310, i64 0, !1104, i64 16, !307, i64 24} +!1366 = !{!1367} +!1367 = distinct !{!1367, !1368, !"_ZN5clang7CodeGen7Address15setKnownNonNullEv: argument 0"} +!1368 = distinct !{!1368, !"_ZN5clang7CodeGen7Address15setKnownNonNullEv"} +!1369 = !{!1365, !1104, i64 16} +!1370 = !{!1371} +!1371 = distinct !{!1371, !1372, !"_ZN5clang7CodeGen11CGBuilderTy17CreateInBoundsGEPENS0_7AddressEN4llvm8ArrayRefIPNS3_5ValueEEEPNS3_4TypeENS_9CharUnitsERKNS3_5TwineE: argument 0"} +!1372 = distinct !{!1372, !"_ZN5clang7CodeGen11CGBuilderTy17CreateInBoundsGEPENS0_7AddressEN4llvm8ArrayRefIPNS3_5ValueEEEPNS3_4TypeENS_9CharUnitsERKNS3_5TwineE"} +!1373 = !{!143, !79, i64 0} +!1374 = !{!1375, !134, i64 8} +!1375 = !{!"_ZTSN12_GLOBAL__N_115CallArrayDeleteE", !1341, i64 0, !134, i64 8, !1104, i64 16, !134, i64 24, !10, i64 32, !143, i64 40} +!1376 = !{!1375, !1104, i64 16} +!1377 = !{!1375, !134, i64 24} +!1378 = !{!1379, !318, i64 24} +!1379 = !{!"_ZTSN5clang16ExplicitCastExprE", !1380, i64 0, !318, i64 24} +!1380 = !{!"_ZTSN5clang8CastExprE", !310, i64 0, !307, i64 16} +!1381 = !{!1380, !307, i64 16} +!1382 = distinct !{!1382, !39} +!1383 = !{i64 0, i64 136, !3, i64 136, i64 1, !888, i64 137, i64 1, !888, i64 144, i64 8, !3} !1384 = distinct !{!1384, !39} -!1385 = !{i64 0, i64 136, !3, i64 136, i64 1, !888, i64 137, i64 1, !888, i64 144, i64 8, !3} -!1386 = distinct !{!1386, !39} +!1385 = distinct !{!1385, !39} +!1386 = !{i64 0, i64 4, !675, i64 8, i64 48, !3, i64 56, i64 8, !3, i64 64, i64 8, !3, i64 72, i64 8, !313, i64 80, i64 1, !3, i64 84, i64 4, !677, i64 88, i64 4, !679, i64 96, i64 8, !681, i64 104, i64 8, !681, i64 112, i64 8, !313, i64 120, i64 8, !313, i64 128, i64 8, !673, i64 136, i64 8, !3, i64 144, i64 8, !326, i64 152, i64 8, !313, i64 160, i64 1, !3, i64 168, i64 8, !328, i64 176, i64 8, !328, i64 184, i64 8, !328, i64 192, i64 8, !673, i64 200, i64 8, !328} !1387 = distinct !{!1387, !39} -!1388 = !{i64 0, i64 4, !675, i64 8, i64 48, !3, i64 56, i64 8, !3, i64 64, i64 8, !3, i64 72, i64 8, !313, i64 80, i64 1, !3, i64 84, i64 4, !677, i64 88, i64 4, !679, i64 96, i64 8, !681, i64 104, i64 8, !681, i64 112, i64 8, !313, i64 120, i64 8, !313, i64 128, i64 8, !673, i64 136, i64 8, !3, i64 144, i64 8, !326, i64 152, i64 8, !313, i64 160, i64 1, !3, i64 168, i64 8, !328, i64 176, i64 8, !328, i64 184, i64 8, !328, i64 192, i64 8, !673, i64 200, i64 8, !328} -!1389 = distinct !{!1389, !39} -!1390 = distinct !{!1390, !39} -!1391 = !{i64 0, i64 8, !313, i64 8, i64 8, !1392} -!1392 = !{!182, !182, i64 0} -!1393 = distinct !{!1393, !39} -!1394 = distinct !{!1394, !39} -!1395 = !{!1211, !1212, i64 0} -!1396 = !{!461, !79, i64 80} -!1397 = !{!461, !160, i64 0} -!1398 = !{!461, !160, i64 8} -!1399 = !{!1400, !1212, i64 0} -!1400 = !{!"_ZTSN5clang25LazyGenerationalUpdatePtrIPKNS_4DeclEPS1_XadL_ZNS_17ExternalASTSource19CompleteRedeclChainES3_EEE8LazyDataE", !1212, i64 0, !15, i64 8, !117, i64 16} -!1401 = !{!1400, !15, i64 8} -!1402 = !{!1400, !117, i64 16} -!1403 = !{!1404, !15, i64 12} -!1404 = !{!"_ZTSN5clang17ExternalASTSourceE", !1405, i64 8, !15, i64 12} -!1405 = !{!"_ZTSN4llvm14RefCountedBaseIN5clang17ExternalASTSourceEEE", !15, i64 0} -!1406 = !{!1407, !15, i64 4} -!1407 = !{!"_ZTSN4llvm10DataLayout11PointerSpecE", !15, i64 0, !15, i64 4, !1408, i64 8, !1408, i64 9, !15, i64 12, !52, i64 16} -!1408 = !{!"_ZTSN4llvm5AlignE", !4, i64 0} -!1409 = !{!1410, !79, i64 32} -!1410 = !{!"_ZTSN4llvm9ArrayTypeE", !1411, i64 0, !43, i64 24, !79, i64 32} -!1411 = !{!"_ZTSN4llvm4TypeE", !70, i64 0, !1412, i64 8, !15, i64 9, !15, i64 12, !1413, i64 16} -!1412 = !{!"_ZTSN4llvm4Type6TypeIDE", !4, i64 0} -!1413 = !{!"p2 _ZTSN4llvm4TypeE", !9, i64 0} -!1414 = !{!1410, !43, i64 24} -!1415 = !{!1416, !15, i64 32} -!1416 = !{!"_ZTSN4llvm10VectorTypeE", !1411, i64 0, !43, i64 24, !15, i64 32} -!1417 = !{!1416, !43, i64 24} -!1418 = !{!1419, !43, i64 72} -!1419 = !{!"_ZTSN4llvm17GetElementPtrInstE", !895, i64 0, !43, i64 72, !43, i64 80} -!1420 = !{!1419, !43, i64 80} -!1421 = !{!1411, !70, i64 0} -!1422 = !{!1411, !1413, i64 16} -!1423 = distinct !{!1423, !39} -!1424 = !{!78, !78, i64 0} -!1425 = !{!1426, !823, i64 8} -!1426 = !{!"_ZTSNSt12_Vector_baseIPN4llvm5ValueESaIS2_EE17_Vector_impl_dataE", !823, i64 0, !823, i64 8, !823, i64 16} -!1427 = !{!1426, !823, i64 0} -!1428 = !{!1429, !1301, i64 0} -!1429 = !{!"_ZTSN4llvm13AttributeListE", !1301, i64 0} -!1430 = !{!61, !52, i64 108} -!1431 = distinct !{!1431, !39} -!1432 = distinct !{!1432, !39} +!1388 = distinct !{!1388, !39} +!1389 = !{i64 0, i64 8, !313, i64 8, i64 8, !1390} +!1390 = !{!182, !182, i64 0} +!1391 = distinct !{!1391, !39} +!1392 = distinct !{!1392, !39} +!1393 = !{!1211, !1212, i64 0} +!1394 = !{!461, !79, i64 80} +!1395 = !{!461, !160, i64 0} +!1396 = !{!461, !160, i64 8} +!1397 = !{!1398, !1212, i64 0} +!1398 = !{!"_ZTSN5clang25LazyGenerationalUpdatePtrIPKNS_4DeclEPS1_XadL_ZNS_17ExternalASTSource19CompleteRedeclChainES3_EEE8LazyDataE", !1212, i64 0, !15, i64 8, !117, i64 16} +!1399 = !{!1398, !15, i64 8} +!1400 = !{!1398, !117, i64 16} +!1401 = !{!1402, !15, i64 12} +!1402 = !{!"_ZTSN5clang17ExternalASTSourceE", !1403, i64 8, !15, i64 12} +!1403 = !{!"_ZTSN4llvm14RefCountedBaseIN5clang17ExternalASTSourceEEE", !15, i64 0} +!1404 = !{!1405, !15, i64 4} +!1405 = !{!"_ZTSN4llvm10DataLayout11PointerSpecE", !15, i64 0, !15, i64 4, !1406, i64 8, !1406, i64 9, !15, i64 12, !52, i64 16} +!1406 = !{!"_ZTSN4llvm5AlignE", !4, i64 0} +!1407 = !{!1408, !79, i64 32} +!1408 = !{!"_ZTSN4llvm9ArrayTypeE", !1409, i64 0, !43, i64 24, !79, i64 32} +!1409 = !{!"_ZTSN4llvm4TypeE", !70, i64 0, !1410, i64 8, !15, i64 9, !15, i64 12, !1411, i64 16} +!1410 = !{!"_ZTSN4llvm4Type6TypeIDE", !4, i64 0} +!1411 = !{!"p2 _ZTSN4llvm4TypeE", !9, i64 0} +!1412 = !{!1408, !43, i64 24} +!1413 = !{!1414, !15, i64 32} +!1414 = !{!"_ZTSN4llvm10VectorTypeE", !1409, i64 0, !43, i64 24, !15, i64 32} +!1415 = !{!1414, !43, i64 24} +!1416 = !{!1417, !43, i64 72} +!1417 = !{!"_ZTSN4llvm17GetElementPtrInstE", !895, i64 0, !43, i64 72, !43, i64 80} +!1418 = !{!1417, !43, i64 80} +!1419 = !{!1409, !70, i64 0} +!1420 = !{!1409, !1411, i64 16} +!1421 = distinct !{!1421, !39} +!1422 = !{!78, !78, i64 0} +!1423 = !{!1424, !823, i64 8} +!1424 = !{!"_ZTSNSt12_Vector_baseIPN4llvm5ValueESaIS2_EE17_Vector_impl_dataE", !823, i64 0, !823, i64 8, !823, i64 16} +!1425 = !{!1424, !823, i64 0} +!1426 = !{!1427, !1301, i64 0} +!1427 = !{!"_ZTSN4llvm13AttributeListE", !1301, i64 0} +!1428 = !{!61, !52, i64 108} +!1429 = distinct !{!1429, !39} +!1430 = distinct !{!1430, !39} diff --git a/bench/llvm/optimized/MachineDebugify.ll b/bench/llvm/optimized/MachineDebugify.ll index c9400501153..fb9472bd65d 100644 --- a/bench/llvm/optimized/MachineDebugify.ll +++ b/bench/llvm/optimized/MachineDebugify.ll @@ -1307,8 +1307,8 @@ _ZN4llvm12DenseMapBaseINS_8DenseMapIjPNS_15DILocalVariableENS_12DenseMapInfoIjvE br label %390 390: ; preds = %_ZN4llvm12DenseMapBaseINS_8DenseMapIjPNS_15DILocalVariableENS_12DenseMapInfoIjvEENS_6detail12DenseMapPairIjS3_EEEEjS3_S5_S8_E15LookupBucketForIjEEbRKT_RPS8_.exit233.i.i.i.i, %362 - %391 = phi ptr [ %.sink.i230.i.i.i.i, %_ZN4llvm12DenseMapBaseINS_8DenseMapIjPNS_15DILocalVariableENS_12DenseMapInfoIjvEENS_6detail12DenseMapPairIjS3_EEEEjS3_S5_S8_E15LookupBucketForIjEEbRKT_RPS8_.exit233.i.i.i.i ], [ %.sink.i.i197.i.i.i.i, %362 ] - %392 = phi i32 [ %.pre.i.i201.i.i.i.i, %_ZN4llvm12DenseMapBaseINS_8DenseMapIjPNS_15DILocalVariableENS_12DenseMapInfoIjvEENS_6detail12DenseMapPairIjS3_EEEEjS3_S5_S8_E15LookupBucketForIjEEbRKT_RPS8_.exit233.i.i.i.i ], [ %356, %362 ] + %391 = phi ptr [ %.sink.i230.i.i.i.i, %_ZN4llvm12DenseMapBaseINS_8DenseMapIjPNS_15DILocalVariableENS_12DenseMapInfoIjvEENS_6detail12DenseMapPairIjS3_EEEEjS3_S5_S8_E15LookupBucketForIjEEbRKT_RPS8_.exit234.i.i.i.i ], [ %.sink.i.i197.i.i.i.i, %362 ] + %392 = phi i32 [ %.pre.i.i201.i.i.i.i, %_ZN4llvm12DenseMapBaseINS_8DenseMapIjPNS_15DILocalVariableENS_12DenseMapInfoIjvEENS_6detail12DenseMapPairIjS3_EEEEjS3_S5_S8_E15LookupBucketForIjEEbRKT_RPS8_.exit234.i.i.i.i ], [ %356, %362 ] %393 = add i32 %392, 1 store i32 %393, ptr %120, align 8, !tbaa !317 %394 = load i32, ptr %391, align 4, !tbaa !312 @@ -1396,7 +1396,7 @@ _ZN4llvm15SmallPtrSetImplIPNS_15DILocalVariableEE6insertES2_.exit.i.i.i.i: ; pre br i1 %.not.i.i.i.i.i213.i.i.i.i, label %._crit_edge184.thread.i.i.i.i, label %.lr.ph.i.i.i.i.i212.i.i.i.i, !llvm.loop !392 _ZN4llvm12MachineInstr8all_defsEv.exit.i.i.i.i: ; preds = %.lr.ph.i.i.i.i.i212.i.i.i.i, %_ZN4llvm15SmallPtrSetImplIPNS_15DILocalVariableEE6insertES2_.exit.i.i.i.i - %.sroa.010.1.i.i.i.i.i.i = phi ptr [ %416, %_ZN4llvm15SmallPtrSetImplIPNS_15DILocalVariableEE6insertES2_.exit.i.i.i.i ], [ %.sroa.010.0.i.i.i.i.i.i, %.lr.ph.i.i.i.i.i212.i.i.i.i ] + %.sroa.010.1.i.i.i.i.i.i = phi ptr [ %416, %_ZN4llvm15SmallPtrSetImplIPNS_15DILocalVariableEE6insertES2_.exit.i.i.i.i ], [ %.sroa.010.0.i.i.i.i.i.i, %.lr.ph.i.i.i.i.i213.i.i.i.i ] %.not101176.i.i.i.i = icmp eq ptr %.sroa.010.1.i.i.i.i.i.i, %420 br i1 %.not101176.i.i.i.i, label %._crit_edge184.thread.i.i.i.i, label %.lr.ph178.i.i.i.i diff --git a/bench/llvm/optimized/RISCVISelLowering.ll b/bench/llvm/optimized/RISCVISelLowering.ll index fcad157ece5..f5f49658968 100644 --- a/bench/llvm/optimized/RISCVISelLowering.ll +++ b/bench/llvm/optimized/RISCVISelLowering.ll @@ -65138,16 +65138,15 @@ declare { ptr, i32 } @_ZN4llvm12SelectionDAG11getConstantERKNS_5APIntERKNS_5SDLo ; Function Attrs: mustprogress nounwind uwtable define internal fastcc { ptr, i32 } @_ZL31foldBinOpIntoSelectIfProfitablePN4llvm6SDNodeERNS_12SelectionDAGERKNS_14RISCVSubtargetE(ptr noundef readonly captures(none) %0, ptr noundef nonnull align 8 dereferenceable(952) %1, i8 %.330.val) unnamed_addr #1 { %3 = alloca %"class.llvm::SDValue", align 8 - %4 = alloca %"class.llvm::SDValue", align 8 - %5 = alloca %"class.llvm::SDLoc", align 8 - %6 = alloca [2 x %"class.llvm::SDValue"], align 16 - %7 = alloca %"class.llvm::SDValue", align 8 - %8 = alloca %"class.llvm::ArrayRef.273", align 8 - %9 = alloca [2 x %"class.llvm::SDValue"], align 16 - %10 = alloca %"class.llvm::SDValue", align 8 - %11 = alloca %"class.llvm::ArrayRef.273", align 8 - %12 = trunc nuw i8 %.330.val to i1 - br i1 %12, label %_ZN4llvm8dyn_castINS_14ConstantSDNodeENS_7SDValueEEEDcRT0_.exit.thread, label %13 + %4 = alloca %"class.llvm::SDLoc", align 8 + %5 = alloca [2 x %"class.llvm::SDValue"], align 16 + %6 = alloca %"class.llvm::SDValue", align 8 + %7 = alloca %"class.llvm::ArrayRef.273", align 8 + %8 = alloca [2 x %"class.llvm::SDValue"], align 16 + %9 = alloca %"class.llvm::SDValue", align 8 + %10 = alloca %"class.llvm::ArrayRef.273", align 8 + %11 = trunc nuw i8 %.330.val to i1 + br i1 %11, label %_ZN4llvm8dyn_castINS_14ConstantSDNodeENS_7SDValueEEEDcRT0_.exit.thread, label %12 13: ; preds = %2 %14 = getelementptr inbounds nuw i8, ptr %0, i64 40 @@ -65169,7 +65168,7 @@ define internal fastcc { ptr, i32 } @_ZL31foldBinOpIntoSelectIfProfitablePN4llvm br label %20 20: ; preds = %._crit_edge, %13 - %21 = phi ptr [ %.pre, %._crit_edge ], [ %15, %13 ] + %21 = phi ptr [ %.pre, %._crit_edge ], [ %15, %12 ] %22 = getelementptr inbounds nuw i8, ptr %21, i64 40 %.sroa.010.0.copyload18 = load ptr, ptr %22, align 8, !tbaa !394 %.sroa.13.0..sroa_idx19 = getelementptr inbounds nuw i8, ptr %21, i64 48 @@ -65177,10 +65176,10 @@ define internal fastcc { ptr, i32 } @_ZL31foldBinOpIntoSelectIfProfitablePN4llvm br label %23 23: ; preds = %20, %18 - %.sroa.010.0 = phi ptr [ %.sroa.010.0.copyload, %18 ], [ %.sroa.010.0.copyload18, %20 ] - %.sroa.13.0 = phi i32 [ %.sroa.13.0.copyload, %18 ], [ %.sroa.13.0.copyload20, %20 ] - %24 = phi i1 [ false, %18 ], [ true, %20 ] - %.0 = phi i64 [ 1, %18 ], [ 0, %20 ] + %.sroa.010.0 = phi ptr [ %.sroa.010.0.copyload, %17 ], [ %.sroa.010.0.copyload18, %19 ] + %.sroa.13.0 = phi i32 [ %.sroa.13.0.copyload, %17 ], [ %.sroa.13.0.copyload20, %19 ] + %24 = phi i1 [ false, %17 ], [ true, %19 ] + %.0 = phi i64 [ 1, %17 ], [ 0, %19 ] %25 = getelementptr inbounds nuw i8, ptr %.sroa.010.0, i64 24 %26 = load i32, ptr %25, align 8, !tbaa !380 %.not52 = icmp eq i32 %26, 205 @@ -65197,7 +65196,7 @@ define internal fastcc { ptr, i32 } @_ZL31foldBinOpIntoSelectIfProfitablePN4llvm %33 = load ptr, ptr %32, align 8, !tbaa !418 %34 = getelementptr inbounds nuw i8, ptr %33, i64 24 %35 = load i32, ptr %34, align 8, !tbaa !380 - switch i32 %35, label %36 [ + switch i32 %35, label %35 [ i32 35, label %_ZN4llvm8dyn_castINS_14ConstantSDNodeENS_7SDValueEEEDcRKT0_.exit i32 11, label %_ZN4llvm8dyn_castINS_14ConstantSDNodeENS_7SDValueEEEDcRKT0_.exit ] @@ -65206,8 +65205,8 @@ define internal fastcc { ptr, i32 } @_ZL31foldBinOpIntoSelectIfProfitablePN4llvm br label %_ZN4llvm8dyn_castINS_14ConstantSDNodeENS_7SDValueEEEDcRKT0_.exit _ZN4llvm8dyn_castINS_14ConstantSDNodeENS_7SDValueEEEDcRKT0_.exit: ; preds = %29, %29, %36 - %.0.i.i.i48 = phi i1 [ true, %36 ], [ false, %29 ], [ false, %29 ] - %37 = phi i64 [ 2, %36 ], [ 1, %29 ], [ 1, %29 ] + %.0.i.i.i48 = phi i1 [ true, %35 ], [ false, %28 ], [ false, %28 ] + %37 = phi i64 [ 2, %35 ], [ 1, %28 ], [ 1, %28 ] %38 = getelementptr inbounds nuw %"class.llvm::SDUse", ptr %31, i64 %37 %.sroa.07.0.copyload = load ptr, ptr %38, align 8, !tbaa !394 %.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %38, i64 8 @@ -65249,19 +65248,19 @@ _ZN4llvm8dyn_castINS_14ConstantSDNodeENS_7SDValueEEEDcRT0_.exit59: ; preds = %45 br i1 %.not43, label %54, label %_ZN4llvm8dyn_castINS_14ConstantSDNodeENS_7SDValueEEEDcRT0_.exit.thread 54: ; preds = %_ZN4llvm8dyn_castINS_14ConstantSDNodeENS_7SDValueEEEDcRT0_.exit59 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %5) #35 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4) #35 %55 = getelementptr inbounds nuw i8, ptr %.sroa.010.0, i64 72 %56 = load ptr, ptr %55, align 8, !tbaa !310 - store ptr %56, ptr %5, align 8, !tbaa !310 + store ptr %56, ptr %4, align 8, !tbaa !310 %.not.i.i.i.i.i.i = icmp eq ptr %56, null br i1 %.not.i.i.i.i.i.i, label %_ZN4llvm5SDLocC2ENS_7SDValueE.exit, label %57 57: ; preds = %54 - %58 = call noundef zeroext i1 @_ZN4llvm16MetadataTracking5trackEPvRNS_8MetadataENS_12PointerUnionIJPNS_15MetadataAsValueEPS2_PNS_14DebugValueUserEEEE(ptr noundef nonnull align 8 dereferenceable(12) %5, ptr noundef nonnull align 4 dereferenceable(8) %56, i64 1) #35 + %58 = call noundef zeroext i1 @_ZN4llvm16MetadataTracking5trackEPvRNS_8MetadataENS_12PointerUnionIJPNS_15MetadataAsValueEPS2_PNS_14DebugValueUserEEEE(ptr noundef nonnull align 8 dereferenceable(12) %4, ptr noundef nonnull align 4 dereferenceable(8) %56, i64 1) #35 br label %_ZN4llvm5SDLocC2ENS_7SDValueE.exit _ZN4llvm5SDLocC2ENS_7SDValueE.exit: ; preds = %54, %57 - %59 = getelementptr inbounds nuw i8, ptr %5, i64 8 + %59 = getelementptr inbounds nuw i8, ptr %4, i64 8 %60 = getelementptr inbounds nuw i8, ptr %.sroa.010.0, i64 68 %61 = load i32, ptr %60, align 4, !tbaa !396 store i32 %61, ptr %59, align 8, !tbaa !397 @@ -65270,36 +65269,36 @@ _ZN4llvm5SDLocC2ENS_7SDValueE.exit: ; preds = %54, %57 %.sroa.0.0.copyload.i = load i16, ptr %63, align 8, !tbaa !226 %.sroa.21.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %63, i64 8 %.sroa.21.0.copyload.i = load ptr, ptr %.sroa.21.0..sroa_idx.i, align 8, !tbaa !342 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) #35 - store ptr %.sroa.07.0.copyload, ptr %6, align 16, !tbaa !394 - %.sroa.5.0..sroa_idx9 = getelementptr inbounds nuw i8, ptr %6, i64 8 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #35 + store ptr %.sroa.07.0.copyload, ptr %5, align 16, !tbaa !394 + %.sroa.5.0..sroa_idx9 = getelementptr inbounds nuw i8, ptr %5, i64 8 store i32 %.sroa.5.sroa.0.0.extract.trunc, ptr %.sroa.5.0..sroa_idx9, align 8, !tbaa !53 - %64 = getelementptr inbounds nuw i8, ptr %6, i64 16 + %64 = getelementptr inbounds nuw i8, ptr %5, i64 16 store ptr %.sroa.02.0.copyload, ptr %64, align 16, !tbaa !394 - %.sroa.6.0..sroa_idx5 = getelementptr inbounds nuw i8, ptr %6, i64 24 + %.sroa.6.0..sroa_idx5 = getelementptr inbounds nuw i8, ptr %5, i64 24 store i32 %.sroa.6.sroa.0.0.extract.trunc, ptr %.sroa.6.0..sroa_idx5, align 8, !tbaa !53 br i1 %24, label %65, label %66 65: ; preds = %_ZN4llvm5SDLocC2ENS_7SDValueE.exit - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull align 16 dereferenceable(16) %6, i64 16, i1 false), !tbaa.struct !420 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(12) %6, ptr noundef nonnull align 16 dereferenceable(12) %64, i64 12, i1 false), !tbaa.struct !420 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(12) %64, ptr noundef nonnull align 8 dereferenceable(12) %4, i64 12, i1 false), !tbaa.struct !420 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %3) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %3, ptr noundef nonnull align 16 dereferenceable(16) %5, i64 16, i1 false), !tbaa.struct !420 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(12) %5, ptr noundef nonnull align 16 dereferenceable(12) %64, i64 12, i1 false), !tbaa.struct !420 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(12) %64, ptr noundef nonnull align 8 dereferenceable(12) %3, i64 12, i1 false), !tbaa.struct !420 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %3) br label %66 66: ; preds = %65, %_ZN4llvm5SDLocC2ENS_7SDValueE.exit - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %7) #35 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %6) #35 %67 = getelementptr inbounds nuw i8, ptr %0, i64 24 %68 = load i32, ptr %67, align 8, !tbaa !380 - store ptr %6, ptr %8, align 8, !tbaa !414 - %69 = getelementptr inbounds nuw i8, ptr %8, i64 8 + store ptr %5, ptr %7, align 8, !tbaa !414 + %69 = getelementptr inbounds nuw i8, ptr %7, i64 8 store i64 2, ptr %69, align 8, !tbaa !417 - %70 = call { ptr, i32 } @_ZN4llvm12SelectionDAG22FoldConstantArithmeticEjRKNS_5SDLocENS_3EVTENS_8ArrayRefINS_7SDValueEEENS_11SDNodeFlagsE(ptr noundef nonnull align 8 dereferenceable(952) %1, i32 noundef %68, ptr noundef nonnull align 8 dereferenceable(12) %5, i16 %.sroa.0.0.copyload.i, ptr %.sroa.21.0.copyload.i, ptr noundef nonnull byval(%"class.llvm::ArrayRef.273") align 8 %8, i32 0) #35 + %70 = call { ptr, i32 } @_ZN4llvm12SelectionDAG22FoldConstantArithmeticEjRKNS_5SDLocENS_3EVTENS_8ArrayRefINS_7SDValueEEENS_11SDNodeFlagsE(ptr noundef nonnull align 8 dereferenceable(952) %1, i32 noundef %68, ptr noundef nonnull align 8 dereferenceable(12) %4, i16 %.sroa.0.0.copyload.i, ptr %.sroa.21.0.copyload.i, ptr noundef nonnull byval(%"class.llvm::ArrayRef.273") align 8 %7, i32 0) #35 %.fca.0.extract14 = extractvalue { ptr, i32 } %70, 0 %.fca.1.extract15 = extractvalue { ptr, i32 } %70, 1 - store ptr %.fca.0.extract14, ptr %7, align 8 - %.sroa.217.0..sroa_idx = getelementptr inbounds nuw i8, ptr %7, i64 8 + store ptr %.fca.0.extract14, ptr %6, align 8 + %.sroa.217.0..sroa_idx = getelementptr inbounds nuw i8, ptr %6, i64 8 store i32 %.fca.1.extract15, ptr %.sroa.217.0..sroa_idx, align 8 %.not44 = icmp eq ptr %.fca.0.extract14, null br i1 %.not44, label %98, label %71 @@ -65331,67 +65330,64 @@ _ZNK4llvm5APInt6isZeroEv.exit: ; preds = %71 %86 = load ptr, ptr %30, align 8, !tbaa !393 %87 = select i1 %.0.i.i.i48, i64 1, i64 2 %88 = getelementptr inbounds nuw %"class.llvm::SDUse", ptr %86, i64 %87 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9) #35 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(12) %9, ptr noundef nonnull align 8 dereferenceable(12) %88, i64 12, i1 false) - %89 = getelementptr inbounds nuw i8, ptr %9, i64 16 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) #35 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(12) %8, ptr noundef nonnull align 8 dereferenceable(12) %88, i64 12, i1 false) + %89 = getelementptr inbounds nuw i8, ptr %8, i64 16 store ptr %.sroa.02.0.copyload, ptr %89, align 16, !tbaa !394 - %.sroa.6.0..sroa_idx6 = getelementptr inbounds nuw i8, ptr %9, i64 24 + %.sroa.6.0..sroa_idx6 = getelementptr inbounds nuw i8, ptr %8, i64 24 store i32 %.sroa.6.sroa.0.0.extract.trunc, ptr %.sroa.6.0..sroa_idx6, align 8, !tbaa !53 br i1 %24, label %90, label %91 90: ; preds = %85 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %3) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %3, ptr noundef nonnull align 16 dereferenceable(16) %9, i64 16, i1 false), !tbaa.struct !420 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(12) %9, ptr noundef nonnull align 16 dereferenceable(12) %89, i64 12, i1 false), !tbaa.struct !420 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(12) %89, ptr noundef nonnull align 8 dereferenceable(12) %3, i64 12, i1 false), !tbaa.struct !420 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %3) - br label %91 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(12) %8, ptr noundef nonnull align 16 dereferenceable(13) %88, i64 12, i1 false), !tbaa.struct !420 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(12) %88, ptr noundef nonnull align 8 dereferenceable(12) %87, i64 12, i1 false) + br label %90 91: ; preds = %90, %85 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %10) #35 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %9) #35 %92 = load i32, ptr %67, align 8, !tbaa !380 - store ptr %9, ptr %11, align 8, !tbaa !414 - %93 = getelementptr inbounds nuw i8, ptr %11, i64 8 + store ptr %8, ptr %10, align 8, !tbaa !414 + %93 = getelementptr inbounds nuw i8, ptr %10, i64 8 store i64 2, ptr %93, align 8, !tbaa !417 - %94 = call { ptr, i32 } @_ZN4llvm12SelectionDAG7getNodeEjRKNS_5SDLocENS_3EVTENS_8ArrayRefINS_7SDValueEEE(ptr noundef nonnull align 8 dereferenceable(952) %1, i32 noundef %92, ptr noundef nonnull align 8 dereferenceable(12) %5, i16 %.sroa.0.0.copyload.i, ptr %.sroa.21.0.copyload.i, ptr noundef nonnull byval(%"class.llvm::ArrayRef.273") align 8 %11) #35 + %94 = call { ptr, i32 } @_ZN4llvm12SelectionDAG7getNodeEjRKNS_5SDLocENS_3EVTENS_8ArrayRefINS_7SDValueEEE(ptr noundef nonnull align 8 dereferenceable(952) %1, i32 noundef %92, ptr noundef nonnull align 8 dereferenceable(12) %4, i16 %.sroa.0.0.copyload.i, ptr %.sroa.21.0.copyload.i, ptr noundef nonnull byval(%"class.llvm::ArrayRef.273") align 8 %10) #35 %.fca.0.extract6 = extractvalue { ptr, i32 } %94, 0 %.fca.1.extract7 = extractvalue { ptr, i32 } %94, 1 - store ptr %.fca.0.extract6, ptr %10, align 8 - %.sroa.29.0..sroa_idx = getelementptr inbounds nuw i8, ptr %10, i64 8 + store ptr %.fca.0.extract6, ptr %9, align 8 + %.sroa.29.0..sroa_idx = getelementptr inbounds nuw i8, ptr %9, i64 8 store i32 %.fca.1.extract7, ptr %.sroa.29.0..sroa_idx, align 8 - %. = select i1 %.0.i.i.i48, ptr %10, ptr %7 - %95 = select i1 %.0.i.i.i48, ptr %7, ptr %10 + %. = select i1 %.0.i.i.i48, ptr %9, ptr %6 + %95 = select i1 %.0.i.i.i48, ptr %6, ptr %9 %96 = load ptr, ptr %30, align 8, !tbaa !393 %.sroa.01.0.copyload = load ptr, ptr %96, align 8, !tbaa !394 %.sroa.22.0..sroa_idx = getelementptr inbounds nuw i8, ptr %96, i64 8 %.sroa.22.0.copyload = load i32, ptr %.sroa.22.0..sroa_idx, align 8, !tbaa !53 - %97 = call { ptr, i32 } @_ZN4llvm12SelectionDAG9getSelectERKNS_5SDLocENS_3EVTENS_7SDValueES5_S5_NS_11SDNodeFlagsE(ptr noundef nonnull align 8 dereferenceable(952) %1, ptr noundef nonnull align 8 dereferenceable(12) %5, i16 %.sroa.0.0.copyload.i, ptr %.sroa.21.0.copyload.i, ptr %.sroa.01.0.copyload, i32 %.sroa.22.0.copyload, ptr noundef nonnull byval(%"class.llvm::SDValue") align 8 %., ptr noundef nonnull byval(%"class.llvm::SDValue") align 8 %95, i32 0) + %97 = call { ptr, i32 } @_ZN4llvm12SelectionDAG9getSelectERKNS_5SDLocENS_3EVTENS_7SDValueES5_S5_NS_11SDNodeFlagsE(ptr noundef nonnull align 8 dereferenceable(952) %1, ptr noundef nonnull align 8 dereferenceable(12) %4, i16 %.sroa.0.0.copyload.i, ptr %.sroa.21.0.copyload.i, ptr %.sroa.01.0.copyload, i32 %.sroa.22.0.copyload, ptr noundef nonnull byval(%"class.llvm::SDValue") align 8 %., ptr noundef nonnull byval(%"class.llvm::SDValue") align 8 %95, i32 0) %.fca.0.extract = extractvalue { ptr, i32 } %97, 0 %.fca.1.extract = extractvalue { ptr, i32 } %97, 1 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %10) #35 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #35 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %9) #35 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #35 br label %98 98: ; preds = %83, %66, %91 - %.sroa.14.0 = phi i32 [ %.fca.1.extract, %91 ], [ 0, %66 ], [ 0, %83 ] - %.sroa.022.0 = phi ptr [ %.fca.0.extract, %91 ], [ null, %66 ], [ null, %83 ] - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7) #35 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #35 - %99 = load ptr, ptr %5, align 8, !tbaa !310 + %.sroa.14.0 = phi i32 [ %.fca.1.extract, %90 ], [ 0, %65 ], [ 0, %82 ] + %.sroa.022.0 = phi ptr [ %.fca.0.extract, %90 ], [ null, %65 ], [ null, %82 ] + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6) #35 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #35 + %99 = load ptr, ptr %4, align 8, !tbaa !310 %.not.i.i.i.i.i = icmp eq ptr %99, null br i1 %.not.i.i.i.i.i, label %_ZN4llvm5SDLocD2Ev.exit, label %100 100: ; preds = %98 - call void @_ZN4llvm16MetadataTracking7untrackEPvRNS_8MetadataE(ptr noundef nonnull align 8 dereferenceable(12) %5, ptr noundef nonnull align 4 dereferenceable(8) %99) #35 + call void @_ZN4llvm16MetadataTracking7untrackEPvRNS_8MetadataE(ptr noundef nonnull align 8 dereferenceable(12) %4, ptr noundef nonnull align 4 dereferenceable(8) %99) #35 br label %_ZN4llvm5SDLocD2Ev.exit _ZN4llvm5SDLocD2Ev.exit: ; preds = %98, %100 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5) #35 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4) #35 br label %_ZN4llvm8dyn_castINS_14ConstantSDNodeENS_7SDValueEEEDcRT0_.exit.thread _ZN4llvm8dyn_castINS_14ConstantSDNodeENS_7SDValueEEEDcRT0_.exit.thread: ; preds = %_ZN4llvm8dyn_castINS_14ConstantSDNodeENS_7SDValueEEEDcRT0_.exit, %_ZN4llvm8dyn_castINS_14ConstantSDNodeENS_7SDValueEEEDcRKT0_.exit, %45, %_ZN4llvm8dyn_castINS_14ConstantSDNodeENS_7SDValueEEEDcRT0_.exit59, %_ZN4llvm5SDLocD2Ev.exit, %27, %23, %2 - %.sroa.14.4 = phi i32 [ 0, %2 ], [ 0, %27 ], [ 0, %23 ], [ 0, %_ZN4llvm8dyn_castINS_14ConstantSDNodeENS_7SDValueEEEDcRT0_.exit ], [ 0, %_ZN4llvm8dyn_castINS_14ConstantSDNodeENS_7SDValueEEEDcRKT0_.exit ], [ %.sroa.14.0, %_ZN4llvm5SDLocD2Ev.exit ], [ 0, %_ZN4llvm8dyn_castINS_14ConstantSDNodeENS_7SDValueEEEDcRT0_.exit59 ], [ 0, %45 ] - %.sroa.022.4 = phi ptr [ null, %2 ], [ null, %27 ], [ null, %23 ], [ null, %_ZN4llvm8dyn_castINS_14ConstantSDNodeENS_7SDValueEEEDcRT0_.exit ], [ null, %_ZN4llvm8dyn_castINS_14ConstantSDNodeENS_7SDValueEEEDcRKT0_.exit ], [ %.sroa.022.0, %_ZN4llvm5SDLocD2Ev.exit ], [ null, %_ZN4llvm8dyn_castINS_14ConstantSDNodeENS_7SDValueEEEDcRT0_.exit59 ], [ null, %45 ] + %.sroa.14.4 = phi i32 [ 0, %2 ], [ 0, %26 ], [ 0, %22 ], [ 0, %_ZN4llvm8dyn_castINS_14ConstantSDNodeENS_7SDValueEEEDcRT0_.exit ], [ 0, %_ZN4llvm8dyn_castINS_14ConstantSDNodeENS_7SDValueEEEDcRKT0_.exit ], [ %.sroa.14.0, %_ZN4llvm5SDLocD2Ev.exit ], [ 0, %_ZN4llvm8dyn_castINS_14ConstantSDNodeENS_7SDValueEEEDcRT0_.exit59 ], [ 0, %44 ] + %.sroa.022.4 = phi ptr [ null, %2 ], [ null, %26 ], [ null, %22 ], [ null, %_ZN4llvm8dyn_castINS_14ConstantSDNodeENS_7SDValueEEEDcRT0_.exit ], [ null, %_ZN4llvm8dyn_castINS_14ConstantSDNodeENS_7SDValueEEEDcRKT0_.exit ], [ %.sroa.022.0, %_ZN4llvm5SDLocD2Ev.exit ], [ null, %_ZN4llvm8dyn_castINS_14ConstantSDNodeENS_7SDValueEEEDcRT0_.exit59 ], [ null, %44 ] %.fca.0.insert = insertvalue { ptr, i32 } poison, ptr %.sroa.022.4, 0 %.fca.1.insert = insertvalue { ptr, i32 } %.fca.0.insert, i32 %.sroa.14.4, 1 ret { ptr, i32 } %.fca.1.insert diff --git a/bench/llvm/optimized/SelectionDAGISel.ll b/bench/llvm/optimized/SelectionDAGISel.ll index ab70f412bb8..b264d56a970 100644 --- a/bench/llvm/optimized/SelectionDAGISel.ll +++ b/bench/llvm/optimized/SelectionDAGISel.ll @@ -5181,8 +5181,8 @@ _ZN4llvm12instructionsERKNS_8FunctionE.exit.i: ; preds = %.lr.ph.i.i.i.i.i, % br label %249 249: ; preds = %_ZN4llvm12InstIteratorIKNS_15SymbolTableListINS_10BasicBlockEJEEENS_14ilist_iteratorINS_12ilist_detail12node_optionsIS2_Lb0ELb0EvLb0EvEELb0ELb1EEENS_21ilist_iterator_w_bitsINS7_INS_11InstructionELb0ELb0EvLb1ES2_EELb0ELb1EEEKSB_EppEv.exit.i, %.lr.ph121.i - %.sroa.885.0120.i = phi ptr [ %.sroa.44.0.i.i, %.lr.ph121.i ], [ %.sroa.885.3.i, %_ZN4llvm12InstIteratorIKNS_15SymbolTableListINS_10BasicBlockEJEEENS_14ilist_iteratorINS_12ilist_detail12node_optionsIS2_Lb0ELb0EvLb0EvEELb0ELb1EEENS_21ilist_iterator_w_bitsINS7_INS_11InstructionELb0ELb0EvLb1ES2_EELb0ELb1EEEKSB_EppEv.exit.i ] - %.sroa.584.0119.i = phi ptr [ %.sroa.23.0.i.i, %.lr.ph121.i ], [ %.sroa.584.1.i, %_ZN4llvm12InstIteratorIKNS_15SymbolTableListINS_10BasicBlockEJEEENS_14ilist_iteratorINS_12ilist_detail12node_optionsIS2_Lb0ELb0EvLb0EvEELb0ELb1EEENS_21ilist_iterator_w_bitsINS7_INS_11InstructionELb0ELb0EvLb1ES2_EELb0ELb1EEEKSB_EppEv.exit.i ] + %.sroa.885.0120.i = phi ptr [ %.sroa.44.0.i.i, %.lr.ph122.i ], [ %.sroa.885.3.i, %_ZN4llvm12InstIteratorIKNS_15SymbolTableListINS_10BasicBlockEJEEENS_14ilist_iteratorINS_12ilist_detail12node_optionsIS2_Lb0ELb0EvLb0EvEELb0ELb1EEENS_21ilist_iterator_w_bitsINS7_INS_11InstructionELb0ELb0EvLb1ES2_EELb0ELb1EEEKSB_EppEv.exit.i ] + %.sroa.584.0119.i = phi ptr [ %.sroa.23.0.i.i, %.lr.ph122.i ], [ %.sroa.584.1.i, %_ZN4llvm12InstIteratorIKNS_15SymbolTableListINS_10BasicBlockEJEEENS_14ilist_iteratorINS_12ilist_detail12node_optionsIS2_Lb0ELb0EvLb0EvEELb0ELb1EEENS_21ilist_iterator_w_bitsINS7_INS_11InstructionELb0ELb0EvLb1ES2_EELb0ELb1EEEKSB_EppEv.exit.i ] %250 = getelementptr inbounds i8, ptr %.sroa.885.0120.i, i64 -24 %251 = load i8, ptr %250, align 8, !tbaa !804 %252 = icmp eq i8 %251, 85 @@ -5353,7 +5353,7 @@ _ZN4llvmL13filterDbgVarsENS_14iterator_rangeINS_14ilist_iteratorINS_12ilist_deta br i1 %328, label %_ZN4llvm12InstIteratorIKNS_15SymbolTableListINS_10BasicBlockEJEEENS_14ilist_iteratorINS_12ilist_detail12node_optionsIS2_Lb0ELb0EvLb0EvEELb0ELb1EEENS_21ilist_iterator_w_bitsINS7_INS_11InstructionELb0ELb0EvLb1ES2_EELb0ELb1EEEKSB_EppEv.exit.i, label %.lr.ph115.i, !llvm.loop !952 .lr.ph115.i: ; preds = %.lr.ph.i.i32.preheader.i, %.lr.ph.i.i32.i - %329 = phi ptr [ %327, %.lr.ph.i.i32.i ], [ %324, %.lr.ph.i.i32.preheader.i ] + %329 = phi ptr [ %327, %.lr.ph.i.i33.i ], [ %324, %.lr.ph.i.i33.preheader.i ] %330 = getelementptr inbounds nuw i8, ptr %329, i64 32 %331 = load ptr, ptr %330, align 8, !tbaa !951 %332 = getelementptr inbounds nuw i8, ptr %329, i64 24 @@ -5364,8 +5364,8 @@ _ZN4llvmL13filterDbgVarsENS_14iterator_rangeINS_14ilist_iteratorINS_12ilist_deta br label %_ZN4llvm12InstIteratorIKNS_15SymbolTableListINS_10BasicBlockEJEEENS_14ilist_iteratorINS_12ilist_detail12node_optionsIS2_Lb0ELb0EvLb0EvEELb0ELb1EEENS_21ilist_iterator_w_bitsINS7_INS_11InstructionELb0ELb0EvLb1ES2_EELb0ELb1EEEKSB_EppEv.exit.i, !llvm.loop !952 _ZN4llvm12InstIteratorIKNS_15SymbolTableListINS_10BasicBlockEJEEENS_14ilist_iteratorINS_12ilist_detail12node_optionsIS2_Lb0ELb0EvLb0EvEELb0ELb1EEENS_21ilist_iterator_w_bitsINS7_INS_11InstructionELb0ELb0EvLb1ES2_EELb0ELb1EEEKSB_EppEv.exit.i: ; preds = %.lr.ph.i.i32.i, %._ZN4llvm12InstIteratorIKNS_15SymbolTableListINS_10BasicBlockEJEEENS_14ilist_iteratorINS_12ilist_detail12node_optionsIS2_Lb0ELb0EvLb0EvEELb0ELb1EEENS_21ilist_iterator_w_bitsINS7_INS_11InstructionELb0ELb0EvLb1ES2_EELb0ELb1EEEKSB_EppEv.exit.loopexit_crit_edge.i, %.lr.ph.i.i32.preheader.i, %._crit_edge.i - %.sroa.584.1.i = phi ptr [ %.sroa.584.0119.i, %._crit_edge.i ], [ %329, %._ZN4llvm12InstIteratorIKNS_15SymbolTableListINS_10BasicBlockEJEEENS_14ilist_iteratorINS_12ilist_detail12node_optionsIS2_Lb0ELb0EvLb0EvEELb0ELb1EEENS_21ilist_iterator_w_bitsINS7_INS_11InstructionELb0ELb0EvLb1ES2_EELb0ELb1EEEKSB_EppEv.exit.loopexit_crit_edge.i ], [ %324, %.lr.ph.i.i32.preheader.i ], [ %327, %.lr.ph.i.i32.i ] - %.sroa.885.3.i = phi ptr [ %320, %._crit_edge.i ], [ %331, %._ZN4llvm12InstIteratorIKNS_15SymbolTableListINS_10BasicBlockEJEEENS_14ilist_iteratorINS_12ilist_detail12node_optionsIS2_Lb0ELb0EvLb0EvEELb0ELb1EEENS_21ilist_iterator_w_bitsINS7_INS_11InstructionELb0ELb0EvLb1ES2_EELb0ELb1EEEKSB_EppEv.exit.loopexit_crit_edge.i ], [ %320, %.lr.ph.i.i32.preheader.i ], [ %331, %.lr.ph.i.i32.i ] + %.sroa.584.1.i = phi ptr [ %.sroa.584.0119.i, %._crit_edge.i ], [ %329, %._ZN4llvm12InstIteratorIKNS_15SymbolTableListINS_10BasicBlockEJEEENS_14ilist_iteratorINS_12ilist_detail12node_optionsIS2_Lb0ELb0EvLb0EvEELb0ELb1EEENS_21ilist_iterator_w_bitsINS7_INS_11InstructionELb0ELb0EvLb1ES2_EELb0ELb1EEEKSB_EppEv.exit.loopexit_crit_edge.i ], [ %324, %.lr.ph.i.i33.preheader.i ], [ %327, %.lr.ph.i.i33.i ] + %.sroa.885.3.i = phi ptr [ %320, %._crit_edge.i ], [ %331, %._ZN4llvm12InstIteratorIKNS_15SymbolTableListINS_10BasicBlockEJEEENS_14ilist_iteratorINS_12ilist_detail12node_optionsIS2_Lb0ELb0EvLb0EvEELb0ELb1EEENS_21ilist_iterator_w_bitsINS7_INS_11InstructionELb0ELb0EvLb1ES2_EELb0ELb1EEEKSB_EppEv.exit.loopexit_crit_edge.i ], [ %320, %.lr.ph.i.i33.preheader.i ], [ %331, %.lr.ph.i.i33.i ] %334 = icmp eq ptr %.sroa.584.1.i, %221 br i1 %334, label %_ZL18processDbgDeclaresRN4llvm20FunctionLoweringInfoE.exit, label %249 @@ -5420,7 +5420,7 @@ _ZN4llvm8DebugLocD2Ev.exit35.i: ; preds = %348 br i1 %.not36.i.i53.i, label %._crit_edge.i.i59.i, label %.lr.ph.i.i54.i .lr.ph.i.i54.i: ; preds = %355, %.critedge.i.i57.i - %.02937.i.i55.i = phi ptr [ %361, %.critedge.i.i57.i ], [ %356, %355 ] + %.02937.i.i55.i = phi ptr [ %361, %.critedge.i.i58.i ], [ %356, %355 ] %360 = load ptr, ptr %.02937.i.i55.i, align 8, !tbaa !243, !noalias !993 %.not17.i.i56.i = icmp eq ptr %360, %.sroa.068.0114.i br i1 %.not17.i.i56.i, label %_ZN4llvm15SmallPtrSetImplIPKNS_17DbgVariableRecordEE6insertES3_.exit.i, label %.critedge.i.i57.i diff --git a/bench/meilisearch-rs/optimized/2zqq886j9ovgawmv.ll b/bench/meilisearch-rs/optimized/2zqq886j9ovgawmv.ll index 05beb3f04cc..596fc15eb23 100644 --- a/bench/meilisearch-rs/optimized/2zqq886j9ovgawmv.ll +++ b/bench/meilisearch-rs/optimized/2zqq886j9ovgawmv.ll @@ -81841,7 +81841,6 @@ _ZN9hashbrown3raw5inner13RawTableInner5erase17ha97d3813bc4cc207E.llvm.6955530683 ; Function Attrs: inlinehint nonlazybind uwtable define hidden void @"_ZN90_$LT$meilisearch..extractors..payload..Payload$u20$as$u20$futures_core..stream..Stream$GT$9poll_next17h5f2887bf01d81e56E.llvm.6955530683240799244"(ptr dead_on_unwind noalias noundef writable writeonly sret([224 x i8]) align 8 captures(none) dereferenceable(224) initializes((0, 1)) %0, ptr noalias noundef align 8 dereferenceable(72) %1, ptr noalias noundef align 8 dereferenceable(32) %2) unnamed_addr #4 personality ptr @rust_eh_personality { - %.sroa.668.sroa.4 = alloca [207 x i8], align 1 %4 = alloca [40 x i8], align 8 %.sroa.46 = alloca [39 x i8], align 1 %5 = alloca [32 x i8], align 8 @@ -81925,14 +81924,11 @@ define hidden void @"_ZN90_$LT$meilisearch..extractors..payload..Payload$u20$as$ 37: ; preds = %11 %38 = getelementptr inbounds nuw i8, ptr %4, i64 1 - call void @llvm.lifetime.start.p0(i64 207, ptr nonnull %.sroa.668.sroa.4) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(39) %.sroa.668.sroa.4, ptr noundef nonnull align 1 dereferenceable(39) %38, i64 39, i1 false) %.sroa.733.sroa.5.sroa.4.0..sroa.733.sroa.5.0..sroa.733.0..sroa_idx34.sroa_idx.sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 17 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(23) %.sroa.733.sroa.5.sroa.4.0..sroa.733.sroa.5.0..sroa.733.0..sroa_idx34.sroa_idx.sroa_idx, ptr noundef nonnull align 1 dereferenceable(23) %38, i64 23, i1 false) - %.sroa.668.sroa.4.24..sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.668.sroa.4, i64 23 + %.sroa.668.sroa.4.24..sroa_idx = getelementptr inbounds nuw i8, ptr %4, i64 24 %.sroa.9.0..sroa_idx35 = getelementptr inbounds nuw i8, ptr %0, i64 40 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(184) %.sroa.9.0..sroa_idx35, ptr noundef nonnull align 1 dereferenceable(184) %.sroa.668.sroa.4.24..sroa_idx, i64 184, i1 false) - call void @llvm.lifetime.end.p0(i64 207, ptr nonnull %.sroa.668.sroa.4) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.9.0..sroa_idx35, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.668.sroa.4.24..sroa_idx, i64 16, i1 false) store i8 17, ptr %0, align 8 %.sroa.733.sroa.4.0..sroa.733.0..sroa_idx34.sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 8 store i64 0, ptr %.sroa.733.sroa.4.0..sroa.733.0..sroa_idx34.sroa_idx, align 8 @@ -81948,7 +81944,7 @@ define hidden void @"_ZN90_$LT$meilisearch..extractors..payload..Payload$u20$as$ 41: ; preds = %30 invoke fastcc void @"_ZN4core3ptr102drop_in_place$LT$core..result..Result$LT$bytes..bytes..Bytes$C$actix_http..error..PayloadError$GT$$GT$17hb391a9fd797fcf46E"(ptr noalias noundef align 8 dereferenceable(40) %6) #69 - to label %40 unwind label %42 + to label %41 unwind label %42 42: ; preds = %41 %43 = landingpad { ptr, i32 } diff --git a/bench/meilisearch-rs/optimized/3f4k2xees4fvt0r.ll b/bench/meilisearch-rs/optimized/3f4k2xees4fvt0r.ll index 5c7fd943023..56336863b32 100644 --- a/bench/meilisearch-rs/optimized/3f4k2xees4fvt0r.ll +++ b/bench/meilisearch-rs/optimized/3f4k2xees4fvt0r.ll @@ -74590,9 +74590,7 @@ define internal fastcc void @"_ZN81_$LT$core..marker..PhantomData$LT$T$GT$$u20$a to label %"_ZN4core3ptr110drop_in_place$LT$core..result..Result$LT$jsonwebtoken..validation..Audience$C$serde_json..error..Error$GT$$GT$17h166aeab434d394c5E.exit.i.i.i.i" unwind label %30, !noalias !14250 39: ; preds = %32 - %.sroa.445.0..sroa_idx.i.i.i.i = getelementptr inbounds nuw i8, ptr %8, i64 16 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.445.0..sroa_idx.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !14246 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %.sroa.13.i.i.i, ptr noundef nonnull align 8 dereferenceable(40) %.sroa.445.0..sroa_idx.i.i.i.i, i64 40, i1 false), !noalias !14244 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.13.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !14244 call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %8), !noalias !14246 br label %71 @@ -74844,9 +74842,7 @@ define internal fastcc void @"_ZN81_$LT$core..marker..PhantomData$LT$T$GT$$u20$a to label %"_ZN4core3ptr108drop_in_place$LT$core..result..Result$LT$jsonwebtoken..validation..Issuer$C$serde_json..error..Error$GT$$GT$17h4f0b5e0f06a0a242E.exit.i.i.i.i" unwind label %30, !noalias !14310 39: ; preds = %32 - %.sroa.445.0..sroa_idx.i.i.i.i = getelementptr inbounds nuw i8, ptr %8, i64 16 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.445.0..sroa_idx.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !14306 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %.sroa.13.i.i.i, ptr noundef nonnull align 8 dereferenceable(40) %.sroa.445.0..sroa_idx.i.i.i.i, i64 40, i1 false), !noalias !14304 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.13.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !14304 call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %8), !noalias !14306 br label %71 diff --git a/bench/ockam-rs/optimized/2btxi82q4wq22oyk.ll b/bench/ockam-rs/optimized/2btxi82q4wq22oyk.ll index 1c872712d35..9076fabf678 100644 --- a/bench/ockam-rs/optimized/2btxi82q4wq22oyk.ll +++ b/bench/ockam-rs/optimized/2btxi82q4wq22oyk.ll @@ -10605,14 +10605,12 @@ define void @_ZN10ockam_abac6parser5parse17h9d4ec0a6f5235254E(ptr noalias nounde %28 = alloca [1 x { ptr, ptr }], align 8 %29 = alloca { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, align 8 %30 = alloca { { { ptr, i64 }, i64 } }, align 8 - %.sroa.0105 = alloca [32 x i8], align 8 %31 = alloca { i8, [31 x i8] }, align 8 %32 = alloca { i8, [31 x i8] }, align 8 %33 = alloca { ptr, i64 }, align 8 %34 = alloca [1 x { ptr, ptr }], align 8 %35 = alloca { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, align 8 %36 = alloca { { { ptr, i64 }, i64 } }, align 8 - %.sroa.093 = alloca [32 x i8], align 8 %37 = alloca { i8, [31 x i8] }, align 8 %38 = alloca { i8, [31 x i8] }, align 8 %39 = alloca { ptr, i64 }, align 8 @@ -11421,7 +11419,6 @@ _ZN10ockam_abac6parser13ident_pattern17hdb12897b9694b045E.exit: ; preds = %309 to label %323 unwind label %.loopexit546 316: ; preds = %313 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %.sroa.093) call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %35) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %34) store ptr %39, ptr %34, align 8 @@ -11442,11 +11439,9 @@ _ZN10ockam_abac6parser13ident_pattern17hdb12897b9694b045E.exit: ; preds = %309 322: ; preds = %316 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %35) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %34) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.093, ptr noundef nonnull align 8 dereferenceable(24) %36, i64 24, i1 false) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.093, i64 32, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %36, i64 24, i1 false) %.sroa.494.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 32 store i8 11, ptr %.sroa.494.0..sroa_idx, align 8 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %.sroa.093) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %39) br label %263 @@ -11568,7 +11563,6 @@ _ZN10ockam_abac6parser13ident_pattern17hdb12897b9694b045E.exit318: ; preds = %34 to label %357 unwind label %.loopexit546 350: ; preds = %347 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %.sroa.0105) call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %29) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %28) store ptr %33, ptr %28, align 8 @@ -11589,11 +11583,9 @@ _ZN10ockam_abac6parser13ident_pattern17hdb12897b9694b045E.exit318: ; preds = %34 356: ; preds = %350 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %29) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %28) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.0105, ptr noundef nonnull align 8 dereferenceable(24) %30, i64 24, i1 false) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.0105, i64 32, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %30, i64 24, i1 false) %.sroa.4106.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 32 store i8 11, ptr %.sroa.4106.0..sroa_idx, align 8 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %.sroa.0105) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %33) br label %263 diff --git a/bench/ockam-rs/optimized/2qsd987rmmdpxbp7.ll b/bench/ockam-rs/optimized/2qsd987rmmdpxbp7.ll index 64726c14cb5..16af23ff9c1 100644 --- a/bench/ockam-rs/optimized/2qsd987rmmdpxbp7.ll +++ b/bench/ockam-rs/optimized/2qsd987rmmdpxbp7.ll @@ -9224,7 +9224,6 @@ define hidden void @"_ZN9sqlx_core4pool8executor95_$LT$impl$u20$sqlx_core..execu %.sroa.633.i = alloca [10 x i32], align 8 %.sroa.10.i = alloca [10 x i32], align 8 %.sroa.4151 = alloca [5 x i64], align 8 - %.sroa.0144 = alloca { { ptr, [3 x i64] }, [6 x i64] }, align 8 %.sroa.5137 = alloca [4 x i64], align 8 %.sroa.11134 = alloca [4 x i64], align 8 %18 = alloca { { ptr, [1 x i64] }, { ptr, [2 x i64] }, i8, {}, [7 x i8] }, align 8 @@ -9862,7 +9861,7 @@ default.unreachable182: ; preds = %249, %87, %46, %35, to label %223 unwind label %221 common.ret: ; preds = %"_ZN4core3ptr79drop_in_place$LT$sqlx_core..pool..Pool$LT$sqlx_sqlite..database..Sqlite$GT$$GT$17hee725c20d674c7a6E.exit", %343, %321, %220 - %.sink = phi i8 [ 1, %"_ZN4core3ptr79drop_in_place$LT$sqlx_core..pool..Pool$LT$sqlx_sqlite..database..Sqlite$GT$$GT$17hee725c20d674c7a6E.exit" ], [ 4, %343 ], [ 5, %321 ], [ 3, %220 ] + %.sink = phi i8 [ 1, %"_ZN4core3ptr79drop_in_place$LT$sqlx_core..pool..Pool$LT$sqlx_sqlite..database..Sqlite$GT$$GT$17hee725c20d674c7a6E.exit" ], [ 4, %342 ], [ 5, %321 ], [ 3, %220 ] store i8 %.sink, ptr %19, align 1 ret void @@ -9931,7 +9930,7 @@ common.ret: ; preds = %"_ZN4core3ptr79drop br label %327 .body94: ; preds = %392, %361, %365, %344, %233, %228 - %.pn65.pn.pn = phi { ptr, i32 } [ %.pn65.pn, %344 ], [ %234, %233 ], [ %229, %228 ], [ %362, %361 ], [ %366, %365 ], [ %393, %392 ] + %.pn65.pn.pn = phi { ptr, i32 } [ %.pn65.pn, %343 ], [ %234, %233 ], [ %229, %228 ], [ %362, %360 ], [ %366, %364 ], [ %393, %391 ] invoke void @"_ZN4core3ptr101drop_in_place$LT$sqlx_core..pool..connection..PoolConnection$LT$sqlx_sqlite..database..Sqlite$GT$$GT$17h8e9655385b831fabE"(ptr noalias noundef nonnull align 8 dereferenceable(64) %1) #38 to label %247 unwind label %245 @@ -9969,13 +9968,12 @@ common.ret: ; preds = %"_ZN4core3ptr79drop unreachable 247: ; preds = %221, %.body, %367, %.body94 - %.pn69.pn = phi { ptr, i32 } [ %.pn65.pn.pn, %.body94 ], [ %368, %367 ], [ %222, %221 ], [ %.pn57, %.body ] + %.pn69.pn = phi { ptr, i32 } [ %.pn65.pn.pn, %.body94 ], [ %368, %366 ], [ %222, %221 ], [ %.pn57, %.body ] %248 = getelementptr inbounds nuw i8, ptr %1, i64 88 invoke void @"_ZN4core3ptr162drop_in_place$LT$sqlx_core..ext..async_stream..Yielder$LT$either..Either$LT$sqlx_sqlite..query_result..SqliteQueryResult$C$sqlx_sqlite..row..SqliteRow$GT$$GT$$GT$17h5c5347d677b525d0E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %248) #38 - to label %435 unwind label %245 + to label %434 unwind label %245 249: ; preds = %3 - call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %.sroa.0144) %.phi.trans.insert180 = getelementptr inbounds nuw i8, ptr %1, i64 250 %.pre181 = load i8, ptr %.phi.trans.insert180, align 2, !range !205 %250 = getelementptr inbounds nuw i8, ptr %1, i64 160 @@ -10143,12 +10141,12 @@ _ZN3std9panicking9panicking17hfd7edc4736053a04E.exit.thread.i.i.i: ; preds = %28 %310 = getelementptr inbounds nuw i8, ptr %1, i64 192 %311 = load i64, ptr %310, align 8, !range !291, !alias.scope !1516, !noundef !13 %312 = icmp eq i64 %311, 0 - br i1 %312, label %325, label %313 + br i1 %312, label %324, label %313 313: ; preds = %309 %314 = getelementptr inbounds nuw i8, ptr %1, i64 200 invoke fastcc void @"_ZN4core3ptr117drop_in_place$LT$either..Either$LT$sqlx_sqlite..query_result..SqliteQueryResult$C$sqlx_sqlite..row..SqliteRow$GT$$GT$17h33ace4eb4d8f319bE"(ptr noalias noundef align 8 dereferenceable(32) %314) - to label %325 unwind label %315 + to label %324 unwind label %315 315: ; preds = %313 %316 = landingpad { ptr, i32 } @@ -10178,26 +10176,21 @@ _ZN3std9panicking9panicking17hfd7edc4736053a04E.exit.thread.i.i.i: ; preds = %28 store i64 17, ptr %0, align 8 br label %common.ret -324: ; preds = %.body86 - call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %.sroa.0144) - br label %344 - -325: ; preds = %309, %313 - %326 = getelementptr inbounds nuw i8, ptr %1, i64 249 - store i8 0, ptr %326, align 1 +324: ; preds = %309, %313 + %325 = getelementptr inbounds nuw i8, ptr %1, i64 249 + store i8 0, ptr %325, align 1 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) store i8 1, ptr %251, align 2 - call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %.sroa.0144) - br label %327 + br label %326 -327: ; preds = %325, %235 +327: ; preds = %324, %235 %328 = getelementptr inbounds nuw i8, ptr %1, i64 64 %329 = getelementptr inbounds nuw i8, ptr %1, i64 160 store ptr %328, ptr %329, align 8 br label %330 330: ; preds = %._crit_edge177, %327 - %331 = phi ptr [ %.pre179, %._crit_edge177 ], [ %328, %327 ] + %331 = phi ptr [ %.pre179, %._crit_edge177 ], [ %328, %326 ] call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %.sroa.11134) %332 = getelementptr inbounds nuw i8, ptr %1, i64 160 call void @llvm.experimental.noalias.scope.decl(metadata !1413) @@ -10211,13 +10204,13 @@ _ZN3std9panicking9panicking17hfd7edc4736053a04E.exit.thread.i.i.i: ; preds = %28 %335 = load ptr, ptr %334, align 8, !alias.scope !1529, !noalias !1532, !nonnull !13, !align !15, !noundef !13 %336 = getelementptr inbounds nuw i8, ptr %335, i64 24 %337 = load ptr, ptr %336, align 8, !invariant.load !13, !noalias !1539, !nonnull !13 - invoke void %337(ptr noalias noundef nonnull sret({ i64, [5 x i64] }) align 8 captures(none) dereferenceable(48) %5, ptr noundef nonnull align 1 %333, ptr noalias noundef nonnull align 8 dereferenceable(8) %2) + invoke void %336(ptr noalias noundef nonnull sret({ i64, [5 x i64] }) align 8 captures(none) dereferenceable(48) %5, ptr noundef nonnull align 1 %333, ptr noalias noundef nonnull align 8 dereferenceable(8) %2) to label %.noexc92 unwind label %341 .noexc92: ; preds = %330 call void @llvm.experimental.noalias.scope.decl(metadata !1540) %338 = load i64, ptr %5, align 8, !range !17, !alias.scope !1543, !noalias !1545, !noundef !13 - switch i64 %338, label %385 [ + switch i64 %338, label %384 [ i64 18, label %343 i64 17, label %346 i64 16, label %339 @@ -10241,14 +10234,14 @@ _ZN3std9panicking9panicking17hfd7edc4736053a04E.exit.thread.i.i.i: ; preds = %28 store i64 17, ptr %0, align 8 br label %common.ret -344: ; preds = %341, %324 - %.pn65.pn = phi { ptr, i32 } [ %.pn63, %324 ], [ %342, %341 ] +344: ; preds = %.body86, %340 + %.pn65.pn = phi { ptr, i32 } [ %341, %340 ], [ %.pn63, %.body86 ] %345 = getelementptr inbounds nuw i8, ptr %1, i64 64 invoke void @"_ZN4core3ptr301drop_in_place$LT$core..pin..Pin$LT$alloc..boxed..Box$LT$dyn$u20$futures_core..stream..Stream$u2b$Item$u20$$u3d$$u20$core..result..Result$LT$either..Either$LT$sqlx_sqlite..query_result..SqliteQueryResult$C$sqlx_sqlite..row..SqliteRow$GT$$C$sqlx_core..error..Error$GT$$u2b$core..marker..Send$GT$$GT$$GT$17h2c3a7f237b49f4deE"(ptr noalias noundef nonnull align 8 dereferenceable(16) %345) #38 to label %.body94 unwind label %245 346: ; preds = %339, %.noexc92 - %.sroa.9.0.ph.ph.i = phi i64 [ 1, %339 ], [ 0, %.noexc92 ] + %.sroa.9.0.ph.ph.i = phi i64 [ 1, %338 ], [ 0, %.noexc92 ] call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %5), !noalias !1519 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.11134, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.13.i, i64 32, i1 false), !noalias !1546 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %.sroa.13.i) @@ -10267,13 +10260,11 @@ _ZN3std9panicking9panicking17hfd7edc4736053a04E.exit.thread.i.i.i: ; preds = %28 br i1 %.not, label %355, label %.thread184 .thread184: ; preds = %346 - call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %.sroa.0144) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.0144, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.5137, i64 32, i1 false) - %351 = getelementptr inbounds nuw i8, ptr %1, i64 80 - %352 = load ptr, ptr %351, align 8, !nonnull !13, !align !15, !noundef !13 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %332, ptr noundef nonnull align 8 dereferenceable(80) %.sroa.0144, i64 80, i1 false) + %350 = getelementptr inbounds nuw i8, ptr %1, i64 80 + %351 = load ptr, ptr %350, align 8, !nonnull !13, !align !15, !noundef !13 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %331, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.5137, i64 32, i1 false) %.sroa.6145.0..sroa_idx = getelementptr inbounds nuw i8, ptr %1, i64 240 - store ptr %352, ptr %.sroa.6145.0..sroa_idx, align 8 + store ptr %351, ptr %.sroa.6145.0..sroa_idx, align 8 %.sroa.8147.0..sroa_idx = getelementptr inbounds nuw i8, ptr %1, i64 250 store i8 0, ptr %.sroa.8147.0..sroa_idx, align 2 %353 = getelementptr inbounds nuw i8, ptr %1, i64 160 @@ -10288,7 +10279,7 @@ _ZN3std9panicking9panicking17hfd7edc4736053a04E.exit.thread.i.i.i: ; preds = %28 %358 = getelementptr inbounds nuw i8, ptr %1, i64 72 %359 = load ptr, ptr %358, align 8, !alias.scope !1559, !nonnull !13, !align !15, !noundef !13 %360 = load ptr, ptr %359, align 8, !invariant.load !13, !noalias !1559, !nonnull !13 - invoke void %360(ptr noundef nonnull align 1 %357) + invoke void %359(ptr noundef nonnull align 1 %357) to label %"_ZN4core3ptr279drop_in_place$LT$alloc..boxed..Box$LT$dyn$u20$futures_core..stream..Stream$u2b$Item$u20$$u3d$$u20$core..result..Result$LT$either..Either$LT$sqlx_sqlite..query_result..SqliteQueryResult$C$sqlx_sqlite..row..SqliteRow$GT$$C$sqlx_core..error..Error$GT$$u2b$core..marker..Send$GT$$GT$17h48ed214a19ba6ac5E.llvm.6910714394678848989.exit.i" unwind label %361, !noalias !1559 361: ; preds = %355 @@ -10314,7 +10305,7 @@ _ZN3std9panicking9panicking17hfd7edc4736053a04E.exit.thread.i.i.i: ; preds = %28 "_ZN4core3ptr301drop_in_place$LT$core..pin..Pin$LT$alloc..boxed..Box$LT$dyn$u20$futures_core..stream..Stream$u2b$Item$u20$$u3d$$u20$core..result..Result$LT$either..Either$LT$sqlx_sqlite..query_result..SqliteQueryResult$C$sqlx_sqlite..row..SqliteRow$GT$$C$sqlx_core..error..Error$GT$$u2b$core..marker..Send$GT$$GT$$GT$17h2c3a7f237b49f4deE.exit": ; preds = %"_ZN4core3ptr279drop_in_place$LT$alloc..boxed..Box$LT$dyn$u20$futures_core..stream..Stream$u2b$Item$u20$$u3d$$u20$core..result..Result$LT$either..Either$LT$sqlx_sqlite..query_result..SqliteQueryResult$C$sqlx_sqlite..row..SqliteRow$GT$$C$sqlx_core..error..Error$GT$$u2b$core..marker..Send$GT$$GT$17h48ed214a19ba6ac5E.llvm.6910714394678848989.exit.i" invoke void @"_ZN4core3ptr101drop_in_place$LT$sqlx_core..pool..connection..PoolConnection$LT$sqlx_sqlite..database..Sqlite$GT$$GT$17h8e9655385b831fabE"(ptr noalias noundef nonnull align 8 dereferenceable(64) %1) - to label %369 unwind label %367 + to label %368 unwind label %367 367: ; preds = %"_ZN4core3ptr301drop_in_place$LT$core..pin..Pin$LT$alloc..boxed..Box$LT$dyn$u20$futures_core..stream..Stream$u2b$Item$u20$$u3d$$u20$core..result..Result$LT$either..Either$LT$sqlx_sqlite..query_result..SqliteQueryResult$C$sqlx_sqlite..row..SqliteRow$GT$$C$sqlx_core..error..Error$GT$$u2b$core..marker..Send$GT$$GT$$GT$17h2c3a7f237b49f4deE.exit104", %"_ZN4core3ptr301drop_in_place$LT$core..pin..Pin$LT$alloc..boxed..Box$LT$dyn$u20$futures_core..stream..Stream$u2b$Item$u20$$u3d$$u20$core..result..Result$LT$either..Either$LT$sqlx_sqlite..query_result..SqliteQueryResult$C$sqlx_sqlite..row..SqliteRow$GT$$C$sqlx_core..error..Error$GT$$u2b$core..marker..Send$GT$$GT$$GT$17h2c3a7f237b49f4deE.exit" %368 = landingpad { ptr, i32 } @@ -10359,7 +10350,7 @@ _ZN3std9panicking9panicking17hfd7edc4736053a04E.exit.thread.i.i.i: ; preds = %28 to label %"_ZN4core3ptr79drop_in_place$LT$sqlx_core..pool..Pool$LT$sqlx_sqlite..database..Sqlite$GT$$GT$17hee725c20d674c7a6E.exit" unwind label %383 .body108: ; preds = %420, %383, %441, %437, %432, %404, %375 - %.pn74 = phi { ptr, i32 } [ %.pn72, %432 ], [ %.pn72, %404 ], [ %.pn69.pn, %441 ], [ %.pn69.pn, %437 ], [ %376, %375 ], [ %384, %383 ], [ %421, %420 ] + %.pn74 = phi { ptr, i32 } [ %.pn72, %431 ], [ %.pn72, %403 ], [ %.pn69.pn, %440 ], [ %.pn69.pn, %436 ], [ %376, %374 ], [ %384, %382 ], [ %421, %419 ] store i8 2, ptr %19, align 1 resume { ptr, i32 } %.pn74 @@ -10369,7 +10360,7 @@ _ZN3std9panicking9panicking17hfd7edc4736053a04E.exit.thread.i.i.i: ; preds = %28 br label %.body108 "_ZN4core3ptr79drop_in_place$LT$sqlx_core..pool..Pool$LT$sqlx_sqlite..database..Sqlite$GT$$GT$17hee725c20d674c7a6E.exit": ; preds = %"_ZN4core3ptr60drop_in_place$LT$sqlx_sqlite..arguments..SqliteArguments$GT$17h8322ff45cb2c11d6E.exit.i.i", %413, %"_ZN4core3ptr162drop_in_place$LT$sqlx_core..ext..async_stream..Yielder$LT$either..Either$LT$sqlx_sqlite..query_result..SqliteQueryResult$C$sqlx_sqlite..row..SqliteRow$GT$$GT$$GT$17h5c5347d677b525d0E.exit98", %382, %"_ZN4core3ptr79drop_in_place$LT$sqlx_core..pool..Pool$LT$sqlx_sqlite..database..Sqlite$GT$$GT$17hee725c20d674c7a6E.exit106" - %.sroa.0149.1 = phi i64 [ %.sroa.0149.0, %"_ZN4core3ptr79drop_in_place$LT$sqlx_core..pool..Pool$LT$sqlx_sqlite..database..Sqlite$GT$$GT$17hee725c20d674c7a6E.exit106" ], [ 16, %382 ], [ 16, %"_ZN4core3ptr162drop_in_place$LT$sqlx_core..ext..async_stream..Yielder$LT$either..Either$LT$sqlx_sqlite..query_result..SqliteQueryResult$C$sqlx_sqlite..row..SqliteRow$GT$$GT$$GT$17h5c5347d677b525d0E.exit98" ], [ %.sroa.0149.0, %413 ], [ %.sroa.0149.0, %"_ZN4core3ptr60drop_in_place$LT$sqlx_sqlite..arguments..SqliteArguments$GT$17h8322ff45cb2c11d6E.exit.i.i" ] + %.sroa.0149.1 = phi i64 [ %.sroa.0149.0, %"_ZN4core3ptr79drop_in_place$LT$sqlx_core..pool..Pool$LT$sqlx_sqlite..database..Sqlite$GT$$GT$17hee725c20d674c7a6E.exit106" ], [ 16, %381 ], [ 16, %"_ZN4core3ptr162drop_in_place$LT$sqlx_core..ext..async_stream..Yielder$LT$either..Either$LT$sqlx_sqlite..query_result..SqliteQueryResult$C$sqlx_sqlite..row..SqliteRow$GT$$GT$$GT$17h5c5347d677b525d0E.exit98" ], [ %.sroa.0149.0, %412 ], [ %.sroa.0149.0, %"_ZN4core3ptr60drop_in_place$LT$sqlx_sqlite..arguments..SqliteArguments$GT$17h8322ff45cb2c11d6E.exit.i.i" ] store i64 %.sroa.0149.1, ptr %0, align 8 %.sroa.4151.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %.sroa.4151.0..sroa_idx, ptr noundef nonnull align 8 dereferenceable(40) %.sroa.4151, i64 40, i1 false) @@ -10400,7 +10391,7 @@ _ZN3std9panicking9panicking17hfd7edc4736053a04E.exit.thread.i.i.i: ; preds = %28 %389 = getelementptr inbounds nuw i8, ptr %1, i64 72 %390 = load ptr, ptr %389, align 8, !alias.scope !1587, !nonnull !13, !align !15, !noundef !13 %391 = load ptr, ptr %390, align 8, !invariant.load !13, !noalias !1587, !nonnull !13 - invoke void %391(ptr noundef nonnull align 1 %388) + invoke void %390(ptr noundef nonnull align 1 %388) to label %"_ZN4core3ptr279drop_in_place$LT$alloc..boxed..Box$LT$dyn$u20$futures_core..stream..Stream$u2b$Item$u20$$u3d$$u20$core..result..Result$LT$either..Either$LT$sqlx_sqlite..query_result..SqliteQueryResult$C$sqlx_sqlite..row..SqliteRow$GT$$C$sqlx_core..error..Error$GT$$u2b$core..marker..Send$GT$$GT$17h48ed214a19ba6ac5E.llvm.6910714394678848989.exit.i100" unwind label %392, !noalias !1587 392: ; preds = %385 @@ -10428,7 +10419,7 @@ _ZN3std9panicking9panicking17hfd7edc4736053a04E.exit.thread.i.i.i: ; preds = %28 cleanup %398 = getelementptr inbounds nuw i8, ptr %1, i64 96 invoke void @"_ZN4core3ptr79drop_in_place$LT$sqlx_core..pool..Pool$LT$sqlx_sqlite..database..Sqlite$GT$$GT$17hee725c20d674c7a6E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %398) #38 - to label %404 unwind label %245 + to label %403 unwind label %245 "_ZN4core3ptr162drop_in_place$LT$sqlx_core..ext..async_stream..Yielder$LT$either..Either$LT$sqlx_sqlite..query_result..SqliteQueryResult$C$sqlx_sqlite..row..SqliteRow$GT$$GT$$GT$17h5c5347d677b525d0E.exit": ; preds = %238, %243 %399 = getelementptr inbounds nuw i8, ptr %1, i64 96 @@ -10446,7 +10437,7 @@ _ZN3std9panicking9panicking17hfd7edc4736053a04E.exit.thread.i.i.i: ; preds = %28 to label %"_ZN4core3ptr79drop_in_place$LT$sqlx_core..pool..Pool$LT$sqlx_sqlite..database..Sqlite$GT$$GT$17hee725c20d674c7a6E.exit106" unwind label %408 404: ; preds = %408, %396 - %.pn72 = phi { ptr, i32 } [ %409, %408 ], [ %397, %396 ] + %.pn72 = phi { ptr, i32 } [ %409, %407 ], [ %397, %395 ] %405 = getelementptr inbounds nuw i8, ptr %1, i64 152 %406 = load i8, ptr %405, align 8, !range !135, !noundef !13 %407 = trunc nuw i8 %406 to i1 @@ -10526,12 +10517,12 @@ _ZN3std9panicking9panicking17hfd7edc4736053a04E.exit.thread.i.i.i: ; preds = %28 %434 = phi ptr [ %250, %319 ], [ %300, %317 ] %.pn63 = phi { ptr, i32 } [ %320, %319 ], [ %.pn30.i, %317 ] invoke fastcc void @"_ZN4core3ptr198drop_in_place$LT$sqlx_core..ext..async_stream..Yielder$LT$either..Either$LT$sqlx_sqlite..query_result..SqliteQueryResult$C$sqlx_sqlite..row..SqliteRow$GT$$GT$..yield..$u7b$$u7b$closure$u7d$$u7d$$GT$17h8fe8d0bc6d59eb90E"(ptr noundef nonnull align 8 %434) #38 - to label %324 unwind label %245 + to label %343 unwind label %245 435: ; preds = %247 %436 = getelementptr inbounds nuw i8, ptr %1, i64 96 invoke void @"_ZN4core3ptr79drop_in_place$LT$sqlx_core..pool..Pool$LT$sqlx_sqlite..database..Sqlite$GT$$GT$17hee725c20d674c7a6E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %436) #38 - to label %437 unwind label %245 + to label %436 unwind label %245 437: ; preds = %435 %438 = getelementptr inbounds nuw i8, ptr %1, i64 152 diff --git a/bench/ockam-rs/optimized/2tygv1xclgfmwb14.ll b/bench/ockam-rs/optimized/2tygv1xclgfmwb14.ll index c56a17e8110..c07684d8f47 100644 --- a/bench/ockam-rs/optimized/2tygv1xclgfmwb14.ll +++ b/bench/ockam-rs/optimized/2tygv1xclgfmwb14.ll @@ -12331,7 +12331,6 @@ define internal { i64, ptr } @"_ZN165_$LT$ockam_abac..policy..storage..resource_ %.sroa.3.i = alloca [13 x i32], align 4 %9 = alloca { i32, [15 x i32] }, align 8 %.sroa.8194 = alloca [5 x i64], align 8 - %.sroa.0190 = alloca { { { i32, [15 x i32] }, i8, [7 x i8] }, [88 x i8] }, align 8 %.sroa.3185 = alloca [5 x i64], align 8 %10 = alloca { i64, [5 x i64] }, align 8 %11 = alloca { { ptr, [1 x i64] }, { ptr, [2 x i64] }, i8, {}, [7 x i8] }, align 8 @@ -12373,7 +12372,7 @@ common.ret: ; preds = %366, %268, %188, %1 ret { i64, ptr } %common.ret.op "_ZN4core3ptr93drop_in_place$LT$sqlx_core..transaction..Transaction$LT$sqlx_sqlite..database..Sqlite$GT$$GT$17h1cc1b43d3dc6a928E.exit": ; preds = %"_ZN87_$LT$sqlx_core..transaction..Transaction$LT$DB$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h76bd99e33c082022E.llvm.6910714394678848989.exit.i", %257, %373, %176 - %.0 = phi ptr [ %178, %176 ], [ %372, %373 ], [ %.1, %257 ], [ %.1, %"_ZN87_$LT$sqlx_core..transaction..Transaction$LT$DB$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h76bd99e33c082022E.llvm.6910714394678848989.exit.i" ] + %.0 = phi ptr [ %178, %176 ], [ %372, %372 ], [ %.1, %257 ], [ %.1, %"_ZN87_$LT$sqlx_core..transaction..Transaction$LT$DB$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h76bd99e33c082022E.llvm.6910714394678848989.exit.i" ] store i8 1, ptr %26, align 8 %28 = insertvalue { i64, ptr } { i64 0, ptr poison }, ptr %.0, 1 br label %common.ret @@ -12412,8 +12411,8 @@ common.ret: ; preds = %366, %268, %188, %1 call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %25) br label %.body129 -.body129: ; preds = %280, %253, %367, %174, %38 - %.pn101.pn = phi { ptr, i32 } [ %.pn101, %38 ], [ %.pn98, %367 ], [ %.pn90.pn.pn, %174 ], [ %281, %280 ], [ %254, %253 ] +.body129: ; preds = %367, %.body143, %280, %253, %174, %38 + %.pn101.pn = phi { ptr, i32 } [ %.pn101, %38 ], [ %.pn90.pn.pn, %174 ], [ %281, %280 ], [ %254, %253 ], [ %368, %367 ], [ %.pn96, %.body143 ] store i8 2, ptr %26, align 8 resume { ptr, i32 } %.pn101.pn @@ -13219,10 +13218,8 @@ common.ret: ; preds = %366, %268, %188, %1 br i1 %276, label %.thread233, label %242 .thread233: ; preds = %275 - call void @llvm.lifetime.start.p0(i64 160, ptr nonnull %.sroa.0190) %277 = getelementptr inbounds nuw i8, ptr %0, i64 24 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(72) %.sroa.0190, ptr noundef nonnull align 8 dereferenceable(72) %277, i64 72, i1 false) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(160) %261, ptr noundef nonnull align 8 dereferenceable(160) %.sroa.0190, i64 160, i1 false) + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(72) %261, ptr noundef nonnull align 8 dereferenceable(72) %277, i64 72, i1 false) %.sroa.6191.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 264 store i8 0, ptr %.sroa.6191.0..sroa_idx, align 8 %278 = getelementptr inbounds nuw i8, ptr %0, i64 104 @@ -13237,7 +13234,6 @@ common.ret: ; preds = %366, %268, %188, %1 br label %.body129 282: ; preds = %2 - call void @llvm.lifetime.start.p0(i64 160, ptr nonnull %.sroa.0190) %.phi.trans.insert230 = getelementptr inbounds nuw i8, ptr %0, i64 264 %.pre231 = load i8, ptr %.phi.trans.insert230, align 8, !range !35, !noalias !2104 %283 = getelementptr inbounds nuw i8, ptr %0, i64 104 @@ -13480,7 +13476,7 @@ common.ret: ; preds = %366, %268, %188, %1 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %.sroa.338.i) call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %.sroa.3.i134) invoke fastcc void @"_ZN4core3ptr130drop_in_place$LT$sqlx_core..transaction..Transaction$LT$sqlx_sqlite..database..Sqlite$GT$..commit..$u7b$$u7b$closure$u7d$$u7d$$GT$17ha56cfbae794c0b0fE"(ptr noundef nonnull align 8 %313) - to label %370 unwind label %368 + to label %369 unwind label %367 366: ; preds = %"_ZN72_$LT$core..pin..Pin$LT$P$GT$$u20$as$u20$core..future..future..Future$GT$4poll17h487cc74c789d2c68E.exit.i" call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %4), !noalias !2104 @@ -13490,15 +13486,10 @@ common.ret: ; preds = %366, %268, %188, %1 store i8 6, ptr %26, align 8 br label %common.ret -367: ; preds = %.body143, %368 - %.pn98 = phi { ptr, i32 } [ %369, %368 ], [ %.pn96, %.body143 ] - call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %.sroa.0190) - br label %.body129 - -368: ; preds = %"_ZN4core6result19Result$LT$T$C$E$GT$3map17h865faff81251af6eE.llvm.10596056194674738663.exit.i", %365 - %369 = landingpad { ptr, i32 } +367: ; preds = %"_ZN4core6result19Result$LT$T$C$E$GT$3map17h865faff81251af6eE.llvm.10596056194674738663.exit.i", %365 + %368 = landingpad { ptr, i32 } cleanup - br label %367 + br label %.body129 370: ; preds = %365 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %3), !noalias !2145 @@ -13512,18 +13503,17 @@ common.ret: ; preds = %366, %268, %188, %1 "_ZN4core6result19Result$LT$T$C$E$GT$3map17h865faff81251af6eE.llvm.10596056194674738663.exit.i": ; preds = %370, %371 store i64 %322, ptr %3, align 8, !alias.scope !2149, !noalias !2153 %372 = invoke noundef align 8 ptr @"_ZN144_$LT$core..result..Result$LT$T$C$sqlx_core..error..Error$GT$$u20$as$u20$ockam_node..storage..database..sqlx_database..FromSqlxError$LT$T$GT$$GT$9into_core17h92556c6ce7c0d93cE.llvm.10596056194674738663"(ptr noalias noundef nonnull align 8 captures(none) dereferenceable(48) %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.a3a67110ce06a869b442c94fcb10776f.95) - to label %373 unwind label %368 + to label %372 unwind label %367 373: ; preds = %"_ZN4core6result19Result$LT$T$C$E$GT$3map17h865faff81251af6eE.llvm.10596056194674738663.exit.i" call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %3), !noalias !2145 - call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %.sroa.0190) br label %"_ZN4core3ptr93drop_in_place$LT$sqlx_core..transaction..Transaction$LT$sqlx_sqlite..database..Sqlite$GT$$GT$17h1cc1b43d3dc6a928E.exit" .body143: ; preds = %363, %.body23.i %374 = phi ptr [ %283, %363 ], [ %340, %.body23.i ] %.pn96 = phi { ptr, i32 } [ %364, %363 ], [ %.pn18.i, %.body23.i ] invoke fastcc void @"_ZN4core3ptr130drop_in_place$LT$sqlx_core..transaction..Transaction$LT$sqlx_sqlite..database..Sqlite$GT$..commit..$u7b$$u7b$closure$u7d$$u7d$$GT$17ha56cfbae794c0b0fE"(ptr noundef nonnull align 8 %374) #43 - to label %367 unwind label %167 + to label %.body129 unwind label %167 } ; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) diff --git a/bench/ockam-rs/optimized/4op0lm10vgcgt7cp.ll b/bench/ockam-rs/optimized/4op0lm10vgcgt7cp.ll index 221329e3a14..4332f9994b6 100644 --- a/bench/ockam-rs/optimized/4op0lm10vgcgt7cp.ll +++ b/bench/ockam-rs/optimized/4op0lm10vgcgt7cp.ll @@ -1333,7 +1333,6 @@ define hidden void @"_ZN178_$LT$futures_util..future..try_future..try_flatten..T %4 = alloca { i64, [5 x i64] }, align 8 %5 = alloca { i64, [5 x i64] }, align 8 %6 = alloca { i64, [5 x i64] }, align 8 - %.sroa.0 = alloca [179 x i8], align 8 %7 = alloca { i64, [5 x i64] }, align 8 %.sroa.7 = alloca [5 x i64], align 8 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %.sroa.7) @@ -1384,12 +1383,11 @@ default.unreachable: ; preds = %9 22: ; preds = %32, %33 %23 = landingpad { ptr, i32 } cleanup - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(179) %1, ptr noundef nonnull align 8 dereferenceable(179) %.sroa.0, i64 179, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.3.0..sroa_idx, i64 24, i1 false) store i8 3, ptr %8, align 1, !noalias !381 br label %common.resume 24: ; preds = %16 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.0, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.3.0..sroa_idx, i64 24, i1 false) %25 = load i8, ptr %8, align 1, !range !379, !noalias !381, !noundef !5 %26 = add nsw i8 %25, -3 %27 = icmp ult i8 %26, 2 @@ -1418,7 +1416,7 @@ common.resume: ; preds = %.body, %.body25, %2 resume { ptr, i32 } %common.resume.op "_ZN4core3pin12Pin$LT$P$GT$3set17hc6f638d6114fbc33E.exit": ; preds = %31, %24, %32, %33 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(179) %1, ptr noundef nonnull align 8 dereferenceable(179) %.sroa.0, i64 179, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.3.0..sroa_idx, i64 24, i1 false) store i8 3, ptr %8, align 1, !noalias !381 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %7) br label %9 diff --git a/bench/ockam-rs/optimized/53knze3nqsbtlge8.ll b/bench/ockam-rs/optimized/53knze3nqsbtlge8.ll index 3aa7774db72..1e9b7d36983 100644 --- a/bench/ockam-rs/optimized/53knze3nqsbtlge8.ll +++ b/bench/ockam-rs/optimized/53knze3nqsbtlge8.ll @@ -6203,7 +6203,6 @@ define internal fastcc void @"_ZN19ockam_transport_udp6router10udp_router9UdpRou %122 = alloca { ptr, { [60 x i16], i16, [15 x i16] } }, align 8 %.sroa.7409 = alloca [2 x i64], align 8 %.sroa.8406 = alloca [2 x i64], align 8 - %.sroa.0401 = alloca { { i16, [15 x i16] }, [32 x i8] }, align 8 %123 = alloca { { { { i64, ptr }, ptr }, i32, [1 x i32] } }, align 8 %124 = alloca ptr, align 8 %125 = alloca { { { ptr, i64 }, { ptr, ptr } }, i64 }, align 8 @@ -6610,11 +6609,19 @@ common.ret: ; preds = %"_ZN19ockam_transpo store i8 %.sink, ptr %138, align 8 ret void -"_ZN153_$LT$core..result..Result$LT$T$C$F$GT$$u20$as$u20$core..ops..try_trait..FromResidual$LT$core..result..Result$LT$core..convert..Infallible$C$E$GT$$GT$$GT$13from_residual17h821142de092ce662E.exit.sink.split": ; preds = %"_ZN153_$LT$core..result..Result$LT$T$C$F$GT$$u20$as$u20$core..ops..try_trait..FromResidual$LT$core..result..Result$LT$core..convert..Infallible$C$E$GT$$GT$$GT$13from_residual17h821142de092ce662E.exit255", %"_ZN4core3ptr176drop_in_place$LT$futures_util..stream..stream..split..SplitStream$LT$tokio_util..udp..frame..UdpFramed$LT$ockam_transport_udp..workers..codec..TransportMessageCodec$GT$$GT$$GT$17h9468da8049170087E.exit", %2039 - %.sroa.0482.1.ph = phi ptr [ %.sroa.0491.0.copyload, %2039 ], [ null, %"_ZN4core3ptr176drop_in_place$LT$futures_util..stream..stream..split..SplitStream$LT$tokio_util..udp..frame..UdpFramed$LT$ockam_transport_udp..workers..codec..TransportMessageCodec$GT$$GT$$GT$17h9468da8049170087E.exit" ], [ null, %"_ZN153_$LT$core..result..Result$LT$T$C$F$GT$$u20$as$u20$core..ops..try_trait..FromResidual$LT$core..result..Result$LT$core..convert..Infallible$C$E$GT$$GT$$GT$13from_residual17h821142de092ce662E.exit255" ] - %.sroa.7485.1.ph = phi ptr [ %.sroa.4.0.copyload, %2039 ], [ %.sroa.7485.3, %"_ZN4core3ptr176drop_in_place$LT$futures_util..stream..stream..split..SplitStream$LT$tokio_util..udp..frame..UdpFramed$LT$ockam_transport_udp..workers..codec..TransportMessageCodec$GT$$GT$$GT$17h9468da8049170087E.exit" ], [ %322, %"_ZN153_$LT$core..result..Result$LT$T$C$F$GT$$u20$as$u20$core..ops..try_trait..FromResidual$LT$core..result..Result$LT$core..convert..Infallible$C$E$GT$$GT$$GT$13from_residual17h821142de092ce662E.exit255" ] - %252 = getelementptr inbounds nuw i8, ptr %1, i64 116 - store i8 0, ptr %252, align 4 +"_ZN153_$LT$core..result..Result$LT$T$C$F$GT$$u20$as$u20$core..ops..try_trait..FromResidual$LT$core..result..Result$LT$core..convert..Infallible$C$E$GT$$GT$$GT$13from_residual17h821142de092ce662E.exit.sink.split": ; preds = %2039, %"_ZN4core3ptr176drop_in_place$LT$futures_util..stream..stream..split..SplitStream$LT$tokio_util..udp..frame..UdpFramed$LT$ockam_transport_udp..workers..codec..TransportMessageCodec$GT$$GT$$GT$17h9468da8049170087E.exit" + %.sroa.0482.1.ph = phi ptr [ null, %"_ZN4core3ptr176drop_in_place$LT$futures_util..stream..stream..split..SplitStream$LT$tokio_util..udp..frame..UdpFramed$LT$ockam_transport_udp..workers..codec..TransportMessageCodec$GT$$GT$$GT$17h9468da8049170087E.exit" ], [ %.sroa.0491.0.copyload, %2039 ] + %.sroa.7485.1.ph = phi ptr [ %.sroa.7485.3, %"_ZN4core3ptr176drop_in_place$LT$futures_util..stream..stream..split..SplitStream$LT$tokio_util..udp..frame..UdpFramed$LT$ockam_transport_udp..workers..codec..TransportMessageCodec$GT$$GT$$GT$17h9468da8049170087E.exit" ], [ %.sroa.4.0.copyload, %2039 ] + %252 = getelementptr inbounds nuw i8, ptr %1, i64 115 + store i8 0, ptr %252, align 1 + call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %122) + br label %"_ZN153_$LT$core..result..Result$LT$T$C$F$GT$$u20$as$u20$core..ops..try_trait..FromResidual$LT$core..result..Result$LT$core..convert..Infallible$C$E$GT$$GT$$GT$13from_residual17h821142de092ce662E.exit.sink.split" + +"_ZN153_$LT$core..result..Result$LT$T$C$F$GT$$u20$as$u20$core..ops..try_trait..FromResidual$LT$core..result..Result$LT$core..convert..Infallible$C$E$GT$$GT$$GT$13from_residual17h821142de092ce662E.exit.sink.split": ; preds = %"_ZN153_$LT$core..result..Result$LT$T$C$F$GT$$u20$as$u20$core..ops..try_trait..FromResidual$LT$core..result..Result$LT$core..convert..Infallible$C$E$GT$$GT$$GT$13from_residual17h821142de092ce662E.exit.sink.split.sink.split", %321 + %.sroa.0482.1.ph = phi ptr [ null, %321 ], [ %.sroa.0482.1.ph.ph, %"_ZN153_$LT$core..result..Result$LT$T$C$F$GT$$u20$as$u20$core..ops..try_trait..FromResidual$LT$core..result..Result$LT$core..convert..Infallible$C$E$GT$$GT$$GT$13from_residual17h821142de092ce662E.exit.sink.split.sink.split" ] + %.sroa.7485.1.ph = phi ptr [ %322, %321 ], [ %.sroa.7485.1.ph.ph, %"_ZN153_$LT$core..result..Result$LT$T$C$F$GT$$u20$as$u20$core..ops..try_trait..FromResidual$LT$core..result..Result$LT$core..convert..Infallible$C$E$GT$$GT$$GT$13from_residual17h821142de092ce662E.exit.sink.split.sink.split" ] + %253 = getelementptr inbounds nuw i8, ptr %1, i64 116 + store i8 0, ptr %253, align 4 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %123) br label %"_ZN153_$LT$core..result..Result$LT$T$C$F$GT$$u20$as$u20$core..ops..try_trait..FromResidual$LT$core..result..Result$LT$core..convert..Infallible$C$E$GT$$GT$$GT$13from_residual17h821142de092ce662E.exit" @@ -6636,17 +6643,15 @@ common.ret: ; preds = %"_ZN19ockam_transpo br label %255 255: ; preds = %254, %233 - %.pn129.pn.pn.pn = phi { ptr, i32 } [ %.pn129.pn, %254 ], [ %234, %233 ] + %.pn129.pn.pn.pn = phi { ptr, i32 } [ %.pn129.pn, %255 ], [ %234, %233 ] call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %135) call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %136) br label %260 .thread556: ; preds = %140 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %123) - call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %.sroa.0401) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.0401, ptr noundef nonnull align 8 dereferenceable(32) %1, i64 32, i1 false) - %256 = getelementptr inbounds nuw i8, ptr %1, i64 120 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %256, ptr noundef nonnull align 8 dereferenceable(64) %.sroa.0401, i64 64, i1 false) + %257 = getelementptr inbounds nuw i8, ptr %1, i64 120 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %257, ptr noundef nonnull align 8 dereferenceable(32) %1, i64 32, i1 false) %.sroa.7402.0..sroa_idx = getelementptr inbounds nuw i8, ptr %1, i64 184 store i8 0, ptr %.sroa.7402.0..sroa_idx, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %.sroa.8406) @@ -6657,13 +6662,8 @@ common.ret: ; preds = %"_ZN19ockam_transpo %258 = getelementptr inbounds nuw i8, ptr %1, i64 184 br label %266 -259: ; preds = %316, %.body, %462 - %.pn188 = phi { ptr, i32 } [ %463, %462 ], [ %317, %316 ], [ %.pn138, %.body ] - call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %.sroa.0401) - br label %467 - -260: ; preds = %179, %154, %160, %255, %250, %467 - %.pn188.pn.pn = phi { ptr, i32 } [ %.pn188.pn, %467 ], [ %251, %250 ], [ %.pn129.pn.pn.pn, %255 ], [ %161, %160 ], [ %155, %154 ], [ %.pn119.pn.pn.pn.pn.pn, %179 ] +259: ; preds = %179, %154, %160, %256, %250, %467 + %.pn188 = phi { ptr, i32 } [ %.pn188.pn, %467 ], [ %251, %250 ], [ %.pn129.pn.pn.pn, %256 ], [ %161, %160 ], [ %155, %154 ], [ %.pn119.pn.pn.pn.pn.pn, %179 ] store i8 2, ptr %138, align 8 resume { ptr, i32 } %.pn188.pn.pn @@ -6677,7 +6677,6 @@ common.ret: ; preds = %"_ZN19ockam_transpo 263: ; preds = %3 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %123) - call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %.sroa.0401) %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %1, i64 184 %.pre = load i8, ptr %.phi.trans.insert, align 8, !range !4, !noalias !1037 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %.sroa.8406) @@ -6862,7 +6861,7 @@ common.ret: ; preds = %"_ZN19ockam_transpo 316: ; preds = %314, %312 %317 = landingpad { ptr, i32 } cleanup - br label %259 + br label %467 318: ; preds = %292 %.sroa.010.sroa.3.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %102, i64 16 @@ -6887,7 +6886,6 @@ common.ret: ; preds = %"_ZN19ockam_transpo store i8 %.sroa.3.0.extract.trunc, ptr %.sroa.086.sroa.4.0..sroa_idx, align 8 %.sroa.086.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %123, i64 9 store i56 %.sroa.3.1.extract.trunc, ptr %.sroa.086.sroa.5.0..sroa_idx, align 1 - call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %.sroa.0401) call void @llvm.lifetime.start.p0(i64 168, ptr nonnull %121) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %120) store i8 0, ptr %320, align 4 @@ -6898,7 +6896,7 @@ common.ret: ; preds = %"_ZN19ockam_transpo 321: ; preds = %314, %.noexc252 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %101), !noalias !1052 %322 = invoke noundef nonnull align 8 ptr @"_ZN20ockam_transport_core5error125_$LT$impl$u20$core..convert..From$LT$ockam_transport_core..error..TransportError$GT$$u20$for$u20$ockam_core..error..Error$GT$4from17hfd4ad921d9a0b1d7E"(i8 noundef range(i8 1, 17) 9, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.81fbba10a2628b30034e9a9ab61f9470.125) - to label %"_ZN153_$LT$core..result..Result$LT$T$C$F$GT$$u20$as$u20$core..ops..try_trait..FromResidual$LT$core..result..Result$LT$core..convert..Infallible$C$E$GT$$GT$$GT$13from_residual17h821142de092ce662E.exit255" unwind label %462 + to label %"_ZN153_$LT$core..result..Result$LT$T$C$F$GT$$u20$as$u20$core..ops..try_trait..FromResidual$LT$core..result..Result$LT$core..convert..Infallible$C$E$GT$$GT$$GT$13from_residual17h821142de092ce662E.exit.sink.split" unwind label %462 323: ; preds = %318 %324 = landingpad { ptr, i32 } @@ -7295,7 +7293,7 @@ common.ret: ; preds = %"_ZN19ockam_transpo br label %408 458: ; preds = %2066, %327 - %.pn185.pn = phi { ptr, i32 } [ %.pn185, %2066 ], [ %.pn142, %327 ] + %.pn185.pn = phi { ptr, i32 } [ %.pn185, %2064 ], [ %.pn142, %327 ] %459 = getelementptr inbounds nuw i8, ptr %1, i64 116 %460 = load i8, ptr %459, align 4, !range !93, !noundef !5 %461 = trunc nuw i8 %460 to i1 @@ -7304,18 +7302,14 @@ common.ret: ; preds = %"_ZN19ockam_transpo 462: ; preds = %321 %463 = landingpad { ptr, i32 } cleanup - br label %259 - -"_ZN153_$LT$core..result..Result$LT$T$C$F$GT$$u20$as$u20$core..ops..try_trait..FromResidual$LT$core..result..Result$LT$core..convert..Infallible$C$E$GT$$GT$$GT$13from_residual17h821142de092ce662E.exit255": ; preds = %321 - call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %.sroa.0401) - br label %"_ZN153_$LT$core..result..Result$LT$T$C$F$GT$$u20$as$u20$core..ops..try_trait..FromResidual$LT$core..result..Result$LT$core..convert..Infallible$C$E$GT$$GT$$GT$13from_residual17h821142de092ce662E.exit.sink.split" + br label %467 .body: ; preds = %310, %305 %464 = phi ptr [ %264, %310 ], [ %307, %305 ] %.pn138 = phi { ptr, i32 } [ %311, %310 ], [ %.pn22.pn.i, %305 ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.8406) invoke fastcc void @"_ZN4core3ptr124drop_in_place$LT$tokio..net..udp..UdpSocket..bind$LT$core..net..socket_addr..SocketAddr$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17ha31c01e67b7ad77fE"(ptr noundef nonnull align 8 %464) #18 - to label %259 unwind label %465 + to label %467 unwind label %465 465: ; preds = %2068, %2067, %2064, %2063, %.body334, %.body293, %1169, %.body, %455 %466 = landingpad { ptr, i32 } @@ -7323,8 +7317,8 @@ common.ret: ; preds = %"_ZN19ockam_transpo call void @_ZN4core9panicking16panic_in_cleanup17hceade526831b1e89E() #19 unreachable -467: ; preds = %2068, %458, %259 - %.pn188.pn = phi { ptr, i32 } [ %.pn188, %259 ], [ %.pn185.pn, %2068 ], [ %.pn185.pn, %458 ] +467: ; preds = %316, %.body, %462, %2068, %458 + %.pn188.pn = phi { ptr, i32 } [ %.pn185.pn, %2066 ], [ %.pn185.pn, %458 ], [ %463, %462 ], [ %317, %316 ], [ %.pn138, %.body ] %468 = getelementptr inbounds nuw i8, ptr %1, i64 116 store i8 0, ptr %468, align 4 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %123) @@ -11734,9 +11728,6 @@ common.ret: ; preds = %"_ZN19ockam_transpo call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %107) %2042 = getelementptr inbounds nuw i8, ptr %1, i64 113 store i8 0, ptr %2042, align 1 - %2043 = getelementptr inbounds nuw i8, ptr %1, i64 115 - store i8 0, ptr %2043, align 1 - call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %122) br label %"_ZN153_$LT$core..result..Result$LT$T$C$F$GT$$u20$as$u20$core..ops..try_trait..FromResidual$LT$core..result..Result$LT$core..convert..Infallible$C$E$GT$$GT$$GT$13from_residual17h821142de092ce662E.exit.sink.split" 2044: ; preds = %1180, %1176, %.noexc300 @@ -11748,9 +11739,6 @@ common.ret: ; preds = %"_ZN19ockam_transpo "_ZN4core3ptr176drop_in_place$LT$futures_util..stream..stream..split..SplitStream$LT$tokio_util..udp..frame..UdpFramed$LT$ockam_transport_udp..workers..codec..TransportMessageCodec$GT$$GT$$GT$17h9468da8049170087E.exit": ; preds = %2049, %2054, %2044 store i8 0, ptr %2045, align 1 - %2048 = getelementptr inbounds nuw i8, ptr %1, i64 115 - store i8 0, ptr %2048, align 1 - call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %122) br label %"_ZN153_$LT$core..result..Result$LT$T$C$F$GT$$u20$as$u20$core..ops..try_trait..FromResidual$LT$core..result..Result$LT$core..convert..Infallible$C$E$GT$$GT$$GT$13from_residual17h821142de092ce662E.exit.sink.split" 2049: ; preds = %2044 @@ -11770,7 +11758,7 @@ common.ret: ; preds = %"_ZN19ockam_transpo to label %"_ZN4core3ptr176drop_in_place$LT$futures_util..stream..stream..split..SplitStream$LT$tokio_util..udp..frame..UdpFramed$LT$ockam_transport_udp..workers..codec..TransportMessageCodec$GT$$GT$$GT$17h9468da8049170087E.exit" unwind label %2060 2055: ; preds = %2064, %2060, %408 - %.pn185 = phi { ptr, i32 } [ %2061, %2060 ], [ %.pn183, %2064 ], [ %.pn183, %408 ] + %.pn185 = phi { ptr, i32 } [ %2061, %2058 ], [ %.pn183, %2062 ], [ %.pn183, %408 ] %2056 = getelementptr inbounds nuw i8, ptr %1, i64 113 store i8 0, ptr %2056, align 1 %2057 = getelementptr inbounds nuw i8, ptr %1, i64 115 @@ -11796,7 +11784,7 @@ common.ret: ; preds = %"_ZN19ockam_transpo 2064: ; preds = %408 %2065 = getelementptr inbounds nuw i8, ptr %1, i64 120 invoke void @"_ZN4core3ptr176drop_in_place$LT$futures_util..stream..stream..split..SplitStream$LT$tokio_util..udp..frame..UdpFramed$LT$ockam_transport_udp..workers..codec..TransportMessageCodec$GT$$GT$$GT$17h9468da8049170087E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %2065) #18 - to label %2055 unwind label %465 + to label %2053 unwind label %465 2066: ; preds = %2067, %2055 store i8 0, ptr %2057, align 1 @@ -11805,7 +11793,7 @@ common.ret: ; preds = %"_ZN19ockam_transpo 2067: ; preds = %2055 invoke void @"_ZN4core3ptr287drop_in_place$LT$futures_util..stream..stream..split..SplitSink$LT$tokio_util..udp..frame..UdpFramed$LT$ockam_transport_udp..workers..codec..TransportMessageCodec$GT$$C$$LP$ockam_core..routing..message..transport_message..TransportMessage$C$core..net..socket_addr..SocketAddr$RP$$GT$$GT$17h31fa6fa1fa5f63e1E"(ptr noalias noundef nonnull align 8 dereferenceable(160) %122) #18 - to label %2066 unwind label %465 + to label %2064 unwind label %465 2068: ; preds = %458 invoke void @"_ZN4core3ptr47drop_in_place$LT$tokio..net..udp..UdpSocket$GT$17he2cd317edb058b3fE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %123) #18 diff --git a/bench/ockam-rs/optimized/g35wyrewxj969kp.ll b/bench/ockam-rs/optimized/g35wyrewxj969kp.ll index befc9664ffb..2cc9dc5fdee 100644 --- a/bench/ockam-rs/optimized/g35wyrewxj969kp.ll +++ b/bench/ockam-rs/optimized/g35wyrewxj969kp.ll @@ -1498,7 +1498,6 @@ define hidden void @"_ZN178_$LT$futures_util..future..try_future..try_flatten..T %4 = alloca { i64, [5 x i64] }, align 8 %5 = alloca { i64, [5 x i64] }, align 8 %6 = alloca { i64, [5 x i64] }, align 8 - %.sroa.0 = alloca [179 x i8], align 8 %7 = alloca { i64, [5 x i64] }, align 8 %.sroa.7 = alloca [5 x i64], align 8 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %.sroa.7) @@ -1549,12 +1548,11 @@ default.unreachable: ; preds = %9 22: ; preds = %32, %33 %23 = landingpad { ptr, i32 } cleanup - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(179) %1, ptr noundef nonnull align 8 dereferenceable(179) %.sroa.0, i64 179, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.3.0..sroa_idx, i64 24, i1 false) store i8 3, ptr %8, align 1, !noalias !290 br label %common.resume 24: ; preds = %16 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.0, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.3.0..sroa_idx, i64 24, i1 false) %25 = load i8, ptr %8, align 1, !range !289, !noalias !290, !noundef !4 %26 = add nsw i8 %25, -3 %27 = icmp ult i8 %26, 2 @@ -1583,7 +1581,7 @@ common.resume: ; preds = %.body, %.body25, %2 resume { ptr, i32 } %common.resume.op "_ZN4core3pin12Pin$LT$P$GT$3set17hcbc36d31282b2272E.exit": ; preds = %31, %24, %32, %33 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(179) %1, ptr noundef nonnull align 8 dereferenceable(179) %.sroa.0, i64 179, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.3.0..sroa_idx, i64 24, i1 false) store i8 3, ptr %8, align 1, !noalias !290 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %7) br label %9 @@ -7931,7 +7929,6 @@ define internal void @"_ZN9sqlx_core4pool8executor95_$LT$impl$u20$sqlx_core..exe %6 = alloca { i64, [2 x i64] }, align 8 %7 = alloca { ptr, [3 x i64] }, align 8 %.sroa.4135 = alloca [5 x i64], align 8 - %.sroa.0127 = alloca { { ptr, [3 x i64] }, [6 x i64] }, align 8 %.sroa.5120 = alloca [4 x i64], align 8 %.sroa.11117 = alloca [4 x i64], align 8 %8 = alloca { { ptr, [1 x i64] }, { ptr, [2 x i64] }, i8, {}, [7 x i8] }, align 8 @@ -8021,7 +8018,7 @@ default.unreachable159: ; preds = %61, %3 to label %36 unwind label %34 common.ret: ; preds = %"_ZN4core3ptr79drop_in_place$LT$sqlx_core..pool..Pool$LT$sqlx_sqlite..database..Sqlite$GT$$GT$17h4469235d2e02917fE.exit", %154, %133, %33 - %.sink = phi i8 [ 1, %"_ZN4core3ptr79drop_in_place$LT$sqlx_core..pool..Pool$LT$sqlx_sqlite..database..Sqlite$GT$$GT$17h4469235d2e02917fE.exit" ], [ 4, %154 ], [ 5, %133 ], [ 3, %33 ] + %.sink = phi i8 [ 1, %"_ZN4core3ptr79drop_in_place$LT$sqlx_core..pool..Pool$LT$sqlx_sqlite..database..Sqlite$GT$$GT$17h4469235d2e02917fE.exit" ], [ 4, %153 ], [ 5, %133 ], [ 3, %33 ] store i8 %.sink, ptr %10, align 1 ret void @@ -8090,7 +8087,7 @@ common.ret: ; preds = %"_ZN4core3ptr79drop br label %139 .body85: ; preds = %203, %172, %176, %155, %46, %41 - %.pn65.pn.pn = phi { ptr, i32 } [ %.pn65.pn, %155 ], [ %47, %46 ], [ %42, %41 ], [ %173, %172 ], [ %177, %176 ], [ %204, %203 ] + %.pn65.pn.pn = phi { ptr, i32 } [ %.pn65.pn, %154 ], [ %47, %46 ], [ %42, %41 ], [ %173, %171 ], [ %177, %175 ], [ %204, %202 ] invoke void @"_ZN4core3ptr101drop_in_place$LT$sqlx_core..pool..connection..PoolConnection$LT$sqlx_sqlite..database..Sqlite$GT$$GT$17hec3002acaff8d708E"(ptr noalias noundef nonnull align 8 dereferenceable(64) %1) #31 to label %59 unwind label %57 @@ -8121,13 +8118,12 @@ common.ret: ; preds = %"_ZN4core3ptr79drop unreachable 59: ; preds = %34, %27, %178, %.body85 - %.pn69.pn = phi { ptr, i32 } [ %.pn65.pn.pn, %.body85 ], [ %179, %178 ], [ %35, %34 ], [ %28, %27 ] + %.pn69.pn = phi { ptr, i32 } [ %.pn65.pn.pn, %.body85 ], [ %179, %177 ], [ %35, %34 ], [ %28, %27 ] %60 = getelementptr inbounds nuw i8, ptr %1, i64 88 invoke void @"_ZN4core3ptr162drop_in_place$LT$sqlx_core..ext..async_stream..Yielder$LT$either..Either$LT$sqlx_sqlite..query_result..SqliteQueryResult$C$sqlx_sqlite..row..SqliteRow$GT$$GT$$GT$17hbcc6ee705e7e11a4E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %60) #31 - to label %236 unwind label %57 + to label %235 unwind label %57 61: ; preds = %3 - call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %.sroa.0127) %.phi.trans.insert158 = getelementptr inbounds nuw i8, ptr %1, i64 250 %.pre = load i8, ptr %.phi.trans.insert158, align 2, !range !57 %62 = getelementptr inbounds nuw i8, ptr %1, i64 160 @@ -8295,12 +8291,12 @@ _ZN3std9panicking9panicking17hfd7edc4736053a04E.exit.thread.i.i.i: ; preds = %10 %122 = getelementptr inbounds nuw i8, ptr %1, i64 192 %123 = load i64, ptr %122, align 8, !range !12, !alias.scope !1212, !noundef !4 %124 = icmp eq i64 %123, 0 - br i1 %124, label %137, label %125 + br i1 %124, label %136, label %125 125: ; preds = %121 %126 = getelementptr inbounds nuw i8, ptr %1, i64 200 invoke fastcc void @"_ZN4core3ptr117drop_in_place$LT$either..Either$LT$sqlx_sqlite..query_result..SqliteQueryResult$C$sqlx_sqlite..row..SqliteRow$GT$$GT$17hfc5a01231db17a7bE"(ptr noalias noundef align 8 dereferenceable(32) %126) - to label %137 unwind label %127 + to label %136 unwind label %127 127: ; preds = %125 %128 = landingpad { ptr, i32 } @@ -8330,26 +8326,21 @@ _ZN3std9panicking9panicking17hfd7edc4736053a04E.exit.thread.i.i.i: ; preds = %10 store i64 17, ptr %0, align 8 br label %common.ret -136: ; preds = %.body - call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %.sroa.0127) - br label %155 - -137: ; preds = %121, %125 - %138 = getelementptr inbounds nuw i8, ptr %1, i64 249 - store i8 0, ptr %138, align 1 +136: ; preds = %121, %125 + %137 = getelementptr inbounds nuw i8, ptr %1, i64 249 + store i8 0, ptr %137, align 1 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) store i8 1, ptr %63, align 2 - call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %.sroa.0127) - br label %139 + br label %138 -139: ; preds = %137, %48 +139: ; preds = %136, %48 %140 = getelementptr inbounds nuw i8, ptr %1, i64 64 %141 = getelementptr inbounds nuw i8, ptr %1, i64 160 store ptr %140, ptr %141, align 8 br label %142 142: ; preds = %._crit_edge, %139 - %.val = phi ptr [ %.val.pre, %._crit_edge ], [ %140, %139 ] + %.val = phi ptr [ %.val.pre, %._crit_edge ], [ %140, %138 ] call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %.sroa.11117) %143 = getelementptr inbounds nuw i8, ptr %1, i64 160 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %.sroa.13.i) @@ -8362,13 +8353,13 @@ _ZN3std9panicking9panicking17hfd7edc4736053a04E.exit.thread.i.i.i: ; preds = %10 %146 = load ptr, ptr %145, align 8, !alias.scope !1228, !noalias !1231, !nonnull !4, !align !16, !noundef !4 %147 = getelementptr inbounds nuw i8, ptr %146, i64 24 %148 = load ptr, ptr %147, align 8, !invariant.load !4, !noalias !1238, !nonnull !4 - invoke void %148(ptr noalias noundef nonnull sret({ i64, [5 x i64] }) align 8 captures(none) dereferenceable(48) %4, ptr noundef nonnull align 1 %144, ptr noalias noundef nonnull align 8 dereferenceable(8) %2) + invoke void %147(ptr noalias noundef nonnull sret({ i64, [5 x i64] }) align 8 captures(none) dereferenceable(48) %4, ptr noundef nonnull align 1 %144, ptr noalias noundef nonnull align 8 dereferenceable(8) %2) to label %.noexc83 unwind label %152 .noexc83: ; preds = %142 tail call void @llvm.experimental.noalias.scope.decl(metadata !1239) %149 = load i64, ptr %4, align 8, !range !53, !alias.scope !1242, !noalias !1244, !noundef !4 - switch i64 %149, label %196 [ + switch i64 %149, label %195 [ i64 18, label %154 i64 17, label %157 i64 16, label %150 @@ -8392,14 +8383,14 @@ _ZN3std9panicking9panicking17hfd7edc4736053a04E.exit.thread.i.i.i: ; preds = %10 store i64 17, ptr %0, align 8 br label %common.ret -155: ; preds = %152, %136 - %.pn65.pn = phi { ptr, i32 } [ %.pn63, %136 ], [ %153, %152 ] +155: ; preds = %.body, %151 + %.pn65.pn = phi { ptr, i32 } [ %152, %151 ], [ %.pn63, %.body ] %156 = getelementptr inbounds nuw i8, ptr %1, i64 64 invoke void @"_ZN4core3ptr301drop_in_place$LT$core..pin..Pin$LT$alloc..boxed..Box$LT$dyn$u20$futures_core..stream..Stream$u2b$Item$u20$$u3d$$u20$core..result..Result$LT$either..Either$LT$sqlx_sqlite..query_result..SqliteQueryResult$C$sqlx_sqlite..row..SqliteRow$GT$$C$sqlx_core..error..Error$GT$$u2b$core..marker..Send$GT$$GT$$GT$17hb87e060678ce728bE"(ptr noalias noundef nonnull align 8 dereferenceable(16) %156) #31 to label %.body85 unwind label %57 157: ; preds = %150, %.noexc83 - %.sroa.9.0.ph.ph.i = phi i64 [ 1, %150 ], [ 0, %.noexc83 ] + %.sroa.9.0.ph.ph.i = phi i64 [ 1, %149 ], [ 0, %.noexc83 ] call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %4), !noalias !1215 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.11117, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.13.i, i64 32, i1 false), !noalias !1245 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %.sroa.13.i) @@ -8418,13 +8409,11 @@ _ZN3std9panicking9panicking17hfd7edc4736053a04E.exit.thread.i.i.i: ; preds = %10 br i1 %.not, label %166, label %.thread .thread: ; preds = %157 - call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %.sroa.0127) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.0127, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.5120, i64 32, i1 false) - %162 = getelementptr inbounds nuw i8, ptr %1, i64 80 - %163 = load ptr, ptr %162, align 8, !nonnull !4, !align !16, !noundef !4 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %143, ptr noundef nonnull align 8 dereferenceable(80) %.sroa.0127, i64 80, i1 false) + %161 = getelementptr inbounds nuw i8, ptr %1, i64 80 + %162 = load ptr, ptr %161, align 8, !nonnull !4, !align !16, !noundef !4 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %142, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.5120, i64 32, i1 false) %.sroa.6128.0..sroa_idx = getelementptr inbounds nuw i8, ptr %1, i64 240 - store ptr %163, ptr %.sroa.6128.0..sroa_idx, align 8 + store ptr %162, ptr %.sroa.6128.0..sroa_idx, align 8 %.sroa.8130.0..sroa_idx = getelementptr inbounds nuw i8, ptr %1, i64 250 store i8 0, ptr %.sroa.8130.0..sroa_idx, align 2 %164 = getelementptr inbounds nuw i8, ptr %1, i64 160 @@ -8439,7 +8428,7 @@ _ZN3std9panicking9panicking17hfd7edc4736053a04E.exit.thread.i.i.i: ; preds = %10 %169 = getelementptr inbounds nuw i8, ptr %1, i64 72 %170 = load ptr, ptr %169, align 8, !alias.scope !1258, !nonnull !4, !align !16, !noundef !4 %171 = load ptr, ptr %170, align 8, !invariant.load !4, !noalias !1258, !nonnull !4 - invoke void %171(ptr noundef nonnull align 1 %168) + invoke void %170(ptr noundef nonnull align 1 %168) to label %"_ZN4core3ptr279drop_in_place$LT$alloc..boxed..Box$LT$dyn$u20$futures_core..stream..Stream$u2b$Item$u20$$u3d$$u20$core..result..Result$LT$either..Either$LT$sqlx_sqlite..query_result..SqliteQueryResult$C$sqlx_sqlite..row..SqliteRow$GT$$C$sqlx_core..error..Error$GT$$u2b$core..marker..Send$GT$$GT$17h6328167fe2f5235eE.llvm.9153531805506995525.exit.i" unwind label %172, !noalias !1258 172: ; preds = %166 @@ -8465,7 +8454,7 @@ _ZN3std9panicking9panicking17hfd7edc4736053a04E.exit.thread.i.i.i: ; preds = %10 "_ZN4core3ptr301drop_in_place$LT$core..pin..Pin$LT$alloc..boxed..Box$LT$dyn$u20$futures_core..stream..Stream$u2b$Item$u20$$u3d$$u20$core..result..Result$LT$either..Either$LT$sqlx_sqlite..query_result..SqliteQueryResult$C$sqlx_sqlite..row..SqliteRow$GT$$C$sqlx_core..error..Error$GT$$u2b$core..marker..Send$GT$$GT$$GT$17hb87e060678ce728bE.exit": ; preds = %"_ZN4core3ptr279drop_in_place$LT$alloc..boxed..Box$LT$dyn$u20$futures_core..stream..Stream$u2b$Item$u20$$u3d$$u20$core..result..Result$LT$either..Either$LT$sqlx_sqlite..query_result..SqliteQueryResult$C$sqlx_sqlite..row..SqliteRow$GT$$C$sqlx_core..error..Error$GT$$u2b$core..marker..Send$GT$$GT$17h6328167fe2f5235eE.llvm.9153531805506995525.exit.i" invoke void @"_ZN4core3ptr101drop_in_place$LT$sqlx_core..pool..connection..PoolConnection$LT$sqlx_sqlite..database..Sqlite$GT$$GT$17hec3002acaff8d708E"(ptr noalias noundef nonnull align 8 dereferenceable(64) %1) - to label %180 unwind label %178 + to label %179 unwind label %178 178: ; preds = %"_ZN4core3ptr301drop_in_place$LT$core..pin..Pin$LT$alloc..boxed..Box$LT$dyn$u20$futures_core..stream..Stream$u2b$Item$u20$$u3d$$u20$core..result..Result$LT$either..Either$LT$sqlx_sqlite..query_result..SqliteQueryResult$C$sqlx_sqlite..row..SqliteRow$GT$$C$sqlx_core..error..Error$GT$$u2b$core..marker..Send$GT$$GT$$GT$17hb87e060678ce728bE.exit95", %"_ZN4core3ptr301drop_in_place$LT$core..pin..Pin$LT$alloc..boxed..Box$LT$dyn$u20$futures_core..stream..Stream$u2b$Item$u20$$u3d$$u20$core..result..Result$LT$either..Either$LT$sqlx_sqlite..query_result..SqliteQueryResult$C$sqlx_sqlite..row..SqliteRow$GT$$C$sqlx_core..error..Error$GT$$u2b$core..marker..Send$GT$$GT$$GT$17hb87e060678ce728bE.exit" %179 = landingpad { ptr, i32 } @@ -8510,7 +8499,7 @@ _ZN3std9panicking9panicking17hfd7edc4736053a04E.exit.thread.i.i.i: ; preds = %10 to label %"_ZN4core3ptr79drop_in_place$LT$sqlx_core..pool..Pool$LT$sqlx_sqlite..database..Sqlite$GT$$GT$17h4469235d2e02917fE.exit" unwind label %194 .body98: ; preds = %229, %194, %242, %238, %233, %215, %186 - %.pn74 = phi { ptr, i32 } [ %.pn72, %233 ], [ %.pn72, %215 ], [ %.pn69.pn, %242 ], [ %.pn69.pn, %238 ], [ %187, %186 ], [ %195, %194 ], [ %230, %229 ] + %.pn74 = phi { ptr, i32 } [ %.pn72, %232 ], [ %.pn72, %214 ], [ %.pn69.pn, %241 ], [ %.pn69.pn, %237 ], [ %187, %185 ], [ %195, %193 ], [ %230, %228 ] store i8 2, ptr %10, align 1 resume { ptr, i32 } %.pn74 @@ -8520,7 +8509,7 @@ _ZN3std9panicking9panicking17hfd7edc4736053a04E.exit.thread.i.i.i: ; preds = %10 br label %.body98 "_ZN4core3ptr79drop_in_place$LT$sqlx_core..pool..Pool$LT$sqlx_sqlite..database..Sqlite$GT$$GT$17h4469235d2e02917fE.exit": ; preds = %224, %"_ZN4core3ptr60drop_in_place$LT$sqlx_sqlite..arguments..SqliteArguments$GT$17hb2affb6533d53405E.exit.i.i", %"_ZN4core3ptr162drop_in_place$LT$sqlx_core..ext..async_stream..Yielder$LT$either..Either$LT$sqlx_sqlite..query_result..SqliteQueryResult$C$sqlx_sqlite..row..SqliteRow$GT$$GT$$GT$17hbcc6ee705e7e11a4E.exit89", %193, %"_ZN4core3ptr79drop_in_place$LT$sqlx_core..pool..Pool$LT$sqlx_sqlite..database..Sqlite$GT$$GT$17h4469235d2e02917fE.exit97" - %.sroa.0132.1 = phi i64 [ %.sroa.0132.0, %"_ZN4core3ptr79drop_in_place$LT$sqlx_core..pool..Pool$LT$sqlx_sqlite..database..Sqlite$GT$$GT$17h4469235d2e02917fE.exit97" ], [ 16, %193 ], [ 16, %"_ZN4core3ptr162drop_in_place$LT$sqlx_core..ext..async_stream..Yielder$LT$either..Either$LT$sqlx_sqlite..query_result..SqliteQueryResult$C$sqlx_sqlite..row..SqliteRow$GT$$GT$$GT$17hbcc6ee705e7e11a4E.exit89" ], [ %.sroa.0132.0, %"_ZN4core3ptr60drop_in_place$LT$sqlx_sqlite..arguments..SqliteArguments$GT$17hb2affb6533d53405E.exit.i.i" ], [ %.sroa.0132.0, %224 ] + %.sroa.0132.1 = phi i64 [ %.sroa.0132.0, %"_ZN4core3ptr79drop_in_place$LT$sqlx_core..pool..Pool$LT$sqlx_sqlite..database..Sqlite$GT$$GT$17h4469235d2e02917fE.exit97" ], [ 16, %192 ], [ 16, %"_ZN4core3ptr162drop_in_place$LT$sqlx_core..ext..async_stream..Yielder$LT$either..Either$LT$sqlx_sqlite..query_result..SqliteQueryResult$C$sqlx_sqlite..row..SqliteRow$GT$$GT$$GT$17hbcc6ee705e7e11a4E.exit89" ], [ %.sroa.0132.0, %"_ZN4core3ptr60drop_in_place$LT$sqlx_sqlite..arguments..SqliteArguments$GT$17hb2affb6533d53405E.exit.i.i" ], [ %.sroa.0132.0, %223 ] store i64 %.sroa.0132.1, ptr %0, align 8 %.sroa.4135.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %.sroa.4135.0..sroa_idx, ptr noundef nonnull align 8 dereferenceable(40) %.sroa.4135, i64 40, i1 false) @@ -8551,7 +8540,7 @@ _ZN3std9panicking9panicking17hfd7edc4736053a04E.exit.thread.i.i.i: ; preds = %10 %200 = getelementptr inbounds nuw i8, ptr %1, i64 72 %201 = load ptr, ptr %200, align 8, !alias.scope !1286, !nonnull !4, !align !16, !noundef !4 %202 = load ptr, ptr %201, align 8, !invariant.load !4, !noalias !1286, !nonnull !4 - invoke void %202(ptr noundef nonnull align 1 %199) + invoke void %201(ptr noundef nonnull align 1 %199) to label %"_ZN4core3ptr279drop_in_place$LT$alloc..boxed..Box$LT$dyn$u20$futures_core..stream..Stream$u2b$Item$u20$$u3d$$u20$core..result..Result$LT$either..Either$LT$sqlx_sqlite..query_result..SqliteQueryResult$C$sqlx_sqlite..row..SqliteRow$GT$$C$sqlx_core..error..Error$GT$$u2b$core..marker..Send$GT$$GT$17h6328167fe2f5235eE.llvm.9153531805506995525.exit.i91" unwind label %203, !noalias !1286 203: ; preds = %196 @@ -8579,7 +8568,7 @@ _ZN3std9panicking9panicking17hfd7edc4736053a04E.exit.thread.i.i.i: ; preds = %10 cleanup %209 = getelementptr inbounds nuw i8, ptr %1, i64 96 invoke void @"_ZN4core3ptr79drop_in_place$LT$sqlx_core..pool..Pool$LT$sqlx_sqlite..database..Sqlite$GT$$GT$17h4469235d2e02917fE"(ptr noalias noundef nonnull align 8 dereferenceable(8) %209) #31 - to label %215 unwind label %57 + to label %214 unwind label %57 "_ZN4core3ptr162drop_in_place$LT$sqlx_core..ext..async_stream..Yielder$LT$either..Either$LT$sqlx_sqlite..query_result..SqliteQueryResult$C$sqlx_sqlite..row..SqliteRow$GT$$GT$$GT$17hbcc6ee705e7e11a4E.exit": ; preds = %51, %56 %210 = getelementptr inbounds nuw i8, ptr %1, i64 96 @@ -8597,7 +8586,7 @@ _ZN3std9panicking9panicking17hfd7edc4736053a04E.exit.thread.i.i.i: ; preds = %10 to label %"_ZN4core3ptr79drop_in_place$LT$sqlx_core..pool..Pool$LT$sqlx_sqlite..database..Sqlite$GT$$GT$17h4469235d2e02917fE.exit97" unwind label %219 215: ; preds = %219, %207 - %.pn72 = phi { ptr, i32 } [ %220, %219 ], [ %208, %207 ] + %.pn72 = phi { ptr, i32 } [ %220, %218 ], [ %208, %206 ] %216 = getelementptr inbounds nuw i8, ptr %1, i64 152 %217 = load i8, ptr %216, align 8, !range !17, !noundef !4 %218 = trunc nuw i8 %217 to i1 @@ -8649,12 +8638,12 @@ _ZN3std9panicking9panicking17hfd7edc4736053a04E.exit.thread.i.i.i: ; preds = %10 %235 = phi ptr [ %62, %131 ], [ %112, %129 ] %.pn63 = phi { ptr, i32 } [ %132, %131 ], [ %.pn30.i, %129 ] invoke fastcc void @"_ZN4core3ptr198drop_in_place$LT$sqlx_core..ext..async_stream..Yielder$LT$either..Either$LT$sqlx_sqlite..query_result..SqliteQueryResult$C$sqlx_sqlite..row..SqliteRow$GT$$GT$..yield..$u7b$$u7b$closure$u7d$$u7d$$GT$17h700bd47fa8556c32E"(ptr noundef nonnull align 8 %235) #31 - to label %136 unwind label %57 + to label %154 unwind label %57 236: ; preds = %59 %237 = getelementptr inbounds nuw i8, ptr %1, i64 96 invoke void @"_ZN4core3ptr79drop_in_place$LT$sqlx_core..pool..Pool$LT$sqlx_sqlite..database..Sqlite$GT$$GT$17h4469235d2e02917fE"(ptr noalias noundef nonnull align 8 dereferenceable(8) %237) #31 - to label %238 unwind label %57 + to label %237 unwind label %57 238: ; preds = %236 %239 = getelementptr inbounds nuw i8, ptr %1, i64 152 diff --git a/bench/pola-rs/optimized/4lreosyeqk7o1vd9fcfoxznlc.ll b/bench/pola-rs/optimized/4lreosyeqk7o1vd9fcfoxznlc.ll index 372a8313815..232d207b8e3 100644 --- a/bench/pola-rs/optimized/4lreosyeqk7o1vd9fcfoxznlc.ll +++ b/bench/pola-rs/optimized/4lreosyeqk7o1vd9fcfoxznlc.ll @@ -130450,8 +130450,7 @@ default.unreachable: ; preds = %203 to label %"_ZN9polars_io5cloud19polars_object_store81_$LT$impl$u20$polars_io..cloud..polars_object_store..inner..PolarsObjectStore$GT$26get_buffered_ranges_stream28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h4f2f6910ad80ad5aE.exit.i.i.i.i" unwind label %265, !noalias !22887 "_ZN9polars_io5cloud19polars_object_store81_$LT$impl$u20$polars_io..cloud..polars_object_store..inner..PolarsObjectStore$GT$26get_buffered_ranges_stream28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h4f2f6910ad80ad5aE.exit.thread7.i.i.i.i": ; preds = %"_ZN4core3ptr222drop_in_place$LT$core..pin..Pin$LT$alloc..boxed..Box$LT$dyn$u20$core..future..future..Future$u2b$Output$u20$$u3d$$u20$core..result..Result$LT$bytes..bytes..Bytes$C$object_store..Error$GT$$u2b$core..marker..Send$GT$$GT$$GT$17h3662629602fb0d3aE.exit.i.i.i.i.i" - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.6.0..sroa_idx3.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.3.i.i.i.i.i, i64 32, i1 false), !noalias !22886 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %.sroa.6.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(56) %.sroa.6.0..sroa_idx3.i.i.i.i, i64 56, i1 false), !noalias !22895 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.6.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.3.i.i.i.i.i, i64 32, i1 false), !noalias !22881 store i8 1, ptr %209, align 8, !noalias !22882 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %6), !noalias !22881 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %.sroa.3.i.i.i.i.i) diff --git a/bench/pola-rs/optimized/akny94jrhz4eylr1elklgkf62.ll b/bench/pola-rs/optimized/akny94jrhz4eylr1elklgkf62.ll index 4ef5653152e..d59348d13dd 100644 --- a/bench/pola-rs/optimized/akny94jrhz4eylr1elklgkf62.ll +++ b/bench/pola-rs/optimized/akny94jrhz4eylr1elklgkf62.ll @@ -2864,9 +2864,7 @@ default.unreachable: ; preds = %3 to label %"_ZN9polars_io5cloud19polars_object_store81_$LT$impl$u20$polars_io..cloud..polars_object_store..inner..PolarsObjectStore$GT$26get_buffered_ranges_stream28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h6660283e498110d1E.exit" unwind label %42, !noalias !298 "_ZN9polars_io5cloud19polars_object_store81_$LT$impl$u20$polars_io..cloud..polars_object_store..inner..PolarsObjectStore$GT$26get_buffered_ranges_stream28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h6660283e498110d1E.exit.thread7": ; preds = %44 - %46 = getelementptr inbounds nuw i8, ptr %5, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.3.i, i64 32, i1 false), !noalias !294 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %.sroa.6, ptr noundef nonnull align 8 dereferenceable(56) %46, i64 56, i1 false), !noalias !303 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.6, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.3.i, i64 32, i1 false) store i8 1, ptr %9, align 8, !noalias !294 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %5) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %.sroa.3.i) @@ -32310,7 +32308,7 @@ _ZN3std2fs6exists17h8508fd91e725b2d7E.exit.i.i: ; preds = %39 br label %66 66: ; preds = %148, %144, %.body.i.i, %53, %42, %35 - %.pn20.pn.i.i = phi { ptr, i32 } [ %.pn20.i.i, %.body.i.i ], [ %149, %148 ], [ %.pn18.i.i, %144 ], [ %43, %42 ], [ %54, %53 ], [ %36, %35 ] + %.pn20.pn.i.i = phi { ptr, i32 } [ %.pn20.i.i, %.body.i.i ], [ %149, %147 ], [ %.pn18.i.i, %143 ], [ %43, %42 ], [ %54, %53 ], [ %36, %35 ] store i8 2, ptr %24, align 8, !noalias !3575 resume { ptr, i32 } %.pn20.pn.i.i @@ -32427,18 +32425,16 @@ _ZN3std2fs6exists17h8508fd91e725b2d7E.exit.i.i: ; preds = %39 br label %107 "_ZN4core3ptr78drop_in_place$LT$alloc..sync..Arc$LT$dyn$u20$object_store..ObjectStore$GT$$GT$17hfeb86ec61a70ac97E.exit30.i.i": ; preds = %160, %156, %141, %130, %105, %98 - %.pn16.i.i = phi { ptr, i32 } [ %131, %130 ], [ %142, %141 ], [ %106, %105 ], [ %99, %98 ], [ %157, %160 ], [ %157, %156 ] + %.pn16.i.i = phi { ptr, i32 } [ %131, %129 ], [ %142, %140 ], [ %106, %104 ], [ %99, %98 ], [ %157, %159 ], [ %157, %155 ] call void @llvm.lifetime.end.p0(i64 136, ptr nonnull %8) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %9), !noalias !3580 %101 = getelementptr inbounds nuw i8, ptr %23, i64 264 invoke void @"_ZN4core3ptr84drop_in_place$LT$polars_io..cloud..polars_object_store..inner..PolarsObjectStore$GT$17h8e536a40e439e8ebE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %101) #28 - to label %144 unwind label %103, !noalias !3579 + to label %143 unwind label %103, !noalias !3579 "_ZN9polars_io5cloud8adaptors19BlockingCloudWriter3new28_$u7b$$u7b$closure$u7d$$u7d$17h7283405cd4d36d69E.exit.thread9.i": ; preds = %"_ZN4core3ptr106drop_in_place$LT$polars_io..cloud..object_store_setup..build_object_store..$u7b$$u7b$closure$u7d$$u7d$$GT$17h005bbe23a0f20f3fE.exit.i.i" - %102 = getelementptr inbounds nuw i8, ptr %4, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %102, ptr noundef nonnull align 8 dereferenceable(64) %.sroa.3.i.i, i64 64, i1 false), !noalias !3580 call void @llvm.lifetime.end.p0(i64 2592, ptr nonnull %12) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(216) %.sroa.8.i, ptr noundef nonnull align 8 dereferenceable(216) %102, i64 216, i1 false), !noalias !3595 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %.sroa.8.i, ptr noundef nonnull align 8 dereferenceable(64) %.sroa.3.i.i, i64 64, i1 false), !noalias !3572 store i8 1, ptr %24, align 8, !noalias !3575 call void @llvm.lifetime.end.p0(i64 224, ptr nonnull %4), !noalias !3572 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5), !noalias !3572 @@ -32462,7 +32458,7 @@ _ZN3std2fs6exists17h8508fd91e725b2d7E.exit.i.i: ; preds = %39 107: ; preds = %100, %34 %108 = getelementptr inbounds nuw i8, ptr %23, i64 32 %109 = invoke fastcc { ptr, ptr } @"_ZN9polars_io5cloud19polars_object_store5inner17PolarsObjectStore19to_dyn_object_store28_$u7b$$u7b$closure$u7d$$u7d$17hbef79741b8e6c5c1E"(ptr noundef nonnull align 8 %108, ptr noalias noundef nonnull align 8 dereferenceable(32) %2) - to label %110 unwind label %105, !noalias !3579 + to label %109 unwind label %105, !noalias !3579 110: ; preds = %107 %111 = extractvalue { ptr, ptr } %109, 0 @@ -32504,7 +32500,7 @@ _ZN3std2fs6exists17h8508fd91e725b2d7E.exit.i.i: ; preds = %39 128: ; preds = %125 %129 = getelementptr inbounds nuw i8, ptr %23, i64 80 invoke void @"_ZN4core3ptr58drop_in_place$LT$tokio..sync..batch_semaphore..Acquire$GT$17h40c32857acc76e6eE"(ptr noundef nonnull align 8 %129) - to label %132 unwind label %130, !noalias !3579 + to label %131 unwind label %130, !noalias !3579 130: ; preds = %154, %128 %131 = landingpad { ptr, i32 } @@ -32523,34 +32519,34 @@ _ZN3std2fs6exists17h8508fd91e725b2d7E.exit.i.i: ; preds = %39 %136 = getelementptr i8, ptr %23, i64 184 %.val23.i.i = load i64, ptr %136, align 8, !noalias !3575, !noundef !3 invoke void @_ZN9polars_io5cloud18object_store_setup20object_path_from_str17h3434acafe40ab7d5E(ptr noalias noundef nonnull sret([64 x i8]) align 8 captures(none) dereferenceable(64) %6, ptr noalias noundef nonnull readonly align 1 %.val.i.i, i64 noundef %.val23.i.i) - to label %137 unwind label %156, !noalias !3579 + to label %136 unwind label %156, !noalias !3579 -137: ; preds = %132 - tail call void @llvm.experimental.noalias.scope.decl(metadata !3596) - %138 = load i64, ptr %6, align 8, !range !140, !alias.scope !3599, !noalias !3601, !noundef !3 - %.not.i.i.i = icmp eq i64 %138, 17 - %139 = getelementptr inbounds nuw i8, ptr %6, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.8.i.i, ptr noundef nonnull align 8 dereferenceable(24) %139, i64 24, i1 false), !alias.scope !3602, !noalias !3580 - br i1 %.not.i.i.i, label %140, label %150 +140: ; preds = %131 + tail call void @llvm.experimental.noalias.scope.decl(metadata !3595) + %137 = load i64, ptr %6, align 8, !range !140, !alias.scope !3598, !noalias !3600, !noundef !3 + %.not.i.i.i = icmp eq i64 %137, 17 + %138 = getelementptr inbounds nuw i8, ptr %6, i64 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.8.i.i, ptr noundef nonnull align 8 dereferenceable(24) %138, i64 24, i1 false), !alias.scope !3601, !noalias !3580 + br i1 %.not.i.i.i, label %139, label %149 -140: ; preds = %137 +139: ; preds = %136 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %6), !noalias !3580 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.8.i.i, i64 24, i1 false), !noalias !3580 invoke void @_ZN9polars_io5cloud8adaptors19BlockingCloudWriter21new_with_object_store17h66a827c28f8023c7E(ptr noalias noundef nonnull sret([224 x i8]) align 8 captures(none) dereferenceable(224) %4, ptr noundef nonnull %111, ptr noalias noundef nonnull readonly align 8 dereferenceable(184) %112, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(24) %5) - to label %143 unwind label %141, !noalias !3579 + to label %142 unwind label %141, !noalias !3579 -141: ; preds = %140 +141: ; preds = %139 %142 = landingpad { ptr, i32 } cleanup call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %.sroa.8.i.i) br label %"_ZN4core3ptr78drop_in_place$LT$alloc..sync..Arc$LT$dyn$u20$object_store..ObjectStore$GT$$GT$17hfeb86ec61a70ac97E.exit30.i.i" -143: ; preds = %140 +143: ; preds = %139 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %.sroa.8.i.i) br label %"_ZN4core3ptr78drop_in_place$LT$alloc..sync..Arc$LT$dyn$u20$object_store..ObjectStore$GT$$GT$17hfeb86ec61a70ac97E.exit.invoke.i.i" 144: ; preds = %146, %"_ZN4core3ptr78drop_in_place$LT$alloc..sync..Arc$LT$dyn$u20$object_store..ObjectStore$GT$$GT$17hfeb86ec61a70ac97E.exit30.i.i" - %.pn18.i.i = phi { ptr, i32 } [ %147, %146 ], [ %.pn16.i.i, %"_ZN4core3ptr78drop_in_place$LT$alloc..sync..Arc$LT$dyn$u20$object_store..ObjectStore$GT$$GT$17hfeb86ec61a70ac97E.exit30.i.i" ] + %.pn18.i.i = phi { ptr, i32 } [ %147, %145 ], [ %.pn16.i.i, %"_ZN4core3ptr78drop_in_place$LT$alloc..sync..Arc$LT$dyn$u20$object_store..ObjectStore$GT$$GT$17hfeb86ec61a70ac97E.exit30.i.i" ] %145 = getelementptr inbounds nuw i8, ptr %23, i64 168 invoke void @"_ZN4core3ptr58drop_in_place$LT$polars_io..cloud..glob..CloudLocation$GT$17h401644574654dccbE"(ptr noalias noundef nonnull align 8 dereferenceable(96) %145) #28 to label %66 unwind label %103, !noalias !3579 @@ -32565,19 +32561,19 @@ _ZN3std2fs6exists17h8508fd91e725b2d7E.exit.i.i: ; preds = %39 cleanup br label %66 -150: ; preds = %137 +150: ; preds = %136 %.sroa.1042.0..sroa_idx43.i.i = getelementptr inbounds nuw i8, ptr %6, i64 32 %.sroa.346.0..sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %4, i64 40 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.346.0..sroa_idx.i.i, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.1042.0..sroa_idx43.i.i, i64 32, i1 false), !noalias !3580 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %6), !noalias !3580 %.sroa.245.0..sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %4, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.245.0..sroa_idx.i.i, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.8.i.i, i64 24, i1 false), !noalias !3580 - tail call void @llvm.experimental.noalias.scope.decl(metadata !3603) + tail call void @llvm.experimental.noalias.scope.decl(metadata !3602) %151 = getelementptr inbounds nuw i8, ptr %4, i64 8 - store i64 %138, ptr %151, align 8, !alias.scope !3606, !noalias !3580 - store i64 3, ptr %4, align 8, !alias.scope !3608, !noalias !3609 + store i64 %137, ptr %151, align 8, !alias.scope !3605, !noalias !3580 + store i64 3, ptr %4, align 8, !alias.scope !3607, !noalias !3608 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %.sroa.8.i.i) - %152 = atomicrmw sub ptr %111, i64 1 release, align 8, !noalias !3610 + %152 = atomicrmw sub ptr %111, i64 1 release, align 8, !noalias !3609 %153 = icmp eq i64 %152, 1 br i1 %153, label %154, label %"_ZN4core3ptr78drop_in_place$LT$alloc..sync..Arc$LT$dyn$u20$object_store..ObjectStore$GT$$GT$17hfeb86ec61a70ac97E.exit.invoke.i.i" @@ -32602,7 +32598,7 @@ _ZN3std2fs6exists17h8508fd91e725b2d7E.exit.i.i: ; preds = %39 cleanup call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %6), !noalias !3580 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %.sroa.8.i.i) - %158 = atomicrmw sub ptr %111, i64 1 release, align 8, !noalias !3615 + %158 = atomicrmw sub ptr %111, i64 1 release, align 8, !noalias !3614 %159 = icmp eq i64 %158, 1 br i1 %159, label %160, label %"_ZN4core3ptr78drop_in_place$LT$alloc..sync..Arc$LT$dyn$u20$object_store..ObjectStore$GT$$GT$17hfeb86ec61a70ac97E.exit30.i.i" @@ -32612,7 +32608,7 @@ _ZN3std2fs6exists17h8508fd91e725b2d7E.exit.i.i: ; preds = %39 to label %"_ZN4core3ptr78drop_in_place$LT$alloc..sync..Arc$LT$dyn$u20$object_store..ObjectStore$GT$$GT$17hfeb86ec61a70ac97E.exit30.i.i" unwind label %103, !noalias !3579 "_ZN9polars_io5cloud8adaptors19BlockingCloudWriter3new28_$u7b$$u7b$closure$u7d$$u7d$17h7283405cd4d36d69E.exit.thread.i": ; preds = %114, %76 - %.sink.i.ph.i = phi i8 [ 4, %114 ], [ 3, %76 ] + %.sink.i.ph.i = phi i8 [ 4, %113 ], [ 3, %76 ] store i8 %.sink.i.ph.i, ptr %24, align 8, !noalias !3575 call void @llvm.lifetime.end.p0(i64 224, ptr nonnull %4), !noalias !3572 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5), !noalias !3572 @@ -32622,9 +32618,9 @@ _ZN3std2fs6exists17h8508fd91e725b2d7E.exit.i.i: ; preds = %39 br label %"_ZN4core3ptr154drop_in_place$LT$core..task..poll..Poll$LT$core..result..Result$LT$polars_io..cloud..adaptors..BlockingCloudWriter$C$polars_error..PolarsError$GT$$GT$$GT$17he32aa009cead4046E.exit.i" "_ZN9polars_io5cloud8adaptors19BlockingCloudWriter3new28_$u7b$$u7b$closure$u7d$$u7d$17h7283405cd4d36d69E.exit.i": ; preds = %.invoke.i.i - %.sroa.0.0.copyload1.pre.i = load i64, ptr %4, align 8, !noalias !3595 + %.sroa.0.0.copyload1.pre.i = load i64, ptr %4, align 8, !noalias !3619 %.sroa.8.0..sroa_idx2.i = getelementptr inbounds nuw i8, ptr %4, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(216) %.sroa.8.i, ptr noundef nonnull align 8 dereferenceable(216) %.sroa.8.0..sroa_idx2.i, i64 216, i1 false), !noalias !3595 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(216) %.sroa.8.i, ptr noundef nonnull align 8 dereferenceable(216) %.sroa.8.0..sroa_idx2.i, i64 216, i1 false), !noalias !3619 store i8 1, ptr %24, align 8, !noalias !3575 call void @llvm.lifetime.end.p0(i64 224, ptr nonnull %4), !noalias !3572 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5), !noalias !3572 @@ -53264,7 +53260,6 @@ define internal fastcc void @"_ZN9polars_io10path_utils12hugging_face8GetPages4n %.sroa.889.i = alloca [16 x i8], align 8 %.sroa.991.sroa.5.i = alloca [24 x i8], align 8 %.sroa.674.sroa.7.i = alloca [16 x i8], align 8 - %.sroa.072.i = alloca [416 x i8], align 8 %15 = alloca [64 x i8], align 8 %.sroa.1066.sroa.10.i = alloca [16 x i8], align 8 %16 = alloca [64 x i8], align 8 @@ -54051,11 +54046,9 @@ common.ret: ; preds = %301, %35 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.362.0..sroa_idx63.i, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.8.sroa.8.i, i64 16, i1 false), !noalias !6574 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %.sroa.1066.sroa.10.i) call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %15), !noalias !6570 - call void @llvm.lifetime.start.p0(i64 416, ptr nonnull %.sroa.072.i) store i8 0, ptr %188, align 1, !noalias !6570 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(136) %.sroa.072.i, ptr noundef nonnull align 8 dereferenceable(136) %62, i64 136, i1 false), !noalias !6570 %207 = getelementptr inbounds nuw i8, ptr %1, i64 184 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(416) %207, ptr noundef nonnull align 8 dereferenceable(416) %.sroa.072.i, i64 416, i1 false), !noalias !6570 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(136) %207, ptr noundef nonnull align 8 dereferenceable(136) %62, i64 136, i1 false), !noalias !6570 %.sroa.8.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %1, i64 600 store i8 0, ptr %.sroa.8.0..sroa_idx.i, align 8, !noalias !6570 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6), !noalias !6570 @@ -54130,7 +54123,6 @@ common.ret: ; preds = %301, %35 229: ; preds = %41 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %.sroa.1066.sroa.10.i) call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %15), !noalias !6570 - call void @llvm.lifetime.start.p0(i64 416, ptr nonnull %.sroa.072.i) %.phi.trans.insert158.i = getelementptr inbounds nuw i8, ptr %1, i64 600 %.pre159.i = load i8, ptr %.phi.trans.insert158.i, align 8, !range !293, !noalias !6620 %230 = getelementptr inbounds nuw i8, ptr %1, i64 184 @@ -54299,7 +54291,6 @@ common.ret: ; preds = %301, %35 call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %.sroa.4.i.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.1066.sroa.10.i) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %15), !noalias !6570 - call void @llvm.lifetime.end.p0(i64 416, ptr nonnull %.sroa.072.i) br label %.thread 279: ; preds = %"_ZN4core6result19Result$LT$T$C$E$GT$3map17hfe52f767464aee9fE.exit.i.i" @@ -54319,7 +54310,6 @@ common.ret: ; preds = %301, %35 %281 = phi ptr [ %252, %282 ], [ %227, %.body31.i ] %.pn8.i = phi { ptr, i32 } [ %283, %282 ], [ %eh.lpad-body32.i, %.body31.i ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %15), !noalias !6570 - call void @llvm.lifetime.end.p0(i64 416, ptr nonnull %.sroa.072.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.1066.sroa.10.i) br label %214 @@ -54362,7 +54352,6 @@ common.ret: ; preds = %301, %35 %.sroa.1066.sroa.11.0.copyload101.i = load i64, ptr %.sroa.1066.sroa.11.0..sroa_idx100.i, align 8, !alias.scope !6648, !noalias !6570 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %15), !noalias !6570 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.889.i, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.1066.sroa.10.i, i64 16, i1 false), !noalias !6570 - call void @llvm.lifetime.end.p0(i64 416, ptr nonnull %.sroa.072.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.1066.sroa.10.i) br label %297 @@ -54375,7 +54364,6 @@ common.ret: ; preds = %301, %35 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.991.sroa.5.i, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.1268.0..sroa_idx69.i, i64 24, i1 false), !noalias !6570 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %15), !noalias !6570 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.889.i, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.1066.sroa.10.i, i64 16, i1 false), !noalias !6570 - call void @llvm.lifetime.end.p0(i64 416, ptr nonnull %.sroa.072.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.1066.sroa.10.i) br label %209 @@ -61575,31 +61563,31 @@ attributes #31 = { noreturn } !3592 = distinct !{!3592, !3593, !"_ZN59_$LT$F$u20$as$u20$core..future..into_future..IntoFuture$GT$11into_future17h8ccea8913802b58cE: argument 0"} !3593 = distinct !{!3593, !"_ZN59_$LT$F$u20$as$u20$core..future..into_future..IntoFuture$GT$11into_future17h8ccea8913802b58cE"} !3594 = distinct !{!3594, !3593, !"_ZN59_$LT$F$u20$as$u20$core..future..into_future..IntoFuture$GT$11into_future17h8ccea8913802b58cE: argument 1"} -!3595 = !{!3578, !3570, !3573} -!3596 = !{!3597} -!3597 = distinct !{!3597, !3598, !"_ZN79_$LT$core..result..Result$LT$T$C$E$GT$$u20$as$u20$core..ops..try_trait..Try$GT$6branch17h5b9c49ab369b71a4E: argument 0"} -!3598 = distinct !{!3598, !"_ZN79_$LT$core..result..Result$LT$T$C$E$GT$$u20$as$u20$core..ops..try_trait..Try$GT$6branch17h5b9c49ab369b71a4E"} -!3599 = !{!3600} -!3600 = distinct !{!3600, !3598, !"_ZN79_$LT$core..result..Result$LT$T$C$E$GT$$u20$as$u20$core..ops..try_trait..Try$GT$6branch17h5b9c49ab369b71a4E: argument 1"} -!3601 = !{!3597, !3576, !3578, !3570, !3573} -!3602 = !{!3597, !3600} -!3603 = !{!3604} -!3604 = distinct !{!3604, !3605, !"_ZN153_$LT$core..result..Result$LT$T$C$F$GT$$u20$as$u20$core..ops..try_trait..FromResidual$LT$core..result..Result$LT$core..convert..Infallible$C$E$GT$$GT$$GT$13from_residual17h3793647573adcb20E: argument 1"} -!3605 = distinct !{!3605, !"_ZN153_$LT$core..result..Result$LT$T$C$F$GT$$u20$as$u20$core..ops..try_trait..FromResidual$LT$core..result..Result$LT$core..convert..Infallible$C$E$GT$$GT$$GT$13from_residual17h3793647573adcb20E"} -!3606 = !{!3607, !3604} -!3607 = distinct !{!3607, !3605, !"_ZN153_$LT$core..result..Result$LT$T$C$F$GT$$u20$as$u20$core..ops..try_trait..FromResidual$LT$core..result..Result$LT$core..convert..Infallible$C$E$GT$$GT$$GT$13from_residual17h3793647573adcb20E: argument 0"} -!3608 = !{!3607} -!3609 = !{!3604, !3576, !3578, !3570, !3573} -!3610 = !{!3611, !3613, !3576, !3570} -!3611 = distinct !{!3611, !3612, !"_ZN71_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hef21c432d2ca283fE: argument 0"} -!3612 = distinct !{!3612, !"_ZN71_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hef21c432d2ca283fE"} -!3613 = distinct !{!3613, !3614, !"_ZN4core3ptr78drop_in_place$LT$alloc..sync..Arc$LT$dyn$u20$object_store..ObjectStore$GT$$GT$17hfeb86ec61a70ac97E: argument 0"} -!3614 = distinct !{!3614, !"_ZN4core3ptr78drop_in_place$LT$alloc..sync..Arc$LT$dyn$u20$object_store..ObjectStore$GT$$GT$17hfeb86ec61a70ac97E"} -!3615 = !{!3616, !3618, !3576, !3570} -!3616 = distinct !{!3616, !3617, !"_ZN71_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hef21c432d2ca283fE: argument 0"} -!3617 = distinct !{!3617, !"_ZN71_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hef21c432d2ca283fE"} -!3618 = distinct !{!3618, !3619, !"_ZN4core3ptr78drop_in_place$LT$alloc..sync..Arc$LT$dyn$u20$object_store..ObjectStore$GT$$GT$17hfeb86ec61a70ac97E: argument 0"} -!3619 = distinct !{!3619, !"_ZN4core3ptr78drop_in_place$LT$alloc..sync..Arc$LT$dyn$u20$object_store..ObjectStore$GT$$GT$17hfeb86ec61a70ac97E"} +!3595 = !{!3596} +!3596 = distinct !{!3596, !3597, !"_ZN79_$LT$core..result..Result$LT$T$C$E$GT$$u20$as$u20$core..ops..try_trait..Try$GT$6branch17h5b9c49ab369b71a4E: argument 0"} +!3597 = distinct !{!3597, !"_ZN79_$LT$core..result..Result$LT$T$C$E$GT$$u20$as$u20$core..ops..try_trait..Try$GT$6branch17h5b9c49ab369b71a4E"} +!3598 = !{!3599} +!3599 = distinct !{!3599, !3597, !"_ZN79_$LT$core..result..Result$LT$T$C$E$GT$$u20$as$u20$core..ops..try_trait..Try$GT$6branch17h5b9c49ab369b71a4E: argument 1"} +!3600 = !{!3596, !3576, !3578, !3570, !3573} +!3601 = !{!3596, !3599} +!3602 = !{!3603} +!3603 = distinct !{!3603, !3604, !"_ZN153_$LT$core..result..Result$LT$T$C$F$GT$$u20$as$u20$core..ops..try_trait..FromResidual$LT$core..result..Result$LT$core..convert..Infallible$C$E$GT$$GT$$GT$13from_residual17h3793647573adcb20E: argument 1"} +!3604 = distinct !{!3604, !"_ZN153_$LT$core..result..Result$LT$T$C$F$GT$$u20$as$u20$core..ops..try_trait..FromResidual$LT$core..result..Result$LT$core..convert..Infallible$C$E$GT$$GT$$GT$13from_residual17h3793647573adcb20E"} +!3605 = !{!3606, !3603} +!3606 = distinct !{!3606, !3604, !"_ZN153_$LT$core..result..Result$LT$T$C$F$GT$$u20$as$u20$core..ops..try_trait..FromResidual$LT$core..result..Result$LT$core..convert..Infallible$C$E$GT$$GT$$GT$13from_residual17h3793647573adcb20E: argument 0"} +!3607 = !{!3606} +!3608 = !{!3603, !3576, !3578, !3570, !3573} +!3609 = !{!3610, !3612, !3576, !3570} +!3610 = distinct !{!3610, !3611, !"_ZN71_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hef21c432d2ca283fE: argument 0"} +!3611 = distinct !{!3611, !"_ZN71_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hef21c432d2ca283fE"} +!3612 = distinct !{!3612, !3613, !"_ZN4core3ptr78drop_in_place$LT$alloc..sync..Arc$LT$dyn$u20$object_store..ObjectStore$GT$$GT$17hfeb86ec61a70ac97E: argument 0"} +!3613 = distinct !{!3613, !"_ZN4core3ptr78drop_in_place$LT$alloc..sync..Arc$LT$dyn$u20$object_store..ObjectStore$GT$$GT$17hfeb86ec61a70ac97E"} +!3614 = !{!3615, !3617, !3576, !3570} +!3615 = distinct !{!3615, !3616, !"_ZN71_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hef21c432d2ca283fE: argument 0"} +!3616 = distinct !{!3616, !"_ZN71_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hef21c432d2ca283fE"} +!3617 = distinct !{!3617, !3618, !"_ZN4core3ptr78drop_in_place$LT$alloc..sync..Arc$LT$dyn$u20$object_store..ObjectStore$GT$$GT$17hfeb86ec61a70ac97E: argument 0"} +!3618 = distinct !{!3618, !"_ZN4core3ptr78drop_in_place$LT$alloc..sync..Arc$LT$dyn$u20$object_store..ObjectStore$GT$$GT$17hfeb86ec61a70ac97E"} +!3619 = !{!3578, !3570, !3573} !3620 = !{!3621} !3621 = distinct !{!3621, !3622, !"_ZN7bincode3ser20SizeChecker$LT$O$GT$7add_raw17h9fc7c2c6d1be3403E: argument 0"} !3622 = distinct !{!3622, !"_ZN7bincode3ser20SizeChecker$LT$O$GT$7add_raw17h9fc7c2c6d1be3403E"} diff --git a/bench/pola-rs/optimized/dgtr4n6toyrs0lo6gtn8sd4wk.ll b/bench/pola-rs/optimized/dgtr4n6toyrs0lo6gtn8sd4wk.ll index 35ea0e2cf35..afb958c0444 100644 --- a/bench/pola-rs/optimized/dgtr4n6toyrs0lo6gtn8sd4wk.ll +++ b/bench/pola-rs/optimized/dgtr4n6toyrs0lo6gtn8sd4wk.ll @@ -1735,7 +1735,7 @@ common.resume.i.i.i.i.i: ; preds = %57, %53 unreachable "_ZN13polars_schema6schema15Schema$LT$D$GT$22new_inserting_at_index28_$u7b$$u7b$closure$u7d$$u7d$17h072da8408e16b937E.exit.i.i.i.i": ; preds = %55 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %.sroa.0.i.i.i.i, ptr noundef nonnull align 16 dereferenceable(32) %10, i64 32, i1 false), !noalias !124 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(24) %.sroa.0.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !124 %.sroa.4.0.copyload2.i.i.i.i = load i8, ptr %35, align 16, !noalias !132 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(47) %.sroa.6.i.i.i.i, ptr noundef nonnull align 1 dereferenceable(47) %.sroa.6.0..sroa_idx3.i.i.i.i, i64 47, i1 false), !noalias !132 call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %10), !noalias !130 @@ -147380,22 +147380,18 @@ define hidden void @_ZN11polars_plan5utils15get_single_leaf17ha9a6bd08164108acE( } ; Function Attrs: nonlazybind uwtable -define void @_ZN11polars_plan5utils30expr_to_leaf_column_names_iter17h363973890359c76bE(ptr dead_on_unwind noalias noundef writable writeonly sret([96 x i8]) align 8 captures(none) dereferenceable(96) initializes((0, 72), (95, 96)) %0, ptr noundef nonnull align 16 %1) unnamed_addr #2 { - %.sroa.03 = alloca [71 x i8], align 8 +define void @_ZN11polars_plan5utils30expr_to_leaf_column_names_iter17h363973890359c76bE(ptr dead_on_unwind noalias noundef writable writeonly sret([96 x i8]) align 8 captures(none) dereferenceable(96) initializes((0, 48), (71, 72), (95, 96)) %0, ptr noundef nonnull align 16 %1) unnamed_addr #2 { %3 = alloca [48 x i8], align 8 %.sroa.7.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %3, i64 32 call void @"_ZN11polars_plan5plans8iterator104_$LT$impl$u20$core..iter..traits..collect..IntoIterator$u20$for$u20$$RF$polars_plan..dsl..expr..Expr$GT$9into_iter17h7e4ee5be576f76a6E"(ptr noalias noundef nonnull sret([16 x i8]) align 8 captures(none) dereferenceable(16) %.sroa.7.0..sroa_idx.i, ptr noundef nonnull align 16 %1) store i64 0, ptr %3, align 8 %.sroa.5.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %3, i64 16 store i64 0, ptr %.sroa.5.0..sroa_idx.i, align 8 - call void @llvm.lifetime.start.p0(i64 71, ptr nonnull %.sroa.03) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %.sroa.03, ptr noundef nonnull align 8 dereferenceable(48) %3, i64 48, i1 false) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(71) %0, ptr noundef nonnull align 8 dereferenceable(71) %.sroa.03, i64 71, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(48) %3, i64 48, i1 false) %.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 71 store i8 -37, ptr %.sroa.5.0..sroa_idx, align 1 %.sroa.7.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 95 store i8 -37, ptr %.sroa.7.0..sroa_idx, align 1 - call void @llvm.lifetime.end.p0(i64 71, ptr nonnull %.sroa.03) ret void } diff --git a/bench/pola-rs/optimized/eo2lit9v8mg9048herjayt2j2.ll b/bench/pola-rs/optimized/eo2lit9v8mg9048herjayt2j2.ll index 1df972b6585..1adbcc553d4 100644 --- a/bench/pola-rs/optimized/eo2lit9v8mg9048herjayt2j2.ll +++ b/bench/pola-rs/optimized/eo2lit9v8mg9048herjayt2j2.ll @@ -305936,7 +305936,7 @@ common.resume: ; preds = %236, %111, %switch. 99: ; preds = %.noexc31.i %100 = ptrtoint ptr %92 to i64 - %.sroa.013.sroa.0.i.sroa.4.0.copyload = load ptr, ptr %.sroa.48.0..sroa_idx.i, align 8, !noalias !58395 + %.sroa.013.sroa.0.i.sroa.4.0.copyload = load ptr, ptr %.sroa.48.0..sroa_idx.i, align 8, !noalias !58431 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %.sroa.10, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.5.0..sroa_idx.i, i64 16, i1 false), !noalias !58431 br label %"_ZN182_$LT$polars_plan..plans..expr_ir.._..$LT$impl$u20$serde..de..Deserialize$u20$for$u20$polars_plan..plans..expr_ir..ExprIR$GT$..deserialize..__Visitor$u20$as$u20$serde..de..Visitor$GT$9visit_seq17h375c28bff650bddcE.exit" @@ -306056,8 +306056,8 @@ _ZN5serde2de9SeqAccess12next_element17h74416ed9d655c4a0E.exit.i._crit_edge: ; pr br label %.thread66 125: ; preds = %.thread97, %.thread66 - %.sroa.12.3 = phi ptr [ %.sroa.12.071, %.thread66 ], [ %.sroa.12.5102, %.thread97 ] - %.sroa.08.3 = phi i64 [ %.sroa.08.072, %.thread66 ], [ %.sroa.08.4103, %.thread97 ] + %.sroa.12.3 = phi ptr [ %.sroa.12.071, %.thread70 ], [ %.sroa.12.5102, %.thread101 ] + %.sroa.08.3 = phi i64 [ %.sroa.08.072, %.thread70 ], [ %.sroa.08.4103, %.thread101 ] %126 = icmp eq i64 %.sroa.08.3, 5 br i1 %126, label %248, label %251, !prof !115 @@ -306177,8 +306177,8 @@ _ZN5serde2de9SeqAccess12next_element17h74416ed9d655c4a0E.exit.i._crit_edge: ; pr br label %switch.early.test.i switch.early.test.i: ; preds = %"_ZN4core3ptr60drop_in_place$LT$polars_plan..plans..expr_ir..OutputName$GT$17h5a1adf830cbd24acE.exit.i.thread86", %"_ZN4core3ptr60drop_in_place$LT$polars_plan..plans..expr_ir..OutputName$GT$17h5a1adf830cbd24acE.exit.i.thread81", %"_ZN4core3ptr60drop_in_place$LT$polars_plan..plans..expr_ir..OutputName$GT$17h5a1adf830cbd24acE.exit.i.thread" - %.pn.i76 = phi { ptr, i32 } [ %187, %"_ZN4core3ptr60drop_in_place$LT$polars_plan..plans..expr_ir..OutputName$GT$17h5a1adf830cbd24acE.exit.i.thread" ], [ %lpad.phi, %"_ZN4core3ptr60drop_in_place$LT$polars_plan..plans..expr_ir..OutputName$GT$17h5a1adf830cbd24acE.exit.i.thread81" ], [ %lpad.thr_comm, %"_ZN4core3ptr60drop_in_place$LT$polars_plan..plans..expr_ir..OutputName$GT$17h5a1adf830cbd24acE.exit.i.thread86" ] - %159 = phi i64 [ %.pr.i, %"_ZN4core3ptr60drop_in_place$LT$polars_plan..plans..expr_ir..OutputName$GT$17h5a1adf830cbd24acE.exit.i.thread" ], [ %.pr122.i84, %"_ZN4core3ptr60drop_in_place$LT$polars_plan..plans..expr_ir..OutputName$GT$17h5a1adf830cbd24acE.exit.i.thread81" ], [ %.pr122.i89, %"_ZN4core3ptr60drop_in_place$LT$polars_plan..plans..expr_ir..OutputName$GT$17h5a1adf830cbd24acE.exit.i.thread86" ] + %.pn.i76 = phi { ptr, i32 } [ %187, %"_ZN4core3ptr60drop_in_place$LT$polars_plan..plans..expr_ir..OutputName$GT$17h5a1adf830cbd24acE.exit.i.thread" ], [ %lpad.phi, %"_ZN4core3ptr60drop_in_place$LT$polars_plan..plans..expr_ir..OutputName$GT$17h5a1adf830cbd24acE.exit.i.thread85" ], [ %lpad.thr_comm, %"_ZN4core3ptr60drop_in_place$LT$polars_plan..plans..expr_ir..OutputName$GT$17h5a1adf830cbd24acE.exit.i.thread90" ] + %159 = phi i64 [ %.pr.i, %"_ZN4core3ptr60drop_in_place$LT$polars_plan..plans..expr_ir..OutputName$GT$17h5a1adf830cbd24acE.exit.i.thread" ], [ %.pr122.i84, %"_ZN4core3ptr60drop_in_place$LT$polars_plan..plans..expr_ir..OutputName$GT$17h5a1adf830cbd24acE.exit.i.thread85" ], [ %.pr122.i89, %"_ZN4core3ptr60drop_in_place$LT$polars_plan..plans..expr_ir..OutputName$GT$17h5a1adf830cbd24acE.exit.i.thread90" ] switch i64 %159, label %.sink.split.i108.i [ i64 5, label %common.resume i64 0, label %common.resume @@ -306195,7 +306195,7 @@ switch.early.test.i: ; preds = %"_ZN4core3ptr60drop br label %"_ZN4core3ptr60drop_in_place$LT$polars_plan..plans..expr_ir..OutputName$GT$17h5a1adf830cbd24acE.exit.i.thread81" "_ZN4core3ptr60drop_in_place$LT$polars_plan..plans..expr_ir..OutputName$GT$17h5a1adf830cbd24acE.exit.i.thread81": ; preds = %"_ZN4core3ptr60drop_in_place$LT$polars_plan..plans..expr_ir..OutputName$GT$17h5a1adf830cbd24acE.exit.i.thread81.loopexit.split-lp", %"_ZN4core3ptr60drop_in_place$LT$polars_plan..plans..expr_ir..OutputName$GT$17h5a1adf830cbd24acE.exit.i.thread81.loopexit" - %lpad.phi = phi { ptr, i32 } [ %lpad.loopexit, %"_ZN4core3ptr60drop_in_place$LT$polars_plan..plans..expr_ir..OutputName$GT$17h5a1adf830cbd24acE.exit.i.thread81.loopexit" ], [ %lpad.loopexit.split-lp, %"_ZN4core3ptr60drop_in_place$LT$polars_plan..plans..expr_ir..OutputName$GT$17h5a1adf830cbd24acE.exit.i.thread81.loopexit.split-lp" ] + %lpad.phi = phi { ptr, i32 } [ %lpad.loopexit, %"_ZN4core3ptr60drop_in_place$LT$polars_plan..plans..expr_ir..OutputName$GT$17h5a1adf830cbd24acE.exit.i.thread85.loopexit" ], [ %lpad.loopexit.split-lp, %"_ZN4core3ptr60drop_in_place$LT$polars_plan..plans..expr_ir..OutputName$GT$17h5a1adf830cbd24acE.exit.i.thread85.loopexit.split-lp" ] %.pr122.i84 = load i64, ptr %17, align 8, !noalias !58435 br label %switch.early.test.i @@ -306453,7 +306453,7 @@ _ZN5serde2de9MapAccess10next_value17h66054a4ac0e843d1E.exit.i: ; preds = %207, % br label %.thread95 228: ; preds = %218 - %.sroa.049.sroa.0.i.sroa.4.0.copyload = load ptr, ptr %135, align 8, !noalias !58435 + %.sroa.049.sroa.0.i.sroa.4.0.copyload = load ptr, ptr %135, align 8, !noalias !58541 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %.sroa.22, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.7.0..sroa_idx22.i, i64 16, i1 false), !noalias !58541 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15), !noalias !58435 br label %"_ZN182_$LT$polars_plan..plans..expr_ir.._..$LT$impl$u20$serde..de..Deserialize$u20$for$u20$polars_plan..plans..expr_ir..ExprIR$GT$..deserialize..__Visitor$u20$as$u20$serde..de..Visitor$GT$9visit_map17h78de3f5b59ad29ccE.exit" @@ -306489,9 +306489,9 @@ switch.early.test290.i: ; preds = %215, %_ZN5serde2de9 to label %common.resume unwind label %231, !noalias !58448 "_ZN182_$LT$polars_plan..plans..expr_ir.._..$LT$impl$u20$serde..de..Deserialize$u20$for$u20$polars_plan..plans..expr_ir..ExprIR$GT$..deserialize..__Visitor$u20$as$u20$serde..de..Visitor$GT$9visit_map17h78de3f5b59ad29ccE.exit": ; preds = %.thread95, %228, %switch.early.test290.i, %switch.early.test290.i, %.sink.split.i105.i - %.sroa.056.2 = phi i64 [ 5, %.sink.split.i105.i ], [ 5, %switch.early.test290.i ], [ 5, %switch.early.test290.i ], [ %161, %228 ], [ 5, %.thread95 ] - %.sroa.14.2 = phi ptr [ %.sroa.14.193, %.sink.split.i105.i ], [ %.sroa.14.193, %switch.early.test290.i ], [ %.sroa.14.193, %switch.early.test290.i ], [ %.sroa.049.sroa.0.i.sroa.4.0.copyload, %228 ], [ %220, %.thread95 ] - %.sroa.2360.0 = phi i64 [ undef, %.sink.split.i105.i ], [ undef, %switch.early.test290.i ], [ undef, %switch.early.test290.i ], [ %.sroa.4.0.i.ph, %228 ], [ undef, %.thread95 ] + %.sroa.056.2 = phi i64 [ 5, %.sink.split.i105.i ], [ 5, %switch.early.test290.i ], [ 5, %switch.early.test290.i ], [ %161, %228 ], [ 5, %.thread99 ] + %.sroa.14.2 = phi ptr [ %.sroa.14.193, %.sink.split.i105.i ], [ %.sroa.14.193, %switch.early.test290.i ], [ %.sroa.14.193, %switch.early.test290.i ], [ %.sroa.049.sroa.0.i.sroa.4.0.copyload, %228 ], [ %220, %.thread99 ] + %.sroa.2360.0 = phi i64 [ undef, %.sink.split.i105.i ], [ undef, %switch.early.test290.i ], [ undef, %switch.early.test290.i ], [ %.sroa.4.0.i.ph, %228 ], [ undef, %.thread99 ] call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17), !noalias !58435 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %18) %233 = load i8, ptr %53, align 8, !noundef !4 @@ -306556,8 +306556,8 @@ switch.early.test290.i: ; preds = %215, %_ZN5serde2de9 br label %.thread97 .thread97: ; preds = %.thread219, %246, %247, %243 - %.sroa.08.4103 = phi i64 [ %240, %247 ], [ %240, %243 ], [ 5, %246 ], [ %240, %.thread219 ] - %.sroa.12.5102 = phi ptr [ %245, %247 ], [ %245, %243 ], [ %235, %246 ], [ %.sroa.222.0.copyload, %.thread219 ] + %.sroa.08.4103 = phi i64 [ %240, %247 ], [ %240, %243 ], [ 5, %246 ], [ %240, %.thread223 ] + %.sroa.12.5102 = phi ptr [ %245, %247 ], [ %245, %243 ], [ %235, %246 ], [ %.sroa.222.0.copyload, %.thread223 ] call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %25) br label %125 diff --git a/bench/regex-rs/optimized/4dth5ncaqumdqgby.ll b/bench/regex-rs/optimized/4dth5ncaqumdqgby.ll index 2064df63beb..4db934a607f 100644 --- a/bench/regex-rs/optimized/4dth5ncaqumdqgby.ll +++ b/bench/regex-rs/optimized/4dth5ncaqumdqgby.ll @@ -6542,8 +6542,7 @@ define hidden void @_ZN14regex_automata4util9prefilter6Choice3new17h3730f9c7ceca %6 = alloca { { { [28 x i64] }, { i32, i32 }, ptr, [2 x i64] }, { { i64, [2 x i64] } }, [1 x i64] }, align 32 %7 = alloca { [17 x i8], i8, [6 x i8] }, align 8 %.sroa.7 = alloca [255 x i8], align 1 - %8 = alloca { i64, [67 x i64] }, align 32 - %9 = alloca { i64, [65 x i64] }, align 8 + %8 = alloca { i64, [65 x i64] }, align 8 %.sroa.416.sroa.0 = alloca [35 x i64], align 8 %.sroa.0 = alloca [32 x i64], align 32 %.sroa.754 = alloca [3 x i64], align 8 @@ -6559,7 +6558,7 @@ define hidden void @_ZN14regex_automata4util9prefilter6Choice3new17h3730f9c7ceca br label %14 14: ; preds = %16, %12 - %15 = phi ptr [ %17, %16 ], [ %2, %12 ] + %15 = phi ptr [ %17, %15 ], [ %2, %11 ] %.not.not.not.i.not = icmp eq ptr %15, %13 br i1 %.not.not.not.i.not, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3any17hcab6bdc1117f674dE.exit", label %16 @@ -6570,7 +6569,7 @@ define hidden void @_ZN14regex_automata4util9prefilter6Choice3new17h3730f9c7ceca %20 = icmp eq i64 %19, 0 br i1 %20, label %30, label %14 -21: ; preds = %"_ZN4core3ptr107drop_in_place$LT$core..option..Option$LT$regex_automata..util..prefilter..aho_corasick..AhoCorasick$GT$$GT$17h5ce31bdd7fa8f1d8E.exit", %108, %104, %92, %90, %86, %50, %31, %30, %11 +21: ; preds = %"_ZN4core3ptr107drop_in_place$LT$core..option..Option$LT$regex_automata..util..prefilter..aho_corasick..AhoCorasick$GT$$GT$17h5ce31bdd7fa8f1d8E.exit", %108, %104, %91, %90, %86, %50, %31, %30, %11 ret void "_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3any17hcab6bdc1117f674dE.exit": ; preds = %14 @@ -6609,7 +6608,7 @@ define hidden void @_ZN14regex_automata4util9prefilter6Choice3new17h3730f9c7ceca br label %21 .preheader.i: ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3any17hcab6bdc1117f674dE.exit", %35 - %.idx.i = phi i64 [ %.add.i, %35 ], [ 0, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3any17hcab6bdc1117f674dE.exit" ] + %.idx.i = phi i64 [ %.add.i, %34 ], [ 0, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3any17hcab6bdc1117f674dE.exit" ] %34 = icmp eq i64 %.idx.i, 64 br i1 %34, label %39, label %35 @@ -6662,7 +6661,7 @@ define hidden void @_ZN14regex_automata4util9prefilter6Choice3new17h3730f9c7ceca br label %.preheader.i41 .preheader.i41: ; preds = %.preheader.i41.preheader, %55 - %.idx.i42 = phi i64 [ %.add.i44, %55 ], [ 0, %.preheader.i41.preheader ] + %.idx.i42 = phi i64 [ %.add.i44, %54 ], [ 0, %.preheader.i41.preheader ] %54 = icmp eq i64 %.idx.i42, 96 br i1 %54, label %59, label %55 @@ -6724,8 +6723,8 @@ define hidden void @_ZN14regex_automata4util9prefilter6Choice3new17h3730f9c7ceca unreachable _ZN14regex_automata4util9prefilter6memchr7Memchr33new17hc6c37c79ec7f444bE.exit: ; preds = %55, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3any17hcab6bdc1117f674dE.exit", %.loopexit, %76 - %.sroa.4.sroa.0.0.i = phi i32 [ %83, %76 ], [ 0, %.loopexit ], [ 0, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3any17hcab6bdc1117f674dE.exit" ], [ 0, %55 ] - %.sroa.0.0.i39 = phi i32 [ 1, %76 ], [ 0, %.loopexit ], [ 0, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3any17hcab6bdc1117f674dE.exit" ], [ 0, %55 ] + %.sroa.4.sroa.0.0.i = phi i32 [ %83, %75 ], [ 0, %.loopexit ], [ 0, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3any17hcab6bdc1117f674dE.exit" ], [ 0, %54 ] + %.sroa.0.0.i39 = phi i32 [ 1, %75 ], [ 0, %.loopexit ], [ 0, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3any17hcab6bdc1117f674dE.exit" ], [ 0, %54 ] %.sroa.0.0.insert.insert.i40 = or disjoint i32 %.sroa.0.0.i39, %.sroa.4.sroa.0.0.i %85 = trunc i32 %.sroa.0.0.insert.insert.i40 to i1 br i1 %85, label %86, label %"_ZN4core3ptr96drop_in_place$LT$core..option..Option$LT$regex_automata..util..prefilter..memmem..Memmem$GT$$GT$17hb54fd097864daa3cE.exit" @@ -6776,29 +6775,26 @@ _ZN14regex_automata4util9prefilter6memmem6Memmem3new17hdf81f1b812172b72E.exit: ; br label %21 "_ZN4core3ptr96drop_in_place$LT$core..option..Option$LT$regex_automata..util..prefilter..memmem..Memmem$GT$$GT$17hb54fd097864daa3cE.exit": ; preds = %_ZN14regex_automata4util9prefilter6memchr7Memchr33new17hc6c37c79ec7f444bE.exit, %_ZN14regex_automata4util9prefilter6memmem6Memmem3new17hdf81f1b812172b72E.exit - call void @llvm.lifetime.start.p0(i64 528, ptr nonnull %9) - call fastcc void @_ZN14regex_automata4util9prefilter5teddy5Teddy3new17h44aa1b50ee7ef5ccE(ptr noalias noundef align 8 captures(none) dereferenceable(528) %9, ptr noalias noundef nonnull readonly align 8 %2, i64 noundef %3) - %91 = load i64, ptr %9, align 8, !range !4, !noundef !5 + call void @llvm.lifetime.start.p0(i64 528, ptr nonnull %8) + call fastcc void @_ZN14regex_automata4util9prefilter5teddy5Teddy3new17h44aa1b50ee7ef5ccE(ptr noalias noundef align 8 captures(none) dereferenceable(528) %8, ptr noalias noundef nonnull readonly align 8 %2, i64 noundef %3) + %91 = load i64, ptr %8, align 8, !range !4, !noundef !5 %.not33 = icmp eq i64 %91, -9223372036854775808 - br i1 %.not33, label %93, label %92 + br i1 %.not33, label %92, label %91 -92: ; preds = %"_ZN4core3ptr96drop_in_place$LT$core..option..Option$LT$regex_automata..util..prefilter..memmem..Memmem$GT$$GT$17hb54fd097864daa3cE.exit" - call void @llvm.lifetime.start.p0(i64 544, ptr nonnull %8) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(528) %8, ptr noundef nonnull align 8 dereferenceable(528) %9, i64 528, i1 false) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(544) %0, ptr noundef nonnull align 32 dereferenceable(544) %8, i64 544, i1 false) - call void @llvm.lifetime.end.p0(i64 544, ptr nonnull %8) - call void @llvm.lifetime.end.p0(i64 528, ptr nonnull %9) - br label %21 +91: ; preds = %"_ZN4core3ptr96drop_in_place$LT$core..option..Option$LT$regex_automata..util..prefilter..memmem..Memmem$GT$$GT$17hb54fd097864daa3cE.exit" + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(528) %0, ptr noundef nonnull align 8 dereferenceable(528) %8, i64 528, i1 false) + call void @llvm.lifetime.end.p0(i64 528, ptr nonnull %8) + br label %20 -93: ; preds = %"_ZN4core3ptr96drop_in_place$LT$core..option..Option$LT$regex_automata..util..prefilter..memmem..Memmem$GT$$GT$17hb54fd097864daa3cE.exit" - call fastcc void @"_ZN4core3ptr94drop_in_place$LT$core..option..Option$LT$regex_automata..util..prefilter..teddy..Teddy$GT$$GT$17h0598ca2610b7d360E"(ptr noalias noundef align 8 dereferenceable(528) %9) - call void @llvm.lifetime.end.p0(i64 528, ptr nonnull %9) +92: ; preds = %"_ZN4core3ptr96drop_in_place$LT$core..option..Option$LT$regex_automata..util..prefilter..memmem..Memmem$GT$$GT$17hb54fd097864daa3cE.exit" + call fastcc void @"_ZN4core3ptr94drop_in_place$LT$core..option..Option$LT$regex_automata..util..prefilter..teddy..Teddy$GT$$GT$17h0598ca2610b7d360E"(ptr noalias noundef align 8 dereferenceable(528) %8) + call void @llvm.lifetime.end.p0(i64 529, ptr nonnull %8) call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %5) call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(256) %5, i8 0, i64 256, i1 false), !noalias !969 br label %.lr.ph.i -.lr.ph.i: ; preds = %97, %93 - %.sroa.0.07.i = phi ptr [ %98, %97 ], [ %2, %93 ] +.lr.ph.i: ; preds = %97, %92 + %.sroa.0.07.i = phi ptr [ %98, %96 ], [ %2, %92 ] %94 = call { ptr, i64 } @"_ZN96_$LT$regex_syntax..hir..literal..Literal$u20$as$u20$core..convert..AsRef$LT$$u5b$u8$u5d$$GT$$GT$6as_ref17he73dc7ad7c96e382E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %.sroa.0.07.i), !noalias !973 %95 = extractvalue { ptr, i64 } %94, 1 %96 = icmp eq i64 %95, 1 @@ -6859,8 +6855,7 @@ define hidden void @_ZN14regex_automata4util9prefilter6Choice3new17hc26d7581dc6c %6 = alloca { { { [28 x i64] }, { i32, i32 }, ptr, [2 x i64] }, { { i64, [2 x i64] } }, [1 x i64] }, align 32 %7 = alloca { [17 x i8], i8, [6 x i8] }, align 8 %.sroa.7 = alloca [255 x i8], align 1 - %8 = alloca { i64, [67 x i64] }, align 32 - %9 = alloca { i64, [65 x i64] }, align 8 + %8 = alloca { i64, [65 x i64] }, align 8 %.sroa.416.sroa.0 = alloca [35 x i64], align 8 %.sroa.0 = alloca [32 x i64], align 32 %.sroa.758 = alloca [3 x i64], align 8 @@ -6876,7 +6871,7 @@ define hidden void @_ZN14regex_automata4util9prefilter6Choice3new17hc26d7581dc6c br label %14 14: ; preds = %16, %12 - %15 = phi ptr [ %17, %16 ], [ %2, %12 ] + %15 = phi ptr [ %17, %15 ], [ %2, %11 ] %.not.not.not.i.not = icmp eq ptr %15, %13 br i1 %.not.not.not.i.not, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3any17hb5b06c471bec5674E.exit", label %16 @@ -7092,30 +7087,27 @@ _ZN14regex_automata4util9prefilter6memmem6Memmem3new17hdc2394408a143975E.exit: ; br label %20 "_ZN4core3ptr96drop_in_place$LT$core..option..Option$LT$regex_automata..util..prefilter..memmem..Memmem$GT$$GT$17hb54fd097864daa3cE.exit": ; preds = %69, %_ZN14regex_automata4util9prefilter6memmem6Memmem3new17hdc2394408a143975E.exit - call void @llvm.lifetime.start.p0(i64 528, ptr nonnull %9) - call fastcc void @_ZN14regex_automata4util9prefilter5teddy5Teddy3new17hb2f1d4f85872455bE(ptr noalias noundef align 8 captures(none) dereferenceable(528) %9, ptr noalias noundef nonnull readonly align 8 %2, i64 noundef %3) - %74 = load i64, ptr %9, align 8, !range !4, !noundef !5 + call void @llvm.lifetime.start.p0(i64 528, ptr nonnull %8) + call fastcc void @_ZN14regex_automata4util9prefilter5teddy5Teddy3new17hb2f1d4f85872455bE(ptr noalias noundef align 8 captures(none) dereferenceable(528) %8, ptr noalias noundef nonnull readonly align 8 %2, i64 noundef %3) + %74 = load i64, ptr %8, align 8, !range !4, !noundef !5 %.not33 = icmp eq i64 %74, -9223372036854775808 br i1 %.not33, label %76, label %75 75: ; preds = %"_ZN4core3ptr96drop_in_place$LT$core..option..Option$LT$regex_automata..util..prefilter..memmem..Memmem$GT$$GT$17hb54fd097864daa3cE.exit" - call void @llvm.lifetime.start.p0(i64 544, ptr nonnull %8) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(528) %8, ptr noundef nonnull align 8 dereferenceable(528) %9, i64 528, i1 false) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(544) %0, ptr noundef nonnull align 32 dereferenceable(544) %8, i64 544, i1 false) - call void @llvm.lifetime.end.p0(i64 544, ptr nonnull %8) - call void @llvm.lifetime.end.p0(i64 528, ptr nonnull %9) - br label %20 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 32 dereferenceable(529) %0, ptr noundef nonnull align 8 dereferenceable(528) %8, i64 528, i1 false) + call void @llvm.lifetime.end.p0(i64 529, ptr nonnull %8) + br label %19 76: ; preds = %"_ZN4core3ptr96drop_in_place$LT$core..option..Option$LT$regex_automata..util..prefilter..memmem..Memmem$GT$$GT$17hb54fd097864daa3cE.exit" - call fastcc void @"_ZN4core3ptr94drop_in_place$LT$core..option..Option$LT$regex_automata..util..prefilter..teddy..Teddy$GT$$GT$17h0598ca2610b7d360E"(ptr noalias noundef align 8 dereferenceable(528) %9) - call void @llvm.lifetime.end.p0(i64 528, ptr nonnull %9) + call fastcc void @"_ZN4core3ptr94drop_in_place$LT$core..option..Option$LT$regex_automata..util..prefilter..teddy..Teddy$GT$$GT$17h0598ca2610b7d360E"(ptr noalias noundef align 8 dereferenceable(528) %8) + call void @llvm.lifetime.end.p0(i64 528, ptr nonnull %8) call void @llvm.experimental.noalias.scope.decl(metadata !1008) call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %5) call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(256) %5, i8 0, i64 256, i1 false), !noalias !1011 br label %.lr.ph.i .lr.ph.i: ; preds = %79, %76 - %.sroa.0.08.i = phi ptr [ %80, %79 ], [ %2, %76 ] + %.sroa.0.08.i = phi ptr [ %80, %79 ], [ %2, %75 ] %77 = getelementptr i8, ptr %.sroa.0.08.i, i64 8 %.val5.i = load i64, ptr %77, align 8, !alias.scope !1008, !noalias !1013, !noundef !5 %78 = icmp eq i64 %.val5.i, 1 diff --git a/bench/ruff-rs/optimized/bl7upda05f9py2dly725522mg.ll b/bench/ruff-rs/optimized/bl7upda05f9py2dly725522mg.ll index 545324cbe1f..f53ccd97340 100644 --- a/bench/ruff-rs/optimized/bl7upda05f9py2dly725522mg.ll +++ b/bench/ruff-rs/optimized/bl7upda05f9py2dly725522mg.ll @@ -15832,7 +15832,6 @@ define hidden void @_ZN18ty_python_semantic5types14BoundSuperType5build17h0e4bd6 %.sroa.9103.sroa.0 = alloca [3 x i8], align 1 %.sroa.641.sroa.7 = alloca [3 x i8], align 1 %.sroa.6.sroa.7 = alloca [3 x i8], align 1 - %.sroa.225.sroa.4 = alloca [20 x i8], align 1 %10 = alloca [24 x i8], align 8 %11 = alloca [32 x i8], align 8 %.sroa.5 = alloca [31 x i8], align 1 @@ -15872,7 +15871,6 @@ define hidden void @_ZN18ty_python_semantic5types14BoundSuperType5build17h0e4bd6 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7) %.sroa.225.sroa.2.7.copyload = load i32, ptr %3, align 8 %.sroa.225.sroa.4.7..sroa_idx = getelementptr inbounds nuw i8, ptr %3, i64 4 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(12) %.sroa.225.sroa.4, ptr noundef nonnull align 4 dereferenceable(12) %.sroa.225.sroa.4.7..sroa_idx, i64 12, i1 false) %24 = and i64 %23, 4294967295 %.not = icmp eq i64 %24, 6 %25 = trunc i32 %.sroa.225.sroa.2.7.copyload to i8 @@ -15916,7 +15914,7 @@ define hidden void @_ZN18ty_python_semantic5types14BoundSuperType5build17h0e4bd6 34: ; preds = %22 %.sroa.480.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 12 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %.sroa.480.0..sroa_idx, ptr noundef nonnull align 1 dereferenceable(20) %.sroa.225.sroa.4, i64 20, i1 false) + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %.sroa.480.0..sroa_idx, ptr noundef nonnull align 4 dereferenceable(12) %.sroa.225.sroa.4.7..sroa_idx, i64 12, i1 false) %.sroa.675.8.insert.ext = zext i32 %.sroa.225.sroa.2.7.copyload to i64 %.sroa.675.8.insert.shift = shl nuw i64 %.sroa.675.8.insert.ext, 32 store i8 29, ptr %0, align 8 diff --git a/bench/rust-analyzer-rs/optimized/150tm5mq81nfdpak.ll b/bench/rust-analyzer-rs/optimized/150tm5mq81nfdpak.ll index 795a7d656da..b8249f155b1 100644 --- a/bench/rust-analyzer-rs/optimized/150tm5mq81nfdpak.ll +++ b/bench/rust-analyzer-rs/optimized/150tm5mq81nfdpak.ll @@ -25880,7 +25880,6 @@ define void @"_ZN6ide_db6rename42_$LT$impl$u20$ide_db..defs..Definition$GT$6rena %64 = alloca { i32, [3 x i32] }, align 4 %65 = alloca { { i32, i32, i32 } }, align 4 %66 = alloca { i8, [19 x i8] }, align 4 - %.sroa.027 = alloca { i32, i32, i32 }, align 8 %67 = alloca { i8, [55 x i8] }, align 8 %68 = load ptr, ptr %2, align 8, !nonnull !7, !align !145, !noundef !7 tail call void @llvm.experimental.noalias.scope.decl(metadata !5706) @@ -25996,7 +25995,9 @@ common.resume: ; preds = %83, %377 102: ; preds = %82 %103 = getelementptr inbounds nuw i8, ptr %1, i64 4 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(12) %.sroa.027, ptr noundef nonnull align 4 dereferenceable(12) %103, i64 12, i1 false) + %.sroa.027.0.copyload = load i32, ptr %103, align 4 + %.sroa.835.0..sroa_idx = getelementptr inbounds nuw i8, ptr %1, i64 8 + %.sroa.835.0.copyload = load i64, ptr %.sroa.835.0..sroa_idx, align 4 call void @llvm.experimental.noalias.scope.decl(metadata !5724) call void @llvm.lifetime.start.p0(i64 15, ptr nonnull %.sroa.393.i) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %41) @@ -26043,7 +26044,9 @@ common.resume: ; preds = %83, %377 %114 = getelementptr inbounds nuw i8, ptr %58, i64 56 store i8 0, ptr %114, align 8, !noalias !5727 call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %21), !noalias !5727 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %21, ptr noundef nonnull align 4 dereferenceable(12) %103, i64 12, i1 false) + store i32 %.sroa.027.0.copyload, ptr %21, align 4, !noalias !5732 + %.sroa.835.0..sroa_idx36 = getelementptr inbounds nuw i8, ptr %21, i64 4 + store i64 %.sroa.835.0.copyload, ptr %.sroa.835.0..sroa_idx36, align 4, !noalias !5732 %115 = invoke noundef zeroext i1 @_ZN3hir6Module13is_crate_root17h7f9d9ac76b5fc666E(ptr noalias noundef nonnull align 4 captures(none) dereferenceable(12) %21) to label %124 unwind label %.thread266.i, !noalias !5730 @@ -26077,20 +26080,20 @@ _ZN5alloc3fmt6format17h7ead8f60e83381d7E.exit.i: ; preds = %109 store i32 0, ptr %.sroa.829.0..sroa_idx30.i, align 4, !noalias !5727 %.sroa.9.0..sroa_idx32.i = getelementptr inbounds nuw i8, ptr %59, i64 104 store i8 3, ptr %.sroa.9.0..sroa_idx32.i, align 8, !noalias !5727 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %15), !noalias !5732 - store ptr @anon.8f2350cd0fec4540471ce4074fa4f68a.256, ptr %15, align 8, !noalias !5743 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %15), !noalias !5733 + store ptr @anon.8f2350cd0fec4540471ce4074fa4f68a.256, ptr %15, align 8, !noalias !5744 %.sroa.5.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %15, i64 8 - store i64 2, ptr %.sroa.5.0..sroa_idx.i, align 8, !noalias !5743 + store i64 2, ptr %.sroa.5.0..sroa_idx.i, align 8, !noalias !5744 %.sroa.7.0..sroa_idx208.i = getelementptr inbounds nuw i8, ptr %15, i64 16 - store ptr %60, ptr %.sroa.7.0..sroa_idx208.i, align 8, !noalias !5743 + store ptr %60, ptr %.sroa.7.0..sroa_idx208.i, align 8, !noalias !5744 %.sroa.8.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %15, i64 24 - store i64 1, ptr %.sroa.8.0..sroa_idx.i, align 8, !noalias !5743 + store i64 1, ptr %.sroa.8.0..sroa_idx.i, align 8, !noalias !5744 %.sroa.10209.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %15, i64 32 - store ptr %59, ptr %.sroa.10209.0..sroa_idx.i, align 8, !noalias !5743 + store ptr %59, ptr %.sroa.10209.0..sroa_idx.i, align 8, !noalias !5744 %.sroa.11.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %15, i64 40 - store i64 2, ptr %.sroa.11.0..sroa_idx.i, align 8, !noalias !5743 + store i64 2, ptr %.sroa.11.0..sroa_idx.i, align 8, !noalias !5744 call void @_ZN5alloc3fmt6format12format_inner17h20bbaee2ca87fbecE(ptr noalias noundef nonnull sret({ { { i64, ptr, {} }, i64 } }) align 8 captures(none) dereferenceable(24) %.sroa.013.i, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(48) %15), !noalias !5730 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %15), !noalias !5732 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %15), !noalias !5733 call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %59), !noalias !5727 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %60), !noalias !5727 %118 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -26124,7 +26127,9 @@ _ZN5alloc3fmt6format17h7ead8f60e83381d7E.exit.i: ; preds = %109 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %57), !noalias !5727 %126 = load ptr, ptr %2, align 8, !noalias !5727, !nonnull !7, !align !145, !noundef !7 call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %20), !noalias !5727 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %20, ptr noundef nonnull align 4 dereferenceable(12) %103, i64 12, i1 false) + store i32 %.sroa.027.0.copyload, ptr %20, align 4, !noalias !5732 + %.sroa.835.0..sroa_idx38 = getelementptr inbounds nuw i8, ptr %20, i64 4 + store i64 %.sroa.835.0.copyload, ptr %.sroa.835.0..sroa_idx38, align 4, !noalias !5732 invoke void @"_ZN3hir10has_source29_$LT$impl$u20$hir..Module$GT$17definition_source17h7b255a3fb9aed0b9E"(ptr noalias noundef nonnull sret({ { i64, [1 x i64] }, i32, [1 x i32] }) align 8 captures(none) dereferenceable(24) %57, ptr noalias noundef nonnull align 4 captures(none) dereferenceable(12) %20, ptr noundef nonnull align 1 %126, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.8f2350cd0fec4540471ce4074fa4f68a.158.llvm.3154507502308090425) to label %128 unwind label %.thread266.i, !noalias !5730 @@ -26146,35 +26151,37 @@ _ZN5alloc3fmt6format17h7ead8f60e83381d7E.exit.i: ; preds = %109 135: ; preds = %128 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %56), !noalias !5727 - call void @llvm.lifetime.start.p0(i64 104, ptr nonnull %14), !noalias !5744 + call void @llvm.lifetime.start.p0(i64 104, ptr nonnull %14), !noalias !5745 invoke void @_ZN4core3str7pattern11StrSearcher3new17heb1c26811addaa28E(ptr noalias noundef nonnull sret({ { i64, [8 x i64] }, { ptr, i64 }, { ptr, i64 } }) align 8 captures(none) dereferenceable(104) %14, ptr noalias noundef nonnull readonly align 1 %3, i64 noundef %4, ptr noalias noundef nonnull readonly align 1 @anon.8f2350cd0fec4540471ce4074fa4f68a.245, i64 noundef 2) to label %.noexc.i unwind label %.loopexit.split-lp.i, !noalias !5730 .noexc.i: ; preds = %135, %137 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %13), !noalias !5748 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %13), !noalias !5749 invoke void @"_ZN80_$LT$core..str..pattern..StrSearcher$u20$as$u20$core..str..pattern..Searcher$GT$4next17h61fa6180c96ad587E.llvm.4370348610037963988"(ptr noalias noundef nonnull sret({ i64, [2 x i64] }) align 8 captures(none) dereferenceable(24) %13, ptr noalias noundef nonnull align 8 dereferenceable(104) %14) to label %.noexc175.i unwind label %.loopexit300.i, !noalias !5730 .noexc175.i: ; preds = %.noexc.i - %136 = load i64, ptr %13, align 8, !range !695, !noalias !5748, !noundef !7 + %136 = load i64, ptr %13, align 8, !range !695, !noalias !5749, !noundef !7 switch i64 %136, label %137 [ i64 1, label %_ZN4core3str7pattern8Searcher11next_reject17h022c02776c273622E.llvm.4370348610037963988.exit.i.i i64 2, label %.loopexit301.i ] 137: ; preds = %.noexc175.i - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13), !noalias !5748 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13), !noalias !5749 br label %.noexc.i _ZN4core3str7pattern8Searcher11next_reject17h022c02776c273622E.llvm.4370348610037963988.exit.i.i: ; preds = %.noexc175.i %138 = getelementptr inbounds nuw i8, ptr %13, i64 8 - %139 = load i64, ptr %138, align 8, !noalias !5748, !noundef !7 + %139 = load i64, ptr %138, align 8, !noalias !5749, !noundef !7 br label %.loopexit301.i 140: ; preds = %.critedge165.i, %128 %141 = load ptr, ptr %2, align 8, !noalias !5727, !nonnull !7, !align !145, !noundef !7 call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %16), !noalias !5727 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %16, ptr noundef nonnull align 8 dereferenceable(12) %.sroa.027, i64 12, i1 false), !noalias !5752 + store i32 %.sroa.027.0.copyload, ptr %16, align 4, !noalias !5732 + %.sroa.835.0..sroa_idx40 = getelementptr inbounds nuw i8, ptr %16, i64 4 + store i64 %.sroa.835.0.copyload, ptr %.sroa.835.0..sroa_idx40, align 4, !noalias !5732 %142 = invoke { ptr, i32 } @"_ZN3hir10has_source29_$LT$impl$u20$hir..Module$GT$18declaration_source17hbdb3534cba9721b1E"(ptr noalias noundef nonnull align 4 captures(none) dereferenceable(12) %16, ptr noundef nonnull align 1 %141, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.8f2350cd0fec4540471ce4074fa4f68a.158.llvm.3154507502308090425) to label %251 unwind label %.loopexit.split-lp.i, !noalias !5730 @@ -26209,10 +26216,10 @@ _ZN4core3str7pattern8Searcher11next_reject17h022c02776c273622E.llvm.437034861003 .loopexit301.i: ; preds = %.noexc175.i, %_ZN4core3str7pattern8Searcher11next_reject17h022c02776c273622E.llvm.4370348610037963988.exit.i.i %148 = phi i64 [ %139, %_ZN4core3str7pattern8Searcher11next_reject17h022c02776c273622E.llvm.4370348610037963988.exit.i.i ], [ %4, %.noexc175.i ] - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13), !noalias !5748 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13), !noalias !5749 %149 = getelementptr inbounds i8, ptr %3, i64 %148 %150 = sub i64 %4, %148 - call void @llvm.lifetime.end.p0(i64 104, ptr nonnull %14), !noalias !5744 + call void @llvm.lifetime.end.p0(i64 104, ptr nonnull %14), !noalias !5745 store ptr %149, ptr %56, align 8, !noalias !5727 %151 = getelementptr inbounds nuw i8, ptr %56, i64 8 store i64 %150, ptr %151, align 8, !noalias !5727 @@ -26223,7 +26230,9 @@ _ZN4core3str7pattern8Searcher11next_reject17h022c02776c273622E.llvm.437034861003 154: ; preds = %.loopexit301.i %155 = load ptr, ptr %2, align 8, !noalias !5727, !nonnull !7, !align !145, !noundef !7 call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %19), !noalias !5727 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %19, ptr noundef nonnull align 4 dereferenceable(12) %103, i64 12, i1 false) + store i32 %.sroa.027.0.copyload, ptr %19, align 4, !noalias !5732 + %.sroa.835.0..sroa_idx44 = getelementptr inbounds nuw i8, ptr %19, i64 4 + store i64 %.sroa.835.0.copyload, ptr %.sroa.835.0..sroa_idx44, align 4, !noalias !5732 %156 = invoke noundef zeroext i1 @"_ZN3hir10has_source29_$LT$impl$u20$hir..Module$GT$9is_mod_rs17h233a6f0ee7a13a78E"(ptr noalias noundef nonnull align 4 captures(none) dereferenceable(12) %19, ptr noundef nonnull align 1 %155, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.8f2350cd0fec4540471ce4074fa4f68a.158.llvm.3154507502308090425) to label %157 unwind label %.loopexit.split-lp.i, !noalias !5730 @@ -26232,7 +26241,9 @@ _ZN4core3str7pattern8Searcher11next_reject17h022c02776c273622E.llvm.437034861003 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %55), !noalias !5727 %158 = load ptr, ptr %2, align 8, !noalias !5727, !nonnull !7, !align !145, !noundef !7 call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %18), !noalias !5727 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %18, ptr noundef nonnull align 4 dereferenceable(12) %103, i64 12, i1 false) + store i32 %.sroa.027.0.copyload, ptr %18, align 4, !noalias !5732 + %.sroa.835.0..sroa_idx46 = getelementptr inbounds nuw i8, ptr %18, i64 4 + store i64 %.sroa.835.0.copyload, ptr %.sroa.835.0..sroa_idx46, align 4, !noalias !5732 invoke void @_ZN3hir6Module8children17hf49e176667ded01bE(ptr noalias noundef nonnull sret({ ptr, ptr, i64, ptr, {}, { {} } }) align 8 captures(none) dereferenceable(32) %55, ptr noalias noundef nonnull align 4 captures(none) dereferenceable(12) %18, ptr noundef nonnull align 1 %158, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.8f2350cd0fec4540471ce4074fa4f68a.158.llvm.3154507502308090425) to label %159 unwind label %.loopexit.split-lp.i, !noalias !5730 @@ -26307,7 +26318,9 @@ _ZN4core3str7pattern8Searcher11next_reject17h022c02776c273622E.llvm.437034861003 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %49), !noalias !5727 %178 = load ptr, ptr %2, align 8, !noalias !5727, !nonnull !7, !align !145, !noundef !7 call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %17), !noalias !5727 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %17, ptr noundef nonnull align 4 dereferenceable(12) %103, i64 12, i1 false) + store i32 %.sroa.027.0.copyload, ptr %17, align 4, !noalias !5732 + %.sroa.835.0..sroa_idx48 = getelementptr inbounds nuw i8, ptr %17, i64 4 + store i64 %.sroa.835.0.copyload, ptr %.sroa.835.0..sroa_idx48, align 4, !noalias !5732 invoke void @_ZN3hir6Module4name17h6ae631a1a099d0b6E(ptr noalias noundef nonnull sret({ i8, [23 x i8] }) align 8 captures(none) dereferenceable(24) %49, ptr noalias noundef nonnull align 4 captures(none) dereferenceable(12) %17, ptr noundef nonnull align 1 %178, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.8f2350cd0fec4540471ce4074fa4f68a.158.llvm.3154507502308090425) to label %189 unwind label %.loopexit.split-lp.i, !noalias !5730 @@ -26872,19 +26885,19 @@ _ZN12tracing_core8callsite15DefaultCallsite8interest17hccd71802e1b704feE.exit.th 338: ; preds = %"_ZN4core3ptr116drop_in_place$LT$hir_expand..files..InFileWrapper$LT$span..HirFileId$C$syntax..ast..generated..nodes..Module$GT$$GT$17hbf14c91bc6993debE.exit187.i", %251 call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %25), !noalias !5727 %339 = getelementptr inbounds nuw i8, ptr %25, i64 4 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %339, ptr noundef nonnull align 8 dereferenceable(12) %.sroa.027, i64 12, i1 false), !noalias !5752 + store i32 %.sroa.027.0.copyload, ptr %339, align 4, !noalias !5732 + %.sroa.835.0..sroa_idx42 = getelementptr inbounds nuw i8, ptr %25, i64 8 + store i64 %.sroa.835.0.copyload, ptr %.sroa.835.0..sroa_idx42, align 4, !noalias !5732 store i8 3, ptr %25, align 4, !noalias !5727 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24), !noalias !5727 call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %23), !noalias !5727 - %.sroa.5234.0.copyload.i = load i32, ptr %339, align 4, !noalias !5727 - %.sroa.6237.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %25, i64 8 %.sroa.6237.0..sroa_idx238.i = getelementptr inbounds nuw i8, ptr %23, i64 48 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(12) %.sroa.6237.0..sroa_idx238.i, ptr noundef nonnull align 4 dereferenceable(12) %.sroa.6237.0..sroa_idx.i, i64 12, i1 false), !noalias !5727 + store i64 %.sroa.835.0.copyload, ptr %.sroa.6237.0..sroa_idx238.i, align 8, !noalias !5727 call void @llvm.experimental.noalias.scope.decl(metadata !5854) %340 = getelementptr inbounds nuw i8, ptr %23, i64 40 store i8 3, ptr %340, align 8, !alias.scope !5857, !noalias !5727 %.sroa.5234.0..sroa_idx235.i = getelementptr inbounds nuw i8, ptr %23, i64 44 - store i32 %.sroa.5234.0.copyload.i, ptr %.sroa.5234.0..sroa_idx235.i, align 4, !alias.scope !5857, !noalias !5727 + store i32 %.sroa.027.0.copyload, ptr %.sroa.5234.0..sroa_idx235.i, align 4, !alias.scope !5857, !noalias !5727 %341 = getelementptr inbounds nuw i8, ptr %23, i64 8 store ptr %2, ptr %341, align 8, !alias.scope !5859, !noalias !5860 %342 = getelementptr inbounds nuw i8, ptr %23, i64 16 @@ -57269,27 +57282,27 @@ attributes #34 = { nounwind } !5729 = distinct !{!5729, !5726, !"_ZN6ide_db6rename10rename_mod17ha8071b74cb1a127bE: argument 2"} !5730 = !{!5725, !5728} !5731 = !{!5728, !5729} -!5732 = !{!5733, !5735, !5736, !5738, !5739, !5740, !5742, !5725, !5728, !5729} -!5733 = distinct !{!5733, !5734, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17h40e54af0154ccb70E: argument 0"} -!5734 = distinct !{!5734, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17h40e54af0154ccb70E"} -!5735 = distinct !{!5735, !5734, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17h40e54af0154ccb70E: argument 1"} -!5736 = distinct !{!5736, !5737, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h0785c085fec44969E: argument 0"} -!5737 = distinct !{!5737, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h0785c085fec44969E"} -!5738 = distinct !{!5738, !5737, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h0785c085fec44969E: argument 1"} -!5739 = distinct !{!5739, !5737, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h0785c085fec44969E: argument 2"} -!5740 = distinct !{!5740, !5741, !"_ZN5alloc3fmt6format17h7ead8f60e83381d7E: argument 0"} -!5741 = distinct !{!5741, !"_ZN5alloc3fmt6format17h7ead8f60e83381d7E"} -!5742 = distinct !{!5742, !5741, !"_ZN5alloc3fmt6format17h7ead8f60e83381d7E: argument 1"} -!5743 = !{!5733, !5736, !5738, !5740, !5725, !5728, !5729} -!5744 = !{!5745, !5747, !5725, !5728, !5729} -!5745 = distinct !{!5745, !5746, !"_ZN4core3str21_$LT$impl$u20$str$GT$18trim_start_matches17h34cadfbbc1a73206E: argument 0"} -!5746 = distinct !{!5746, !"_ZN4core3str21_$LT$impl$u20$str$GT$18trim_start_matches17h34cadfbbc1a73206E"} -!5747 = distinct !{!5747, !5746, !"_ZN4core3str21_$LT$impl$u20$str$GT$18trim_start_matches17h34cadfbbc1a73206E: argument 1"} -!5748 = !{!5749, !5751, !5745, !5747, !5725, !5728, !5729} -!5749 = distinct !{!5749, !5750, !"_ZN4core3str7pattern8Searcher11next_reject17h022c02776c273622E.llvm.4370348610037963988: argument 0"} -!5750 = distinct !{!5750, !"_ZN4core3str7pattern8Searcher11next_reject17h022c02776c273622E.llvm.4370348610037963988"} -!5751 = distinct !{!5751, !5750, !"_ZN4core3str7pattern8Searcher11next_reject17h022c02776c273622E.llvm.4370348610037963988: argument 1"} -!5752 = !{!5725, !5729} +!5732 = !{!5725, !5729} +!5733 = !{!5734, !5736, !5737, !5739, !5740, !5741, !5743, !5725, !5728, !5729} +!5734 = distinct !{!5734, !5735, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17h40e54af0154ccb70E: argument 0"} +!5735 = distinct !{!5735, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17h40e54af0154ccb70E"} +!5736 = distinct !{!5736, !5735, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17h40e54af0154ccb70E: argument 1"} +!5737 = distinct !{!5737, !5738, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h0785c085fec44969E: argument 0"} +!5738 = distinct !{!5738, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h0785c085fec44969E"} +!5739 = distinct !{!5739, !5738, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h0785c085fec44969E: argument 1"} +!5740 = distinct !{!5740, !5738, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h0785c085fec44969E: argument 2"} +!5741 = distinct !{!5741, !5742, !"_ZN5alloc3fmt6format17h7ead8f60e83381d7E: argument 0"} +!5742 = distinct !{!5742, !"_ZN5alloc3fmt6format17h7ead8f60e83381d7E"} +!5743 = distinct !{!5743, !5742, !"_ZN5alloc3fmt6format17h7ead8f60e83381d7E: argument 1"} +!5744 = !{!5734, !5737, !5739, !5741, !5725, !5728, !5729} +!5745 = !{!5746, !5748, !5725, !5728, !5729} +!5746 = distinct !{!5746, !5747, !"_ZN4core3str21_$LT$impl$u20$str$GT$18trim_start_matches17h34cadfbbc1a73206E: argument 0"} +!5747 = distinct !{!5747, !"_ZN4core3str21_$LT$impl$u20$str$GT$18trim_start_matches17h34cadfbbc1a73206E"} +!5748 = distinct !{!5748, !5747, !"_ZN4core3str21_$LT$impl$u20$str$GT$18trim_start_matches17h34cadfbbc1a73206E: argument 1"} +!5749 = !{!5750, !5752, !5746, !5748, !5725, !5728, !5729} +!5750 = distinct !{!5750, !5751, !"_ZN4core3str7pattern8Searcher11next_reject17h022c02776c273622E.llvm.4370348610037963988: argument 0"} +!5751 = distinct !{!5751, !"_ZN4core3str7pattern8Searcher11next_reject17h022c02776c273622E.llvm.4370348610037963988"} +!5752 = distinct !{!5752, !5751, !"_ZN4core3str7pattern8Searcher11next_reject17h022c02776c273622E.llvm.4370348610037963988: argument 1"} !5753 = !{!5754} !5754 = distinct !{!5754, !5755, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17hdda9a0fd93874a16E: argument 0"} !5755 = distinct !{!5755, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17hdda9a0fd93874a16E"} diff --git a/bench/rust-analyzer-rs/optimized/1rhf3pjhhflazor1.ll b/bench/rust-analyzer-rs/optimized/1rhf3pjhhflazor1.ll index ca50eb027eb..603edb8fe26 100644 --- a/bench/rust-analyzer-rs/optimized/1rhf3pjhhflazor1.ll +++ b/bench/rust-analyzer-rs/optimized/1rhf3pjhhflazor1.ll @@ -8214,20 +8214,18 @@ define hidden void @"_ZN111_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec.. %3 = alloca { ptr, i64, i64 }, align 8 %.sroa.0.i.i.i.i.i10 = alloca { { { i8, [23 x i8] } }, { i32, [4 x i32] } }, align 8 %.sroa.06.i.i.i11 = alloca [6 x i32], align 8 - %.sroa.11.i.i12 = alloca [5 x i32], align 4 - %.sroa.0.i.i13 = alloca [6 x i32], align 8 + %.sroa.11.i.i12 = alloca [6 x i32], align 8 %.sroa.0.i.i.i1.i.i = alloca { { { i8, [23 x i8] } }, { i32, [4 x i32] } }, align 8 %.sroa.06.i2.i.i = alloca [6 x i32], align 8 %.sroa.7.i3.i.i = alloca [4 x i32], align 4 %4 = alloca { ptr, i64, i64 }, align 8 %.sroa.0.i.i.i.i.i = alloca { { { i8, [23 x i8] } }, { i32, [4 x i32] } }, align 8 %.sroa.06.i.i.i = alloca [6 x i32], align 8 - %.sroa.11.i.i = alloca [5 x i32], align 4 %.sroa.0.i.i = alloca [6 x i32], align 8 %5 = alloca { { { i8, [23 x i8] } }, { i32, [4 x i32] }, i32 }, align 8 %.sroa.057 = alloca [6 x i32], align 8 %.sroa.1661 = alloca [4 x i32], align 4 - %.sroa.36 = alloca [5 x i32], align 4 + %.sroa.36 = alloca [4 x i32], align 4 %.sroa.59 = alloca [4 x i32], align 4 %6 = alloca { { { i8, [23 x i8] } }, { i32, [4 x i32] }, i32 }, align 8 %7 = alloca { [6 x i32], i32, [5 x i32] }, align 8 @@ -8317,7 +8315,7 @@ define hidden void @"_ZN111_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec.. %.sroa.6.0..sroa_idx = getelementptr inbounds nuw i8, ptr %8, i64 16 store i64 1, ptr %.sroa.6.0..sroa_idx, align 8 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %6) - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %.sroa.36) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %.sroa.36) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %.sroa.59) %.sroa.9.0..sroa_idx = getelementptr inbounds nuw i8, ptr %1, i64 16 %.sroa.9.0.copyload = load ptr, ptr %.sroa.9.0..sroa_idx, align 8 @@ -8326,7 +8324,7 @@ define hidden void @"_ZN111_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec.. %.sroa.21.0..sroa_idx = getelementptr inbounds nuw i8, ptr %1, i64 32 %.sroa.21.0.copyload = load i64, ptr %.sroa.21.0..sroa_idx, align 8 %.sroa.36.0..sroa_idx = getelementptr inbounds nuw i8, ptr %1, i64 44 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %.sroa.36, ptr noundef nonnull align 4 dereferenceable(20) %.sroa.36.0..sroa_idx, i64 20, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %.sroa.36, ptr noundef nonnull align 4 dereferenceable(16) %.sroa.36.0..sroa_idx, i64 16, i1 false) %.sroa.40.0..sroa_idx = getelementptr inbounds nuw i8, ptr %1, i64 64 %.sroa.40.0.copyload = load ptr, ptr %.sroa.40.0..sroa_idx, align 8 %.sroa.45.0..sroa_idx = getelementptr inbounds nuw i8, ptr %1, i64 72 @@ -8343,8 +8341,7 @@ define hidden void @"_ZN111_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec.. tail call void @llvm.experimental.noalias.scope.decl(metadata !3056) tail call void @llvm.experimental.noalias.scope.decl(metadata !3058) tail call void @llvm.experimental.noalias.scope.decl(metadata !3061) - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %.sroa.11.i.i12) - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %.sroa.0.i.i13) + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %.sroa.11.i.i12) %48 = getelementptr inbounds nuw i8, ptr %3, i64 8 br label %49 @@ -8365,7 +8362,7 @@ define hidden void @"_ZN111_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec.. _ZN4core3ops8function6FnOnce9call_once17h8adf5f2c77700dc1E.exit.i.i.i20: ; preds = %51 call void @llvm.lifetime.start.p0(i64 44, ptr nonnull %.sroa.0.i.i.i.i.i10), !noalias !3063 invoke void @_ZN10hir_expand4name4Name11to_smol_str17h99d8aed792dba183E(ptr noalias noundef nonnull sret({ { i8, [23 x i8] } }) align 8 captures(none) dereferenceable(24) %.sroa.0.i.i.i.i.i10, ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %.sroa.9.5) - to label %.noexc44 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit + to label %.noexc43 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit .noexc44: ; preds = %_ZN4core3ops8function6FnOnce9call_once17h8adf5f2c77700dc1E.exit.i.i.i20 %53 = add i64 %.sroa.21.5, 1 @@ -8376,33 +8373,33 @@ _ZN4core3ops8function6FnOnce9call_once17h8adf5f2c77700dc1E.exit.i.i.i20: ; preds br i1 %.not.i.i.i22, label %_ZN4core4iter8adapters7flatten17and_then_or_clear17h3216109c292cf505E.exit.thread41.i.i26, label %.noexc.thread _ZN4core4iter8adapters7flatten17and_then_or_clear17h3216109c292cf505E.exit.thread41.i.i26: ; preds = %.noexc44, %51 - %.sroa.21.6 = phi i64 [ %.sroa.21.5, %51 ], [ %53, %.noexc44 ] - %.sroa.9.6 = phi ptr [ %.sroa.9.5, %51 ], [ %54, %.noexc44 ] - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.0.i.i13, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.06.i.i.i11, i64 24, i1 false), !noalias !3074 + %.sroa.21.6 = phi i64 [ %.sroa.21.5, %51 ], [ %53, %.noexc43 ] + %.sroa.9.6 = phi ptr [ %.sroa.9.5, %51 ], [ %54, %.noexc43 ] + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.0.i.i12, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.06.i.i.i11, i64 24, i1 false), !noalias !3074 br label %"_ZN4core3ptr112drop_in_place$LT$core..option..Option$LT$$LP$hir_def..item_scope..ItemInNs$C$smol_str..SmolStr$C$u32$RP$$GT$$GT$17haecd19aaa930f948E.exit.i.i27" .noexc.thread: ; preds = %.noexc44 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.0.i.i13, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.06.i.i.i11, i64 24, i1 false), !noalias !3074 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.0.i.i12, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.06.i.i.i11, i64 24, i1 false), !noalias !3074 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %.sroa.06.i.i.i11) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.057, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.0.i.i13, i64 24, i1 false), !noalias !3075 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.057, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.0.i.i12, i64 24, i1 false), !noalias !3075 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %.sroa.1661, ptr noundef nonnull align 4 dereferenceable(16) %.sroa.36, i64 16, i1 false), !alias.scope !3074 br label %.lr.ph.i.i "_ZN4core3ptr112drop_in_place$LT$core..option..Option$LT$$LP$hir_def..item_scope..ItemInNs$C$smol_str..SmolStr$C$u32$RP$$GT$$GT$17haecd19aaa930f948E.exit.i.i27": ; preds = %_ZN4core4iter8adapters7flatten17and_then_or_clear17h3216109c292cf505E.exit.thread41.i.i26, %49 - %.sroa.27.5 = phi i32 [ %.sroa.27.4, %49 ], [ 3, %_ZN4core4iter8adapters7flatten17and_then_or_clear17h3216109c292cf505E.exit.thread41.i.i26 ] - %.sroa.21.7 = phi i64 [ %.sroa.21.5, %49 ], [ %.sroa.21.6, %_ZN4core4iter8adapters7flatten17and_then_or_clear17h3216109c292cf505E.exit.thread41.i.i26 ] - %.sroa.9.7 = phi ptr [ %.sroa.9.5, %49 ], [ %.sroa.9.6, %_ZN4core4iter8adapters7flatten17and_then_or_clear17h3216109c292cf505E.exit.thread41.i.i26 ] + %.sroa.27.5 = phi i32 [ %.sroa.27.4, %49 ], [ 3, %_ZN4core4iter8adapters7flatten17and_then_or_clear17h3216109c292cf505E.exit.thread41.i.i25 ] + %.sroa.21.7 = phi i64 [ %.sroa.21.5, %49 ], [ %.sroa.21.6, %_ZN4core4iter8adapters7flatten17and_then_or_clear17h3216109c292cf505E.exit.thread41.i.i25 ] + %.sroa.9.7 = phi ptr [ %.sroa.9.5, %49 ], [ %.sroa.9.6, %_ZN4core4iter8adapters7flatten17and_then_or_clear17h3216109c292cf505E.exit.thread41.i.i25 ] call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %.sroa.06.i.i.i11) %55 = icmp eq ptr %.sroa.048.4, null %56 = icmp eq ptr %.sroa.048.4, %.val45.i.i %or.cond = select i1 %55, i1 true, i1 %56 - br i1 %or.cond, label %"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17h58bf49a0fc37115eE.exit.thread.i.i31", label %"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17h58bf49a0fc37115eE.exit.i.i28" + br i1 %or.cond, label %"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17h58bf49a0fc37115eE.exit.thread.i.i30", label %"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17h58bf49a0fc37115eE.exit.i.i28" "_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17h58bf49a0fc37115eE.exit.i.i28": ; preds = %"_ZN4core3ptr112drop_in_place$LT$core..option..Option$LT$$LP$hir_def..item_scope..ItemInNs$C$smol_str..SmolStr$C$u32$RP$$GT$$GT$17haecd19aaa930f948E.exit.i.i27" %57 = getelementptr inbounds nuw i8, ptr %.sroa.048.4, i64 88 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3), !noalias !3076 invoke void @"_ZN8smallvec17SmallVec$LT$A$GT$6triple17he9c469b5aa93eb4cE.llvm.11603491536561601675"(ptr noalias noundef nonnull sret({ ptr, i64, i64 }) align 8 captures(none) dereferenceable(24) %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(56) %.sroa.048.4) - to label %.noexc45 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit + to label %.noexc44 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit .noexc45: ; preds = %"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17h58bf49a0fc37115eE.exit.i.i28" %58 = getelementptr inbounds nuw i8, ptr %.sroa.048.4, i64 64 @@ -8410,16 +8407,14 @@ _ZN4core4iter8adapters7flatten17and_then_or_clear17h3216109c292cf505E.exit.threa %60 = load i64, ptr %48, align 8, !noalias !3076, !noundef !15 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3), !noalias !3076 %.sroa.7.24.copyload.i.i29 = load i32, ptr %58, align 4, !noalias !3091 - %.sroa.11.24..sroa_idx.i.i30 = getelementptr inbounds nuw i8, ptr %.sroa.048.4, i64 68 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %.sroa.11.i.i12, ptr noundef nonnull align 4 dereferenceable(16) %.sroa.11.24..sroa_idx.i.i30, i64 16, i1 false), !noalias !3074 - %61 = icmp eq i32 %.sroa.7.24.copyload.i.i29, 3 - br i1 %61, label %"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17h58bf49a0fc37115eE.exit.thread.i.i31", label %66 + %61 = icmp eq i32 %.sroa.7.24.copyload.i.i28, 3 + br i1 %61, label %"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17h58bf49a0fc37115eE.exit.thread.i.i30", label %66 -"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17h58bf49a0fc37115eE.exit.thread.i.i31": ; preds = %.noexc45, %"_ZN4core3ptr112drop_in_place$LT$core..option..Option$LT$$LP$hir_def..item_scope..ItemInNs$C$smol_str..SmolStr$C$u32$RP$$GT$$GT$17haecd19aaa930f948E.exit.i.i27" - %.sroa.048.5 = phi ptr [ %.sroa.048.4, %"_ZN4core3ptr112drop_in_place$LT$core..option..Option$LT$$LP$hir_def..item_scope..ItemInNs$C$smol_str..SmolStr$C$u32$RP$$GT$$GT$17haecd19aaa930f948E.exit.i.i27" ], [ %57, %.noexc45 ] +"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17h58bf49a0fc37115eE.exit.thread.i.i30":; preds = %.noexc44, %"_ZN4core3ptr112drop_in_place$LT$core..option..Option$LT$$LP$hir_def..item_scope..ItemInNs$C$smol_str..SmolStr$C$u32$RP$$GT$$GT$17haecd19aaa930f948E.exit.i.i26" + %.sroa.047.5 = phi ptr [ %.sroa.047.4, %"_ZN4core3ptr112drop_in_place$LT$core..option..Option$LT$$LP$hir_def..item_scope..ItemInNs$C$smol_str..SmolStr$C$u32$RP$$GT$$GT$17haecd19aaa930f948E.exit.i.i26" ], [ %57, %.noexc44 ] br i1 %28, label %.loopexit102.sink.split, label %62 -62: ; preds = %"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17h58bf49a0fc37115eE.exit.thread.i.i31" +62: ; preds = %"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17h58bf49a0fc37115eE.exit.thread.i.i30" %63 = icmp ne ptr %.sroa.45.0.copyload, null tail call void @llvm.assume(i1 %63) %64 = icmp ne ptr %.sroa.40.0.copyload, null @@ -8433,8 +8428,9 @@ _ZN4core3ops8function6FnOnce9call_once17h8adf5f2c77700dc1E.exit.i4.i.i32: ; pred to label %.noexc unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp 66: ; preds = %.noexc45 + %.sroa.11.24..sroa_idx.i.i29 = getelementptr inbounds nuw i8, ptr %.sroa.047.4, i64 68 %67 = getelementptr inbounds { { { i8, [23 x i8] } }, { i32, i32, i32 }, i8, i8, [2 x i8] }, ptr %59, i64 %60 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %.sroa.36, ptr noundef nonnull align 4 dereferenceable(20) %.sroa.11.i.i12, i64 20, i1 false), !noalias !3102 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %.sroa.36, ptr noundef nonnull align 4 dereferenceable(16) %.sroa.11.24..sroa_idx.i.i29, i64 16, i1 false), !noalias !3102 br label %49 .noexc: ; preds = %_ZN4core3ops8function6FnOnce9call_once17h8adf5f2c77700dc1E.exit.i4.i.i32 @@ -8452,14 +8448,13 @@ _ZN4core3ops8function6FnOnce9call_once17h8adf5f2c77700dc1E.exit.i4.i.i32: ; pred .lr.ph.i.i: ; preds = %.noexc, %.noexc.thread %.sroa.20.483.in = phi i64 [ %.sroa.21.5, %.noexc.thread ], [ %.sroa.48.0.copyload, %.noexc ] %.sroa.8.482 = phi i32 [ %.sroa.27.4, %.noexc.thread ], [ %27, %.noexc ] - %.sroa.048.680 = phi ptr [ %.sroa.048.4, %.noexc.thread ], [ %.sroa.048.5, %.noexc ] + %.sroa.048.680 = phi ptr [ %.sroa.048.4, %.noexc.thread ], [ %.sroa.047.5, %.noexc ] %.sroa.48.879 = phi i64 [ %.sroa.48.0.copyload, %.noexc.thread ], [ %68, %.noexc ] %.sroa.9.878 = phi ptr [ %54, %.noexc.thread ], [ %.sroa.9.7, %.noexc ] %.sroa.21.877 = phi i64 [ %53, %.noexc.thread ], [ %.sroa.21.7, %.noexc ] %.sroa.27.676 = phi i32 [ %.sroa.27.4, %.noexc.thread ], [ %.sroa.27.5, %.noexc ] %.sroa.40.875 = phi ptr [ %.sroa.40.0.copyload, %.noexc.thread ], [ %69, %.noexc ] - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %.sroa.11.i.i12) - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %.sroa.0.i.i13) + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %.sroa.11.i.i12) %.sroa.20.483 = trunc i64 %.sroa.20.483.in to i32 %.sroa.8.0..sroa_idx = getelementptr inbounds nuw i8, ptr %5, i64 24 %.sroa.1661.0..sroa_idx = getelementptr inbounds nuw i8, ptr %5, i64 28 @@ -8539,7 +8534,6 @@ _ZN4core3ops8function6FnOnce9call_once17h8adf5f2c77700dc1E.exit.i4.i.i32: ; pred call void @llvm.experimental.noalias.scope.decl(metadata !3122) call void @llvm.experimental.noalias.scope.decl(metadata !3124) call void @llvm.experimental.noalias.scope.decl(metadata !3127) - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %.sroa.11.i.i) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %.sroa.0.i.i) %96 = icmp eq i32 %.sroa.27.0, 3 br label %97 @@ -8607,8 +8601,6 @@ _ZN4core4iter8adapters7flatten17and_then_or_clear17h3216109c292cf505E.exit.threa %110 = load i64, ptr %72, align 8, !noalias !3142, !noundef !15 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !3142 %.sroa.7.24.copyload.i.i = load i32, ptr %108, align 4, !noalias !3157 - %.sroa.11.24..sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %.sroa.048.1, i64 68 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %.sroa.11.i.i, ptr noundef nonnull align 4 dereferenceable(16) %.sroa.11.24..sroa_idx.i.i, i64 16, i1 false), !noalias !3140 %111 = icmp eq i32 %.sroa.7.24.copyload.i.i, 3 br i1 %111, label %"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17h58bf49a0fc37115eE.exit.thread.i.i", label %119 @@ -8661,8 +8653,9 @@ _ZN4core4iter8adapters7flatten17and_then_or_clear17h3216109c292cf505E.exit15.i.i br label %.noexc3 119: ; preds = %.noexc5 + %.sroa.11.24..sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %.sroa.047.1, i64 68 %120 = getelementptr inbounds { { { i8, [23 x i8] } }, { i32, i32, i32 }, i8, i8, [2 x i8] }, ptr %109, i64 %110 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %.sroa.36, ptr noundef nonnull align 4 dereferenceable(20) %.sroa.11.i.i, i64 20, i1 false), !noalias !3181 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %.sroa.36, ptr noundef nonnull align 4 dereferenceable(16) %.sroa.11.24..sroa_idx.i.i, i64 16, i1 false), !noalias !3181 br label %97 .noexc3: ; preds = %_ZN4core4iter8adapters7flatten17and_then_or_clear17h3216109c292cf505E.exit15.i.i, %103 @@ -8675,7 +8668,6 @@ _ZN4core4iter8adapters7flatten17and_then_or_clear17h3216109c292cf505E.exit15.i.i %.sroa.52.3 = phi i32 [ %.sroa.52.2, %_ZN4core4iter8adapters7flatten17and_then_or_clear17h3216109c292cf505E.exit15.i.i ], [ %.sroa.52.0, %103 ] %.sroa.8.2 = phi i32 [ %.sroa.52.2, %_ZN4core4iter8adapters7flatten17and_then_or_clear17h3216109c292cf505E.exit15.i.i ], [ %.sroa.27.1, %103 ] %.sroa.20.2 = phi i32 [ %.sroa.20.1, %_ZN4core4iter8adapters7flatten17and_then_or_clear17h3216109c292cf505E.exit15.i.i ], [ %104, %103 ] - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %.sroa.11.i.i) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %.sroa.0.i.i) %.not.i.i = icmp eq i32 %.sroa.8.2, 3 br i1 %.not.i.i, label %.loopexit102, label %73 @@ -8723,15 +8715,14 @@ _ZN4core4iter8adapters7flatten17and_then_or_clear17h3216109c292cf505E.exit15.i.i invoke void @"_ZN4core3ptr107drop_in_place$LT$alloc..vec..Vec$LT$$LP$hir_def..item_scope..ItemInNs$C$smol_str..SmolStr$C$u32$RP$$GT$$GT$17hf8f0d16e350b6212E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %8) #35 to label %128 unwind label %126 -.loopexit102.sink.split: ; preds = %62, %"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17h58bf49a0fc37115eE.exit.thread.i.i31" - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %.sroa.11.i.i12) - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %.sroa.0.i.i13) +.loopexit102.sink.split: ; preds = %62, %"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17h58bf49a0fc37115eE.exit.thread.i.i30" + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %.sroa.11.i.i12) br label %.loopexit102 .loopexit102: ; preds = %.noexc3, %.loopexit102.sink.split call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %.sroa.057) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.1661) - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %.sroa.36) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.36) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.59) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false) br label %41 @@ -14690,11 +14681,9 @@ define internal fastcc void @"_ZN114_$LT$core..iter..adapters..flatten..FlatMap$ %3 = alloca { ptr, i64, i64 }, align 8 %.sroa.0.i.i.i.i = alloca { { { i8, [23 x i8] } }, { i32, [4 x i32] } }, align 8 %.sroa.06.i.i = alloca [6 x i32], align 8 - %.sroa.11.i = alloca [5 x i32], align 4 %.sroa.0.i = alloca [6 x i32], align 8 tail call void @llvm.experimental.noalias.scope.decl(metadata !5339) tail call void @llvm.experimental.noalias.scope.decl(metadata !5342) - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %.sroa.11.i) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %.sroa.0.i) %4 = getelementptr inbounds nuw i8, ptr %1, i64 16 %5 = getelementptr inbounds nuw i8, ptr %1, i64 40 @@ -14784,8 +14773,6 @@ _ZN4core4iter8adapters7flatten17and_then_or_clear17h3216109c292cf505E.exit.threa %31 = load i64, ptr %11, align 8, !noalias !5395, !noundef !15 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3), !noalias !5395 %.sroa.7.24.copyload.i = load i32, ptr %29, align 4, !noalias !5405 - %.sroa.11.24..sroa_idx.i = getelementptr inbounds nuw i8, ptr %16, i64 68 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %.sroa.11.i, ptr noundef nonnull align 4 dereferenceable(16) %.sroa.11.24..sroa_idx.i, i64 16, i1 false), !noalias !5380 %32 = icmp eq i32 %.sroa.7.24.copyload.i, 3 br i1 %32, label %"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17h58bf49a0fc37115eE.exit.thread.i", label %51 @@ -14859,16 +14846,16 @@ _ZN4core4iter8adapters7flatten17and_then_or_clear17h3216109c292cf505E.exit15.i: br label %"_ZN116_$LT$core..iter..adapters..flatten..FlattenCompat$LT$I$C$U$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hf8f21d59a425cb40E.exit" 51: ; preds = %"_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$4next17h58bf49a0fc37115eE.exit.i" + %.sroa.11.24..sroa_idx.i = getelementptr inbounds nuw i8, ptr %16, i64 68 %52 = getelementptr inbounds { { { i8, [23 x i8] } }, { i32, i32, i32 }, i8, i8, [2 x i8] }, ptr %30, i64 %31 store ptr %30, ptr %4, align 8, !alias.scope !5342, !noalias !5339 store ptr %52, ptr %6, align 8, !alias.scope !5342, !noalias !5339 store i64 0, ptr %7, align 8, !alias.scope !5342, !noalias !5339 store i32 %.sroa.7.24.copyload.i, ptr %5, align 8, !alias.scope !5342, !noalias !5339 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %8, ptr noundef nonnull align 4 dereferenceable(20) %.sroa.11.i, i64 20, i1 false), !noalias !5339 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %8, ptr noundef nonnull align 4 dereferenceable(16) %.sroa.11.24..sroa_idx.i, i64 16, i1 false), !noalias !5339 br label %13 "_ZN116_$LT$core..iter..adapters..flatten..FlattenCompat$LT$I$C$U$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hf8f21d59a425cb40E.exit": ; preds = %23, %_ZN4core4iter8adapters7flatten17and_then_or_clear17h3216109c292cf505E.exit15.i - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %.sroa.11.i) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %.sroa.0.i) ret void } diff --git a/bench/rust-analyzer-rs/optimized/2ajuxklycdgazr2a.ll b/bench/rust-analyzer-rs/optimized/2ajuxklycdgazr2a.ll index 7da7c34aca6..c8a045ad602 100644 --- a/bench/rust-analyzer-rs/optimized/2ajuxklycdgazr2a.ll +++ b/bench/rust-analyzer-rs/optimized/2ajuxklycdgazr2a.ll @@ -34564,7 +34564,6 @@ define hidden void @"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core. %5 = alloca { { i8, [23 x i8] } }, align 8 %6 = alloca { i32, [4 x i32] }, align 4 %.sroa.4.i.i = alloca [20 x i8], align 4 - %.sroa.6.i.i = alloca [5 x i32], align 4 %7 = icmp ne ptr %1, null tail call void @llvm.assume(i1 %7) %8 = icmp eq ptr %0, %1 @@ -34608,7 +34607,6 @@ define hidden void @"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core. %.sroa.6.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %30, i64 20 %.sroa.6.0.copyload.i = load i32, ptr %.sroa.6.0..sroa_idx.i, align 4, !alias.scope !11689, !noalias !11688 call void @llvm.experimental.noalias.scope.decl(metadata !11690) - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %.sroa.6.i.i) call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %6), !noalias !11691 store i32 %.sroa.0.0.copyload.i, ptr %6, align 4, !noalias !11695 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %.sroa.06.sroa.5.0..sroa_idx11.i.i, ptr noundef nonnull readonly align 4 dereferenceable(16) %.sroa.4.0..sroa_idx.i, i64 16, i1 false), !noalias !11688 @@ -34664,7 +34662,6 @@ define hidden void @"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core. "_ZN7hir_def10import_map11search_maps28_$u7b$$u7b$closure$u7d$$u7d$17h2b84d5e03b27873fE.exit.i.i": ; preds = %45 %53 = getelementptr inbounds nuw i8, ptr %41, i64 8 %54 = load ptr, ptr %53, align 8, !alias.scope !11710, !noalias !11713, !nonnull !4 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %.sroa.6.i.i, ptr noundef nonnull readonly align 4 dereferenceable(16) %.sroa.4.0..sroa_idx.i, i64 16, i1 false), !noalias !11688 call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %6), !noalias !11691 %55 = icmp eq i32 %.sroa.0.0.copyload.i, 3 br i1 %55, label %"_ZN4core4iter8adapters6copied9copy_fold28_$u7b$$u7b$closure$u7d$$u7d$17h3529e6f7419a3f59E.exit", label %56 @@ -34673,14 +34670,14 @@ define hidden void @"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core. %.sink5.i.i.i.i.i = select i1 %48, ptr %54, ptr %53 %57 = getelementptr inbounds nuw [0 x { { { i8, [23 x i8] } }, { i32, i32, i32 }, i8, i8, [2 x i8] }], ptr %.sink5.i.i.i.i.i, i64 0, i64 %46 call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %.sroa.4.i.i) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %.sroa.4.i.i, ptr noundef nonnull align 4 dereferenceable(20) %.sroa.6.i.i, i64 20, i1 false), !noalias !11719 - %58 = load i8, ptr %21, align 1, !range !2244, !noalias !11720, !noundef !4 - %59 = load ptr, ptr %22, align 8, !noalias !11720, !nonnull !4, !noundef !4 - %60 = load i64, ptr %23, align 8, !noalias !11720, !noundef !4 - %61 = load i8, ptr %24, align 8, !range !212, !noalias !11720, !noundef !4 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5), !noalias !11720 - call void @_ZN10hir_expand4name4Name11to_smol_str17h99d8aed792dba183E(ptr noalias noundef nonnull sret({ { i8, [23 x i8] } }) align 8 captures(none) dereferenceable(24) %5, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %57), !noalias !11720 - %62 = load i8, ptr %5, align 8, !range !2269, !alias.scope !11723, !noalias !11720, !noundef !4 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %.sroa.4.i.i, ptr noundef nonnull readonly align 4 dereferenceable(16) %.sroa.4.0..sroa_idx.i, i64 16, i1 false), !noalias !11688 + %58 = load i8, ptr %21, align 1, !range !2244, !noalias !11719, !noundef !4 + %59 = load ptr, ptr %22, align 8, !noalias !11719, !nonnull !4, !noundef !4 + %60 = load i64, ptr %23, align 8, !noalias !11719, !noundef !4 + %61 = load i8, ptr %24, align 8, !range !212, !noalias !11719, !noundef !4 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5), !noalias !11719 + call void @_ZN10hir_expand4name4Name11to_smol_str17h99d8aed792dba183E(ptr noalias noundef nonnull sret({ { i8, [23 x i8] } }) align 8 captures(none) dereferenceable(24) %5, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %57), !noalias !11719 + %62 = load i8, ptr %5, align 8, !range !2269, !alias.scope !11722, !noalias !11719, !noundef !4 %63 = add nsw i8 %62, -24 %narrow.i.i.i.i.i = call i8 @llvm.umin.i8(i8 %63, i8 2) switch i8 %narrow.i.i.i.i.i, label %default.unreachable [ @@ -34693,14 +34690,14 @@ default.unreachable: ; preds = %56 unreachable 64: ; preds = %56 - %65 = load ptr, ptr %26, align 8, !alias.scope !11723, !noalias !11720, !nonnull !4, !noundef !4 - %66 = load i64, ptr %27, align 8, !alias.scope !11723, !noalias !11720, !noundef !4 + %65 = load ptr, ptr %26, align 8, !alias.scope !11722, !noalias !11719, !nonnull !4, !noundef !4 + %66 = load i64, ptr %27, align 8, !alias.scope !11722, !noalias !11719, !noundef !4 %67 = getelementptr inbounds nuw i8, ptr %65, i64 16 br label %75 68: ; preds = %56 - %69 = load ptr, ptr %26, align 8, !alias.scope !11723, !noalias !11720, !nonnull !4, !align !68, !noundef !4 - %70 = load i64, ptr %27, align 8, !alias.scope !11723, !noalias !11720, !noundef !4 + %69 = load ptr, ptr %26, align 8, !alias.scope !11722, !noalias !11719, !nonnull !4, !align !68, !noundef !4 + %70 = load i64, ptr %27, align 8, !alias.scope !11722, !noalias !11719, !noundef !4 br label %75 "_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17hbbf545a0082a3c1dE.exit.i.i.i.i.i": ; preds = %56 @@ -34713,54 +34710,54 @@ default.unreachable: ; preds = %56 %74 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr38drop_in_place$LT$smol_str..SmolStr$GT$17h5085797f765c4a82E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %5) #50 - to label %86 unwind label %84, !noalias !11720 + to label %86 unwind label %84, !noalias !11719 75: ; preds = %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17hbbf545a0082a3c1dE.exit.i.i.i.i.i", %68, %64 %.pn5.i.i.i.i.i = phi ptr [ %67, %64 ], [ %69, %68 ], [ %25, %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17hbbf545a0082a3c1dE.exit.i.i.i.i.i" ] %.pn3.i.i.i.i.i = phi i64 [ %66, %64 ], [ %70, %68 ], [ %72, %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17hbbf545a0082a3c1dE.exit.i.i.i.i.i" ] %76 = trunc nuw i8 %61 to i1 %77 = invoke noundef zeroext i1 @_ZN7hir_def10import_map10SearchMode5check17h6268892113f1e316E(i8 noundef %58, ptr noalias noundef nonnull readonly align 1 %59, i64 noundef %60, i1 noundef zeroext %76, ptr noalias noundef nonnull readonly align 1 %.pn5.i.i.i.i.i, i64 noundef %.pn3.i.i.i.i.i) - to label %78 unwind label %73, !noalias !11720 + to label %78 unwind label %73, !noalias !11719 78: ; preds = %75 - call void @llvm.experimental.noalias.scope.decl(metadata !11726) - call void @llvm.experimental.noalias.scope.decl(metadata !11729) + call void @llvm.experimental.noalias.scope.decl(metadata !11725) + call void @llvm.experimental.noalias.scope.decl(metadata !11728) %cond.i.i.i.i.i.i = icmp eq i8 %62, 24 br i1 %cond.i.i.i.i.i.i, label %79, label %"_ZN7hir_def10import_map11search_maps28_$u7b$$u7b$closure$u7d$$u7d$17h9ef2e497eea36f0aE.exit.i.i.i" 79: ; preds = %78 - call void @llvm.experimental.noalias.scope.decl(metadata !11732) - call void @llvm.experimental.noalias.scope.decl(metadata !11735) - %80 = load ptr, ptr %26, align 8, !alias.scope !11738, !noalias !11720, !nonnull !4, !noundef !4 - %81 = atomicrmw sub ptr %80, i64 1 release, align 8, !noalias !11739 + call void @llvm.experimental.noalias.scope.decl(metadata !11731) + call void @llvm.experimental.noalias.scope.decl(metadata !11734) + %80 = load ptr, ptr %26, align 8, !alias.scope !11737, !noalias !11719, !nonnull !4, !noundef !4 + %81 = atomicrmw sub ptr %80, i64 1 release, align 8, !noalias !11738 %82 = icmp eq i64 %81, 1 br i1 %82, label %83, label %"_ZN7hir_def10import_map11search_maps28_$u7b$$u7b$closure$u7d$$u7d$17h9ef2e497eea36f0aE.exit.i.i.i" 83: ; preds = %79 - call void @_ZN4core4sync6atomic5fence17h58c21b3babc78cabE.llvm.18266587286026290509(i8 noundef 2), !noalias !11739 - call void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17ha78a11c393c5c4dfE"(ptr noalias noundef nonnull align 8 dereferenceable(16) %26), !noalias !11720 + call void @_ZN4core4sync6atomic5fence17h58c21b3babc78cabE.llvm.18266587286026290509(i8 noundef 2), !noalias !11738 + call void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17ha78a11c393c5c4dfE"(ptr noalias noundef nonnull align 8 dereferenceable(16) %26), !noalias !11719 br label %"_ZN7hir_def10import_map11search_maps28_$u7b$$u7b$closure$u7d$$u7d$17h9ef2e497eea36f0aE.exit.i.i.i" 84: ; preds = %73 %85 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17hbacfddf1bcf21a1eE() #51, !noalias !11720 + call void @_ZN4core9panicking16panic_in_cleanup17hbacfddf1bcf21a1eE() #51, !noalias !11719 unreachable 86: ; preds = %73 resume { ptr, i32 } %74 "_ZN7hir_def10import_map11search_maps28_$u7b$$u7b$closure$u7d$$u7d$17h9ef2e497eea36f0aE.exit.i.i.i": ; preds = %83, %79, %78 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5), !noalias !11720 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5), !noalias !11719 br i1 %77, label %87, label %"_ZN4core4iter8adapters6filter11filter_fold28_$u7b$$u7b$closure$u7d$$u7d$17hde70f77c6f794cf7E.exit.i.i" 87: ; preds = %"_ZN7hir_def10import_map11search_maps28_$u7b$$u7b$closure$u7d$$u7d$17h9ef2e497eea36f0aE.exit.i.i.i" call void @llvm.assume(i1 %28) - call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %4), !noalias !11740 - store i32 %.sroa.0.0.copyload.i, ptr %4, align 8, !noalias !11719 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %.sroa.4.0..sroa_idx.i.i, ptr noundef nonnull align 4 dereferenceable(16) %.sroa.4.i.i, i64 16, i1 false), !noalias !11719 + call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %4), !noalias !11739 + store i32 %.sroa.0.0.copyload.i, ptr %4, align 8, !noalias !11746 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %.sroa.4.0..sroa_idx.i.i, ptr noundef nonnull align 4 dereferenceable(16) %.sroa.4.i.i, i64 16, i1 false), !noalias !11746 %88 = call noundef zeroext i1 @"_ZN9hashbrown3map28HashMap$LT$K$C$V$C$S$C$A$GT$6insert17h63eb7b7116f8bd9cE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %.val3.i.i, ptr noalias noundef nonnull align 4 captures(none) dereferenceable(20) %4), !noalias !11747 - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %4), !noalias !11740 + call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %4), !noalias !11739 br label %"_ZN4core4iter8adapters6filter11filter_fold28_$u7b$$u7b$closure$u7d$$u7d$17hde70f77c6f794cf7E.exit.i.i" "_ZN4core4iter8adapters6filter11filter_fold28_$u7b$$u7b$closure$u7d$$u7d$17hde70f77c6f794cf7E.exit.i.i": ; preds = %87, %"_ZN7hir_def10import_map11search_maps28_$u7b$$u7b$closure$u7d$$u7d$17h9ef2e497eea36f0aE.exit.i.i.i" @@ -34768,7 +34765,6 @@ default.unreachable: ; preds = %56 br label %"_ZN4core4iter8adapters6copied9copy_fold28_$u7b$$u7b$closure$u7d$$u7d$17h3529e6f7419a3f59E.exit" "_ZN4core4iter8adapters6copied9copy_fold28_$u7b$$u7b$closure$u7d$$u7d$17h3529e6f7419a3f59E.exit": ; preds = %"_ZN7hir_def10import_map11search_maps28_$u7b$$u7b$closure$u7d$$u7d$17h2b84d5e03b27873fE.exit.thread.i.i", %"_ZN7hir_def10import_map11search_maps28_$u7b$$u7b$closure$u7d$$u7d$17h2b84d5e03b27873fE.exit.i.i", %"_ZN4core4iter8adapters6filter11filter_fold28_$u7b$$u7b$closure$u7d$$u7d$17hde70f77c6f794cf7E.exit.i.i" - call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %.sroa.6.i.i) %89 = add nuw i64 %.0, 1 %90 = icmp eq i64 %89, %13 br i1 %90, label %.loopexit, label %29 @@ -74602,35 +74598,35 @@ attributes #52 = { nounwind } !11716 = !{!11717, !11708, !11692, !11694, !11681, !11686, !11683, !11687} !11717 = distinct !{!11717, !11718, !"_ZN75_$LT$usize$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h7fbe1744771b025bE.llvm.8225647753450622592: argument 0"} !11718 = distinct !{!11718, !"_ZN75_$LT$usize$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h7fbe1744771b025bE.llvm.8225647753450622592"} -!11719 = !{!11681, !11686, !11683, !11687} -!11720 = !{!11721, !11681, !11686, !11683, !11687} -!11721 = distinct !{!11721, !11722, !"_ZN4core4iter8adapters6filter11filter_fold28_$u7b$$u7b$closure$u7d$$u7d$17hde70f77c6f794cf7E: argument 0"} -!11722 = distinct !{!11722, !"_ZN4core4iter8adapters6filter11filter_fold28_$u7b$$u7b$closure$u7d$$u7d$17hde70f77c6f794cf7E"} -!11723 = !{!11724} -!11724 = distinct !{!11724, !11725, !"_ZN8smol_str4Repr6as_str17h6612cd4653de1669E.llvm.14358968814291841630: argument 0"} -!11725 = distinct !{!11725, !"_ZN8smol_str4Repr6as_str17h6612cd4653de1669E.llvm.14358968814291841630"} -!11726 = !{!11727} -!11727 = distinct !{!11727, !11728, !"_ZN4core3ptr38drop_in_place$LT$smol_str..SmolStr$GT$17h5085797f765c4a82E: argument 0"} -!11728 = distinct !{!11728, !"_ZN4core3ptr38drop_in_place$LT$smol_str..SmolStr$GT$17h5085797f765c4a82E"} -!11729 = !{!11730} -!11730 = distinct !{!11730, !11731, !"_ZN4core3ptr35drop_in_place$LT$smol_str..Repr$GT$17h53ec6acdf8565e07E.llvm.18266587286026290509: argument 0"} -!11731 = distinct !{!11731, !"_ZN4core3ptr35drop_in_place$LT$smol_str..Repr$GT$17h53ec6acdf8565e07E.llvm.18266587286026290509"} -!11732 = !{!11733} -!11733 = distinct !{!11733, !11734, !"_ZN4core3ptr48drop_in_place$LT$alloc..sync..Arc$LT$str$GT$$GT$17h0d117acdf0220b48E.llvm.18266587286026290509: argument 0"} -!11734 = distinct !{!11734, !"_ZN4core3ptr48drop_in_place$LT$alloc..sync..Arc$LT$str$GT$$GT$17h0d117acdf0220b48E.llvm.18266587286026290509"} -!11735 = !{!11736} -!11736 = distinct !{!11736, !11737, !"_ZN71_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h190f0e7befa381baE.llvm.18266587286026290509: argument 0"} -!11737 = distinct !{!11737, !"_ZN71_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h190f0e7befa381baE.llvm.18266587286026290509"} -!11738 = !{!11736, !11733, !11730, !11727} -!11739 = !{!11736, !11733, !11730, !11727, !11721, !11681, !11686, !11683, !11687} -!11740 = !{!11741, !11743, !11745, !11721, !11681, !11686, !11683, !11687} -!11741 = distinct !{!11741, !11742, !"_ZN4core4iter6traits8iterator8Iterator8for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17ha2f4c3748a71d409E: argument 0"} -!11742 = distinct !{!11742, !"_ZN4core4iter6traits8iterator8Iterator8for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17ha2f4c3748a71d409E"} -!11743 = distinct !{!11743, !11744, !"_ZN4core4iter8adapters3map8map_fold28_$u7b$$u7b$closure$u7d$$u7d$17h4d5a503fe59119a7E: argument 0"} -!11744 = distinct !{!11744, !"_ZN4core4iter8adapters3map8map_fold28_$u7b$$u7b$closure$u7d$$u7d$17h4d5a503fe59119a7E"} -!11745 = distinct !{!11745, !11746, !"_ZN4core4iter8adapters3map8map_fold28_$u7b$$u7b$closure$u7d$$u7d$17hffcebdf2b9b8dd55E: argument 0"} -!11746 = distinct !{!11746, !"_ZN4core4iter8adapters3map8map_fold28_$u7b$$u7b$closure$u7d$$u7d$17hffcebdf2b9b8dd55E"} -!11747 = !{!11748, !11741, !11743, !11745, !11721, !11681, !11686, !11683, !11687} +!11719 = !{!11720, !11681, !11686, !11683, !11687} +!11720 = distinct !{!11720, !11721, !"_ZN4core4iter8adapters6filter11filter_fold28_$u7b$$u7b$closure$u7d$$u7d$17hde70f77c6f794cf7E: argument 0"} +!11721 = distinct !{!11721, !"_ZN4core4iter8adapters6filter11filter_fold28_$u7b$$u7b$closure$u7d$$u7d$17hde70f77c6f794cf7E"} +!11722 = !{!11723} +!11723 = distinct !{!11723, !11724, !"_ZN8smol_str4Repr6as_str17h6612cd4653de1669E.llvm.14358968814291841630: argument 0"} +!11724 = distinct !{!11724, !"_ZN8smol_str4Repr6as_str17h6612cd4653de1669E.llvm.14358968814291841630"} +!11725 = !{!11726} +!11726 = distinct !{!11726, !11727, !"_ZN4core3ptr38drop_in_place$LT$smol_str..SmolStr$GT$17h5085797f765c4a82E: argument 0"} +!11727 = distinct !{!11727, !"_ZN4core3ptr38drop_in_place$LT$smol_str..SmolStr$GT$17h5085797f765c4a82E"} +!11728 = !{!11729} +!11729 = distinct !{!11729, !11730, !"_ZN4core3ptr35drop_in_place$LT$smol_str..Repr$GT$17h53ec6acdf8565e07E.llvm.18266587286026290509: argument 0"} +!11730 = distinct !{!11730, !"_ZN4core3ptr35drop_in_place$LT$smol_str..Repr$GT$17h53ec6acdf8565e07E.llvm.18266587286026290509"} +!11731 = !{!11732} +!11732 = distinct !{!11732, !11733, !"_ZN4core3ptr48drop_in_place$LT$alloc..sync..Arc$LT$str$GT$$GT$17h0d117acdf0220b48E.llvm.18266587286026290509: argument 0"} +!11733 = distinct !{!11733, !"_ZN4core3ptr48drop_in_place$LT$alloc..sync..Arc$LT$str$GT$$GT$17h0d117acdf0220b48E.llvm.18266587286026290509"} +!11734 = !{!11735} +!11735 = distinct !{!11735, !11736, !"_ZN71_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h190f0e7befa381baE.llvm.18266587286026290509: argument 0"} +!11736 = distinct !{!11736, !"_ZN71_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h190f0e7befa381baE.llvm.18266587286026290509"} +!11737 = !{!11735, !11732, !11729, !11726} +!11738 = !{!11735, !11732, !11729, !11726, !11720, !11681, !11686, !11683, !11687} +!11739 = !{!11740, !11742, !11744, !11720, !11681, !11686, !11683, !11687} +!11740 = distinct !{!11740, !11741, !"_ZN4core4iter6traits8iterator8Iterator8for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17ha2f4c3748a71d409E: argument 0"} +!11741 = distinct !{!11741, !"_ZN4core4iter6traits8iterator8Iterator8for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17ha2f4c3748a71d409E"} +!11742 = distinct !{!11742, !11743, !"_ZN4core4iter8adapters3map8map_fold28_$u7b$$u7b$closure$u7d$$u7d$17h4d5a503fe59119a7E: argument 0"} +!11743 = distinct !{!11743, !"_ZN4core4iter8adapters3map8map_fold28_$u7b$$u7b$closure$u7d$$u7d$17h4d5a503fe59119a7E"} +!11744 = distinct !{!11744, !11745, !"_ZN4core4iter8adapters3map8map_fold28_$u7b$$u7b$closure$u7d$$u7d$17hffcebdf2b9b8dd55E: argument 0"} +!11745 = distinct !{!11745, !"_ZN4core4iter8adapters3map8map_fold28_$u7b$$u7b$closure$u7d$$u7d$17hffcebdf2b9b8dd55E"} +!11746 = !{!11681, !11686, !11683, !11687} +!11747 = !{!11748, !11740, !11742, !11744, !11720, !11681, !11686, !11683, !11687} !11748 = distinct !{!11748, !11749, !"_ZN121_$LT$hashbrown..map..HashMap$LT$K$C$V$C$S$C$A$GT$$u20$as$u20$core..iter..traits..collect..Extend$LT$$LP$K$C$V$RP$$GT$$GT$6extend28_$u7b$$u7b$closure$u7d$$u7d$17h3b7eeb4aa3e28eb0E: argument 0"} !11749 = distinct !{!11749, !"_ZN121_$LT$hashbrown..map..HashMap$LT$K$C$V$C$S$C$A$GT$$u20$as$u20$core..iter..traits..collect..Extend$LT$$LP$K$C$V$RP$$GT$$GT$6extend28_$u7b$$u7b$closure$u7d$$u7d$17h3b7eeb4aa3e28eb0E"} !11750 = !{!11751} diff --git a/bench/rust-analyzer-rs/optimized/2gfayp3e9bppz63d.ll b/bench/rust-analyzer-rs/optimized/2gfayp3e9bppz63d.ll index 98385fea1b3..9d268ccaf1a 100644 --- a/bench/rust-analyzer-rs/optimized/2gfayp3e9bppz63d.ll +++ b/bench/rust-analyzer-rs/optimized/2gfayp3e9bppz63d.ll @@ -11746,9 +11746,9 @@ define hidden void @_ZN4core4iter6traits8iterator8Iterator4fold17h12797c11c0be9e call void @llvm.experimental.noalias.scope.decl(metadata !4510) call void @llvm.experimental.noalias.scope.decl(metadata !4513) %26 = getelementptr inbounds { { { i32, [1 x i32] }, i32 }, [1 x i32], { ptr, ptr } }, ptr %13, i64 %18 - store i32 %.sroa.0.0.copyload2, ptr %26, align 8, !noalias !4516 + store i32 %.sroa.0.0.copyload2, ptr %26, align 8, !noalias !4505 %.sroa.0.sroa.0.i.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %26, i64 4 - store i64 %.sroa.7.0.copyload4, ptr %.sroa.0.sroa.0.i.sroa.4.0..sroa_idx, align 4, !noalias !4516 + store i64 %.sroa.7.0.copyload4, ptr %.sroa.0.sroa.0.i.sroa.4.0..sroa_idx, align 4, !noalias !4505 %.sroa.0.sroa.4.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %26, i64 16 store ptr %24, ptr %.sroa.0.sroa.4.0..sroa_idx.i, align 8, !noalias !4516 %.sroa.0.sroa.5.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %26, i64 24 @@ -13248,9 +13248,9 @@ define hidden void @_ZN4core4iter6traits8iterator8Iterator4fold17he50b3e3e6e1b52 call void @llvm.experimental.noalias.scope.decl(metadata !5285) call void @llvm.experimental.noalias.scope.decl(metadata !5288) %26 = getelementptr inbounds { { { i32, [1 x i32] }, i32 }, [1 x i32], { ptr, ptr } }, ptr %13, i64 %18 - store i32 %.sroa.0.0.copyload2, ptr %26, align 8, !noalias !5291 + store i32 %.sroa.0.0.copyload2, ptr %26, align 8, !noalias !5280 %.sroa.0.sroa.0.i.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %26, i64 4 - store i64 %.sroa.7.0.copyload4, ptr %.sroa.0.sroa.0.i.sroa.4.0..sroa_idx, align 4, !noalias !5291 + store i64 %.sroa.7.0.copyload4, ptr %.sroa.0.sroa.0.i.sroa.4.0..sroa_idx, align 4, !noalias !5280 %.sroa.0.sroa.4.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %26, i64 16 store ptr %24, ptr %.sroa.0.sroa.4.0..sroa_idx.i, align 8, !noalias !5291 %.sroa.0.sroa.5.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %26, i64 24 @@ -22098,8 +22098,6 @@ define hidden void @"_ZN4core4iter8adapters3map8map_fold28_$u7b$$u7b$closure$u7d ; Function Attrs: inlinehint nonlazybind uwtable define hidden void @"_ZN4core4iter8adapters3map8map_fold28_$u7b$$u7b$closure$u7d$$u7d$17ha319729ee081d441E.llvm.1352433577611232762"(ptr noalias noundef align 8 captures(none) dereferenceable(32) %0, ptr noalias noundef readonly align 4 captures(none) dereferenceable(12) %1) unnamed_addr #0 personality ptr @rust_eh_personality { %3 = alloca { { { i32, [1 x i32] }, i32 } }, align 4 - %.sroa.0.sroa.0 = alloca { { { i32, [1 x i32] }, i32 }, [1 x i32] }, align 8 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %.sroa.0.sroa.0) %4 = getelementptr inbounds nuw i8, ptr %0, i64 24 call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %3) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %3, ptr noundef nonnull align 4 dereferenceable(12) %1, i64 12, i1 false) @@ -22108,7 +22106,6 @@ define hidden void @"_ZN4core4iter8adapters3map8map_fold28_$u7b$$u7b$closure$u7d %6 = call { ptr, ptr } @_ZN3hir5Field2ty17h690eddc1c1c71499E(ptr noalias noundef nonnull readonly align 4 dereferenceable(12) %3, ptr noundef nonnull align 1 %5, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.fb11057230c6fbfae78435798457d9df.23.llvm.1352433577611232762), !noalias !8051 %7 = extractvalue { ptr, ptr } %6, 0 %8 = extractvalue { ptr, ptr } %6, 1 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(12) %.sroa.0.sroa.0, ptr noundef nonnull align 4 dereferenceable(12) %1, i64 12, i1 false) call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %3) call void @llvm.experimental.noalias.scope.decl(metadata !8052) call void @llvm.experimental.noalias.scope.decl(metadata !8055) @@ -22117,14 +22114,13 @@ define hidden void @"_ZN4core4iter8adapters3map8map_fold28_$u7b$$u7b$closure$u7d %11 = getelementptr inbounds nuw i8, ptr %0, i64 8 %12 = load i64, ptr %11, align 8, !alias.scope !8058, !noalias !8059, !noundef !4 %13 = getelementptr inbounds { { { i32, [1 x i32] }, i32 }, [1 x i32], { ptr, ptr } }, ptr %10, i64 %12 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %13, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.0.sroa.0, i64 16, i1 false), !noalias !8058 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(12) %13, ptr noundef nonnull align 4 dereferenceable(12) %1, i64 12, i1 false) %.sroa.0.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %13, i64 16 store ptr %7, ptr %.sroa.0.sroa.4.0..sroa_idx, align 8, !noalias !8058 %.sroa.0.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %13, i64 24 store ptr %8, ptr %.sroa.0.sroa.5.0..sroa_idx, align 8, !noalias !8058 %14 = add i64 %12, 1 store i64 %14, ptr %11, align 8, !alias.scope !8058, !noalias !8059 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.0.sroa.0) ret void } @@ -22491,8 +22487,6 @@ define hidden void @"_ZN4core4iter8adapters3map8map_fold28_$u7b$$u7b$closure$u7d ; Function Attrs: inlinehint nonlazybind uwtable define hidden void @"_ZN4core4iter8adapters3map8map_fold28_$u7b$$u7b$closure$u7d$$u7d$17hfb857afe018ced6aE.llvm.1352433577611232762"(ptr noalias noundef align 8 captures(none) dereferenceable(32) %0, ptr noalias noundef readonly align 4 captures(none) dereferenceable(12) %1) unnamed_addr #0 personality ptr @rust_eh_personality { %3 = alloca { { { i32, [1 x i32] }, i32 } }, align 4 - %.sroa.0.sroa.0 = alloca { { { i32, [1 x i32] }, i32 }, [1 x i32] }, align 8 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %.sroa.0.sroa.0) %4 = getelementptr inbounds nuw i8, ptr %0, i64 24 call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %3) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %3, ptr noundef nonnull align 4 dereferenceable(12) %1, i64 12, i1 false) @@ -22501,7 +22495,6 @@ define hidden void @"_ZN4core4iter8adapters3map8map_fold28_$u7b$$u7b$closure$u7d %6 = call { ptr, ptr } @_ZN3hir5Field2ty17h690eddc1c1c71499E(ptr noalias noundef nonnull readonly align 4 dereferenceable(12) %3, ptr noundef nonnull align 1 %5, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.fb11057230c6fbfae78435798457d9df.23.llvm.1352433577611232762), !noalias !8280 %7 = extractvalue { ptr, ptr } %6, 0 %8 = extractvalue { ptr, ptr } %6, 1 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(12) %.sroa.0.sroa.0, ptr noundef nonnull align 4 dereferenceable(12) %1, i64 12, i1 false) call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %3) call void @llvm.experimental.noalias.scope.decl(metadata !8281) call void @llvm.experimental.noalias.scope.decl(metadata !8284) @@ -22510,14 +22503,13 @@ define hidden void @"_ZN4core4iter8adapters3map8map_fold28_$u7b$$u7b$closure$u7d %11 = getelementptr inbounds nuw i8, ptr %0, i64 8 %12 = load i64, ptr %11, align 8, !alias.scope !8287, !noalias !8288, !noundef !4 %13 = getelementptr inbounds { { { i32, [1 x i32] }, i32 }, [1 x i32], { ptr, ptr } }, ptr %10, i64 %12 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %13, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.0.sroa.0, i64 16, i1 false), !noalias !8287 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(12) %13, ptr noundef nonnull align 4 dereferenceable(12) %1, i64 12, i1 false) %.sroa.0.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %13, i64 16 store ptr %7, ptr %.sroa.0.sroa.4.0..sroa_idx, align 8, !noalias !8287 %.sroa.0.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %13, i64 24 store ptr %8, ptr %.sroa.0.sroa.5.0..sroa_idx, align 8, !noalias !8287 %14 = add i64 %12, 1 store i64 %14, ptr %11, align 8, !alias.scope !8287, !noalias !8288 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.0.sroa.0) ret void } diff --git a/bench/tls-rs/optimized/1oa4q9ydtxtlathz.ll b/bench/tls-rs/optimized/1oa4q9ydtxtlathz.ll index 3a55a3b401f..4c3d9ac98d0 100644 --- a/bench/tls-rs/optimized/1oa4q9ydtxtlathz.ll +++ b/bench/tls-rs/optimized/1oa4q9ydtxtlathz.ll @@ -4738,10 +4738,10 @@ _ZN6rustls4msgs7message8outbound15PrefixedPayload18extend_from_chunks17h8cfa78da br i1 %113, label %.loopexit, label %.lr.ph.i.i.i.i.i7.i.i.i 114: ; preds = %110 - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %7), !noalias !979 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(12) %7, ptr noundef nonnull align 1 dereferenceable(12) %10, i64 12, i1 false), !noalias !914 %115 = load <16 x i8>, ptr %9, align 16, !noalias !946 %116 = load i64, ptr %8, align 8, !noalias !946 + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %7), !noalias !979 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(12) %7, ptr noundef nonnull align 1 dereferenceable(12) %10, i64 12, i1 false), !noalias !914 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8), !noalias !946 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %9), !noalias !946 call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %10), !noalias !914 diff --git a/bench/tls-rs/optimized/4vvnrvl2eceao62c.ll b/bench/tls-rs/optimized/4vvnrvl2eceao62c.ll index 707ea007332..379608089db 100644 --- a/bench/tls-rs/optimized/4vvnrvl2eceao62c.ll +++ b/bench/tls-rs/optimized/4vvnrvl2eceao62c.ll @@ -10267,7 +10267,7 @@ define hidden void @_ZN6rustls5tls1217ConnectionSecrets17from_key_exchange17h466 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %.sroa.312, ptr noundef nonnull align 1 dereferenceable(64) %10, i64 64, i1 false) call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %12) store i8 1, ptr %12, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(79) %.sink.i.sroa.gep24, ptr noundef nonnull align 1 dereferenceable(79) %.sroa.312, i64 79, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %.sink.i.sroa.gep24, ptr noundef nonnull align 1 dereferenceable(64) %10, i64 64, i1 false) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) br label %28 diff --git a/bench/typst-rs/optimized/4m3ebbqd1xx21e5m.ll b/bench/typst-rs/optimized/4m3ebbqd1xx21e5m.ll index 965bea8f83e..62facbe1d71 100644 --- a/bench/typst-rs/optimized/4m3ebbqd1xx21e5m.ll +++ b/bench/typst-rs/optimized/4m3ebbqd1xx21e5m.ll @@ -62067,15 +62067,12 @@ define hidden noundef zeroext i1 @"_ZN5typst6layout4grid6layout12GridLayouter20r } ; Function Attrs: mustprogress nofree norecurse nosync nounwind nonlazybind willreturn memory(argmem: readwrite) uwtable -define hidden void @_ZN5typst6layout4grid5lines22generate_line_segments17h0f6ac501435c5078E(ptr noalias noundef writeonly sret({ { { { { { { i64, [1 x i64] } }, { ptr, [1 x i64] }, { ptr, [1 x i64] } } }, ptr }, { [24 x i8], i8, [7 x i8] }, { { ptr, ptr, {} }, {} }, ptr, i64, i64, double, {} } }) align 8 captures(none) dereferenceable(136) initializes((0, 81), (88, 136)) %0, ptr noalias noundef readonly align 8 dereferenceable(160) %1, ptr noundef nonnull %2, ptr noundef %3, i64 noundef %4, ptr noalias noundef readonly align 8 captures(none) dereferenceable(56) %5) unnamed_addr #25 personality ptr @rust_eh_personality { - %.sroa.0.sroa.0 = alloca [80 x i8], align 8 +define hidden void @_ZN5typst6layout4grid5lines22generate_line_segments17h0f6ac501435c5078E(ptr noalias noundef writeonly sret({ { { { { { { i64, [1 x i64] } }, { ptr, [1 x i64] }, { ptr, [1 x i64] } } }, ptr }, { [24 x i8], i8, [7 x i8] }, { { ptr, ptr, {} }, {} }, ptr, i64, i64, double, {} } }) align 8 captures(none) dereferenceable(136) initializes((0, 56), (80, 81), (88, 136)) %0, ptr noalias noundef readonly align 8 dereferenceable(160) %1, ptr noundef nonnull %2, ptr noundef %3, i64 noundef %4, ptr noalias noundef readonly align 8 captures(none) dereferenceable(56) %5) unnamed_addr #25 personality ptr @rust_eh_personality { %7 = getelementptr inbounds nuw i8, ptr %1, i64 152 %8 = load i8, ptr %7, align 8, !range !565, !noundef !4 %9 = trunc nuw i8 %8 to i1 %. = select i1 %9, i64 2, i64 1 - call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %.sroa.0.sroa.0) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %.sroa.0.sroa.0, ptr noundef nonnull align 8 dereferenceable(56) %5, i64 56, i1 false) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %0, ptr noundef nonnull align 8 dereferenceable(80) %.sroa.0.sroa.0, i64 80, i1 false) + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %0, ptr noundef nonnull align 8 dereferenceable(56) %5, i64 56, i1 false) %.sroa.0.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 80 store i8 3, ptr %.sroa.0.sroa.5.0..sroa_idx, align 8 %.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 88 @@ -62090,20 +62087,16 @@ define hidden void @_ZN5typst6layout4grid5lines22generate_line_segments17h0f6ac5 store i64 %4, ptr %.sroa.9.0..sroa_idx, align 8 %.sroa.10.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 128 store double 0.000000e+00, ptr %.sroa.10.0..sroa_idx, align 8 - call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %.sroa.0.sroa.0) ret void } ; Function Attrs: mustprogress nofree norecurse nosync nounwind nonlazybind willreturn memory(argmem: readwrite) uwtable -define hidden void @_ZN5typst6layout4grid5lines22generate_line_segments17hc3f6d9a3e2046f84E(ptr noalias noundef writeonly sret({ { { { i64, [8 x i64] }, { ptr, [2 x i64] } }, { [24 x i8], i8, [7 x i8] }, { { { ptr, ptr, {} } }, i64 }, ptr, { ptr, ptr, ptr }, i64, i64, double } }) align 8 captures(none) dereferenceable(208) initializes((0, 121), (128, 208)) %0, ptr noalias noundef readonly align 8 dereferenceable(160) %1, ptr noalias noundef readonly align 8 captures(none) dereferenceable(24) %2, i64 noundef %3, ptr noalias noundef readonly align 8 captures(none) dereferenceable(96) %4, ptr noalias noundef readonly align 8 captures(none) dereferenceable(24) %5) unnamed_addr #25 personality ptr @rust_eh_personality { - %.sroa.0.sroa.0 = alloca [120 x i8], align 8 +define hidden void @_ZN5typst6layout4grid5lines22generate_line_segments17hc3f6d9a3e2046f84E(ptr noalias noundef writeonly sret({ { { { i64, [8 x i64] }, { ptr, [2 x i64] } }, { [24 x i8], i8, [7 x i8] }, { { { ptr, ptr, {} } }, i64 }, ptr, { ptr, ptr, ptr }, i64, i64, double } }) align 8 captures(none) dereferenceable(208) initializes((0, 96), (120, 121), (128, 208)) %0, ptr noalias noundef readonly align 8 dereferenceable(160) %1, ptr noalias noundef readonly align 8 captures(none) dereferenceable(24) %2, i64 noundef %3, ptr noalias noundef readonly align 8 captures(none) dereferenceable(96) %4, ptr noalias noundef readonly align 8 captures(none) dereferenceable(24) %5) unnamed_addr #25 personality ptr @rust_eh_personality { %7 = getelementptr inbounds nuw i8, ptr %1, i64 152 %8 = load i8, ptr %7, align 8, !range !565, !noundef !4 %9 = trunc nuw i8 %8 to i1 %. = select i1 %9, i64 2, i64 1 - call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %.sroa.0.sroa.0) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %.sroa.0.sroa.0, ptr noundef nonnull align 8 dereferenceable(96) %4, i64 96, i1 false) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(120) %0, ptr noundef nonnull align 8 dereferenceable(120) %.sroa.0.sroa.0, i64 120, i1 false) + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %0, ptr noundef nonnull align 8 dereferenceable(96) %4, i64 96, i1 false) %.sroa.0.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 120 store i8 3, ptr %.sroa.0.sroa.5.0..sroa_idx, align 8 %.sroa.0.sroa.7.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 128 @@ -62118,7 +62111,6 @@ define hidden void @_ZN5typst6layout4grid5lines22generate_line_segments17hc3f6d9 store i64 %3, ptr %.sroa.9.0..sroa_idx, align 8 %.sroa.10.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 200 store double 0.000000e+00, ptr %.sroa.10.0..sroa_idx, align 8 - call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %.sroa.0.sroa.0) ret void } diff --git a/bench/uv-rs/optimized/0mqbxjimtna5jl9558ukl0d23.ll b/bench/uv-rs/optimized/0mqbxjimtna5jl9558ukl0d23.ll index f71b8b12d64..054737ccd7e 100644 --- a/bench/uv-rs/optimized/0mqbxjimtna5jl9558ukl0d23.ll +++ b/bench/uv-rs/optimized/0mqbxjimtna5jl9558ukl0d23.ll @@ -7237,7 +7237,7 @@ _ZN9uv_pep50810parse_name17h50f7efe3f8887ef5E.exit: ; preds = %258, %320, %322 %.sroa.024.i178.sroa.5.0.copyload = load ptr, ptr %.sroa.53.0..sroa_idx.i.i183, align 8, !noalias !1302 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %67), !noalias !1316 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %68), !noalias !1316 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(104) %.sroa.16387, ptr noundef nonnull align 8 dereferenceable(104) %377, i64 104, i1 false), !noalias !1307 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.16387, ptr noundef nonnull align 8 dereferenceable(24) %83, i64 24, i1 false) call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %84), !noalias !1302 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %85), !noalias !1302 br label %387 @@ -7644,7 +7644,7 @@ _ZN9uv_pep50810parse_name17h50f7efe3f8887ef5E.exit: ; preds = %258, %320, %322 %.sroa.037.i.sroa.5.0.copyload = load ptr, ptr %.sroa.53.0..sroa_idx.i121.i, align 8, !noalias !1302 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %57), !noalias !1366 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %58), !noalias !1366 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(104) %.sroa.16387, ptr noundef nonnull align 8 dereferenceable(104) %450, i64 104, i1 false), !noalias !1307 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.16387, ptr noundef nonnull align 8 dereferenceable(24) %76, i64 24, i1 false) call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %77), !noalias !1302 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %78), !noalias !1302 br label %539 @@ -7856,7 +7856,7 @@ _ZN9uv_pep50810parse_name17h50f7efe3f8887ef5E.exit: ; preds = %258, %320, %322 %.sroa.044.i.sroa.5.0.copyload = load ptr, ptr %.sroa.53.0..sroa_idx.i135.i, align 8, !noalias !1302 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %54), !noalias !1386 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %55), !noalias !1386 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(104) %.sroa.16387, ptr noundef nonnull align 8 dereferenceable(104) %522, i64 104, i1 false), !noalias !1307 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.16387, ptr noundef nonnull align 8 dereferenceable(24) %72, i64 24, i1 false) call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %73), !noalias !1302 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %74), !noalias !1302 br label %539 diff --git a/bench/uv-rs/optimized/1649wnv1wecv8ot0gji7der2b.ll b/bench/uv-rs/optimized/1649wnv1wecv8ot0gji7der2b.ll index c83932df299..66127fa603a 100644 --- a/bench/uv-rs/optimized/1649wnv1wecv8ot0gji7der2b.ll +++ b/bench/uv-rs/optimized/1649wnv1wecv8ot0gji7der2b.ll @@ -188,7 +188,6 @@ define void @_ZN21uv_trampoline_builder8Launcher13try_from_path17hee0dc297198379 %9 = alloca [16 x i8], align 8 %10 = alloca [24 x i8], align 8 %11 = alloca [40 x i8], align 8 - %.sroa.4154 = alloca [24 x i8], align 8 %12 = alloca [40 x i8], align 8 %13 = alloca [40 x i8], align 8 %14 = alloca [24 x i8], align 8 @@ -543,9 +542,6 @@ _ZN6fs_err4file4File4open17hf9f7ee31f408202dE.exit: ; preds = %26 118: ; preds = %115 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %11) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %11, ptr noundef nonnull align 8 dereferenceable(40) %15, i64 40, i1 false) - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %.sroa.4154) - %119 = getelementptr inbounds nuw i8, ptr %15, i64 24 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.4154, ptr noundef nonnull align 8 dereferenceable(16) %119, i64 16, i1 false) invoke void @"_ZN4core3ptr49drop_in_place$LT$alloc..string..FromUtf8Error$GT$17h01b4448a6a5269c4E"(ptr noalias noundef nonnull align 8 dereferenceable(40) %11) to label %.thread235 unwind label %109 @@ -567,9 +563,9 @@ _ZN6fs_err4file4File4open17hf9f7ee31f408202dE.exit: ; preds = %26 br label %123 .thread235: ; preds = %118 + %122 = getelementptr inbounds nuw i8, ptr %15, i64 24 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %11) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.694, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.4154, i64 24, i1 false) - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %.sroa.4154) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.694, ptr noundef nonnull align 8 dereferenceable(16) %122, i64 16, i1 false) call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %15) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.787, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.694, i64 24, i1 false) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %.sroa.694) diff --git a/bench/uv-rs/optimized/26e8un8b0wh9yex2gcsrh3a8d.ll b/bench/uv-rs/optimized/26e8un8b0wh9yex2gcsrh3a8d.ll index f5ff3a4f1d7..855e420b956 100644 --- a/bench/uv-rs/optimized/26e8un8b0wh9yex2gcsrh3a8d.ll +++ b/bench/uv-rs/optimized/26e8un8b0wh9yex2gcsrh3a8d.ll @@ -35511,6 +35511,7 @@ define hidden void @_ZN4core4iter6traits8iterator8Iterator8try_fold17he2ff724db6 %9 = alloca [336 x i8], align 8 %.sroa.1025.i.i = alloca [320 x i8], align 8 %.sroa.532.i.i = alloca [16 x i8], align 8 + %.sroa.10.i = alloca [32 x i8], align 8 %10 = tail call { ptr, ptr } @"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17haf3a70b48779c65dE"(ptr noalias noundef nonnull align 8 dereferenceable(72) %1) %11 = extractvalue { ptr, ptr } %10, 0 %12 = icmp eq ptr %11, null @@ -35528,6 +35529,7 @@ define hidden void @_ZN4core4iter6traits8iterator8Iterator8try_fold17he2ff724db6 %.val6 = load ptr, ptr %14, align 8, !nonnull !3, !align !125, !noundef !3 %18 = getelementptr i8, ptr %14, i64 8 %.val7 = load i64, ptr %18, align 8, !noundef !3 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %.sroa.10.i) %.val.i = load ptr, ptr %.val4, align 8, !noalias !12593, !nonnull !3, !align !1238, !noundef !3 %19 = getelementptr i8, ptr %.val4, i64 8 %.val2.i = load i64, ptr %19, align 8, !noalias !12593, !noundef !3 @@ -35648,7 +35650,9 @@ common.resume.i: ; preds = %.body.i.i, %46, %26 unreachable 50: ; preds = %41 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(336) %43, ptr noundef nonnull align 8 dereferenceable(336) %9, i64 336, i1 false), !noalias !12604 + store i8 28, ptr %43, align 8, !noalias !12604 + %.sroa.513.0..sroa_idx14.i = getelementptr inbounds nuw i8, ptr %43, i64 8 + store ptr %23, ptr %.sroa.513.0..sroa_idx14.i, align 8, !noalias !12604 call void @llvm.lifetime.end.p0(i64 336, ptr nonnull %9), !noalias !12593 %51 = icmp ne ptr %.val, null call void @llvm.assume(i1 %51) @@ -35704,11 +35708,17 @@ common.resume.i: ; preds = %.body.i.i, %46, %26 .body.i.i: ; preds = %66, %59, %.body.i.i.i.i.i %eh.lpad-body.i.i = phi { ptr, i32 } [ %67, %66 ], [ %57, %59 ], [ %57, %.body.i.i.i.i.i ] store i64 4, ptr %.val, align 8, !noalias !12621 + %.sroa.5.sroa.6.0..sroa.6.0..8.val.sroa_idx.i.sroa_idx.i = getelementptr inbounds nuw i8, ptr %.val, i64 24 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.5.sroa.6.0..sroa.6.0..8.val.sroa_idx.i.sroa_idx.i, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.532.i.i, i64 16, i1 false) + %.sroa.7.0..8.val.sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %.val, i64 40 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.7.0..8.val.sroa_idx.i.i, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.10.i, i64 32, i1 false), !noalias !12593 store ptr %43, ptr %55, align 8, !noalias !12642 br label %common.resume.i "_ZN4core3ptr133drop_in_place$LT$core..option..Option$LT$core..result..Result$LT$core..convert..Infallible$C$uv_resolver..lock..LockError$GT$$GT$$GT$17h1e73d1f27d42c5c2E.exit.i.i": ; preds = %62, %60, %50 store i64 4, ptr %.val, align 8, !noalias !12621 + %.sroa.5.sroa.6.0..sroa.6.0..8.val.sroa_idx19.i.sroa_idx.i = getelementptr inbounds nuw i8, ptr %.val, i64 24 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.5.sroa.6.0..sroa.6.0..8.val.sroa_idx19.i.sroa_idx.i, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.532.i.i, i64 16, i1 false) %.sroa.8.sroa.5.0..sroa.7.0..8.val.sroa_idx20.i.sroa_idx.i = getelementptr inbounds nuw i8, ptr %.val, i64 72 store ptr %43, ptr %.sroa.8.sroa.5.0..sroa.7.0..8.val.sroa_idx20.i.sroa_idx.i, align 8, !noalias !12642 br label %68 @@ -35716,6 +35726,7 @@ common.resume.i: ; preds = %.body.i.i, %46, %26 68: ; preds = %"_ZN4core3ptr133drop_in_place$LT$core..option..Option$LT$core..result..Result$LT$core..convert..Infallible$C$uv_resolver..lock..LockError$GT$$GT$$GT$17h1e73d1f27d42c5c2E.exit.i.i", %65 %.sroa.6.1 = phi ptr [ %.sroa.67.8.copyload8.i.i, %65 ], [ undef, %"_ZN4core3ptr133drop_in_place$LT$core..option..Option$LT$core..result..Result$LT$core..convert..Infallible$C$uv_resolver..lock..LockError$GT$$GT$$GT$17h1e73d1f27d42c5c2E.exit.i.i" ] %.0.val.sink.i = phi ptr [ %.val5, %65 ], [ null, %"_ZN4core3ptr133drop_in_place$LT$core..option..Option$LT$core..result..Result$LT$core..convert..Infallible$C$uv_resolver..lock..LockError$GT$$GT$$GT$17h1e73d1f27d42c5c2E.exit.i.i" ] + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %.sroa.10.i) %69 = getelementptr inbounds nuw i8, ptr %0, i64 8 store ptr %.0.val.sink.i, ptr %69, align 8, !alias.scope !12643 %.sroa.2.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 16 diff --git a/bench/uv-rs/optimized/7raqa92m55m8lcbuewqxc24uw.ll b/bench/uv-rs/optimized/7raqa92m55m8lcbuewqxc24uw.ll index 5dc91c57c90..f64e2ec4481 100644 --- a/bench/uv-rs/optimized/7raqa92m55m8lcbuewqxc24uw.ll +++ b/bench/uv-rs/optimized/7raqa92m55m8lcbuewqxc24uw.ll @@ -3558,7 +3558,6 @@ define hidden void @"_ZN7uv_auth7keyring15KeyringProvider16fetch_subprocess28_$u %82 = alloca [8 x i8], align 8 %83 = alloca [56 x i8], align 8 %.sroa.10 = alloca [24 x i8], align 8 - %.sroa.0278 = alloca [552 x i8], align 8 %.sroa.12 = alloca [40 x i8], align 8 %84 = alloca [56 x i8], align 8 %85 = alloca [144 x i8], align 8 @@ -3879,11 +3878,9 @@ _ZN5tokio7process7Command6stderr17hb38184cd620d59eaE.exit: ; preds = %123 store ptr %.sroa.7259.0359, ptr %.sroa.4.0..sroa_idx, align 8 call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %84) call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %.sroa.12) - call void @llvm.lifetime.start.p0(i64 552, ptr nonnull %.sroa.0278) store i8 0, ptr %90, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(144) %.sroa.0278, ptr noundef nonnull align 8 dereferenceable(144) %86, i64 144, i1 false) %172 = getelementptr inbounds nuw i8, ptr %1, i64 16 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(552) %172, ptr noundef nonnull align 8 dereferenceable(552) %.sroa.0278, i64 552, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(144) %172, ptr noundef nonnull align 8 dereferenceable(144) %86, i64 144, i1 false) %.sroa.8.0..sroa_idx279 = getelementptr inbounds nuw i8, ptr %1, i64 568 store i8 0, ptr %.sroa.8.0..sroa_idx279, align 8 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %.sroa.10) @@ -3937,7 +3934,6 @@ _ZN5tokio7process7Command6stderr17hb38184cd620d59eaE.exit: ; preds = %123 call void @llvm.lifetime.start.p0(i64 144, ptr nonnull %86) call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %84) call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %.sroa.12) - call void @llvm.lifetime.start.p0(i64 552, ptr nonnull %.sroa.0278) %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %1, i64 568 %.pre = load i8, ptr %.phi.trans.insert, align 8, !range !37, !noalias !603 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %.sroa.10) @@ -4501,13 +4497,11 @@ common.ret: ; preds = %"_ZN4core3ptr44drop call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %86) call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %84) call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %.sroa.12) - call void @llvm.lifetime.end.p0(i64 552, ptr nonnull %.sroa.0278) br label %common.ret .body168: ; preds = %388, %356, %.body151 %.pn38 = phi { ptr, i32 } [ %eh.lpad-body152, %.body151 ], [ %357, %356 ], [ %389, %388 ] call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %.sroa.12) - call void @llvm.lifetime.end.p0(i64 552, ptr nonnull %.sroa.0278) br label %772 356: ; preds = %396, %393, %354 @@ -4673,7 +4667,6 @@ common.ret: ; preds = %"_ZN4core3ptr44drop store i64 %.sroa.0270.0373, ptr %84, align 8 %.sroa.4287.0..sroa_idx = getelementptr inbounds nuw i8, ptr %84, i64 8 store ptr %.sroa.10272.0372, ptr %.sroa.4287.0..sroa_idx, align 8 - call void @llvm.lifetime.end.p0(i64 552, ptr nonnull %.sroa.0278) %399 = getelementptr inbounds nuw i8, ptr %84, i64 48 %.val121 = load i32, ptr %399, align 8, !noundef !4 %400 = icmp eq i32 %.val121, 0 @@ -6157,7 +6150,6 @@ common.ret: ; preds = %"_ZN4core3ptr44drop 848: ; preds = %.noexc171, %396 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %26), !noalias !702 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %.sroa.12) - call void @llvm.lifetime.end.p0(i64 552, ptr nonnull %.sroa.0278) br label %843 849: ; preds = %772 diff --git a/bench/uv-rs/optimized/9p6nc2blny0ou0zzic9idu916.ll b/bench/uv-rs/optimized/9p6nc2blny0ou0zzic9idu916.ll index 4908fc060fb..5e5f5d7ad68 100644 --- a/bench/uv-rs/optimized/9p6nc2blny0ou0zzic9idu916.ll +++ b/bench/uv-rs/optimized/9p6nc2blny0ou0zzic9idu916.ll @@ -2385,7 +2385,6 @@ define hidden void @_ZN16uv_build_backend5wheel11write_wheel17h970c4c3f42734946E %61 = alloca [64 x i8], align 8 %62 = alloca [64 x i8], align 8 %63 = alloca [56 x i8], align 8 - %.sroa.4357.i.sroa.9 = alloca [40 x i8], align 8 %64 = alloca [48 x i8], align 8 %65 = alloca [48 x i8], align 8 %66 = alloca [24 x i8], align 8 @@ -2444,7 +2443,6 @@ define hidden void @_ZN16uv_build_backend5wheel11write_wheel17h970c4c3f42734946E %117 = alloca [64 x i8], align 8 %118 = alloca [64 x i8], align 8 %119 = alloca [56 x i8], align 8 - %.sroa.497.i.sroa.9 = alloca [40 x i8], align 8 %120 = alloca [48 x i8], align 8 %121 = alloca [48 x i8], align 8 %122 = alloca [24 x i8], align 8 @@ -3967,7 +3965,6 @@ select.unfold.us.i: ; preds = %.split.us.preheader %.sroa.4138.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %119, i64 8 call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %119), !noalias !363 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %.sroa.4138.0..sroa_idx.i, ptr noundef nonnull align 8 dereferenceable(48) %.sroa.340.0..sroa_idx.i, i64 48, i1 false), !noalias !363 - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %.sroa.497.i.sroa.9) store i64 %635, ptr %119, align 8, !noalias !363 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %107), !noalias !424 invoke void @_ZN3std4path4Path11to_path_buf17hd41f9a49e6cf8abbE(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %107, ptr noalias noundef nonnull readonly align 1 %643, i64 noundef %642) @@ -3998,7 +3995,6 @@ select.unfold.us.i: ; preds = %.split.us.preheader %.sroa.497.i.sroa.8.24..sroa_idx = getelementptr inbounds nuw i8, ptr %119, i64 4 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %.sroa.22, ptr noundef nonnull align 4 dereferenceable(20) %.sroa.497.i.sroa.8.24..sroa_idx, i64 20, i1 false), !noalias !405 %653 = getelementptr inbounds nuw i8, ptr %139, i64 24 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.497.i.sroa.9, ptr noundef nonnull align 8 dereferenceable(32) %653, i64 32, i1 false) %.sroa.497.i.sroa.0.0.copyload = load i64, ptr %107, align 8, !noalias !431 %.sroa.497.i.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %107, i64 8 %.sroa.497.i.sroa.4.0.copyload = load ptr, ptr %.sroa.497.i.sroa.4.0..sroa_idx, align 8, !noalias !431 @@ -4007,8 +4003,7 @@ select.unfold.us.i: ; preds = %.split.us.preheader call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %107), !noalias !424 call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %119), !noalias !363 %.sroa.22.56..sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.22, i64 20 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(40) %.sroa.22.56..sroa_idx, ptr noundef nonnull align 8 dereferenceable(40) %.sroa.497.i.sroa.9, i64 40, i1 false), !noalias !405 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %.sroa.497.i.sroa.9) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %.sroa.22.56..sroa_idx, ptr noundef nonnull align 8 dereferenceable(32) %653, i64 32, i1 false) br label %820 654: ; preds = %757, %729, %.loopexit.split-lp166.i, %.loopexit165.i @@ -5763,7 +5758,6 @@ _ZN3std4path4Path4join17hefc6bd0f95adc4cbE.exit: ; preds = %"_ZN4core3ptr50drop %.sroa.4138.0..sroa_idx.i767 = getelementptr inbounds nuw i8, ptr %63, i64 8 call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %63), !noalias !619 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %.sroa.4138.0..sroa_idx.i767, ptr noundef nonnull align 8 dereferenceable(48) %.sroa.340.0..sroa_idx.i736, i64 48, i1 false), !noalias !619 - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %.sroa.4357.i.sroa.9) store i64 %1101, ptr %63, align 8, !noalias !619 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %51), !noalias !678 invoke void @_ZN3std4path4Path11to_path_buf17hd41f9a49e6cf8abbE(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %51, ptr noalias noundef nonnull readonly align 1 %1109, i64 noundef %1108) @@ -5794,7 +5788,6 @@ _ZN3std4path4Path4join17hefc6bd0f95adc4cbE.exit: ; preds = %"_ZN4core3ptr50drop %.sroa.4357.i.sroa.8.24..sroa_idx = getelementptr inbounds nuw i8, ptr %63, i64 4 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %.sroa.221028, ptr noundef nonnull align 4 dereferenceable(20) %.sroa.4357.i.sroa.8.24..sroa_idx, i64 20, i1 false), !noalias !660 %1119 = getelementptr inbounds nuw i8, ptr %83, i64 24 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.4357.i.sroa.9, ptr noundef nonnull align 8 dereferenceable(32) %1119, i64 32, i1 false) %.sroa.4357.i.sroa.0.0.copyload = load i64, ptr %51, align 8, !noalias !685 %.sroa.4357.i.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %51, i64 8 %.sroa.4357.i.sroa.4.0.copyload = load ptr, ptr %.sroa.4357.i.sroa.4.0..sroa_idx, align 8, !noalias !685 @@ -5803,8 +5796,7 @@ _ZN3std4path4Path4join17hefc6bd0f95adc4cbE.exit: ; preds = %"_ZN4core3ptr50drop call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %51), !noalias !678 call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %63), !noalias !619 %.sroa.221028.56..sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.221028, i64 20 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(40) %.sroa.221028.56..sroa_idx, ptr noundef nonnull align 8 dereferenceable(40) %.sroa.4357.i.sroa.9, i64 40, i1 false), !noalias !660 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %.sroa.4357.i.sroa.9) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %.sroa.221028.56..sroa_idx, ptr noundef nonnull align 8 dereferenceable(32) %1119, i64 32, i1 false) br label %1300 1120: ; preds = %1223, %1195, %.loopexit.split-lp426.i, %.loopexit425.i @@ -8003,7 +7995,6 @@ define hidden void @_ZN16uv_build_backend5wheel11write_wheel17hd28b4437943ea5b0E %61 = alloca [64 x i8], align 8 %62 = alloca [64 x i8], align 8 %63 = alloca [56 x i8], align 8 - %.sroa.4353.i.sroa.9 = alloca [40 x i8], align 8 %64 = alloca [48 x i8], align 8 %65 = alloca [48 x i8], align 8 %66 = alloca [24 x i8], align 8 @@ -8064,7 +8055,6 @@ define hidden void @_ZN16uv_build_backend5wheel11write_wheel17hd28b4437943ea5b0E %119 = alloca [64 x i8], align 8 %120 = alloca [64 x i8], align 8 %121 = alloca [56 x i8], align 8 - %.sroa.494.i.sroa.9 = alloca [40 x i8], align 8 %122 = alloca [48 x i8], align 8 %123 = alloca [48 x i8], align 8 %124 = alloca [24 x i8], align 8 @@ -9638,7 +9628,6 @@ select.unfold.us.i: ; preds = %.split.us.preheader %.sroa.4138.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %121, i64 8 call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %121), !noalias !1235 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %.sroa.4138.0..sroa_idx.i, ptr noundef nonnull align 8 dereferenceable(48) %.sroa.340.0..sroa_idx.i, i64 48, i1 false), !noalias !1235 - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %.sroa.494.i.sroa.9) store i64 %651, ptr %121, align 8, !noalias !1235 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %109), !noalias !1294 invoke void @_ZN3std4path4Path11to_path_buf17hd41f9a49e6cf8abbE(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %109, ptr noalias noundef nonnull readonly align 1 %659, i64 noundef %658) @@ -9669,7 +9658,6 @@ select.unfold.us.i: ; preds = %.split.us.preheader %.sroa.494.i.sroa.8.24..sroa_idx = getelementptr inbounds nuw i8, ptr %121, i64 4 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %.sroa.26, ptr noundef nonnull align 4 dereferenceable(20) %.sroa.494.i.sroa.8.24..sroa_idx, i64 20, i1 false), !noalias !1276 %669 = getelementptr inbounds nuw i8, ptr %142, i64 24 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.494.i.sroa.9, ptr noundef nonnull align 8 dereferenceable(32) %669, i64 32, i1 false) %.sroa.494.i.sroa.0.0.copyload = load i64, ptr %109, align 8, !noalias !1301 %.sroa.494.i.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %109, i64 8 %.sroa.494.i.sroa.4.0.copyload = load ptr, ptr %.sroa.494.i.sroa.4.0..sroa_idx, align 8, !noalias !1301 @@ -9678,8 +9666,7 @@ select.unfold.us.i: ; preds = %.split.us.preheader call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %109), !noalias !1294 call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %121), !noalias !1235 %.sroa.26.56..sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.26, i64 20 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(40) %.sroa.26.56..sroa_idx, ptr noundef nonnull align 8 dereferenceable(40) %.sroa.494.i.sroa.9, i64 40, i1 false), !noalias !1276 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %.sroa.494.i.sroa.9) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %.sroa.26.56..sroa_idx, ptr noundef nonnull align 8 dereferenceable(32) %669, i64 32, i1 false) br label %844 670: ; preds = %773, %745, %.loopexit.split-lp167.i, %.loopexit166.i @@ -11540,7 +11527,6 @@ _ZN3std4path4Path4join17hefc6bd0f95adc4cbE.exit: ; preds = %"_ZN4core3ptr50drop %.sroa.4138.0..sroa_idx.i769 = getelementptr inbounds nuw i8, ptr %63, i64 8 call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %63), !noalias !1489 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %.sroa.4138.0..sroa_idx.i769, ptr noundef nonnull align 8 dereferenceable(48) %.sroa.340.0..sroa_idx.i738, i64 48, i1 false), !noalias !1489 - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %.sroa.4353.i.sroa.9) store i64 %1144, ptr %63, align 8, !noalias !1489 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %51), !noalias !1548 invoke void @_ZN3std4path4Path11to_path_buf17hd41f9a49e6cf8abbE(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %51, ptr noalias noundef nonnull readonly align 1 %1152, i64 noundef %1151) @@ -11571,7 +11557,6 @@ _ZN3std4path4Path4join17hefc6bd0f95adc4cbE.exit: ; preds = %"_ZN4core3ptr50drop %.sroa.4353.i.sroa.8.24..sroa_idx = getelementptr inbounds nuw i8, ptr %63, i64 4 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %.sroa.261045, ptr noundef nonnull align 4 dereferenceable(20) %.sroa.4353.i.sroa.8.24..sroa_idx, i64 20, i1 false), !noalias !1530 %1162 = getelementptr inbounds nuw i8, ptr %84, i64 24 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.4353.i.sroa.9, ptr noundef nonnull align 8 dereferenceable(32) %1162, i64 32, i1 false) %.sroa.4353.i.sroa.0.0.copyload = load i64, ptr %51, align 8, !noalias !1555 %.sroa.4353.i.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %51, i64 8 %.sroa.4353.i.sroa.4.0.copyload = load ptr, ptr %.sroa.4353.i.sroa.4.0..sroa_idx, align 8, !noalias !1555 @@ -11580,8 +11565,7 @@ _ZN3std4path4Path4join17hefc6bd0f95adc4cbE.exit: ; preds = %"_ZN4core3ptr50drop call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %51), !noalias !1548 call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %63), !noalias !1489 %.sroa.261045.56..sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.261045, i64 20 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(40) %.sroa.261045.56..sroa_idx, ptr noundef nonnull align 8 dereferenceable(40) %.sroa.4353.i.sroa.9, i64 40, i1 false), !noalias !1530 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %.sroa.4353.i.sroa.9) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %.sroa.261045.56..sroa_idx, ptr noundef nonnull align 8 dereferenceable(32) %1162, i64 32, i1 false) br label %1351 1163: ; preds = %1266, %1238, %.loopexit.split-lp426.i, %.loopexit425.i diff --git a/bench/wasmtime-rs/optimized/47hgs4eifsow3k34.ll b/bench/wasmtime-rs/optimized/47hgs4eifsow3k34.ll index 0003ebdd230..3b5f7d4fa18 100644 --- a/bench/wasmtime-rs/optimized/47hgs4eifsow3k34.ll +++ b/bench/wasmtime-rs/optimized/47hgs4eifsow3k34.ll @@ -4996,7 +4996,7 @@ define noundef nonnull ptr @_ZN16wasmtime_runtime9component22OwnedComponentInsta %47 = getelementptr inbounds nuw i8, ptr %31, i64 144 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(72) %31, ptr noundef nonnull align 4 dereferenceable(72) %11, i64 72, i1 false) %.sroa.06.i.sroa.4.0...sroa_idx = getelementptr inbounds nuw i8, ptr %31, i64 72 - store i32 %28, ptr %.sroa.06.i.sroa.4.0...sroa_idx, align 8, !noalias !838 + store i32 %28, ptr %.sroa.06.i.sroa.4.0...sroa_idx, align 8, !noalias !843 %.sroa.47.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %31, i64 80 store ptr %47, ptr %.sroa.47.0..sroa_idx.i, align 16, !noalias !838 %.sroa.5.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %31, i64 88 @@ -5009,39 +5009,39 @@ define noundef nonnull ptr @_ZN16wasmtime_runtime9component22OwnedComponentInsta store ptr %2, ptr %.sroa.8.0..sroa_idx.i, align 16, !noalias !838 %.sroa.9.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %31, i64 136 store ptr %3, ptr %.sroa.9.0..sroa_idx.i, align 8, !noalias !838 - call void @llvm.experimental.noalias.scope.decl(metadata !843) + call void @llvm.experimental.noalias.scope.decl(metadata !844) %48 = getelementptr inbounds nuw i8, ptr %31, i64 28 - %49 = load i32, ptr %48, align 4, !noalias !846, !noundef !4 + %49 = load i32, ptr %48, align 4, !noalias !847, !noundef !4 %50 = ptrtoint ptr %47 to i64 %51 = zext i32 %49 to i64 %52 = getelementptr inbounds nuw i8, ptr %47, i64 %51 - store i32 1886220131, ptr %52, align 4, !noalias !846 + store i32 1886220131, ptr %52, align 4, !noalias !847 %53 = getelementptr inbounds nuw i8, ptr %31, i64 32 - %54 = load i32, ptr %53, align 16, !noalias !846, !noundef !4 + %54 = load i32, ptr %53, align 16, !noalias !847, !noundef !4 %55 = zext i32 %54 to i64 %56 = getelementptr inbounds nuw i8, ptr %47, i64 %55 - store ptr @anon.809a01dc7ad5777871db8cb9b6424a4f.150, ptr %56, align 8, !noalias !846 + store ptr @anon.809a01dc7ad5777871db8cb9b6424a4f.150, ptr %56, align 8, !noalias !847 %57 = getelementptr inbounds nuw i8, ptr %31, i64 36 - %58 = load i32, ptr %57, align 4, !noalias !846, !noundef !4 + %58 = load i32, ptr %57, align 4, !noalias !847, !noundef !4 %59 = zext i32 %58 to i64 %60 = getelementptr inbounds nuw i8, ptr %47, i64 %59 - store ptr %4, ptr %60, align 8, !noalias !846 + store ptr %4, ptr %60, align 8, !noalias !847 %61 = getelementptr inbounds nuw i8, ptr %60, i64 8 - store ptr %5, ptr %61, align 8, !noalias !846 + store ptr %5, ptr %61, align 8, !noalias !847 %62 = getelementptr inbounds nuw i8, ptr %5, i64 24 - %63 = load ptr, ptr %62, align 8, !invariant.load !4, !alias.scope !847, !noalias !848, !nonnull !4 + %63 = load ptr, ptr %62, align 8, !invariant.load !4, !alias.scope !848, !noalias !849, !nonnull !4 %64 = call noundef ptr %63(ptr noundef align 1 %4) %65 = getelementptr inbounds nuw i8, ptr %31, i64 40 - %66 = load i32, ptr %65, align 8, !noalias !846, !noundef !4 - %67 = load ptr, ptr %.sroa.47.0..sroa_idx.i, align 16, !alias.scope !849, !noalias !846, !nonnull !4, !noundef !4 + %66 = load i32, ptr %65, align 8, !noalias !847, !noundef !4 + %67 = load ptr, ptr %.sroa.47.0..sroa_idx.i, align 16, !alias.scope !850, !noalias !847, !nonnull !4, !noundef !4 %68 = ptrtoint ptr %67 to i64 %69 = sub i64 %50, %68 %70 = getelementptr i8, ptr %67, i64 %69 %71 = zext i32 %66 to i64 %72 = getelementptr inbounds nuw i8, ptr %70, i64 %71 - store ptr %64, ptr %72, align 8, !noalias !852 + store ptr %64, ptr %72, align 8, !noalias !853 %73 = getelementptr inbounds nuw i8, ptr %31, i64 16 - %74 = load i32, ptr %73, align 16, !noalias !846, !noundef !4 + %74 = load i32, ptr %73, align 16, !noalias !847, !noundef !4 %.not.i.i = icmp eq i32 %74, 0 br i1 %.not.i.i, label %.loopexit, label %.lr.ph.i.i @@ -5051,7 +5051,7 @@ define noundef nonnull ptr @_ZN16wasmtime_runtime9component22OwnedComponentInsta 76: ; preds = %_ZN16wasmtime_runtime9component17ComponentInstance14instance_flags17h70614a7d14fd55edE.exit.i.i, %.lr.ph.i.i %.sroa.01.09.i.i = phi i32 [ 0, %.lr.ph.i.i ], [ %79, %_ZN16wasmtime_runtime9component17ComponentInstance14instance_flags17h70614a7d14fd55edE.exit.i.i ] - %77 = load i32, ptr %73, align 16, !alias.scope !853, !noalias !846, !noundef !4 + %77 = load i32, ptr %73, align 16, !alias.scope !854, !noalias !847, !noundef !4 %78 = icmp ult i32 %.sroa.01.09.i.i, %77 br i1 %78, label %_ZN16wasmtime_runtime9component17ComponentInstance14instance_flags17h70614a7d14fd55edE.exit.i.i, label %.noexc31.i @@ -5061,16 +5061,16 @@ define noundef nonnull ptr @_ZN16wasmtime_runtime9component22OwnedComponentInsta _ZN16wasmtime_runtime9component17ComponentInstance14instance_flags17h70614a7d14fd55edE.exit.i.i: ; preds = %76 %79 = add nuw i32 %.sroa.01.09.i.i, 1 - %80 = load ptr, ptr %.sroa.47.0..sroa_idx.i, align 16, !alias.scope !856, !noalias !846, !nonnull !4, !noundef !4 + %80 = load ptr, ptr %.sroa.47.0..sroa_idx.i, align 16, !alias.scope !857, !noalias !847, !nonnull !4, !noundef !4 %81 = ptrtoint ptr %80 to i64 %82 = sub i64 %50, %81 %83 = getelementptr i8, ptr %80, i64 %82 - %84 = load i32, ptr %75, align 4, !alias.scope !853, !noalias !846, !noundef !4 + %84 = load i32, ptr %75, align 4, !alias.scope !854, !noalias !847, !noundef !4 %85 = shl i32 %.sroa.01.09.i.i, 4 %86 = add i32 %84, %85 %87 = zext i32 %86 to i64 %88 = getelementptr inbounds nuw i8, ptr %83, i64 %87 - store <4 x i32> , ptr %88, align 16, !noalias !852 + store <4 x i32> , ptr %88, align 16, !noalias !853 %exitcond.not.i.i = icmp eq i32 %79, %74 br i1 %exitcond.not.i.i, label %.loopexit, label %76 @@ -5078,39 +5078,39 @@ _ZN16wasmtime_runtime9component17ComponentInstance14instance_flags17h70614a7d14f %90 = phi i64 [ 0, %.lr.ph.i ], [ %104, %99 ] %.sroa.02.061.i = phi i64 [ 0, %.lr.ph.i ], [ %91, %99 ] %91 = add nuw i64 %.sroa.02.061.i, 1 - call void @llvm.experimental.noalias.scope.decl(metadata !861) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7), !noalias !864 - store i64 0, ptr %7, align 8, !noalias !866 - store ptr inttoptr (i64 8 to ptr), ptr %.sroa.5.0..sroa_idx35.i, align 8, !noalias !866 - store i64 0, ptr %.sroa.6.0..sroa_idx.i, align 8, !noalias !866 - store i32 0, ptr %.sroa.740.0..sroa_idx.i, align 8, !noalias !866 - %92 = load i64, ptr %8, align 8, !alias.scope !867, !noalias !870, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !862) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7), !noalias !865 + store i64 0, ptr %7, align 8, !noalias !867 + store ptr inttoptr (i64 8 to ptr), ptr %.sroa.5.0..sroa_idx35.i, align 8, !noalias !867 + store i64 0, ptr %.sroa.6.0..sroa_idx.i, align 8, !noalias !867 + store i32 0, ptr %.sroa.740.0..sroa_idx.i, align 8, !noalias !867 + %92 = load i64, ptr %8, align 8, !alias.scope !868, !noalias !871, !noundef !4 %93 = icmp eq i64 %90, %92 br i1 %93, label %94, label %99 94: ; preds = %89 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h479e8c472b68ee56E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %90) - to label %._crit_edge.i.i.i unwind label %95, !noalias !872 + to label %._crit_edge.i.i.i unwind label %95, !noalias !873 ._crit_edge.i.i.i: ; preds = %94 - %.pre.i.i.i = load i64, ptr %.sroa.516.0..sroa_idx.i, align 8, !alias.scope !867, !noalias !870 + %.pre.i.i.i = load i64, ptr %.sroa.516.0..sroa_idx.i, align 8, !alias.scope !868, !noalias !871 br label %99 95: ; preds = %94 %96 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr74drop_in_place$LT$wasmtime_runtime..component..resources..ResourceTable$GT$17h32b4d24322928f14E"(ptr noalias noundef nonnull align 8 dereferenceable(32) %7) #21 - to label %.body.thread.i unwind label %97, !noalias !873 + to label %.body.thread.i unwind label %97, !noalias !874 97: ; preds = %95 %98 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17hbacfddf1bcf21a1eE() #22, !noalias !873 + call void @_ZN4core9panicking16panic_in_cleanup17hbacfddf1bcf21a1eE() #22, !noalias !874 unreachable 99: ; preds = %._crit_edge.i.i.i, %89 %100 = phi i64 [ %.pre.i.i.i, %._crit_edge.i.i.i ], [ %90, %89 ] - %101 = load ptr, ptr %.sroa.415.0..sroa_idx.i, align 8, !alias.scope !867, !noalias !870, !nonnull !4, !noundef !4 + %101 = load ptr, ptr %.sroa.415.0..sroa_idx.i, align 8, !alias.scope !868, !noalias !871, !nonnull !4, !noundef !4 %102 = getelementptr inbounds { { { i64, ptr, {} }, i64 }, i32, [1 x i32] }, ptr %101, i64 %100 store i64 0, ptr %102, align 8, !noalias !842 %.sroa.5.0..sroa_idx36.i = getelementptr inbounds nuw i8, ptr %102, i64 8 @@ -5119,10 +5119,10 @@ _ZN16wasmtime_runtime9component17ComponentInstance14instance_flags17h70614a7d14f store i64 0, ptr %.sroa.6.0..sroa_idx38.i, align 8, !noalias !842 %.sroa.740.0..sroa_idx41.i = getelementptr inbounds nuw i8, ptr %102, i64 24 store i32 0, ptr %.sroa.740.0..sroa_idx41.i, align 8, !noalias !842 - %103 = load i64, ptr %.sroa.516.0..sroa_idx.i, align 8, !alias.scope !867, !noalias !870, !noundef !4 + %103 = load i64, ptr %.sroa.516.0..sroa_idx.i, align 8, !alias.scope !868, !noalias !871, !noundef !4 %104 = add i64 %103, 1 - store i64 %104, ptr %.sroa.516.0..sroa_idx.i, align 8, !alias.scope !867, !noalias !870 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7), !noalias !864 + store i64 %104, ptr %.sroa.516.0..sroa_idx.i, align 8, !alias.scope !868, !noalias !871 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7), !noalias !865 %exitcond.not.i = icmp eq i64 %91, %42 br i1 %exitcond.not.i, label %.noexc.i, label %89 @@ -5138,7 +5138,7 @@ _ZN16wasmtime_runtime9component17ComponentInstance14instance_flags17h70614a7d14f 107: ; preds = %.body.thread.i, %34 %.pn.ph.i = phi { ptr, i32 } [ %35, %34 ], [ %96, %.body.thread.i ] - %108 = atomicrmw sub ptr %2, i64 1 release, align 8, !noalias !874 + %108 = atomicrmw sub ptr %2, i64 1 release, align 8, !noalias !875 %109 = icmp eq i64 %108, 1 br i1 %109, label %110, label %.thread57.i @@ -5148,10 +5148,10 @@ _ZN16wasmtime_runtime9component17ComponentInstance14instance_flags17h70614a7d14f to label %.thread57.i unwind label %105, !noalias !842 .thread57.i: ; preds = %110, %107 - call void @llvm.experimental.noalias.scope.decl(metadata !879) - call void @llvm.experimental.noalias.scope.decl(metadata !882) - %111 = load ptr, ptr %10, align 8, !alias.scope !885, !noalias !838, !nonnull !4, !noundef !4 - %112 = atomicrmw sub ptr %111, i64 1 release, align 8, !noalias !886 + call void @llvm.experimental.noalias.scope.decl(metadata !880) + call void @llvm.experimental.noalias.scope.decl(metadata !883) + %111 = load ptr, ptr %10, align 8, !alias.scope !886, !noalias !838, !nonnull !4, !noundef !4 + %112 = atomicrmw sub ptr %111, i64 1 release, align 8, !noalias !887 %113 = icmp eq i64 %112, 1 br i1 %113, label %114, label %.critedge @@ -5173,7 +5173,7 @@ _ZN16wasmtime_runtime9component17ComponentInstance14instance_flags17h70614a7d14f 116: ; preds = %33, %25, %6 %lpad.thr_comm = landingpad { ptr, i32 } cleanup - %117 = atomicrmw sub ptr %2, i64 1 release, align 8, !noalias !887 + %117 = atomicrmw sub ptr %2, i64 1 release, align 8, !noalias !888 %118 = icmp eq i64 %117, 1 br i1 %118, label %119, label %.noexc15 @@ -5193,10 +5193,10 @@ _ZN16wasmtime_runtime9component17ComponentInstance14instance_flags17h70614a7d14f resume { ptr, i32 } %eh.lpad-body20 .noexc15: ; preds = %119, %116 - call void @llvm.experimental.noalias.scope.decl(metadata !892) - call void @llvm.experimental.noalias.scope.decl(metadata !895) - %122 = load ptr, ptr %13, align 8, !alias.scope !898, !nonnull !4, !noundef !4 - %123 = atomicrmw sub ptr %122, i64 1 release, align 8, !noalias !898 + call void @llvm.experimental.noalias.scope.decl(metadata !893) + call void @llvm.experimental.noalias.scope.decl(metadata !896) + %122 = load ptr, ptr %13, align 8, !alias.scope !899, !nonnull !4, !noundef !4 + %123 = atomicrmw sub ptr %122, i64 1 release, align 8, !noalias !899 %124 = icmp eq i64 %123, 1 br i1 %124, label %125, label %.critedge @@ -5231,7 +5231,7 @@ _ZN16wasmtime_runtime9component17ComponentInstance18set_runtime_memory17h0e5dd82 %11 = add i32 %9, %10 %12 = getelementptr inbounds nuw i8, ptr %.val, i64 144 %13 = getelementptr inbounds nuw i8, ptr %.val, i64 80 - %14 = load ptr, ptr %13, align 16, !alias.scope !899, !nonnull !4, !noundef !4 + %14 = load ptr, ptr %13, align 16, !alias.scope !900, !nonnull !4, !noundef !4 %15 = ptrtoint ptr %12 to i64 %16 = ptrtoint ptr %14 to i64 %17 = sub i64 %15, %16 @@ -5261,7 +5261,7 @@ _ZN16wasmtime_runtime9component17ComponentInstance19set_runtime_realloc17hc60c51 %11 = add i32 %9, %10 %12 = getelementptr inbounds nuw i8, ptr %.val, i64 144 %13 = getelementptr inbounds nuw i8, ptr %.val, i64 80 - %14 = load ptr, ptr %13, align 16, !alias.scope !902, !nonnull !4, !noundef !4 + %14 = load ptr, ptr %13, align 16, !alias.scope !903, !nonnull !4, !noundef !4 %15 = ptrtoint ptr %12 to i64 %16 = ptrtoint ptr %14 to i64 %17 = sub i64 %15, %16 @@ -5291,7 +5291,7 @@ _ZN16wasmtime_runtime9component17ComponentInstance23set_runtime_post_return17h2a %11 = add i32 %9, %10 %12 = getelementptr inbounds nuw i8, ptr %.val, i64 144 %13 = getelementptr inbounds nuw i8, ptr %.val, i64 80 - %14 = load ptr, ptr %13, align 16, !alias.scope !905, !nonnull !4, !noundef !4 + %14 = load ptr, ptr %13, align 16, !alias.scope !906, !nonnull !4, !noundef !4 %15 = ptrtoint ptr %12 to i64 %16 = ptrtoint ptr %14 to i64 %17 = sub i64 %15, %16 @@ -5320,7 +5320,7 @@ _ZN16wasmtime_runtime9component17ComponentInstance12set_lowering17h9c0c250961f0b %9 = add i32 %.val1.i, %8 %10 = getelementptr inbounds nuw i8, ptr %.val, i64 144 %11 = getelementptr inbounds nuw i8, ptr %.val, i64 80 - %12 = load ptr, ptr %11, align 16, !alias.scope !908, !nonnull !4, !noundef !4 + %12 = load ptr, ptr %11, align 16, !alias.scope !909, !nonnull !4, !noundef !4 %13 = ptrtoint ptr %10 to i64 %14 = ptrtoint ptr %12 to i64 %15 = sub i64 %13, %14 @@ -5352,7 +5352,7 @@ _ZN16wasmtime_runtime9component17ComponentInstance14set_trampoline17h2130028f3ee %14 = add i32 %12, %13 %15 = getelementptr inbounds nuw i8, ptr %.val, i64 144 %16 = getelementptr inbounds nuw i8, ptr %.val, i64 80 - %17 = load ptr, ptr %16, align 16, !alias.scope !911, !nonnull !4, !noundef !4 + %17 = load ptr, ptr %16, align 16, !alias.scope !912, !nonnull !4, !noundef !4 %18 = ptrtoint ptr %15 to i64 %19 = ptrtoint ptr %17 to i64 %20 = sub i64 %18, %19 @@ -5390,7 +5390,7 @@ _ZN16wasmtime_runtime9component17ComponentInstance23set_resource_destructor17hac %11 = add i32 %9, %10 %12 = getelementptr inbounds nuw i8, ptr %.val, i64 144 %13 = getelementptr inbounds nuw i8, ptr %.val, i64 80 - %14 = load ptr, ptr %13, align 16, !alias.scope !914, !nonnull !4, !noundef !4 + %14 = load ptr, ptr %13, align 16, !alias.scope !915, !nonnull !4, !noundef !4 %15 = ptrtoint ptr %12 to i64 %16 = ptrtoint ptr %14 to i64 %17 = sub i64 %15, %16 @@ -5426,7 +5426,7 @@ define noundef ptr @_ZN16wasmtime_runtime9vmcontext20vm_host_func_context26VMArr %7 = getelementptr inbounds nuw i8, ptr %4, i64 56 store ptr %2, ptr %7, align 8 %8 = invoke { ptr, i64 } @_ZN5alloc5alloc6Global10alloc_impl17hb4f01ccf52c1821cE.llvm.10220905185939527020(ptr noalias noundef nonnull readonly align 1 @anon.f3b90557b61ab883507bc0abd2bbf363.52.llvm.10220905185939527020, i64 noundef 8, i64 noundef 64, i1 noundef zeroext false) - to label %.noexc.i unwind label %12, !noalias !917 + to label %.noexc.i unwind label %12, !noalias !918 .noexc.i: ; preds = %3 %9 = extractvalue { ptr, i64 } %8, 0 @@ -5435,7 +5435,7 @@ define noundef ptr @_ZN16wasmtime_runtime9vmcontext20vm_host_func_context26VMArr 11: ; preds = %.noexc.i invoke void @_ZN5alloc5alloc18handle_alloc_error17h426354a964e0805cE(i64 noundef 8, i64 noundef 64) #20 - to label %.noexc3.i unwind label %12, !noalias !917 + to label %.noexc3.i unwind label %12, !noalias !918 .noexc3.i: ; preds = %11 unreachable @@ -5475,7 +5475,7 @@ define noundef ptr @_ZN16wasmtime_runtime9vmcontext20vm_host_func_context27VMNat %7 = getelementptr inbounds nuw i8, ptr %4, i64 56 store ptr %2, ptr %7, align 8 %8 = invoke { ptr, i64 } @_ZN5alloc5alloc6Global10alloc_impl17hb4f01ccf52c1821cE.llvm.10220905185939527020(ptr noalias noundef nonnull readonly align 1 @anon.f3b90557b61ab883507bc0abd2bbf363.52.llvm.10220905185939527020, i64 noundef 8, i64 noundef 64, i1 noundef zeroext false) - to label %.noexc.i unwind label %12, !noalias !920 + to label %.noexc.i unwind label %12, !noalias !921 .noexc.i: ; preds = %3 %9 = extractvalue { ptr, i64 } %8, 0 @@ -5484,7 +5484,7 @@ define noundef ptr @_ZN16wasmtime_runtime9vmcontext20vm_host_func_context27VMNat 11: ; preds = %.noexc.i invoke void @_ZN5alloc5alloc18handle_alloc_error17h426354a964e0805cE(i64 noundef 8, i64 noundef 64) #20 - to label %.noexc3.i unwind label %12, !noalias !920 + to label %.noexc3.i unwind label %12, !noalias !921 .noexc3.i: ; preds = %11 unreachable @@ -6623,83 +6623,84 @@ attributes #23 = { nounwind } !840 = distinct !{!840, !837, !"_ZN16wasmtime_runtime9component17ComponentInstance6new_at17hd369a7c7d8a7ecb4E: argument 1"} !841 = distinct !{!841, !837, !"_ZN16wasmtime_runtime9component17ComponentInstance6new_at17hd369a7c7d8a7ecb4E: argument 2"} !842 = !{!839, !836} -!843 = !{!844} -!844 = distinct !{!844, !845, !"_ZN16wasmtime_runtime9component17ComponentInstance16initialize_vmctx17h28da22304298e588E: argument 0"} -!845 = distinct !{!845, !"_ZN16wasmtime_runtime9component17ComponentInstance16initialize_vmctx17h28da22304298e588E"} -!846 = !{!844, !839, !840, !841, !836} -!847 = !{!844, !836} -!848 = !{!839, !840, !841} -!849 = !{!850} -!850 = distinct !{!850, !851, !"_ZN16wasmtime_runtime9component17ComponentInstance5vmctx17h0723d77c01ced6e9E: argument 0"} -!851 = distinct !{!851, !"_ZN16wasmtime_runtime9component17ComponentInstance5vmctx17h0723d77c01ced6e9E"} -!852 = !{!839} -!853 = !{!854} -!854 = distinct !{!854, !855, !"_ZN16wasmtime_runtime9component17ComponentInstance14instance_flags17h70614a7d14fd55edE: argument 0"} -!855 = distinct !{!855, !"_ZN16wasmtime_runtime9component17ComponentInstance14instance_flags17h70614a7d14fd55edE"} -!856 = !{!857, !859, !854} -!857 = distinct !{!857, !858, !"_ZN16wasmtime_runtime9component17ComponentInstance5vmctx17h0723d77c01ced6e9E: argument 0"} -!858 = distinct !{!858, !"_ZN16wasmtime_runtime9component17ComponentInstance5vmctx17h0723d77c01ced6e9E"} -!859 = distinct !{!859, !860, !"_ZN16wasmtime_runtime9component17ComponentInstance17vmctx_plus_offset17h223ba71fbff5907aE: argument 0"} -!860 = distinct !{!860, !"_ZN16wasmtime_runtime9component17ComponentInstance17vmctx_plus_offset17h223ba71fbff5907aE"} -!861 = !{!862} -!862 = distinct !{!862, !863, !"_ZN16cranelift_entity7primary23PrimaryMap$LT$K$C$V$GT$4push17h426ae7bb604cdebeE: argument 0"} -!863 = distinct !{!863, !"_ZN16cranelift_entity7primary23PrimaryMap$LT$K$C$V$GT$4push17h426ae7bb604cdebeE"} -!864 = !{!862, !865, !839, !840, !841, !836} -!865 = distinct !{!865, !863, !"_ZN16cranelift_entity7primary23PrimaryMap$LT$K$C$V$GT$4push17h426ae7bb604cdebeE: argument 1"} -!866 = !{!862, !839, !840, !841, !836} -!867 = !{!868, !862} -!868 = distinct !{!868, !869, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha125c55ce8b93624E.llvm.7073302902749960574: argument 0"} -!869 = distinct !{!869, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha125c55ce8b93624E.llvm.7073302902749960574"} -!870 = !{!871, !865, !839, !840, !841, !836} -!871 = distinct !{!871, !869, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha125c55ce8b93624E.llvm.7073302902749960574: argument 1"} -!872 = !{!871, !865, !839, !836} -!873 = !{!865, !839, !836} -!874 = !{!875, !877, !839, !840, !841, !836} -!875 = distinct !{!875, !876, !"_ZN71_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h187ad05d5f1637fcE: argument 0"} -!876 = distinct !{!876, !"_ZN71_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h187ad05d5f1637fcE"} -!877 = distinct !{!877, !878, !"_ZN4core3ptr113drop_in_place$LT$alloc..sync..Arc$LT$dyn$u20$core..any..Any$u2b$core..marker..Send$u2b$core..marker..Sync$GT$$GT$17heff72071ba9a5a1bE: argument 0"} -!878 = distinct !{!878, !"_ZN4core3ptr113drop_in_place$LT$alloc..sync..Arc$LT$dyn$u20$core..any..Any$u2b$core..marker..Send$u2b$core..marker..Sync$GT$$GT$17heff72071ba9a5a1bE"} -!879 = !{!880} -!880 = distinct !{!880, !881, !"_ZN4core3ptr102drop_in_place$LT$alloc..sync..Arc$LT$dyn$u20$wasmtime_runtime..component..ComponentRuntimeInfo$GT$$GT$17h39b52c843a431690E: argument 0"} -!881 = distinct !{!881, !"_ZN4core3ptr102drop_in_place$LT$alloc..sync..Arc$LT$dyn$u20$wasmtime_runtime..component..ComponentRuntimeInfo$GT$$GT$17h39b52c843a431690E"} -!882 = !{!883} -!883 = distinct !{!883, !884, !"_ZN71_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hae9682f64928be4aE: argument 0"} -!884 = distinct !{!884, !"_ZN71_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hae9682f64928be4aE"} -!885 = !{!883, !880} -!886 = !{!883, !880, !839, !836} -!887 = !{!888, !890} -!888 = distinct !{!888, !889, !"_ZN71_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h187ad05d5f1637fcE: argument 0"} -!889 = distinct !{!889, !"_ZN71_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h187ad05d5f1637fcE"} -!890 = distinct !{!890, !891, !"_ZN4core3ptr113drop_in_place$LT$alloc..sync..Arc$LT$dyn$u20$core..any..Any$u2b$core..marker..Send$u2b$core..marker..Sync$GT$$GT$17heff72071ba9a5a1bE: argument 0"} -!891 = distinct !{!891, !"_ZN4core3ptr113drop_in_place$LT$alloc..sync..Arc$LT$dyn$u20$core..any..Any$u2b$core..marker..Send$u2b$core..marker..Sync$GT$$GT$17heff72071ba9a5a1bE"} -!892 = !{!893} -!893 = distinct !{!893, !894, !"_ZN4core3ptr102drop_in_place$LT$alloc..sync..Arc$LT$dyn$u20$wasmtime_runtime..component..ComponentRuntimeInfo$GT$$GT$17h39b52c843a431690E: argument 0"} -!894 = distinct !{!894, !"_ZN4core3ptr102drop_in_place$LT$alloc..sync..Arc$LT$dyn$u20$wasmtime_runtime..component..ComponentRuntimeInfo$GT$$GT$17h39b52c843a431690E"} -!895 = !{!896} -!896 = distinct !{!896, !897, !"_ZN71_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hae9682f64928be4aE: argument 0"} -!897 = distinct !{!897, !"_ZN71_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hae9682f64928be4aE"} -!898 = !{!896, !893} -!899 = !{!900} -!900 = distinct !{!900, !901, !"_ZN16wasmtime_runtime9component17ComponentInstance5vmctx17h0723d77c01ced6e9E: argument 0"} -!901 = distinct !{!901, !"_ZN16wasmtime_runtime9component17ComponentInstance5vmctx17h0723d77c01ced6e9E"} -!902 = !{!903} -!903 = distinct !{!903, !904, !"_ZN16wasmtime_runtime9component17ComponentInstance5vmctx17h0723d77c01ced6e9E: argument 0"} -!904 = distinct !{!904, !"_ZN16wasmtime_runtime9component17ComponentInstance5vmctx17h0723d77c01ced6e9E"} -!905 = !{!906} -!906 = distinct !{!906, !907, !"_ZN16wasmtime_runtime9component17ComponentInstance5vmctx17h0723d77c01ced6e9E: argument 0"} -!907 = distinct !{!907, !"_ZN16wasmtime_runtime9component17ComponentInstance5vmctx17h0723d77c01ced6e9E"} -!908 = !{!909} -!909 = distinct !{!909, !910, !"_ZN16wasmtime_runtime9component17ComponentInstance5vmctx17h0723d77c01ced6e9E: argument 0"} -!910 = distinct !{!910, !"_ZN16wasmtime_runtime9component17ComponentInstance5vmctx17h0723d77c01ced6e9E"} -!911 = !{!912} -!912 = distinct !{!912, !913, !"_ZN16wasmtime_runtime9component17ComponentInstance5vmctx17h0723d77c01ced6e9E: argument 0"} -!913 = distinct !{!913, !"_ZN16wasmtime_runtime9component17ComponentInstance5vmctx17h0723d77c01ced6e9E"} -!914 = !{!915} -!915 = distinct !{!915, !916, !"_ZN16wasmtime_runtime9component17ComponentInstance5vmctx17h0723d77c01ced6e9E: argument 0"} -!916 = distinct !{!916, !"_ZN16wasmtime_runtime9component17ComponentInstance5vmctx17h0723d77c01ced6e9E"} -!917 = !{!918} -!918 = distinct !{!918, !919, !"_ZN16wasmtime_runtime9store_box17StoreBox$LT$T$GT$3new17hb72701e2823befacE: argument 0"} -!919 = distinct !{!919, !"_ZN16wasmtime_runtime9store_box17StoreBox$LT$T$GT$3new17hb72701e2823befacE"} -!920 = !{!921} -!921 = distinct !{!921, !922, !"_ZN16wasmtime_runtime9store_box17StoreBox$LT$T$GT$3new17h7a70ff2e58e5e32cE: argument 0"} -!922 = distinct !{!922, !"_ZN16wasmtime_runtime9store_box17StoreBox$LT$T$GT$3new17h7a70ff2e58e5e32cE"} +!843 = !{!840, !841, !836} +!844 = !{!845} +!845 = distinct !{!845, !846, !"_ZN16wasmtime_runtime9component17ComponentInstance16initialize_vmctx17h28da22304298e588E: argument 0"} +!846 = distinct !{!846, !"_ZN16wasmtime_runtime9component17ComponentInstance16initialize_vmctx17h28da22304298e588E"} +!847 = !{!845, !839, !840, !841, !836} +!848 = !{!845, !836} +!849 = !{!839, !840, !841} +!850 = !{!851} +!851 = distinct !{!851, !852, !"_ZN16wasmtime_runtime9component17ComponentInstance5vmctx17h0723d77c01ced6e9E: argument 0"} +!852 = distinct !{!852, !"_ZN16wasmtime_runtime9component17ComponentInstance5vmctx17h0723d77c01ced6e9E"} +!853 = !{!839} +!854 = !{!855} +!855 = distinct !{!855, !856, !"_ZN16wasmtime_runtime9component17ComponentInstance14instance_flags17h70614a7d14fd55edE: argument 0"} +!856 = distinct !{!856, !"_ZN16wasmtime_runtime9component17ComponentInstance14instance_flags17h70614a7d14fd55edE"} +!857 = !{!858, !860, !855} +!858 = distinct !{!858, !859, !"_ZN16wasmtime_runtime9component17ComponentInstance5vmctx17h0723d77c01ced6e9E: argument 0"} +!859 = distinct !{!859, !"_ZN16wasmtime_runtime9component17ComponentInstance5vmctx17h0723d77c01ced6e9E"} +!860 = distinct !{!860, !861, !"_ZN16wasmtime_runtime9component17ComponentInstance17vmctx_plus_offset17h223ba71fbff5907aE: argument 0"} +!861 = distinct !{!861, !"_ZN16wasmtime_runtime9component17ComponentInstance17vmctx_plus_offset17h223ba71fbff5907aE"} +!862 = !{!863} +!863 = distinct !{!863, !864, !"_ZN16cranelift_entity7primary23PrimaryMap$LT$K$C$V$GT$4push17h426ae7bb604cdebeE: argument 0"} +!864 = distinct !{!864, !"_ZN16cranelift_entity7primary23PrimaryMap$LT$K$C$V$GT$4push17h426ae7bb604cdebeE"} +!865 = !{!863, !866, !839, !840, !841, !836} +!866 = distinct !{!866, !864, !"_ZN16cranelift_entity7primary23PrimaryMap$LT$K$C$V$GT$4push17h426ae7bb604cdebeE: argument 1"} +!867 = !{!863, !839, !840, !841, !836} +!868 = !{!869, !863} +!869 = distinct !{!869, !870, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha125c55ce8b93624E.llvm.7073302902749960574: argument 0"} +!870 = distinct !{!870, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha125c55ce8b93624E.llvm.7073302902749960574"} +!871 = !{!872, !866, !839, !840, !841, !836} +!872 = distinct !{!872, !870, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha125c55ce8b93624E.llvm.7073302902749960574: argument 1"} +!873 = !{!872, !866, !839, !836} +!874 = !{!866, !839, !836} +!875 = !{!876, !878, !839, !840, !841, !836} +!876 = distinct !{!876, !877, !"_ZN71_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h187ad05d5f1637fcE: argument 0"} +!877 = distinct !{!877, !"_ZN71_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h187ad05d5f1637fcE"} +!878 = distinct !{!878, !879, !"_ZN4core3ptr113drop_in_place$LT$alloc..sync..Arc$LT$dyn$u20$core..any..Any$u2b$core..marker..Send$u2b$core..marker..Sync$GT$$GT$17heff72071ba9a5a1bE: argument 0"} +!879 = distinct !{!879, !"_ZN4core3ptr113drop_in_place$LT$alloc..sync..Arc$LT$dyn$u20$core..any..Any$u2b$core..marker..Send$u2b$core..marker..Sync$GT$$GT$17heff72071ba9a5a1bE"} +!880 = !{!881} +!881 = distinct !{!881, !882, !"_ZN4core3ptr102drop_in_place$LT$alloc..sync..Arc$LT$dyn$u20$wasmtime_runtime..component..ComponentRuntimeInfo$GT$$GT$17h39b52c843a431690E: argument 0"} +!882 = distinct !{!882, !"_ZN4core3ptr102drop_in_place$LT$alloc..sync..Arc$LT$dyn$u20$wasmtime_runtime..component..ComponentRuntimeInfo$GT$$GT$17h39b52c843a431690E"} +!883 = !{!884} +!884 = distinct !{!884, !885, !"_ZN71_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hae9682f64928be4aE: argument 0"} +!885 = distinct !{!885, !"_ZN71_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hae9682f64928be4aE"} +!886 = !{!884, !881} +!887 = !{!884, !881, !839, !836} +!888 = !{!889, !891} +!889 = distinct !{!889, !890, !"_ZN71_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h187ad05d5f1637fcE: argument 0"} +!890 = distinct !{!890, !"_ZN71_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h187ad05d5f1637fcE"} +!891 = distinct !{!891, !892, !"_ZN4core3ptr113drop_in_place$LT$alloc..sync..Arc$LT$dyn$u20$core..any..Any$u2b$core..marker..Send$u2b$core..marker..Sync$GT$$GT$17heff72071ba9a5a1bE: argument 0"} +!892 = distinct !{!892, !"_ZN4core3ptr113drop_in_place$LT$alloc..sync..Arc$LT$dyn$u20$core..any..Any$u2b$core..marker..Send$u2b$core..marker..Sync$GT$$GT$17heff72071ba9a5a1bE"} +!893 = !{!894} +!894 = distinct !{!894, !895, !"_ZN4core3ptr102drop_in_place$LT$alloc..sync..Arc$LT$dyn$u20$wasmtime_runtime..component..ComponentRuntimeInfo$GT$$GT$17h39b52c843a431690E: argument 0"} +!895 = distinct !{!895, !"_ZN4core3ptr102drop_in_place$LT$alloc..sync..Arc$LT$dyn$u20$wasmtime_runtime..component..ComponentRuntimeInfo$GT$$GT$17h39b52c843a431690E"} +!896 = !{!897} +!897 = distinct !{!897, !898, !"_ZN71_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hae9682f64928be4aE: argument 0"} +!898 = distinct !{!898, !"_ZN71_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hae9682f64928be4aE"} +!899 = !{!897, !894} +!900 = !{!901} +!901 = distinct !{!901, !902, !"_ZN16wasmtime_runtime9component17ComponentInstance5vmctx17h0723d77c01ced6e9E: argument 0"} +!902 = distinct !{!902, !"_ZN16wasmtime_runtime9component17ComponentInstance5vmctx17h0723d77c01ced6e9E"} +!903 = !{!904} +!904 = distinct !{!904, !905, !"_ZN16wasmtime_runtime9component17ComponentInstance5vmctx17h0723d77c01ced6e9E: argument 0"} +!905 = distinct !{!905, !"_ZN16wasmtime_runtime9component17ComponentInstance5vmctx17h0723d77c01ced6e9E"} +!906 = !{!907} +!907 = distinct !{!907, !908, !"_ZN16wasmtime_runtime9component17ComponentInstance5vmctx17h0723d77c01ced6e9E: argument 0"} +!908 = distinct !{!908, !"_ZN16wasmtime_runtime9component17ComponentInstance5vmctx17h0723d77c01ced6e9E"} +!909 = !{!910} +!910 = distinct !{!910, !911, !"_ZN16wasmtime_runtime9component17ComponentInstance5vmctx17h0723d77c01ced6e9E: argument 0"} +!911 = distinct !{!911, !"_ZN16wasmtime_runtime9component17ComponentInstance5vmctx17h0723d77c01ced6e9E"} +!912 = !{!913} +!913 = distinct !{!913, !914, !"_ZN16wasmtime_runtime9component17ComponentInstance5vmctx17h0723d77c01ced6e9E: argument 0"} +!914 = distinct !{!914, !"_ZN16wasmtime_runtime9component17ComponentInstance5vmctx17h0723d77c01ced6e9E"} +!915 = !{!916} +!916 = distinct !{!916, !917, !"_ZN16wasmtime_runtime9component17ComponentInstance5vmctx17h0723d77c01ced6e9E: argument 0"} +!917 = distinct !{!917, !"_ZN16wasmtime_runtime9component17ComponentInstance5vmctx17h0723d77c01ced6e9E"} +!918 = !{!919} +!919 = distinct !{!919, !920, !"_ZN16wasmtime_runtime9store_box17StoreBox$LT$T$GT$3new17hb72701e2823befacE: argument 0"} +!920 = distinct !{!920, !"_ZN16wasmtime_runtime9store_box17StoreBox$LT$T$GT$3new17hb72701e2823befacE"} +!921 = !{!922} +!922 = distinct !{!922, !923, !"_ZN16wasmtime_runtime9store_box17StoreBox$LT$T$GT$3new17h7a70ff2e58e5e32cE: argument 0"} +!923 = distinct !{!923, !"_ZN16wasmtime_runtime9store_box17StoreBox$LT$T$GT$3new17h7a70ff2e58e5e32cE"} diff --git a/bench/yosys/optimized/microchip_dffopt.ll b/bench/yosys/optimized/microchip_dffopt.ll index 90abaab7383..251edea1f23 100644 --- a/bench/yosys/optimized/microchip_dffopt.ll +++ b/bench/yosys/optimized/microchip_dffopt.ll @@ -436,7 +436,6 @@ define internal void @_ZN12_GLOBAL__N_119MicrochipDffOptPass7executeESt6vectorIN %68 = alloca %"struct.Yosys::RTLIL::IdString", align 4 %69 = alloca %"struct.std::pair.161", align 8 %70 = alloca %"struct.Yosys::RTLIL::Const", align 8 - %.sroa.02516 = alloca %"struct.Yosys::RTLIL::SigBit", align 8 %71 = alloca %"struct.std::pair.161", align 8 %72 = alloca %"struct.Yosys::RTLIL::SigBit", align 8 %73 = alloca %"struct.Yosys::RTLIL::SigSpec", align 8 @@ -444,7 +443,6 @@ define internal void @_ZN12_GLOBAL__N_119MicrochipDffOptPass7executeESt6vectorIN %75 = alloca %"struct.Yosys::RTLIL::IdString", align 4 %76 = alloca %"struct.std::pair.161", align 8 %77 = alloca %"struct.Yosys::RTLIL::Const", align 8 - %.sroa.02494 = alloca %"struct.Yosys::RTLIL::SigBit", align 8 %78 = alloca %"struct.std::pair.161", align 8 %79 = alloca %"struct.Yosys::RTLIL::SigBit", align 8 %80 = alloca %"struct.Yosys::RTLIL::SigSpec", align 8 @@ -452,7 +450,6 @@ define internal void @_ZN12_GLOBAL__N_119MicrochipDffOptPass7executeESt6vectorIN %82 = alloca %"struct.Yosys::RTLIL::IdString", align 4 %83 = alloca %"struct.std::pair.161", align 8 %84 = alloca %"struct.Yosys::RTLIL::Const", align 8 - %.sroa.02470 = alloca %"struct.Yosys::RTLIL::SigBit", align 8 %85 = alloca %"struct.std::pair.161", align 8 %86 = alloca %"struct.std::pair.161", align 8 %87 = alloca %"class.std::__cxx11::basic_string", align 8 @@ -8883,13 +8880,11 @@ _ZN5Yosys5RTLIL8IdStringD2Ev.exit1228: ; preds = %_ZN5Yosys5RTLIL7Sig to label %3669 unwind label %3705 3669: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit1228 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %.sroa.02516) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(12) %.sroa.02516, ptr noundef nonnull align 8 dereferenceable(12) %65, i64 12, i1 false), !tbaa.struct !75 %3670 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #26 to label %3671 unwind label %3707 3671: ; preds = %3669 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %3670, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.02516, i64 16, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(12) %3670, ptr noundef nonnull align 8 dereferenceable(12) %65, i64 12, i1 false) invoke void @_ZN5Yosys5RTLIL5ConstC1ERKS1_(ptr noundef nonnull align 8 dereferenceable(64) %69, ptr noundef nonnull align 8 dereferenceable(40) %70) to label %_ZNSt16allocator_traitsISaIN5Yosys5RTLIL6SigBitEEE8allocateERS3_m.exit.i.i.i.i.i1233 unwind label %3709 @@ -8905,7 +8900,6 @@ _ZNSt16allocator_traitsISaIN5Yosys5RTLIL6SigBitEEE8allocateERS3_m.exit.i.i.i.i.i call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %3672, ptr noundef nonnull align 8 dereferenceable(16) %3670, i64 16, i1 false), !tbaa.struct !75 store ptr %3673, ptr %340, align 8, !tbaa !69 call void @_ZdlPvm(ptr noundef nonnull %3670, i64 noundef 16) #24 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.02516) call void @_ZN5Yosys5RTLIL5ConstD1Ev(ptr noundef nonnull align 8 dereferenceable(40) %70) #23 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %70) #23 %3674 = invoke { ptr, i32 } @_ZN5Yosys7hashlib4dictINS_5RTLIL6SigBitESt4pairIS4_INS2_5ConstESt6vectorIS3_SaIS3_EEEPNS2_4CellEENS0_8hash_opsIS3_EEE4findERKS3_(ptr noundef nonnull align 8 dereferenceable(49) %18, ptr noundef nonnull align 8 dereferenceable(12) %65) @@ -9021,7 +9015,6 @@ _ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit1253: ; preds = %3675, %3709 3711: ; preds = %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit1253, %3707 %.pn338 = phi { ptr, i32 } [ %eh.lpad-body1246, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit1253 ], [ %3708, %3707 ] - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.02516) call void @_ZN5Yosys5RTLIL5ConstD1Ev(ptr noundef nonnull align 8 dereferenceable(40) %70) #23 br label %3712 @@ -9412,13 +9405,11 @@ _ZN5Yosys5RTLIL8IdStringD2Ev.exit1319: ; preds = %_ZN5Yosys5RTLIL7Sig to label %3849 unwind label %3874 3849: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit1319 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %.sroa.02494) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(12) %.sroa.02494, ptr noundef nonnull align 8 dereferenceable(12) %72, i64 12, i1 false), !tbaa.struct !75 %3850 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #26 to label %3851 unwind label %3876 3851: ; preds = %3849 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %3850, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.02494, i64 16, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(12) %3850, ptr noundef nonnull align 8 dereferenceable(12) %72, i64 12, i1 false) invoke void @_ZN5Yosys5RTLIL5ConstC1ERKS1_(ptr noundef nonnull align 8 dereferenceable(64) %76, ptr noundef nonnull align 8 dereferenceable(40) %77) to label %_ZNSt16allocator_traitsISaIN5Yosys5RTLIL6SigBitEEE8allocateERS3_m.exit.i.i.i.i.i1324 unwind label %3878 @@ -9434,7 +9425,6 @@ _ZNSt16allocator_traitsISaIN5Yosys5RTLIL6SigBitEEE8allocateERS3_m.exit.i.i.i.i.i call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %3852, ptr noundef nonnull align 8 dereferenceable(16) %3850, i64 16, i1 false), !tbaa.struct !75 store ptr %3853, ptr %358, align 8, !tbaa !69 call void @_ZdlPvm(ptr noundef nonnull %3850, i64 noundef 16) #24 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.02494) call void @_ZN5Yosys5RTLIL5ConstD1Ev(ptr noundef nonnull align 8 dereferenceable(40) %77) #23 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %77) #23 %3854 = invoke { ptr, i32 } @_ZN5Yosys7hashlib4dictINS_5RTLIL6SigBitESt4pairIS4_INS2_5ConstESt6vectorIS3_SaIS3_EEEPNS2_4CellEENS0_8hash_opsIS3_EEE4findERKS3_(ptr noundef nonnull align 8 dereferenceable(49) %18, ptr noundef nonnull align 8 dereferenceable(12) %72) @@ -9519,7 +9509,6 @@ _ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit1345: ; preds = %3855, %3878 3880: ; preds = %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit1345, %3876 %.pn346 = phi { ptr, i32 } [ %eh.lpad-body1337, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit1345 ], [ %3877, %3876 ] - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.02494) call void @_ZN5Yosys5RTLIL5ConstD1Ev(ptr noundef nonnull align 8 dereferenceable(40) %77) #23 br label %3881 @@ -9945,13 +9934,11 @@ _ZN5Yosys5RTLIL8IdStringD2Ev.exit1411: ; preds = %_ZN5Yosys5RTLIL7Sig to label %4025 unwind label %4050 4025: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit1411 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %.sroa.02470) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(12) %.sroa.02470, ptr noundef nonnull align 8 dereferenceable(12) %79, i64 12, i1 false), !tbaa.struct !75 %4026 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #26 to label %4027 unwind label %4052 4027: ; preds = %4025 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %4026, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.02470, i64 16, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(12) %4026, ptr noundef nonnull align 8 dereferenceable(12) %79, i64 12, i1 false) invoke void @_ZN5Yosys5RTLIL5ConstC1ERKS1_(ptr noundef nonnull align 8 dereferenceable(64) %83, ptr noundef nonnull align 8 dereferenceable(40) %84) to label %_ZNSt16allocator_traitsISaIN5Yosys5RTLIL6SigBitEEE8allocateERS3_m.exit.i.i.i.i.i1416 unwind label %4054 @@ -9967,7 +9954,6 @@ _ZNSt16allocator_traitsISaIN5Yosys5RTLIL6SigBitEEE8allocateERS3_m.exit.i.i.i.i.i call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %4028, ptr noundef nonnull align 8 dereferenceable(16) %4026, i64 16, i1 false), !tbaa.struct !75 store ptr %4029, ptr %379, align 8, !tbaa !69 call void @_ZdlPvm(ptr noundef nonnull %4026, i64 noundef 16) #24 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.02470) call void @_ZN5Yosys5RTLIL5ConstD1Ev(ptr noundef nonnull align 8 dereferenceable(40) %84) #23 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %84) #23 %4030 = invoke { ptr, i32 } @_ZN5Yosys7hashlib4dictINS_5RTLIL6SigBitESt4pairIS4_INS2_5ConstESt6vectorIS3_SaIS3_EEEPNS2_4CellEENS0_8hash_opsIS3_EEE4findERKS3_(ptr noundef nonnull align 8 dereferenceable(49) %18, ptr noundef nonnull align 8 dereferenceable(12) %79) @@ -10052,7 +10038,6 @@ _ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit1437: ; preds = %4031, %4054 4056: ; preds = %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit1437, %4052 %.pn359 = phi { ptr, i32 } [ %eh.lpad-body1429, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit1437 ], [ %4053, %4052 ] - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %.sroa.02470) call void @_ZN5Yosys5RTLIL5ConstD1Ev(ptr noundef nonnull align 8 dereferenceable(40) %84) #23 br label %4057 diff --git a/scripts/setup_pre_commit_patch.sh b/scripts/setup_pre_commit_patch.sh index c5409e09ef4..51eb0f349cb 100755 --- a/scripts/setup_pre_commit_patch.sh +++ b/scripts/setup_pre_commit_patch.sh @@ -2,7 +2,7 @@ set -euo pipefail shopt -s inherit_errexit -export GITHUB_PATCH_ID="/llvm-project/commit/" +export GITHUB_PATCH_ID=llvm/llvm-project/pull/143745 export COMPTIME_MODE=0 # Please rebase manually