diff --git a/bench/abc/optimized/ac_wrapper.cpp.ll b/bench/abc/optimized/ac_wrapper.cpp.ll index 0e7c27ff9c5..565c546c2e5 100644 --- a/bench/abc/optimized/ac_wrapper.cpp.ll +++ b/bench/abc/optimized/ac_wrapper.cpp.ll @@ -1243,7 +1243,7 @@ define linkonce_odr noundef zeroext i1 @_ZN3acd21ac_decomposition_impl18find_dec %138 = phi ptr [ %136, %135 ], [ %139, %_ZNSt8functionIFjRKN5kitty18static_truth_tableILj10EEEEED2Ev.exit ] %139 = getelementptr inbounds i8, ptr %138, i64 -32 %140 = getelementptr inbounds i8, ptr %138, i64 -16 - %141 = load ptr, ptr %140, align 8 + %141 = load ptr, ptr %140, align 16 %.not.i.i = icmp eq ptr %141, null br i1 %.not.i.i, label %_ZNSt8functionIFjRKN5kitty18static_truth_tableILj10EEEEED2Ev.exit, label %142 @@ -1269,7 +1269,7 @@ _ZNSt8functionIFjRKN5kitty18static_truth_tableILj10EEEEED2Ev.exit: ; preds = %13 %150 = phi ptr [ %65, %64 ], [ %151, %_ZNSt8functionIFjRKN5kitty18static_truth_tableILj10EEEEED2Ev.exit66 ] %151 = getelementptr inbounds i8, ptr %150, i64 -32 %152 = getelementptr inbounds i8, ptr %150, i64 -16 - %153 = load ptr, ptr %152, align 8 + %153 = load ptr, ptr %152, align 16 %.not.i.i65 = icmp eq ptr %153, null br i1 %.not.i.i65, label %_ZNSt8functionIFjRKN5kitty18static_truth_tableILj10EEEEED2Ev.exit66, label %154 diff --git a/bench/abc/optimized/giaMf.c.ll b/bench/abc/optimized/giaMf.c.ll index 9912fb55394..c2baf672d8a 100644 --- a/bench/abc/optimized/giaMf.c.ll +++ b/bench/abc/optimized/giaMf.c.ll @@ -4499,14 +4499,14 @@ Gia_ObjSiblObj.exit: ; preds = %._crit_edge %.032.val.i = load i32, ptr %.032.i, align 4 %88 = lshr i32 %.032.val.i, 5 %89 = getelementptr inbounds nuw i8, ptr %.03444.i, i64 16 - %90 = load i32, ptr %89, align 8 + %90 = load i32, ptr %89, align 16 %91 = and i32 %90, -134217728 %92 = or disjoint i32 %91, %88 - store i32 %92, ptr %89, align 8 + store i32 %92, ptr %89, align 16 %.032.val42.i = load i32, ptr %.032.i, align 4 %93 = shl i32 %.032.val42.i, 27 %94 = or disjoint i32 %93, %88 - store i32 %94, ptr %89, align 8 + store i32 %94, ptr %89, align 16 %95 = getelementptr inbounds nuw i8, ptr %.pn46.i, i64 8 %.032.val41.i = load i32, ptr %.032.i, align 4 %96 = and i32 %.032.val41.i, 31 @@ -4532,7 +4532,7 @@ Gia_ObjSiblObj.exit: ; preds = %._crit_edge Mf_CutGetSign.exit.i: ; preds = %.lr.ph.i.i, %.lr.ph.i %.06.lcssa.i.i = phi i64 [ 0, %.lr.ph.i ], [ %102, %.lr.ph.i.i ] - store i64 %.06.lcssa.i.i, ptr %.03444.i, align 8 + store i64 %.06.lcssa.i.i, ptr %.03444.i, align 16 %103 = getelementptr inbounds nuw i8, ptr %.03444.i, i64 20 %.032.val40.i = load i32, ptr %.032.i, align 4 %104 = shl i32 %.032.val40.i, 2 @@ -4583,7 +4583,7 @@ Mf_ManPrepareCuts.exit: ; preds = %Mf_CutGetSign.exit. %129 = sext i32 %.1146737 to i64 %130 = getelementptr inbounds [16 x ptr], ptr %21, i64 0, i64 %129 %131 = load ptr, ptr %130, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %131, ptr noundef nonnull align 8 dereferenceable(64) %.0147736, i64 64, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %131, ptr noundef nonnull align 16 dereferenceable(64) %.0147736, i64 64, i1 false) %132 = getelementptr inbounds nuw i8, ptr %131, i64 16 %133 = load i32, ptr %132, align 8 %.masked = and i32 %133, 134217727 @@ -4775,10 +4775,10 @@ Gia_ObjFaninC2.exit: ; preds = %Gia_ObjFaninId2.exi 237: ; preds = %Mf_SetAddCut.exit.us.us.us, %.preheader691.us.us.us %.0143740.us.us.us = phi ptr [ %23, %.preheader691.us.us.us ], [ %1350, %Mf_SetAddCut.exit.us.us.us ] %.4739.us.us.us = phi i32 [ %.3744.us.us.us, %.preheader691.us.us.us ], [ %.5.us.us.us, %Mf_SetAddCut.exit.us.us.us ] - %238 = load i64, ptr %.0749.us.us, align 8 - %239 = load i64, ptr %.0141745.us.us.us, align 8 + %238 = load i64, ptr %.0749.us.us, align 16 + %239 = load i64, ptr %.0141745.us.us.us, align 16 %240 = or i64 %239, %238 - %241 = load i64, ptr %.0143740.us.us.us, align 8 + %241 = load i64, ptr %.0143740.us.us.us, align 16 %242 = or i64 %240, %241 %243 = call range(i64 0, 65) i64 @llvm.ctpop.i64(i64 %242) %244 = trunc nuw nsw i64 %243 to i32 @@ -4792,12 +4792,12 @@ Gia_ObjFaninC2.exit: ; preds = %Gia_ObjFaninId2.exi %249 = sext i32 %.4739.us.us.us to i64 %250 = getelementptr inbounds [16 x ptr], ptr %21, i64 0, i64 %249 %251 = load ptr, ptr %250, align 8 - %252 = load i32, ptr %233, align 8 + %252 = load i32, ptr %233, align 16 %253 = lshr i32 %252, 27 - %254 = load i32, ptr %235, align 8 + %254 = load i32, ptr %235, align 16 %255 = lshr i32 %254, 27 %256 = getelementptr inbounds nuw i8, ptr %.0143740.us.us.us, i64 16 - %257 = load i32, ptr %256, align 8 + %257 = load i32, ptr %256, align 16 %258 = lshr i32 %257, 27 %259 = getelementptr inbounds nuw i8, ptr %.0143740.us.us.us, i64 20 %260 = getelementptr inbounds nuw i8, ptr %251, i64 20 @@ -4871,10 +4871,10 @@ Gia_ObjFaninC2.exit: ; preds = %Gia_ObjFaninId2.exi %298 = shl i32 %296, 27 %299 = or disjoint i32 %298, 134217727 store i32 %299, ptr %297, align 8 - %300 = load i64, ptr %.0749.us.us, align 8 - %301 = load i64, ptr %.0141745.us.us.us, align 8 + %300 = load i64, ptr %.0749.us.us, align 16 + %301 = load i64, ptr %.0141745.us.us.us, align 16 %302 = or i64 %301, %300 - %303 = load i64, ptr %.0143740.us.us.us, align 8 + %303 = load i64, ptr %.0143740.us.us.us, align 16 %304 = or i64 %302, %303 store i64 %304, ptr %251, align 8 %305 = icmp sgt i32 %.4739.us.us.us, 0 @@ -5016,7 +5016,7 @@ Mf_SetLastCutIsContained.exit.us.us.us: ; preds = %Mf_SetCutIsContaine %365 = add nsw i32 %360, -6 %366 = shl nuw i32 1, %365 %367 = load ptr, ptr %220, align 8 - %368 = load i32, ptr %233, align 8 + %368 = load i32, ptr %233, align 16 %369 = lshr i32 %368, 1 %370 = and i32 %369, 67108863 %371 = getelementptr inbounds nuw i8, ptr %367, i64 24 @@ -5034,7 +5034,7 @@ Mf_SetLastCutIsContained.exit.us.us.us: ; preds = %Mf_SetCutIsContaine %383 = mul nsw i32 %382, %379 %384 = sext i32 %383 to i64 %385 = getelementptr inbounds i64, ptr %378, i64 %384 - %386 = load i32, ptr %235, align 8 + %386 = load i32, ptr %235, align 16 %387 = lshr i32 %386, 1 %388 = and i32 %387, 67108863 %389 = lshr i32 %388, %374 @@ -5045,7 +5045,7 @@ Mf_SetLastCutIsContained.exit.us.us.us: ; preds = %Mf_SetCutIsContaine %394 = mul nsw i32 %393, %379 %395 = sext i32 %394 to i64 %396 = getelementptr inbounds i64, ptr %392, i64 %395 - %397 = load i32, ptr %256, align 8 + %397 = load i32, ptr %256, align 16 %398 = lshr i32 %397, 1 %399 = and i32 %398, 67108863 %400 = lshr i32 %399, %374 @@ -6147,7 +6147,7 @@ Vec_IntPush.exit.i.us.us.us: ; preds = %Vec_IntGrow.exit.i. call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) %914 = load i32, ptr %297, align 8 %915 = load ptr, ptr %220, align 8 - %916 = load i32, ptr %233, align 8 + %916 = load i32, ptr %233, align 16 %917 = lshr i32 %916, 1 %918 = and i32 %917, 67108863 %919 = getelementptr inbounds nuw i8, ptr %915, i64 24 @@ -6166,7 +6166,7 @@ Vec_IntPush.exit.i.us.us.us: ; preds = %Vec_IntGrow.exit.i. %932 = sext i32 %931 to i64 %933 = getelementptr inbounds i64, ptr %926, i64 %932 %934 = load i64, ptr %933, align 8 - %935 = load i32, ptr %235, align 8 + %935 = load i32, ptr %235, align 16 %936 = lshr i32 %935, 1 %937 = and i32 %936, 67108863 %938 = lshr i32 %937, %922 @@ -6178,7 +6178,7 @@ Vec_IntPush.exit.i.us.us.us: ; preds = %Vec_IntGrow.exit.i. %944 = sext i32 %943 to i64 %945 = getelementptr inbounds i64, ptr %941, i64 %944 %946 = load i64, ptr %945, align 8 - %947 = load i32, ptr %256, align 8 + %947 = load i32, ptr %256, align 16 %948 = lshr i32 %947, 1 %949 = and i32 %948, 67108863 %950 = lshr i32 %949, %922 @@ -7038,18 +7038,18 @@ Gia_ObjIsXor.exit: ; preds = %Gia_ObjIsMuxId.exit 1390: ; preds = %.preheader.us, %Mf_SetAddCut.exit450.us %.1142761.us = phi ptr [ %19, %.preheader.us ], [ %2303, %Mf_SetAddCut.exit450.us ] %.8757.us = phi i32 [ %.7765.us, %.preheader.us ], [ %.9.us, %Mf_SetAddCut.exit450.us ] - %1391 = load i32, ptr %1388, align 8 + %1391 = load i32, ptr %1388, align 16 %1392 = lshr i32 %1391, 27 %1393 = getelementptr inbounds nuw i8, ptr %.1142761.us, i64 16 - %1394 = load i32, ptr %1393, align 8 + %1394 = load i32, ptr %1393, align 16 %1395 = lshr i32 %1394, 27 %1396 = add nuw nsw i32 %1395, %1392 %1397 = icmp sgt i32 %1396, %33 br i1 %1397, label %1398, label %1405 1398: ; preds = %1390 - %1399 = load i64, ptr %.1766.us, align 8 - %1400 = load i64, ptr %.1142761.us, align 8 + %1399 = load i64, ptr %.1766.us, align 16 + %1400 = load i64, ptr %.1142761.us, align 16 %1401 = or i64 %1400, %1399 %1402 = call range(i64 0, 65) i64 @llvm.ctpop.i64(i64 %1401) %1403 = trunc nuw nsw i64 %1402 to i32 @@ -7233,8 +7233,8 @@ Gia_ObjIsXor.exit: ; preds = %Gia_ObjIsMuxId.exit %1467 = shl i32 %.5.lcssa.sink.i.us.fr, 27 %1468 = or disjoint i32 %1467, 134217727 store i32 %1468, ptr %1466, align 8 - %1469 = load i64, ptr %.1766.us, align 8 - %1470 = load i64, ptr %.1142761.us, align 8 + %1469 = load i64, ptr %.1766.us, align 16 + %1470 = load i64, ptr %.1142761.us, align 16 %1471 = or i64 %1470, %1469 store i64 %1471, ptr %1410, align 8 %1472 = icmp sgt i32 %.8757.us, 0 @@ -7375,7 +7375,7 @@ Mf_SetLastCutIsContained.exit285.us: ; preds = %Mf_SetCutIsContaine %1532 = add nsw i32 %1527, -6 %1533 = shl nuw i32 1, %1532 %1534 = load ptr, ptr %1376, align 8 - %1535 = load i32, ptr %1388, align 8 + %1535 = load i32, ptr %1388, align 16 %1536 = lshr i32 %1535, 1 %1537 = and i32 %1536, 67108863 %1538 = getelementptr inbounds nuw i8, ptr %1534, i64 24 @@ -7393,7 +7393,7 @@ Mf_SetLastCutIsContained.exit285.us: ; preds = %Mf_SetCutIsContaine %1550 = mul nsw i32 %1549, %1546 %1551 = sext i32 %1550 to i64 %1552 = getelementptr inbounds i64, ptr %1545, i64 %1551 - %1553 = load i32, ptr %1393, align 8 + %1553 = load i32, ptr %1393, align 16 %1554 = lshr i32 %1553, 1 %1555 = and i32 %1554, 67108863 %1556 = lshr i32 %1555, %1541 @@ -8202,7 +8202,7 @@ Vec_IntPush.exit.i317.us: ; preds = %Vec_IntGrow.exit.i. call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) %1914 = load i32, ptr %1466, align 8 %1915 = load ptr, ptr %1376, align 8 - %1916 = load i32, ptr %1388, align 8 + %1916 = load i32, ptr %1388, align 16 %1917 = lshr i32 %1916, 1 %1918 = and i32 %1917, 67108863 %1919 = getelementptr inbounds nuw i8, ptr %1915, i64 24 @@ -8221,7 +8221,7 @@ Vec_IntPush.exit.i317.us: ; preds = %Vec_IntGrow.exit.i. %1932 = sext i32 %1931 to i64 %1933 = getelementptr inbounds i64, ptr %1926, i64 %1932 %1934 = load i64, ptr %1933, align 8 - %1935 = load i32, ptr %1393, align 8 + %1935 = load i32, ptr %1393, align 16 %1936 = lshr i32 %1935, 1 %1937 = and i32 %1936, 67108863 %1938 = lshr i32 %1937, %1922 diff --git a/bench/abc/optimized/giaNf.c.ll b/bench/abc/optimized/giaNf.c.ll index 2447fd806c3..80968c9ba68 100644 --- a/bench/abc/optimized/giaNf.c.ll +++ b/bench/abc/optimized/giaNf.c.ll @@ -2616,7 +2616,7 @@ Gia_ObjSiblObj.exit: ; preds = %._crit_edge %73 = sext i32 %.1156396 to i64 %74 = getelementptr inbounds [32 x ptr], ptr %8, i64 0, i64 %73 %75 = load ptr, ptr %74, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %75, ptr noundef nonnull align 8 dereferenceable(48) %.0157395, i64 48, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %75, ptr noundef nonnull align 16 dereferenceable(48) %.0157395, i64 48, i1 false) %76 = getelementptr inbounds nuw i8, ptr %75, i64 16 %77 = load i32, ptr %76, align 8 %78 = and i32 %77, 67108863 @@ -2766,10 +2766,10 @@ Gia_ObjFaninC2.exit: ; preds = %Gia_ObjFaninId2.exi 156: ; preds = %Nf_CutMergeOrderMux.exit.thread.us.us.us, %.preheader377.us.us.us %.0153399.us.us.us = phi ptr [ %10, %.preheader377.us.us.us ], [ %537, %Nf_CutMergeOrderMux.exit.thread.us.us.us ] %.4398.us.us.us = phi i32 [ %.3403.us.us.us, %.preheader377.us.us.us ], [ %.5.us.us.us, %Nf_CutMergeOrderMux.exit.thread.us.us.us ] - %157 = load i64, ptr %.0408.us.us, align 8 - %158 = load i64, ptr %.0151404.us.us.us, align 8 + %157 = load i64, ptr %.0408.us.us, align 16 + %158 = load i64, ptr %.0151404.us.us.us, align 16 %159 = or i64 %158, %157 - %160 = load i64, ptr %.0153399.us.us.us, align 8 + %160 = load i64, ptr %.0153399.us.us.us, align 16 %161 = or i64 %159, %160 %162 = call range(i64 0, 65) i64 @llvm.ctpop.i64(i64 %161) %163 = trunc nuw nsw i64 %162 to i32 @@ -2783,12 +2783,12 @@ Gia_ObjFaninC2.exit: ; preds = %Gia_ObjFaninId2.exi %168 = sext i32 %.4398.us.us.us to i64 %169 = getelementptr inbounds [32 x ptr], ptr %8, i64 0, i64 %168 %170 = load ptr, ptr %169, align 8 - %171 = load i32, ptr %152, align 8 + %171 = load i32, ptr %152, align 16 %172 = lshr i32 %171, 27 - %173 = load i32, ptr %154, align 8 + %173 = load i32, ptr %154, align 16 %174 = lshr i32 %173, 27 %175 = getelementptr inbounds nuw i8, ptr %.0153399.us.us.us, i64 16 - %176 = load i32, ptr %175, align 8 + %176 = load i32, ptr %175, align 16 %177 = lshr i32 %176, 27 %178 = getelementptr inbounds nuw i8, ptr %.0153399.us.us.us, i64 20 %179 = getelementptr inbounds nuw i8, ptr %170, i64 20 @@ -2866,10 +2866,10 @@ Gia_ObjFaninC2.exit: ; preds = %Gia_ObjFaninId2.exi %.fr = freeze i32 %220 %221 = or i32 %.fr, 67108863 store i32 %221, ptr %216, align 8 - %222 = load i64, ptr %.0408.us.us, align 8 - %223 = load i64, ptr %.0151404.us.us.us, align 8 + %222 = load i64, ptr %.0408.us.us, align 16 + %223 = load i64, ptr %.0151404.us.us.us, align 16 %224 = or i64 %223, %222 - %225 = load i64, ptr %.0153399.us.us.us, align 8 + %225 = load i64, ptr %.0153399.us.us.us, align 16 %226 = or i64 %224, %225 store i64 %226, ptr %170, align 8 %227 = icmp sgt i32 %.4398.us.us.us, 0 @@ -2993,7 +2993,7 @@ Nf_SetLastCutIsContained.exit.us.us.us: ; preds = %Nf_SetCutIsContaine call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) %278 = load i32, ptr %216, align 8 %279 = load ptr, ptr %147, align 8 - %280 = load i32, ptr %152, align 8 + %280 = load i32, ptr %152, align 16 %281 = lshr i32 %280, 1 %282 = and i32 %281, 33554431 %283 = getelementptr inbounds nuw i8, ptr %279, i64 24 @@ -3012,7 +3012,7 @@ Nf_SetLastCutIsContained.exit.us.us.us: ; preds = %Nf_SetCutIsContaine %296 = sext i32 %295 to i64 %297 = getelementptr inbounds i64, ptr %290, i64 %296 %298 = load i64, ptr %297, align 8 - %299 = load i32, ptr %154, align 8 + %299 = load i32, ptr %154, align 16 %300 = lshr i32 %299, 1 %301 = and i32 %300, 33554431 %302 = lshr i32 %301, %286 @@ -3024,7 +3024,7 @@ Nf_SetLastCutIsContained.exit.us.us.us: ; preds = %Nf_SetCutIsContaine %308 = sext i32 %307 to i64 %309 = getelementptr inbounds i64, ptr %305, i64 %308 %310 = load i64, ptr %309, align 8 - %311 = load i32, ptr %175, align 8 + %311 = load i32, ptr %175, align 16 %312 = lshr i32 %311, 1 %313 = and i32 %312, 33554431 %314 = lshr i32 %313, %286 @@ -3501,18 +3501,18 @@ Gia_ObjIsXor.exit: ; preds = %Gia_ObjIsMuxId.exit 569: ; preds = %.preheader.us, %Nf_CutMergeOrder.exit.thread.us %.1152420.us = phi ptr [ %6, %.preheader.us ], [ %912, %Nf_CutMergeOrder.exit.thread.us ] %.8416.us = phi i32 [ %.7424.us, %.preheader.us ], [ %.9.us, %Nf_CutMergeOrder.exit.thread.us ] - %570 = load i32, ptr %567, align 8 + %570 = load i32, ptr %567, align 16 %571 = lshr i32 %570, 27 %572 = getelementptr inbounds nuw i8, ptr %.1152420.us, i64 16 - %573 = load i32, ptr %572, align 8 + %573 = load i32, ptr %572, align 16 %574 = lshr i32 %573, 27 %575 = add nuw nsw i32 %574, %571 %576 = icmp sgt i32 %575, %27 br i1 %576, label %577, label %584 577: ; preds = %569 - %578 = load i64, ptr %.1425.us, align 8 - %579 = load i64, ptr %.1152420.us, align 8 + %578 = load i64, ptr %.1425.us, align 16 + %579 = load i64, ptr %.1152420.us, align 16 %580 = or i64 %579, %578 %581 = call range(i64 0, 65) i64 @llvm.ctpop.i64(i64 %580) %582 = trunc nuw nsw i64 %581 to i32 @@ -3699,8 +3699,8 @@ Gia_ObjIsXor.exit: ; preds = %Gia_ObjIsMuxId.exit %.fr469 = freeze i32 %649 %650 = or i32 %.fr469, 67108863 store i32 %650, ptr %645, align 8 - %651 = load i64, ptr %.1425.us, align 8 - %652 = load i64, ptr %.1152420.us, align 8 + %651 = load i64, ptr %.1425.us, align 16 + %652 = load i64, ptr %.1152420.us, align 16 %653 = or i64 %652, %651 store i64 %653, ptr %589, align 8 %654 = icmp sgt i32 %.8416.us, 0 @@ -3824,7 +3824,7 @@ Nf_SetLastCutIsContained.exit267.us: ; preds = %Nf_SetCutIsContaine call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) %705 = load i32, ptr %645, align 8 %706 = load ptr, ptr %563, align 8 - %707 = load i32, ptr %567, align 8 + %707 = load i32, ptr %567, align 16 %708 = lshr i32 %707, 1 %709 = and i32 %708, 33554431 %710 = getelementptr inbounds nuw i8, ptr %706, i64 24 @@ -3843,7 +3843,7 @@ Nf_SetLastCutIsContained.exit267.us: ; preds = %Nf_SetCutIsContaine %723 = sext i32 %722 to i64 %724 = getelementptr inbounds i64, ptr %717, i64 %723 %725 = load i64, ptr %724, align 8 - %726 = load i32, ptr %572, align 8 + %726 = load i32, ptr %572, align 16 %727 = lshr i32 %726, 1 %728 = and i32 %727, 33554431 %729 = lshr i32 %728, %713 diff --git a/bench/abc/optimized/giaOf.c.ll b/bench/abc/optimized/giaOf.c.ll index fe52a32c674..689102a0b35 100644 --- a/bench/abc/optimized/giaOf.c.ll +++ b/bench/abc/optimized/giaOf.c.ll @@ -835,14 +835,14 @@ define void @Of_ObjMergeOrder(ptr noundef captures(none) %0, i32 noundef %1) loc %.032.val.i = load i32, ptr %.03246.i, align 4 %46 = lshr i32 %.032.val.i, 5 %47 = getelementptr inbounds nuw i8, ptr %.03444.i, i64 16 - %48 = load i32, ptr %47, align 8 + %48 = load i32, ptr %47, align 16 %49 = and i32 %48, -134217728 %50 = or disjoint i32 %49, %46 - store i32 %50, ptr %47, align 8 + store i32 %50, ptr %47, align 16 %.032.val39.i = load i32, ptr %.03246.i, align 4 %51 = shl i32 %.032.val39.i, 27 %52 = or disjoint i32 %51, %46 - store i32 %52, ptr %47, align 8 + store i32 %52, ptr %47, align 16 %53 = getelementptr inbounds nuw i8, ptr %.03246.i, i64 4 %.032.val40.i = load i32, ptr %.03246.i, align 4 %54 = and i32 %.032.val40.i, 31 @@ -868,7 +868,7 @@ define void @Of_ObjMergeOrder(ptr noundef captures(none) %0, i32 noundef %1) loc Of_CutGetSign.exit.i: ; preds = %.lr.ph.i.i, %.lr.ph.i %.06.lcssa.i.i = phi i64 [ 0, %.lr.ph.i ], [ %60, %.lr.ph.i.i ] - store i64 %.06.lcssa.i.i, ptr %.03444.i, align 8 + store i64 %.06.lcssa.i.i, ptr %.03444.i, align 16 %61 = getelementptr inbounds nuw i8, ptr %.03444.i, i64 20 %.032.val41.i = load i32, ptr %.03246.i, align 4 %62 = shl i32 %.032.val41.i, 2 @@ -968,14 +968,14 @@ Of_ManPrepareCuts.exit: ; preds = %32, %._crit_edge.i, %.032.val.i189 = load i32, ptr %.03246.i186, align 4 %113 = lshr i32 %.032.val.i189, 5 %114 = getelementptr inbounds nuw i8, ptr %.03444.i188, i64 16 - %115 = load i32, ptr %114, align 8 + %115 = load i32, ptr %114, align 16 %116 = and i32 %115, -134217728 %117 = or disjoint i32 %116, %113 - store i32 %117, ptr %114, align 8 + store i32 %117, ptr %114, align 16 %.032.val39.i190 = load i32, ptr %.03246.i186, align 4 %118 = shl i32 %.032.val39.i190, 27 %119 = or disjoint i32 %118, %113 - store i32 %119, ptr %114, align 8 + store i32 %119, ptr %114, align 16 %120 = getelementptr inbounds nuw i8, ptr %.03246.i186, i64 4 %.032.val40.i191 = load i32, ptr %.03246.i186, align 4 %121 = and i32 %.032.val40.i191, 31 @@ -1001,7 +1001,7 @@ Of_ManPrepareCuts.exit: ; preds = %32, %._crit_edge.i, Of_CutGetSign.exit.i200: ; preds = %.lr.ph.i.i195, %.lr.ph.i185 %.06.lcssa.i.i201 = phi i64 [ 0, %.lr.ph.i185 ], [ %127, %.lr.ph.i.i195 ] - store i64 %.06.lcssa.i.i201, ptr %.03444.i188, align 8 + store i64 %.06.lcssa.i.i201, ptr %.03444.i188, align 16 %128 = getelementptr inbounds nuw i8, ptr %.03444.i188, i64 20 %.032.val41.i202 = load i32, ptr %.03246.i186, align 4 %129 = shl i32 %.032.val41.i202, 2 @@ -1155,14 +1155,14 @@ Gia_ObjSiblObj.exit: ; preds = %._crit_edge %.032.val.i218 = load i32, ptr %.03246.i215, align 4 %205 = lshr i32 %.032.val.i218, 5 %206 = getelementptr inbounds nuw i8, ptr %.03444.i217, i64 16 - %207 = load i32, ptr %206, align 8 + %207 = load i32, ptr %206, align 16 %208 = and i32 %207, -134217728 %209 = or disjoint i32 %208, %205 - store i32 %209, ptr %206, align 8 + store i32 %209, ptr %206, align 16 %.032.val39.i219 = load i32, ptr %.03246.i215, align 4 %210 = shl i32 %.032.val39.i219, 27 %211 = or disjoint i32 %210, %205 - store i32 %211, ptr %206, align 8 + store i32 %211, ptr %206, align 16 %212 = getelementptr inbounds nuw i8, ptr %.03246.i215, i64 4 %.032.val40.i220 = load i32, ptr %.03246.i215, align 4 %213 = and i32 %.032.val40.i220, 31 @@ -1188,7 +1188,7 @@ Gia_ObjSiblObj.exit: ; preds = %._crit_edge Of_CutGetSign.exit.i229: ; preds = %.lr.ph.i.i224, %.lr.ph.i214 %.06.lcssa.i.i230 = phi i64 [ 0, %.lr.ph.i214 ], [ %219, %.lr.ph.i.i224 ] - store i64 %.06.lcssa.i.i230, ptr %.03444.i217, align 8 + store i64 %.06.lcssa.i.i230, ptr %.03444.i217, align 16 %220 = getelementptr inbounds nuw i8, ptr %.03444.i217, i64 20 %.032.val41.i231 = load i32, ptr %.03246.i215, align 4 %221 = shl i32 %.032.val41.i231, 2 @@ -1241,7 +1241,7 @@ Of_ManPrepareCuts.exit233: ; preds = %Of_CutGetSign.exit. %248 = sext i32 %.1148555 to i64 %249 = getelementptr inbounds [32 x ptr], ptr %8, i64 0, i64 %248 %250 = load ptr, ptr %249, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %250, ptr noundef nonnull align 8 dereferenceable(48) %.0149554, i64 48, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %250, ptr noundef nonnull align 16 dereferenceable(48) %.0149554, i64 48, i1 false) %251 = load ptr, ptr %19, align 8 %252 = getelementptr inbounds nuw i8, ptr %251, i64 88 %253 = load i32, ptr %252, align 8 @@ -1377,7 +1377,7 @@ Gia_ObjFaninId2.exit: ; preds = %Gia_ObjIsMuxId.exit %.032.val.i251 = load i32, ptr %.03246.i248, align 4 %315 = getelementptr inbounds nuw i8, ptr %.03444.i250, i64 16 %316 = call i32 @llvm.fshl.i32(i32 %.032.val.i251, i32 %.032.val.i251, i32 27) - store i32 %316, ptr %315, align 8 + store i32 %316, ptr %315, align 16 %317 = getelementptr inbounds nuw i8, ptr %.03246.i248, i64 4 %.032.val40.i253 = load i32, ptr %.03246.i248, align 4 %318 = and i32 %.032.val40.i253, 31 @@ -1403,7 +1403,7 @@ Gia_ObjFaninId2.exit: ; preds = %Gia_ObjIsMuxId.exit Of_CutGetSign.exit.i262: ; preds = %.lr.ph.i.i257, %.lr.ph.i247 %.06.lcssa.i.i263 = phi i64 [ 0, %.lr.ph.i247 ], [ %324, %.lr.ph.i.i257 ] - store i64 %.06.lcssa.i.i263, ptr %.03444.i250, align 8 + store i64 %.06.lcssa.i.i263, ptr %.03444.i250, align 16 %325 = getelementptr inbounds nuw i8, ptr %.03444.i250, i64 20 %.032.val41.i264 = load i32, ptr %.03246.i248, align 4 %326 = shl i32 %.032.val41.i264, 2 @@ -1528,10 +1528,10 @@ Gia_ObjFaninC2.exit: ; preds = %Of_ManPrepareCuts.e 394: ; preds = %Of_SetAddCut.exit.us.us.us, %.preheader500.us.us.us %.0145558.us.us.us = phi ptr [ %10, %.preheader500.us.us.us ], [ %869, %Of_SetAddCut.exit.us.us.us ] %.4557.us.us.us = phi i32 [ %.3562.us.us.us, %.preheader500.us.us.us ], [ %.5.us.us.us, %Of_SetAddCut.exit.us.us.us ] - %395 = load i64, ptr %.0567.us.us, align 8 - %396 = load i64, ptr %.0143563.us.us.us, align 8 + %395 = load i64, ptr %.0567.us.us, align 16 + %396 = load i64, ptr %.0143563.us.us.us, align 16 %397 = or i64 %396, %395 - %398 = load i64, ptr %.0145558.us.us.us, align 8 + %398 = load i64, ptr %.0145558.us.us.us, align 16 %399 = or i64 %397, %398 %400 = call range(i64 0, 65) i64 @llvm.ctpop.i64(i64 %399) %401 = trunc nuw nsw i64 %400 to i32 @@ -1545,12 +1545,12 @@ Gia_ObjFaninC2.exit: ; preds = %Of_ManPrepareCuts.e %406 = sext i32 %.4557.us.us.us to i64 %407 = getelementptr inbounds [32 x ptr], ptr %8, i64 0, i64 %406 %408 = load ptr, ptr %407, align 8 - %409 = load i32, ptr %390, align 8 + %409 = load i32, ptr %390, align 16 %410 = lshr i32 %409, 27 - %411 = load i32, ptr %392, align 8 + %411 = load i32, ptr %392, align 16 %412 = lshr i32 %411, 27 %413 = getelementptr inbounds nuw i8, ptr %.0145558.us.us.us, i64 16 - %414 = load i32, ptr %413, align 8 + %414 = load i32, ptr %413, align 16 %415 = lshr i32 %414, 27 %416 = getelementptr inbounds nuw i8, ptr %.0145558.us.us.us, i64 20 %417 = getelementptr inbounds nuw i8, ptr %408, i64 20 @@ -1624,10 +1624,10 @@ Gia_ObjFaninC2.exit: ; preds = %Of_ManPrepareCuts.e %455 = shl i32 %453, 27 %456 = or disjoint i32 %455, 134217727 store i32 %456, ptr %454, align 8 - %457 = load i64, ptr %.0567.us.us, align 8 - %458 = load i64, ptr %.0143563.us.us.us, align 8 + %457 = load i64, ptr %.0567.us.us, align 16 + %458 = load i64, ptr %.0143563.us.us.us, align 16 %459 = or i64 %458, %457 - %460 = load i64, ptr %.0145558.us.us.us, align 8 + %460 = load i64, ptr %.0145558.us.us.us, align 16 %461 = or i64 %459, %460 store i64 %461, ptr %408, align 8 %462 = icmp sgt i32 %.4557.us.us.us, 0 @@ -1758,7 +1758,7 @@ Of_SetLastCutIsContained.exit.us.us.us: ; preds = %Of_SetCutIsContaine 516: ; preds = %Of_SetLastCutIsContained.exit.us.us.us call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) %517 = load ptr, ptr %384, align 8 - %518 = load i32, ptr %390, align 8 + %518 = load i32, ptr %390, align 16 %519 = lshr i32 %518, 1 %520 = and i32 %519, 67108863 %521 = getelementptr inbounds nuw i8, ptr %517, i64 24 @@ -1777,7 +1777,7 @@ Of_SetLastCutIsContained.exit.us.us.us: ; preds = %Of_SetCutIsContaine %534 = sext i32 %533 to i64 %535 = getelementptr inbounds i64, ptr %528, i64 %534 %536 = load i64, ptr %535, align 8 - %537 = load i32, ptr %392, align 8 + %537 = load i32, ptr %392, align 16 %538 = lshr i32 %537, 1 %539 = and i32 %538, 67108863 %540 = lshr i32 %539, %524 @@ -1789,7 +1789,7 @@ Of_SetLastCutIsContained.exit.us.us.us: ; preds = %Of_SetCutIsContaine %546 = sext i32 %545 to i64 %547 = getelementptr inbounds i64, ptr %543, i64 %546 %548 = load i64, ptr %547, align 8 - %549 = load i32, ptr %413, align 8 + %549 = load i32, ptr %413, align 16 %550 = lshr i32 %549, 1 %551 = and i32 %550, 67108863 %552 = lshr i32 %551, %524 @@ -2475,18 +2475,18 @@ Gia_ObjIsXor.exit: ; preds = %Gia_ObjIsMuxId.exit 902: ; preds = %.preheader.us, %Of_SetAddCut.exit461.us %.1144579.us = phi ptr [ %6, %.preheader.us ], [ %1339, %Of_SetAddCut.exit461.us ] %.8575.us = phi i32 [ %.7583.us, %.preheader.us ], [ %.9.us, %Of_SetAddCut.exit461.us ] - %903 = load i32, ptr %900, align 8 + %903 = load i32, ptr %900, align 16 %904 = lshr i32 %903, 27 %905 = getelementptr inbounds nuw i8, ptr %.1144579.us, i64 16 - %906 = load i32, ptr %905, align 8 + %906 = load i32, ptr %905, align 16 %907 = lshr i32 %906, 27 %908 = add nuw nsw i32 %907, %904 %909 = icmp sgt i32 %908, %21 br i1 %909, label %910, label %917 910: ; preds = %902 - %911 = load i64, ptr %.1584.us, align 8 - %912 = load i64, ptr %.1144579.us, align 8 + %911 = load i64, ptr %.1584.us, align 16 + %912 = load i64, ptr %.1144579.us, align 16 %913 = or i64 %912, %911 %914 = call range(i64 0, 65) i64 @llvm.ctpop.i64(i64 %913) %915 = trunc nuw nsw i64 %914 to i32 @@ -2670,8 +2670,8 @@ Gia_ObjIsXor.exit: ; preds = %Gia_ObjIsMuxId.exit %979 = shl i32 %.5.lcssa.sink.i.us.fr, 27 %980 = or disjoint i32 %979, 134217727 store i32 %980, ptr %978, align 8 - %981 = load i64, ptr %.1584.us, align 8 - %982 = load i64, ptr %.1144579.us, align 8 + %981 = load i64, ptr %.1584.us, align 16 + %982 = load i64, ptr %.1144579.us, align 16 %983 = or i64 %982, %981 store i64 %983, ptr %922, align 8 %984 = icmp sgt i32 %.8575.us, 0 @@ -2802,7 +2802,7 @@ Of_SetLastCutIsContained.exit360.us: ; preds = %Of_SetCutIsContaine 1038: ; preds = %Of_SetLastCutIsContained.exit360.us call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) %1039 = load ptr, ptr %895, align 8 - %1040 = load i32, ptr %900, align 8 + %1040 = load i32, ptr %900, align 16 %1041 = lshr i32 %1040, 1 %1042 = and i32 %1041, 67108863 %1043 = getelementptr inbounds nuw i8, ptr %1039, i64 24 @@ -2821,7 +2821,7 @@ Of_SetLastCutIsContained.exit360.us: ; preds = %Of_SetCutIsContaine %1056 = sext i32 %1055 to i64 %1057 = getelementptr inbounds i64, ptr %1050, i64 %1056 %1058 = load i64, ptr %1057, align 8 - %1059 = load i32, ptr %905, align 8 + %1059 = load i32, ptr %905, align 16 %1060 = lshr i32 %1059, 1 %1061 = and i32 %1060, 67108863 %1062 = lshr i32 %1061, %1046 diff --git a/bench/abseil-cpp/optimized/arg.cc.ll b/bench/abseil-cpp/optimized/arg.cc.ll index de0f8ca3cbc..b40bfe35a9d 100644 --- a/bench/abseil-cpp/optimized/arg.cc.ll +++ b/bench/abseil-cpp/optimized/arg.cc.ll @@ -1415,7 +1415,7 @@ do.body.i14: ; preds = %do.body.i14, %sw.bb %mul.i = zext nneg i32 %4 to i64 %add.ptr3.i = getelementptr inbounds nuw i8, ptr @_ZN4absl16numbers_internal9kHexTableE, i64 %mul.i %5 = load i16, ptr %add.ptr3.i, align 2 - store i16 %5, ptr %add.ptr2.i, align 1 + store i16 %5, ptr %add.ptr2.i, align 2 %shr.i17 = lshr i32 %v.addr.0.i16, 8 %tobool.not.i18 = icmp ult i32 %v.addr.0.i16, 256 br i1 %tobool.not.i18, label %_ZN4absl19str_format_internal12_GLOBAL__N_19IntDigits15PrintAsHexLowerIjEEvT_.exit, label %do.body.i14, !llvm.loop !10 @@ -1606,7 +1606,7 @@ do.body.i16: ; preds = %do.body.i16, %sw.bb %mul.i = zext nneg i16 %6 to i64 %add.ptr3.i = getelementptr inbounds nuw i8, ptr @_ZN4absl16numbers_internal9kHexTableE, i64 %mul.i %7 = load i16, ptr %add.ptr3.i, align 2 - store i16 %7, ptr %add.ptr2.i, align 1 + store i16 %7, ptr %add.ptr2.i, align 2 %8 = lshr i16 %v.addr.0.i18, 8 %tobool.not.i19 = icmp ult i16 %v.addr.0.i18, 256 br i1 %tobool.not.i19, label %_ZN4absl19str_format_internal12_GLOBAL__N_19IntDigits15PrintAsHexLowerItEEvT_.exit, label %do.body.i16, !llvm.loop !13 @@ -1799,7 +1799,7 @@ do.body.i16: ; preds = %do.body.i16, %sw.bb %mul.i = zext nneg i16 %6 to i64 %add.ptr3.i = getelementptr inbounds nuw i8, ptr @_ZN4absl16numbers_internal9kHexTableE, i64 %mul.i %7 = load i16, ptr %add.ptr3.i, align 2 - store i16 %7, ptr %add.ptr2.i, align 1 + store i16 %7, ptr %add.ptr2.i, align 2 %8 = lshr i16 %v.addr.0.i18, 8 %tobool.not.i19 = icmp ult i16 %v.addr.0.i18, 256 br i1 %tobool.not.i19, label %_ZN4absl19str_format_internal12_GLOBAL__N_19IntDigits15PrintAsHexLowerItEEvT_.exit, label %do.body.i16, !llvm.loop !13 @@ -1991,7 +1991,7 @@ do.body.i16: ; preds = %do.body.i16, %sw.bb %mul.i = zext nneg i32 %5 to i64 %add.ptr3.i = getelementptr inbounds nuw i8, ptr @_ZN4absl16numbers_internal9kHexTableE, i64 %mul.i %6 = load i16, ptr %add.ptr3.i, align 2 - store i16 %6, ptr %add.ptr2.i, align 1 + store i16 %6, ptr %add.ptr2.i, align 2 %shr.i19 = lshr i32 %v.addr.0.i18, 8 %tobool.not.i20 = icmp ult i32 %v.addr.0.i18, 256 br i1 %tobool.not.i20, label %_ZN4absl19str_format_internal12_GLOBAL__N_19IntDigits15PrintAsHexLowerIjEEvT_.exit, label %do.body.i16, !llvm.loop !10 @@ -2181,7 +2181,7 @@ do.body.i16: ; preds = %do.body.i16, %sw.bb %mul.i = zext nneg i32 %5 to i64 %add.ptr3.i = getelementptr inbounds nuw i8, ptr @_ZN4absl16numbers_internal9kHexTableE, i64 %mul.i %6 = load i16, ptr %add.ptr3.i, align 2 - store i16 %6, ptr %add.ptr2.i, align 1 + store i16 %6, ptr %add.ptr2.i, align 2 %shr.i19 = lshr i32 %v.addr.0.i18, 8 %tobool.not.i20 = icmp ult i32 %v.addr.0.i18, 256 br i1 %tobool.not.i20, label %_ZN4absl19str_format_internal12_GLOBAL__N_19IntDigits15PrintAsHexLowerIjEEvT_.exit, label %do.body.i16, !llvm.loop !10 @@ -2371,7 +2371,7 @@ do.body.i16: ; preds = %do.body.i16, %sw.bb %mul.i = and i64 %and.i, 510 %add.ptr3.i = getelementptr inbounds nuw i8, ptr @_ZN4absl16numbers_internal9kHexTableE, i64 %mul.i %4 = load i16, ptr %add.ptr3.i, align 2 - store i16 %4, ptr %add.ptr2.i, align 1 + store i16 %4, ptr %add.ptr2.i, align 2 %shr.i19 = lshr i64 %v.addr.0.i18, 8 %tobool.not.i20 = icmp ult i64 %v.addr.0.i18, 256 br i1 %tobool.not.i20, label %_ZN4absl19str_format_internal12_GLOBAL__N_19IntDigits15PrintAsHexLowerImEEvT_.exit, label %do.body.i16, !llvm.loop !16 @@ -2560,7 +2560,7 @@ do.body.i16: ; preds = %do.body.i16, %sw.bb %mul.i = and i64 %and.i, 510 %add.ptr3.i = getelementptr inbounds nuw i8, ptr @_ZN4absl16numbers_internal9kHexTableE, i64 %mul.i %4 = load i16, ptr %add.ptr3.i, align 2 - store i16 %4, ptr %add.ptr2.i, align 1 + store i16 %4, ptr %add.ptr2.i, align 2 %shr.i19 = lshr i64 %v.addr.0.i18, 8 %tobool.not.i20 = icmp ult i64 %v.addr.0.i18, 256 br i1 %tobool.not.i20, label %_ZN4absl19str_format_internal12_GLOBAL__N_19IntDigits15PrintAsHexLowerImEEvT_.exit, label %do.body.i16, !llvm.loop !16 @@ -2749,7 +2749,7 @@ do.body.i16: ; preds = %do.body.i16, %sw.bb %mul.i = and i64 %and.i, 510 %add.ptr3.i = getelementptr inbounds nuw i8, ptr @_ZN4absl16numbers_internal9kHexTableE, i64 %mul.i %4 = load i16, ptr %add.ptr3.i, align 2 - store i16 %4, ptr %add.ptr2.i, align 1 + store i16 %4, ptr %add.ptr2.i, align 2 %shr.i19 = lshr i64 %v.addr.0.i18, 8 %tobool.not.i20 = icmp ult i64 %v.addr.0.i18, 256 br i1 %tobool.not.i20, label %_ZN4absl19str_format_internal12_GLOBAL__N_19IntDigits15PrintAsHexLowerIyEEvT_.exit, label %do.body.i16, !llvm.loop !19 @@ -2938,7 +2938,7 @@ do.body.i16: ; preds = %do.body.i16, %sw.bb %mul.i = and i64 %and.i, 510 %add.ptr3.i = getelementptr inbounds nuw i8, ptr @_ZN4absl16numbers_internal9kHexTableE, i64 %mul.i %4 = load i16, ptr %add.ptr3.i, align 2 - store i16 %4, ptr %add.ptr2.i, align 1 + store i16 %4, ptr %add.ptr2.i, align 2 %shr.i19 = lshr i64 %v.addr.0.i18, 8 %tobool.not.i20 = icmp ult i64 %v.addr.0.i18, 256 br i1 %tobool.not.i20, label %_ZN4absl19str_format_internal12_GLOBAL__N_19IntDigits15PrintAsHexLowerIyEEvT_.exit, label %do.body.i16, !llvm.loop !19 @@ -3113,7 +3113,7 @@ do.body.i.i: ; preds = %do.body.i.i, %if.en %mul.i.i = and i64 %and.i.i, 510 %add.ptr3.i.i = getelementptr inbounds nuw i8, ptr @_ZN4absl16numbers_internal9kHexTableE, i64 %mul.i.i %10 = load i16, ptr %add.ptr3.i.i, align 2 - store i16 %10, ptr %add.ptr2.i.i, align 1 + store i16 %10, ptr %add.ptr2.i.i, align 2 %shr.i.i = lshr i64 %v.addr.0.i.i, 8 %tobool.not.i.i = icmp ult i64 %v.addr.0.i.i, 256 br i1 %tobool.not.i.i, label %_ZN4absl19str_format_internal12_GLOBAL__N_19IntDigits15PrintAsHexLowerImEEvT_.exit.i, label %do.body.i.i, !llvm.loop !16 @@ -3194,7 +3194,7 @@ do.body.i: ; preds = %do.body.i, %if.end %mul.i = and i64 %and.i, 510 %add.ptr3.i = getelementptr inbounds nuw i8, ptr @_ZN4absl16numbers_internal9kHexTableE, i64 %mul.i %7 = load i16, ptr %add.ptr3.i, align 2 - store i16 %7, ptr %add.ptr2.i, align 1 + store i16 %7, ptr %add.ptr2.i, align 2 %shr.i = lshr i64 %v.addr.0.i, 8 %tobool.not.i = icmp ult i64 %v.addr.0.i, 256 br i1 %tobool.not.i, label %_ZN4absl19str_format_internal12_GLOBAL__N_19IntDigits15PrintAsHexLowerImEEvT_.exit, label %do.body.i, !llvm.loop !16 @@ -4154,7 +4154,7 @@ do.body.i.i: ; preds = %do.body.i.i, %if.en %mul.i.i = and i64 %and.i.i, 510 %add.ptr3.i.i = getelementptr inbounds nuw i8, ptr @_ZN4absl16numbers_internal9kHexTableE, i64 %mul.i.i %9 = load i16, ptr %add.ptr3.i.i, align 2 - store i16 %9, ptr %add.ptr2.i.i, align 1 + store i16 %9, ptr %add.ptr2.i.i, align 2 %shr.i.i = lshr i64 %v.addr.0.i.i, 8 %tobool.not.i.i = icmp ult i64 %v.addr.0.i.i, 256 br i1 %tobool.not.i.i, label %_ZN4absl19str_format_internal12_GLOBAL__N_19IntDigits15PrintAsHexLowerImEEvT_.exit.i, label %do.body.i.i, !llvm.loop !16 @@ -4719,7 +4719,7 @@ do.body.i.i: ; preds = %do.body.i.i, %if.en %mul.i.i = and i64 %and.i.i, 510 %add.ptr3.i.i = getelementptr inbounds nuw i8, ptr @_ZN4absl16numbers_internal9kHexTableE, i64 %mul.i.i %9 = load i16, ptr %add.ptr3.i.i, align 2 - store i16 %9, ptr %add.ptr2.i.i, align 1 + store i16 %9, ptr %add.ptr2.i.i, align 2 %shr.i.i = lshr i64 %v.addr.0.i.i, 8 %tobool.not.i.i = icmp ult i64 %v.addr.0.i.i, 256 br i1 %tobool.not.i.i, label %_ZN4absl19str_format_internal12_GLOBAL__N_19IntDigits15PrintAsHexLowerImEEvT_.exit.i, label %do.body.i.i, !llvm.loop !16 @@ -5464,7 +5464,7 @@ do.body.i12: ; preds = %do.body.i12, %sw.bb %mul.i = and i64 %and.i, 510 %add.ptr3.i = getelementptr inbounds nuw i8, ptr @_ZN4absl16numbers_internal9kHexTableE, i64 %mul.i %5 = load i16, ptr %add.ptr3.i, align 2 - store i16 %5, ptr %add.ptr2.i, align 1 + store i16 %5, ptr %add.ptr2.i, align 2 %coerce.sroa.2.0.insert.ext.i.i.i16 = zext i64 %v.sroa.5.0.i13 to i128 %coerce.sroa.2.0.insert.shift.i.i.i17 = shl nuw i128 %coerce.sroa.2.0.insert.ext.i.i.i16, 64 %coerce.sroa.0.0.insert.ext.i.i.i18 = zext i64 %v.sroa.0.0.i14 to i128 @@ -5783,7 +5783,7 @@ do.body.i11: ; preds = %do.body.i11, %sw.bb %mul.i = and i64 %and.i, 510 %add.ptr3.i = getelementptr inbounds nuw i8, ptr @_ZN4absl16numbers_internal9kHexTableE, i64 %mul.i %5 = load i16, ptr %add.ptr3.i, align 2 - store i16 %5, ptr %add.ptr2.i, align 1 + store i16 %5, ptr %add.ptr2.i, align 2 %coerce.sroa.2.0.insert.ext.i.i.i15 = zext i64 %v.sroa.5.0.i12 to i128 %coerce.sroa.2.0.insert.shift.i.i.i16 = shl nuw i128 %coerce.sroa.2.0.insert.ext.i.i.i15, 64 %coerce.sroa.0.0.insert.ext.i.i.i17 = zext i64 %v.sroa.0.0.i13 to i128 diff --git a/bench/abseil-cpp/optimized/inlined_vector_test.cc.ll b/bench/abseil-cpp/optimized/inlined_vector_test.cc.ll index 6d50e048584..629d358f99b 100644 --- a/bench/abseil-cpp/optimized/inlined_vector_test.cc.ll +++ b/bench/abseil-cpp/optimized/inlined_vector_test.cc.ll @@ -117898,7 +117898,7 @@ for.inc.i.i: ; preds = %_ZN4absl23inlined_v %i.02.i.i = phi i64 [ %inc.i.i, %for.inc.i.i ], [ 0, %_ZN4absl23inlined_vector_internal7StorageIN12_GLOBAL__N_129MoveConstructibleOnlyInstanceELm2ESaIS3_EE21DeallocateIfAllocatedEv.exit.i ] %other_values.sroa.0.0.i = getelementptr inbounds nuw i8, ptr %other_values.sroa.0.0.pn.i, i64 8 %add.ptr.i.i = getelementptr inbounds nuw %"class.(anonymous namespace)::MoveConstructibleOnlyInstance", ptr %0, i64 %i.02.i.i - %4 = load i32, ptr %other_values.sroa.0.0.i, align 4 + %4 = load i32, ptr %other_values.sroa.0.0.i, align 8 store i32 %4, ptr %add.ptr.i.i, align 8 %is_live_.i.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %add.ptr.i.i, i64 4 %is_live_3.i.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %other_values.sroa.0.0.pn.i, i64 12 @@ -123087,18 +123087,18 @@ _ZN12_GLOBAL__N_120NonSwappableInstanceD2Ev.exit.i.i.i: ; preds = %if.then7.i, % %i.033.i.i.i = phi i64 [ %inc.i.i.i, %_ZN12_GLOBAL__N_120NonSwappableInstanceD2Ev.exit.i.i.i ], [ 0, %if.then7.i ] %a.0.i.i.i = getelementptr inbounds nuw i8, ptr %this.pn35.i.i.i, i64 8 %b.0.i.i.i = getelementptr inbounds nuw i8, ptr %other.pn34.i.i.i, i64 8 - %2 = load i32, ptr %a.0.i.i.i, align 4 + %2 = load i32, ptr %a.0.i.i.i, align 8 %is_live_3.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %this.pn35.i.i.i, i64 12 %3 = load i8, ptr %is_live_3.i.i.i.i.i, align 4 %frombool.i.i.i.i.i = and i8 %3, 1 store i8 0, ptr %is_live_3.i.i.i.i.i, align 4 - %4 = load i32, ptr %b.0.i.i.i, align 4 - store i32 %4, ptr %a.0.i.i.i, align 4 + %4 = load i32, ptr %b.0.i.i.i, align 8 + store i32 %4, ptr %a.0.i.i.i, align 8 %is_live_3.i.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %other.pn34.i.i.i, i64 12 %5 = load i8, ptr %is_live_3.i.i.i.i.i.i.i, align 4 %frombool.i.i.i.i.i.i.i = and i8 %5, 1 store i8 %frombool.i.i.i.i.i.i.i, ptr %is_live_3.i.i.i.i.i, align 4 - store i32 %2, ptr %b.0.i.i.i, align 4 + store i32 %2, ptr %b.0.i.i.i, align 8 store i8 %frombool.i.i.i.i.i, ptr %is_live_3.i.i.i.i.i.i.i, align 4 %inc.i.i.i = add nuw nsw i64 %i.033.i.i.i, 1 %exitcond.not.i.i.i = icmp eq i64 %inc.i.i.i, %shr.i10.i.i @@ -123123,7 +123123,7 @@ for.inc.i.i.i: ; preds = %_ZN4absl23inlined_v %move_values.sroa.0.0.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i, %for.inc.i.i.i ], [ %add.ptr.i.i, %_ZN4absl23inlined_vector_internal7StorageIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS3_EE5SwapNENS5_26ElementwiseConstructPolicyEPS5_m.exit.i.i ] %i.02.i.i.i = phi i64 [ %inc.i13.i.i, %for.inc.i.i.i ], [ 0, %_ZN4absl23inlined_vector_internal7StorageIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS3_EE5SwapNENS5_26ElementwiseConstructPolicyEPS5_m.exit.i.i ] %add.ptr.i.i.i = getelementptr inbounds %"class.(anonymous namespace)::NonSwappableInstance", ptr %add.ptr8.i.i, i64 %i.02.i.i.i - %9 = load i32, ptr %move_values.sroa.0.0.i.i, align 4 + %9 = load i32, ptr %move_values.sroa.0.0.i.i, align 8 store i32 %9, ptr %add.ptr.i.i.i, align 8 %is_live_.i.i.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %add.ptr.i.i.i, i64 4 %is_live_3.i.i.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %move_values.sroa.0.0.i.i, i64 4 @@ -123185,7 +123185,7 @@ for.inc.i.i: ; preds = %invoke.cont17.i, %f %move_values.sroa.0.0.i = phi ptr [ %incdec.ptr.i.i.i.i, %for.inc.i.i ], [ %data_.i.i, %invoke.cont17.i ] %i.02.i.i = phi i64 [ %inc.i.i, %for.inc.i.i ], [ 0, %invoke.cont17.i ] %add.ptr.i26.i = getelementptr inbounds nuw %"class.(anonymous namespace)::NonSwappableInstance", ptr %14, i64 %i.02.i.i - %16 = load i32, ptr %move_values.sroa.0.0.i, align 4 + %16 = load i32, ptr %move_values.sroa.0.0.i, align 8 store i32 %16, ptr %add.ptr.i26.i, align 8 %is_live_.i.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %add.ptr.i26.i, i64 4 %is_live_3.i.i.i.i.i.i27.i = getelementptr inbounds nuw i8, ptr %move_values.sroa.0.0.i, i64 4 @@ -132147,18 +132147,18 @@ for.body.i.i.i: ; preds = %for.body.i.i.i, %fo %__first1.addr.06.i.pn.i.i = phi ptr [ %__first1.addr.06.i.i.i, %for.body.i.i.i ], [ %a, %for.body.i.preheader.i.i ] %__first1.addr.06.i.i.i = getelementptr inbounds nuw i8, ptr %__first1.addr.06.i.pn.i.i, i64 8 %__first2.addr.07.i.i.i = getelementptr inbounds nuw i8, ptr %__first2.addr.07.i.pn.i.i, i64 8 - %78 = load i32, ptr %__first1.addr.06.i.i.i, align 4 - %79 = load i32, ptr %__first2.addr.07.i.i.i, align 4 - store i32 %79, ptr %__first1.addr.06.i.i.i, align 4 - store i32 %78, ptr %__first2.addr.07.i.i.i, align 4 + %78 = load i32, ptr %__first1.addr.06.i.i.i, align 8 + %79 = load i32, ptr %__first2.addr.07.i.i.i, align 8 + store i32 %79, ptr %__first1.addr.06.i.i.i, align 8 + store i32 %78, ptr %__first2.addr.07.i.i.i, align 8 %is_live_.i.i.i.i.i.i693 = getelementptr inbounds nuw i8, ptr %__first1.addr.06.i.pn.i.i, i64 12 %is_live_2.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %__first2.addr.07.i.pn.i.i, i64 12 - %80 = load i8, ptr %is_live_.i.i.i.i.i.i693, align 1 + %80 = load i8, ptr %is_live_.i.i.i.i.i.i693, align 4 %frombool.i.i.i.i.i.i.i694 = and i8 %80, 1 - %81 = load i8, ptr %is_live_2.i.i.i.i.i.i, align 1 + %81 = load i8, ptr %is_live_2.i.i.i.i.i.i, align 4 %frombool2.i.i.i.i.i.i.i = and i8 %81, 1 - store i8 %frombool2.i.i.i.i.i.i.i, ptr %is_live_.i.i.i.i.i.i693, align 1 - store i8 %frombool.i.i.i.i.i.i.i694, ptr %is_live_2.i.i.i.i.i.i, align 1 + store i8 %frombool2.i.i.i.i.i.i.i, ptr %is_live_.i.i.i.i.i.i693, align 4 + store i8 %frombool.i.i.i.i.i.i.i694, ptr %is_live_2.i.i.i.i.i.i, align 4 %cmp.not.i.i.i695 = icmp eq ptr %__first1.addr.06.i.i.i, %76 br i1 %cmp.not.i.i.i695, label %_ZSt11swap_rangesIPN4absl13test_internal20CopyableOnlyInstanceES3_ET0_T_S5_S4_.exit.loopexit.i.i, label %for.body.i.i.i, !llvm.loop !3128 @@ -132190,7 +132190,7 @@ for.body.i.i699: ; preds = %for.body.i.i699.pre %move_values.sroa.0.0.i700 = phi ptr [ %incdec.ptr.i.i.i.i709, %for.inc.i.i707 ], [ %add.ptr.i697, %for.body.i.i699.preheader ] %i.09.i.i701 = phi i64 [ %inc.i.i710, %for.inc.i.i707 ], [ 0, %for.body.i.i699.preheader ] %add.ptr.i.i702 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %add.ptr8.i, i64 %i.09.i.i701 - %86 = load i32, ptr %move_values.sroa.0.0.i700, align 4 + %86 = load i32, ptr %move_values.sroa.0.0.i700, align 8 store i32 %86, ptr %add.ptr.i.i702, align 8 %is_live_.i.i.i.i.i.i.i703 = getelementptr inbounds nuw i8, ptr %add.ptr.i.i702, i64 4 %is_live_3.i.i.i.i.i.i.i704 = getelementptr inbounds nuw i8, ptr %move_values.sroa.0.0.i700, i64 4 @@ -134796,18 +134796,18 @@ for.body.i.i.i: ; preds = %for.body.i.i.i, %fo %__first1.addr.06.i.pn.i.i = phi ptr [ %__first1.addr.06.i.i.i, %for.body.i.i.i ], [ %a, %for.body.i.preheader.i.i ] %__first1.addr.06.i.i.i = getelementptr inbounds nuw i8, ptr %__first1.addr.06.i.pn.i.i, i64 8 %__first2.addr.07.i.i.i = getelementptr inbounds nuw i8, ptr %__first2.addr.07.i.pn.i.i, i64 8 - %79 = load i32, ptr %__first1.addr.06.i.i.i, align 4 - %80 = load i32, ptr %__first2.addr.07.i.i.i, align 4 - store i32 %80, ptr %__first1.addr.06.i.i.i, align 4 - store i32 %79, ptr %__first2.addr.07.i.i.i, align 4 + %79 = load i32, ptr %__first1.addr.06.i.i.i, align 8 + %80 = load i32, ptr %__first2.addr.07.i.i.i, align 8 + store i32 %80, ptr %__first1.addr.06.i.i.i, align 8 + store i32 %79, ptr %__first2.addr.07.i.i.i, align 8 %is_live_.i.i.i.i.i.i675 = getelementptr inbounds nuw i8, ptr %__first1.addr.06.i.pn.i.i, i64 12 %is_live_2.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %__first2.addr.07.i.pn.i.i, i64 12 - %81 = load i8, ptr %is_live_.i.i.i.i.i.i675, align 1 + %81 = load i8, ptr %is_live_.i.i.i.i.i.i675, align 4 %frombool.i.i.i.i.i.i.i676 = and i8 %81, 1 - %82 = load i8, ptr %is_live_2.i.i.i.i.i.i, align 1 + %82 = load i8, ptr %is_live_2.i.i.i.i.i.i, align 4 %frombool2.i.i.i.i.i.i.i = and i8 %82, 1 - store i8 %frombool2.i.i.i.i.i.i.i, ptr %is_live_.i.i.i.i.i.i675, align 1 - store i8 %frombool.i.i.i.i.i.i.i676, ptr %is_live_2.i.i.i.i.i.i, align 1 + store i8 %frombool2.i.i.i.i.i.i.i, ptr %is_live_.i.i.i.i.i.i675, align 4 + store i8 %frombool.i.i.i.i.i.i.i676, ptr %is_live_2.i.i.i.i.i.i, align 4 %cmp.not.i.i.i677 = icmp eq ptr %__first1.addr.06.i.i.i, %77 br i1 %cmp.not.i.i.i677, label %_ZSt11swap_rangesIPN4absl13test_internal23CopyableMovableInstanceES3_ET0_T_S5_S4_.exit.loopexit.i.i, label %for.body.i.i.i, !llvm.loop !3152 @@ -134837,7 +134837,7 @@ for.inc.i.i681: ; preds = %for.inc.i.i681.preh %move_values.sroa.0.0.i682 = phi ptr [ %incdec.ptr.i.i.i.i689, %for.inc.i.i681 ], [ %add.ptr.i679, %for.inc.i.i681.preheader ] %i.08.i.i683 = phi i64 [ %inc.i.i690, %for.inc.i.i681 ], [ 0, %for.inc.i.i681.preheader ] %add.ptr.i.i684 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %add.ptr8.i, i64 %i.08.i.i683 - %87 = load i32, ptr %move_values.sroa.0.0.i682, align 4 + %87 = load i32, ptr %move_values.sroa.0.0.i682, align 8 store i32 %87, ptr %add.ptr.i.i684, align 8 %is_live_.i.i.i.i.i.i.i685 = getelementptr inbounds nuw i8, ptr %add.ptr.i.i684, i64 4 %is_live_3.i.i.i.i.i.i.i686 = getelementptr inbounds nuw i8, ptr %move_values.sroa.0.0.i682, i64 4 @@ -148843,7 +148843,7 @@ for.body.i.i: ; preds = %for.body.i.i.prehea %i.09.i.i = phi i64 [ %inc.i.i108, %for.inc.i.i ], [ 0, %for.body.i.i.preheader ] %other_values.sroa.0.0.i = getelementptr inbounds nuw i8, ptr %other_values.sroa.0.0.pn.i, i64 8 %add.ptr.i.i = getelementptr inbounds nuw %"class.absl::test_internal::CopyableOnlyInstance", ptr %data_.i9.i, i64 %i.09.i.i - %65 = load i32, ptr %other_values.sroa.0.0.i, align 4 + %65 = load i32, ptr %other_values.sroa.0.0.i, align 8 store i32 %65, ptr %add.ptr.i.i, align 8 %is_live_.i.i.i.i.i.i.i102 = getelementptr inbounds nuw i8, ptr %add.ptr.i.i, i64 4 %is_live_3.i.i.i.i.i.i.i103 = getelementptr inbounds nuw i8, ptr %other_values.sroa.0.0.pn.i, i64 12 @@ -150734,7 +150734,7 @@ for.inc.i.i: ; preds = %for.inc.i.i.prehead %i.08.i.i = phi i64 [ %inc.i.i107, %for.inc.i.i ], [ 0, %for.inc.i.i.preheader ] %other_values.sroa.0.0.i = getelementptr inbounds nuw i8, ptr %other_values.sroa.0.0.pn.i, i64 8 %add.ptr.i.i = getelementptr inbounds nuw %"class.absl::test_internal::CopyableMovableInstance", ptr %data_.i9.i, i64 %i.08.i.i - %65 = load i32, ptr %other_values.sroa.0.0.i, align 4 + %65 = load i32, ptr %other_values.sroa.0.0.i, align 8 store i32 %65, ptr %add.ptr.i.i, align 8 %is_live_.i.i.i.i.i.i.i102 = getelementptr inbounds nuw i8, ptr %add.ptr.i.i, i64 4 %is_live_3.i.i.i.i.i.i.i103 = getelementptr inbounds nuw i8, ptr %other_values.sroa.0.0.pn.i, i64 12 @@ -159555,7 +159555,7 @@ for.body.i.i836: ; preds = %if.end25.i, %_ZN4ab %values.sroa.0.0.i = phi ptr [ %incdec.ptr.i.i.i.i842, %_ZN4absl23inlined_vector_internal20IteratorValueAdapterISaINS_13test_internal23CopyableMovableInstanceEESt13move_iteratorIPS3_EE10AssignNextES6_.exit.i.i ], [ %data_.i1.i.i.i.i, %if.end25.i ] %i.04.i.i = phi i64 [ %inc.i.i843, %_ZN4absl23inlined_vector_internal20IteratorValueAdapterISaINS_13test_internal23CopyableMovableInstanceEESt13move_iteratorIPS3_EE10AssignNextES6_.exit.i.i ], [ 0, %if.end25.i ] %add.ptr.i.i837 = getelementptr inbounds nuw %"class.absl::test_internal::CopyableMovableInstance", ptr %.sink3.i.i833, i64 %i.04.i.i - %104 = load i32, ptr %values.sroa.0.0.i, align 4 + %104 = load i32, ptr %values.sroa.0.0.i, align 8 store i32 %104, ptr %add.ptr.i.i837, align 4 %is_live_.i.i.i.i.i838 = getelementptr inbounds nuw i8, ptr %add.ptr.i.i837, i64 4 %105 = load i8, ptr %is_live_.i.i.i.i.i838, align 4 @@ -159798,7 +159798,7 @@ for.body.i.i902: ; preds = %if.end25.i895, %_ZN %values.sroa.0.0.i903 = phi ptr [ %incdec.ptr.i.i.i.i912, %_ZN4absl23inlined_vector_internal20IteratorValueAdapterISaINS_13test_internal23CopyableMovableInstanceEESt13move_iteratorIPS3_EE10AssignNextES6_.exit.i.i908 ], [ %data_.i1.i.i.i.i66, %if.end25.i895 ] %i.04.i.i904 = phi i64 [ %inc.i.i913, %_ZN4absl23inlined_vector_internal20IteratorValueAdapterISaINS_13test_internal23CopyableMovableInstanceEESt13move_iteratorIPS3_EE10AssignNextES6_.exit.i.i908 ], [ 0, %if.end25.i895 ] %add.ptr.i.i905 = getelementptr inbounds nuw %"class.absl::test_internal::CopyableMovableInstance", ptr %.sink3.i.i886, i64 %i.04.i.i904 - %122 = load i32, ptr %values.sroa.0.0.i903, align 4 + %122 = load i32, ptr %values.sroa.0.0.i903, align 8 store i32 %122, ptr %add.ptr.i.i905, align 4 %is_live_.i.i.i.i.i906 = getelementptr inbounds nuw i8, ptr %add.ptr.i.i905, i64 4 %123 = load i8, ptr %is_live_.i.i.i.i.i906, align 4 diff --git a/bench/abseil-cpp/optimized/status_test.cc.ll b/bench/abseil-cpp/optimized/status_test.cc.ll index 171959a2b5a..f1c9efd16d5 100644 --- a/bench/abseil-cpp/optimized/status_test.cc.ll +++ b/bench/abseil-cpp/optimized/status_test.cc.ll @@ -14130,7 +14130,7 @@ arraydestroy.body: ; preds = %_ZNSt4pairINSt7__cx %arraydestroy.elementPast = phi ptr [ %add.ptr.i.i, %invoke.cont56 ], [ %arraydestroy.element, %_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4absl4CordEED2Ev.exit ] %arraydestroy.element = getelementptr inbounds i8, ptr %arraydestroy.elementPast, i64 -48 %second.i = getelementptr inbounds i8, ptr %arraydestroy.elementPast, i64 -16 - %52 = load i8, ptr %second.i, align 1 + %52 = load i8, ptr %second.i, align 8 %53 = and i8 %52, 1 %cmp.i.i.not.i.i100 = icmp eq i8 %53, 0 br i1 %cmp.i.i.not.i.i100, label %_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4absl4CordEED2Ev.exit, label %if.then.i.i101 diff --git a/bench/darktable/optimized/introspection_lens.cc.ll b/bench/darktable/optimized/introspection_lens.cc.ll index 10dd7eacfe1..46c15a084f1 100644 --- a/bench/darktable/optimized/introspection_lens.cc.ll +++ b/bench/darktable/optimized/introspection_lens.cc.ll @@ -1260,7 +1260,7 @@ define void @process(ptr noundef readonly captures(none) %0, ptr noundef readonl %397 = phi i32 [ %556, %555 ], [ 0, %389 ] %398 = load i32, ptr %368, align 4, !tbaa !164 %399 = icmp eq i32 %398, 0 - %400 = load float, ptr %395, align 4, !tbaa !22 + %400 = load float, ptr %395, align 8, !tbaa !22 br i1 %399, label %401, label %409 401: ; preds = %394 @@ -1318,14 +1318,14 @@ define void @process(ptr noundef readonly captures(none) %0, ptr noundef readonl 439: ; preds = %418 %440 = getelementptr inbounds nuw i8, ptr %395, i64 8 - %441 = load float, ptr %440, align 4, !tbaa !22 + %441 = load float, ptr %440, align 8, !tbaa !22 %442 = getelementptr inbounds nuw i8, ptr %395, i64 12 %443 = load float, ptr %442, align 4, !tbaa !22 br label %456 444: ; preds = %418, %417 %445 = getelementptr inbounds nuw i8, ptr %395, i64 8 - %446 = load float, ptr %445, align 4, !tbaa !22 + %446 = load float, ptr %445, align 8, !tbaa !22 %447 = tail call float @llvm.fabs.f32(float %446) %448 = fcmp ueq float %447, 0x7FF0000000000000 br i1 %448, label %454, label %449 @@ -1370,14 +1370,14 @@ define void @process(ptr noundef readonly captures(none) %0, ptr noundef readonl 479: ; preds = %456 %480 = getelementptr inbounds nuw i8, ptr %395, i64 16 - %481 = load float, ptr %480, align 4, !tbaa !22 + %481 = load float, ptr %480, align 8, !tbaa !22 %482 = getelementptr inbounds nuw i8, ptr %395, i64 20 %483 = load float, ptr %482, align 4, !tbaa !22 br label %494 484: ; preds = %456, %454 %485 = getelementptr inbounds nuw i8, ptr %395, i64 16 - %486 = load float, ptr %485, align 4, !tbaa !22 + %486 = load float, ptr %485, align 8, !tbaa !22 %487 = tail call float @llvm.fabs.f32(float %486) %488 = fcmp ueq float %487, 0x7FF0000000000000 br i1 %488, label %514, label %489 @@ -1421,7 +1421,7 @@ define void @process(ptr noundef readonly captures(none) %0, ptr noundef readonl %518 = load i32, ptr %368, align 4, !tbaa !164 %519 = icmp eq i32 %518, 0 %520 = getelementptr inbounds nuw i8, ptr %395, i64 8 - %521 = load float, ptr %520, align 4, !tbaa !22 + %521 = load float, ptr %520, align 8, !tbaa !22 br i1 %519, label %522, label %525 522: ; preds = %517 @@ -1632,7 +1632,7 @@ define void @process(ptr noundef readonly captures(none) %0, ptr noundef readonl %677 = phi ptr [ %837, %835 ], [ %643, %669 ] %678 = load i32, ptr %649, align 4, !tbaa !164 %679 = icmp eq i32 %678, 0 - %680 = load float, ptr %677, align 4, !tbaa !22 + %680 = load float, ptr %677, align 8, !tbaa !22 br i1 %679, label %681, label %689 681: ; preds = %674 @@ -1690,14 +1690,14 @@ define void @process(ptr noundef readonly captures(none) %0, ptr noundef readonl 719: ; preds = %698 %720 = getelementptr inbounds nuw i8, ptr %677, i64 8 - %721 = load float, ptr %720, align 4, !tbaa !22 + %721 = load float, ptr %720, align 8, !tbaa !22 %722 = getelementptr inbounds nuw i8, ptr %677, i64 12 %723 = load float, ptr %722, align 4, !tbaa !22 br label %736 724: ; preds = %698, %697 %725 = getelementptr inbounds nuw i8, ptr %677, i64 8 - %726 = load float, ptr %725, align 4, !tbaa !22 + %726 = load float, ptr %725, align 8, !tbaa !22 %727 = tail call float @llvm.fabs.f32(float %726) %728 = fcmp ueq float %727, 0x7FF0000000000000 br i1 %728, label %734, label %729 @@ -1742,14 +1742,14 @@ define void @process(ptr noundef readonly captures(none) %0, ptr noundef readonl 759: ; preds = %736 %760 = getelementptr inbounds nuw i8, ptr %677, i64 16 - %761 = load float, ptr %760, align 4, !tbaa !22 + %761 = load float, ptr %760, align 8, !tbaa !22 %762 = getelementptr inbounds nuw i8, ptr %677, i64 20 %763 = load float, ptr %762, align 4, !tbaa !22 br label %774 764: ; preds = %736, %734 %765 = getelementptr inbounds nuw i8, ptr %677, i64 16 - %766 = load float, ptr %765, align 4, !tbaa !22 + %766 = load float, ptr %765, align 8, !tbaa !22 %767 = tail call float @llvm.fabs.f32(float %766) %768 = fcmp ueq float %767, 0x7FF0000000000000 br i1 %768, label %794, label %769 @@ -1793,7 +1793,7 @@ define void @process(ptr noundef readonly captures(none) %0, ptr noundef readonl %798 = load i32, ptr %649, align 4, !tbaa !164 %799 = icmp eq i32 %798, 0 %800 = getelementptr inbounds nuw i8, ptr %677, i64 8 - %801 = load float, ptr %800, align 4, !tbaa !22 + %801 = load float, ptr %800, align 8, !tbaa !22 br i1 %799, label %802, label %805 802: ; preds = %797 @@ -3496,7 +3496,7 @@ define void @distort_mask(ptr noundef readnone captures(none) %0, ptr noundef re %125 = load i32, ptr %94, align 4, !tbaa !164 %126 = icmp eq i32 %125, 0 %127 = getelementptr inbounds nuw i8, ptr %124, i64 8 - %128 = load float, ptr %127, align 4, !tbaa !22 + %128 = load float, ptr %127, align 8, !tbaa !22 br i1 %126, label %129, label %132 129: ; preds = %120 diff --git a/bench/folly/optimized/SafeAssert.cpp.ll b/bench/folly/optimized/SafeAssert.cpp.ll index 25e6243e7d5..28c7a326bf4 100644 --- a/bench/folly/optimized/SafeAssert.cpp.ll +++ b/bench/folly/optimized/SafeAssert.cpp.ll @@ -474,25 +474,25 @@ entry: for.body.i.i: ; preds = %if.end12.i.i, %entry %__trip_count.089.i.i = phi i64 [ %dec.i.i, %if.end12.i.i ], [ 33, %entry ] %__first.addr.088.i.i = phi ptr [ %incdec.ptr13.i.i, %if.end12.i.i ], [ @_ZN5folly6detail12_GLOBAL__N_16errorsE, %entry ] - %__first.addr.0.val64.i.i = load i32, ptr %__first.addr.088.i.i, align 8 + %__first.addr.0.val64.i.i = load i32, ptr %__first.addr.088.i.i, align 16 %cmp.i.i.i.i = icmp eq i32 %__first.addr.0.val64.i.i, %__pred.coerce br i1 %cmp.i.i.i.i, label %"_ZSt9__find_ifIPKSt4pairIiPKcEN9__gnu_cxx5__ops10_Iter_predIZN5folly6detail12_GLOBAL__N_123safe_assert_terminate_vEPKNSA_15safe_assert_argEiP13__va_list_tagE3$_0EEET_SJ_SJ_T0_.exit", label %if.end.i.i if.end.i.i: ; preds = %for.body.i.i %incdec.ptr.i.i = getelementptr inbounds nuw i8, ptr %__first.addr.088.i.i, i64 16 - %incdec.ptr.val.i.i = load i32, ptr %incdec.ptr.i.i, align 8 + %incdec.ptr.val.i.i = load i32, ptr %incdec.ptr.i.i, align 16 %cmp.i.i65.i.i = icmp eq i32 %incdec.ptr.val.i.i, %__pred.coerce br i1 %cmp.i.i65.i.i, label %"_ZSt9__find_ifIPKSt4pairIiPKcEN9__gnu_cxx5__ops10_Iter_predIZN5folly6detail12_GLOBAL__N_123safe_assert_terminate_vEPKNSA_15safe_assert_argEiP13__va_list_tagE3$_0EEET_SJ_SJ_T0_.exit.loopexit.split.loop.exit", label %if.end4.i.i if.end4.i.i: ; preds = %if.end.i.i %incdec.ptr5.i.i = getelementptr inbounds nuw i8, ptr %__first.addr.088.i.i, i64 32 - %incdec.ptr5.val.i.i = load i32, ptr %incdec.ptr5.i.i, align 8 + %incdec.ptr5.val.i.i = load i32, ptr %incdec.ptr5.i.i, align 16 %cmp.i.i66.i.i = icmp eq i32 %incdec.ptr5.val.i.i, %__pred.coerce br i1 %cmp.i.i66.i.i, label %"_ZSt9__find_ifIPKSt4pairIiPKcEN9__gnu_cxx5__ops10_Iter_predIZN5folly6detail12_GLOBAL__N_123safe_assert_terminate_vEPKNSA_15safe_assert_argEiP13__va_list_tagE3$_0EEET_SJ_SJ_T0_.exit.loopexit.split.loop.exit13", label %if.end8.i.i if.end8.i.i: ; preds = %if.end4.i.i %incdec.ptr9.i.i = getelementptr inbounds nuw i8, ptr %__first.addr.088.i.i, i64 48 - %incdec.ptr9.val.i.i = load i32, ptr %incdec.ptr9.i.i, align 8 + %incdec.ptr9.val.i.i = load i32, ptr %incdec.ptr9.i.i, align 16 %cmp.i.i67.i.i = icmp eq i32 %incdec.ptr9.val.i.i, %__pred.coerce br i1 %cmp.i.i67.i.i, label %"_ZSt9__find_ifIPKSt4pairIiPKcEN9__gnu_cxx5__ops10_Iter_predIZN5folly6detail12_GLOBAL__N_123safe_assert_terminate_vEPKNSA_15safe_assert_argEiP13__va_list_tagE3$_0EEET_SJ_SJ_T0_.exit.loopexit.split.loop.exit15", label %if.end12.i.i diff --git a/bench/folly/optimized/SplitStringSimd.cpp.ll b/bench/folly/optimized/SplitStringSimd.cpp.ll index 675b606a49e..a4500b56f57 100644 --- a/bench/folly/optimized/SplitStringSimd.cpp.ll +++ b/bench/folly/optimized/SplitStringSimd.cpp.ll @@ -403,7 +403,7 @@ while.cond.i.loopexit: ; preds = %_ZNSt6vectorIN5foll while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0305 = phi ptr [ %af.i.0302, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1304 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %13 = load <16 x i8>, ptr %af.i.0305, align 1, !tbaa !7 + %13 = load <16 x i8>, ptr %af.i.0305, align 16, !tbaa !7 %cmp.i.i = icmp eq <16 x i8> %13, %vecinit15.i %14 = bitcast <16 x i1> %cmp.i.i to i16 %tobool.not.i.i297 = icmp eq i16 %14, 0 @@ -898,7 +898,7 @@ while.cond.i.loopexit: ; preds = %_ZNK5folly6detail23 while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0302 = phi ptr [ %af.i.0299, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1301 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %11 = load <16 x i8>, ptr %af.i.0302, align 1, !tbaa !7 + %11 = load <16 x i8>, ptr %af.i.0302, align 16, !tbaa !7 %cmp.i.i93 = icmp eq <16 x i8> %11, %vecinit15.i.i27 %12 = bitcast <16 x i1> %cmp.i.i93 to i16 %tobool.not.i.i294 = icmp eq i16 %12, 0 @@ -1315,7 +1315,7 @@ while.cond.i.loopexit: ; preds = %_ZN5folly8fbvectorI while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0182 = phi ptr [ %af.i.0179, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1181 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %9 = load <16 x i8>, ptr %af.i.0182, align 1, !tbaa !7 + %9 = load <16 x i8>, ptr %af.i.0182, align 16, !tbaa !7 %cmp.i.i87 = icmp eq <16 x i8> %9, %vecinit15.i.i25 %10 = bitcast <16 x i1> %cmp.i.i87 to i16 %tobool.not.i.i174 = icmp eq i16 %10, 0 @@ -2115,7 +2115,7 @@ while.cond.i.loopexit: ; preds = %_ZNK5folly6detail23 while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0188 = phi ptr [ %af.i.0185, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1187 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %9 = load <16 x i8>, ptr %af.i.0188, align 1, !tbaa !7 + %9 = load <16 x i8>, ptr %af.i.0188, align 16, !tbaa !7 %cmp.i.i93 = icmp eq <16 x i8> %9, %vecinit15.i.i27 %10 = bitcast <16 x i1> %cmp.i.i93 to i16 %tobool.not.i.i180 = icmp eq i16 %10, 0 @@ -2456,7 +2456,7 @@ while.cond.i.loopexit: ; preds = %_ZN5folly12small_ve while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0261 = phi ptr [ %af.i.0258, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1260 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %17 = load <16 x i8>, ptr %af.i.0261, align 1, !tbaa !7 + %17 = load <16 x i8>, ptr %af.i.0261, align 16, !tbaa !7 %cmp.i.i87 = icmp eq <16 x i8> %17, %vecinit15.i.i25 %18 = bitcast <16 x i1> %cmp.i.i87 to i16 %tobool.not.i.i253 = icmp eq i16 %18, 0 @@ -3236,7 +3236,7 @@ while.cond.i.loopexit: ; preds = %_ZNK5folly6detail23 while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0268 = phi ptr [ %af.i.0265, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1267 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %17 = load <16 x i8>, ptr %af.i.0268, align 1, !tbaa !7 + %17 = load <16 x i8>, ptr %af.i.0268, align 16, !tbaa !7 %cmp.i.i93 = icmp eq <16 x i8> %17, %vecinit15.i.i27 %18 = bitcast <16 x i1> %cmp.i.i93 to i16 %tobool.not.i.i260 = icmp eq i16 %18, 0 @@ -3701,7 +3701,7 @@ while.cond.i.loopexit: ; preds = %_ZN5folly12small_ve while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0241 = phi ptr [ %af.i.0238, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1240 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %12 = load <16 x i8>, ptr %af.i.0241, align 1, !tbaa !7 + %12 = load <16 x i8>, ptr %af.i.0241, align 16, !tbaa !7 %cmp.i.i87 = icmp eq <16 x i8> %12, %vecinit15.i.i25 %13 = bitcast <16 x i1> %cmp.i.i87 to i16 %tobool.not.i.i233 = icmp eq i16 %13, 0 @@ -4267,7 +4267,7 @@ while.cond.i.loopexit: ; preds = %_ZNK5folly6detail23 while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0247 = phi ptr [ %af.i.0244, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1246 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %12 = load <16 x i8>, ptr %af.i.0247, align 1, !tbaa !7 + %12 = load <16 x i8>, ptr %af.i.0247, align 16, !tbaa !7 %cmp.i.i93 = icmp eq <16 x i8> %12, %vecinit15.i.i27 %13 = bitcast <16 x i1> %cmp.i.i93 to i16 %tobool.not.i.i239 = icmp eq i16 %13, 0 @@ -4658,7 +4658,7 @@ while.cond.i.loopexit: ; preds = %_ZN5folly12small_ve while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0241 = phi ptr [ %af.i.0238, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1240 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %12 = load <16 x i8>, ptr %af.i.0241, align 1, !tbaa !7 + %12 = load <16 x i8>, ptr %af.i.0241, align 16, !tbaa !7 %cmp.i.i87 = icmp eq <16 x i8> %12, %vecinit15.i.i25 %13 = bitcast <16 x i1> %cmp.i.i87 to i16 %tobool.not.i.i233 = icmp eq i16 %13, 0 @@ -5224,7 +5224,7 @@ while.cond.i.loopexit: ; preds = %_ZNK5folly6detail23 while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0247 = phi ptr [ %af.i.0244, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1246 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %12 = load <16 x i8>, ptr %af.i.0247, align 1, !tbaa !7 + %12 = load <16 x i8>, ptr %af.i.0247, align 16, !tbaa !7 %cmp.i.i93 = icmp eq <16 x i8> %12, %vecinit15.i.i27 %13 = bitcast <16 x i1> %cmp.i.i93 to i16 %tobool.not.i.i239 = icmp eq i16 %13, 0 @@ -5615,7 +5615,7 @@ while.cond.i.loopexit: ; preds = %_ZN5folly12small_ve while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0241 = phi ptr [ %af.i.0238, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1240 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %12 = load <16 x i8>, ptr %af.i.0241, align 1, !tbaa !7 + %12 = load <16 x i8>, ptr %af.i.0241, align 16, !tbaa !7 %cmp.i.i87 = icmp eq <16 x i8> %12, %vecinit15.i.i25 %13 = bitcast <16 x i1> %cmp.i.i87 to i16 %tobool.not.i.i233 = icmp eq i16 %13, 0 @@ -6181,7 +6181,7 @@ while.cond.i.loopexit: ; preds = %_ZNK5folly6detail23 while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0247 = phi ptr [ %af.i.0244, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1246 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %12 = load <16 x i8>, ptr %af.i.0247, align 1, !tbaa !7 + %12 = load <16 x i8>, ptr %af.i.0247, align 16, !tbaa !7 %cmp.i.i93 = icmp eq <16 x i8> %12, %vecinit15.i.i27 %13 = bitcast <16 x i1> %cmp.i.i93 to i16 %tobool.not.i.i239 = icmp eq i16 %13, 0 @@ -6572,7 +6572,7 @@ while.cond.i.loopexit: ; preds = %_ZN5folly12small_ve while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0241 = phi ptr [ %af.i.0238, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1240 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %12 = load <16 x i8>, ptr %af.i.0241, align 1, !tbaa !7 + %12 = load <16 x i8>, ptr %af.i.0241, align 16, !tbaa !7 %cmp.i.i87 = icmp eq <16 x i8> %12, %vecinit15.i.i25 %13 = bitcast <16 x i1> %cmp.i.i87 to i16 %tobool.not.i.i233 = icmp eq i16 %13, 0 @@ -7138,7 +7138,7 @@ while.cond.i.loopexit: ; preds = %_ZNK5folly6detail23 while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0247 = phi ptr [ %af.i.0244, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1246 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %12 = load <16 x i8>, ptr %af.i.0247, align 1, !tbaa !7 + %12 = load <16 x i8>, ptr %af.i.0247, align 16, !tbaa !7 %cmp.i.i93 = icmp eq <16 x i8> %12, %vecinit15.i.i27 %13 = bitcast <16 x i1> %cmp.i.i93 to i16 %tobool.not.i.i239 = icmp eq i16 %13, 0 @@ -7529,7 +7529,7 @@ while.cond.i.loopexit: ; preds = %_ZN5folly12small_ve while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0241 = phi ptr [ %af.i.0238, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1240 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %12 = load <16 x i8>, ptr %af.i.0241, align 1, !tbaa !7 + %12 = load <16 x i8>, ptr %af.i.0241, align 16, !tbaa !7 %cmp.i.i87 = icmp eq <16 x i8> %12, %vecinit15.i.i25 %13 = bitcast <16 x i1> %cmp.i.i87 to i16 %tobool.not.i.i233 = icmp eq i16 %13, 0 @@ -8095,7 +8095,7 @@ while.cond.i.loopexit: ; preds = %_ZNK5folly6detail23 while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0247 = phi ptr [ %af.i.0244, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1246 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %12 = load <16 x i8>, ptr %af.i.0247, align 1, !tbaa !7 + %12 = load <16 x i8>, ptr %af.i.0247, align 16, !tbaa !7 %cmp.i.i93 = icmp eq <16 x i8> %12, %vecinit15.i.i27 %13 = bitcast <16 x i1> %cmp.i.i93 to i16 %tobool.not.i.i239 = icmp eq i16 %13, 0 @@ -8486,7 +8486,7 @@ while.cond.i.loopexit: ; preds = %_ZN5folly12small_ve while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0241 = phi ptr [ %af.i.0238, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1240 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %12 = load <16 x i8>, ptr %af.i.0241, align 1, !tbaa !7 + %12 = load <16 x i8>, ptr %af.i.0241, align 16, !tbaa !7 %cmp.i.i87 = icmp eq <16 x i8> %12, %vecinit15.i.i25 %13 = bitcast <16 x i1> %cmp.i.i87 to i16 %tobool.not.i.i233 = icmp eq i16 %13, 0 @@ -9052,7 +9052,7 @@ while.cond.i.loopexit: ; preds = %_ZNK5folly6detail23 while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0247 = phi ptr [ %af.i.0244, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1246 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %12 = load <16 x i8>, ptr %af.i.0247, align 1, !tbaa !7 + %12 = load <16 x i8>, ptr %af.i.0247, align 16, !tbaa !7 %cmp.i.i93 = icmp eq <16 x i8> %12, %vecinit15.i.i27 %13 = bitcast <16 x i1> %cmp.i.i93 to i16 %tobool.not.i.i239 = icmp eq i16 %13, 0 @@ -9443,7 +9443,7 @@ while.cond.i.loopexit: ; preds = %_ZN5folly12small_ve while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0241 = phi ptr [ %af.i.0238, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1240 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %12 = load <16 x i8>, ptr %af.i.0241, align 1, !tbaa !7 + %12 = load <16 x i8>, ptr %af.i.0241, align 16, !tbaa !7 %cmp.i.i87 = icmp eq <16 x i8> %12, %vecinit15.i.i25 %13 = bitcast <16 x i1> %cmp.i.i87 to i16 %tobool.not.i.i233 = icmp eq i16 %13, 0 @@ -10009,7 +10009,7 @@ while.cond.i.loopexit: ; preds = %_ZNK5folly6detail23 while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0247 = phi ptr [ %af.i.0244, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1246 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %12 = load <16 x i8>, ptr %af.i.0247, align 1, !tbaa !7 + %12 = load <16 x i8>, ptr %af.i.0247, align 16, !tbaa !7 %cmp.i.i93 = icmp eq <16 x i8> %12, %vecinit15.i.i27 %13 = bitcast <16 x i1> %cmp.i.i93 to i16 %tobool.not.i.i239 = icmp eq i16 %13, 0 @@ -10410,7 +10410,7 @@ while.cond.i.loopexit: ; preds = %_ZNSt6vectorISt17ba while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0285 = phi ptr [ %af.i.0282, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1284 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %13 = load <16 x i8>, ptr %af.i.0285, align 1, !tbaa !7 + %13 = load <16 x i8>, ptr %af.i.0285, align 16, !tbaa !7 %cmp.i.i87 = icmp eq <16 x i8> %13, %vecinit15.i.i25 %14 = bitcast <16 x i1> %cmp.i.i87 to i16 %tobool.not.i.i277 = icmp eq i16 %14, 0 @@ -10861,7 +10861,7 @@ while.cond.i.loopexit: ; preds = %_ZNK5folly6detail23 while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0296 = phi ptr [ %af.i.0293, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1295 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %11 = load <16 x i8>, ptr %af.i.0296, align 1, !tbaa !7 + %11 = load <16 x i8>, ptr %af.i.0296, align 16, !tbaa !7 %cmp.i.i93 = icmp eq <16 x i8> %11, %vecinit15.i.i27 %12 = bitcast <16 x i1> %cmp.i.i93 to i16 %tobool.not.i.i288 = icmp eq i16 %12, 0 @@ -11271,7 +11271,7 @@ while.cond.i.loopexit: ; preds = %_ZN5folly8fbvectorI while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0179 = phi ptr [ %af.i.0176, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1178 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %9 = load <16 x i8>, ptr %af.i.0179, align 1, !tbaa !7 + %9 = load <16 x i8>, ptr %af.i.0179, align 16, !tbaa !7 %cmp.i.i87 = icmp eq <16 x i8> %9, %vecinit15.i.i25 %10 = bitcast <16 x i1> %cmp.i.i87 to i16 %tobool.not.i.i171 = icmp eq i16 %10, 0 @@ -11767,7 +11767,7 @@ while.cond.i.loopexit: ; preds = %_ZNK5folly6detail23 while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0185 = phi ptr [ %af.i.0182, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1184 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %9 = load <16 x i8>, ptr %af.i.0185, align 1, !tbaa !7 + %9 = load <16 x i8>, ptr %af.i.0185, align 16, !tbaa !7 %cmp.i.i93 = icmp eq <16 x i8> %9, %vecinit15.i.i27 %10 = bitcast <16 x i1> %cmp.i.i93 to i16 %tobool.not.i.i177 = icmp eq i16 %10, 0 @@ -12103,7 +12103,7 @@ while.cond.i.loopexit: ; preds = %_ZN5folly12small_ve while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0254 = phi ptr [ %af.i.0251, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1253 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %17 = load <16 x i8>, ptr %af.i.0254, align 1, !tbaa !7 + %17 = load <16 x i8>, ptr %af.i.0254, align 16, !tbaa !7 %cmp.i.i87 = icmp eq <16 x i8> %17, %vecinit15.i.i25 %18 = bitcast <16 x i1> %cmp.i.i87 to i16 %tobool.not.i.i246 = icmp eq i16 %18, 0 @@ -12817,7 +12817,7 @@ while.cond.i.loopexit: ; preds = %_ZNK5folly6detail23 while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0261 = phi ptr [ %af.i.0258, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1260 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %17 = load <16 x i8>, ptr %af.i.0261, align 1, !tbaa !7 + %17 = load <16 x i8>, ptr %af.i.0261, align 16, !tbaa !7 %cmp.i.i93 = icmp eq <16 x i8> %17, %vecinit15.i.i27 %18 = bitcast <16 x i1> %cmp.i.i93 to i16 %tobool.not.i.i253 = icmp eq i16 %18, 0 @@ -13274,7 +13274,7 @@ while.cond.i.loopexit: ; preds = %_ZN5folly12small_ve while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0234 = phi ptr [ %af.i.0231, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1233 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %12 = load <16 x i8>, ptr %af.i.0234, align 1, !tbaa !7 + %12 = load <16 x i8>, ptr %af.i.0234, align 16, !tbaa !7 %cmp.i.i87 = icmp eq <16 x i8> %12, %vecinit15.i.i25 %13 = bitcast <16 x i1> %cmp.i.i87 to i16 %tobool.not.i.i226 = icmp eq i16 %13, 0 @@ -13831,7 +13831,7 @@ while.cond.i.loopexit: ; preds = %_ZNK5folly6detail23 while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0240 = phi ptr [ %af.i.0237, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1239 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %12 = load <16 x i8>, ptr %af.i.0240, align 1, !tbaa !7 + %12 = load <16 x i8>, ptr %af.i.0240, align 16, !tbaa !7 %cmp.i.i93 = icmp eq <16 x i8> %12, %vecinit15.i.i27 %13 = bitcast <16 x i1> %cmp.i.i93 to i16 %tobool.not.i.i232 = icmp eq i16 %13, 0 @@ -14214,7 +14214,7 @@ while.cond.i.loopexit: ; preds = %_ZN5folly12small_ve while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0234 = phi ptr [ %af.i.0231, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1233 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %12 = load <16 x i8>, ptr %af.i.0234, align 1, !tbaa !7 + %12 = load <16 x i8>, ptr %af.i.0234, align 16, !tbaa !7 %cmp.i.i87 = icmp eq <16 x i8> %12, %vecinit15.i.i25 %13 = bitcast <16 x i1> %cmp.i.i87 to i16 %tobool.not.i.i226 = icmp eq i16 %13, 0 @@ -14771,7 +14771,7 @@ while.cond.i.loopexit: ; preds = %_ZNK5folly6detail23 while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0240 = phi ptr [ %af.i.0237, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1239 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %12 = load <16 x i8>, ptr %af.i.0240, align 1, !tbaa !7 + %12 = load <16 x i8>, ptr %af.i.0240, align 16, !tbaa !7 %cmp.i.i93 = icmp eq <16 x i8> %12, %vecinit15.i.i27 %13 = bitcast <16 x i1> %cmp.i.i93 to i16 %tobool.not.i.i232 = icmp eq i16 %13, 0 @@ -15154,7 +15154,7 @@ while.cond.i.loopexit: ; preds = %_ZN5folly12small_ve while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0234 = phi ptr [ %af.i.0231, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1233 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %12 = load <16 x i8>, ptr %af.i.0234, align 1, !tbaa !7 + %12 = load <16 x i8>, ptr %af.i.0234, align 16, !tbaa !7 %cmp.i.i87 = icmp eq <16 x i8> %12, %vecinit15.i.i25 %13 = bitcast <16 x i1> %cmp.i.i87 to i16 %tobool.not.i.i226 = icmp eq i16 %13, 0 @@ -15711,7 +15711,7 @@ while.cond.i.loopexit: ; preds = %_ZNK5folly6detail23 while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0240 = phi ptr [ %af.i.0237, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1239 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %12 = load <16 x i8>, ptr %af.i.0240, align 1, !tbaa !7 + %12 = load <16 x i8>, ptr %af.i.0240, align 16, !tbaa !7 %cmp.i.i93 = icmp eq <16 x i8> %12, %vecinit15.i.i27 %13 = bitcast <16 x i1> %cmp.i.i93 to i16 %tobool.not.i.i232 = icmp eq i16 %13, 0 @@ -16094,7 +16094,7 @@ while.cond.i.loopexit: ; preds = %_ZN5folly12small_ve while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0234 = phi ptr [ %af.i.0231, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1233 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %12 = load <16 x i8>, ptr %af.i.0234, align 1, !tbaa !7 + %12 = load <16 x i8>, ptr %af.i.0234, align 16, !tbaa !7 %cmp.i.i87 = icmp eq <16 x i8> %12, %vecinit15.i.i25 %13 = bitcast <16 x i1> %cmp.i.i87 to i16 %tobool.not.i.i226 = icmp eq i16 %13, 0 @@ -16651,7 +16651,7 @@ while.cond.i.loopexit: ; preds = %_ZNK5folly6detail23 while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0240 = phi ptr [ %af.i.0237, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1239 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %12 = load <16 x i8>, ptr %af.i.0240, align 1, !tbaa !7 + %12 = load <16 x i8>, ptr %af.i.0240, align 16, !tbaa !7 %cmp.i.i93 = icmp eq <16 x i8> %12, %vecinit15.i.i27 %13 = bitcast <16 x i1> %cmp.i.i93 to i16 %tobool.not.i.i232 = icmp eq i16 %13, 0 @@ -17034,7 +17034,7 @@ while.cond.i.loopexit: ; preds = %_ZN5folly12small_ve while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0234 = phi ptr [ %af.i.0231, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1233 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %12 = load <16 x i8>, ptr %af.i.0234, align 1, !tbaa !7 + %12 = load <16 x i8>, ptr %af.i.0234, align 16, !tbaa !7 %cmp.i.i87 = icmp eq <16 x i8> %12, %vecinit15.i.i25 %13 = bitcast <16 x i1> %cmp.i.i87 to i16 %tobool.not.i.i226 = icmp eq i16 %13, 0 @@ -17591,7 +17591,7 @@ while.cond.i.loopexit: ; preds = %_ZNK5folly6detail23 while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0240 = phi ptr [ %af.i.0237, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1239 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %12 = load <16 x i8>, ptr %af.i.0240, align 1, !tbaa !7 + %12 = load <16 x i8>, ptr %af.i.0240, align 16, !tbaa !7 %cmp.i.i93 = icmp eq <16 x i8> %12, %vecinit15.i.i27 %13 = bitcast <16 x i1> %cmp.i.i93 to i16 %tobool.not.i.i232 = icmp eq i16 %13, 0 @@ -17974,7 +17974,7 @@ while.cond.i.loopexit: ; preds = %_ZN5folly12small_ve while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0234 = phi ptr [ %af.i.0231, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1233 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %12 = load <16 x i8>, ptr %af.i.0234, align 1, !tbaa !7 + %12 = load <16 x i8>, ptr %af.i.0234, align 16, !tbaa !7 %cmp.i.i87 = icmp eq <16 x i8> %12, %vecinit15.i.i25 %13 = bitcast <16 x i1> %cmp.i.i87 to i16 %tobool.not.i.i226 = icmp eq i16 %13, 0 @@ -18531,7 +18531,7 @@ while.cond.i.loopexit: ; preds = %_ZNK5folly6detail23 while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0240 = phi ptr [ %af.i.0237, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1239 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %12 = load <16 x i8>, ptr %af.i.0240, align 1, !tbaa !7 + %12 = load <16 x i8>, ptr %af.i.0240, align 16, !tbaa !7 %cmp.i.i93 = icmp eq <16 x i8> %12, %vecinit15.i.i27 %13 = bitcast <16 x i1> %cmp.i.i93 to i16 %tobool.not.i.i232 = icmp eq i16 %13, 0 @@ -18914,7 +18914,7 @@ while.cond.i.loopexit: ; preds = %_ZN5folly12small_ve while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0234 = phi ptr [ %af.i.0231, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1233 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %12 = load <16 x i8>, ptr %af.i.0234, align 1, !tbaa !7 + %12 = load <16 x i8>, ptr %af.i.0234, align 16, !tbaa !7 %cmp.i.i87 = icmp eq <16 x i8> %12, %vecinit15.i.i25 %13 = bitcast <16 x i1> %cmp.i.i87 to i16 %tobool.not.i.i226 = icmp eq i16 %13, 0 @@ -19471,7 +19471,7 @@ while.cond.i.loopexit: ; preds = %_ZNK5folly6detail23 while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0240 = phi ptr [ %af.i.0237, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1239 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %12 = load <16 x i8>, ptr %af.i.0240, align 1, !tbaa !7 + %12 = load <16 x i8>, ptr %af.i.0240, align 16, !tbaa !7 %cmp.i.i93 = icmp eq <16 x i8> %12, %vecinit15.i.i27 %13 = bitcast <16 x i1> %cmp.i.i93 to i16 %tobool.not.i.i232 = icmp eq i16 %13, 0 @@ -19803,7 +19803,7 @@ while.cond.i.loopexit: ; preds = %_ZNSt6vectorINSt7__ while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0148 = phi ptr [ %af.i.0145, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1147 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %7 = load <16 x i8>, ptr %af.i.0148, align 1, !tbaa !7 + %7 = load <16 x i8>, ptr %af.i.0148, align 16, !tbaa !7 %cmp.i.i87 = icmp eq <16 x i8> %7, %vecinit15.i.i25 %8 = bitcast <16 x i1> %cmp.i.i87 to i16 %tobool.not.i.i140 = icmp eq i16 %8, 0 @@ -20367,7 +20367,7 @@ while.cond.i.loopexit: ; preds = %_ZNK5folly6detail23 while.body.i: ; preds = %while.body.i.preheader, %while.cond.i.loopexit %af.i.0149 = phi ptr [ %af.i.0, %while.cond.i.loopexit ], [ %af.i.0146, %while.body.i.preheader ] %prev.i.1148 = phi ptr [ %prev.i.2.lcssa, %while.cond.i.loopexit ], [ %prev.i.0.lcssa, %while.body.i.preheader ] - %7 = load <16 x i8>, ptr %af.i.0149, align 1, !tbaa !7 + %7 = load <16 x i8>, ptr %af.i.0149, align 16, !tbaa !7 %cmp.i.i93 = icmp eq <16 x i8> %7, %vecinit15.i.i27 %8 = bitcast <16 x i1> %cmp.i.i93 to i16 %tobool.not.i.i141 = icmp eq i16 %8, 0 @@ -20733,7 +20733,7 @@ while.cond.i.loopexit: ; preds = %_ZNSt6vectorIN5foll while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0179 = phi ptr [ %af.i.0176, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1178 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %15 = load <16 x i8>, ptr %af.i.0179, align 1, !tbaa !7 + %15 = load <16 x i8>, ptr %af.i.0179, align 16, !tbaa !7 %cmp.i.i87 = icmp eq <16 x i8> %15, %vecinit15.i.i25 %16 = bitcast <16 x i1> %cmp.i.i87 to i16 %tobool.not.i.i171 = icmp eq i16 %16, 0 @@ -21686,7 +21686,7 @@ while.cond.i.loopexit: ; preds = %_ZNK5folly6detail23 while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0185 = phi ptr [ %af.i.0182, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1184 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %15 = load <16 x i8>, ptr %af.i.0185, align 1, !tbaa !7 + %15 = load <16 x i8>, ptr %af.i.0185, align 16, !tbaa !7 %cmp.i.i93 = icmp eq <16 x i8> %15, %vecinit15.i.i27 %16 = bitcast <16 x i1> %cmp.i.i93 to i16 %tobool.not.i.i177 = icmp eq i16 %16, 0 @@ -22237,7 +22237,7 @@ while.cond.i.loopexit: ; preds = %_ZN5folly8fbvectorI while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0149 = phi ptr [ %af.i.0146, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1148 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %16 = load <16 x i8>, ptr %af.i.0149, align 1, !tbaa !7 + %16 = load <16 x i8>, ptr %af.i.0149, align 16, !tbaa !7 %cmp.i.i87 = icmp eq <16 x i8> %16, %vecinit15.i.i25 %17 = bitcast <16 x i1> %cmp.i.i87 to i16 %tobool.not.i.i141 = icmp eq i16 %17, 0 @@ -23181,7 +23181,7 @@ while.cond.i.loopexit: ; preds = %_ZNK5folly6detail23 while.body.i: ; preds = %while.body.i.preheader, %while.cond.i.loopexit %af.i.0149 = phi ptr [ %af.i.0, %while.cond.i.loopexit ], [ %af.i.0146, %while.body.i.preheader ] %prev.i.1148 = phi ptr [ %prev.i.2.lcssa, %while.cond.i.loopexit ], [ %prev.i.0.lcssa, %while.body.i.preheader ] - %16 = load <16 x i8>, ptr %af.i.0149, align 1, !tbaa !7 + %16 = load <16 x i8>, ptr %af.i.0149, align 16, !tbaa !7 %cmp.i.i93 = icmp eq <16 x i8> %16, %vecinit15.i.i27 %17 = bitcast <16 x i1> %cmp.i.i93 to i16 %tobool.not.i.i141 = icmp eq i16 %17, 0 @@ -23678,7 +23678,7 @@ while.cond.i.loopexit: ; preds = %_ZN5folly8fbvectorI while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0180 = phi ptr [ %af.i.0177, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1179 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %15 = load <16 x i8>, ptr %af.i.0180, align 1, !tbaa !7 + %15 = load <16 x i8>, ptr %af.i.0180, align 16, !tbaa !7 %cmp.i.i87 = icmp eq <16 x i8> %15, %vecinit15.i.i25 %16 = bitcast <16 x i1> %cmp.i.i87 to i16 %tobool.not.i.i172 = icmp eq i16 %16, 0 @@ -24651,7 +24651,7 @@ while.cond.i.loopexit: ; preds = %_ZNK5folly6detail23 while.body.i: ; preds = %while.cond.i.loopexit, %while.body.i.lr.ph %af.i.0186 = phi ptr [ %af.i.0183, %while.body.i.lr.ph ], [ %af.i.0, %while.cond.i.loopexit ] %prev.i.1185 = phi ptr [ %prev.i.0.lcssa, %while.body.i.lr.ph ], [ %prev.i.2.lcssa, %while.cond.i.loopexit ] - %15 = load <16 x i8>, ptr %af.i.0186, align 1, !tbaa !7 + %15 = load <16 x i8>, ptr %af.i.0186, align 16, !tbaa !7 %cmp.i.i93 = icmp eq <16 x i8> %15, %vecinit15.i.i27 %16 = bitcast <16 x i1> %cmp.i.i93 to i16 %tobool.not.i.i178 = icmp eq i16 %16, 0 diff --git a/bench/hdf5/optimized/H5Zscaleoffset.c.ll b/bench/hdf5/optimized/H5Zscaleoffset.c.ll index cfe32913cb7..b3d32b89bce 100644 --- a/bench/hdf5/optimized/H5Zscaleoffset.c.ll +++ b/bench/hdf5/optimized/H5Zscaleoffset.c.ll @@ -1024,9 +1024,9 @@ H5Z__scaleoffset_convert.exit: ; preds = %H5Z__scaleoffset_co br i1 %exitcond.not.i507, label %H5Z__scaleoffset_convert.exit508, label %62 H5Z__scaleoffset_convert.exit508: ; preds = %62, %59 - %69 = getelementptr inbounds nuw i8, ptr %3, i64 32 - %70 = load i32, ptr %8, align 4 - store i32 %70, ptr %69, align 4 + %69 = load i32, ptr %8, align 4 + %70 = getelementptr inbounds nuw i8, ptr %3, i64 32 + store i32 %69, ptr %70, align 4 br label %.loopexit 71: ; preds = %5 @@ -1099,7 +1099,7 @@ H5Z__scaleoffset_convert.exit511: ; preds = %81, %78 %indvars.iv615 = phi i64 [ 8, %98 ], [ %indvars.iv.next616, %100 ] %.1431592 = phi i64 [ 8, %98 ], [ %103, %100 ] %.1435591 = phi ptr [ %99, %98 ], [ %.2436.idx.sroa.sel.idx.sroa.sel, %100 ] - %101 = load i32, ptr %.1435591, align 1 + %101 = load i32, ptr %.1435591, align 4 %102 = getelementptr inbounds nuw i32, ptr %3, i64 %indvars.iv615 store i32 %101, ptr %102, align 4 %indvars.iv.next616 = add nuw nsw i64 %indvars.iv615, 1 @@ -1179,7 +1179,7 @@ H5Z__scaleoffset_convert.exit514: ; preds = %114, %111 %indvars.iv612 = phi i64 [ 8, %131 ], [ %indvars.iv.next613, %133 ] %.1422588 = phi i64 [ 8, %131 ], [ %136, %133 ] %.1426587 = phi ptr [ %132, %131 ], [ %.2427.idx.sroa.sel.idx.sroa.sel, %133 ] - %134 = load i32, ptr %.1426587, align 1 + %134 = load i32, ptr %.1426587, align 4 %135 = getelementptr inbounds nuw i32, ptr %3, i64 %indvars.iv612 store i32 %134, ptr %135, align 4 %indvars.iv.next613 = add nuw nsw i64 %indvars.iv612, 1 @@ -1281,9 +1281,9 @@ H5Z__scaleoffset_convert.exit517: ; preds = %H5Z__scaleoffset_co br i1 %exitcond.not.i519, label %H5Z__scaleoffset_convert.exit520, label %176 H5Z__scaleoffset_convert.exit520: ; preds = %176, %173 - %183 = getelementptr inbounds nuw i8, ptr %3, i64 32 - %184 = load i32, ptr %15, align 4 - store i32 %184, ptr %183, align 4 + %183 = load i32, ptr %15, align 4 + %184 = getelementptr inbounds nuw i8, ptr %3, i64 32 + store i32 %183, ptr %184, align 4 br label %.loopexit 185: ; preds = %5 @@ -1356,7 +1356,7 @@ H5Z__scaleoffset_convert.exit523: ; preds = %195, %192 %indvars.iv609 = phi i64 [ 8, %212 ], [ %indvars.iv.next610, %214 ] %.1395581 = phi i64 [ 8, %212 ], [ %217, %214 ] %.1399580 = phi ptr [ %213, %212 ], [ %.2400.idx.sroa.sel.idx.sroa.sel, %214 ] - %215 = load i32, ptr %.1399580, align 1 + %215 = load i32, ptr %.1399580, align 4 %216 = getelementptr inbounds nuw i32, ptr %3, i64 %indvars.iv609 store i32 %215, ptr %216, align 4 %indvars.iv.next610 = add nuw nsw i64 %indvars.iv609, 1 @@ -1436,7 +1436,7 @@ H5Z__scaleoffset_convert.exit526: ; preds = %228, %225 %indvars.iv = phi i64 [ 8, %245 ], [ %indvars.iv.next, %247 ] %.1386577 = phi i64 [ 8, %245 ], [ %250, %247 ] %.1390576 = phi ptr [ %246, %245 ], [ %.2391.idx.sroa.sel.idx.sroa.sel, %247 ] - %248 = load i32, ptr %.1390576, align 1 + %248 = load i32, ptr %.1390576, align 4 %249 = getelementptr inbounds nuw i32, ptr %3, i64 %indvars.iv store i32 %248, ptr %249, align 4 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 @@ -1479,9 +1479,9 @@ H5Z__scaleoffset_convert.exit526: ; preds = %228, %225 br i1 %exitcond.not.i528, label %H5Z__scaleoffset_convert.exit529, label %261 H5Z__scaleoffset_convert.exit529: ; preds = %261, %258 - %268 = getelementptr inbounds nuw i8, ptr %3, i64 32 - %269 = load i32, ptr %20, align 4 - store i32 %269, ptr %268, align 4 + %268 = load i32, ptr %20, align 4 + %269 = getelementptr inbounds nuw i8, ptr %3, i64 32 + store i32 %268, ptr %269, align 4 br label %.loopexit 270: ; preds = %5 @@ -1554,7 +1554,7 @@ H5Z__scaleoffset_convert.exit532: ; preds = %280, %277 %indvars.iv618 = phi i64 [ 8, %297 ], [ %indvars.iv.next619, %299 ] %.1599 = phi i64 [ 8, %297 ], [ %302, %299 ] %.1373598 = phi ptr [ %298, %297 ], [ %.2.idx.sroa.sel.idx.sroa.sel, %299 ] - %300 = load i32, ptr %.1373598, align 1 + %300 = load i32, ptr %.1373598, align 4 %301 = getelementptr inbounds nuw i32, ptr %3, i64 %indvars.iv618 store i32 %300, ptr %301, align 4 %indvars.iv.next619 = add nuw nsw i64 %indvars.iv618, 1 @@ -1997,7 +1997,7 @@ define internal fastcc void @H5Z__scaleoffset_postdecompress_i(ptr noundef nonnu %.1611806 = phi ptr [ %86, %85 ], [ %.2612.idx.sroa.sel.idx.sroa.sel, %87 ] %88 = getelementptr inbounds nuw i32, ptr %4, i64 %indvars.iv941 %89 = load i32, ptr %88, align 4 - store i32 %89, ptr %.1611806, align 1 + store i32 %89, ptr %.1611806, align 4 %indvars.iv.next942 = add nuw nsw i64 %indvars.iv941, 1 %90 = add nsw i64 %.1607807, -4 %.not680 = icmp eq i64 %90, 0 @@ -2085,7 +2085,7 @@ define internal fastcc void @H5Z__scaleoffset_postdecompress_i(ptr noundef nonnu %.1598798 = phi ptr [ %116, %115 ], [ %.2599.idx.sroa.sel.idx.sroa.sel, %117 ] %118 = getelementptr inbounds nuw i32, ptr %4, i64 %indvars.iv928 %119 = load i32, ptr %118, align 4 - store i32 %119, ptr %.1598798, align 1 + store i32 %119, ptr %.1598798, align 4 %indvars.iv.next929 = add nuw nsw i64 %indvars.iv928, 1 %120 = add nsw i64 %.1594799, -4 %.not676 = icmp eq i64 %120, 0 @@ -2329,7 +2329,7 @@ define internal fastcc void @H5Z__scaleoffset_postdecompress_i(ptr noundef nonnu %.1545772 = phi ptr [ %203, %202 ], [ %.2546.idx.sroa.sel.idx.sroa.sel, %204 ] %205 = getelementptr inbounds nuw i32, ptr %4, i64 %indvars.iv885 %206 = load i32, ptr %205, align 4 - store i32 %206, ptr %.1545772, align 1 + store i32 %206, ptr %.1545772, align 4 %indvars.iv.next886 = add nuw nsw i64 %indvars.iv885, 1 %207 = add nsw i64 %.1541773, -4 %.not667 = icmp eq i64 %207, 0 @@ -2417,7 +2417,7 @@ define internal fastcc void @H5Z__scaleoffset_postdecompress_i(ptr noundef nonnu %.1533764 = phi ptr [ %233, %232 ], [ %.2.idx.sroa.sel.idx.sroa.sel, %234 ] %235 = getelementptr inbounds nuw i32, ptr %4, i64 %indvars.iv872 %236 = load i32, ptr %235, align 4 - store i32 %236, ptr %.1533764, align 1 + store i32 %236, ptr %.1533764, align 4 %indvars.iv.next873 = add nuw nsw i64 %indvars.iv872, 1 %237 = add nsw i64 %.1765, -4 %.not664 = icmp eq i64 %237, 0 @@ -2585,7 +2585,7 @@ define internal fastcc void @H5Z__scaleoffset_postdecompress_fd(ptr noundef nonn %.1117158 = phi ptr [ %50, %49 ], [ %.2.idx.sroa.sel.idx.sroa.sel, %51 ] %52 = getelementptr inbounds nuw i32, ptr %4, i64 %indvars.iv180 %53 = load i32, ptr %52, align 4 - store i32 %53, ptr %.1117158, align 1 + store i32 %53, ptr %.1117158, align 4 %indvars.iv.next181 = add nuw nsw i64 %indvars.iv180, 1 %54 = add nsw i64 %.1159, -4 %.not144 = icmp eq i64 %54, 0 @@ -3570,7 +3570,7 @@ thread-pre-split2234: ; preds = %.lr.ph2699, %H5Z__s %.116692667 = phi ptr [ %292, %291 ], [ %.21670.idx.sroa.sel.idx.sroa.sel, %293 ] %294 = getelementptr inbounds nuw i32, ptr %4, i64 %indvars.iv3169 %295 = load i32, ptr %294, align 4 - store i32 %295, ptr %.116692667, align 1 + store i32 %295, ptr %.116692667, align 4 %indvars.iv.next3170 = add nuw nsw i64 %indvars.iv3169, 1 %296 = add nsw i64 %.116652668, -4 %.not1896 = icmp eq i64 %296, 0 @@ -3892,7 +3892,7 @@ thread-pre-split2238: ; preds = %.lr.ph2653, %H5Z__s %.116302621 = phi ptr [ %391, %390 ], [ %.21631.idx.sroa.sel.idx.sroa.sel, %392 ] %393 = getelementptr inbounds nuw i32, ptr %4, i64 %indvars.iv3130 %394 = load i32, ptr %393, align 4 - store i32 %394, ptr %.116302621, align 1 + store i32 %394, ptr %.116302621, align 4 %indvars.iv.next3131 = add nuw nsw i64 %indvars.iv3130, 1 %395 = add nsw i64 %.116262622, -4 %.not1890 = icmp eq i64 %395, 0 @@ -5088,7 +5088,7 @@ thread-pre-split2254: ; preds = %.lr.ph2475, %H5Z__s %.114702443 = phi ptr [ %759, %758 ], [ %.21471.idx.sroa.sel.idx.sroa.sel, %760 ] %761 = getelementptr inbounds nuw i32, ptr %4, i64 %indvars.iv2991 %762 = load i32, ptr %761, align 4 - store i32 %762, ptr %.114702443, align 1 + store i32 %762, ptr %.114702443, align 4 %indvars.iv.next2992 = add nuw nsw i64 %indvars.iv2991, 1 %763 = add nsw i64 %.114662444, -4 %.not1873 = icmp eq i64 %763, 0 @@ -5410,7 +5410,7 @@ thread-pre-split2258: ; preds = %.lr.ph2429, %H5Z__s %.114322397 = phi ptr [ %858, %857 ], [ %.2.idx.sroa.sel.idx.sroa.sel, %859 ] %860 = getelementptr inbounds nuw i32, ptr %4, i64 %indvars.iv2952 %861 = load i32, ptr %860, align 4 - store i32 %861, ptr %.114322397, align 1 + store i32 %861, ptr %.114322397, align 4 %indvars.iv.next2953 = add nuw nsw i64 %indvars.iv2952, 1 %862 = add nsw i64 %.12398, -4 %.not1868 = icmp eq i64 %862, 0 @@ -6023,7 +6023,7 @@ H5Z__scaleoffset_log2.exit342: ; preds = %.lr.ph.i334, %102 %.1262396 = phi ptr [ %143, %142 ], [ %.2.idx.sroa.sel.idx.sroa.sel, %144 ] %145 = getelementptr inbounds nuw i32, ptr %4, i64 %indvars.iv473 %146 = load i32, ptr %145, align 4 - store i32 %146, ptr %.1262396, align 1 + store i32 %146, ptr %.1262396, align 4 %indvars.iv.next474 = add nuw nsw i64 %indvars.iv473, 1 %147 = add nsw i64 %.1397, -4 %.not323 = icmp eq i64 %147, 0 diff --git a/bench/image-rs/optimized/2mngkegtim1o10y3.ll b/bench/image-rs/optimized/2mngkegtim1o10y3.ll index 4aa371b0eb2..b4190631a5c 100644 --- a/bench/image-rs/optimized/2mngkegtim1o10y3.ll +++ b/bench/image-rs/optimized/2mngkegtim1o10y3.ll @@ -14647,7 +14647,7 @@ define hidden void @_ZN3exr4meta6header6Header9write_all17habc56088bc3922ceE(ptr call void @llvm.lifetime.start.p0(i64 352, ptr nonnull %88), !noalias !1107 %273 = getelementptr inbounds nuw i8, ptr %.sroa.0.0937, i64 368 %274 = getelementptr inbounds nuw i8, ptr %.sroa.0.0937, i64 1024 - %.val.i = load float, ptr %274, align 4, !alias.scope !1109, !noalias !1104, !noundef !4 + %.val.i = load float, ptr %274, align 8, !alias.scope !1109, !noalias !1104, !noundef !4 %275 = getelementptr inbounds nuw i8, ptr %.sroa.0.0937, i64 1028 %.val752.i = load float, ptr %275, align 4, !alias.scope !1112, !noalias !1104, !noundef !4 store float %.val.i, ptr %124, align 8, !noalias !1107 @@ -14836,7 +14836,7 @@ define hidden void @_ZN3exr4meta6header6Header9write_all17habc56088bc3922ceE(ptr %332 = getelementptr inbounds nuw i8, ptr %.sroa.0.0937, i64 1036 %.val753.i = load float, ptr %332, align 4, !alias.scope !1109, !noalias !1104, !noundef !4 %333 = getelementptr inbounds nuw i8, ptr %.sroa.0.0937, i64 1040 - %.val754.i = load float, ptr %333, align 4, !alias.scope !1112, !noalias !1104, !noundef !4 + %.val754.i = load float, ptr %333, align 8, !alias.scope !1112, !noalias !1104, !noundef !4 store float %.val753.i, ptr %129, align 8, !noalias !1107 store float %.val754.i, ptr %130, align 4, !noalias !1107 store i64 22, ptr %80, align 8, !noalias !1107 @@ -15755,7 +15755,7 @@ define hidden void @_ZN3exr4meta6header6Header9write_all17habc56088bc3922ceE(ptr call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %43), !noalias !1107 call void @llvm.lifetime.start.p0(i64 352, ptr nonnull %42), !noalias !1107 %634 = getelementptr inbounds nuw i8, ptr %.sroa.0.0937, i64 1048 - %635 = load i32, ptr %634, align 4, !alias.scope !1101, !noalias !1104, !noundef !4 + %635 = load i32, ptr %634, align 8, !alias.scope !1101, !noalias !1104, !noundef !4 %636 = getelementptr inbounds nuw i8, ptr %.sroa.0.0937, i64 1052 %637 = load i32, ptr %636, align 4, !alias.scope !1101, !noalias !1104, !noundef !4 store i32 %635, ptr %149, align 8, !noalias !1107 @@ -15928,7 +15928,7 @@ define hidden void @_ZN3exr4meta6header6Header9write_all17habc56088bc3922ceE(ptr %688 = getelementptr inbounds nuw i8, ptr %.sroa.0.0937, i64 1196 %689 = load i32, ptr %688, align 4, !alias.scope !1101, !noalias !1104, !noundef !4 %690 = getelementptr inbounds nuw i8, ptr %.sroa.0.0937, i64 1200 - %691 = load i32, ptr %690, align 4, !alias.scope !1101, !noalias !1104, !noundef !4 + %691 = load i32, ptr %690, align 8, !alias.scope !1101, !noalias !1104, !noundef !4 store i32 %689, ptr %154, align 8, !noalias !1107 store i32 %691, ptr %155, align 4, !noalias !1107 store i64 10, ptr %33, align 8, !noalias !1107 @@ -16434,7 +16434,7 @@ define hidden void @_ZN3exr4meta6header6Header9write_all17habc56088bc3922ceE(ptr 866: ; preds = %863, %860 %.0659.in.i = getelementptr inbounds nuw i8, ptr %.sroa.0.0937, i64 1416 - %.0659.i = load float, ptr %.0659.in.i, align 4, !alias.scope !1101, !noalias !1104, !noundef !4 + %.0659.i = load float, ptr %.0659.in.i, align 8, !alias.scope !1101, !noalias !1104, !noundef !4 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14), !noalias !1107 call void @llvm.lifetime.start.p0(i64 352, ptr nonnull %13), !noalias !1107 store float %.0659.i, ptr %165, align 8, !noalias !1107 diff --git a/bench/libevent/optimized/evdns.c.ll b/bench/libevent/optimized/evdns.c.ll index 4f28fffcaf5..1bbe9963ac8 100644 --- a/bench/libevent/optimized/evdns.c.ll +++ b/bench/libevent/optimized/evdns.c.ll @@ -4642,7 +4642,7 @@ for.body: ; preds = %entry, %for.body %arrayidx2 = getelementptr inbounds nuw [17 x i8], ptr @.str.5, i64 0, i64 %idxprom1 %1 = load i8, ptr %arrayidx2, align 1 %incdec.ptr = getelementptr inbounds nuw i8, ptr %cp.024, i64 1 - store i8 %1, ptr %cp.024, align 1 + store i8 %1, ptr %cp.024, align 4 %incdec.ptr3 = getelementptr inbounds nuw i8, ptr %cp.024, i64 2 store i8 46, ptr %incdec.ptr, align 1 %shr = lshr i32 %conv, 4 @@ -4650,7 +4650,7 @@ for.body: ; preds = %entry, %for.body %arrayidx6 = getelementptr inbounds nuw [17 x i8], ptr @.str.5, i64 0, i64 %idxprom5 %2 = load i8, ptr %arrayidx6, align 1 %incdec.ptr7 = getelementptr inbounds nuw i8, ptr %cp.024, i64 3 - store i8 %2, ptr %incdec.ptr3, align 1 + store i8 %2, ptr %incdec.ptr3, align 2 %incdec.ptr8 = getelementptr inbounds nuw i8, ptr %cp.024, i64 4 store i8 46, ptr %incdec.ptr7, align 1 %indvars.iv.next = add nsw i64 %indvars.iv, -1 @@ -4658,7 +4658,7 @@ for.body: ; preds = %entry, %for.body br i1 %cmp.not, label %do.end10, label %for.body, !llvm.loop !28 do.end10: ; preds = %for.body - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(9) %incdec.ptr8, ptr noundef nonnull align 1 dereferenceable(9) @.str.6, i64 9, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(9) %incdec.ptr8, ptr noundef nonnull align 1 dereferenceable(9) @.str.6, i64 9, i1 false) %call = tail call ptr @event_mm_calloc_(i64 noundef 1, i64 noundef 160) #18 %cmp11 = icmp eq ptr %call, null br i1 %cmp11, label %return, label %if.end diff --git a/bench/libjpeg-turbo/optimized/jidctint.c.ll b/bench/libjpeg-turbo/optimized/jidctint.c.ll index 30ba6489105..0818089d2c5 100644 --- a/bench/libjpeg-turbo/optimized/jidctint.c.ll +++ b/bench/libjpeg-turbo/optimized/jidctint.c.ll @@ -238,7 +238,7 @@ define void @jpeg_idct_islow(ptr noundef readonly captures(none) %0, ptr noundef %185 = load i32, ptr %184, align 4 %186 = icmp eq i32 %185, 0 %187 = getelementptr inbounds nuw i8, ptr %.2266, i64 8 - %188 = load i32, ptr %187, align 4 + %188 = load i32, ptr %187, align 8 %189 = icmp eq i32 %188, 0 %or.cond274 = select i1 %186, i1 %189, i1 false br i1 %or.cond274, label %190, label %._crit_edge269 @@ -251,7 +251,7 @@ define void @jpeg_idct_islow(ptr noundef readonly captures(none) %0, ptr noundef 194: ; preds = %190 %195 = getelementptr inbounds nuw i8, ptr %.2266, i64 16 - %196 = load i32, ptr %195, align 4 + %196 = load i32, ptr %195, align 16 %197 = icmp eq i32 %196, 0 br i1 %197, label %198, label %._crit_edge269 @@ -263,7 +263,7 @@ define void @jpeg_idct_islow(ptr noundef readonly captures(none) %0, ptr noundef 202: ; preds = %198 %203 = getelementptr inbounds nuw i8, ptr %.2266, i64 24 - %204 = load i32, ptr %203, align 4 + %204 = load i32, ptr %203, align 8 %205 = icmp eq i32 %204, 0 br i1 %205, label %206, label %._crit_edge269 @@ -274,7 +274,7 @@ define void @jpeg_idct_islow(ptr noundef readonly captures(none) %0, ptr noundef br i1 %209, label %210, label %._crit_edge269 210: ; preds = %206 - %211 = load i32, ptr %.2266, align 4 + %211 = load i32, ptr %.2266, align 16 %212 = add i32 %211, 16 %213 = lshr i32 %212, 5 %214 = and i32 %213, 1023 @@ -300,7 +300,7 @@ define void @jpeg_idct_islow(ptr noundef readonly captures(none) %0, ptr noundef %224 = phi i32 [ 0, %206 ], [ 0, %202 ], [ 0, %198 ], [ 0, %194 ], [ 0, %190 ], [ %188, %180 ] %225 = zext i32 %224 to i64 %226 = getelementptr inbounds nuw i8, ptr %.2266, i64 24 - %227 = load i32, ptr %226, align 4 + %227 = load i32, ptr %226, align 8 %228 = zext i32 %227 to i64 %229 = add nuw nsw i64 %228, %225 %230 = mul nuw nsw i64 %229, 4433 @@ -308,10 +308,10 @@ define void @jpeg_idct_islow(ptr noundef readonly captures(none) %0, ptr noundef %232 = add nsw i64 %230, %231 %233 = mul nuw nsw i64 %225, 6270 %234 = add nuw nsw i64 %230, %233 - %235 = load i32, ptr %.2266, align 4 + %235 = load i32, ptr %.2266, align 16 %236 = sext i32 %235 to i64 %237 = getelementptr inbounds nuw i8, ptr %.2266, i64 16 - %238 = load i32, ptr %237, align 4 + %238 = load i32, ptr %237, align 16 %239 = sext i32 %238 to i64 %240 = add nsw i64 %239, %236 %241 = shl nsw i64 %240, 13 @@ -810,19 +810,19 @@ define void @jpeg_idct_6x6(ptr noundef readonly captures(none) %0, ptr noundef r %100 = getelementptr inbounds nuw ptr, ptr %3, i64 %indvars.iv %101 = load ptr, ptr %100, align 8 %102 = getelementptr inbounds nuw i8, ptr %101, i64 %12 - %103 = load i32, ptr %.1121135, align 4 + %103 = load i32, ptr %.1121135, align 8 %104 = sext i32 %103 to i64 %105 = shl nsw i64 %104, 13 %106 = add nsw i64 %105, 131072 %107 = getelementptr inbounds nuw i8, ptr %.1121135, i64 16 - %108 = load i32, ptr %107, align 4 + %108 = load i32, ptr %107, align 8 %109 = zext i32 %108 to i64 %110 = mul nuw nsw i64 %109, 5793 %111 = add nsw i64 %106, %110 %.neg = mul nsw i64 %109, -11586 %112 = add nsw i64 %.neg, %106 %113 = getelementptr inbounds nuw i8, ptr %.1121135, i64 8 - %114 = load i32, ptr %113, align 4 + %114 = load i32, ptr %113, align 8 %115 = zext i32 %114 to i64 %116 = mul nuw nsw i64 %115, 10033 %117 = add nsw i64 %111, %116 @@ -1355,18 +1355,18 @@ define void @jpeg_idct_9x9(ptr noundef readonly captures(none) %0, ptr noundef r %142 = getelementptr inbounds nuw ptr, ptr %3, i64 %indvars.iv %143 = load ptr, ptr %142, align 8 %144 = getelementptr inbounds nuw i8, ptr %143, i64 %12 - %145 = load i32, ptr %.1192212, align 4 + %145 = load i32, ptr %.1192212, align 16 %146 = sext i32 %145 to i64 %147 = shl nsw i64 %146, 13 %148 = add nsw i64 %147, 131072 %149 = getelementptr inbounds nuw i8, ptr %.1192212, i64 8 - %150 = load i32, ptr %149, align 4 + %150 = load i32, ptr %149, align 8 %151 = zext i32 %150 to i64 %152 = getelementptr inbounds nuw i8, ptr %.1192212, i64 16 - %153 = load i32, ptr %152, align 4 + %153 = load i32, ptr %152, align 16 %154 = zext i32 %153 to i64 %155 = getelementptr inbounds nuw i8, ptr %.1192212, i64 24 - %156 = load i32, ptr %155, align 4 + %156 = load i32, ptr %155, align 8 %157 = zext i32 %156 to i64 %158 = mul nuw nsw i64 %157, 5793 %159 = add nsw i64 %158, %148 @@ -1661,12 +1661,12 @@ define void @jpeg_idct_10x10(ptr noundef readonly captures(none) %0, ptr noundef %149 = getelementptr inbounds nuw ptr, ptr %3, i64 %indvars.iv %150 = load ptr, ptr %149, align 8 %151 = getelementptr inbounds nuw i8, ptr %150, i64 %12 - %152 = load i32, ptr %.1213239, align 4 + %152 = load i32, ptr %.1213239, align 16 %153 = sext i32 %152 to i64 %154 = shl nsw i64 %153, 13 %155 = add nsw i64 %154, 131072 %156 = getelementptr inbounds nuw i8, ptr %.1213239, i64 16 - %157 = load i32, ptr %156, align 4 + %157 = load i32, ptr %156, align 16 %158 = zext i32 %157 to i64 %159 = mul nuw nsw i64 %158, 9373 %.neg = mul nsw i64 %158, -3580 @@ -1675,10 +1675,10 @@ define void @jpeg_idct_10x10(ptr noundef readonly captures(none) %0, ptr noundef %.neg216 = mul nsw i64 %158, -11586 %162 = add nsw i64 %.neg216, %155 %163 = getelementptr inbounds nuw i8, ptr %.1213239, i64 8 - %164 = load i32, ptr %163, align 4 + %164 = load i32, ptr %163, align 8 %165 = zext i32 %164 to i64 %166 = getelementptr inbounds nuw i8, ptr %.1213239, i64 24 - %167 = load i32, ptr %166, align 4 + %167 = load i32, ptr %166, align 8 %168 = zext i32 %167 to i64 %169 = add nuw nsw i64 %168, %165 %170 = mul nuw nsw i64 %169, 6810 @@ -2007,18 +2007,18 @@ define void @jpeg_idct_11x11(ptr noundef readonly captures(none) %0, ptr noundef %170 = getelementptr inbounds nuw ptr, ptr %3, i64 %indvars.iv %171 = load ptr, ptr %170, align 8 %172 = getelementptr inbounds nuw i8, ptr %171, i64 %12 - %173 = load i32, ptr %.1246270, align 4 + %173 = load i32, ptr %.1246270, align 16 %174 = sext i32 %173 to i64 %175 = shl nsw i64 %174, 13 %176 = add nsw i64 %175, 131072 %177 = getelementptr inbounds nuw i8, ptr %.1246270, i64 8 - %178 = load i32, ptr %177, align 4 + %178 = load i32, ptr %177, align 8 %179 = zext i32 %178 to i64 %180 = getelementptr inbounds nuw i8, ptr %.1246270, i64 16 - %181 = load i32, ptr %180, align 4 + %181 = load i32, ptr %180, align 16 %182 = zext i32 %181 to i64 %183 = getelementptr inbounds nuw i8, ptr %.1246270, i64 24 - %184 = load i32, ptr %183, align 4 + %184 = load i32, ptr %183, align 8 %185 = zext i32 %184 to i64 %186 = sub nsw i64 %182, %185 %187 = mul nsw i64 %186, 20862 @@ -2374,22 +2374,22 @@ define void @jpeg_idct_12x12(ptr noundef readonly captures(none) %0, ptr noundef %167 = getelementptr inbounds nuw ptr, ptr %3, i64 %indvars.iv %168 = load ptr, ptr %167, align 8 %169 = getelementptr inbounds nuw i8, ptr %168, i64 %12 - %170 = load i32, ptr %.1249265, align 4 + %170 = load i32, ptr %.1249265, align 16 %171 = sext i32 %170 to i64 %172 = shl nsw i64 %171, 13 %173 = add nsw i64 %172, 131072 %174 = getelementptr inbounds nuw i8, ptr %.1249265, i64 16 - %175 = load i32, ptr %174, align 4 + %175 = load i32, ptr %174, align 16 %176 = zext i32 %175 to i64 %177 = mul nuw nsw i64 %176, 10033 %178 = add nsw i64 %173, %177 %179 = sub nsw i64 %173, %177 %180 = getelementptr inbounds nuw i8, ptr %.1249265, i64 8 - %181 = load i32, ptr %180, align 4 + %181 = load i32, ptr %180, align 8 %182 = sext i32 %181 to i64 %183 = mul nsw i64 %182, 11190 %184 = getelementptr inbounds nuw i8, ptr %.1249265, i64 24 - %185 = load i32, ptr %184, align 4 + %185 = load i32, ptr %184, align 8 %186 = sext i32 %185 to i64 %187 = shl nsw i64 %186, 13 %188 = sub nsw i64 %182, %186 @@ -2763,18 +2763,18 @@ define void @jpeg_idct_13x13(ptr noundef readonly captures(none) %0, ptr noundef %190 = getelementptr inbounds nuw ptr, ptr %3, i64 %indvars.iv %191 = load ptr, ptr %190, align 8 %192 = getelementptr inbounds nuw i8, ptr %191, i64 %12 - %193 = load i32, ptr %.1286306, align 4 + %193 = load i32, ptr %.1286306, align 16 %194 = sext i32 %193 to i64 %195 = shl nsw i64 %194, 13 %196 = add nsw i64 %195, 131072 %197 = getelementptr inbounds nuw i8, ptr %.1286306, i64 8 - %198 = load i32, ptr %197, align 4 + %198 = load i32, ptr %197, align 8 %199 = zext i32 %198 to i64 %200 = getelementptr inbounds nuw i8, ptr %.1286306, i64 16 - %201 = load i32, ptr %200, align 4 + %201 = load i32, ptr %200, align 16 %202 = zext i32 %201 to i64 %203 = getelementptr inbounds nuw i8, ptr %.1286306, i64 24 - %204 = load i32, ptr %203, align 4 + %204 = load i32, ptr %203, align 8 %205 = zext i32 %204 to i64 %206 = add nuw nsw i64 %205, %202 %207 = sub nsw i64 %202, %205 @@ -3174,12 +3174,12 @@ define void @jpeg_idct_14x14(ptr noundef readonly captures(none) %0, ptr noundef %180 = getelementptr inbounds nuw ptr, ptr %3, i64 %indvars.iv %181 = load ptr, ptr %180, align 8 %182 = getelementptr inbounds nuw i8, ptr %181, i64 %12 - %183 = load i32, ptr %.1286312, align 4 + %183 = load i32, ptr %.1286312, align 16 %184 = sext i32 %183 to i64 %185 = shl nsw i64 %184, 13 %186 = add nsw i64 %185, 131072 %187 = getelementptr inbounds nuw i8, ptr %.1286312, i64 16 - %188 = load i32, ptr %187, align 4 + %188 = load i32, ptr %187, align 16 %189 = zext i32 %188 to i64 %190 = mul nuw nsw i64 %189, 10438 %191 = mul nuw nsw i64 %189, 2578 @@ -3190,10 +3190,10 @@ define void @jpeg_idct_14x14(ptr noundef readonly captures(none) %0, ptr noundef %.neg289 = mul nsw i64 %189, -11586 %195 = add nsw i64 %.neg289, %186 %196 = getelementptr inbounds nuw i8, ptr %.1286312, i64 8 - %197 = load i32, ptr %196, align 4 + %197 = load i32, ptr %196, align 8 %198 = zext i32 %197 to i64 %199 = getelementptr inbounds nuw i8, ptr %.1286312, i64 24 - %200 = load i32, ptr %199, align 4 + %200 = load i32, ptr %199, align 8 %201 = zext i32 %200 to i64 %202 = add nuw nsw i64 %201, %198 %203 = mul nuw nsw i64 %202, 9058 @@ -3590,18 +3590,18 @@ define void @jpeg_idct_15x15(ptr noundef readonly captures(none) %0, ptr noundef %188 = getelementptr inbounds nuw ptr, ptr %3, i64 %indvars.iv %189 = load ptr, ptr %188, align 8 %190 = getelementptr inbounds nuw i8, ptr %189, i64 %12 - %191 = load i32, ptr %.1304338, align 4 + %191 = load i32, ptr %.1304338, align 16 %192 = sext i32 %191 to i64 %193 = shl nsw i64 %192, 13 %194 = add nsw i64 %193, 131072 %195 = getelementptr inbounds nuw i8, ptr %.1304338, i64 8 - %196 = load i32, ptr %195, align 4 + %196 = load i32, ptr %195, align 8 %197 = zext i32 %196 to i64 %198 = getelementptr inbounds nuw i8, ptr %.1304338, i64 16 - %199 = load i32, ptr %198, align 4 + %199 = load i32, ptr %198, align 16 %200 = zext i32 %199 to i64 %201 = getelementptr inbounds nuw i8, ptr %.1304338, i64 24 - %202 = load i32, ptr %201, align 4 + %202 = load i32, ptr %201, align 8 %203 = zext i32 %202 to i64 %.neg = mul nsw i64 %203, -3580 %204 = mul nuw nsw i64 %203, 9373 @@ -4037,12 +4037,12 @@ define void @jpeg_idct_16x16(ptr noundef readonly captures(none) %0, ptr noundef %211 = getelementptr inbounds nuw ptr, ptr %3, i64 %indvars.iv %212 = load ptr, ptr %211, align 8 %213 = getelementptr inbounds nuw i8, ptr %212, i64 %12 - %214 = load i32, ptr %.1353371, align 4 + %214 = load i32, ptr %.1353371, align 16 %215 = sext i32 %214 to i64 %216 = shl nsw i64 %215, 13 %217 = add nsw i64 %216, 131072 %218 = getelementptr inbounds nuw i8, ptr %.1353371, i64 16 - %219 = load i32, ptr %218, align 4 + %219 = load i32, ptr %218, align 16 %220 = zext i32 %219 to i64 %221 = mul nuw nsw i64 %220, 10703 %222 = mul nuw nsw i64 %220, 4433 @@ -4051,10 +4051,10 @@ define void @jpeg_idct_16x16(ptr noundef readonly captures(none) %0, ptr noundef %225 = add nsw i64 %217, %222 %226 = sub nsw i64 %217, %222 %227 = getelementptr inbounds nuw i8, ptr %.1353371, i64 8 - %228 = load i32, ptr %227, align 4 + %228 = load i32, ptr %227, align 8 %229 = zext i32 %228 to i64 %230 = getelementptr inbounds nuw i8, ptr %.1353371, i64 24 - %231 = load i32, ptr %230, align 4 + %231 = load i32, ptr %230, align 8 %232 = zext i32 %231 to i64 %233 = sub nsw i64 %229, %232 %234 = mul nsw i64 %233, 2260 diff --git a/bench/linux/optimized/processor_idle.ll b/bench/linux/optimized/processor_idle.ll index 59fec741a86..6b7c3e8f367 100644 --- a/bench/linux/optimized/processor_idle.ll +++ b/bench/linux/optimized/processor_idle.ll @@ -1545,7 +1545,7 @@ define internal fastcc noundef range(i32 -61, 1) i32 @acpi_processor_evaluate_lp store ptr null, ptr %4, align 8 %5 = call i32 @acpi_evaluate_object(ptr noundef %0, ptr noundef nonnull @.str.1, ptr noundef null, ptr noundef nonnull %3) #17 %6 = icmp eq i32 %5, 0 - br i1 %6, label %7, label %147 + br i1 %6, label %7, label %144 7: ; preds = %2 %8 = load ptr, ptr %4, align 8 @@ -1588,29 +1588,29 @@ define internal fastcc noundef range(i32 -61, 1) i32 @acpi_processor_evaluate_lp store ptr %30, ptr %33, align 8 br label %34 -34: ; preds = %32, %140 - %35 = phi i32 [ %142, %140 ], [ 1, %32 ] - %36 = phi i32 [ %141, %140 ], [ 3, %32 ] - %37 = phi ptr [ %143, %140 ], [ %30, %32 ] +34: ; preds = %32, %137 + %35 = phi i32 [ %139, %137 ], [ 1, %32 ] + %36 = phi i32 [ %138, %137 ], [ 3, %32 ] + %37 = phi ptr [ %140, %137 ], [ %30, %32 ] %38 = load ptr, ptr %18, align 8 %39 = sext i32 %36 to i64 %40 = getelementptr %union.acpi_object, ptr %38, i64 %39 %41 = load i32, ptr %40, align 8 %42 = icmp eq i32 %41, 4 - br i1 %42, label %43, label %140 + br i1 %42, label %43, label %137 43: ; preds = %34 %44 = getelementptr inbounds nuw i8, ptr %40, i64 4 %45 = load i32, ptr %44, align 4 %46 = icmp ult i32 %45, 7 - br i1 %46, label %140, label %47 + br i1 %46, label %137, label %47 47: ; preds = %43 %48 = getelementptr inbounds nuw i8, ptr %40, i64 8 %49 = load ptr, ptr %48, align 8 %50 = getelementptr i8, ptr %49, i64 144 %51 = load i32, ptr %50, align 8 - switch i32 %51, label %140 [ + switch i32 %51, label %137 [ i32 3, label %52 i32 1, label %65 ] @@ -1620,7 +1620,7 @@ define internal fastcc noundef range(i32 -61, 1) i32 @acpi_processor_evaluate_lp %54 = load ptr, ptr %53, align 8 %55 = getelementptr inbounds nuw i8, ptr %54, i64 3 %56 = load i8, ptr %55, align 1 - switch i8 %56, label %140 [ + switch i8 %56, label %137 [ i8 1, label %57 i8 127, label %57 ] @@ -1671,114 +1671,105 @@ define internal fastcc noundef range(i32 -61, 1) i32 @acpi_processor_evaluate_lp %85 = getelementptr inbounds nuw i8, ptr %49, i64 8 %86 = load i64, ptr %85, align 8 %87 = trunc i64 %86 to i32 - store i32 %87, ptr %37, align 4 - br label %89 + br label %88 + +88: ; preds = %79, %84 + %storemerge = phi i32 [ %87, %84 ], [ 10, %79 ] + store i32 %storemerge, ptr %37, align 8 + %89 = getelementptr i8, ptr %49, i64 24 + %90 = getelementptr inbounds nuw i8, ptr %37, i64 4 + %91 = load i32, ptr %89, align 8 + %92 = icmp eq i32 %91, 1 + br i1 %92, label %93, label %97 + +93: ; preds = %88 + %94 = getelementptr i8, ptr %49, i64 32 + %95 = load i64, ptr %94, align 8 + %96 = trunc i64 %95 to i32 + br label %97 + +97: ; preds = %93, %88 + %98 = phi i32 [ %96, %93 ], [ 10, %88 ] + store i32 %98, ptr %90, align 4 + %99 = getelementptr i8, ptr %49, i64 48 + %100 = getelementptr inbounds nuw i8, ptr %37, i64 8 + %101 = load i32, ptr %99, align 8 + %102 = icmp eq i32 %101, 1 + br i1 %102, label %103, label %107 + +103: ; preds = %97 + %104 = getelementptr i8, ptr %49, i64 56 + %105 = load i64, ptr %104, align 8 + %106 = trunc i64 %105 to i32 + br label %107 -88: ; preds = %79 - store i32 10, ptr %37, align 8 - br label %89 +107: ; preds = %97, %103 + %storemerge5 = phi i32 [ %106, %103 ], [ 0, %97 ] + store i32 %storemerge5, ptr %100, align 8 + %108 = getelementptr i8, ptr %49, i64 72 + %109 = getelementptr inbounds nuw i8, ptr %37, i64 12 + %110 = load i32, ptr %108, align 8 + %111 = icmp eq i32 %110, 1 + br i1 %111, label %112, label %116 + +112: ; preds = %107 + %113 = getelementptr i8, ptr %49, i64 80 + %114 = load i64, ptr %113, align 8 + %115 = trunc i64 %114 to i32 + br label %116 + +116: ; preds = %112, %107 + %117 = phi i32 [ %115, %112 ], [ 0, %107 ] + store i32 %117, ptr %109, align 4 + %118 = getelementptr i8, ptr %49, i64 96 + %119 = getelementptr inbounds nuw i8, ptr %37, i64 16 + %120 = load i32, ptr %118, align 8 + %121 = icmp eq i32 %120, 1 + br i1 %121, label %122, label %126 + +122: ; preds = %116 + %123 = getelementptr i8, ptr %49, i64 104 + %124 = load i64, ptr %123, align 8 + %125 = trunc i64 %124 to i32 + br label %126 + +126: ; preds = %116, %122 + %storemerge6 = phi i32 [ %125, %122 ], [ 1, %116 ] + store i32 %storemerge6, ptr %119, align 8 + %127 = getelementptr i8, ptr %49, i64 120 + %128 = getelementptr inbounds nuw i8, ptr %37, i64 20 + %129 = load i32, ptr %127, align 8 + %130 = icmp eq i32 %129, 1 + br i1 %130, label %131, label %135 + +131: ; preds = %126 + %132 = getelementptr i8, ptr %49, i64 128 + %133 = load i64, ptr %132, align 8 + %134 = trunc i64 %133 to i32 + br label %135 + +135: ; preds = %131, %126 + %136 = phi i32 [ %134, %131 ], [ 0, %126 ] + store i32 %136, ptr %128, align 4 + br label %137 -89: ; preds = %88, %84 - %90 = getelementptr i8, ptr %49, i64 24 - %91 = getelementptr inbounds nuw i8, ptr %37, i64 4 - %92 = load i32, ptr %90, align 8 - %93 = icmp eq i32 %92, 1 - br i1 %93, label %94, label %98 - -94: ; preds = %89 - %95 = getelementptr i8, ptr %49, i64 32 - %96 = load i64, ptr %95, align 8 - %97 = trunc i64 %96 to i32 - br label %98 - -98: ; preds = %94, %89 - %99 = phi i32 [ %97, %94 ], [ 10, %89 ] - store i32 %99, ptr %91, align 4 - %100 = getelementptr i8, ptr %49, i64 48 - %101 = getelementptr inbounds nuw i8, ptr %37, i64 8 - %102 = load i32, ptr %100, align 8 - %103 = icmp eq i32 %102, 1 - br i1 %103, label %104, label %108 - -104: ; preds = %98 - %105 = getelementptr i8, ptr %49, i64 56 - %106 = load i64, ptr %105, align 8 - %107 = trunc i64 %106 to i32 - store i32 %107, ptr %101, align 4 - br label %109 - -108: ; preds = %98 - store i32 0, ptr %101, align 8 - br label %109 - -109: ; preds = %108, %104 - %110 = getelementptr i8, ptr %49, i64 72 - %111 = getelementptr inbounds nuw i8, ptr %37, i64 12 - %112 = load i32, ptr %110, align 8 - %113 = icmp eq i32 %112, 1 - br i1 %113, label %114, label %118 - -114: ; preds = %109 - %115 = getelementptr i8, ptr %49, i64 80 - %116 = load i64, ptr %115, align 8 - %117 = trunc i64 %116 to i32 - br label %118 - -118: ; preds = %114, %109 - %119 = phi i32 [ %117, %114 ], [ 0, %109 ] - store i32 %119, ptr %111, align 4 - %120 = getelementptr i8, ptr %49, i64 96 - %121 = getelementptr inbounds nuw i8, ptr %37, i64 16 - %122 = load i32, ptr %120, align 8 - %123 = icmp eq i32 %122, 1 - br i1 %123, label %124, label %128 - -124: ; preds = %118 - %125 = getelementptr i8, ptr %49, i64 104 - %126 = load i64, ptr %125, align 8 - %127 = trunc i64 %126 to i32 - store i32 %127, ptr %121, align 4 - br label %129 - -128: ; preds = %118 - store i32 1, ptr %121, align 8 - br label %129 - -129: ; preds = %128, %124 - %130 = getelementptr i8, ptr %49, i64 120 - %131 = getelementptr inbounds nuw i8, ptr %37, i64 20 - %132 = load i32, ptr %130, align 8 - %133 = icmp eq i32 %132, 1 - br i1 %133, label %134, label %138 - -134: ; preds = %129 - %135 = getelementptr i8, ptr %49, i64 128 - %136 = load i64, ptr %135, align 8 - %137 = trunc i64 %136 to i32 - br label %138 - -138: ; preds = %134, %129 - %139 = phi i32 [ %137, %134 ], [ 0, %129 ] - store i32 %139, ptr %131, align 4 - br label %140 - -140: ; preds = %138, %52, %47, %43, %34 - %141 = add i32 %36, 1 - %142 = add i32 %35, 1 - %143 = getelementptr i8, ptr %37, i64 72 - %144 = icmp sgt i32 %142, %22 - br i1 %144, label %.loopexit, label %34, !llvm.loop !25 - -.loopexit: ; preds = %140, %27, %17, %13, %10, %7 - %145 = phi i32 [ -61, %13 ], [ -61, %10 ], [ -61, %7 ], [ -61, %17 ], [ -12, %27 ], [ 0, %140 ] - %146 = load ptr, ptr %4, align 8 - call void @kfree(ptr noundef %146) #17 - br label %147 - -147: ; preds = %.loopexit, %2 - %148 = phi i32 [ %145, %.loopexit ], [ -19, %2 ] +137: ; preds = %135, %52, %47, %43, %34 + %138 = add i32 %36, 1 + %139 = add i32 %35, 1 + %140 = getelementptr i8, ptr %37, i64 72 + %141 = icmp sgt i32 %139, %22 + br i1 %141, label %.loopexit, label %34, !llvm.loop !25 + +.loopexit: ; preds = %137, %27, %17, %13, %10, %7 + %142 = phi i32 [ -61, %13 ], [ -61, %10 ], [ -61, %7 ], [ -61, %17 ], [ -12, %27 ], [ 0, %137 ] + %143 = load ptr, ptr %4, align 8 + call void @kfree(ptr noundef %143) #17 + br label %144 + +144: ; preds = %.loopexit, %2 + %145 = phi i32 [ %142, %.loopexit ], [ -19, %2 ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %3) #17 - ret i32 %148 + ret i32 %145 } ; Function Attrs: null_pointer_is_valid diff --git a/bench/linux/optimized/static_call_inline.ll b/bench/linux/optimized/static_call_inline.ll index 24300bb3081..58baf12a037 100644 --- a/bench/linux/optimized/static_call_inline.ll +++ b/bench/linux/optimized/static_call_inline.ll @@ -334,139 +334,136 @@ define dso_local noundef range(i32 0, 2) i32 @static_call_text_reserved(ptr noun %20 = icmp ult ptr %19, @__stop_static_call_sites br i1 %20, label %.split.us, label %.loopexit5, !llvm.loop !23 -.split: ; preds = %4, %39 - %21 = phi ptr [ %40, %39 ], [ @__start_static_call_sites, %4 ] +.split: ; preds = %4, %36 + %21 = phi ptr [ %37, %36 ], [ @__start_static_call_sites, %4 ] %22 = getelementptr inbounds nuw i8, ptr %21, i64 4 %23 = load i32, ptr %22, align 4 - %24 = zext i32 %23 to i64 - %25 = ptrtoint ptr %22 to i64 - %26 = add i64 %24, %25 - %27 = and i64 %26, 2 - %28 = icmp eq i64 %27, 0 - br i1 %28, label %29, label %39 - -29: ; preds = %.split - %30 = load i32, ptr %21, align 4 - %31 = sext i32 %30 to i64 - %32 = ptrtoint ptr %21 to i64 - %33 = add i64 %31, %32 - %34 = inttoptr i64 %33 to ptr - %35 = icmp ult ptr %1, %34 - %36 = add i64 %33, 5 - %37 = icmp ule i64 %36, %7 - %38 = or i1 %35, %37 - br i1 %38, label %39, label %.loopexit4 - -39: ; preds = %29, %.split - %40 = getelementptr i8, ptr %21, i64 8 - %41 = icmp ult ptr %40, @__stop_static_call_sites - br i1 %41, label %.split, label %.loopexit5, !llvm.loop !23 - -.loopexit5: ; preds = %39, %18, %..loopexit5_crit_edge - %.pre-phi = phi i64 [ %.pre, %..loopexit5_crit_edge ], [ %7, %18 ], [ %7, %39 ] + %24 = and i32 %23, 2 + %25 = icmp eq i32 %24, 0 + br i1 %25, label %26, label %36 + +26: ; preds = %.split + %27 = load i32, ptr %21, align 4 + %28 = sext i32 %27 to i64 + %29 = ptrtoint ptr %21 to i64 + %30 = add i64 %28, %29 + %31 = inttoptr i64 %30 to ptr + %32 = icmp ult ptr %1, %31 + %33 = add i64 %30, 5 + %34 = icmp ule i64 %33, %7 + %35 = or i1 %32, %34 + br i1 %35, label %36, label %.loopexit4 + +36: ; preds = %26, %.split + %37 = getelementptr i8, ptr %21, i64 8 + %38 = icmp ult ptr %37, @__stop_static_call_sites + br i1 %38, label %.split, label %.loopexit5, !llvm.loop !23 + +.loopexit5: ; preds = %36, %18, %..loopexit5_crit_edge + %.pre-phi = phi i64 [ %.pre, %..loopexit5_crit_edge ], [ %7, %18 ], [ %7, %36 ] tail call void asm "incl %gs:$0", "=*m,*m,~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i32) getelementptr inbounds nuw (i8, ptr @pcpu_hot, i64 8), ptr nonnull elementtype(i32) getelementptr inbounds nuw (i8, ptr @pcpu_hot, i64 8)) #13, !srcloc !24 tail call void asm sideeffect "", "~{memory},~{dirflag},~{fpsr},~{flags}"() #13, !srcloc !25 - %42 = tail call ptr @__module_text_address(i64 noundef %.pre-phi) #13 - %43 = ptrtoint ptr %1 to i64 - %44 = tail call ptr @__module_text_address(i64 noundef %43) #13 - %45 = icmp eq ptr %44, %42 - br i1 %45, label %47, label %46, !prof !13 + %39 = tail call ptr @__module_text_address(i64 noundef %.pre-phi) #13 + %40 = ptrtoint ptr %1 to i64 + %41 = tail call ptr @__module_text_address(i64 noundef %40) #13 + %42 = icmp eq ptr %41, %39 + br i1 %42, label %44, label %43, !prof !13 -46: ; preds = %.loopexit5 +43: ; preds = %.loopexit5 tail call void asm sideeffect "322: nop\0A\09.pushsection .discard.instr_begin\0A\09.long 322b - .\0A\09.popsection\0A\09", "i,~{dirflag},~{fpsr},~{flags}"(i32 322) #13, !srcloc !26 tail call void asm sideeffect "1:\09.byte 0x0f, 0x0b\0A.pushsection __bug_table,\22aw\22\0A2:\09.long 1b - .\09# bug_entry::bug_addr\0A\09.long ${0:c} - .\09# bug_entry::file\0A\09.word ${1:c}\09# bug_entry::line\0A\09.word ${2:c}\09# bug_entry::flags\0A\09.org 2b+${3:c}\0A.popsection\0A998:\0A\09.pushsection .discard.reachable\0A\09.long 998b\0A\09.popsection\0A\09", "i,i,i,i,~{dirflag},~{fpsr},~{flags}"(ptr nonnull @.str, i32 330, i32 2307, i64 12) #13, !srcloc !27 tail call void asm sideeffect "323: nop\0A\09.pushsection .discard.instr_end\0A\09.long 323b - .\0A\09.popsection\0A\09", "i,~{dirflag},~{fpsr},~{flags}"(i32 323) #13, !srcloc !28 - br label %47 + br label %44 -47: ; preds = %46, %.loopexit5 - %48 = tail call zeroext i1 @try_module_get(ptr noundef %42) #13 - %49 = select i1 %48, ptr %42, ptr null +44: ; preds = %43, %.loopexit5 + %45 = tail call zeroext i1 @try_module_get(ptr noundef %39) #13 + %46 = select i1 %45, ptr %39, ptr null tail call void asm sideeffect "", "~{memory},~{dirflag},~{fpsr},~{flags}"() #13, !srcloc !29 - %50 = tail call i8 asm sideeffect "decl %gs:$0\0A\09/* output condition code e*/\0A", "=*m,={@cce},*m,~{memory},~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i32) getelementptr inbounds nuw (i8, ptr @pcpu_hot, i64 8), ptr nonnull elementtype(i32) getelementptr inbounds nuw (i8, ptr @pcpu_hot, i64 8)) #13, !srcloc !30 - %51 = icmp ult i8 %50, 2 - tail call void @llvm.assume(i1 %51) - %52 = icmp eq i8 %50, 0 - br i1 %52, label %56, label %53, !prof !13 - -53: ; preds = %47 - %54 = tail call i64 @llvm.read_register.i64(metadata !0) - %55 = tail call i64 asm sideeffect "call __SCT__preempt_schedule", "={rsp},{rsp},~{dirflag},~{fpsr},~{flags}"(i64 %54) #13, !srcloc !31 - tail call void @llvm.write_register.i64(metadata !0, i64 %55) - br label %56 - -56: ; preds = %53, %47 - %57 = icmp eq ptr %49, null - br i1 %57, label %.loopexit4, label %58 - -58: ; preds = %56 - %59 = getelementptr inbounds nuw i8, ptr %49, i64 1096 - %60 = load ptr, ptr %59, align 8 - %61 = getelementptr inbounds nuw i8, ptr %49, i64 1092 - %62 = load i32, ptr %61, align 4 - %63 = sext i32 %62 to i64 - %64 = getelementptr %struct.static_call_site, ptr %60, i64 %63 - %65 = icmp ult ptr %60, %64 - br i1 %65, label %.preheader, label %.loopexit - -.preheader: ; preds = %58 - %66 = load i32, ptr %49, align 64 - %67 = icmp eq i32 %66, 1 - br i1 %67, label %.preheader.split.us, label %.preheader.split - -.preheader.split.us: ; preds = %.preheader, %78 - %68 = phi ptr [ %79, %78 ], [ %60, %.preheader ] - %69 = load i32, ptr %68, align 4 - %70 = sext i32 %69 to i64 - %71 = ptrtoint ptr %68 to i64 - %72 = add i64 %70, %71 - %73 = inttoptr i64 %72 to ptr - %74 = icmp ult ptr %1, %73 - %75 = add i64 %72, 5 - %76 = icmp ule i64 %75, %.pre-phi - %77 = or i1 %74, %76 - br i1 %77, label %78, label %.loopexit - -78: ; preds = %.preheader.split.us - %79 = getelementptr i8, ptr %68, i64 8 - %80 = icmp ult ptr %79, %64 - br i1 %80, label %.preheader.split.us, label %.loopexit, !llvm.loop !23 - -.preheader.split: ; preds = %.preheader, %99 - %81 = phi ptr [ %100, %99 ], [ %60, %.preheader ] - %82 = getelementptr inbounds nuw i8, ptr %81, i64 4 - %83 = load i32, ptr %82, align 4 - %84 = zext i32 %83 to i64 - %85 = ptrtoint ptr %82 to i64 - %86 = add i64 %84, %85 - %87 = and i64 %86, 2 - %88 = icmp eq i64 %87, 0 - br i1 %88, label %89, label %99 - -89: ; preds = %.preheader.split - %90 = load i32, ptr %81, align 4 - %91 = sext i32 %90 to i64 - %92 = ptrtoint ptr %81 to i64 - %93 = add i64 %91, %92 - %94 = inttoptr i64 %93 to ptr - %95 = icmp ult ptr %1, %94 - %96 = add i64 %93, 5 - %97 = icmp ule i64 %96, %.pre-phi - %98 = or i1 %95, %97 - br i1 %98, label %99, label %.loopexit - -99: ; preds = %89, %.preheader.split - %100 = getelementptr i8, ptr %81, i64 8 - %101 = icmp ult ptr %100, %64 - br i1 %101, label %.preheader.split, label %.loopexit, !llvm.loop !23 - -.loopexit: ; preds = %89, %99, %78, %.preheader.split.us, %58 - %102 = phi i32 [ 0, %58 ], [ 0, %78 ], [ 1, %.preheader.split.us ], [ 0, %99 ], [ 1, %89 ] - tail call void @module_put(ptr noundef nonnull %49) #13 + %47 = tail call i8 asm sideeffect "decl %gs:$0\0A\09/* output condition code e*/\0A", "=*m,={@cce},*m,~{memory},~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i32) getelementptr inbounds nuw (i8, ptr @pcpu_hot, i64 8), ptr nonnull elementtype(i32) getelementptr inbounds nuw (i8, ptr @pcpu_hot, i64 8)) #13, !srcloc !30 + %48 = icmp ult i8 %47, 2 + tail call void @llvm.assume(i1 %48) + %49 = icmp eq i8 %47, 0 + br i1 %49, label %53, label %50, !prof !13 + +50: ; preds = %44 + %51 = tail call i64 @llvm.read_register.i64(metadata !0) + %52 = tail call i64 asm sideeffect "call __SCT__preempt_schedule", "={rsp},{rsp},~{dirflag},~{fpsr},~{flags}"(i64 %51) #13, !srcloc !31 + tail call void @llvm.write_register.i64(metadata !0, i64 %52) + br label %53 + +53: ; preds = %50, %44 + %54 = icmp eq ptr %46, null + br i1 %54, label %.loopexit4, label %55 + +55: ; preds = %53 + %56 = getelementptr inbounds nuw i8, ptr %46, i64 1096 + %57 = load ptr, ptr %56, align 8 + %58 = getelementptr inbounds nuw i8, ptr %46, i64 1092 + %59 = load i32, ptr %58, align 4 + %60 = sext i32 %59 to i64 + %61 = getelementptr %struct.static_call_site, ptr %57, i64 %60 + %62 = icmp ult ptr %57, %61 + br i1 %62, label %.preheader, label %.loopexit + +.preheader: ; preds = %55 + %63 = load i32, ptr %46, align 64 + %64 = icmp eq i32 %63, 1 + br i1 %64, label %.preheader.split.us, label %.preheader.split + +.preheader.split.us: ; preds = %.preheader, %75 + %65 = phi ptr [ %76, %75 ], [ %57, %.preheader ] + %66 = load i32, ptr %65, align 4 + %67 = sext i32 %66 to i64 + %68 = ptrtoint ptr %65 to i64 + %69 = add i64 %67, %68 + %70 = inttoptr i64 %69 to ptr + %71 = icmp ult ptr %1, %70 + %72 = add i64 %69, 5 + %73 = icmp ule i64 %72, %.pre-phi + %74 = or i1 %71, %73 + br i1 %74, label %75, label %.loopexit + +75: ; preds = %.preheader.split.us + %76 = getelementptr i8, ptr %65, i64 8 + %77 = icmp ult ptr %76, %61 + br i1 %77, label %.preheader.split.us, label %.loopexit, !llvm.loop !23 + +.preheader.split: ; preds = %.preheader, %96 + %78 = phi ptr [ %97, %96 ], [ %57, %.preheader ] + %79 = getelementptr inbounds nuw i8, ptr %78, i64 4 + %80 = load i32, ptr %79, align 4 + %81 = zext i32 %80 to i64 + %82 = ptrtoint ptr %79 to i64 + %83 = add i64 %81, %82 + %84 = and i64 %83, 2 + %85 = icmp eq i64 %84, 0 + br i1 %85, label %86, label %96 + +86: ; preds = %.preheader.split + %87 = load i32, ptr %78, align 4 + %88 = sext i32 %87 to i64 + %89 = ptrtoint ptr %78 to i64 + %90 = add i64 %88, %89 + %91 = inttoptr i64 %90 to ptr + %92 = icmp ult ptr %1, %91 + %93 = add i64 %90, 5 + %94 = icmp ule i64 %93, %.pre-phi + %95 = or i1 %92, %94 + br i1 %95, label %96, label %.loopexit + +96: ; preds = %86, %.preheader.split + %97 = getelementptr i8, ptr %78, i64 8 + %98 = icmp ult ptr %97, %61 + br i1 %98, label %.preheader.split, label %.loopexit, !llvm.loop !23 + +.loopexit: ; preds = %86, %96, %75, %.preheader.split.us, %55 + %99 = phi i32 [ 0, %55 ], [ 0, %75 ], [ 1, %.preheader.split.us ], [ 0, %96 ], [ 1, %86 ] + tail call void @module_put(ptr noundef nonnull %46) #13 br label %.loopexit4 -.loopexit4: ; preds = %29, %.split.us, %.loopexit, %56 - %103 = phi i32 [ %102, %.loopexit ], [ 0, %56 ], [ 1, %.split.us ], [ 1, %29 ] - ret i32 %103 +.loopexit4: ; preds = %26, %.split.us, %.loopexit, %53 + %100 = phi i32 [ %99, %.loopexit ], [ 0, %53 ], [ 1, %.split.us ], [ 1, %26 ] + ret i32 %100 } ; Function Attrs: cold fn_ret_thunk_extern nounwind null_pointer_is_valid optsize diff --git a/bench/llvm/optimized/AVR.cpp.ll b/bench/llvm/optimized/AVR.cpp.ll index 5f060bf7565..0159c9b2706 100644 --- a/bench/llvm/optimized/AVR.cpp.ll +++ b/bench/llvm/optimized/AVR.cpp.ll @@ -911,7 +911,7 @@ $_ZZNK5clang7targets13AVRTargetInfo18getGCCAddlRegNamesEvE12AddlRegNames = comda @.str.653 = private unnamed_addr constant [19 x i8] c"__AVR_ATmega4808__\00", align 1 @.str.654 = private unnamed_addr constant [11 x i8] c"atmega4809\00", align 1 @.str.655 = private unnamed_addr constant [19 x i8] c"__AVR_ATmega4809__\00", align 1 -@_ZN5clang7targetsL7AVRMcusE = internal constant [314 x { ptr, ptr, %"class.llvm::StringRef", i32 }] [{ ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.31, ptr null, %"class.llvm::StringRef" { ptr @.str.5, i64 1 }, i32 0 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.32, ptr @.str.33, %"class.llvm::StringRef" { ptr @.str.5, i64 1 }, i32 0 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.34, ptr @.str.35, %"class.llvm::StringRef" { ptr @.str.5, i64 1 }, i32 0 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.36, ptr @.str.37, %"class.llvm::StringRef" { ptr @.str.5, i64 1 }, i32 0 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.38, ptr @.str.39, %"class.llvm::StringRef" { ptr @.str.5, i64 1 }, i32 0 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.40, ptr @.str.41, %"class.llvm::StringRef" { ptr @.str.5, i64 1 }, i32 0 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.42, ptr null, %"class.llvm::StringRef" { ptr @.str.43, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.44, ptr @.str.45, %"class.llvm::StringRef" { ptr @.str.43, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.46, ptr @.str.47, %"class.llvm::StringRef" { ptr @.str.43, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.48, ptr @.str.49, %"class.llvm::StringRef" { ptr @.str.43, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.50, ptr @.str.51, %"class.llvm::StringRef" { ptr @.str.43, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.52, ptr @.str.53, %"class.llvm::StringRef" { ptr @.str.43, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.54, ptr @.str.55, %"class.llvm::StringRef" { ptr @.str.43, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.56, ptr @.str.57, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.59, ptr @.str.60, %"class.llvm::StringRef" { ptr @.str.43, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.61, ptr @.str.62, %"class.llvm::StringRef" { ptr @.str.43, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.63, ptr @.str.64, %"class.llvm::StringRef" { ptr @.str.43, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.65, ptr @.str.66, %"class.llvm::StringRef" { ptr @.str.43, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.67, ptr @.str.68, %"class.llvm::StringRef" { ptr @.str.43, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.69, ptr @.str.70, %"class.llvm::StringRef" { ptr @.str.43, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.71, ptr null, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.72, ptr @.str.73, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.74, ptr @.str.75, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.76, ptr @.str.77, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.78, ptr @.str.79, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.80, ptr @.str.81, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.82, ptr @.str.83, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.84, ptr @.str.85, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.86, ptr @.str.87, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.88, ptr @.str.89, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.90, ptr @.str.91, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.92, ptr @.str.93, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.94, ptr @.str.95, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.96, ptr @.str.97, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.98, ptr @.str.99, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.100, ptr @.str.101, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.102, ptr @.str.103, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.104, ptr @.str.105, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.106, ptr @.str.107, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.108, ptr @.str.109, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.110, ptr @.str.111, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.112, ptr @.str.113, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.114, ptr @.str.115, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.116, ptr @.str.117, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.118, ptr @.str.119, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.120, ptr @.str.121, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.122, ptr @.str.123, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.124, ptr @.str.125, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.126, ptr @.str.127, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.128, ptr @.str.129, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.130, ptr null, %"class.llvm::StringRef" { ptr @.str.131, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.132, ptr @.str.133, %"class.llvm::StringRef" { ptr @.str.131, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.134, ptr @.str.135, %"class.llvm::StringRef" { ptr @.str.131, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.136, ptr null, %"class.llvm::StringRef" { ptr @.str.137, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.138, ptr @.str.139, %"class.llvm::StringRef" { ptr @.str.137, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.140, ptr @.str.141, %"class.llvm::StringRef" { ptr @.str.137, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.142, ptr null, %"class.llvm::StringRef" { ptr @.str.143, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.144, ptr @.str.145, %"class.llvm::StringRef" { ptr @.str.143, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.146, ptr @.str.147, %"class.llvm::StringRef" { ptr @.str.143, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.148, ptr @.str.149, %"class.llvm::StringRef" { ptr @.str.143, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.150, ptr @.str.151, %"class.llvm::StringRef" { ptr @.str.143, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.152, ptr @.str.153, %"class.llvm::StringRef" { ptr @.str.143, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.154, ptr @.str.155, %"class.llvm::StringRef" { ptr @.str.143, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.156, ptr @.str.157, %"class.llvm::StringRef" { ptr @.str.143, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.158, ptr @.str.159, %"class.llvm::StringRef" { ptr @.str.143, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.160, ptr @.str.161, %"class.llvm::StringRef" { ptr @.str.143, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.162, ptr @.str.163, %"class.llvm::StringRef" { ptr @.str.143, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.164, ptr null, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.166, ptr @.str.167, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.168, ptr @.str.169, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.170, ptr @.str.171, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.172, ptr @.str.173, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.174, ptr @.str.175, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.176, ptr @.str.177, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.178, ptr @.str.179, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.180, ptr @.str.181, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.182, ptr @.str.183, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.184, ptr @.str.185, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.186, ptr @.str.187, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.188, ptr @.str.189, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.190, ptr @.str.191, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.192, ptr @.str.193, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.194, ptr @.str.195, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.196, ptr @.str.197, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.198, ptr @.str.199, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.200, ptr @.str.201, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.202, ptr @.str.203, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.204, ptr @.str.205, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.206, ptr @.str.207, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.208, ptr @.str.209, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.210, ptr @.str.211, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.212, ptr @.str.213, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.214, ptr @.str.215, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.216, ptr null, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.218, ptr @.str.219, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.220, ptr @.str.221, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.222, ptr @.str.223, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.224, ptr @.str.225, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.226, ptr @.str.227, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.228, ptr @.str.229, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.230, ptr @.str.231, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.232, ptr @.str.233, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.234, ptr @.str.235, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.236, ptr @.str.237, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.238, ptr @.str.239, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.240, ptr @.str.241, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.242, ptr @.str.243, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.244, ptr @.str.245, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.246, ptr @.str.247, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.248, ptr @.str.249, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.250, ptr @.str.251, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.252, ptr @.str.253, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.254, ptr @.str.255, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.256, ptr @.str.257, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.258, ptr @.str.259, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.260, ptr @.str.261, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.262, ptr @.str.263, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.264, ptr @.str.265, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.266, ptr @.str.267, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.268, ptr @.str.269, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.270, ptr @.str.271, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.272, ptr @.str.273, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.274, ptr @.str.275, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.276, ptr @.str.277, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.278, ptr @.str.279, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.280, ptr @.str.281, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.282, ptr @.str.283, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.284, ptr @.str.285, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.286, ptr @.str.287, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.288, ptr @.str.289, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.290, ptr @.str.291, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.292, ptr @.str.293, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.294, ptr @.str.295, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.296, ptr @.str.297, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.298, ptr @.str.299, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.300, ptr @.str.301, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.302, ptr @.str.303, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.304, ptr @.str.305, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.306, ptr @.str.307, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.308, ptr @.str.309, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.310, ptr @.str.311, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.312, ptr @.str.313, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.314, ptr @.str.315, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.316, ptr @.str.317, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.318, ptr @.str.319, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.320, ptr @.str.321, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.322, ptr @.str.323, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.324, ptr @.str.325, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.326, ptr @.str.327, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.328, ptr @.str.329, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.330, ptr @.str.331, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.332, ptr @.str.333, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.334, ptr @.str.335, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.336, ptr @.str.337, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.338, ptr @.str.339, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.340, ptr @.str.341, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.342, ptr @.str.343, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.344, ptr @.str.345, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.346, ptr @.str.347, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.348, ptr @.str.349, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.350, ptr @.str.351, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.352, ptr @.str.353, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.354, ptr @.str.355, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.356, ptr @.str.357, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.358, ptr @.str.359, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.360, ptr @.str.361, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.362, ptr @.str.363, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.364, ptr @.str.365, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.366, ptr @.str.367, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.368, ptr @.str.369, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.370, ptr @.str.371, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.372, ptr @.str.373, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.374, ptr @.str.375, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.376, ptr @.str.377, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.378, ptr @.str.379, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.380, ptr @.str.381, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.382, ptr @.str.383, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.384, ptr @.str.385, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.386, ptr @.str.387, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.388, ptr @.str.389, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.390, ptr @.str.391, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.392, ptr @.str.393, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.394, ptr @.str.395, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.396, ptr @.str.397, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.398, ptr @.str.399, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.400, ptr @.str.401, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.402, ptr @.str.403, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.404, ptr @.str.405, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.406, ptr @.str.407, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.408, ptr @.str.409, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.410, ptr @.str.411, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.412, ptr @.str.413, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.414, ptr @.str.415, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.416, ptr @.str.417, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.418, ptr @.str.419, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.420, ptr @.str.421, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.422, ptr @.str.423, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.424, ptr @.str.425, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.426, ptr @.str.427, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.428, ptr @.str.429, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.430, ptr null, %"class.llvm::StringRef" { ptr @.str.431, i64 2 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.432, ptr @.str.433, %"class.llvm::StringRef" { ptr @.str.431, i64 2 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.434, ptr @.str.435, %"class.llvm::StringRef" { ptr @.str.431, i64 2 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.436, ptr @.str.437, %"class.llvm::StringRef" { ptr @.str.431, i64 2 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.438, ptr @.str.439, %"class.llvm::StringRef" { ptr @.str.431, i64 2 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.440, ptr @.str.441, %"class.llvm::StringRef" { ptr @.str.431, i64 2 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.442, ptr @.str.443, %"class.llvm::StringRef" { ptr @.str.431, i64 2 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.444, ptr @.str.445, %"class.llvm::StringRef" { ptr @.str.431, i64 2 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.446, ptr @.str.447, %"class.llvm::StringRef" { ptr @.str.431, i64 2 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.448, ptr @.str.449, %"class.llvm::StringRef" { ptr @.str.431, i64 2 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.450, ptr @.str.451, %"class.llvm::StringRef" { ptr @.str.431, i64 2 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.452, ptr @.str.453, %"class.llvm::StringRef" { ptr @.str.431, i64 2 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.454, ptr @.str.455, %"class.llvm::StringRef" { ptr @.str.431, i64 2 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.456, ptr null, %"class.llvm::StringRef" { ptr @.str.457, i64 1 }, i32 4 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.458, ptr @.str.459, %"class.llvm::StringRef" { ptr @.str.457, i64 1 }, i32 4 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.460, ptr @.str.461, %"class.llvm::StringRef" { ptr @.str.457, i64 1 }, i32 4 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.462, ptr @.str.463, %"class.llvm::StringRef" { ptr @.str.457, i64 1 }, i32 4 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.464, ptr @.str.465, %"class.llvm::StringRef" { ptr @.str.457, i64 1 }, i32 4 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.466, ptr null, %"class.llvm::StringRef" { ptr @.str.467, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.468, ptr @.str.469, %"class.llvm::StringRef" { ptr @.str.467, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.470, ptr @.str.471, %"class.llvm::StringRef" { ptr @.str.467, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.472, ptr @.str.473, %"class.llvm::StringRef" { ptr @.str.467, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.474, ptr @.str.475, %"class.llvm::StringRef" { ptr @.str.467, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.476, ptr @.str.477, %"class.llvm::StringRef" { ptr @.str.467, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.478, ptr @.str.479, %"class.llvm::StringRef" { ptr @.str.467, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.480, ptr @.str.481, %"class.llvm::StringRef" { ptr @.str.467, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.482, ptr @.str.483, %"class.llvm::StringRef" { ptr @.str.467, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.484, ptr @.str.485, %"class.llvm::StringRef" { ptr @.str.467, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.486, ptr @.str.487, %"class.llvm::StringRef" { ptr @.str.467, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.488, ptr @.str.489, %"class.llvm::StringRef" { ptr @.str.467, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.490, ptr @.str.491, %"class.llvm::StringRef" { ptr @.str.467, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.492, ptr @.str.493, %"class.llvm::StringRef" { ptr @.str.467, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.494, ptr null, %"class.llvm::StringRef" { ptr @.str.495, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.496, ptr @.str.497, %"class.llvm::StringRef" { ptr @.str.495, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.498, ptr @.str.499, %"class.llvm::StringRef" { ptr @.str.495, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.500, ptr @.str.501, %"class.llvm::StringRef" { ptr @.str.495, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.502, ptr @.str.503, %"class.llvm::StringRef" { ptr @.str.495, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.504, ptr @.str.505, %"class.llvm::StringRef" { ptr @.str.495, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.506, ptr @.str.507, %"class.llvm::StringRef" { ptr @.str.495, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.508, ptr @.str.509, %"class.llvm::StringRef" { ptr @.str.495, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.510, ptr @.str.511, %"class.llvm::StringRef" { ptr @.str.495, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.512, ptr null, %"class.llvm::StringRef" { ptr @.str.513, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.514, ptr @.str.515, %"class.llvm::StringRef" { ptr @.str.513, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.516, ptr @.str.517, %"class.llvm::StringRef" { ptr @.str.513, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.518, ptr null, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 6 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.520, ptr @.str.521, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.522, ptr @.str.523, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.524, ptr @.str.525, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.526, ptr @.str.527, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.528, ptr @.str.529, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.530, ptr @.str.531, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.532, ptr @.str.533, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.534, ptr @.str.535, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 3 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.536, ptr @.str.537, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 3 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.538, ptr @.str.539, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 3 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.540, ptr @.str.541, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 3 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.542, ptr @.str.543, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 4 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.544, ptr @.str.545, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 4 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.546, ptr @.str.547, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 4 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.548, ptr @.str.549, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 4 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.550, ptr @.str.551, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 4 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.552, ptr @.str.553, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 4 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.554, ptr @.str.555, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 6 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.556, ptr @.str.557, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 6 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.558, ptr null, %"class.llvm::StringRef" { ptr @.str.559, i64 3 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.560, ptr @.str.561, %"class.llvm::StringRef" { ptr @.str.559, i64 3 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.562, ptr @.str.563, %"class.llvm::StringRef" { ptr @.str.559, i64 3 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.564, ptr @.str.565, %"class.llvm::StringRef" { ptr @.str.559, i64 3 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.1, ptr null, %"class.llvm::StringRef" { ptr @.str, i64 3 }, i32 0 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.566, ptr @.str.567, %"class.llvm::StringRef" { ptr @.str, i64 3 }, i32 0 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.568, ptr @.str.569, %"class.llvm::StringRef" { ptr @.str, i64 3 }, i32 0 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.570, ptr @.str.571, %"class.llvm::StringRef" { ptr @.str, i64 3 }, i32 0 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.572, ptr @.str.573, %"class.llvm::StringRef" { ptr @.str, i64 3 }, i32 0 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.574, ptr @.str.575, %"class.llvm::StringRef" { ptr @.str, i64 3 }, i32 0 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.576, ptr @.str.577, %"class.llvm::StringRef" { ptr @.str, i64 3 }, i32 0 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.578, ptr @.str.579, %"class.llvm::StringRef" { ptr @.str, i64 3 }, i32 0 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.580, ptr @.str.581, %"class.llvm::StringRef" { ptr @.str, i64 3 }, i32 0 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.582, ptr null, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.584, ptr @.str.585, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.586, ptr @.str.587, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.588, ptr @.str.589, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.590, ptr @.str.591, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.592, ptr @.str.593, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.594, ptr @.str.595, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.596, ptr @.str.597, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.598, ptr @.str.599, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.600, ptr @.str.601, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.602, ptr @.str.603, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.604, ptr @.str.605, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.606, ptr @.str.607, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.608, ptr @.str.609, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.610, ptr @.str.611, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.612, ptr @.str.613, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.614, ptr @.str.615, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.616, ptr @.str.617, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.618, ptr @.str.619, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.620, ptr @.str.621, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.622, ptr @.str.623, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.624, ptr @.str.625, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.626, ptr @.str.627, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.628, ptr @.str.629, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.630, ptr @.str.631, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.632, ptr @.str.633, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.634, ptr @.str.635, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.636, ptr @.str.637, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.638, ptr @.str.639, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.640, ptr @.str.641, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.642, ptr @.str.643, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.644, ptr @.str.645, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.646, ptr @.str.647, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.648, ptr @.str.649, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.650, ptr @.str.651, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.652, ptr @.str.653, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.654, ptr @.str.655, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }], align 16 +@_ZN5clang7targetsL7AVRMcusE = internal global [314 x { ptr, ptr, %"class.llvm::StringRef", i32 }] [{ ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.31, ptr null, %"class.llvm::StringRef" { ptr @.str.5, i64 1 }, i32 0 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.32, ptr @.str.33, %"class.llvm::StringRef" { ptr @.str.5, i64 1 }, i32 0 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.34, ptr @.str.35, %"class.llvm::StringRef" { ptr @.str.5, i64 1 }, i32 0 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.36, ptr @.str.37, %"class.llvm::StringRef" { ptr @.str.5, i64 1 }, i32 0 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.38, ptr @.str.39, %"class.llvm::StringRef" { ptr @.str.5, i64 1 }, i32 0 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.40, ptr @.str.41, %"class.llvm::StringRef" { ptr @.str.5, i64 1 }, i32 0 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.42, ptr null, %"class.llvm::StringRef" { ptr @.str.43, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.44, ptr @.str.45, %"class.llvm::StringRef" { ptr @.str.43, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.46, ptr @.str.47, %"class.llvm::StringRef" { ptr @.str.43, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.48, ptr @.str.49, %"class.llvm::StringRef" { ptr @.str.43, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.50, ptr @.str.51, %"class.llvm::StringRef" { ptr @.str.43, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.52, ptr @.str.53, %"class.llvm::StringRef" { ptr @.str.43, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.54, ptr @.str.55, %"class.llvm::StringRef" { ptr @.str.43, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.56, ptr @.str.57, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.59, ptr @.str.60, %"class.llvm::StringRef" { ptr @.str.43, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.61, ptr @.str.62, %"class.llvm::StringRef" { ptr @.str.43, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.63, ptr @.str.64, %"class.llvm::StringRef" { ptr @.str.43, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.65, ptr @.str.66, %"class.llvm::StringRef" { ptr @.str.43, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.67, ptr @.str.68, %"class.llvm::StringRef" { ptr @.str.43, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.69, ptr @.str.70, %"class.llvm::StringRef" { ptr @.str.43, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.71, ptr null, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.72, ptr @.str.73, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.74, ptr @.str.75, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.76, ptr @.str.77, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.78, ptr @.str.79, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.80, ptr @.str.81, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.82, ptr @.str.83, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.84, ptr @.str.85, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.86, ptr @.str.87, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.88, ptr @.str.89, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.90, ptr @.str.91, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.92, ptr @.str.93, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.94, ptr @.str.95, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.96, ptr @.str.97, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.98, ptr @.str.99, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.100, ptr @.str.101, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.102, ptr @.str.103, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.104, ptr @.str.105, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.106, ptr @.str.107, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.108, ptr @.str.109, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.110, ptr @.str.111, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.112, ptr @.str.113, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.114, ptr @.str.115, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.116, ptr @.str.117, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.118, ptr @.str.119, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.120, ptr @.str.121, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.122, ptr @.str.123, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.124, ptr @.str.125, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.126, ptr @.str.127, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.128, ptr @.str.129, %"class.llvm::StringRef" { ptr @.str.58, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.130, ptr null, %"class.llvm::StringRef" { ptr @.str.131, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.132, ptr @.str.133, %"class.llvm::StringRef" { ptr @.str.131, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.134, ptr @.str.135, %"class.llvm::StringRef" { ptr @.str.131, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.136, ptr null, %"class.llvm::StringRef" { ptr @.str.137, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.138, ptr @.str.139, %"class.llvm::StringRef" { ptr @.str.137, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.140, ptr @.str.141, %"class.llvm::StringRef" { ptr @.str.137, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.142, ptr null, %"class.llvm::StringRef" { ptr @.str.143, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.144, ptr @.str.145, %"class.llvm::StringRef" { ptr @.str.143, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.146, ptr @.str.147, %"class.llvm::StringRef" { ptr @.str.143, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.148, ptr @.str.149, %"class.llvm::StringRef" { ptr @.str.143, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.150, ptr @.str.151, %"class.llvm::StringRef" { ptr @.str.143, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.152, ptr @.str.153, %"class.llvm::StringRef" { ptr @.str.143, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.154, ptr @.str.155, %"class.llvm::StringRef" { ptr @.str.143, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.156, ptr @.str.157, %"class.llvm::StringRef" { ptr @.str.143, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.158, ptr @.str.159, %"class.llvm::StringRef" { ptr @.str.143, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.160, ptr @.str.161, %"class.llvm::StringRef" { ptr @.str.143, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.162, ptr @.str.163, %"class.llvm::StringRef" { ptr @.str.143, i64 2 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.164, ptr null, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.166, ptr @.str.167, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.168, ptr @.str.169, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.170, ptr @.str.171, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.172, ptr @.str.173, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.174, ptr @.str.175, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.176, ptr @.str.177, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.178, ptr @.str.179, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.180, ptr @.str.181, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.182, ptr @.str.183, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.184, ptr @.str.185, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.186, ptr @.str.187, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.188, ptr @.str.189, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.190, ptr @.str.191, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.192, ptr @.str.193, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.194, ptr @.str.195, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.196, ptr @.str.197, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.198, ptr @.str.199, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.200, ptr @.str.201, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.202, ptr @.str.203, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.204, ptr @.str.205, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.206, ptr @.str.207, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.208, ptr @.str.209, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.210, ptr @.str.211, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.212, ptr @.str.213, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.214, ptr @.str.215, %"class.llvm::StringRef" { ptr @.str.165, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.216, ptr null, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.218, ptr @.str.219, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.220, ptr @.str.221, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.222, ptr @.str.223, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.224, ptr @.str.225, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.226, ptr @.str.227, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.228, ptr @.str.229, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.230, ptr @.str.231, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.232, ptr @.str.233, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.234, ptr @.str.235, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.236, ptr @.str.237, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.238, ptr @.str.239, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.240, ptr @.str.241, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.242, ptr @.str.243, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.244, ptr @.str.245, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.246, ptr @.str.247, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.248, ptr @.str.249, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.250, ptr @.str.251, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.252, ptr @.str.253, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.254, ptr @.str.255, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.256, ptr @.str.257, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.258, ptr @.str.259, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.260, ptr @.str.261, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.262, ptr @.str.263, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.264, ptr @.str.265, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.266, ptr @.str.267, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.268, ptr @.str.269, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.270, ptr @.str.271, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.272, ptr @.str.273, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.274, ptr @.str.275, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.276, ptr @.str.277, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.278, ptr @.str.279, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.280, ptr @.str.281, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.282, ptr @.str.283, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.284, ptr @.str.285, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.286, ptr @.str.287, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.288, ptr @.str.289, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.290, ptr @.str.291, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.292, ptr @.str.293, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.294, ptr @.str.295, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.296, ptr @.str.297, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.298, ptr @.str.299, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.300, ptr @.str.301, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.302, ptr @.str.303, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.304, ptr @.str.305, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.306, ptr @.str.307, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.308, ptr @.str.309, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.310, ptr @.str.311, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.312, ptr @.str.313, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.314, ptr @.str.315, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.316, ptr @.str.317, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.318, ptr @.str.319, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.320, ptr @.str.321, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.322, ptr @.str.323, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.324, ptr @.str.325, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.326, ptr @.str.327, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.328, ptr @.str.329, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.330, ptr @.str.331, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.332, ptr @.str.333, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.334, ptr @.str.335, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.336, ptr @.str.337, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.338, ptr @.str.339, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.340, ptr @.str.341, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.342, ptr @.str.343, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.344, ptr @.str.345, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.346, ptr @.str.347, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.348, ptr @.str.349, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.350, ptr @.str.351, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.352, ptr @.str.353, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.354, ptr @.str.355, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.356, ptr @.str.357, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.358, ptr @.str.359, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.360, ptr @.str.361, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.362, ptr @.str.363, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.364, ptr @.str.365, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.366, ptr @.str.367, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.368, ptr @.str.369, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.370, ptr @.str.371, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.372, ptr @.str.373, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.374, ptr @.str.375, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.376, ptr @.str.377, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.378, ptr @.str.379, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.380, ptr @.str.381, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.382, ptr @.str.383, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.384, ptr @.str.385, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.386, ptr @.str.387, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.388, ptr @.str.389, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.390, ptr @.str.391, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.392, ptr @.str.393, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.394, ptr @.str.395, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.396, ptr @.str.397, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.398, ptr @.str.399, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.400, ptr @.str.401, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.402, ptr @.str.403, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.404, ptr @.str.405, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.406, ptr @.str.407, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.408, ptr @.str.409, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.410, ptr @.str.411, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.412, ptr @.str.413, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.414, ptr @.str.415, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.416, ptr @.str.417, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.418, ptr @.str.419, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.420, ptr @.str.421, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.422, ptr @.str.423, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.424, ptr @.str.425, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.426, ptr @.str.427, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.428, ptr @.str.429, %"class.llvm::StringRef" { ptr @.str.217, i64 1 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.430, ptr null, %"class.llvm::StringRef" { ptr @.str.431, i64 2 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.432, ptr @.str.433, %"class.llvm::StringRef" { ptr @.str.431, i64 2 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.434, ptr @.str.435, %"class.llvm::StringRef" { ptr @.str.431, i64 2 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.436, ptr @.str.437, %"class.llvm::StringRef" { ptr @.str.431, i64 2 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.438, ptr @.str.439, %"class.llvm::StringRef" { ptr @.str.431, i64 2 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.440, ptr @.str.441, %"class.llvm::StringRef" { ptr @.str.431, i64 2 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.442, ptr @.str.443, %"class.llvm::StringRef" { ptr @.str.431, i64 2 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.444, ptr @.str.445, %"class.llvm::StringRef" { ptr @.str.431, i64 2 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.446, ptr @.str.447, %"class.llvm::StringRef" { ptr @.str.431, i64 2 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.448, ptr @.str.449, %"class.llvm::StringRef" { ptr @.str.431, i64 2 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.450, ptr @.str.451, %"class.llvm::StringRef" { ptr @.str.431, i64 2 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.452, ptr @.str.453, %"class.llvm::StringRef" { ptr @.str.431, i64 2 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.454, ptr @.str.455, %"class.llvm::StringRef" { ptr @.str.431, i64 2 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.456, ptr null, %"class.llvm::StringRef" { ptr @.str.457, i64 1 }, i32 4 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.458, ptr @.str.459, %"class.llvm::StringRef" { ptr @.str.457, i64 1 }, i32 4 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.460, ptr @.str.461, %"class.llvm::StringRef" { ptr @.str.457, i64 1 }, i32 4 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.462, ptr @.str.463, %"class.llvm::StringRef" { ptr @.str.457, i64 1 }, i32 4 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.464, ptr @.str.465, %"class.llvm::StringRef" { ptr @.str.457, i64 1 }, i32 4 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.466, ptr null, %"class.llvm::StringRef" { ptr @.str.467, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.468, ptr @.str.469, %"class.llvm::StringRef" { ptr @.str.467, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.470, ptr @.str.471, %"class.llvm::StringRef" { ptr @.str.467, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.472, ptr @.str.473, %"class.llvm::StringRef" { ptr @.str.467, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.474, ptr @.str.475, %"class.llvm::StringRef" { ptr @.str.467, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.476, ptr @.str.477, %"class.llvm::StringRef" { ptr @.str.467, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.478, ptr @.str.479, %"class.llvm::StringRef" { ptr @.str.467, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.480, ptr @.str.481, %"class.llvm::StringRef" { ptr @.str.467, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.482, ptr @.str.483, %"class.llvm::StringRef" { ptr @.str.467, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.484, ptr @.str.485, %"class.llvm::StringRef" { ptr @.str.467, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.486, ptr @.str.487, %"class.llvm::StringRef" { ptr @.str.467, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.488, ptr @.str.489, %"class.llvm::StringRef" { ptr @.str.467, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.490, ptr @.str.491, %"class.llvm::StringRef" { ptr @.str.467, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.492, ptr @.str.493, %"class.llvm::StringRef" { ptr @.str.467, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.494, ptr null, %"class.llvm::StringRef" { ptr @.str.495, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.496, ptr @.str.497, %"class.llvm::StringRef" { ptr @.str.495, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.498, ptr @.str.499, %"class.llvm::StringRef" { ptr @.str.495, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.500, ptr @.str.501, %"class.llvm::StringRef" { ptr @.str.495, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.502, ptr @.str.503, %"class.llvm::StringRef" { ptr @.str.495, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.504, ptr @.str.505, %"class.llvm::StringRef" { ptr @.str.495, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.506, ptr @.str.507, %"class.llvm::StringRef" { ptr @.str.495, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.508, ptr @.str.509, %"class.llvm::StringRef" { ptr @.str.495, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.510, ptr @.str.511, %"class.llvm::StringRef" { ptr @.str.495, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.512, ptr null, %"class.llvm::StringRef" { ptr @.str.513, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.514, ptr @.str.515, %"class.llvm::StringRef" { ptr @.str.513, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.516, ptr @.str.517, %"class.llvm::StringRef" { ptr @.str.513, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.518, ptr null, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 6 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.520, ptr @.str.521, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.522, ptr @.str.523, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.524, ptr @.str.525, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.526, ptr @.str.527, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.528, ptr @.str.529, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.530, ptr @.str.531, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.532, ptr @.str.533, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.534, ptr @.str.535, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 3 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.536, ptr @.str.537, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 3 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.538, ptr @.str.539, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 3 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.540, ptr @.str.541, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 3 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.542, ptr @.str.543, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 4 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.544, ptr @.str.545, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 4 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.546, ptr @.str.547, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 4 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.548, ptr @.str.549, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 4 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.550, ptr @.str.551, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 4 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.552, ptr @.str.553, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 4 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.554, ptr @.str.555, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 6 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.556, ptr @.str.557, %"class.llvm::StringRef" { ptr @.str.519, i64 3 }, i32 6 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.558, ptr null, %"class.llvm::StringRef" { ptr @.str.559, i64 3 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.560, ptr @.str.561, %"class.llvm::StringRef" { ptr @.str.559, i64 3 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.562, ptr @.str.563, %"class.llvm::StringRef" { ptr @.str.559, i64 3 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.564, ptr @.str.565, %"class.llvm::StringRef" { ptr @.str.559, i64 3 }, i32 2 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.1, ptr null, %"class.llvm::StringRef" { ptr @.str, i64 3 }, i32 0 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.566, ptr @.str.567, %"class.llvm::StringRef" { ptr @.str, i64 3 }, i32 0 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.568, ptr @.str.569, %"class.llvm::StringRef" { ptr @.str, i64 3 }, i32 0 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.570, ptr @.str.571, %"class.llvm::StringRef" { ptr @.str, i64 3 }, i32 0 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.572, ptr @.str.573, %"class.llvm::StringRef" { ptr @.str, i64 3 }, i32 0 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.574, ptr @.str.575, %"class.llvm::StringRef" { ptr @.str, i64 3 }, i32 0 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.576, ptr @.str.577, %"class.llvm::StringRef" { ptr @.str, i64 3 }, i32 0 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.578, ptr @.str.579, %"class.llvm::StringRef" { ptr @.str, i64 3 }, i32 0 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.580, ptr @.str.581, %"class.llvm::StringRef" { ptr @.str, i64 3 }, i32 0 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.582, ptr null, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.584, ptr @.str.585, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.586, ptr @.str.587, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.588, ptr @.str.589, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.590, ptr @.str.591, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.592, ptr @.str.593, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.594, ptr @.str.595, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.596, ptr @.str.597, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.598, ptr @.str.599, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.600, ptr @.str.601, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.602, ptr @.str.603, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.604, ptr @.str.605, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.606, ptr @.str.607, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.608, ptr @.str.609, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.610, ptr @.str.611, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.612, ptr @.str.613, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.614, ptr @.str.615, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.616, ptr @.str.617, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.618, ptr @.str.619, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.620, ptr @.str.621, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.622, ptr @.str.623, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.624, ptr @.str.625, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.626, ptr @.str.627, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.628, ptr @.str.629, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.630, ptr @.str.631, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.632, ptr @.str.633, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.634, ptr @.str.635, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.636, ptr @.str.637, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.638, ptr @.str.639, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.640, ptr @.str.641, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.642, ptr @.str.643, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.644, ptr @.str.645, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.646, ptr @.str.647, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.648, ptr @.str.649, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.650, ptr @.str.651, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.652, ptr @.str.653, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }, { ptr, ptr, %"class.llvm::StringRef", i32 } { ptr @.str.654, ptr @.str.655, %"class.llvm::StringRef" { ptr @.str.583, i64 3 }, i32 1 }], align 16 @.str.657 = private unnamed_addr constant [9 x i8] c"#define \00", align 1 @.str.658 = private unnamed_addr constant [2 x i8] c"e\00", align 1 @.str.659 = private unnamed_addr constant [2 x i8] c"g\00", align 1 @@ -1005,7 +1005,7 @@ define hidden noundef zeroext i1 @_ZNK5clang7targets13AVRTargetInfo14isValidCPUN 4: ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit78.thread128.i.i.i.i.i.i", %3 %.0172.i.i.i.i.i.i = phi i64 [ 78, %3 ], [ %25, %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit78.thread128.i.i.i.i.i.i" ] %.029171.i.i.i.i.i.i = phi ptr [ @_ZN5clang7targetsL7AVRMcusE, %3 ], [ %24, %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit78.thread128.i.i.i.i.i.i" ] - %.029.val.i.i.i.i.i.i = load ptr, ptr %.029171.i.i.i.i.i.i, align 8 + %.029.val.i.i.i.i.i.i = load ptr, ptr %.029171.i.i.i.i.i.i, align 16 %.not.i.i.i.i.i.i.i.i.i = icmp eq ptr %.029.val.i.i.i.i.i.i, null br i1 %.not.i.i.i.i.i.i.i.i.i, label %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit.i.i.i.i.i.i", label %_ZN4llvm9StringRefC2EPKc.exit.i.i.i.i.i.i.i.i @@ -1049,7 +1049,7 @@ _ZN4llvm9StringRefC2EPKc.exit.i.i41.i.i.i.i.i.i: ; preds = %"_ZN9__gnu_cxx5__op "_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit52.thread122.i.i.i.i.i.i": ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit52.i.i.i.i.i.i", %12, %_ZN4llvm9StringRefC2EPKc.exit.i.i41.i.i.i.i.i.i %14 = getelementptr inbounds nuw i8, ptr %.029171.i.i.i.i.i.i, i64 80 - %.val33.i.i.i.i.i.i = load ptr, ptr %14, align 8 + %.val33.i.i.i.i.i.i = load ptr, ptr %14, align 16 %.not.i.i.i53.i.i.i.i.i.i = icmp eq ptr %.val33.i.i.i.i.i.i, null br i1 %.not.i.i.i53.i.i.i.i.i.i, label %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit65.i.i.i.i.i.i", label %_ZN4llvm9StringRefC2EPKc.exit.i.i54.i.i.i.i.i.i @@ -1095,65 +1095,93 @@ _ZN4llvm9StringRefC2EPKc.exit.i.i67.i.i.i.i.i.i: ; preds = %"_ZN9__gnu_cxx5__op %24 = getelementptr inbounds nuw i8, ptr %.029171.i.i.i.i.i.i, i64 160 %25 = add nsw i64 %.0172.i.i.i.i.i.i, -1 %26 = icmp ugt i64 %.0172.i.i.i.i.i.i, 1 - br i1 %26, label %4, label %_ZN4llvm9StringRefC2EPKc.exit.i.i93.i.i.i.i.i.i, !llvm.loop !4 + br i1 %26, label %4, label %._crit_edge.loopexit.i.i.i.i.i.i, !llvm.loop !4 -_ZN4llvm9StringRefC2EPKc.exit.i.i93.i.i.i.i.i.i: ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit78.thread128.i.i.i.i.i.i" - %cond = icmp eq i64 %2, 10 - br i1 %cond, label %27, label %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit117.thread137.i.i.i.i.i.i" +._crit_edge.loopexit.i.i.i.i.i.i: ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit78.thread128.i.i.i.i.i.i" + %.1.val.i.i.i.i.i.i = load ptr, ptr getelementptr inbounds nuw (i8, ptr @_ZN5clang7targetsL7AVRMcusE, i64 12480), align 16 + %.not.i.i.i92.i.i.i.i.i.i = icmp eq ptr %.1.val.i.i.i.i.i.i, null + br i1 %.not.i.i.i92.i.i.i.i.i.i, label %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit104.i.i.i.i.i.i", label %_ZN4llvm9StringRefC2EPKc.exit.i.i93.i.i.i.i.i.i -27: ; preds = %_ZN4llvm9StringRefC2EPKc.exit.i.i93.i.i.i.i.i.i - %bcmp.i.i.i99.i.i.i.i.i.i = tail call i32 @bcmp(ptr nonnull readonly @.str.652, ptr readonly %1, i64 %2) - %28 = icmp eq i32 %bcmp.i.i.i99.i.i.i.i.i.i, 0 - br i1 %28, label %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit", label %_ZN4llvm9StringRefC2EPKc.exit.i.i106.i.i.i.i.i.i +_ZN4llvm9StringRefC2EPKc.exit.i.i93.i.i.i.i.i.i: ; preds = %._crit_edge.loopexit.i.i.i.i.i.i + %27 = tail call noundef i64 @strlen(ptr noundef nonnull readonly dereferenceable(1) %.1.val.i.i.i.i.i.i) #13 + %.not.i2.i.i97.i.i.i.i.i.i = icmp eq i64 %27, %2 + br i1 %.not.i2.i.i97.i.i.i.i.i.i, label %28, label %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit104.thread134.i.i.i.i.i.i" -_ZN4llvm9StringRefC2EPKc.exit.i.i106.i.i.i.i.i.i: ; preds = %27 - %bcmp.i.i.i112.i.i.i.i.i.i = tail call i32 @bcmp(ptr nonnull readonly @.str.654, ptr readonly %1, i64 %2) - %29 = icmp eq i32 %bcmp.i.i.i112.i.i.i.i.i.i, 0 - br i1 %29, label %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit", label %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit117.thread137.i.i.i.i.i.i" +28: ; preds = %_ZN4llvm9StringRefC2EPKc.exit.i.i93.i.i.i.i.i.i + br i1 %.not.i26.i.i.i.i.i.i.i.i, label %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit", label %29 -"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit117.thread137.i.i.i.i.i.i": ; preds = %_ZN4llvm9StringRefC2EPKc.exit.i.i93.i.i.i.i.i.i, %_ZN4llvm9StringRefC2EPKc.exit.i.i106.i.i.i.i.i.i +29: ; preds = %28 + %bcmp.i.i.i99.i.i.i.i.i.i = tail call i32 @bcmp(ptr nonnull readonly %.1.val.i.i.i.i.i.i, ptr readonly %1, i64 %2) + %30 = icmp eq i32 %bcmp.i.i.i99.i.i.i.i.i.i, 0 + br i1 %30, label %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit", label %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit104.thread134.i.i.i.i.i.i" + +"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit104.i.i.i.i.i.i": ; preds = %._crit_edge.loopexit.i.i.i.i.i.i + br i1 %.not.i26.i.i.i.i.i.i.i.i, label %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit", label %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit104.thread134.i.i.i.i.i.i" + +"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit104.thread134.i.i.i.i.i.i": ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit104.i.i.i.i.i.i", %29, %_ZN4llvm9StringRefC2EPKc.exit.i.i93.i.i.i.i.i.i + %.2.val.i.i.i.i.i.i = load ptr, ptr getelementptr inbounds nuw (i8, ptr @_ZN5clang7targetsL7AVRMcusE, i64 12520), align 8 + %.not.i.i.i105.i.i.i.i.i.i = icmp eq ptr %.2.val.i.i.i.i.i.i, null + br i1 %.not.i.i.i105.i.i.i.i.i.i, label %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit117.i.i.i.i.i.i", label %_ZN4llvm9StringRefC2EPKc.exit.i.i106.i.i.i.i.i.i + +_ZN4llvm9StringRefC2EPKc.exit.i.i106.i.i.i.i.i.i: ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit104.thread134.i.i.i.i.i.i" + %31 = tail call noundef i64 @strlen(ptr noundef nonnull readonly dereferenceable(1) %.2.val.i.i.i.i.i.i) #13 + %.not.i2.i.i110.i.i.i.i.i.i = icmp eq i64 %31, %2 + br i1 %.not.i2.i.i110.i.i.i.i.i.i, label %32, label %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit117.thread137.i.i.i.i.i.i" + +32: ; preds = %_ZN4llvm9StringRefC2EPKc.exit.i.i106.i.i.i.i.i.i + br i1 %.not.i26.i.i.i.i.i.i.i.i, label %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit", label %33 + +33: ; preds = %32 + %bcmp.i.i.i112.i.i.i.i.i.i = tail call i32 @bcmp(ptr nonnull readonly %.2.val.i.i.i.i.i.i, ptr readonly %1, i64 %2) + %34 = icmp eq i32 %bcmp.i.i.i112.i.i.i.i.i.i, 0 + br i1 %34, label %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit", label %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit117.thread137.i.i.i.i.i.i" + +"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit117.i.i.i.i.i.i": ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit104.thread134.i.i.i.i.i.i" + br i1 %.not.i26.i.i.i.i.i.i.i.i, label %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit", label %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit117.thread137.i.i.i.i.i.i" + +"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit117.thread137.i.i.i.i.i.i": ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit117.i.i.i.i.i.i", %33, %_ZN4llvm9StringRefC2EPKc.exit.i.i106.i.i.i.i.i.i br label %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit" "_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit": ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit52.i.i.i.i.i.i" - %30 = getelementptr inbounds nuw i8, ptr %.029171.i.i.i.i.i.i, i64 40 + %35 = getelementptr inbounds nuw i8, ptr %.029171.i.i.i.i.i.i, i64 40 br label %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit" "_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit42": ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit65.i.i.i.i.i.i" - %31 = getelementptr inbounds nuw i8, ptr %.029171.i.i.i.i.i.i, i64 80 + %36 = getelementptr inbounds nuw i8, ptr %.029171.i.i.i.i.i.i, i64 80 br label %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit" "_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit44": ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit78.i.i.i.i.i.i" - %32 = getelementptr inbounds nuw i8, ptr %.029171.i.i.i.i.i.i, i64 120 + %37 = getelementptr inbounds nuw i8, ptr %.029171.i.i.i.i.i.i, i64 120 br label %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit" "_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit46": ; preds = %12 - %33 = getelementptr inbounds nuw i8, ptr %.029171.i.i.i.i.i.i, i64 40 + %38 = getelementptr inbounds nuw i8, ptr %.029171.i.i.i.i.i.i, i64 40 br label %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit" "_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit48": ; preds = %17 - %34 = getelementptr inbounds nuw i8, ptr %.029171.i.i.i.i.i.i, i64 80 + %39 = getelementptr inbounds nuw i8, ptr %.029171.i.i.i.i.i.i, i64 80 br label %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit" "_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit50": ; preds = %22 - %35 = getelementptr inbounds nuw i8, ptr %.029171.i.i.i.i.i.i, i64 120 + %40 = getelementptr inbounds nuw i8, ptr %.029171.i.i.i.i.i.i, i64 120 br label %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit" "_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit52": ; preds = %11 - %36 = getelementptr inbounds nuw i8, ptr %.029171.i.i.i.i.i.i, i64 40 + %41 = getelementptr inbounds nuw i8, ptr %.029171.i.i.i.i.i.i, i64 40 br label %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit" "_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit54": ; preds = %16 - %37 = getelementptr inbounds nuw i8, ptr %.029171.i.i.i.i.i.i, i64 80 + %42 = getelementptr inbounds nuw i8, ptr %.029171.i.i.i.i.i.i, i64 80 br label %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit" "_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit56": ; preds = %21 - %38 = getelementptr inbounds nuw i8, ptr %.029171.i.i.i.i.i.i, i64 120 + %43 = getelementptr inbounds nuw i8, ptr %.029171.i.i.i.i.i.i, i64 120 br label %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit" -"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit": ; preds = %6, %7, %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit.i.i.i.i.i.i", %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit", %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit42", %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit44", %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit46", %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit48", %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit50", %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit52", %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit54", %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit56", %27, %_ZN4llvm9StringRefC2EPKc.exit.i.i106.i.i.i.i.i.i, %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit117.thread137.i.i.i.i.i.i" - %.028.i.i.i.i.i.i = phi ptr [ getelementptr inbounds nuw (i8, ptr @_ZN5clang7targetsL7AVRMcusE, i64 12560), %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit117.thread137.i.i.i.i.i.i" ], [ getelementptr inbounds nuw (i8, ptr @_ZN5clang7targetsL7AVRMcusE, i64 12480), %27 ], [ getelementptr inbounds nuw (i8, ptr @_ZN5clang7targetsL7AVRMcusE, i64 12520), %_ZN4llvm9StringRefC2EPKc.exit.i.i106.i.i.i.i.i.i ], [ %30, %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit" ], [ %31, %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit42" ], [ %32, %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit44" ], [ %33, %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit46" ], [ %34, %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit48" ], [ %35, %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit50" ], [ %36, %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit52" ], [ %37, %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit54" ], [ %38, %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit56" ], [ %.029171.i.i.i.i.i.i, %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit.i.i.i.i.i.i" ], [ %.029171.i.i.i.i.i.i, %7 ], [ %.029171.i.i.i.i.i.i, %6 ] - %39 = icmp ne ptr %.028.i.i.i.i.i.i, getelementptr inbounds nuw (i8, ptr @_ZN5clang7targetsL7AVRMcusE, i64 12560) - ret i1 %39 +"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit": ; preds = %6, %7, %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit.i.i.i.i.i.i", %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit", %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit42", %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit44", %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit46", %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit48", %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit50", %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit52", %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit54", %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit56", %28, %29, %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit104.i.i.i.i.i.i", %32, %33, %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit117.i.i.i.i.i.i", %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit117.thread137.i.i.i.i.i.i" + %.028.i.i.i.i.i.i = phi ptr [ getelementptr inbounds nuw (i8, ptr @_ZN5clang7targetsL7AVRMcusE, i64 12560), %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit117.thread137.i.i.i.i.i.i" ], [ getelementptr inbounds nuw (i8, ptr @_ZN5clang7targetsL7AVRMcusE, i64 12480), %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit104.i.i.i.i.i.i" ], [ getelementptr inbounds nuw (i8, ptr @_ZN5clang7targetsL7AVRMcusE, i64 12520), %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit117.i.i.i.i.i.i" ], [ getelementptr inbounds nuw (i8, ptr @_ZN5clang7targetsL7AVRMcusE, i64 12480), %29 ], [ getelementptr inbounds nuw (i8, ptr @_ZN5clang7targetsL7AVRMcusE, i64 12520), %33 ], [ getelementptr inbounds nuw (i8, ptr @_ZN5clang7targetsL7AVRMcusE, i64 12480), %28 ], [ getelementptr inbounds nuw (i8, ptr @_ZN5clang7targetsL7AVRMcusE, i64 12520), %32 ], [ %35, %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit" ], [ %36, %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit42" ], [ %37, %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit44" ], [ %38, %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit46" ], [ %39, %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit48" ], [ %40, %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit50" ], [ %41, %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit52" ], [ %42, %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit54" ], [ %43, %"_ZN4llvm6any_ofIRA314_N5clang7targets7MCUInfoEZNKS2_13AVRTargetInfo14isValidCPUNameENS_9StringRefEE3$_0EEbOT_T0_.exit.loopexit.split.loop.exit56" ], [ %.029171.i.i.i.i.i.i, %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK5clang7targets13AVRTargetInfo14isValidCPUNameEN4llvm9StringRefEE3$_0EclIPNS3_7MCUInfoEEEbT_.exit.i.i.i.i.i.i" ], [ %.029171.i.i.i.i.i.i, %7 ], [ %.029171.i.i.i.i.i.i, %6 ] + %44 = icmp ne ptr %.028.i.i.i.i.i.i, getelementptr inbounds nuw (i8, ptr @_ZN5clang7targetsL7AVRMcusE, i64 12560) + ret i1 %44 } ; Function Attrs: mustprogress nounwind uwtable @@ -1208,25 +1236,25 @@ define hidden noundef zeroext i1 @_ZN5clang7targets13AVRTargetInfo6setCPUERKNSt7 .lr.ph.i.i.i.i: ; preds = %14, %2 %.051.i.i.i.i = phi i64 [ %15, %14 ], [ 78, %2 ] - %.02950.i.i.i.i.idx = phi i64 [ %.02950.i.i.i.i.add30, %14 ], [ 0, %2 ] + %.02950.i.i.i.i.idx = phi i64 [ %.02950.i.i.i.i.add36, %14 ], [ 0, %2 ] %.02950.i.i.i.i.ptr = getelementptr inbounds nuw i8, ptr @_ZN5clang7targetsL7AVRMcusE, i64 %.02950.i.i.i.i.idx %.029.val.i.i.i.i = load ptr, ptr %.02950.i.i.i.i.ptr, align 16 %3 = tail call noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef %.029.val.i.i.i.i) #13 %4 = icmp eq i32 %3, 0 - br i1 %4, label %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit.thread39", label %5 + br i1 %4, label %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit.thread43", label %5 5: ; preds = %.lr.ph.i.i.i.i - %.02950.i.i.i.i.add29 = add nuw nsw i64 %.02950.i.i.i.i.idx, 40 - %.ptr33 = getelementptr inbounds nuw i8, ptr @_ZN5clang7targetsL7AVRMcusE, i64 %.02950.i.i.i.i.add29 - %.val31.i.i.i.i = load ptr, ptr %.ptr33, align 8 + %.02950.i.i.i.i.add34 = add nuw nsw i64 %.02950.i.i.i.i.idx, 40 + %.ptr38 = getelementptr inbounds nuw i8, ptr @_ZN5clang7targetsL7AVRMcusE, i64 %.02950.i.i.i.i.add34 + %.val31.i.i.i.i = load ptr, ptr %.ptr38, align 8 %6 = tail call noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef %.val31.i.i.i.i) #13 %7 = icmp eq i32 %6, 0 - br i1 %7, label %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit.thread39", label %8 + br i1 %7, label %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit.thread43", label %8 8: ; preds = %5 - %.02950.i.i.i.i.add28 = add nuw nsw i64 %.02950.i.i.i.i.idx, 80 - %.ptr32 = getelementptr inbounds nuw i8, ptr @_ZN5clang7targetsL7AVRMcusE, i64 %.02950.i.i.i.i.add28 - %.val33.i.i.i.i = load ptr, ptr %.ptr32, align 16 + %.02950.i.i.i.i.add33 = add nuw nsw i64 %.02950.i.i.i.i.idx, 80 + %.ptr37 = getelementptr inbounds nuw i8, ptr @_ZN5clang7targetsL7AVRMcusE, i64 %.02950.i.i.i.i.add33 + %.val33.i.i.i.i = load ptr, ptr %.ptr37, align 16 %9 = tail call noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef %.val33.i.i.i.i) #13 %10 = icmp eq i32 %9, 0 br i1 %10, label %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit", label %11 @@ -1237,80 +1265,87 @@ define hidden noundef zeroext i1 @_ZN5clang7targets13AVRTargetInfo6setCPUERKNSt7 %.val35.i.i.i.i = load ptr, ptr %.ptr, align 8 %12 = tail call noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef %.val35.i.i.i.i) #13 %13 = icmp eq i32 %12, 0 - br i1 %13, label %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit.thread39", label %14 + br i1 %13, label %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit.thread43", label %14 14: ; preds = %11 - %.02950.i.i.i.i.add30 = add nuw nsw i64 %.02950.i.i.i.i.idx, 160 + %.02950.i.i.i.i.add36 = add nuw nsw i64 %.02950.i.i.i.i.idx, 160 %15 = add nsw i64 %.051.i.i.i.i, -1 %16 = icmp ugt i64 %.051.i.i.i.i, 1 br i1 %16, label %.lr.ph.i.i.i.i, label %._crit_edge.loopexit.i.i.i.i, !llvm.loop !6 ._crit_edge.loopexit.i.i.i.i: ; preds = %14 - %17 = tail call noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef nonnull @.str.652) #13 + %.1.val.i.i.i.i = load ptr, ptr getelementptr inbounds nuw (i8, ptr @_ZN5clang7targetsL7AVRMcusE, i64 12480), align 16 + %17 = tail call noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef %.1.val.i.i.i.i) #13 %18 = icmp eq i32 %17, 0 - br i1 %18, label %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit.thread39", label %19 + br i1 %18, label %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit.thread", label %19 19: ; preds = %._crit_edge.loopexit.i.i.i.i - %20 = tail call noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef nonnull @.str.654) #13 + %.2.val.i.i.i.i = load ptr, ptr getelementptr inbounds nuw (i8, ptr @_ZN5clang7targetsL7AVRMcusE, i64 12520), align 8 + %20 = tail call noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef %.2.val.i.i.i.i) #13 %21 = icmp eq i32 %20, 0 - br i1 %21, label %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit.thread39", label %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit.thread" + br i1 %21, label %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit.thread43", label %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit.thread25" + +"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit.thread43": ; preds = %.lr.ph.i.i.i.i, %5, %11, %19 + %.028.i.i.i.i.idx.ph = phi i64 [ 12520, %19 ], [ %.02950.i.i.i.i.idx, %.lr.ph.i.i.i.i ], [ %.02950.i.i.i.i.add34, %5 ], [ %.02950.i.i.i.i.add, %11 ] + %.028.i.i.i.i.ptr45 = getelementptr inbounds nuw i8, ptr @_ZN5clang7targetsL7AVRMcusE, i64 %.028.i.i.i.i.idx.ph + br label %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit.thread" "_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit": ; preds = %8 - %.not.not = icmp eq i64 %.02950.i.i.i.i.add28, 12560 - br i1 %.not.not, label %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit.thread", label %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit.thread39" + %.028.i.i.i.i.ptr = getelementptr inbounds nuw i8, ptr @_ZN5clang7targetsL7AVRMcusE, i64 %.02950.i.i.i.i.add33 + %.not.not = icmp eq i64 %.02950.i.i.i.i.add33, 12560 + br i1 %.not.not, label %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit.thread25", label %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit.thread" -"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit.thread39": ; preds = %11, %5, %.lr.ph.i.i.i.i, %19, %._crit_edge.loopexit.i.i.i.i, %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit" - %.028.i.i.i.i.idx.ph.pn = phi i64 [ %.02950.i.i.i.i.add28, %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit" ], [ 12520, %19 ], [ 12480, %._crit_edge.loopexit.i.i.i.i ], [ %.02950.i.i.i.i.idx, %.lr.ph.i.i.i.i ], [ %.02950.i.i.i.i.add29, %5 ], [ %.02950.i.i.i.i.add, %11 ] - %.028.i.i.i.i.ptr43 = getelementptr inbounds nuw i8, ptr @_ZN5clang7targetsL7AVRMcusE, i64 %.028.i.i.i.i.idx.ph.pn +"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit.thread": ; preds = %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit.thread43", %._crit_edge.loopexit.i.i.i.i, %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit" + %.028.i.i.i.i22 = phi ptr [ %.028.i.i.i.i.ptr, %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit" ], [ inttoptr (i64 add (i64 ptrtoint (ptr getelementptr inbounds nuw (i8, ptr @_ZN5clang7targetsL7AVRMcusE, i64 12560) to i64), i64 -80) to ptr), %._crit_edge.loopexit.i.i.i.i ], [ %.028.i.i.i.i.ptr45, %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit.thread43" ] %22 = getelementptr inbounds nuw i8, ptr %0, i64 496 %23 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(32) %1) #13 - %24 = getelementptr inbounds nuw i8, ptr %.028.i.i.i.i.ptr43, i64 16 - %.sroa.2.0..sroa_idx = getelementptr inbounds nuw i8, ptr %.028.i.i.i.i.ptr43, i64 24 + %24 = getelementptr inbounds nuw i8, ptr %.028.i.i.i.i22, i64 16 + %.sroa.2.0..sroa_idx = getelementptr inbounds nuw i8, ptr %.028.i.i.i.i22, i64 24 %.sroa.2.0.copyload = load i64, ptr %.sroa.2.0..sroa_idx, align 8 %.not.i = icmp eq i64 %.sroa.2.0.copyload, 3 - br i1 %.not.i, label %_ZN4llvmeqENS_9StringRefES0_.exit, label %_ZN4llvmeqENS_9StringRefES0_.exit.thread25 + br i1 %.not.i, label %_ZN4llvmeqENS_9StringRefES0_.exit, label %_ZN4llvmeqENS_9StringRefES0_.exit.thread30 -_ZN4llvmeqENS_9StringRefES0_.exit: ; preds = %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit.thread39" +_ZN4llvmeqENS_9StringRefES0_.exit: ; preds = %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit.thread" %.sroa.0.0.copyload = load ptr, ptr %24, align 8 %bcmp.i = tail call i32 @bcmp(ptr noundef nonnull dereferenceable(3) %.sroa.0.0.copyload, ptr noundef nonnull dereferenceable(3) @.str, i64 3) %bcmp.i.fr = freeze i32 %bcmp.i %25 = icmp eq i32 %bcmp.i.fr, 0 %spec.select = select i1 %25, ptr @.str.1, ptr @.str.2 - br label %_ZN4llvmeqENS_9StringRefES0_.exit.thread25 + br label %_ZN4llvmeqENS_9StringRefES0_.exit.thread30 -_ZN4llvmeqENS_9StringRefES0_.exit.thread25: ; preds = %_ZN4llvmeqENS_9StringRefES0_.exit, %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit.thread39" - %26 = phi ptr [ @.str.2, %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit.thread39" ], [ %spec.select, %_ZN4llvmeqENS_9StringRefES0_.exit ] +_ZN4llvmeqENS_9StringRefES0_.exit.thread30: ; preds = %_ZN4llvmeqENS_9StringRefES0_.exit, %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit.thread" + %26 = phi ptr [ @.str.2, %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit.thread" ], [ %spec.select, %_ZN4llvmeqENS_9StringRefES0_.exit ] %27 = tail call noundef i64 @strlen(ptr noundef nonnull dereferenceable(1) %26) #13 %28 = getelementptr inbounds nuw i8, ptr %0, i64 528 store ptr %26, ptr %28, align 8 %.sroa.219.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 536 store i64 %27, ptr %.sroa.219.0..sroa_idx, align 8 - %29 = getelementptr inbounds nuw i8, ptr %.028.i.i.i.i.ptr43, i64 8 + %29 = getelementptr inbounds nuw i8, ptr %.028.i.i.i.i22, i64 8 %30 = load ptr, ptr %29, align 8 %.not.i12 = icmp eq ptr %30, null br i1 %.not.i12, label %_ZN4llvm9StringRefC2EPKc.exit, label %31 -31: ; preds = %_ZN4llvmeqENS_9StringRefES0_.exit.thread25 +31: ; preds = %_ZN4llvmeqENS_9StringRefES0_.exit.thread30 %32 = tail call noundef i64 @strlen(ptr noundef nonnull dereferenceable(1) %30) #13 br label %_ZN4llvm9StringRefC2EPKc.exit -_ZN4llvm9StringRefC2EPKc.exit: ; preds = %_ZN4llvmeqENS_9StringRefES0_.exit.thread25, %31 - %33 = phi i64 [ %32, %31 ], [ 0, %_ZN4llvmeqENS_9StringRefES0_.exit.thread25 ] +_ZN4llvm9StringRefC2EPKc.exit: ; preds = %_ZN4llvmeqENS_9StringRefES0_.exit.thread30, %31 + %33 = phi i64 [ %32, %31 ], [ 0, %_ZN4llvmeqENS_9StringRefES0_.exit.thread30 ] %34 = getelementptr inbounds nuw i8, ptr %0, i64 544 store ptr %30, ptr %34, align 8 %.sroa.2.0..sroa_idx14 = getelementptr inbounds nuw i8, ptr %0, i64 552 store i64 %33, ptr %.sroa.2.0..sroa_idx14, align 8 %35 = getelementptr inbounds nuw i8, ptr %0, i64 560 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %35, ptr noundef nonnull align 8 dereferenceable(16) %24, i64 16, i1 false) - %36 = getelementptr inbounds nuw i8, ptr %.028.i.i.i.i.ptr43, i64 32 + %36 = getelementptr inbounds nuw i8, ptr %.028.i.i.i.i22, i64 32 %37 = load i32, ptr %36, align 8 %38 = getelementptr inbounds nuw i8, ptr %0, i64 576 store i32 %37, ptr %38, align 8 - br label %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit.thread" + br label %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit.thread25" -"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit.thread": ; preds = %19, %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit", %_ZN4llvm9StringRefC2EPKc.exit - %.not22 = phi i1 [ false, %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit" ], [ true, %_ZN4llvm9StringRefC2EPKc.exit ], [ false, %19 ] - ret i1 %.not22 +"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit.thread25": ; preds = %19, %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit", %_ZN4llvm9StringRefC2EPKc.exit + %.not23 = phi i1 [ false, %"_ZN4llvm7find_ifIRA314_N5clang7targets7MCUInfoEZNS2_13AVRTargetInfo6setCPUERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EEDaOT_T0_.exit" ], [ true, %_ZN4llvm9StringRefC2EPKc.exit ], [ false, %19 ] + ret i1 %.not23 } declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #2 diff --git a/bench/llvm/optimized/CalledOnceCheck.cpp.ll b/bench/llvm/optimized/CalledOnceCheck.cpp.ll index dc2bb374294..935006b5e12 100644 --- a/bench/llvm/optimized/CalledOnceCheck.cpp.ll +++ b/bench/llvm/optimized/CalledOnceCheck.cpp.ll @@ -2875,12 +2875,12 @@ _ZNK5clang8CallExpr15getDirectCalleeEv.exit.i.i.i.i: ; preds = %559 %570 = getelementptr inbounds nuw i8, ptr %569, i64 16 br label %571 -571: ; preds = %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit78.thread.i.i.i.i.i.i.i.i.i.i.i, %_ZNK5clang8CallExpr15getDirectCalleeEv.exit.i.i.i.i - %.025.i.i.i.i.i.i.i.i.i.i.i = phi i64 [ 2, %_ZNK5clang8CallExpr15getDirectCalleeEv.exit.i.i.i.i ], [ %624, %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit78.thread.i.i.i.i.i.i.i.i.i.i.i ] - %.02924.i.i.i.i.i.i.i.idx.i.i.i.i = phi i64 [ 0, %_ZNK5clang8CallExpr15getDirectCalleeEv.exit.i.i.i.i ], [ %.02924.i.i.i.i.i.i.i.add11.i.i.i.i, %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit78.thread.i.i.i.i.i.i.i.i.i.i.i ] - %.02924.i.i.i.i.i.i.i.ptr.i.i.i.i = getelementptr inbounds nuw i8, ptr @_ZN12_GLOBAL__N_128KNOWN_CALLED_ONCE_PARAMETERSE, i64 %.02924.i.i.i.i.i.i.i.idx.i.i.i.i - %.sroa.01.0.copyload.i.i.i.i.i.i.i.i.i.i.i.i.i = load ptr, ptr %.02924.i.i.i.i.i.i.i.ptr.i.i.i.i, align 16 - %.sroa.22.0..sroa_idx.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %.02924.i.i.i.i.i.i.i.ptr.i.i.i.i, i64 8 +571: ; preds = %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit76.thread.i.i.i.i.i.i.i.i.i.i.i, %_ZNK5clang8CallExpr15getDirectCalleeEv.exit.i.i.i.i + %.023.i.i.i.i.i.i.i.i.i.i.i = phi i64 [ 2, %_ZNK5clang8CallExpr15getDirectCalleeEv.exit.i.i.i.i ], [ %624, %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit76.thread.i.i.i.i.i.i.i.i.i.i.i ] + %.02922.i.i.i.i.i.i.i.idx.i.i.i.i = phi i64 [ 0, %_ZNK5clang8CallExpr15getDirectCalleeEv.exit.i.i.i.i ], [ %.02922.i.i.i.i.i.i.i.add11.i.i.i.i, %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit76.thread.i.i.i.i.i.i.i.i.i.i.i ] + %.02922.i.i.i.i.i.i.i.ptr.i.i.i.i = getelementptr inbounds nuw i8, ptr @_ZN12_GLOBAL__N_128KNOWN_CALLED_ONCE_PARAMETERSE, i64 %.02922.i.i.i.i.i.i.i.idx.i.i.i.i + %.sroa.01.0.copyload.i.i.i.i.i.i.i.i.i.i.i.i.i = load ptr, ptr %.02922.i.i.i.i.i.i.i.ptr.i.i.i.i, align 16 + %.sroa.22.0..sroa_idx.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %.02922.i.i.i.i.i.i.i.ptr.i.i.i.i, i64 8 %.sroa.22.0.copyload.i.i.i.i.i.i.i.i.i.i.i.i.i = load i64, ptr %.sroa.22.0..sroa_idx.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8 br i1 %.not.i.i.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZNK5clang9NamedDecl7getNameEv.exit.i.i.i.i.i.i.i.i.i.i.i.i.i, label %572 @@ -2908,135 +2908,135 @@ _ZNK5clang9NamedDecl7getNameEv.exit.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %572, % _ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit.i.i.i.i.i.i.i.i.i.i.i: ; preds = %579, %577 %.0.i.i.i.i.i.i.i.i.i.i.i.i.i.i = phi i1 [ %580, %579 ], [ true, %577 ] - %581 = getelementptr inbounds nuw i8, ptr %.02924.i.i.i.i.i.i.i.ptr.i.i.i.i, i64 16 + %581 = getelementptr inbounds nuw i8, ptr %.02922.i.i.i.i.i.i.i.ptr.i.i.i.i, i64 16 %582 = load i32, ptr %581, align 16 %583 = icmp eq i32 %582, %.sroa.5.025.i.i.i %584 = select i1 %.0.i.i.i.i.i.i.i.i.i.i.i.i.i.i, i1 %583, i1 false br i1 %584, label %_ZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEj.exit.i.i.i.i, label %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit.thread.i.i.i.i.i.i.i.i.i.i.i _ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit.thread.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit.i.i.i.i.i.i.i.i.i.i.i, %_ZNK5clang9NamedDecl7getNameEv.exit.i.i.i.i.i.i.i.i.i.i.i.i.i - %.02924.i.i.i.i.i.i.i.add.i.i.i.i = or disjoint i64 %.02924.i.i.i.i.i.i.i.idx.i.i.i.i, 24 - %.ptr.i.i.i.i = getelementptr inbounds nuw i8, ptr @_ZN12_GLOBAL__N_128KNOWN_CALLED_ONCE_PARAMETERSE, i64 %.02924.i.i.i.i.i.i.i.add.i.i.i.i - %.sroa.01.0.copyload.i.i43.i.i.i.i.i.i.i.i.i.i.i = load ptr, ptr %.ptr.i.i.i.i, align 8 - %.sroa.22.0..sroa_idx.i.i44.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %.02924.i.i.i.i.i.i.i.ptr.i.i.i.i, i64 32 - %.sroa.22.0.copyload.i.i45.i.i.i.i.i.i.i.i.i.i.i = load i64, ptr %.sroa.22.0..sroa_idx.i.i44.i.i.i.i.i.i.i.i.i.i.i, align 16 - br i1 %.not.i.i.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZNK5clang9NamedDecl7getNameEv.exit.i.i48.i.i.i.i.i.i.i.i.i.i.i, label %585 + %.02922.i.i.i.i.i.i.i.add.i.i.i.i = or disjoint i64 %.02922.i.i.i.i.i.i.i.idx.i.i.i.i, 24 + %.ptr.i.i.i.i = getelementptr inbounds nuw i8, ptr @_ZN12_GLOBAL__N_128KNOWN_CALLED_ONCE_PARAMETERSE, i64 %.02922.i.i.i.i.i.i.i.add.i.i.i.i + %.sroa.01.0.copyload.i.i41.i.i.i.i.i.i.i.i.i.i.i = load ptr, ptr %.ptr.i.i.i.i, align 8 + %.sroa.22.0..sroa_idx.i.i42.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %.02922.i.i.i.i.i.i.i.ptr.i.i.i.i, i64 32 + %.sroa.22.0.copyload.i.i43.i.i.i.i.i.i.i.i.i.i.i = load i64, ptr %.sroa.22.0..sroa_idx.i.i42.i.i.i.i.i.i.i.i.i.i.i, align 16 + br i1 %.not.i.i.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZNK5clang9NamedDecl7getNameEv.exit.i.i46.i.i.i.i.i.i.i.i.i.i.i, label %585 585: ; preds = %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit.thread.i.i.i.i.i.i.i.i.i.i.i %586 = load ptr, ptr %570, align 8 %587 = getelementptr inbounds nuw i8, ptr %586, i64 16 %588 = load i64, ptr %586, align 8 %589 = and i64 %588, 4294967295 - br label %_ZNK5clang9NamedDecl7getNameEv.exit.i.i48.i.i.i.i.i.i.i.i.i.i.i + br label %_ZNK5clang9NamedDecl7getNameEv.exit.i.i46.i.i.i.i.i.i.i.i.i.i.i -_ZNK5clang9NamedDecl7getNameEv.exit.i.i48.i.i.i.i.i.i.i.i.i.i.i: ; preds = %585, %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit.thread.i.i.i.i.i.i.i.i.i.i.i - %.sroa.3.0.i.i.i49.i.i.i.i.i.i.i.i.i.i.i = phi i64 [ %589, %585 ], [ 0, %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit.thread.i.i.i.i.i.i.i.i.i.i.i ] - %.sroa.0.0.i.i.i50.i.i.i.i.i.i.i.i.i.i.i = phi ptr [ %587, %585 ], [ @.str.10, %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit.thread.i.i.i.i.i.i.i.i.i.i.i ] - %.not.i5.i.i51.i.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %.sroa.22.0.copyload.i.i45.i.i.i.i.i.i.i.i.i.i.i, %.sroa.3.0.i.i.i49.i.i.i.i.i.i.i.i.i.i.i - br i1 %.not.i5.i.i51.i.i.i.i.i.i.i.i.i.i.i, label %590, label %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit54.thread.i.i.i.i.i.i.i.i.i.i.i +_ZNK5clang9NamedDecl7getNameEv.exit.i.i46.i.i.i.i.i.i.i.i.i.i.i: ; preds = %585, %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit.thread.i.i.i.i.i.i.i.i.i.i.i + %.sroa.3.0.i.i.i47.i.i.i.i.i.i.i.i.i.i.i = phi i64 [ %589, %585 ], [ 0, %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit.thread.i.i.i.i.i.i.i.i.i.i.i ] + %.sroa.0.0.i.i.i48.i.i.i.i.i.i.i.i.i.i.i = phi ptr [ %587, %585 ], [ @.str.10, %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit.thread.i.i.i.i.i.i.i.i.i.i.i ] + %.not.i5.i.i49.i.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %.sroa.22.0.copyload.i.i43.i.i.i.i.i.i.i.i.i.i.i, %.sroa.3.0.i.i.i47.i.i.i.i.i.i.i.i.i.i.i + br i1 %.not.i5.i.i49.i.i.i.i.i.i.i.i.i.i.i, label %590, label %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit52.thread.i.i.i.i.i.i.i.i.i.i.i -590: ; preds = %_ZNK5clang9NamedDecl7getNameEv.exit.i.i48.i.i.i.i.i.i.i.i.i.i.i - %591 = icmp eq i64 %.sroa.22.0.copyload.i.i45.i.i.i.i.i.i.i.i.i.i.i, 0 - br i1 %591, label %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit54.i.i.i.i.i.i.i.i.i.i.i, label %592 +590: ; preds = %_ZNK5clang9NamedDecl7getNameEv.exit.i.i46.i.i.i.i.i.i.i.i.i.i.i + %591 = icmp eq i64 %.sroa.22.0.copyload.i.i43.i.i.i.i.i.i.i.i.i.i.i, 0 + br i1 %591, label %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit52.i.i.i.i.i.i.i.i.i.i.i, label %592 592: ; preds = %590 - %bcmp.i.i.i53.i.i.i.i.i.i.i.i.i.i.i = call i32 @bcmp(ptr %.sroa.01.0.copyload.i.i43.i.i.i.i.i.i.i.i.i.i.i, ptr nonnull %.sroa.0.0.i.i.i50.i.i.i.i.i.i.i.i.i.i.i, i64 %.sroa.22.0.copyload.i.i45.i.i.i.i.i.i.i.i.i.i.i) - %593 = icmp eq i32 %bcmp.i.i.i53.i.i.i.i.i.i.i.i.i.i.i, 0 - br label %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit54.i.i.i.i.i.i.i.i.i.i.i + %bcmp.i.i.i51.i.i.i.i.i.i.i.i.i.i.i = call i32 @bcmp(ptr %.sroa.01.0.copyload.i.i41.i.i.i.i.i.i.i.i.i.i.i, ptr nonnull %.sroa.0.0.i.i.i48.i.i.i.i.i.i.i.i.i.i.i, i64 %.sroa.22.0.copyload.i.i43.i.i.i.i.i.i.i.i.i.i.i) + %593 = icmp eq i32 %bcmp.i.i.i51.i.i.i.i.i.i.i.i.i.i.i, 0 + br label %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit52.i.i.i.i.i.i.i.i.i.i.i -_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit54.i.i.i.i.i.i.i.i.i.i.i: ; preds = %592, %590 - %.0.i.i.i52.i.i.i.i.i.i.i.i.i.i.i = phi i1 [ %593, %592 ], [ true, %590 ] - %594 = getelementptr inbounds nuw i8, ptr %.02924.i.i.i.i.i.i.i.ptr.i.i.i.i, i64 40 +_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit52.i.i.i.i.i.i.i.i.i.i.i: ; preds = %592, %590 + %.0.i.i.i50.i.i.i.i.i.i.i.i.i.i.i = phi i1 [ %593, %592 ], [ true, %590 ] + %594 = getelementptr inbounds nuw i8, ptr %.02922.i.i.i.i.i.i.i.ptr.i.i.i.i, i64 40 %595 = load i32, ptr %594, align 8 %596 = icmp eq i32 %595, %.sroa.5.025.i.i.i - %597 = select i1 %.0.i.i.i52.i.i.i.i.i.i.i.i.i.i.i, i1 %596, i1 false - br i1 %597, label %.thread.i, label %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit54.thread.i.i.i.i.i.i.i.i.i.i.i + %597 = select i1 %.0.i.i.i50.i.i.i.i.i.i.i.i.i.i.i, i1 %596, i1 false + br i1 %597, label %.thread.i, label %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit52.thread.i.i.i.i.i.i.i.i.i.i.i -_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit54.thread.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit54.i.i.i.i.i.i.i.i.i.i.i, %_ZNK5clang9NamedDecl7getNameEv.exit.i.i48.i.i.i.i.i.i.i.i.i.i.i - %.ptr12.i.i.i.i = getelementptr inbounds nuw i8, ptr %.02924.i.i.i.i.i.i.i.ptr.i.i.i.i, i64 48 - %.sroa.01.0.copyload.i.i55.i.i.i.i.i.i.i.i.i.i.i = load ptr, ptr %.ptr12.i.i.i.i, align 16 - %.sroa.22.0..sroa_idx.i.i56.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %.02924.i.i.i.i.i.i.i.ptr.i.i.i.i, i64 56 - %.sroa.22.0.copyload.i.i57.i.i.i.i.i.i.i.i.i.i.i = load i64, ptr %.sroa.22.0..sroa_idx.i.i56.i.i.i.i.i.i.i.i.i.i.i, align 8 - br i1 %.not.i.i.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZNK5clang9NamedDecl7getNameEv.exit.i.i60.i.i.i.i.i.i.i.i.i.i.i, label %598 +_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit52.thread.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit52.i.i.i.i.i.i.i.i.i.i.i, %_ZNK5clang9NamedDecl7getNameEv.exit.i.i46.i.i.i.i.i.i.i.i.i.i.i + %.ptr12.i.i.i.i = getelementptr inbounds nuw i8, ptr %.02922.i.i.i.i.i.i.i.ptr.i.i.i.i, i64 48 + %.sroa.01.0.copyload.i.i53.i.i.i.i.i.i.i.i.i.i.i = load ptr, ptr %.ptr12.i.i.i.i, align 16 + %.sroa.22.0..sroa_idx.i.i54.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %.02922.i.i.i.i.i.i.i.ptr.i.i.i.i, i64 56 + %.sroa.22.0.copyload.i.i55.i.i.i.i.i.i.i.i.i.i.i = load i64, ptr %.sroa.22.0..sroa_idx.i.i54.i.i.i.i.i.i.i.i.i.i.i, align 8 + br i1 %.not.i.i.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZNK5clang9NamedDecl7getNameEv.exit.i.i58.i.i.i.i.i.i.i.i.i.i.i, label %598 -598: ; preds = %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit54.thread.i.i.i.i.i.i.i.i.i.i.i +598: ; preds = %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit52.thread.i.i.i.i.i.i.i.i.i.i.i %599 = load ptr, ptr %570, align 8 %600 = getelementptr inbounds nuw i8, ptr %599, i64 16 %601 = load i64, ptr %599, align 8 %602 = and i64 %601, 4294967295 - br label %_ZNK5clang9NamedDecl7getNameEv.exit.i.i60.i.i.i.i.i.i.i.i.i.i.i + br label %_ZNK5clang9NamedDecl7getNameEv.exit.i.i58.i.i.i.i.i.i.i.i.i.i.i -_ZNK5clang9NamedDecl7getNameEv.exit.i.i60.i.i.i.i.i.i.i.i.i.i.i: ; preds = %598, %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit54.thread.i.i.i.i.i.i.i.i.i.i.i - %.sroa.3.0.i.i.i61.i.i.i.i.i.i.i.i.i.i.i = phi i64 [ %602, %598 ], [ 0, %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit54.thread.i.i.i.i.i.i.i.i.i.i.i ] - %.sroa.0.0.i.i.i62.i.i.i.i.i.i.i.i.i.i.i = phi ptr [ %600, %598 ], [ @.str.10, %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit54.thread.i.i.i.i.i.i.i.i.i.i.i ] - %.not.i5.i.i63.i.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %.sroa.22.0.copyload.i.i57.i.i.i.i.i.i.i.i.i.i.i, %.sroa.3.0.i.i.i61.i.i.i.i.i.i.i.i.i.i.i - br i1 %.not.i5.i.i63.i.i.i.i.i.i.i.i.i.i.i, label %603, label %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit66.thread.i.i.i.i.i.i.i.i.i.i.i +_ZNK5clang9NamedDecl7getNameEv.exit.i.i58.i.i.i.i.i.i.i.i.i.i.i: ; preds = %598, %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit52.thread.i.i.i.i.i.i.i.i.i.i.i + %.sroa.3.0.i.i.i59.i.i.i.i.i.i.i.i.i.i.i = phi i64 [ %602, %598 ], [ 0, %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit52.thread.i.i.i.i.i.i.i.i.i.i.i ] + %.sroa.0.0.i.i.i60.i.i.i.i.i.i.i.i.i.i.i = phi ptr [ %600, %598 ], [ @.str.10, %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit52.thread.i.i.i.i.i.i.i.i.i.i.i ] + %.not.i5.i.i61.i.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %.sroa.22.0.copyload.i.i55.i.i.i.i.i.i.i.i.i.i.i, %.sroa.3.0.i.i.i59.i.i.i.i.i.i.i.i.i.i.i + br i1 %.not.i5.i.i61.i.i.i.i.i.i.i.i.i.i.i, label %603, label %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit64.thread.i.i.i.i.i.i.i.i.i.i.i -603: ; preds = %_ZNK5clang9NamedDecl7getNameEv.exit.i.i60.i.i.i.i.i.i.i.i.i.i.i - %604 = icmp eq i64 %.sroa.22.0.copyload.i.i57.i.i.i.i.i.i.i.i.i.i.i, 0 - br i1 %604, label %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit66.i.i.i.i.i.i.i.i.i.i.i, label %605 +603: ; preds = %_ZNK5clang9NamedDecl7getNameEv.exit.i.i58.i.i.i.i.i.i.i.i.i.i.i + %604 = icmp eq i64 %.sroa.22.0.copyload.i.i55.i.i.i.i.i.i.i.i.i.i.i, 0 + br i1 %604, label %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit64.i.i.i.i.i.i.i.i.i.i.i, label %605 605: ; preds = %603 - %bcmp.i.i.i65.i.i.i.i.i.i.i.i.i.i.i = call i32 @bcmp(ptr %.sroa.01.0.copyload.i.i55.i.i.i.i.i.i.i.i.i.i.i, ptr nonnull %.sroa.0.0.i.i.i62.i.i.i.i.i.i.i.i.i.i.i, i64 %.sroa.22.0.copyload.i.i57.i.i.i.i.i.i.i.i.i.i.i) - %606 = icmp eq i32 %bcmp.i.i.i65.i.i.i.i.i.i.i.i.i.i.i, 0 - br label %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit66.i.i.i.i.i.i.i.i.i.i.i + %bcmp.i.i.i63.i.i.i.i.i.i.i.i.i.i.i = call i32 @bcmp(ptr %.sroa.01.0.copyload.i.i53.i.i.i.i.i.i.i.i.i.i.i, ptr nonnull %.sroa.0.0.i.i.i60.i.i.i.i.i.i.i.i.i.i.i, i64 %.sroa.22.0.copyload.i.i55.i.i.i.i.i.i.i.i.i.i.i) + %606 = icmp eq i32 %bcmp.i.i.i63.i.i.i.i.i.i.i.i.i.i.i, 0 + br label %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit64.i.i.i.i.i.i.i.i.i.i.i -_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit66.i.i.i.i.i.i.i.i.i.i.i: ; preds = %605, %603 - %.0.i.i.i64.i.i.i.i.i.i.i.i.i.i.i = phi i1 [ %606, %605 ], [ true, %603 ] - %607 = getelementptr inbounds nuw i8, ptr %.02924.i.i.i.i.i.i.i.ptr.i.i.i.i, i64 64 +_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit64.i.i.i.i.i.i.i.i.i.i.i: ; preds = %605, %603 + %.0.i.i.i62.i.i.i.i.i.i.i.i.i.i.i = phi i1 [ %606, %605 ], [ true, %603 ] + %607 = getelementptr inbounds nuw i8, ptr %.02922.i.i.i.i.i.i.i.ptr.i.i.i.i, i64 64 %608 = load i32, ptr %607, align 16 %609 = icmp eq i32 %608, %.sroa.5.025.i.i.i - %610 = select i1 %.0.i.i.i64.i.i.i.i.i.i.i.i.i.i.i, i1 %609, i1 false - br i1 %610, label %.thread.i, label %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit66.thread.i.i.i.i.i.i.i.i.i.i.i + %610 = select i1 %.0.i.i.i62.i.i.i.i.i.i.i.i.i.i.i, i1 %609, i1 false + br i1 %610, label %.thread.i, label %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit64.thread.i.i.i.i.i.i.i.i.i.i.i -_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit66.thread.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit66.i.i.i.i.i.i.i.i.i.i.i, %_ZNK5clang9NamedDecl7getNameEv.exit.i.i60.i.i.i.i.i.i.i.i.i.i.i - %.ptr13.i.i.i.i = getelementptr inbounds nuw i8, ptr %.02924.i.i.i.i.i.i.i.ptr.i.i.i.i, i64 72 - %.sroa.01.0.copyload.i.i67.i.i.i.i.i.i.i.i.i.i.i = load ptr, ptr %.ptr13.i.i.i.i, align 8 - %.sroa.22.0..sroa_idx.i.i68.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %.02924.i.i.i.i.i.i.i.ptr.i.i.i.i, i64 80 - %.sroa.22.0.copyload.i.i69.i.i.i.i.i.i.i.i.i.i.i = load i64, ptr %.sroa.22.0..sroa_idx.i.i68.i.i.i.i.i.i.i.i.i.i.i, align 16 - br i1 %.not.i.i.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZNK5clang9NamedDecl7getNameEv.exit.i.i72.i.i.i.i.i.i.i.i.i.i.i, label %611 +_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit64.thread.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit64.i.i.i.i.i.i.i.i.i.i.i, %_ZNK5clang9NamedDecl7getNameEv.exit.i.i58.i.i.i.i.i.i.i.i.i.i.i + %.ptr13.i.i.i.i = getelementptr inbounds nuw i8, ptr %.02922.i.i.i.i.i.i.i.ptr.i.i.i.i, i64 72 + %.sroa.01.0.copyload.i.i65.i.i.i.i.i.i.i.i.i.i.i = load ptr, ptr %.ptr13.i.i.i.i, align 8 + %.sroa.22.0..sroa_idx.i.i66.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %.02922.i.i.i.i.i.i.i.ptr.i.i.i.i, i64 80 + %.sroa.22.0.copyload.i.i67.i.i.i.i.i.i.i.i.i.i.i = load i64, ptr %.sroa.22.0..sroa_idx.i.i66.i.i.i.i.i.i.i.i.i.i.i, align 16 + br i1 %.not.i.i.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZNK5clang9NamedDecl7getNameEv.exit.i.i70.i.i.i.i.i.i.i.i.i.i.i, label %611 -611: ; preds = %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit66.thread.i.i.i.i.i.i.i.i.i.i.i +611: ; preds = %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit64.thread.i.i.i.i.i.i.i.i.i.i.i %612 = load ptr, ptr %570, align 8 %613 = getelementptr inbounds nuw i8, ptr %612, i64 16 %614 = load i64, ptr %612, align 8 %615 = and i64 %614, 4294967295 - br label %_ZNK5clang9NamedDecl7getNameEv.exit.i.i72.i.i.i.i.i.i.i.i.i.i.i + br label %_ZNK5clang9NamedDecl7getNameEv.exit.i.i70.i.i.i.i.i.i.i.i.i.i.i -_ZNK5clang9NamedDecl7getNameEv.exit.i.i72.i.i.i.i.i.i.i.i.i.i.i: ; preds = %611, %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit66.thread.i.i.i.i.i.i.i.i.i.i.i - %.sroa.3.0.i.i.i73.i.i.i.i.i.i.i.i.i.i.i = phi i64 [ %615, %611 ], [ 0, %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit66.thread.i.i.i.i.i.i.i.i.i.i.i ] - %.sroa.0.0.i.i.i74.i.i.i.i.i.i.i.i.i.i.i = phi ptr [ %613, %611 ], [ @.str.10, %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit66.thread.i.i.i.i.i.i.i.i.i.i.i ] - %.not.i5.i.i75.i.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %.sroa.22.0.copyload.i.i69.i.i.i.i.i.i.i.i.i.i.i, %.sroa.3.0.i.i.i73.i.i.i.i.i.i.i.i.i.i.i - br i1 %.not.i5.i.i75.i.i.i.i.i.i.i.i.i.i.i, label %616, label %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit78.thread.i.i.i.i.i.i.i.i.i.i.i +_ZNK5clang9NamedDecl7getNameEv.exit.i.i70.i.i.i.i.i.i.i.i.i.i.i: ; preds = %611, %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit64.thread.i.i.i.i.i.i.i.i.i.i.i + %.sroa.3.0.i.i.i71.i.i.i.i.i.i.i.i.i.i.i = phi i64 [ %615, %611 ], [ 0, %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit64.thread.i.i.i.i.i.i.i.i.i.i.i ] + %.sroa.0.0.i.i.i72.i.i.i.i.i.i.i.i.i.i.i = phi ptr [ %613, %611 ], [ @.str.10, %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit64.thread.i.i.i.i.i.i.i.i.i.i.i ] + %.not.i5.i.i73.i.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %.sroa.22.0.copyload.i.i67.i.i.i.i.i.i.i.i.i.i.i, %.sroa.3.0.i.i.i71.i.i.i.i.i.i.i.i.i.i.i + br i1 %.not.i5.i.i73.i.i.i.i.i.i.i.i.i.i.i, label %616, label %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit76.thread.i.i.i.i.i.i.i.i.i.i.i -616: ; preds = %_ZNK5clang9NamedDecl7getNameEv.exit.i.i72.i.i.i.i.i.i.i.i.i.i.i - %617 = icmp eq i64 %.sroa.22.0.copyload.i.i69.i.i.i.i.i.i.i.i.i.i.i, 0 - br i1 %617, label %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit78.i.i.i.i.i.i.i.i.i.i.i, label %618 +616: ; preds = %_ZNK5clang9NamedDecl7getNameEv.exit.i.i70.i.i.i.i.i.i.i.i.i.i.i + %617 = icmp eq i64 %.sroa.22.0.copyload.i.i67.i.i.i.i.i.i.i.i.i.i.i, 0 + br i1 %617, label %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit76.i.i.i.i.i.i.i.i.i.i.i, label %618 618: ; preds = %616 - %bcmp.i.i.i77.i.i.i.i.i.i.i.i.i.i.i = call i32 @bcmp(ptr %.sroa.01.0.copyload.i.i67.i.i.i.i.i.i.i.i.i.i.i, ptr nonnull %.sroa.0.0.i.i.i74.i.i.i.i.i.i.i.i.i.i.i, i64 %.sroa.22.0.copyload.i.i69.i.i.i.i.i.i.i.i.i.i.i) - %619 = icmp eq i32 %bcmp.i.i.i77.i.i.i.i.i.i.i.i.i.i.i, 0 - br label %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit78.i.i.i.i.i.i.i.i.i.i.i + %bcmp.i.i.i75.i.i.i.i.i.i.i.i.i.i.i = call i32 @bcmp(ptr %.sroa.01.0.copyload.i.i65.i.i.i.i.i.i.i.i.i.i.i, ptr nonnull %.sroa.0.0.i.i.i72.i.i.i.i.i.i.i.i.i.i.i, i64 %.sroa.22.0.copyload.i.i67.i.i.i.i.i.i.i.i.i.i.i) + %619 = icmp eq i32 %bcmp.i.i.i75.i.i.i.i.i.i.i.i.i.i.i, 0 + br label %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit76.i.i.i.i.i.i.i.i.i.i.i -_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit78.i.i.i.i.i.i.i.i.i.i.i: ; preds = %618, %616 - %.0.i.i.i76.i.i.i.i.i.i.i.i.i.i.i = phi i1 [ %619, %618 ], [ true, %616 ] - %620 = getelementptr inbounds nuw i8, ptr %.02924.i.i.i.i.i.i.i.ptr.i.i.i.i, i64 88 +_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit76.i.i.i.i.i.i.i.i.i.i.i: ; preds = %618, %616 + %.0.i.i.i74.i.i.i.i.i.i.i.i.i.i.i = phi i1 [ %619, %618 ], [ true, %616 ] + %620 = getelementptr inbounds nuw i8, ptr %.02922.i.i.i.i.i.i.i.ptr.i.i.i.i, i64 88 %621 = load i32, ptr %620, align 8 %622 = icmp eq i32 %621, %.sroa.5.025.i.i.i - %623 = select i1 %.0.i.i.i76.i.i.i.i.i.i.i.i.i.i.i, i1 %622, i1 false - br i1 %623, label %.thread.i, label %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit78.thread.i.i.i.i.i.i.i.i.i.i.i + %623 = select i1 %.0.i.i.i74.i.i.i.i.i.i.i.i.i.i.i, i1 %622, i1 false + br i1 %623, label %.thread.i, label %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit76.thread.i.i.i.i.i.i.i.i.i.i.i -_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit78.thread.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit78.i.i.i.i.i.i.i.i.i.i.i, %_ZNK5clang9NamedDecl7getNameEv.exit.i.i72.i.i.i.i.i.i.i.i.i.i.i - %.02924.i.i.i.i.i.i.i.add11.i.i.i.i = add nuw nsw i64 %.02924.i.i.i.i.i.i.i.idx.i.i.i.i, 96 - %624 = add nsw i64 %.025.i.i.i.i.i.i.i.i.i.i.i, -1 - %625 = icmp ugt i64 %.025.i.i.i.i.i.i.i.i.i.i.i, 1 +_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit76.thread.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit76.i.i.i.i.i.i.i.i.i.i.i, %_ZNK5clang9NamedDecl7getNameEv.exit.i.i70.i.i.i.i.i.i.i.i.i.i.i + %.02922.i.i.i.i.i.i.i.add11.i.i.i.i = add nuw nsw i64 %.02922.i.i.i.i.i.i.i.idx.i.i.i.i, 96 + %624 = add nsw i64 %.023.i.i.i.i.i.i.i.i.i.i.i, -1 + %625 = icmp ugt i64 %.023.i.i.i.i.i.i.i.i.i.i.i, 1 br i1 %625, label %571, label %_ZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEj.exit.thread.i.i.i.i, !llvm.loop !44 _ZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEj.exit.i.i.i.i: ; preds = %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit.i.i.i.i.i.i.i.i.i.i.i - %.not.i.i.i.i77 = icmp eq i64 %.02924.i.i.i.i.i.i.i.idx.i.i.i.i, 192 + %.not.i.i.i.i77 = icmp eq i64 %.02922.i.i.i.i.i.i.i.idx.i.i.i.i, 192 br i1 %.not.i.i.i.i77, label %_ZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEj.exit.thread.i.i.i.i, label %.thread.i -_ZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEj.exit.thread.i.i.i.i: ; preds = %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit78.thread.i.i.i.i.i.i.i.i.i.i.i, %_ZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEj.exit.i.i.i.i, %559, %557 +_ZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEj.exit.thread.i.i.i.i: ; preds = %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit76.thread.i.i.i.i.i.i.i.i.i.i.i, %_ZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEj.exit.i.i.i.i, %559, %557 %626 = load i32, ptr %spec.select.i.i.i.i, align 8 %627 = lshr i32 %626, 24 %628 = zext nneg i32 %627 to i64 @@ -3140,7 +3140,7 @@ _ZNK12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceIN5clang15 %.not1956.i = icmp eq i32 %674, 0 br i1 %.not1956.i, label %_ZNK5clang10CFGElement5getAsINS_7CFGStmtEEESt8optionalIT_Ev.exit.i, label %.lr.ph58.split.us.i -.thread.i: ; preds = %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit78.i.i.i.i.i.i.i.i.i.i.i, %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit66.i.i.i.i.i.i.i.i.i.i.i, %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit54.i.i.i.i.i.i.i.i.i.i.i, %_ZNK12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceIN5clang15ObjCMessageExprEEEbPKT_PKNS2_4StmtE.exit.i.i, %_ZNK12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceIN5clang8CallExprEEEbPKT_PKNS2_4StmtE.exit.i.i, %_ZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEj.exit.i.i.i.i, %538 +.thread.i: ; preds = %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit76.i.i.i.i.i.i.i.i.i.i.i, %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit64.i.i.i.i.i.i.i.i.i.i.i, %_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEjEUlRKNS2_24KnownCalledOnceParameterEE_EclIPS9_EEbT_.exit52.i.i.i.i.i.i.i.i.i.i.i, %_ZNK12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceIN5clang15ObjCMessageExprEEEbPKT_PKNS2_4StmtE.exit.i.i, %_ZNK12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceIN5clang8CallExprEEEbPKT_PKNS2_4StmtE.exit.i.i, %_ZN12_GLOBAL__N_117CalledOnceChecker31shouldBlockArgumentBeCalledOnceEPKN5clang12FunctionDeclEj.exit.i.i.i.i, %538 %677 = load ptr, ptr %157, align 8 %678 = getelementptr inbounds nuw i8, ptr %387, i64 16 %679 = load ptr, ptr %678, align 8 diff --git a/bench/llvm/optimized/Cuda.cpp.ll b/bench/llvm/optimized/Cuda.cpp.ll index 1317c82a7e6..70609a07074 100644 --- a/bench/llvm/optimized/Cuda.cpp.ll +++ b/bench/llvm/optimized/Cuda.cpp.ll @@ -181,7 +181,7 @@ define dso_local noundef i32 @_ZN5clang19CudaStringToVersionERKN4llvm5TwineE(ptr 7: ; preds = %.lr.ph %8 = getelementptr inbounds nuw i8, ptr %.067, i64 32 - %9 = load ptr, ptr %8, align 8 + %9 = load ptr, ptr %8, align 16 %10 = call noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(ptr noundef nonnull align 8 dereferenceable(32) %2, ptr noundef %9) #8 %11 = icmp eq i32 %10, 0 br i1 %11, label %._crit_edge, label %.lr.ph, !llvm.loop !6 @@ -242,56 +242,56 @@ define dso_local noundef ptr @_ZN5clang19OffloadArchToStringENS_11OffloadArchE(i br label %2 2: ; preds = %13, %1 - %.018.i.i.i = phi i64 [ 18, %1 ], [ %15, %13 ] - %.02917.i.i.i = phi ptr [ @_ZN5clangL10arch_namesE, %1 ], [ %14, %13 ] - %.029.val.i.i.i = load i32, ptr %.02917.i.i.i, align 8 + %.017.i.i.i = phi i64 [ 18, %1 ], [ %15, %13 ] + %.02916.i.i.i = phi ptr [ @_ZN5clangL10arch_namesE, %1 ], [ %14, %13 ] + %.029.val.i.i.i = load i32, ptr %.02916.i.i.i, align 16 %3 = icmp eq i32 %0, %.029.val.i.i.i br i1 %3, label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19OffloadArchToStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit", label %4 4: ; preds = %2 - %5 = getelementptr inbounds nuw i8, ptr %.02917.i.i.i, i64 24 + %5 = getelementptr inbounds nuw i8, ptr %.02916.i.i.i, i64 24 %.val31.i.i.i = load i32, ptr %5, align 8 %6 = icmp eq i32 %0, %.val31.i.i.i br i1 %6, label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19OffloadArchToStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.loopexit.split.loop.exit", label %7 7: ; preds = %4 - %8 = getelementptr inbounds nuw i8, ptr %.02917.i.i.i, i64 48 - %.val33.i.i.i = load i32, ptr %8, align 8 + %8 = getelementptr inbounds nuw i8, ptr %.02916.i.i.i, i64 48 + %.val33.i.i.i = load i32, ptr %8, align 16 %9 = icmp eq i32 %0, %.val33.i.i.i br i1 %9, label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19OffloadArchToStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.loopexit.split.loop.exit18", label %10 10: ; preds = %7 - %11 = getelementptr inbounds nuw i8, ptr %.02917.i.i.i, i64 72 + %11 = getelementptr inbounds nuw i8, ptr %.02916.i.i.i, i64 72 %.val35.i.i.i = load i32, ptr %11, align 8 %12 = icmp eq i32 %0, %.val35.i.i.i br i1 %12, label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19OffloadArchToStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.loopexit.split.loop.exit20", label %13 13: ; preds = %10 - %14 = getelementptr inbounds nuw i8, ptr %.02917.i.i.i, i64 96 - %15 = add nsw i64 %.018.i.i.i, -1 - %16 = icmp ugt i64 %.018.i.i.i, 1 + %14 = getelementptr inbounds nuw i8, ptr %.02916.i.i.i, i64 96 + %15 = add nsw i64 %.017.i.i.i, -1 + %16 = icmp ugt i64 %.017.i.i.i, 1 br i1 %16, label %2, label %17, !llvm.loop !8 17: ; preds = %13 %switch.selectcmp.i.i.i = icmp eq i32 %0, 74 %switch.select.i.i.i = select i1 %switch.selectcmp.i.i.i, ptr getelementptr inbounds nuw (i8, ptr @_ZN5clangL10arch_namesE, i64 1752), ptr getelementptr inbounds nuw (i8, ptr @_ZN5clangL10arch_namesE, i64 1776) - %switch.selectcmp31.i.i.i = icmp eq i32 %0, 73 - br i1 %switch.selectcmp31.i.i.i, label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19OffloadArchToStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.thread", label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19OffloadArchToStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit" + %switch.selectcmp30.i.i.i = icmp eq i32 %0, 73 + br i1 %switch.selectcmp30.i.i.i, label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19OffloadArchToStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.thread", label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19OffloadArchToStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit" "_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19OffloadArchToStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.loopexit.split.loop.exit": ; preds = %4 - %18 = getelementptr inbounds nuw i8, ptr %.02917.i.i.i, i64 24 + %18 = getelementptr inbounds nuw i8, ptr %.02916.i.i.i, i64 24 br label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19OffloadArchToStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit" "_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19OffloadArchToStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.loopexit.split.loop.exit18": ; preds = %7 - %19 = getelementptr inbounds nuw i8, ptr %.02917.i.i.i, i64 48 + %19 = getelementptr inbounds nuw i8, ptr %.02916.i.i.i, i64 48 br label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19OffloadArchToStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit" "_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19OffloadArchToStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.loopexit.split.loop.exit20": ; preds = %10 - %20 = getelementptr inbounds nuw i8, ptr %.02917.i.i.i, i64 72 + %20 = getelementptr inbounds nuw i8, ptr %.02916.i.i.i, i64 72 br label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19OffloadArchToStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit" "_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19OffloadArchToStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit": ; preds = %2, %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19OffloadArchToStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.loopexit.split.loop.exit", %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19OffloadArchToStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.loopexit.split.loop.exit18", %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19OffloadArchToStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.loopexit.split.loop.exit20", %17 - %.028.i.i.i = phi ptr [ %switch.select.i.i.i, %17 ], [ %18, %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19OffloadArchToStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.loopexit.split.loop.exit" ], [ %19, %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19OffloadArchToStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.loopexit.split.loop.exit18" ], [ %20, %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19OffloadArchToStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.loopexit.split.loop.exit20" ], [ %.02917.i.i.i, %2 ] + %.028.i.i.i = phi ptr [ %switch.select.i.i.i, %17 ], [ %18, %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19OffloadArchToStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.loopexit.split.loop.exit" ], [ %19, %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19OffloadArchToStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.loopexit.split.loop.exit18" ], [ %20, %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19OffloadArchToStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.loopexit.split.loop.exit20" ], [ %.02916.i.i.i, %2 ] %21 = icmp eq ptr %.028.i.i.i, getelementptr inbounds nuw (i8, ptr @_ZN5clangL10arch_namesE, i64 1776) br i1 %21, label %24, label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19OffloadArchToStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.thread" @@ -311,56 +311,56 @@ define dso_local noundef ptr @_ZN5clang30OffloadArchToVirtualArchStringENS_11Off br label %2 2: ; preds = %13, %1 - %.018.i.i.i = phi i64 [ 18, %1 ], [ %15, %13 ] - %.02917.i.i.i = phi ptr [ @_ZN5clangL10arch_namesE, %1 ], [ %14, %13 ] - %.029.val.i.i.i = load i32, ptr %.02917.i.i.i, align 8 + %.017.i.i.i = phi i64 [ 18, %1 ], [ %15, %13 ] + %.02916.i.i.i = phi ptr [ @_ZN5clangL10arch_namesE, %1 ], [ %14, %13 ] + %.029.val.i.i.i = load i32, ptr %.02916.i.i.i, align 16 %3 = icmp eq i32 %0, %.029.val.i.i.i br i1 %3, label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_30OffloadArchToVirtualArchStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit", label %4 4: ; preds = %2 - %5 = getelementptr inbounds nuw i8, ptr %.02917.i.i.i, i64 24 + %5 = getelementptr inbounds nuw i8, ptr %.02916.i.i.i, i64 24 %.val31.i.i.i = load i32, ptr %5, align 8 %6 = icmp eq i32 %0, %.val31.i.i.i br i1 %6, label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_30OffloadArchToVirtualArchStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.loopexit.split.loop.exit", label %7 7: ; preds = %4 - %8 = getelementptr inbounds nuw i8, ptr %.02917.i.i.i, i64 48 - %.val33.i.i.i = load i32, ptr %8, align 8 + %8 = getelementptr inbounds nuw i8, ptr %.02916.i.i.i, i64 48 + %.val33.i.i.i = load i32, ptr %8, align 16 %9 = icmp eq i32 %0, %.val33.i.i.i br i1 %9, label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_30OffloadArchToVirtualArchStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.loopexit.split.loop.exit18", label %10 10: ; preds = %7 - %11 = getelementptr inbounds nuw i8, ptr %.02917.i.i.i, i64 72 + %11 = getelementptr inbounds nuw i8, ptr %.02916.i.i.i, i64 72 %.val35.i.i.i = load i32, ptr %11, align 8 %12 = icmp eq i32 %0, %.val35.i.i.i br i1 %12, label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_30OffloadArchToVirtualArchStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.loopexit.split.loop.exit20", label %13 13: ; preds = %10 - %14 = getelementptr inbounds nuw i8, ptr %.02917.i.i.i, i64 96 - %15 = add nsw i64 %.018.i.i.i, -1 - %16 = icmp ugt i64 %.018.i.i.i, 1 + %14 = getelementptr inbounds nuw i8, ptr %.02916.i.i.i, i64 96 + %15 = add nsw i64 %.017.i.i.i, -1 + %16 = icmp ugt i64 %.017.i.i.i, 1 br i1 %16, label %2, label %17, !llvm.loop !9 17: ; preds = %13 %switch.selectcmp.i.i.i = icmp eq i32 %0, 74 %switch.select.i.i.i = select i1 %switch.selectcmp.i.i.i, ptr getelementptr inbounds nuw (i8, ptr @_ZN5clangL10arch_namesE, i64 1752), ptr getelementptr inbounds nuw (i8, ptr @_ZN5clangL10arch_namesE, i64 1776) - %switch.selectcmp31.i.i.i = icmp eq i32 %0, 73 - br i1 %switch.selectcmp31.i.i.i, label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_30OffloadArchToVirtualArchStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.thread", label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_30OffloadArchToVirtualArchStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit" + %switch.selectcmp30.i.i.i = icmp eq i32 %0, 73 + br i1 %switch.selectcmp30.i.i.i, label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_30OffloadArchToVirtualArchStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.thread", label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_30OffloadArchToVirtualArchStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit" "_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_30OffloadArchToVirtualArchStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.loopexit.split.loop.exit": ; preds = %4 - %18 = getelementptr inbounds nuw i8, ptr %.02917.i.i.i, i64 24 + %18 = getelementptr inbounds nuw i8, ptr %.02916.i.i.i, i64 24 br label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_30OffloadArchToVirtualArchStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit" "_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_30OffloadArchToVirtualArchStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.loopexit.split.loop.exit18": ; preds = %7 - %19 = getelementptr inbounds nuw i8, ptr %.02917.i.i.i, i64 48 + %19 = getelementptr inbounds nuw i8, ptr %.02916.i.i.i, i64 48 br label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_30OffloadArchToVirtualArchStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit" "_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_30OffloadArchToVirtualArchStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.loopexit.split.loop.exit20": ; preds = %10 - %20 = getelementptr inbounds nuw i8, ptr %.02917.i.i.i, i64 72 + %20 = getelementptr inbounds nuw i8, ptr %.02916.i.i.i, i64 72 br label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_30OffloadArchToVirtualArchStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit" "_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_30OffloadArchToVirtualArchStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit": ; preds = %2, %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_30OffloadArchToVirtualArchStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.loopexit.split.loop.exit", %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_30OffloadArchToVirtualArchStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.loopexit.split.loop.exit18", %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_30OffloadArchToVirtualArchStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.loopexit.split.loop.exit20", %17 - %.028.i.i.i = phi ptr [ %switch.select.i.i.i, %17 ], [ %18, %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_30OffloadArchToVirtualArchStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.loopexit.split.loop.exit" ], [ %19, %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_30OffloadArchToVirtualArchStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.loopexit.split.loop.exit18" ], [ %20, %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_30OffloadArchToVirtualArchStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.loopexit.split.loop.exit20" ], [ %.02917.i.i.i, %2 ] + %.028.i.i.i = phi ptr [ %switch.select.i.i.i, %17 ], [ %18, %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_30OffloadArchToVirtualArchStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.loopexit.split.loop.exit" ], [ %19, %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_30OffloadArchToVirtualArchStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.loopexit.split.loop.exit18" ], [ %20, %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_30OffloadArchToVirtualArchStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.loopexit.split.loop.exit20" ], [ %.02916.i.i.i, %2 ] %21 = icmp eq ptr %.028.i.i.i, getelementptr inbounds nuw (i8, ptr @_ZN5clangL10arch_namesE, i64 1776) br i1 %21, label %24, label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_30OffloadArchToVirtualArchStringENS0_11OffloadArchEE3$_0ET_S7_S7_T0_.exit.thread" @@ -380,11 +380,11 @@ define dso_local noundef i32 @_ZN5clang19StringToOffloadArchEN4llvm9StringRefE(p %3 = icmp eq i64 %1, 0 br label %4 -4: ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit64.thread17.i.i.i", %2 - %.050.i.i.i = phi i64 [ 18, %2 ], [ %29, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit64.thread17.i.i.i" ] - %.02949.i.i.i.idx = phi i64 [ 0, %2 ], [ %.02949.i.i.i.add14, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit64.thread17.i.i.i" ] - %.02949.i.i.i.ptr = getelementptr inbounds nuw i8, ptr @_ZN5clangL10arch_namesE, i64 %.02949.i.i.i.idx - %5 = getelementptr i8, ptr %.02949.i.i.i.ptr, i64 8 +4: ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit63.thread16.i.i.i", %2 + %.046.i.i.i = phi i64 [ 18, %2 ], [ %29, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit63.thread16.i.i.i" ] + %.02945.i.i.i.idx = phi i64 [ 0, %2 ], [ %.02945.i.i.i.add14, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit63.thread16.i.i.i" ] + %.02945.i.i.i.ptr = getelementptr inbounds nuw i8, ptr @_ZN5clangL10arch_namesE, i64 %.02945.i.i.i.idx + %5 = getelementptr i8, ptr %.02945.i.i.i.ptr, i64 8 %.029.val.i.i.i = load ptr, ptr %5, align 8 %.not.i.i.i.i.i.i = icmp eq ptr %.029.val.i.i.i, null br i1 %.not.i.i.i.i.i.i, label %_ZN4llvm9StringRefC2EPKc.exit.i.i.i.i.i, label %6 @@ -396,7 +396,7 @@ define dso_local noundef i32 @_ZN5clang19StringToOffloadArchEN4llvm9StringRefE(p _ZN4llvm9StringRefC2EPKc.exit.i.i.i.i.i: ; preds = %6, %4 %8 = phi i64 [ %7, %6 ], [ 0, %4 ] %.not.i2.i.i.i.i.i = icmp eq i64 %1, %8 - br i1 %.not.i2.i.i.i.i.i, label %9, label %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread8.i.i.i" + br i1 %.not.i2.i.i.i.i.i, label %9, label %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread7.i.i.i" 9: ; preds = %_ZN4llvm9StringRefC2EPKc.exit.i.i.i.i.i br i1 %3, label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit.thread35", label %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.i.i.i" @@ -404,133 +404,133 @@ _ZN4llvm9StringRefC2EPKc.exit.i.i.i.i.i: ; preds = %6, %4 "_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.i.i.i": ; preds = %9 %bcmp.i.i.i.i.i.i = tail call i32 @bcmp(ptr readonly %0, ptr readonly %.029.val.i.i.i, i64 %1) %10 = icmp eq i32 %bcmp.i.i.i.i.i.i, 0 - br i1 %10, label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit.thread35", label %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread8.i.i.i" + br i1 %10, label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit.thread35", label %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread7.i.i.i" -"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread8.i.i.i": ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.i.i.i", %_ZN4llvm9StringRefC2EPKc.exit.i.i.i.i.i - %11 = getelementptr i8, ptr %.02949.i.i.i.ptr, i64 32 +"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread7.i.i.i": ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.i.i.i", %_ZN4llvm9StringRefC2EPKc.exit.i.i.i.i.i + %11 = getelementptr i8, ptr %.02945.i.i.i.ptr, i64 32 %.val33.i.i.i = load ptr, ptr %11, align 16 - %.not.i.i.i47.i.i.i = icmp eq ptr %.val33.i.i.i, null - br i1 %.not.i.i.i47.i.i.i, label %_ZN4llvm9StringRefC2EPKc.exit.i.i48.i.i.i, label %12 + %.not.i.i.i46.i.i.i = icmp eq ptr %.val33.i.i.i, null + br i1 %.not.i.i.i46.i.i.i, label %_ZN4llvm9StringRefC2EPKc.exit.i.i47.i.i.i, label %12 -12: ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread8.i.i.i" +12: ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread7.i.i.i" %13 = tail call noundef i64 @strlen(ptr noundef nonnull readonly dereferenceable(1) %.val33.i.i.i) #8 - br label %_ZN4llvm9StringRefC2EPKc.exit.i.i48.i.i.i + br label %_ZN4llvm9StringRefC2EPKc.exit.i.i47.i.i.i -_ZN4llvm9StringRefC2EPKc.exit.i.i48.i.i.i: ; preds = %12, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread8.i.i.i" - %14 = phi i64 [ %13, %12 ], [ 0, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread8.i.i.i" ] - %.not.i2.i.i49.i.i.i = icmp eq i64 %1, %14 - br i1 %.not.i2.i.i49.i.i.i, label %15, label %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit52.thread11.i.i.i" +_ZN4llvm9StringRefC2EPKc.exit.i.i47.i.i.i: ; preds = %12, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread7.i.i.i" + %14 = phi i64 [ %13, %12 ], [ 0, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread7.i.i.i" ] + %.not.i2.i.i48.i.i.i = icmp eq i64 %1, %14 + br i1 %.not.i2.i.i48.i.i.i, label %15, label %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit51.thread10.i.i.i" -15: ; preds = %_ZN4llvm9StringRefC2EPKc.exit.i.i48.i.i.i - br i1 %3, label %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread.loopexit.split.loop.exit37.i.i.i", label %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit52.i.i.i" +15: ; preds = %_ZN4llvm9StringRefC2EPKc.exit.i.i47.i.i.i + br i1 %3, label %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread.loopexit.split.loop.exit33.i.i.i", label %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit51.i.i.i" -"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit52.i.i.i": ; preds = %15 - %bcmp.i.i.i51.i.i.i = tail call i32 @bcmp(ptr readonly %0, ptr readonly %.val33.i.i.i, i64 %1) - %16 = icmp eq i32 %bcmp.i.i.i51.i.i.i, 0 - br i1 %16, label %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread.loopexit.split.loop.exit29.i.i.i", label %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit52.thread11.i.i.i" +"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit51.i.i.i": ; preds = %15 + %bcmp.i.i.i50.i.i.i = tail call i32 @bcmp(ptr readonly %0, ptr readonly %.val33.i.i.i, i64 %1) + %16 = icmp eq i32 %bcmp.i.i.i50.i.i.i, 0 + br i1 %16, label %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread.loopexit.split.loop.exit25.i.i.i", label %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit51.thread10.i.i.i" -"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit52.thread11.i.i.i": ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit52.i.i.i", %_ZN4llvm9StringRefC2EPKc.exit.i.i48.i.i.i - %17 = getelementptr i8, ptr %.02949.i.i.i.ptr, i64 56 +"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit51.thread10.i.i.i": ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit51.i.i.i", %_ZN4llvm9StringRefC2EPKc.exit.i.i47.i.i.i + %17 = getelementptr i8, ptr %.02945.i.i.i.ptr, i64 56 %.val36.i.i.i = load ptr, ptr %17, align 8 - %.not.i.i.i53.i.i.i = icmp eq ptr %.val36.i.i.i, null - br i1 %.not.i.i.i53.i.i.i, label %_ZN4llvm9StringRefC2EPKc.exit.i.i54.i.i.i, label %18 + %.not.i.i.i52.i.i.i = icmp eq ptr %.val36.i.i.i, null + br i1 %.not.i.i.i52.i.i.i, label %_ZN4llvm9StringRefC2EPKc.exit.i.i53.i.i.i, label %18 -18: ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit52.thread11.i.i.i" +18: ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit51.thread10.i.i.i" %19 = tail call noundef i64 @strlen(ptr noundef nonnull readonly dereferenceable(1) %.val36.i.i.i) #8 - br label %_ZN4llvm9StringRefC2EPKc.exit.i.i54.i.i.i + br label %_ZN4llvm9StringRefC2EPKc.exit.i.i53.i.i.i -_ZN4llvm9StringRefC2EPKc.exit.i.i54.i.i.i: ; preds = %18, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit52.thread11.i.i.i" - %20 = phi i64 [ %19, %18 ], [ 0, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit52.thread11.i.i.i" ] - %.not.i2.i.i55.i.i.i = icmp eq i64 %1, %20 - br i1 %.not.i2.i.i55.i.i.i, label %21, label %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit58.thread14.i.i.i" +_ZN4llvm9StringRefC2EPKc.exit.i.i53.i.i.i: ; preds = %18, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit51.thread10.i.i.i" + %20 = phi i64 [ %19, %18 ], [ 0, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit51.thread10.i.i.i" ] + %.not.i2.i.i54.i.i.i = icmp eq i64 %1, %20 + br i1 %.not.i2.i.i54.i.i.i, label %21, label %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit57.thread13.i.i.i" -21: ; preds = %_ZN4llvm9StringRefC2EPKc.exit.i.i54.i.i.i - br i1 %3, label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit", label %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit58.i.i.i" +21: ; preds = %_ZN4llvm9StringRefC2EPKc.exit.i.i53.i.i.i + br i1 %3, label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit", label %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit57.i.i.i" -"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit58.i.i.i": ; preds = %21 - %bcmp.i.i.i57.i.i.i = tail call i32 @bcmp(ptr readonly %0, ptr readonly %.val36.i.i.i, i64 %1) - %22 = icmp eq i32 %bcmp.i.i.i57.i.i.i, 0 - br i1 %22, label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit", label %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit58.thread14.i.i.i" +"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit57.i.i.i": ; preds = %21 + %bcmp.i.i.i56.i.i.i = tail call i32 @bcmp(ptr readonly %0, ptr readonly %.val36.i.i.i, i64 %1) + %22 = icmp eq i32 %bcmp.i.i.i56.i.i.i, 0 + br i1 %22, label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit", label %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit57.thread13.i.i.i" -"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit58.thread14.i.i.i": ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit58.i.i.i", %_ZN4llvm9StringRefC2EPKc.exit.i.i54.i.i.i - %23 = getelementptr i8, ptr %.02949.i.i.i.ptr, i64 80 +"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit57.thread13.i.i.i": ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit57.i.i.i", %_ZN4llvm9StringRefC2EPKc.exit.i.i53.i.i.i + %23 = getelementptr i8, ptr %.02945.i.i.i.ptr, i64 80 %.val39.i.i.i = load ptr, ptr %23, align 16 - %.not.i.i.i59.i.i.i = icmp eq ptr %.val39.i.i.i, null - br i1 %.not.i.i.i59.i.i.i, label %_ZN4llvm9StringRefC2EPKc.exit.i.i60.i.i.i, label %24 + %.not.i.i.i58.i.i.i = icmp eq ptr %.val39.i.i.i, null + br i1 %.not.i.i.i58.i.i.i, label %_ZN4llvm9StringRefC2EPKc.exit.i.i59.i.i.i, label %24 -24: ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit58.thread14.i.i.i" +24: ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit57.thread13.i.i.i" %25 = tail call noundef i64 @strlen(ptr noundef nonnull readonly dereferenceable(1) %.val39.i.i.i) #8 - br label %_ZN4llvm9StringRefC2EPKc.exit.i.i60.i.i.i + br label %_ZN4llvm9StringRefC2EPKc.exit.i.i59.i.i.i -_ZN4llvm9StringRefC2EPKc.exit.i.i60.i.i.i: ; preds = %24, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit58.thread14.i.i.i" - %26 = phi i64 [ %25, %24 ], [ 0, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit58.thread14.i.i.i" ] - %.not.i2.i.i61.i.i.i = icmp eq i64 %1, %26 - br i1 %.not.i2.i.i61.i.i.i, label %27, label %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit64.thread17.i.i.i" +_ZN4llvm9StringRefC2EPKc.exit.i.i59.i.i.i: ; preds = %24, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit57.thread13.i.i.i" + %26 = phi i64 [ %25, %24 ], [ 0, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit57.thread13.i.i.i" ] + %.not.i2.i.i60.i.i.i = icmp eq i64 %1, %26 + br i1 %.not.i2.i.i60.i.i.i, label %27, label %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit63.thread16.i.i.i" -27: ; preds = %_ZN4llvm9StringRefC2EPKc.exit.i.i60.i.i.i - br i1 %3, label %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread.loopexit.split.loop.exit41.i.i.i", label %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit64.i.i.i" +27: ; preds = %_ZN4llvm9StringRefC2EPKc.exit.i.i59.i.i.i + br i1 %3, label %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread.loopexit.split.loop.exit37.i.i.i", label %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit63.i.i.i" -"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit64.i.i.i": ; preds = %27 - %bcmp.i.i.i63.i.i.i = tail call i32 @bcmp(ptr readonly %0, ptr readonly %.val39.i.i.i, i64 %1) - %28 = icmp eq i32 %bcmp.i.i.i63.i.i.i, 0 - br i1 %28, label %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread.loopexit.split.loop.exit33.i.i.i", label %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit64.thread17.i.i.i" +"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit63.i.i.i": ; preds = %27 + %bcmp.i.i.i62.i.i.i = tail call i32 @bcmp(ptr readonly %0, ptr readonly %.val39.i.i.i, i64 %1) + %28 = icmp eq i32 %bcmp.i.i.i62.i.i.i, 0 + br i1 %28, label %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread.loopexit.split.loop.exit29.i.i.i", label %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit63.thread16.i.i.i" -"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit64.thread17.i.i.i": ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit64.i.i.i", %_ZN4llvm9StringRefC2EPKc.exit.i.i60.i.i.i - %.02949.i.i.i.add14 = add nuw nsw i64 %.02949.i.i.i.idx, 96 - %29 = add nsw i64 %.050.i.i.i, -1 - %30 = icmp ugt i64 %.050.i.i.i, 1 - br i1 %30, label %4, label %_ZN4llvm9StringRefC2EPKc.exit.i.i72.i.i.i, !llvm.loop !10 +"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit63.thread16.i.i.i": ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit63.i.i.i", %_ZN4llvm9StringRefC2EPKc.exit.i.i59.i.i.i + %.02945.i.i.i.add14 = add nuw nsw i64 %.02945.i.i.i.idx, 96 + %29 = add nsw i64 %.046.i.i.i, -1 + %30 = icmp ugt i64 %.046.i.i.i, 1 + br i1 %30, label %4, label %_ZN4llvm9StringRefC2EPKc.exit.i.i65.i.i.i, !llvm.loop !10 -_ZN4llvm9StringRefC2EPKc.exit.i.i72.i.i.i: ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit64.thread17.i.i.i" +_ZN4llvm9StringRefC2EPKc.exit.i.i65.i.i.i: ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit63.thread16.i.i.i" switch i64 %1, label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit.thread7" [ - i64 11, label %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit76.i.i.i" - i64 7, label %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit82.i.i.i" + i64 11, label %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit69.i.i.i" + i64 7, label %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit75.i.i.i" ] -"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit76.i.i.i": ; preds = %_ZN4llvm9StringRefC2EPKc.exit.i.i72.i.i.i - %bcmp.i.i.i75.i.i.i = tail call i32 @bcmp(ptr noundef nonnull readonly dereferenceable(11) %0, ptr noundef nonnull readonly dereferenceable(11) @.str.119, i64 11) - %31 = icmp eq i32 %bcmp.i.i.i75.i.i.i, 0 +"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit69.i.i.i": ; preds = %_ZN4llvm9StringRefC2EPKc.exit.i.i65.i.i.i + %bcmp.i.i.i68.i.i.i = tail call i32 @bcmp(ptr noundef nonnull readonly dereferenceable(11) %0, ptr noundef nonnull readonly dereferenceable(11) @.str.119, i64 11) + %31 = icmp eq i32 %bcmp.i.i.i68.i.i.i, 0 br i1 %31, label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit.thread", label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit.thread7" -"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit82.i.i.i": ; preds = %_ZN4llvm9StringRefC2EPKc.exit.i.i72.i.i.i - %bcmp.i.i.i81.i.i.i = tail call i32 @bcmp(ptr noundef nonnull readonly dereferenceable(7) %0, ptr noundef nonnull readonly dereferenceable(7) @.str.120, i64 7) - %32 = icmp eq i32 %bcmp.i.i.i81.i.i.i, 0 +"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit75.i.i.i": ; preds = %_ZN4llvm9StringRefC2EPKc.exit.i.i65.i.i.i + %bcmp.i.i.i74.i.i.i = tail call i32 @bcmp(ptr noundef nonnull readonly dereferenceable(7) %0, ptr noundef nonnull readonly dereferenceable(7) @.str.120, i64 7) + %32 = icmp eq i32 %bcmp.i.i.i74.i.i.i, 0 br i1 %32, label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit.thread", label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit.thread7" -"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread.loopexit.split.loop.exit29.i.i.i": ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit52.i.i.i" - %.02949.i.i.i.add13 = or disjoint i64 %.02949.i.i.i.idx, 24 +"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread.loopexit.split.loop.exit25.i.i.i": ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit51.i.i.i" + %.02945.i.i.i.add13 = or disjoint i64 %.02945.i.i.i.idx, 24 br label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit.thread35" -"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread.loopexit.split.loop.exit33.i.i.i": ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit64.i.i.i" - %.02949.i.i.i.add11 = add nuw nsw i64 %.02949.i.i.i.idx, 72 +"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread.loopexit.split.loop.exit29.i.i.i": ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit63.i.i.i" + %.02945.i.i.i.add11 = add nuw nsw i64 %.02945.i.i.i.idx, 72 br label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit.thread35" -"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread.loopexit.split.loop.exit37.i.i.i": ; preds = %15 - %.02949.i.i.i.add10 = or disjoint i64 %.02949.i.i.i.idx, 24 +"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread.loopexit.split.loop.exit33.i.i.i": ; preds = %15 + %.02945.i.i.i.add10 = or disjoint i64 %.02945.i.i.i.idx, 24 br label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit.thread35" -"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread.loopexit.split.loop.exit41.i.i.i": ; preds = %27 - %.02949.i.i.i.add = add nuw nsw i64 %.02949.i.i.i.idx, 72 +"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread.loopexit.split.loop.exit37.i.i.i": ; preds = %27 + %.02945.i.i.i.add = add nuw nsw i64 %.02945.i.i.i.idx, 72 br label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit.thread35" -"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit.thread35": ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.i.i.i", %9, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread.loopexit.split.loop.exit29.i.i.i", %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread.loopexit.split.loop.exit33.i.i.i", %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread.loopexit.split.loop.exit37.i.i.i", %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread.loopexit.split.loop.exit41.i.i.i" - %.028.i.i.i.idx.ph = phi i64 [ %.02949.i.i.i.add, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread.loopexit.split.loop.exit41.i.i.i" ], [ %.02949.i.i.i.add10, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread.loopexit.split.loop.exit37.i.i.i" ], [ %.02949.i.i.i.add11, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread.loopexit.split.loop.exit33.i.i.i" ], [ %.02949.i.i.i.add13, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread.loopexit.split.loop.exit29.i.i.i" ], [ %.02949.i.i.i.idx, %9 ], [ %.02949.i.i.i.idx, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.i.i.i" ] +"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit.thread35": ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.i.i.i", %9, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread.loopexit.split.loop.exit25.i.i.i", %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread.loopexit.split.loop.exit29.i.i.i", %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread.loopexit.split.loop.exit33.i.i.i", %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread.loopexit.split.loop.exit37.i.i.i" + %.028.i.i.i.idx.ph = phi i64 [ %.02945.i.i.i.add, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread.loopexit.split.loop.exit37.i.i.i" ], [ %.02945.i.i.i.add10, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread.loopexit.split.loop.exit33.i.i.i" ], [ %.02945.i.i.i.add11, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread.loopexit.split.loop.exit29.i.i.i" ], [ %.02945.i.i.i.add13, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.thread.loopexit.split.loop.exit25.i.i.i" ], [ %.02945.i.i.i.idx, %9 ], [ %.02945.i.i.i.idx, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit.i.i.i" ] %.028.i.i.i.ptr37 = getelementptr inbounds nuw i8, ptr @_ZN5clangL10arch_namesE, i64 %.028.i.i.i.idx.ph br label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit.thread" -"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit": ; preds = %21, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit58.i.i.i" - %.02949.i.i.i.add12 = add nuw nsw i64 %.02949.i.i.i.idx, 48 - %.028.i.i.i.ptr = getelementptr inbounds nuw i8, ptr @_ZN5clangL10arch_namesE, i64 %.02949.i.i.i.add12 - %33 = icmp eq i64 %.02949.i.i.i.add12, 1776 +"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit": ; preds = %21, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit57.i.i.i" + %.02945.i.i.i.add12 = add nuw nsw i64 %.02945.i.i.i.idx, 48 + %.028.i.i.i.ptr = getelementptr inbounds nuw i8, ptr @_ZN5clangL10arch_namesE, i64 %.02945.i.i.i.add12 + %33 = icmp eq i64 %.02945.i.i.i.add12, 1776 br i1 %33, label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit.thread7", label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit.thread" -"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit.thread": ; preds = %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit.thread35", %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit82.i.i.i", %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit76.i.i.i", %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit" - %.028.i.i.i6 = phi ptr [ %.028.i.i.i.ptr, %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit" ], [ getelementptr inbounds nuw (i8, ptr @_ZN5clangL10arch_namesE, i64 1752), %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit82.i.i.i" ], [ getelementptr inbounds nuw (i8, ptr @_ZN5clangL10arch_namesE, i64 1728), %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit76.i.i.i" ], [ %.028.i.i.i.ptr37, %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit.thread35" ] +"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit.thread": ; preds = %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit.thread35", %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit75.i.i.i", %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit69.i.i.i", %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit" + %.028.i.i.i6 = phi ptr [ %.028.i.i.i.ptr, %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit" ], [ getelementptr inbounds nuw (i8, ptr @_ZN5clangL10arch_namesE, i64 1752), %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit75.i.i.i" ], [ getelementptr inbounds nuw (i8, ptr @_ZN5clangL10arch_namesE, i64 1728), %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit69.i.i.i" ], [ %.028.i.i.i.ptr37, %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit.thread35" ] %34 = load i32, ptr %.028.i.i.i6, align 8 br label %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit.thread7" -"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit.thread7": ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit82.i.i.i", %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit76.i.i.i", %_ZN4llvm9StringRefC2EPKc.exit.i.i72.i.i.i, %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit", %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit.thread" - %.0 = phi i32 [ %34, %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit.thread" ], [ 1, %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit" ], [ 1, %_ZN4llvm9StringRefC2EPKc.exit.i.i72.i.i.i ], [ 1, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit76.i.i.i" ], [ 1, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit82.i.i.i" ] +"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit.thread7": ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit75.i.i.i", %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit69.i.i.i", %_ZN4llvm9StringRefC2EPKc.exit.i.i65.i.i.i, %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit", %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit.thread" + %.0 = phi i32 [ %34, %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit.thread" ], [ 1, %"_ZSt7find_ifIPKN5clang12_GLOBAL__N_122OffloadArchToStringMapEZNS0_19StringToOffloadArchEN4llvm9StringRefEE3$_0ET_S8_S8_T0_.exit" ], [ 1, %_ZN4llvm9StringRefC2EPKc.exit.i.i65.i.i.i ], [ 1, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit69.i.i.i" ], [ 1, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN5clang19StringToOffloadArchEN4llvm9StringRefEE3$_0EclIPKNS2_12_GLOBAL__N_122OffloadArchToStringMapEEEbT_.exit75.i.i.i" ] ret i32 %.0 } diff --git a/bench/luau/optimized/IrLowering.test.cpp.ll b/bench/luau/optimized/IrLowering.test.cpp.ll index 32bb7b93667..8a7ccfb6ae2 100644 --- a/bench/luau/optimized/IrLowering.test.cpp.ll +++ b/bench/luau/optimized/IrLowering.test.cpp.ll @@ -4544,7 +4544,7 @@ define internal void @_ZL20DOCTEST_ANON_FUNC_40v() #3 personality ptr @__gxx_per 64: ; preds = %_ZN12ScopedFValueIbED2Ev.exit, %59 %65 = phi ptr [ %63, %59 ], [ %66, %_ZN12ScopedFValueIbED2Ev.exit ] %66 = getelementptr inbounds i8, ptr %65, i64 -16 - %67 = load ptr, ptr %66, align 8 + %67 = load ptr, ptr %66, align 16 %.not.i = icmp eq ptr %67, null br i1 %.not.i, label %_ZN12ScopedFValueIbED2Ev.exit, label %68 @@ -4575,7 +4575,7 @@ _ZN12ScopedFValueIbED2Ev.exit: ; preds = %64, %68 77: ; preds = %_ZN12ScopedFValueIbED2Ev.exit9, %75 %78 = phi ptr [ %76, %75 ], [ %79, %_ZN12ScopedFValueIbED2Ev.exit9 ] %79 = getelementptr inbounds i8, ptr %78, i64 -16 - %80 = load ptr, ptr %79, align 8 + %80 = load ptr, ptr %79, align 16 %.not.i8 = icmp eq ptr %80, null br i1 %.not.i8, label %_ZN12ScopedFValueIbED2Ev.exit9, label %81 @@ -5360,7 +5360,7 @@ define internal void @_ZL20DOCTEST_ANON_FUNC_50v() #3 personality ptr @__gxx_per 64: ; preds = %_ZN12ScopedFValueIbED2Ev.exit, %59 %65 = phi ptr [ %63, %59 ], [ %66, %_ZN12ScopedFValueIbED2Ev.exit ] %66 = getelementptr inbounds i8, ptr %65, i64 -16 - %67 = load ptr, ptr %66, align 8 + %67 = load ptr, ptr %66, align 16 %.not.i = icmp eq ptr %67, null br i1 %.not.i, label %_ZN12ScopedFValueIbED2Ev.exit, label %68 @@ -5391,7 +5391,7 @@ _ZN12ScopedFValueIbED2Ev.exit: ; preds = %64, %68 77: ; preds = %_ZN12ScopedFValueIbED2Ev.exit9, %75 %78 = phi ptr [ %76, %75 ], [ %79, %_ZN12ScopedFValueIbED2Ev.exit9 ] %79 = getelementptr inbounds i8, ptr %78, i64 -16 - %80 = load ptr, ptr %79, align 8 + %80 = load ptr, ptr %79, align 16 %.not.i8 = icmp eq ptr %80, null br i1 %.not.i8, label %_ZN12ScopedFValueIbED2Ev.exit9, label %81 @@ -5579,7 +5579,7 @@ define internal void @_ZL20DOCTEST_ANON_FUNC_52v() #3 personality ptr @__gxx_per 64: ; preds = %_ZN12ScopedFValueIbED2Ev.exit, %59 %65 = phi ptr [ %63, %59 ], [ %66, %_ZN12ScopedFValueIbED2Ev.exit ] %66 = getelementptr inbounds i8, ptr %65, i64 -16 - %67 = load ptr, ptr %66, align 8 + %67 = load ptr, ptr %66, align 16 %.not.i = icmp eq ptr %67, null br i1 %.not.i, label %_ZN12ScopedFValueIbED2Ev.exit, label %68 @@ -5610,7 +5610,7 @@ _ZN12ScopedFValueIbED2Ev.exit: ; preds = %64, %68 77: ; preds = %_ZN12ScopedFValueIbED2Ev.exit9, %75 %78 = phi ptr [ %76, %75 ], [ %79, %_ZN12ScopedFValueIbED2Ev.exit9 ] %79 = getelementptr inbounds i8, ptr %78, i64 -16 - %80 = load ptr, ptr %79, align 8 + %80 = load ptr, ptr %79, align 16 %.not.i8 = icmp eq ptr %80, null br i1 %.not.i8, label %_ZN12ScopedFValueIbED2Ev.exit9, label %81 @@ -5957,7 +5957,7 @@ define internal void @_ZL20DOCTEST_ANON_FUNC_56v() #3 personality ptr @__gxx_per 64: ; preds = %_ZN12ScopedFValueIbED2Ev.exit, %59 %65 = phi ptr [ %63, %59 ], [ %66, %_ZN12ScopedFValueIbED2Ev.exit ] %66 = getelementptr inbounds i8, ptr %65, i64 -16 - %67 = load ptr, ptr %66, align 8 + %67 = load ptr, ptr %66, align 16 %.not.i = icmp eq ptr %67, null br i1 %.not.i, label %_ZN12ScopedFValueIbED2Ev.exit, label %68 @@ -5988,7 +5988,7 @@ _ZN12ScopedFValueIbED2Ev.exit: ; preds = %64, %68 77: ; preds = %_ZN12ScopedFValueIbED2Ev.exit9, %75 %78 = phi ptr [ %76, %75 ], [ %79, %_ZN12ScopedFValueIbED2Ev.exit9 ] %79 = getelementptr inbounds i8, ptr %78, i64 -16 - %80 = load ptr, ptr %79, align 8 + %80 = load ptr, ptr %79, align 16 %.not.i8 = icmp eq ptr %80, null br i1 %.not.i8, label %_ZN12ScopedFValueIbED2Ev.exit9, label %81 @@ -6328,7 +6328,7 @@ define internal void @_ZL20DOCTEST_ANON_FUNC_60v() #3 personality ptr @__gxx_per 60: ; preds = %_ZN12ScopedFValueIbED2Ev.exit, %55 %61 = phi ptr [ %59, %55 ], [ %62, %_ZN12ScopedFValueIbED2Ev.exit ] %62 = getelementptr inbounds i8, ptr %61, i64 -16 - %63 = load ptr, ptr %62, align 8 + %63 = load ptr, ptr %62, align 16 %.not.i = icmp eq ptr %63, null br i1 %.not.i, label %_ZN12ScopedFValueIbED2Ev.exit, label %64 @@ -6359,7 +6359,7 @@ _ZN12ScopedFValueIbED2Ev.exit: ; preds = %60, %64 73: ; preds = %_ZN12ScopedFValueIbED2Ev.exit9, %71 %74 = phi ptr [ %72, %71 ], [ %75, %_ZN12ScopedFValueIbED2Ev.exit9 ] %75 = getelementptr inbounds i8, ptr %74, i64 -16 - %76 = load ptr, ptr %75, align 8 + %76 = load ptr, ptr %75, align 16 %.not.i8 = icmp eq ptr %76, null br i1 %.not.i8, label %_ZN12ScopedFValueIbED2Ev.exit9, label %77 @@ -6540,7 +6540,7 @@ define internal void @_ZL20DOCTEST_ANON_FUNC_62v() #3 personality ptr @__gxx_per 60: ; preds = %_ZN12ScopedFValueIbED2Ev.exit, %55 %61 = phi ptr [ %59, %55 ], [ %62, %_ZN12ScopedFValueIbED2Ev.exit ] %62 = getelementptr inbounds i8, ptr %61, i64 -16 - %63 = load ptr, ptr %62, align 8 + %63 = load ptr, ptr %62, align 16 %.not.i = icmp eq ptr %63, null br i1 %.not.i, label %_ZN12ScopedFValueIbED2Ev.exit, label %64 @@ -6571,7 +6571,7 @@ _ZN12ScopedFValueIbED2Ev.exit: ; preds = %60, %64 73: ; preds = %_ZN12ScopedFValueIbED2Ev.exit9, %71 %74 = phi ptr [ %72, %71 ], [ %75, %_ZN12ScopedFValueIbED2Ev.exit9 ] %75 = getelementptr inbounds i8, ptr %74, i64 -16 - %76 = load ptr, ptr %75, align 8 + %76 = load ptr, ptr %75, align 16 %.not.i8 = icmp eq ptr %76, null br i1 %.not.i8, label %_ZN12ScopedFValueIbED2Ev.exit9, label %77 @@ -6759,7 +6759,7 @@ define internal void @_ZL20DOCTEST_ANON_FUNC_64v() #3 personality ptr @__gxx_per 64: ; preds = %_ZN12ScopedFValueIbED2Ev.exit, %59 %65 = phi ptr [ %63, %59 ], [ %66, %_ZN12ScopedFValueIbED2Ev.exit ] %66 = getelementptr inbounds i8, ptr %65, i64 -16 - %67 = load ptr, ptr %66, align 8 + %67 = load ptr, ptr %66, align 16 %.not.i = icmp eq ptr %67, null br i1 %.not.i, label %_ZN12ScopedFValueIbED2Ev.exit, label %68 @@ -6790,7 +6790,7 @@ _ZN12ScopedFValueIbED2Ev.exit: ; preds = %64, %68 77: ; preds = %_ZN12ScopedFValueIbED2Ev.exit9, %75 %78 = phi ptr [ %76, %75 ], [ %79, %_ZN12ScopedFValueIbED2Ev.exit9 ] %79 = getelementptr inbounds i8, ptr %78, i64 -16 - %80 = load ptr, ptr %79, align 8 + %80 = load ptr, ptr %79, align 16 %.not.i8 = icmp eq ptr %80, null br i1 %.not.i8, label %_ZN12ScopedFValueIbED2Ev.exit9, label %81 @@ -6971,7 +6971,7 @@ define internal void @_ZL20DOCTEST_ANON_FUNC_66v() #3 personality ptr @__gxx_per 60: ; preds = %_ZN12ScopedFValueIbED2Ev.exit, %55 %61 = phi ptr [ %59, %55 ], [ %62, %_ZN12ScopedFValueIbED2Ev.exit ] %62 = getelementptr inbounds i8, ptr %61, i64 -16 - %63 = load ptr, ptr %62, align 8 + %63 = load ptr, ptr %62, align 16 %.not.i = icmp eq ptr %63, null br i1 %.not.i, label %_ZN12ScopedFValueIbED2Ev.exit, label %64 @@ -7002,7 +7002,7 @@ _ZN12ScopedFValueIbED2Ev.exit: ; preds = %60, %64 73: ; preds = %_ZN12ScopedFValueIbED2Ev.exit9, %71 %74 = phi ptr [ %72, %71 ], [ %75, %_ZN12ScopedFValueIbED2Ev.exit9 ] %75 = getelementptr inbounds i8, ptr %74, i64 -16 - %76 = load ptr, ptr %75, align 8 + %76 = load ptr, ptr %75, align 16 %.not.i8 = icmp eq ptr %76, null br i1 %.not.i8, label %_ZN12ScopedFValueIbED2Ev.exit9, label %77 @@ -7197,7 +7197,7 @@ define internal void @_ZL20DOCTEST_ANON_FUNC_68v() #3 personality ptr @__gxx_per 68: ; preds = %_ZN12ScopedFValueIbED2Ev.exit, %63 %69 = phi ptr [ %67, %63 ], [ %70, %_ZN12ScopedFValueIbED2Ev.exit ] %70 = getelementptr inbounds i8, ptr %69, i64 -16 - %71 = load ptr, ptr %70, align 8 + %71 = load ptr, ptr %70, align 16 %.not.i = icmp eq ptr %71, null br i1 %.not.i, label %_ZN12ScopedFValueIbED2Ev.exit, label %72 @@ -7228,7 +7228,7 @@ _ZN12ScopedFValueIbED2Ev.exit: ; preds = %68, %72 81: ; preds = %_ZN12ScopedFValueIbED2Ev.exit9, %79 %82 = phi ptr [ %80, %79 ], [ %83, %_ZN12ScopedFValueIbED2Ev.exit9 ] %83 = getelementptr inbounds i8, ptr %82, i64 -16 - %84 = load ptr, ptr %83, align 8 + %84 = load ptr, ptr %83, align 16 %.not.i8 = icmp eq ptr %84, null br i1 %.not.i8, label %_ZN12ScopedFValueIbED2Ev.exit9, label %85 @@ -7409,7 +7409,7 @@ define internal void @_ZL20DOCTEST_ANON_FUNC_70v() #3 personality ptr @__gxx_per 60: ; preds = %_ZN12ScopedFValueIbED2Ev.exit, %55 %61 = phi ptr [ %59, %55 ], [ %62, %_ZN12ScopedFValueIbED2Ev.exit ] %62 = getelementptr inbounds i8, ptr %61, i64 -16 - %63 = load ptr, ptr %62, align 8 + %63 = load ptr, ptr %62, align 16 %.not.i = icmp eq ptr %63, null br i1 %.not.i, label %_ZN12ScopedFValueIbED2Ev.exit, label %64 @@ -7440,7 +7440,7 @@ _ZN12ScopedFValueIbED2Ev.exit: ; preds = %60, %64 73: ; preds = %_ZN12ScopedFValueIbED2Ev.exit9, %71 %74 = phi ptr [ %72, %71 ], [ %75, %_ZN12ScopedFValueIbED2Ev.exit9 ] %75 = getelementptr inbounds i8, ptr %74, i64 -16 - %76 = load ptr, ptr %75, align 8 + %76 = load ptr, ptr %75, align 16 %.not.i8 = icmp eq ptr %76, null br i1 %.not.i8, label %_ZN12ScopedFValueIbED2Ev.exit9, label %77 @@ -7621,7 +7621,7 @@ define internal void @_ZL20DOCTEST_ANON_FUNC_72v() #3 personality ptr @__gxx_per 60: ; preds = %_ZN12ScopedFValueIbED2Ev.exit, %55 %61 = phi ptr [ %59, %55 ], [ %62, %_ZN12ScopedFValueIbED2Ev.exit ] %62 = getelementptr inbounds i8, ptr %61, i64 -16 - %63 = load ptr, ptr %62, align 8 + %63 = load ptr, ptr %62, align 16 %.not.i = icmp eq ptr %63, null br i1 %.not.i, label %_ZN12ScopedFValueIbED2Ev.exit, label %64 @@ -7652,7 +7652,7 @@ _ZN12ScopedFValueIbED2Ev.exit: ; preds = %60, %64 73: ; preds = %_ZN12ScopedFValueIbED2Ev.exit9, %71 %74 = phi ptr [ %72, %71 ], [ %75, %_ZN12ScopedFValueIbED2Ev.exit9 ] %75 = getelementptr inbounds i8, ptr %74, i64 -16 - %76 = load ptr, ptr %75, align 8 + %76 = load ptr, ptr %75, align 16 %.not.i8 = icmp eq ptr %76, null br i1 %.not.i8, label %_ZN12ScopedFValueIbED2Ev.exit9, label %77 @@ -7833,7 +7833,7 @@ define internal void @_ZL20DOCTEST_ANON_FUNC_74v() #3 personality ptr @__gxx_per 60: ; preds = %_ZN12ScopedFValueIbED2Ev.exit, %55 %61 = phi ptr [ %59, %55 ], [ %62, %_ZN12ScopedFValueIbED2Ev.exit ] %62 = getelementptr inbounds i8, ptr %61, i64 -16 - %63 = load ptr, ptr %62, align 8 + %63 = load ptr, ptr %62, align 16 %.not.i = icmp eq ptr %63, null br i1 %.not.i, label %_ZN12ScopedFValueIbED2Ev.exit, label %64 @@ -7864,7 +7864,7 @@ _ZN12ScopedFValueIbED2Ev.exit: ; preds = %60, %64 73: ; preds = %_ZN12ScopedFValueIbED2Ev.exit9, %71 %74 = phi ptr [ %72, %71 ], [ %75, %_ZN12ScopedFValueIbED2Ev.exit9 ] %75 = getelementptr inbounds i8, ptr %74, i64 -16 - %76 = load ptr, ptr %75, align 8 + %76 = load ptr, ptr %75, align 16 %.not.i8 = icmp eq ptr %76, null br i1 %.not.i8, label %_ZN12ScopedFValueIbED2Ev.exit9, label %77 @@ -8045,7 +8045,7 @@ define internal void @_ZL20DOCTEST_ANON_FUNC_76v() #3 personality ptr @__gxx_per 60: ; preds = %_ZN12ScopedFValueIbED2Ev.exit, %55 %61 = phi ptr [ %59, %55 ], [ %62, %_ZN12ScopedFValueIbED2Ev.exit ] %62 = getelementptr inbounds i8, ptr %61, i64 -16 - %63 = load ptr, ptr %62, align 8 + %63 = load ptr, ptr %62, align 16 %.not.i = icmp eq ptr %63, null br i1 %.not.i, label %_ZN12ScopedFValueIbED2Ev.exit, label %64 @@ -8076,7 +8076,7 @@ _ZN12ScopedFValueIbED2Ev.exit: ; preds = %60, %64 73: ; preds = %_ZN12ScopedFValueIbED2Ev.exit9, %71 %74 = phi ptr [ %72, %71 ], [ %75, %_ZN12ScopedFValueIbED2Ev.exit9 ] %75 = getelementptr inbounds i8, ptr %74, i64 -16 - %76 = load ptr, ptr %75, align 8 + %76 = load ptr, ptr %75, align 16 %.not.i8 = icmp eq ptr %76, null br i1 %.not.i8, label %_ZN12ScopedFValueIbED2Ev.exit9, label %77 @@ -8275,7 +8275,7 @@ define internal void @_ZL20DOCTEST_ANON_FUNC_78v() #3 personality ptr @__gxx_per 70: ; preds = %_ZN12ScopedFValueIbED2Ev.exit, %65 %71 = phi ptr [ %69, %65 ], [ %72, %_ZN12ScopedFValueIbED2Ev.exit ] %72 = getelementptr inbounds i8, ptr %71, i64 -16 - %73 = load ptr, ptr %72, align 8 + %73 = load ptr, ptr %72, align 16 %.not.i = icmp eq ptr %73, null br i1 %.not.i, label %_ZN12ScopedFValueIbED2Ev.exit, label %74 @@ -8306,7 +8306,7 @@ _ZN12ScopedFValueIbED2Ev.exit: ; preds = %70, %74 82: ; preds = %_ZN12ScopedFValueIbED2Ev.exit9, %80 %83 = phi ptr [ %81, %80 ], [ %84, %_ZN12ScopedFValueIbED2Ev.exit9 ] %84 = getelementptr inbounds i8, ptr %83, i64 -16 - %85 = load ptr, ptr %84, align 8 + %85 = load ptr, ptr %84, align 16 %.not.i8 = icmp eq ptr %85, null br i1 %.not.i8, label %_ZN12ScopedFValueIbED2Ev.exit9, label %86 @@ -8505,7 +8505,7 @@ define internal void @_ZL20DOCTEST_ANON_FUNC_80v() #3 personality ptr @__gxx_per 70: ; preds = %_ZN12ScopedFValueIbED2Ev.exit, %65 %71 = phi ptr [ %69, %65 ], [ %72, %_ZN12ScopedFValueIbED2Ev.exit ] %72 = getelementptr inbounds i8, ptr %71, i64 -16 - %73 = load ptr, ptr %72, align 8 + %73 = load ptr, ptr %72, align 16 %.not.i = icmp eq ptr %73, null br i1 %.not.i, label %_ZN12ScopedFValueIbED2Ev.exit, label %74 @@ -8536,7 +8536,7 @@ _ZN12ScopedFValueIbED2Ev.exit: ; preds = %70, %74 82: ; preds = %_ZN12ScopedFValueIbED2Ev.exit9, %80 %83 = phi ptr [ %81, %80 ], [ %84, %_ZN12ScopedFValueIbED2Ev.exit9 ] %84 = getelementptr inbounds i8, ptr %83, i64 -16 - %85 = load ptr, ptr %84, align 8 + %85 = load ptr, ptr %84, align 16 %.not.i8 = icmp eq ptr %85, null br i1 %.not.i8, label %_ZN12ScopedFValueIbED2Ev.exit9, label %86 @@ -8742,7 +8742,7 @@ define internal void @_ZL20DOCTEST_ANON_FUNC_82v() #3 personality ptr @__gxx_per 74: ; preds = %_ZN12ScopedFValueIbED2Ev.exit, %69 %75 = phi ptr [ %73, %69 ], [ %76, %_ZN12ScopedFValueIbED2Ev.exit ] %76 = getelementptr inbounds i8, ptr %75, i64 -16 - %77 = load ptr, ptr %76, align 8 + %77 = load ptr, ptr %76, align 16 %.not.i = icmp eq ptr %77, null br i1 %.not.i, label %_ZN12ScopedFValueIbED2Ev.exit, label %78 @@ -8773,7 +8773,7 @@ _ZN12ScopedFValueIbED2Ev.exit: ; preds = %74, %78 86: ; preds = %_ZN12ScopedFValueIbED2Ev.exit9, %84 %87 = phi ptr [ %85, %84 ], [ %88, %_ZN12ScopedFValueIbED2Ev.exit9 ] %88 = getelementptr inbounds i8, ptr %87, i64 -16 - %89 = load ptr, ptr %88, align 8 + %89 = load ptr, ptr %88, align 16 %.not.i8 = icmp eq ptr %89, null br i1 %.not.i8, label %_ZN12ScopedFValueIbED2Ev.exit9, label %90 @@ -8979,7 +8979,7 @@ define internal void @_ZL20DOCTEST_ANON_FUNC_84v() #3 personality ptr @__gxx_per 74: ; preds = %_ZN12ScopedFValueIbED2Ev.exit, %69 %75 = phi ptr [ %73, %69 ], [ %76, %_ZN12ScopedFValueIbED2Ev.exit ] %76 = getelementptr inbounds i8, ptr %75, i64 -16 - %77 = load ptr, ptr %76, align 8 + %77 = load ptr, ptr %76, align 16 %.not.i = icmp eq ptr %77, null br i1 %.not.i, label %_ZN12ScopedFValueIbED2Ev.exit, label %78 @@ -9010,7 +9010,7 @@ _ZN12ScopedFValueIbED2Ev.exit: ; preds = %74, %78 86: ; preds = %_ZN12ScopedFValueIbED2Ev.exit9, %84 %87 = phi ptr [ %85, %84 ], [ %88, %_ZN12ScopedFValueIbED2Ev.exit9 ] %88 = getelementptr inbounds i8, ptr %87, i64 -16 - %89 = load ptr, ptr %88, align 8 + %89 = load ptr, ptr %88, align 16 %.not.i8 = icmp eq ptr %89, null br i1 %.not.i8, label %_ZN12ScopedFValueIbED2Ev.exit9, label %90 @@ -9223,7 +9223,7 @@ define internal void @_ZL20DOCTEST_ANON_FUNC_86v() #3 personality ptr @__gxx_per 78: ; preds = %_ZN12ScopedFValueIbED2Ev.exit, %73 %79 = phi ptr [ %77, %73 ], [ %80, %_ZN12ScopedFValueIbED2Ev.exit ] %80 = getelementptr inbounds i8, ptr %79, i64 -16 - %81 = load ptr, ptr %80, align 8 + %81 = load ptr, ptr %80, align 16 %.not.i = icmp eq ptr %81, null br i1 %.not.i, label %_ZN12ScopedFValueIbED2Ev.exit, label %82 @@ -9254,7 +9254,7 @@ _ZN12ScopedFValueIbED2Ev.exit: ; preds = %78, %82 90: ; preds = %_ZN12ScopedFValueIbED2Ev.exit9, %88 %91 = phi ptr [ %89, %88 ], [ %92, %_ZN12ScopedFValueIbED2Ev.exit9 ] %92 = getelementptr inbounds i8, ptr %91, i64 -16 - %93 = load ptr, ptr %92, align 8 + %93 = load ptr, ptr %92, align 16 %.not.i8 = icmp eq ptr %93, null br i1 %.not.i8, label %_ZN12ScopedFValueIbED2Ev.exit9, label %94 @@ -9474,7 +9474,7 @@ define internal void @_ZL20DOCTEST_ANON_FUNC_88v() #3 personality ptr @__gxx_per 82: ; preds = %_ZN12ScopedFValueIbED2Ev.exit, %77 %83 = phi ptr [ %81, %77 ], [ %84, %_ZN12ScopedFValueIbED2Ev.exit ] %84 = getelementptr inbounds i8, ptr %83, i64 -16 - %85 = load ptr, ptr %84, align 8 + %85 = load ptr, ptr %84, align 16 %.not.i = icmp eq ptr %85, null br i1 %.not.i, label %_ZN12ScopedFValueIbED2Ev.exit, label %86 @@ -9505,7 +9505,7 @@ _ZN12ScopedFValueIbED2Ev.exit: ; preds = %82, %86 94: ; preds = %_ZN12ScopedFValueIbED2Ev.exit9, %92 %95 = phi ptr [ %93, %92 ], [ %96, %_ZN12ScopedFValueIbED2Ev.exit9 ] %96 = getelementptr inbounds i8, ptr %95, i64 -16 - %97 = load ptr, ptr %96, align 8 + %97 = load ptr, ptr %96, align 16 %.not.i8 = icmp eq ptr %97, null br i1 %.not.i8, label %_ZN12ScopedFValueIbED2Ev.exit9, label %98 @@ -9711,7 +9711,7 @@ define internal void @_ZL20DOCTEST_ANON_FUNC_90v() #3 personality ptr @__gxx_per 74: ; preds = %_ZN12ScopedFValueIbED2Ev.exit, %69 %75 = phi ptr [ %73, %69 ], [ %76, %_ZN12ScopedFValueIbED2Ev.exit ] %76 = getelementptr inbounds i8, ptr %75, i64 -16 - %77 = load ptr, ptr %76, align 8 + %77 = load ptr, ptr %76, align 16 %.not.i = icmp eq ptr %77, null br i1 %.not.i, label %_ZN12ScopedFValueIbED2Ev.exit, label %78 @@ -9742,7 +9742,7 @@ _ZN12ScopedFValueIbED2Ev.exit: ; preds = %74, %78 86: ; preds = %_ZN12ScopedFValueIbED2Ev.exit9, %84 %87 = phi ptr [ %85, %84 ], [ %88, %_ZN12ScopedFValueIbED2Ev.exit9 ] %88 = getelementptr inbounds i8, ptr %87, i64 -16 - %89 = load ptr, ptr %88, align 8 + %89 = load ptr, ptr %88, align 16 %.not.i8 = icmp eq ptr %89, null br i1 %.not.i8, label %_ZN12ScopedFValueIbED2Ev.exit9, label %90 @@ -9948,7 +9948,7 @@ define internal void @_ZL20DOCTEST_ANON_FUNC_92v() #3 personality ptr @__gxx_per 74: ; preds = %_ZN12ScopedFValueIbED2Ev.exit, %69 %75 = phi ptr [ %73, %69 ], [ %76, %_ZN12ScopedFValueIbED2Ev.exit ] %76 = getelementptr inbounds i8, ptr %75, i64 -16 - %77 = load ptr, ptr %76, align 8 + %77 = load ptr, ptr %76, align 16 %.not.i = icmp eq ptr %77, null br i1 %.not.i, label %_ZN12ScopedFValueIbED2Ev.exit, label %78 @@ -9979,7 +9979,7 @@ _ZN12ScopedFValueIbED2Ev.exit: ; preds = %74, %78 86: ; preds = %_ZN12ScopedFValueIbED2Ev.exit9, %84 %87 = phi ptr [ %85, %84 ], [ %88, %_ZN12ScopedFValueIbED2Ev.exit9 ] %88 = getelementptr inbounds i8, ptr %87, i64 -16 - %89 = load ptr, ptr %88, align 8 + %89 = load ptr, ptr %88, align 16 %.not.i8 = icmp eq ptr %89, null br i1 %.not.i8, label %_ZN12ScopedFValueIbED2Ev.exit9, label %90 @@ -10185,7 +10185,7 @@ define internal void @_ZL20DOCTEST_ANON_FUNC_94v() #3 personality ptr @__gxx_per 74: ; preds = %_ZN12ScopedFValueIbED2Ev.exit, %69 %75 = phi ptr [ %73, %69 ], [ %76, %_ZN12ScopedFValueIbED2Ev.exit ] %76 = getelementptr inbounds i8, ptr %75, i64 -16 - %77 = load ptr, ptr %76, align 8 + %77 = load ptr, ptr %76, align 16 %.not.i = icmp eq ptr %77, null br i1 %.not.i, label %_ZN12ScopedFValueIbED2Ev.exit, label %78 @@ -10216,7 +10216,7 @@ _ZN12ScopedFValueIbED2Ev.exit: ; preds = %74, %78 86: ; preds = %_ZN12ScopedFValueIbED2Ev.exit9, %84 %87 = phi ptr [ %85, %84 ], [ %88, %_ZN12ScopedFValueIbED2Ev.exit9 ] %88 = getelementptr inbounds i8, ptr %87, i64 -16 - %89 = load ptr, ptr %88, align 8 + %89 = load ptr, ptr %88, align 16 %.not.i8 = icmp eq ptr %89, null br i1 %.not.i8, label %_ZN12ScopedFValueIbED2Ev.exit9, label %90 @@ -10429,7 +10429,7 @@ define internal void @_ZL20DOCTEST_ANON_FUNC_96v() #3 personality ptr @__gxx_per 78: ; preds = %_ZN12ScopedFValueIbED2Ev.exit, %73 %79 = phi ptr [ %77, %73 ], [ %80, %_ZN12ScopedFValueIbED2Ev.exit ] %80 = getelementptr inbounds i8, ptr %79, i64 -16 - %81 = load ptr, ptr %80, align 8 + %81 = load ptr, ptr %80, align 16 %.not.i = icmp eq ptr %81, null br i1 %.not.i, label %_ZN12ScopedFValueIbED2Ev.exit, label %82 @@ -10460,7 +10460,7 @@ _ZN12ScopedFValueIbED2Ev.exit: ; preds = %78, %82 90: ; preds = %_ZN12ScopedFValueIbED2Ev.exit9, %88 %91 = phi ptr [ %89, %88 ], [ %92, %_ZN12ScopedFValueIbED2Ev.exit9 ] %92 = getelementptr inbounds i8, ptr %91, i64 -16 - %93 = load ptr, ptr %92, align 8 + %93 = load ptr, ptr %92, align 16 %.not.i8 = icmp eq ptr %93, null br i1 %.not.i8, label %_ZN12ScopedFValueIbED2Ev.exit9, label %94 diff --git a/bench/miniaudio/optimized/unity.c.ll b/bench/miniaudio/optimized/unity.c.ll index 944d1f20e29..4ae11cfad20 100644 --- a/bench/miniaudio/optimized/unity.c.ll +++ b/bench/miniaudio/optimized/unity.c.ll @@ -104275,7 +104275,7 @@ while.end.i473.i: ; preds = %while.body.i481.pre ma_dr_mp3_bs_get_bits.exit492.i: ; preds = %while.end.i473.i, %ma_dr_mp3_bs_get_bits.exit458.i %retval.0.i480.i = phi i8 [ %141, %while.end.i473.i ], [ 0, %ma_dr_mp3_bs_get_bits.exit458.i ] %arrayidx109.i = getelementptr inbounds nuw i8, ptr %gr.addr.0.i, i64 26 - store i8 %retval.0.i480.i, ptr %arrayidx109.i, align 1 + store i8 %retval.0.i480.i, ptr %arrayidx109.i, align 2 %add3.i494.i = add nsw i32 %add3.i256.i, 23 %cmp.i496.i = icmp sgt i32 %add3.i494.i, %mul.i136 br i1 %cmp.i496.i, label %ma_dr_mp3_bs_get_bits.exit526.i, label %if.end.i497.i @@ -104439,7 +104439,7 @@ ma_dr_mp3_bs_get_bits.exit628.i: ; preds = %while.end.i609.i, % %arrayidx125.i = getelementptr inbounds nuw i8, ptr %gr.addr.0.i, i64 23 store i8 %retval.0.i616.i, ptr %arrayidx125.i, align 1 %arrayidx127.i = getelementptr inbounds nuw i8, ptr %gr.addr.0.i, i64 24 - store i8 -1, ptr %arrayidx127.i, align 2 + store i8 -1, ptr %arrayidx127.i, align 8 br label %if.end128.i if.end128.i: ; preds = %ma_dr_mp3_bs_get_bits.exit628.i, %ma_dr_mp3_bs_get_bits.exit526.i @@ -104454,7 +104454,7 @@ if.end128.i: ; preds = %ma_dr_mp3_bs_get_bi %153 = trunc i32 %shr132.i to i8 %conv134.i = and i8 %153, 31 %arrayidx136.i = getelementptr inbounds nuw i8, ptr %gr.addr.0.i, i64 20 - store i8 %conv134.i, ptr %arrayidx136.i, align 1 + store i8 %conv134.i, ptr %arrayidx136.i, align 4 %154 = trunc i32 %tables.0.i to i8 %conv138.i = and i8 %154, 31 %arrayidx140.i = getelementptr inbounds nuw i8, ptr %gr.addr.0.i, i64 21 @@ -107605,7 +107605,7 @@ for.body.i27: ; preds = %for.body.i27, %for. %arrayidx101.i = getelementptr i8, ptr %arrayidx39.i, i64 -244 store float %71, ptr %arrayidx101.i, align 4 %incdec.ptr.i31 = getelementptr inbounds nuw i8, ptr %w.0234.i, i64 4 - %72 = load float, ptr %w.0234.i, align 4 + %72 = load float, ptr %w.0234.i, align 16 %vecinit.i443.i = insertelement <4 x float> poison, float %72, i64 0 %vecinit3.i446.i = shufflevector <4 x float> %vecinit.i443.i, <4 x float> poison, <4 x i32> zeroinitializer %incdec.ptr103.i = getelementptr inbounds nuw i8, ptr %w.0234.i, i64 8 @@ -107622,7 +107622,7 @@ for.body.i27: ; preds = %for.body.i27, %for. %mul.i530.i = fmul <4 x float> %75, %vecinit3.i440.i %sub.i654.i = fsub <4 x float> %mul.i533.i, %mul.i530.i %incdec.ptr122.i = getelementptr inbounds nuw i8, ptr %w.0234.i, i64 12 - %76 = load float, ptr %incdec.ptr103.i, align 4 + %76 = load float, ptr %incdec.ptr103.i, align 8 %vecinit.i431.i = insertelement <4 x float> poison, float %76, i64 0 %vecinit3.i434.i = shufflevector <4 x float> %vecinit.i431.i, <4 x float> poison, <4 x i32> zeroinitializer %incdec.ptr125.i = getelementptr inbounds nuw i8, ptr %w.0234.i, i64 16 @@ -107642,7 +107642,7 @@ for.body.i27: ; preds = %for.body.i27, %for. %sub.i651.i = fsub <4 x float> %mul.i521.i, %mul.i518.i %add.i622.i = fadd <4 x float> %sub.i654.i, %sub.i651.i %incdec.ptr148.i = getelementptr inbounds nuw i8, ptr %w.0234.i, i64 20 - %80 = load float, ptr %incdec.ptr125.i, align 4 + %80 = load float, ptr %incdec.ptr125.i, align 16 %vecinit.i419.i = insertelement <4 x float> poison, float %80, i64 0 %vecinit3.i422.i = shufflevector <4 x float> %vecinit.i419.i, <4 x float> poison, <4 x i32> zeroinitializer %incdec.ptr151.i = getelementptr inbounds nuw i8, ptr %w.0234.i, i64 24 @@ -107662,7 +107662,7 @@ for.body.i27: ; preds = %for.body.i27, %for. %sub.i648.i = fsub <4 x float> %mul.i509.i, %mul.i506.i %add.i613.i = fadd <4 x float> %add.i622.i, %sub.i648.i %incdec.ptr174.i = getelementptr inbounds nuw i8, ptr %w.0234.i, i64 28 - %84 = load float, ptr %incdec.ptr151.i, align 4 + %84 = load float, ptr %incdec.ptr151.i, align 8 %vecinit.i407.i = insertelement <4 x float> poison, float %84, i64 0 %vecinit3.i410.i = shufflevector <4 x float> %vecinit.i407.i, <4 x float> poison, <4 x i32> zeroinitializer %incdec.ptr177.i = getelementptr inbounds nuw i8, ptr %w.0234.i, i64 32 @@ -107682,7 +107682,7 @@ for.body.i27: ; preds = %for.body.i27, %for. %sub.i645.i = fsub <4 x float> %mul.i497.i, %mul.i494.i %add.i604.i = fadd <4 x float> %add.i613.i, %sub.i645.i %incdec.ptr200.i = getelementptr inbounds nuw i8, ptr %w.0234.i, i64 36 - %88 = load float, ptr %incdec.ptr177.i, align 4 + %88 = load float, ptr %incdec.ptr177.i, align 16 %vecinit.i395.i = insertelement <4 x float> poison, float %88, i64 0 %vecinit3.i398.i = shufflevector <4 x float> %vecinit.i395.i, <4 x float> poison, <4 x i32> zeroinitializer %incdec.ptr203.i = getelementptr inbounds nuw i8, ptr %w.0234.i, i64 40 @@ -107702,7 +107702,7 @@ for.body.i27: ; preds = %for.body.i27, %for. %sub.i642.i = fsub <4 x float> %mul.i485.i, %mul.i482.i %add.i595.i = fadd <4 x float> %add.i604.i, %sub.i642.i %incdec.ptr226.i = getelementptr inbounds nuw i8, ptr %w.0234.i, i64 44 - %92 = load float, ptr %incdec.ptr203.i, align 4 + %92 = load float, ptr %incdec.ptr203.i, align 8 %vecinit.i383.i = insertelement <4 x float> poison, float %92, i64 0 %vecinit3.i386.i = shufflevector <4 x float> %vecinit.i383.i, <4 x float> poison, <4 x i32> zeroinitializer %incdec.ptr229.i = getelementptr inbounds nuw i8, ptr %w.0234.i, i64 48 @@ -107722,7 +107722,7 @@ for.body.i27: ; preds = %for.body.i27, %for. %sub.i639.i = fsub <4 x float> %mul.i473.i, %mul.i470.i %add.i586.i = fadd <4 x float> %add.i595.i, %sub.i639.i %incdec.ptr252.i = getelementptr inbounds nuw i8, ptr %w.0234.i, i64 52 - %96 = load float, ptr %incdec.ptr229.i, align 4 + %96 = load float, ptr %incdec.ptr229.i, align 16 %vecinit.i371.i = insertelement <4 x float> poison, float %96, i64 0 %vecinit3.i374.i = shufflevector <4 x float> %vecinit.i371.i, <4 x float> poison, <4 x i32> zeroinitializer %incdec.ptr255.i = getelementptr inbounds nuw i8, ptr %w.0234.i, i64 56 @@ -107742,7 +107742,7 @@ for.body.i27: ; preds = %for.body.i27, %for. %sub.i636.i = fsub <4 x float> %mul.i461.i, %mul.i458.i %add.i577.i = fadd <4 x float> %add.i586.i, %sub.i636.i %incdec.ptr278.i = getelementptr inbounds nuw i8, ptr %w.0234.i, i64 60 - %100 = load float, ptr %incdec.ptr255.i, align 4 + %100 = load float, ptr %incdec.ptr255.i, align 8 %vecinit.i359.i = insertelement <4 x float> poison, float %100, i64 0 %vecinit3.i362.i = shufflevector <4 x float> %vecinit.i359.i, <4 x float> poison, <4 x i32> zeroinitializer %incdec.ptr281.i = getelementptr inbounds nuw i8, ptr %w.0234.i, i64 64 diff --git a/bench/node/optimized/libnode.node_process_object.ll b/bench/node/optimized/libnode.node_process_object.ll index be09b92aa1c..6c1fe761661 100644 --- a/bench/node/optimized/libnode.node_process_object.ll +++ b/bench/node/optimized/libnode.node_process_object.ll @@ -602,10 +602,10 @@ for.body.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i. %__last.addr.05.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i, %for.body.i.i.i.i.i.i ], [ %__i.019.i.ptr, %for.body.i.i.i.i.i.preheader.i ] %incdec.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__last.addr.05.i.i.i.i.i.i, i64 -32 %incdec.ptr1.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__result.addr.06.i.i.i.i.i.i, i64 -32 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %incdec.ptr1.i.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(32) %incdec.ptr.i.i.i.i.i.i, i64 16, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %incdec.ptr1.i.i.i.i.i.i, ptr noundef nonnull align 16 dereferenceable(32) %incdec.ptr.i.i.i.i.i.i, i64 16, i1 false) %second.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__last.addr.05.i.i.i.i.i.i, i64 -16 %second3.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__result.addr.06.i.i.i.i.i.i, i64 -16 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %second3.i.i.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(16) %second.i.i.i.i.i.i.i, i64 16, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %second3.i.i.i.i.i.i.i, ptr noundef nonnull align 16 dereferenceable(16) %second.i.i.i.i.i.i.i, i64 16, i1 false) %dec.i.i.i.i.i.i = add nsw i64 %__n.07.i.i.i.i.i.i, -1 %cmp.i.i.i.i.i.i = icmp samesign ugt i64 %__n.07.i.i.i.i.i.i, 1 br i1 %cmp.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i, label %_ZSt13move_backwardIPSt4pairISt17basic_string_viewIcSt11char_traitsIcEES4_ES6_ET0_T_S8_S7_.exit.i, !llvm.loop !5 @@ -624,7 +624,7 @@ if.else.i: ; preds = %"_ZN9__gnu_cxx5__op while.cond.i.i: ; preds = %while.body.i.i, %if.else.i %__last.addr.0.i.i = phi ptr [ %__i.019.i.ptr, %if.else.i ], [ %__next.0.i.i, %while.body.i.i ] %__next.0.i.i = getelementptr inbounds i8, ptr %__last.addr.0.i.i, i64 -32 - %__next.0.val.i.i = load i64, ptr %__next.0.i.i, align 8 + %__next.0.val.i.i = load i64, ptr %__next.0.i.i, align 16 %.sroa.speculated.i.i.i.i.i.i = call i64 @llvm.umin.i64(i64 %__next.0.val.i.i, i64 %__i.0.val.i) %cmp.i2.i.i.i.i.i.i = icmp eq i64 %.sroa.speculated.i.i.i.i.i.i, 0 br i1 %cmp.i2.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i, label %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i.i.i.i.i @@ -649,10 +649,10 @@ if.then.i.i.i.i.i.i: ; preds = %_ZNSt11char_traitsI br i1 %cmp.i.i.i.i15.i, label %while.body.i.i, label %"_ZSt25__unguarded_linear_insertIPSt4pairISt17basic_string_viewIcSt11char_traitsIcEES4_EN9__gnu_cxx5__ops14_Val_comp_iterIZN4node19CreateProcessObjectEPNSA_5RealmEE3$_0EEEvT_T0_.exit.i" while.body.i.i: ; preds = %"_ZN9__gnu_cxx5__ops14_Val_comp_iterIZN4node19CreateProcessObjectEPNS2_5RealmEE3$_0EclISt4pairISt17basic_string_viewIcSt11char_traitsIcEESC_EPSD_EEbRT_T0_.exit.i.i" - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %__last.addr.0.i.i, ptr noundef nonnull align 8 dereferenceable(32) %__next.0.i.i, i64 16, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %__last.addr.0.i.i, ptr noundef nonnull align 16 dereferenceable(32) %__next.0.i.i, i64 16, i1 false) %second.i.i.i = getelementptr inbounds i8, ptr %__last.addr.0.i.i, i64 -16 %second3.i.i.i = getelementptr inbounds nuw i8, ptr %__last.addr.0.i.i, i64 16 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %second3.i.i.i, ptr noundef nonnull align 8 dereferenceable(16) %second.i.i.i, i64 16, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %second3.i.i.i, ptr noundef nonnull align 16 dereferenceable(16) %second.i.i.i, i64 16, i1 false) br label %while.cond.i.i, !llvm.loop !7 "_ZSt25__unguarded_linear_insertIPSt4pairISt17basic_string_viewIcSt11char_traitsIcEES4_EN9__gnu_cxx5__ops14_Val_comp_iterIZN4node19CreateProcessObjectEPNSA_5RealmEE3$_0EEEvT_T0_.exit.i": ; preds = %"_ZN9__gnu_cxx5__ops14_Val_comp_iterIZN4node19CreateProcessObjectEPNS2_5RealmEE3$_0EclISt4pairISt17basic_string_viewIcSt11char_traitsIcEESC_EPSD_EEbRT_T0_.exit.i.i" @@ -660,7 +660,7 @@ while.body.i.i: ; preds = %"_ZN9__gnu_cxx5__op %__val.sroa.3.0.__last.addr.0.sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %__last.addr.0.i.i, i64 8 store ptr %__i.0.val12.i, ptr %__val.sroa.3.0.__last.addr.0.sroa_idx.i.i, align 8 %second3.i11.i.i = getelementptr inbounds nuw i8, ptr %__last.addr.0.i.i, i64 16 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %second3.i11.i.i, ptr noundef nonnull align 8 dereferenceable(16) %__val.sroa.4.i.i, i64 16, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %second3.i11.i.i, ptr noundef nonnull align 8 dereferenceable(16) %__val.sroa.4.i.i, i64 16, i1 false) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %__val.sroa.4.i.i) br label %for.inc.i @@ -687,7 +687,7 @@ for.body.i.i.i.i: ; preds = %"_ZSt16__insertion_ while.cond.i.i.i.i.i: ; preds = %while.body.i.i.i.i.i, %for.body.i.i.i.i %__last.addr.0.i.i.i.i.i = phi ptr [ %__i.04.i.i.i.i.ptr, %for.body.i.i.i.i ], [ %__next.0.i.i.i.i.i, %while.body.i.i.i.i.i ] %__next.0.i.i.i.i.i = getelementptr inbounds i8, ptr %__last.addr.0.i.i.i.i.i, i64 -32 - %__next.0.val.i.i.i.i.i = load i64, ptr %__next.0.i.i.i.i.i, align 8 + %__next.0.val.i.i.i.i.i = load i64, ptr %__next.0.i.i.i.i.i, align 16 %.sroa.speculated.i.i.i.i.i.i.i.i.i = call i64 @llvm.umin.i64(i64 %__next.0.val.i.i.i.i.i, i64 %__val.sroa.0.0.copyload.i.i.i.i.i) %cmp.i2.i.i.i.i.i.i.i.i.i = icmp eq i64 %.sroa.speculated.i.i.i.i.i.i.i.i.i, 0 br i1 %cmp.i2.i.i.i.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i, label %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i.i.i.i.i.i.i.i @@ -712,10 +712,10 @@ if.then.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt11char_traitsI br i1 %cmp.i.i.i.i.i.i.i.i, label %while.body.i.i.i.i.i, label %"_ZSt25__unguarded_linear_insertIPSt4pairISt17basic_string_viewIcSt11char_traitsIcEES4_EN9__gnu_cxx5__ops14_Val_comp_iterIZN4node19CreateProcessObjectEPNSA_5RealmEE3$_0EEEvT_T0_.exit.i.i.i.i" while.body.i.i.i.i.i: ; preds = %"_ZN9__gnu_cxx5__ops14_Val_comp_iterIZN4node19CreateProcessObjectEPNS2_5RealmEE3$_0EclISt4pairISt17basic_string_viewIcSt11char_traitsIcEESC_EPSD_EEbRT_T0_.exit.i.i.i.i.i" - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %__last.addr.0.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(32) %__next.0.i.i.i.i.i, i64 16, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %__last.addr.0.i.i.i.i.i, ptr noundef nonnull align 16 dereferenceable(32) %__next.0.i.i.i.i.i, i64 16, i1 false) %second.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__last.addr.0.i.i.i.i.i, i64 -16 %second3.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %__last.addr.0.i.i.i.i.i, i64 16 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %second3.i.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(16) %second.i.i.i.i.i.i, i64 16, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %second3.i.i.i.i.i.i, ptr noundef nonnull align 16 dereferenceable(16) %second.i.i.i.i.i.i, i64 16, i1 false) br label %while.cond.i.i.i.i.i, !llvm.loop !7 "_ZSt25__unguarded_linear_insertIPSt4pairISt17basic_string_viewIcSt11char_traitsIcEES4_EN9__gnu_cxx5__ops14_Val_comp_iterIZN4node19CreateProcessObjectEPNSA_5RealmEE3$_0EEEvT_T0_.exit.i.i.i.i": ; preds = %"_ZN9__gnu_cxx5__ops14_Val_comp_iterIZN4node19CreateProcessObjectEPNS2_5RealmEE3$_0EclISt4pairISt17basic_string_viewIcSt11char_traitsIcEESC_EPSD_EEbRT_T0_.exit.i.i.i.i.i" @@ -723,7 +723,7 @@ while.body.i.i.i.i.i: ; preds = %"_ZN9__gnu_cxx5__op %__val.sroa.3.0.__last.addr.0.sroa_idx.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %__last.addr.0.i.i.i.i.i, i64 8 store ptr %__val.sroa.3.0.copyload.i.i.i.i.i, ptr %__val.sroa.3.0.__last.addr.0.sroa_idx.i.i.i.i.i, align 8 %second3.i11.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %__last.addr.0.i.i.i.i.i, i64 16 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %second3.i11.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(16) %__val.sroa.4.i.i.i.i.i, i64 16, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %second3.i11.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(16) %__val.sroa.4.i.i.i.i.i, i64 16, i1 false) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %__val.sroa.4.i.i.i.i.i) %__i.04.i.i.i.i.add = add nuw nsw i64 %__i.04.i.i.i.i.idx, 32 %cmp.not.i.i.i.i = icmp eq i64 %__i.04.i.i.i.i.add, 800 diff --git a/bench/openssl/optimized/drbgtest-bin-drbgtest.ll b/bench/openssl/optimized/drbgtest-bin-drbgtest.ll index 498ac9f4633..8e087b3c431 100644 --- a/bench/openssl/optimized/drbgtest-bin-drbgtest.ll +++ b/bench/openssl/optimized/drbgtest-bin-drbgtest.ll @@ -112,10 +112,10 @@ target triple = "x86_64-unknown-linux-gnu" ; Function Attrs: nounwind uwtable define dso_local noundef i32 @setup_tests() local_unnamed_addr #0 { entry: - tail call void @add_test(ptr noundef nonnull @.str, ptr noundef nonnull @test_rand_reseed) #14 - tail call void @add_all_tests(ptr noundef nonnull @.str.1, ptr noundef nonnull @test_rand_fork_safety, i32 noundef 16, i32 noundef 1) #14 - tail call void @add_test(ptr noundef nonnull @.str.2, ptr noundef nonnull @test_rand_prediction_resistance) #14 - tail call void @add_test(ptr noundef nonnull @.str.3, ptr noundef nonnull @test_multi_thread) #14 + tail call void @add_test(ptr noundef nonnull @.str, ptr noundef nonnull @test_rand_reseed) #13 + tail call void @add_all_tests(ptr noundef nonnull @.str.1, ptr noundef nonnull @test_rand_fork_safety, i32 noundef 16, i32 noundef 1) #13 + tail call void @add_test(ptr noundef nonnull @.str.2, ptr noundef nonnull @test_rand_prediction_resistance) #13 + tail call void @add_test(ptr noundef nonnull @.str.3, ptr noundef nonnull @test_multi_thread) #13 ret i32 1 } @@ -130,46 +130,46 @@ entry: br i1 %tobool.not, label %if.end, label %if.then if.then: ; preds = %entry - %call1 = tail call i32 (ptr, i32, ptr, ...) @test_skip(ptr noundef nonnull @.str.4, i32 noundef 562, ptr noundef nonnull @.str.5) #14 + %call1 = tail call i32 (ptr, i32, ptr, ...) @test_skip(ptr noundef nonnull @.str.4, i32 noundef 562, ptr noundef nonnull @.str.5) #13 br label %return if.end: ; preds = %entry - %call2 = tail call ptr @RAND_get_rand_method() #14 - %call3 = tail call ptr @RAND_OpenSSL() #14 - %call4 = tail call i32 @test_ptr_eq(ptr noundef nonnull @.str.4, i32 noundef 566, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.7, ptr noundef %call2, ptr noundef %call3) #14 + %call2 = tail call ptr @RAND_get_rand_method() #13 + %call3 = tail call ptr @RAND_OpenSSL() #13 + %call4 = tail call i32 @test_ptr_eq(ptr noundef nonnull @.str.4, i32 noundef 566, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.7, ptr noundef %call2, ptr noundef %call3) #13 %tobool5.not = icmp eq i32 %call4, 0 br i1 %tobool5.not, label %return, label %if.end7 if.end7: ; preds = %if.end - %call8 = tail call ptr @RAND_get0_primary(ptr noundef null) #14 - %call9 = tail call i32 @test_ptr(ptr noundef nonnull @.str.4, i32 noundef 571, ptr noundef nonnull @.str.8, ptr noundef %call8) #14 + %call8 = tail call ptr @RAND_get0_primary(ptr noundef null) #13 + %call9 = tail call i32 @test_ptr(ptr noundef nonnull @.str.4, i32 noundef 571, ptr noundef nonnull @.str.8, ptr noundef %call8) #13 %tobool10.not = icmp eq i32 %call9, 0 br i1 %tobool10.not, label %return, label %lor.lhs.false lor.lhs.false: ; preds = %if.end7 - %call11 = tail call ptr @RAND_get0_public(ptr noundef null) #14 - %call12 = tail call i32 @test_ptr(ptr noundef nonnull @.str.4, i32 noundef 572, ptr noundef nonnull @.str.9, ptr noundef %call11) #14 + %call11 = tail call ptr @RAND_get0_public(ptr noundef null) #13 + %call12 = tail call i32 @test_ptr(ptr noundef nonnull @.str.4, i32 noundef 572, ptr noundef nonnull @.str.9, ptr noundef %call11) #13 %tobool13.not = icmp eq i32 %call12, 0 br i1 %tobool13.not, label %return, label %lor.lhs.false14 lor.lhs.false14: ; preds = %lor.lhs.false - %call15 = tail call ptr @RAND_get0_private(ptr noundef null) #14 - %call16 = tail call i32 @test_ptr(ptr noundef nonnull @.str.4, i32 noundef 573, ptr noundef nonnull @.str.10, ptr noundef %call15) #14 + %call15 = tail call ptr @RAND_get0_private(ptr noundef null) #13 + %call16 = tail call i32 @test_ptr(ptr noundef nonnull @.str.4, i32 noundef 573, ptr noundef nonnull @.str.10, ptr noundef %call15) #13 %tobool17.not = icmp eq i32 %call16, 0 br i1 %tobool17.not, label %return, label %if.end19 if.end19: ; preds = %lor.lhs.false14 - %call20 = tail call i32 @test_ptr_ne(ptr noundef nonnull @.str.4, i32 noundef 577, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.12, ptr noundef %call11, ptr noundef %call15) #14 + %call20 = tail call i32 @test_ptr_ne(ptr noundef nonnull @.str.4, i32 noundef 577, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.12, ptr noundef %call11, ptr noundef %call15) #13 %tobool21.not = icmp eq i32 %call20, 0 br i1 %tobool21.not, label %return, label %lor.lhs.false22 lor.lhs.false22: ; preds = %if.end19 - %call23 = tail call i32 @test_ptr_ne(ptr noundef nonnull @.str.4, i32 noundef 578, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.13, ptr noundef %call11, ptr noundef %call8) #14 + %call23 = tail call i32 @test_ptr_ne(ptr noundef nonnull @.str.4, i32 noundef 578, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.13, ptr noundef %call11, ptr noundef %call8) #13 %tobool24.not = icmp eq i32 %call23, 0 br i1 %tobool24.not, label %return, label %lor.lhs.false25 lor.lhs.false25: ; preds = %lor.lhs.false22 - %call26 = tail call i32 @test_ptr_ne(ptr noundef nonnull @.str.4, i32 noundef 579, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.13, ptr noundef %call15, ptr noundef %call8) #14 + %call26 = tail call i32 @test_ptr_ne(ptr noundef nonnull @.str.4, i32 noundef 579, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.13, ptr noundef %call15, ptr noundef %call8) #13 %tobool27.not = icmp eq i32 %call26, 0 br i1 %tobool27.not, label %return, label %lor.lhs.false28 @@ -180,7 +180,7 @@ lor.lhs.false28: ; preds = %lor.lhs.false25 %1 = load ptr, ptr %parent, align 8 %2 = getelementptr i8, ptr %call8, i64 8 %call8.val = load ptr, ptr %2, align 8 - %call31 = tail call i32 @test_ptr_eq(ptr noundef nonnull @.str.4, i32 noundef 580, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.15, ptr noundef %1, ptr noundef %call8.val) #14 + %call31 = tail call i32 @test_ptr_eq(ptr noundef nonnull @.str.4, i32 noundef 580, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.15, ptr noundef %1, ptr noundef %call8.val) #13 %tobool32.not = icmp eq i32 %call31, 0 br i1 %tobool32.not, label %return, label %lor.lhs.false33 @@ -190,34 +190,34 @@ lor.lhs.false33: ; preds = %lor.lhs.false28 %parent35 = getelementptr inbounds nuw i8, ptr %call15.val, i64 48 %4 = load ptr, ptr %parent35, align 8 %call8.val35 = load ptr, ptr %2, align 8 - %call37 = tail call i32 @test_ptr_eq(ptr noundef nonnull @.str.4, i32 noundef 581, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.15, ptr noundef %4, ptr noundef %call8.val35) #14 + %call37 = tail call i32 @test_ptr_eq(ptr noundef nonnull @.str.4, i32 noundef 581, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.15, ptr noundef %4, ptr noundef %call8.val35) #13 %tobool38.not = icmp eq i32 %call37, 0 br i1 %tobool38.not, label %return, label %if.end40 if.end40: ; preds = %lor.lhs.false33 - %call42 = tail call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 585, ptr noundef nonnull @.str.17, i32 noundef 1) #14 + %call42 = tail call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 585, ptr noundef nonnull @.str.17, i32 noundef 1) #13 %tobool43.not = icmp eq i32 %call42, 0 br i1 %tobool43.not, label %return, label %if.end45 if.end45: ; preds = %if.end40 - %call46 = tail call i32 @EVP_RAND_uninstantiate(ptr noundef nonnull %call8) #14 - %call47 = tail call i32 @EVP_RAND_uninstantiate(ptr noundef nonnull %call15) #14 - %call48 = tail call i32 @EVP_RAND_uninstantiate(ptr noundef nonnull %call11) #14 + %call46 = tail call i32 @EVP_RAND_uninstantiate(ptr noundef nonnull %call8) #13 + %call47 = tail call i32 @EVP_RAND_uninstantiate(ptr noundef nonnull %call15) #13 + %call48 = tail call i32 @EVP_RAND_uninstantiate(ptr noundef nonnull %call11) #13 %call49 = tail call fastcc i32 @test_drbg_reseed(ptr noundef nonnull %call8, ptr noundef nonnull %call11, ptr noundef nonnull %call15, ptr noundef null, ptr noundef null, i32 noundef 1, i64 noundef 0) - %call52 = tail call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 599, ptr noundef nonnull @.str.18, i32 noundef %call49) #14 + %call52 = tail call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 599, ptr noundef nonnull @.str.18, i32 noundef %call49) #13 %tobool53.not = icmp eq i32 %call52, 0 br i1 %tobool53.not, label %return, label %if.end55 if.end55: ; preds = %if.end45 %call56 = tail call fastcc i32 @test_drbg_reseed(ptr noundef nonnull %call8, ptr noundef nonnull %call11, ptr noundef nonnull %call15, ptr noundef null, ptr noundef null, i32 noundef 0, i64 noundef 0) - %call59 = tail call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 608, ptr noundef nonnull @.str.19, i32 noundef %call56) #14 + %call59 = tail call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 608, ptr noundef nonnull @.str.19, i32 noundef %call56) #13 %tobool60.not = icmp eq i32 %call59, 0 br i1 %tobool60.not, label %return, label %if.end62 if.end62: ; preds = %if.end55 tail call fastcc void @inc_reseed_counter(ptr noundef nonnull %call8) %call63 = tail call fastcc i32 @test_drbg_reseed(ptr noundef nonnull %call8, ptr noundef nonnull %call11, ptr noundef nonnull %call15, ptr noundef null, ptr noundef null, i32 noundef 0, i64 noundef 0) - %call66 = tail call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 619, ptr noundef nonnull @.str.20, i32 noundef %call63) #14 + %call66 = tail call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 619, ptr noundef nonnull @.str.20, i32 noundef %call63) #13 %tobool67.not = icmp eq i32 %call66, 0 br i1 %tobool67.not, label %return, label %if.end69 @@ -225,7 +225,7 @@ if.end69: ; preds = %if.end62 tail call fastcc void @inc_reseed_counter(ptr noundef nonnull %call8) tail call fastcc void @inc_reseed_counter(ptr noundef nonnull %call15) %call70 = tail call fastcc i32 @test_drbg_reseed(ptr noundef nonnull %call8, ptr noundef nonnull %call11, ptr noundef nonnull %call15, ptr noundef null, ptr noundef null, i32 noundef 0, i64 noundef 0) - %call73 = tail call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 631, ptr noundef nonnull @.str.21, i32 noundef %call70) #14 + %call73 = tail call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 631, ptr noundef nonnull @.str.21, i32 noundef %call70) #13 %tobool74.not = icmp eq i32 %call73, 0 br i1 %tobool74.not, label %return, label %if.end76 @@ -233,16 +233,16 @@ if.end76: ; preds = %if.end69 tail call fastcc void @inc_reseed_counter(ptr noundef nonnull %call8) tail call fastcc void @inc_reseed_counter(ptr noundef nonnull %call11) %call77 = tail call fastcc i32 @test_drbg_reseed(ptr noundef nonnull %call8, ptr noundef nonnull %call11, ptr noundef nonnull %call15, ptr noundef null, ptr noundef null, i32 noundef 0, i64 noundef 0) - %call80 = tail call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 643, ptr noundef nonnull @.str.22, i32 noundef %call77) #14 + %call80 = tail call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 643, ptr noundef nonnull @.str.22, i32 noundef %call77) #13 %tobool81.not = icmp eq i32 %call80, 0 br i1 %tobool81.not, label %return, label %if.end83 if.end83: ; preds = %if.end76 call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(256) %rand_add_buf, i8 114, i64 256, i1 false) - %call84 = tail call i64 @time(ptr noundef null) #14 - call void @RAND_add(ptr noundef nonnull %rand_add_buf, i32 noundef 256, double noundef 2.560000e+02) #14 + %call84 = tail call i64 @time(ptr noundef null) #13 + call void @RAND_add(ptr noundef nonnull %rand_add_buf, i32 noundef 256, double noundef 2.560000e+02) #13 %call86 = call fastcc i32 @test_drbg_reseed(ptr noundef nonnull %call8, ptr noundef nonnull %call11, ptr noundef nonnull %call15, ptr noundef null, ptr noundef null, i32 noundef 1, i64 noundef %call84) - %call89 = call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 663, ptr noundef nonnull @.str.23, i32 noundef %call86) #14 + %call89 = call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 663, ptr noundef nonnull @.str.23, i32 noundef %call86) #13 %tobool90.not = icmp ne i32 %call89, 0 %spec.select = zext i1 %tobool90.not to i32 br label %return @@ -265,20 +265,20 @@ entry: %sample.i = alloca [320 x i8], align 16 %result.i = alloca [20 x %struct.drbg_fork_result_st], align 16 %random = alloca [1 x i8], align 1 - %call = tail call ptr @RAND_get0_primary(ptr noundef null) #14 - %call1 = tail call i32 @test_ptr(ptr noundef nonnull @.str.4, i32 noundef 532, ptr noundef nonnull @.str.8, ptr noundef %call) #14 + %call = tail call ptr @RAND_get0_primary(ptr noundef null) #13 + %call1 = tail call i32 @test_ptr(ptr noundef nonnull @.str.4, i32 noundef 532, ptr noundef nonnull @.str.8, ptr noundef %call) #13 %tobool.not = icmp eq i32 %call1, 0 br i1 %tobool.not, label %return, label %lor.lhs.false lor.lhs.false: ; preds = %entry - %call2 = tail call ptr @RAND_get0_public(ptr noundef null) #14 - %call3 = tail call i32 @test_ptr(ptr noundef nonnull @.str.4, i32 noundef 533, ptr noundef nonnull @.str.9, ptr noundef %call2) #14 + %call2 = tail call ptr @RAND_get0_public(ptr noundef null) #13 + %call3 = tail call i32 @test_ptr(ptr noundef nonnull @.str.4, i32 noundef 533, ptr noundef nonnull @.str.9, ptr noundef %call2) #13 %tobool4.not = icmp eq i32 %call3, 0 br i1 %tobool4.not, label %return, label %lor.lhs.false5 lor.lhs.false5: ; preds = %lor.lhs.false - %call6 = tail call ptr @RAND_get0_private(ptr noundef null) #14 - %call7 = tail call i32 @test_ptr(ptr noundef nonnull @.str.4, i32 noundef 534, ptr noundef nonnull @.str.10, ptr noundef %call6) #14 + %call6 = tail call ptr @RAND_get0_private(ptr noundef null) #13 + %call7 = tail call i32 @test_ptr(ptr noundef nonnull @.str.4, i32 noundef 534, ptr noundef nonnull @.str.10, ptr noundef %call6) #13 %tobool8.not = icmp eq i32 %call7, 0 br i1 %tobool8.not, label %return, label %if.end @@ -287,8 +287,8 @@ if.end: ; preds = %lor.lhs.false5 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %random.i) call void @llvm.lifetime.start.p0(i64 320, ptr nonnull %sample.i) call void @llvm.lifetime.start.p0(i64 800, ptr nonnull %result.i) - %call.i = tail call i32 @getpid() #14 - %call1.i = tail call ptr @getenv(ptr noundef nonnull @.str.53) #14 + %call.i = tail call i32 @getpid() #13 + %call1.i = tail call ptr @getenv(ptr noundef nonnull @.str.53) #13 %cmp.not.i = icmp eq ptr %call1.i, null store i64 0, ptr %duplicate.i, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(800) %result.i, i8 0, i64 800, i1 false) @@ -306,30 +306,30 @@ for.body.i: ; preds = %for.cond.i, %if.end %i.041.i = phi i32 [ 1, %if.end ], [ %inc.i, %for.cond.i ] %presult.043.i = getelementptr inbounds nuw i8, ptr %result.pn42.i, i64 80 %pindex.i = getelementptr inbounds nuw i8, ptr %result.pn42.i, i64 136 - store i32 %i.041.i, ptr %pindex.i, align 4 + store i32 %i.041.i, ptr %pindex.i, align 8 %pindex7.i = getelementptr inbounds nuw i8, ptr %result.pn42.i, i64 96 - store i32 %i.041.i, ptr %pindex7.i, align 4 + store i32 %i.041.i, ptr %pindex7.i, align 16 %name.i = getelementptr inbounds nuw i8, ptr %result.pn42.i, i64 108 - %call9.i = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %name.i, ptr noundef nonnull dereferenceable(1) @.str.54, i32 noundef %i.041.i) #14 + %call9.i = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %name.i, ptr noundef nonnull dereferenceable(1) @.str.54, i32 noundef %i.041.i) #13 %name11.i = getelementptr inbounds nuw i8, ptr %result.pn42.i, i64 148 - %call16.i = call ptr @strcpy(ptr noundef nonnull dereferenceable(1) %name11.i, ptr noundef nonnull dereferenceable(1) %name.i) #14 + %call16.i = call ptr @strcpy(ptr noundef nonnull dereferenceable(1) %name11.i, ptr noundef nonnull dereferenceable(1) %name.i) #13 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %status.i.i) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %fd.i.i) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %random.i.i) - %call.i.i = call i32 @pipe(ptr noundef nonnull %fd.i.i) #14 - %call1.i.i = call i32 @test_int_ge(ptr noundef nonnull @.str.4, i32 noundef 346, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.27, i32 noundef %call.i.i, i32 noundef 0) #14 + %call.i.i = call i32 @pipe(ptr noundef nonnull %fd.i.i) #13 + %call1.i.i = call i32 @test_int_ge(ptr noundef nonnull @.str.4, i32 noundef 346, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.27, i32 noundef %call.i.i, i32 noundef 0) #13 %tobool.not.i.i = icmp eq i32 %call1.i.i, 0 br i1 %tobool.not.i.i, label %test_drbg_reseed_in_child.exit.i, label %if.end.i.i if.end.i.i: ; preds = %for.body.i - %call2.i.i = call i32 @fork() #14 - %call3.i.i = call i32 @test_int_ge(ptr noundef nonnull @.str.4, i32 noundef 349, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.27, i32 noundef %call2.i.i, i32 noundef 0) #14 + %call2.i.i = call i32 @fork() #13 + %call3.i.i = call i32 @test_int_ge(ptr noundef nonnull @.str.4, i32 noundef 349, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.27, i32 noundef %call2.i.i, i32 noundef 0) #13 %tobool4.not.i.i = icmp eq i32 %call3.i.i, 0 br i1 %tobool4.not.i.i, label %if.then5.i.i, label %if.else.i.i if.then5.i.i: ; preds = %if.end.i.i %0 = load i32, ptr %fd.i.i, align 4 - %call6.i.i = call i32 @close(i32 noundef %0) #14 + %call6.i.i = call i32 @close(i32 noundef %0) #13 %1 = load i32, ptr %arrayidx10.i.i, align 4 br label %return.sink.split.i.i @@ -339,24 +339,24 @@ if.else.i.i: ; preds = %if.end.i.i if.then9.i.i: ; preds = %if.else.i.i %2 = load i32, ptr %arrayidx10.i.i, align 4 - %call11.i.i = call i32 @close(i32 noundef %2) #14 - %call12.i.i = call i32 @waitpid(i32 noundef %call2.i.i, ptr noundef nonnull %status.i.i, i32 noundef 0) #14 - %call13.i.i = call i32 @test_int_eq(ptr noundef nonnull @.str.4, i32 noundef 359, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.65, i32 noundef %call12.i.i, i32 noundef %call2.i.i) #14 + %call11.i.i = call i32 @close(i32 noundef %2) #13 + %call12.i.i = call i32 @waitpid(i32 noundef %call2.i.i, ptr noundef nonnull %status.i.i, i32 noundef 0) #13 + %call13.i.i = call i32 @test_int_eq(ptr noundef nonnull @.str.4, i32 noundef 359, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.65, i32 noundef %call12.i.i, i32 noundef %call2.i.i) #13 %tobool14.not.i.i = icmp eq i32 %call13.i.i, 0 br i1 %tobool14.not.i.i, label %if.end43.i.i, label %land.lhs.true.i.i land.lhs.true.i.i: ; preds = %if.then9.i.i %3 = load i32, ptr %status.i.i, align 4 - %call15.i.i = call i32 @test_int_eq(ptr noundef nonnull @.str.4, i32 noundef 360, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.27, i32 noundef %3, i32 noundef 0) #14 + %call15.i.i = call i32 @test_int_eq(ptr noundef nonnull @.str.4, i32 noundef 360, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.27, i32 noundef %3, i32 noundef 0) #13 %tobool16.not.i.i = icmp eq i32 %call15.i.i, 0 br i1 %tobool16.not.i.i, label %if.end43.i.i, label %land.lhs.true17.i.i land.lhs.true17.i.i: ; preds = %land.lhs.true.i.i %4 = load i32, ptr %fd.i.i, align 4 - %call20.i.i = call i64 @read(i32 noundef %4, ptr noundef nonnull %random.i.i, i64 noundef 32) #14 + %call20.i.i = call i64 @read(i32 noundef %4, ptr noundef nonnull %random.i.i, i64 noundef 32) #13 %cmp21.i.i = icmp eq i64 %call20.i.i, 32 %conv.i.i = zext i1 %cmp21.i.i to i32 - %call24.i.i = call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 362, ptr noundef nonnull @.str.67, i32 noundef %conv.i.i) #14 + %call24.i.i = call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 362, ptr noundef nonnull @.str.67, i32 noundef %conv.i.i) #13 %tobool25.not.i.i = icmp eq i32 %call24.i.i, 0 br i1 %tobool25.not.i.i, label %if.end43.i.i, label %if.then26.i.i @@ -364,14 +364,14 @@ if.then26.i.i: ; preds = %land.lhs.true17.i.i %pid28.i.i = getelementptr inbounds nuw i8, ptr %result.pn42.i, i64 100 store i32 %call2.i.i, ptr %pid28.i.i, align 4 %private30.i.i = getelementptr inbounds nuw i8, ptr %result.pn42.i, i64 104 - store i32 0, ptr %private30.i.i, align 4 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %presult.043.i, ptr noundef nonnull align 16 dereferenceable(16) %random.i.i, i64 16, i1 false) + store i32 0, ptr %private30.i.i, align 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %presult.043.i, ptr noundef nonnull align 16 dereferenceable(16) %random.i.i, i64 16, i1 false) %arrayidx35.i.i = getelementptr inbounds nuw i8, ptr %result.pn42.i, i64 120 %pid36.i.i = getelementptr inbounds nuw i8, ptr %result.pn42.i, i64 140 store i32 %call2.i.i, ptr %pid36.i.i, align 4 %private38.i.i = getelementptr inbounds nuw i8, ptr %result.pn42.i, i64 144 - store i32 1, ptr %private38.i.i, align 4 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %arrayidx35.i.i, ptr noundef nonnull align 16 dereferenceable(16) %arrayidx42.i.i, i64 16, i1 false) + store i32 1, ptr %private38.i.i, align 16 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %arrayidx35.i.i, ptr noundef nonnull align 16 dereferenceable(16) %arrayidx42.i.i, i64 16, i1 false) br label %if.end43.i.i if.end43.i.i: ; preds = %if.then26.i.i, %land.lhs.true17.i.i, %land.lhs.true.i.i, %if.then9.i.i @@ -381,18 +381,18 @@ if.end43.i.i: ; preds = %if.then26.i.i, %lan if.else46.i.i: ; preds = %if.else.i.i %6 = load i32, ptr %fd.i.i, align 4 - %call48.i.i = call i32 @close(i32 noundef %6) #14 + %call48.i.i = call i32 @close(i32 noundef %6) #13 %call51.i.i = call fastcc i32 @test_drbg_reseed(ptr noundef %call, ptr noundef %call2, ptr noundef %call6, ptr noundef nonnull %random.i.i, ptr noundef nonnull %arrayidx42.i.i, i32 noundef 1, i64 noundef 0) - %call54.i.i = call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 390, ptr noundef nonnull @.str.68, i32 noundef %call51.i.i) #14 + %call54.i.i = call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 390, ptr noundef nonnull @.str.68, i32 noundef %call51.i.i) #13 %tobool55.not.i.i = icmp eq i32 %call54.i.i, 0 br i1 %tobool55.not.i.i, label %if.end67.i.i, label %land.lhs.true56.i.i land.lhs.true56.i.i: ; preds = %if.else46.i.i %7 = load i32, ptr %arrayidx10.i.i, align 4 - %call59.i.i = call i64 @write(i32 noundef %7, ptr noundef nonnull %random.i.i, i64 noundef 32) #14 + %call59.i.i = call i64 @write(i32 noundef %7, ptr noundef nonnull %random.i.i, i64 noundef 32) #13 %cmp60.i.i = icmp eq i64 %call59.i.i, 32 %conv61.i.i = zext i1 %cmp60.i.i to i32 - %call64.i.i = call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 392, ptr noundef nonnull @.str.69, i32 noundef %conv61.i.i) #14 + %call64.i.i = call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 392, ptr noundef nonnull @.str.69, i32 noundef %conv61.i.i) #13 %tobool65.not.i.i = icmp eq i32 %call64.i.i, 0 %spec.select.i.i = zext i1 %tobool65.not.i.i to i32 br label %if.end67.i.i @@ -400,14 +400,14 @@ land.lhs.true56.i.i: ; preds = %if.else46.i.i if.end67.i.i: ; preds = %land.lhs.true56.i.i, %if.else46.i.i %cmp70.i.i = phi i32 [ 1, %if.else46.i.i ], [ %spec.select.i.i, %land.lhs.true56.i.i ] %8 = load i32, ptr %arrayidx10.i.i, align 4 - %call69.i.i = call i32 @close(i32 noundef %8) #14 - call void @exit(i32 noundef %cmp70.i.i) #15 + %call69.i.i = call i32 @close(i32 noundef %8) #13 + call void @exit(i32 noundef %cmp70.i.i) #14 unreachable return.sink.split.i.i: ; preds = %if.end43.i.i, %if.then5.i.i %.sink.i.i = phi i32 [ %5, %if.end43.i.i ], [ %1, %if.then5.i.i ] %retval.0.ph.i.i = phi i32 [ %rv.0.i.i, %if.end43.i.i ], [ 0, %if.then5.i.i ] - %call45.i.i = call i32 @close(i32 noundef %.sink.i.i) #14 + %call45.i.i = call i32 @close(i32 noundef %.sink.i.i) #13 br label %test_drbg_reseed_in_child.exit.i test_drbg_reseed_in_child.exit.i: ; preds = %return.sink.split.i.i, %for.body.i @@ -415,23 +415,23 @@ test_drbg_reseed_in_child.exit.i: ; preds = %return.sink.split.i call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %status.i.i) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %fd.i.i) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %random.i.i) - %call20.i = call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 433, ptr noundef nonnull @.str.55, i32 noundef %retval.0.i.i) #14 + %call20.i = call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 433, ptr noundef nonnull @.str.55, i32 noundef %retval.0.i.i) #13 %tobool.not.i = icmp eq i32 %call20.i, 0 br i1 %tobool.not.i, label %test_rand_reseed_on_fork.exit, label %for.cond.i for.end.i: ; preds = %for.cond.i %arrayidx22.i = getelementptr inbounds nuw i8, ptr %random.i, i64 16 %call23.i = call fastcc i32 @test_drbg_reseed(ptr noundef %call, ptr noundef %call2, ptr noundef %call6, ptr noundef nonnull %random.i, ptr noundef nonnull %arrayidx22.i, i32 noundef 0, i64 noundef 0) - %call26.i = call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 443, ptr noundef nonnull @.str.56, i32 noundef %call23.i) #14 + %call26.i = call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 443, ptr noundef nonnull @.str.56, i32 noundef %call23.i) #13 %tobool27.not.i = icmp eq i32 %call26.i, 0 br i1 %tobool27.not.i, label %test_rand_reseed_on_fork.exit, label %if.end29.i if.end29.i: ; preds = %for.end.i %name31.i = getelementptr inbounds nuw i8, ptr %result.i, i64 28 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(7) %name31.i, ptr noundef nonnull align 1 dereferenceable(7) @.str.57, i64 7, i1 false) #14 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(7) %name31.i, ptr noundef nonnull align 1 dereferenceable(7) @.str.57, i64 7, i1 false) #13 %arrayidx34.i = getelementptr inbounds nuw i8, ptr %result.i, i64 40 %name35.i = getelementptr inbounds nuw i8, ptr %result.i, i64 68 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(7) %name35.i, ptr noundef nonnull align 1 dereferenceable(7) @.str.57, i64 7, i1 false) #14 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(7) %name35.i, ptr noundef nonnull align 1 dereferenceable(7) @.str.57, i64 7, i1 false) #13 %pid39.i = getelementptr inbounds nuw i8, ptr %result.i, i64 20 store i32 %call.i, ptr %pid39.i, align 4 %private41.i = getelementptr inbounds nuw i8, ptr %result.i, i64 24 @@ -448,14 +448,14 @@ for.body57.i: ; preds = %for.body57.i, %if.e %indvars.iv.i = phi i64 [ 0, %if.end29.i ], [ %indvars.iv.next.i, %for.body57.i ] %psample.045.i = phi ptr [ %sample.i, %if.end29.i ], [ %add.ptr61.i, %for.body57.i ] %arrayidx58.i = getelementptr inbounds nuw [20 x %struct.drbg_fork_result_st], ptr %result.i, i64 0, i64 %indvars.iv.i - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(16) %psample.045.i, ptr noundef nonnull align 8 dereferenceable(16) %arrayidx58.i, i64 16, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %psample.045.i, ptr noundef nonnull align 8 dereferenceable(16) %arrayidx58.i, i64 16, i1 false) %add.ptr61.i = getelementptr inbounds nuw i8, ptr %psample.045.i, i64 16 %indvars.iv.next.i = add nuw nsw i64 %indvars.iv.i, 1 %exitcond55.not.i = icmp eq i64 %indvars.iv.next.i, 20 br i1 %exitcond55.not.i, label %for.end64.i, label %for.body57.i, !llvm.loop !7 for.end64.i: ; preds = %for.body57.i - call void @qsort(ptr noundef nonnull %result.i, i64 noundef 20, i64 noundef 40, ptr noundef nonnull @compare_drbg_fork_result) #14 + call void @qsort(ptr noundef nonnull %result.i, i64 noundef 20, i64 noundef 40, ptr noundef nonnull @compare_drbg_fork_result) #13 %.pre.i = load i8, ptr %result.i, align 16 br label %for.body69.i @@ -488,7 +488,7 @@ for.end92.i: ; preds = %for.inc90.i br i1 %cmp94.i, label %if.then96.i, label %if.end98.i if.then96.i: ; preds = %for.end92.i - call void (ptr, ...) @test_note(ptr noundef nonnull @.str.58, i32 noundef %13) #14 + call void (ptr, ...) @test_note(ptr noundef nonnull @.str.58, i32 noundef %13) #13 br label %if.end98.i if.end98.i: ; preds = %if.then96.i, %for.end92.i @@ -499,22 +499,24 @@ if.end98.i: ; preds = %if.then96.i, %for.e br i1 %cmp100.i, label %if.then102.i, label %if.end104.i if.then102.i: ; preds = %if.end98.i - call void (ptr, ...) @test_note(ptr noundef nonnull @.str.59, i32 noundef %14) #14 + call void (ptr, ...) @test_note(ptr noundef nonnull @.str.59, i32 noundef %14) #13 br label %if.end104.i if.end104.i: ; preds = %if.then102.i, %if.end98.i %success.1.i = phi i32 [ 0, %if.then102.i ], [ %success.0.i, %if.end98.i ] - call void @qsort(ptr noundef nonnull %sample.i, i64 noundef 160, i64 noundef 2, ptr noundef nonnull @compare_rand_chunk) #14 + call void @qsort(ptr noundef nonnull %sample.i, i64 noundef 160, i64 noundef 2, ptr noundef nonnull @compare_rand_chunk) #13 + %lhsv.pre.i = load i16, ptr %sample.i, align 16 br label %for.body113.i for.body113.i: ; preds = %for.body113.i, %if.end104.i + %lhsv.i = phi i16 [ %lhsv.pre.i, %if.end104.i ], [ %rhsv.i, %for.body113.i ] %sample.pn49.i = phi ptr [ %sample.i, %if.end104.i ], [ %psample.150.i, %for.body113.i ] %i.348.i = phi i32 [ 2, %if.end104.i ], [ %add.i, %for.body113.i ] %15 = phi i32 [ 0, %if.end104.i ], [ %spec.select.i, %for.body113.i ] %psample.150.i = getelementptr inbounds nuw i8, ptr %sample.pn49.i, i64 2 - %bcmp.i = call i32 @bcmp(ptr noundef nonnull dereferenceable(2) %sample.pn49.i, ptr noundef nonnull dereferenceable(2) %psample.150.i, i64 2) - %cmp116.i = icmp eq i32 %bcmp.i, 0 - %inc120.i = zext i1 %cmp116.i to i32 + %rhsv.i = load i16, ptr %psample.150.i, align 2 + %.not.i = icmp eq i16 %lhsv.i, %rhsv.i + %inc120.i = zext i1 %.not.i to i32 %spec.select.i = add nuw nsw i32 %15, %inc120.i %add.i = add nuw nsw i32 %i.348.i, 2 %cmp111.i = icmp samesign ult i32 %i.348.i, 318 @@ -525,7 +527,7 @@ for.end124.i: ; preds = %for.body113.i br i1 %cmp126.i, label %if.end130.thread.i, label %if.end130.i if.end130.thread.i: ; preds = %for.end124.i - call void (ptr, ...) @test_note(ptr noundef nonnull @.str.60, i32 noundef %spec.select.i) #14 + call void (ptr, ...) @test_note(ptr noundef nonnull @.str.60, i32 noundef %spec.select.i) #13 br label %for.body137.preheader.i if.end130.i: ; preds = %for.end124.i @@ -534,13 +536,13 @@ if.end130.i: ; preds = %for.end124.i br i1 %or.cond.i, label %test_rand_reseed_on_fork.exit, label %for.body137.preheader.i for.body137.preheader.i: ; preds = %if.end130.i, %if.end130.thread.i - %success.268.i = phi i32 [ 0, %if.end130.thread.i ], [ %success.1.i, %if.end130.i ] + %success.269.i = phi i32 [ 0, %if.end130.thread.i ], [ %success.1.i, %if.end130.i ] br label %for.body137.i for.body137.i: ; preds = %for.body137.i, %for.body137.preheader.i %indvars.iv61.i = phi i64 [ 0, %for.body137.preheader.i ], [ %indvars.iv.next62.i, %for.body137.i ] %arrayidx139.i = getelementptr inbounds nuw [20 x %struct.drbg_fork_result_st], ptr %result.i, i64 0, i64 %indvars.iv61.i - %call142.i = call ptr @OPENSSL_buf2hexstr(ptr noundef nonnull %arrayidx139.i, i64 noundef 16) #14 + %call142.i = call ptr @OPENSSL_buf2hexstr(ptr noundef nonnull %arrayidx139.i, i64 noundef 16) #13 %pid145.i = getelementptr inbounds nuw i8, ptr %arrayidx139.i, i64 20 %16 = load i32, ptr %pid145.i, align 4 %name148.i = getelementptr inbounds nuw i8, ptr %arrayidx139.i, i64 28 @@ -548,29 +550,29 @@ for.body137.i: ; preds = %for.body137.i, %for %17 = load i32, ptr %private152.i, align 8 %tobool153.not.i = icmp eq i32 %17, 0 %cond.i = select i1 %tobool153.not.i, ptr @.str.11, ptr @.str.12 - call void (ptr, ...) @test_note(ptr noundef nonnull @.str.61, ptr noundef %call142.i, i32 noundef %16, ptr noundef nonnull %name148.i, ptr noundef nonnull %cond.i) #14 - call void @CRYPTO_free(ptr noundef %call142.i, ptr noundef nonnull @.str.4, i32 noundef 518) #14 + call void (ptr, ...) @test_note(ptr noundef nonnull @.str.61, ptr noundef %call142.i, i32 noundef %16, ptr noundef nonnull %name148.i, ptr noundef nonnull %cond.i) #13 + call void @CRYPTO_free(ptr noundef %call142.i, ptr noundef nonnull @.str.4, i32 noundef 518) #13 %indvars.iv.next62.i = add nuw nsw i64 %indvars.iv61.i, 1 %exitcond64.not.i = icmp eq i64 %indvars.iv.next62.i, 20 br i1 %exitcond64.not.i, label %test_rand_reseed_on_fork.exit, label %for.body137.i, !llvm.loop !10 test_rand_reseed_on_fork.exit: ; preds = %test_drbg_reseed_in_child.exit.i, %for.body137.i, %for.end.i, %if.end130.i - %retval.0.i = phi i32 [ 0, %for.end.i ], [ %success.1.i, %if.end130.i ], [ %success.268.i, %for.body137.i ], [ 0, %test_drbg_reseed_in_child.exit.i ] + %retval.0.i = phi i32 [ 0, %for.end.i ], [ %success.1.i, %if.end130.i ], [ %success.269.i, %for.body137.i ], [ 0, %test_drbg_reseed_in_child.exit.i ] call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %duplicate.i) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %random.i) call void @llvm.lifetime.end.p0(i64 320, ptr nonnull %sample.i) call void @llvm.lifetime.end.p0(i64 800, ptr nonnull %result.i) - %call10 = call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 538, ptr noundef nonnull @.str.50, i32 noundef %retval.0.i) #14 - %call14 = call i32 @RAND_bytes(ptr noundef nonnull %random, i32 noundef 1) #14 - %call15 = call i32 @test_int_gt(ptr noundef nonnull @.str.4, i32 noundef 542, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.27, i32 noundef %call14, i32 noundef 0) #14 + %call10 = call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 538, ptr noundef nonnull @.str.50, i32 noundef %retval.0.i) #13 + %call14 = call i32 @RAND_bytes(ptr noundef nonnull %random, i32 noundef 1) #13 + %call15 = call i32 @test_int_gt(ptr noundef nonnull @.str.4, i32 noundef 542, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.27, i32 noundef %call14, i32 noundef 0) #13 %tobool16.not = icmp eq i32 %call15, 0 br i1 %tobool16.not, label %if.then22, label %lor.lhs.false17 lor.lhs.false17: ; preds = %test_rand_reseed_on_fork.exit %tobool11.not = icmp ne i32 %call10, 0 %spec.select = zext i1 %tobool11.not to i32 - %call19 = call i32 @RAND_priv_bytes(ptr noundef nonnull %random, i32 noundef 1) #14 - %call20 = call i32 @test_int_gt(ptr noundef nonnull @.str.4, i32 noundef 542, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.27, i32 noundef %call19, i32 noundef 0) #14 + %call19 = call i32 @RAND_priv_bytes(ptr noundef nonnull %random, i32 noundef 1) #13 + %call20 = call i32 @test_int_gt(ptr noundef nonnull @.str.4, i32 noundef 542, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.27, i32 noundef %call19, i32 noundef 0) #13 %tobool21.not = icmp eq i32 %call20, 0 br i1 %tobool21.not, label %if.then22, label %return @@ -592,53 +594,53 @@ entry: br i1 %tobool.not, label %if.end, label %if.then if.then: ; preds = %entry - %call1 = tail call i32 (ptr, i32, ptr, ...) @test_skip(ptr noundef nonnull @.str.4, i32 noundef 815, ptr noundef nonnull @.str.5) #14 + %call1 = tail call i32 (ptr, i32, ptr, ...) @test_skip(ptr noundef nonnull @.str.4, i32 noundef 815, ptr noundef nonnull @.str.5) #13 br label %return if.end: ; preds = %entry %call2 = tail call fastcc ptr @new_drbg(ptr noundef null) - %call3 = tail call i32 @test_ptr(ptr noundef nonnull @.str.4, i32 noundef 818, ptr noundef nonnull @.str.70, ptr noundef %call2) #14 + %call3 = tail call i32 @test_ptr(ptr noundef nonnull @.str.4, i32 noundef 818, ptr noundef nonnull @.str.70, ptr noundef %call2) #13 %tobool4.not = icmp eq i32 %call3, 0 br i1 %tobool4.not, label %err, label %lor.lhs.false lor.lhs.false: ; preds = %if.end - %call6 = tail call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 819, ptr noundef nonnull @.str.71, i32 noundef 1) #14 + %call6 = tail call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 819, ptr noundef nonnull @.str.71, i32 noundef 1) #13 %tobool7.not = icmp eq i32 %call6, 0 br i1 %tobool7.not, label %err, label %lor.lhs.false8 lor.lhs.false8: ; preds = %lor.lhs.false - %call9 = tail call i32 @EVP_RAND_instantiate(ptr noundef %call2, i32 noundef 0, i32 noundef 0, ptr noundef null, i64 noundef 0, ptr noundef null) #14 + %call9 = tail call i32 @EVP_RAND_instantiate(ptr noundef %call2, i32 noundef 0, i32 noundef 0, ptr noundef null, i64 noundef 0, ptr noundef null) #13 %cmp10 = icmp ne i32 %call9, 0 %conv11 = zext i1 %cmp10 to i32 - %call12 = tail call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 820, ptr noundef nonnull @.str.72, i32 noundef %conv11) #14 + %call12 = tail call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 820, ptr noundef nonnull @.str.72, i32 noundef %conv11) #13 %tobool13.not = icmp eq i32 %call12, 0 br i1 %tobool13.not, label %err, label %lor.lhs.false14 lor.lhs.false14: ; preds = %lor.lhs.false8 %call15 = tail call fastcc ptr @new_drbg(ptr noundef %call2) - %call16 = tail call i32 @test_ptr(ptr noundef nonnull @.str.4, i32 noundef 821, ptr noundef nonnull @.str.73, ptr noundef %call15) #14 + %call16 = tail call i32 @test_ptr(ptr noundef nonnull @.str.4, i32 noundef 821, ptr noundef nonnull @.str.73, ptr noundef %call15) #13 %tobool17.not = icmp eq i32 %call16, 0 br i1 %tobool17.not, label %err, label %lor.lhs.false18 lor.lhs.false18: ; preds = %lor.lhs.false14 - %call19 = tail call i32 @EVP_RAND_instantiate(ptr noundef %call15, i32 noundef 0, i32 noundef 0, ptr noundef null, i64 noundef 0, ptr noundef null) #14 + %call19 = tail call i32 @EVP_RAND_instantiate(ptr noundef %call15, i32 noundef 0, i32 noundef 0, ptr noundef null, i64 noundef 0, ptr noundef null) #13 %cmp20 = icmp ne i32 %call19, 0 %conv21 = zext i1 %cmp20 to i32 - %call22 = tail call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 822, ptr noundef nonnull @.str.74, i32 noundef %conv21) #14 + %call22 = tail call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 822, ptr noundef nonnull @.str.74, i32 noundef %conv21) #13 %tobool23.not = icmp eq i32 %call22, 0 br i1 %tobool23.not, label %err, label %lor.lhs.false24 lor.lhs.false24: ; preds = %lor.lhs.false18 %call25 = tail call fastcc ptr @new_drbg(ptr noundef %call15) - %call26 = tail call i32 @test_ptr(ptr noundef nonnull @.str.4, i32 noundef 823, ptr noundef nonnull @.str.75, ptr noundef %call25) #14 + %call26 = tail call i32 @test_ptr(ptr noundef nonnull @.str.4, i32 noundef 823, ptr noundef nonnull @.str.75, ptr noundef %call25) #13 %tobool27.not = icmp eq i32 %call26, 0 br i1 %tobool27.not, label %err, label %lor.lhs.false28 lor.lhs.false28: ; preds = %lor.lhs.false24 - %call29 = tail call i32 @EVP_RAND_instantiate(ptr noundef %call25, i32 noundef 0, i32 noundef 0, ptr noundef null, i64 noundef 0, ptr noundef null) #14 + %call29 = tail call i32 @EVP_RAND_instantiate(ptr noundef %call25, i32 noundef 0, i32 noundef 0, ptr noundef null, i64 noundef 0, ptr noundef null) #13 %cmp30 = icmp ne i32 %call29, 0 %conv31 = zext i1 %cmp30 to i32 - %call32 = tail call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 824, ptr noundef nonnull @.str.76, i32 noundef %conv31) #14 + %call32 = tail call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 824, ptr noundef nonnull @.str.76, i32 noundef %conv31) #13 %tobool33.not = icmp eq i32 %call32, 0 br i1 %tobool33.not, label %err, label %if.end35 @@ -647,55 +649,55 @@ if.end35: ; preds = %lor.lhs.false28 %call36 = tail call fastcc i32 @reseed_counter(ptr noundef %call2) %call37 = tail call fastcc i32 @reseed_counter(ptr noundef %call15) %call38 = tail call fastcc i32 @reseed_counter(ptr noundef %call25) - %call39 = tail call i32 @EVP_RAND_reseed(ptr noundef %call25, i32 noundef 0, ptr noundef null, i64 noundef 0, ptr noundef null, i64 noundef 0) #14 + %call39 = tail call i32 @EVP_RAND_reseed(ptr noundef %call25, i32 noundef 0, ptr noundef null, i64 noundef 0, ptr noundef null, i64 noundef 0) #13 %cmp40 = icmp ne i32 %call39, 0 %conv41 = zext i1 %cmp40 to i32 - %call42 = tail call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 835, ptr noundef nonnull @.str.77, i32 noundef %conv41) #14 + %call42 = tail call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 835, ptr noundef nonnull @.str.77, i32 noundef %conv41) #13 %tobool43.not = icmp eq i32 %call42, 0 br i1 %tobool43.not, label %err, label %lor.lhs.false44 lor.lhs.false44: ; preds = %if.end35 %call45 = tail call fastcc i32 @reseed_counter(ptr noundef %call2) - %call46 = tail call i32 @test_int_eq(ptr noundef nonnull @.str.4, i32 noundef 836, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.79, i32 noundef %call45, i32 noundef %call36) #14 + %call46 = tail call i32 @test_int_eq(ptr noundef nonnull @.str.4, i32 noundef 836, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.79, i32 noundef %call45, i32 noundef %call36) #13 %tobool47.not = icmp eq i32 %call46, 0 br i1 %tobool47.not, label %err, label %lor.lhs.false48 lor.lhs.false48: ; preds = %lor.lhs.false44 %call49 = tail call fastcc i32 @reseed_counter(ptr noundef %call15) - %call50 = tail call i32 @test_int_eq(ptr noundef nonnull @.str.4, i32 noundef 837, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.81, i32 noundef %call49, i32 noundef %call37) #14 + %call50 = tail call i32 @test_int_eq(ptr noundef nonnull @.str.4, i32 noundef 837, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.81, i32 noundef %call49, i32 noundef %call37) #13 %tobool51.not = icmp eq i32 %call50, 0 br i1 %tobool51.not, label %err, label %lor.lhs.false52 lor.lhs.false52: ; preds = %lor.lhs.false48 %call53 = tail call fastcc i32 @reseed_counter(ptr noundef %call25) - %call54 = tail call i32 @test_int_gt(ptr noundef nonnull @.str.4, i32 noundef 838, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.83, i32 noundef %call53, i32 noundef %call38) #14 + %call54 = tail call i32 @test_int_gt(ptr noundef nonnull @.str.4, i32 noundef 838, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.83, i32 noundef %call53, i32 noundef %call38) #13 %tobool55.not = icmp eq i32 %call54, 0 br i1 %tobool55.not, label %err, label %if.end57 if.end57: ; preds = %lor.lhs.false52 %call58 = tail call fastcc i32 @reseed_counter(ptr noundef %call25) - %call59 = tail call i32 @EVP_RAND_reseed(ptr noundef %call25, i32 noundef 1, ptr noundef null, i64 noundef 0, ptr noundef null, i64 noundef 0) #14 + %call59 = tail call i32 @EVP_RAND_reseed(ptr noundef %call25, i32 noundef 1, ptr noundef null, i64 noundef 0, ptr noundef null, i64 noundef 0) #13 %cmp60 = icmp ne i32 %call59, 0 %conv61 = zext i1 %cmp60 to i32 - %call62 = tail call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 846, ptr noundef nonnull @.str.84, i32 noundef %conv61) #14 + %call62 = tail call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 846, ptr noundef nonnull @.str.84, i32 noundef %conv61) #13 %tobool63.not = icmp eq i32 %call62, 0 br i1 %tobool63.not, label %err, label %lor.lhs.false64 lor.lhs.false64: ; preds = %if.end57 %call65 = tail call fastcc i32 @reseed_counter(ptr noundef %call2) - %call66 = tail call i32 @test_int_gt(ptr noundef nonnull @.str.4, i32 noundef 847, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.79, i32 noundef %call65, i32 noundef %call36) #14 + %call66 = tail call i32 @test_int_gt(ptr noundef nonnull @.str.4, i32 noundef 847, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.79, i32 noundef %call65, i32 noundef %call36) #13 %tobool67.not = icmp eq i32 %call66, 0 br i1 %tobool67.not, label %err, label %lor.lhs.false68 lor.lhs.false68: ; preds = %lor.lhs.false64 %call69 = tail call fastcc i32 @reseed_counter(ptr noundef %call15) - %call70 = tail call i32 @test_int_gt(ptr noundef nonnull @.str.4, i32 noundef 848, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.81, i32 noundef %call69, i32 noundef %call37) #14 + %call70 = tail call i32 @test_int_gt(ptr noundef nonnull @.str.4, i32 noundef 848, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.81, i32 noundef %call69, i32 noundef %call37) #13 %tobool71.not = icmp eq i32 %call70, 0 br i1 %tobool71.not, label %err, label %lor.lhs.false72 lor.lhs.false72: ; preds = %lor.lhs.false68 %call73 = tail call fastcc i32 @reseed_counter(ptr noundef %call25) - %call74 = tail call i32 @test_int_gt(ptr noundef nonnull @.str.4, i32 noundef 849, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.83, i32 noundef %call73, i32 noundef %call58) #14 + %call74 = tail call i32 @test_int_gt(ptr noundef nonnull @.str.4, i32 noundef 849, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.83, i32 noundef %call73, i32 noundef %call58) #13 %tobool75.not = icmp eq i32 %call74, 0 br i1 %tobool75.not, label %err, label %if.end77 @@ -704,60 +706,60 @@ if.end77: ; preds = %lor.lhs.false72 %call78 = tail call fastcc i32 @reseed_counter(ptr noundef %call2) %call79 = tail call fastcc i32 @reseed_counter(ptr noundef %call15) %call80 = tail call fastcc i32 @reseed_counter(ptr noundef %call25) - %call81 = call i32 @EVP_RAND_generate(ptr noundef %call25, ptr noundef nonnull %buf1, i64 noundef 51, i32 noundef 0, i32 noundef 0, ptr noundef null, i64 noundef 0) #14 + %call81 = call i32 @EVP_RAND_generate(ptr noundef %call25, ptr noundef nonnull %buf1, i64 noundef 51, i32 noundef 0, i32 noundef 0, ptr noundef null, i64 noundef 0) #13 %cmp82 = icmp ne i32 %call81, 0 %conv83 = zext i1 %cmp82 to i32 - %call84 = call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 858, ptr noundef nonnull @.str.85, i32 noundef %conv83) #14 + %call84 = call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 858, ptr noundef nonnull @.str.85, i32 noundef %conv83) #13 %tobool85.not = icmp eq i32 %call84, 0 br i1 %tobool85.not, label %err, label %lor.lhs.false86 lor.lhs.false86: ; preds = %if.end77 %call87 = call fastcc i32 @reseed_counter(ptr noundef %call2) - %call88 = call i32 @test_int_eq(ptr noundef nonnull @.str.4, i32 noundef 859, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.79, i32 noundef %call87, i32 noundef %call78) #14 + %call88 = call i32 @test_int_eq(ptr noundef nonnull @.str.4, i32 noundef 859, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.79, i32 noundef %call87, i32 noundef %call78) #13 %tobool89.not = icmp eq i32 %call88, 0 br i1 %tobool89.not, label %err, label %lor.lhs.false90 lor.lhs.false90: ; preds = %lor.lhs.false86 %call91 = call fastcc i32 @reseed_counter(ptr noundef %call15) - %call92 = call i32 @test_int_eq(ptr noundef nonnull @.str.4, i32 noundef 860, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.81, i32 noundef %call91, i32 noundef %call79) #14 + %call92 = call i32 @test_int_eq(ptr noundef nonnull @.str.4, i32 noundef 860, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.81, i32 noundef %call91, i32 noundef %call79) #13 %tobool93.not = icmp eq i32 %call92, 0 br i1 %tobool93.not, label %err, label %lor.lhs.false94 lor.lhs.false94: ; preds = %lor.lhs.false90 %call95 = call fastcc i32 @reseed_counter(ptr noundef %call25) - %call96 = call i32 @test_int_gt(ptr noundef nonnull @.str.4, i32 noundef 861, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.83, i32 noundef %call95, i32 noundef %call80) #14 + %call96 = call i32 @test_int_gt(ptr noundef nonnull @.str.4, i32 noundef 861, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.83, i32 noundef %call95, i32 noundef %call80) #13 %tobool97.not = icmp eq i32 %call96, 0 br i1 %tobool97.not, label %err, label %if.end99 if.end99: ; preds = %lor.lhs.false94 %call100 = call fastcc i32 @reseed_counter(ptr noundef %call25) - %call102 = call i32 @EVP_RAND_generate(ptr noundef %call25, ptr noundef nonnull %buf2, i64 noundef 51, i32 noundef 0, i32 noundef 1, ptr noundef null, i64 noundef 0) #14 + %call102 = call i32 @EVP_RAND_generate(ptr noundef %call25, ptr noundef nonnull %buf2, i64 noundef 51, i32 noundef 0, i32 noundef 1, ptr noundef null, i64 noundef 0) #13 %cmp103 = icmp ne i32 %call102, 0 %conv104 = zext i1 %cmp103 to i32 - %call105 = call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 869, ptr noundef nonnull @.str.86, i32 noundef %conv104) #14 + %call105 = call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 869, ptr noundef nonnull @.str.86, i32 noundef %conv104) #13 %tobool106.not = icmp eq i32 %call105, 0 br i1 %tobool106.not, label %err, label %lor.lhs.false107 lor.lhs.false107: ; preds = %if.end99 %call108 = call fastcc i32 @reseed_counter(ptr noundef %call2) - %call109 = call i32 @test_int_gt(ptr noundef nonnull @.str.4, i32 noundef 870, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.79, i32 noundef %call108, i32 noundef %call78) #14 + %call109 = call i32 @test_int_gt(ptr noundef nonnull @.str.4, i32 noundef 870, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.79, i32 noundef %call108, i32 noundef %call78) #13 %tobool110.not = icmp eq i32 %call109, 0 br i1 %tobool110.not, label %err, label %lor.lhs.false111 lor.lhs.false111: ; preds = %lor.lhs.false107 %call112 = call fastcc i32 @reseed_counter(ptr noundef %call15) - %call113 = call i32 @test_int_gt(ptr noundef nonnull @.str.4, i32 noundef 871, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.81, i32 noundef %call112, i32 noundef %call79) #14 + %call113 = call i32 @test_int_gt(ptr noundef nonnull @.str.4, i32 noundef 871, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.81, i32 noundef %call112, i32 noundef %call79) #13 %tobool114.not = icmp eq i32 %call113, 0 br i1 %tobool114.not, label %err, label %lor.lhs.false115 lor.lhs.false115: ; preds = %lor.lhs.false111 %call116 = call fastcc i32 @reseed_counter(ptr noundef %call25) - %call117 = call i32 @test_int_gt(ptr noundef nonnull @.str.4, i32 noundef 872, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.83, i32 noundef %call116, i32 noundef %call100) #14 + %call117 = call i32 @test_int_gt(ptr noundef nonnull @.str.4, i32 noundef 872, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.83, i32 noundef %call116, i32 noundef %call100) #13 %tobool118.not = icmp eq i32 %call117, 0 br i1 %tobool118.not, label %err, label %lor.lhs.false119 lor.lhs.false119: ; preds = %lor.lhs.false115 - %call122 = call i32 @test_mem_ne(ptr noundef nonnull @.str.4, i32 noundef 873, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.88, ptr noundef nonnull %buf1, i64 noundef 51, ptr noundef nonnull %buf2, i64 noundef 51) #14 + %call122 = call i32 @test_mem_ne(ptr noundef nonnull @.str.4, i32 noundef 873, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.88, ptr noundef nonnull %buf1, i64 noundef 51, ptr noundef nonnull %buf2, i64 noundef 51) #13 %tobool123.not = icmp eq i32 %call122, 0 br i1 %tobool123.not, label %err, label %if.end125 @@ -766,28 +768,28 @@ if.end125: ; preds = %lor.lhs.false119 %call126 = call fastcc i32 @reseed_counter(ptr noundef %call2) %call127 = call fastcc i32 @reseed_counter(ptr noundef %call15) %call128 = call fastcc i32 @reseed_counter(ptr noundef %call25) - %call129 = call i32 @EVP_RAND_reseed(ptr noundef %call25, i32 noundef 0, ptr noundef null, i64 noundef 0, ptr noundef null, i64 noundef 0) #14 + %call129 = call i32 @EVP_RAND_reseed(ptr noundef %call25, i32 noundef 0, ptr noundef null, i64 noundef 0, ptr noundef null, i64 noundef 0) #13 %cmp130 = icmp ne i32 %call129, 0 %conv131 = zext i1 %cmp130 to i32 - %call132 = call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 881, ptr noundef nonnull @.str.77, i32 noundef %conv131) #14 + %call132 = call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 881, ptr noundef nonnull @.str.77, i32 noundef %conv131) #13 %tobool133.not = icmp eq i32 %call132, 0 br i1 %tobool133.not, label %err, label %lor.lhs.false134 lor.lhs.false134: ; preds = %if.end125 %call135 = call fastcc i32 @reseed_counter(ptr noundef %call2) - %call136 = call i32 @test_int_eq(ptr noundef nonnull @.str.4, i32 noundef 882, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.79, i32 noundef %call135, i32 noundef %call126) #14 + %call136 = call i32 @test_int_eq(ptr noundef nonnull @.str.4, i32 noundef 882, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.79, i32 noundef %call135, i32 noundef %call126) #13 %tobool137.not = icmp eq i32 %call136, 0 br i1 %tobool137.not, label %err, label %lor.lhs.false138 lor.lhs.false138: ; preds = %lor.lhs.false134 %call139 = call fastcc i32 @reseed_counter(ptr noundef %call15) - %call140 = call i32 @test_int_eq(ptr noundef nonnull @.str.4, i32 noundef 883, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.81, i32 noundef %call139, i32 noundef %call127) #14 + %call140 = call i32 @test_int_eq(ptr noundef nonnull @.str.4, i32 noundef 883, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.81, i32 noundef %call139, i32 noundef %call127) #13 %tobool141.not = icmp eq i32 %call140, 0 br i1 %tobool141.not, label %err, label %lor.lhs.false142 lor.lhs.false142: ; preds = %lor.lhs.false138 %call143 = call fastcc i32 @reseed_counter(ptr noundef %call25) - %call144 = call i32 @test_int_gt(ptr noundef nonnull @.str.4, i32 noundef 884, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.83, i32 noundef %call143, i32 noundef %call128) #14 + %call144 = call i32 @test_int_gt(ptr noundef nonnull @.str.4, i32 noundef 884, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.83, i32 noundef %call143, i32 noundef %call128) #13 %tobool145.not = icmp ne i32 %call144, 0 %spec.select = zext i1 %tobool145.not to i32 br label %err @@ -796,9 +798,9 @@ err: ; preds = %lor.lhs.false142, % %y.0 = phi ptr [ %call15, %lor.lhs.false138 ], [ %call15, %lor.lhs.false134 ], [ %call15, %if.end125 ], [ %call15, %lor.lhs.false119 ], [ %call15, %lor.lhs.false115 ], [ %call15, %lor.lhs.false111 ], [ %call15, %lor.lhs.false107 ], [ %call15, %if.end99 ], [ %call15, %lor.lhs.false94 ], [ %call15, %lor.lhs.false90 ], [ %call15, %lor.lhs.false86 ], [ %call15, %if.end77 ], [ %call15, %lor.lhs.false72 ], [ %call15, %lor.lhs.false68 ], [ %call15, %lor.lhs.false64 ], [ %call15, %if.end57 ], [ %call15, %lor.lhs.false52 ], [ %call15, %lor.lhs.false48 ], [ %call15, %lor.lhs.false44 ], [ %call15, %if.end35 ], [ %call15, %lor.lhs.false28 ], [ %call15, %lor.lhs.false24 ], [ %call15, %lor.lhs.false18 ], [ %call15, %lor.lhs.false14 ], [ null, %lor.lhs.false8 ], [ null, %lor.lhs.false ], [ null, %if.end ], [ %call15, %lor.lhs.false142 ] %z.0 = phi ptr [ %call25, %lor.lhs.false138 ], [ %call25, %lor.lhs.false134 ], [ %call25, %if.end125 ], [ %call25, %lor.lhs.false119 ], [ %call25, %lor.lhs.false115 ], [ %call25, %lor.lhs.false111 ], [ %call25, %lor.lhs.false107 ], [ %call25, %if.end99 ], [ %call25, %lor.lhs.false94 ], [ %call25, %lor.lhs.false90 ], [ %call25, %lor.lhs.false86 ], [ %call25, %if.end77 ], [ %call25, %lor.lhs.false72 ], [ %call25, %lor.lhs.false68 ], [ %call25, %lor.lhs.false64 ], [ %call25, %if.end57 ], [ %call25, %lor.lhs.false52 ], [ %call25, %lor.lhs.false48 ], [ %call25, %lor.lhs.false44 ], [ %call25, %if.end35 ], [ %call25, %lor.lhs.false28 ], [ %call25, %lor.lhs.false24 ], [ null, %lor.lhs.false18 ], [ null, %lor.lhs.false14 ], [ null, %lor.lhs.false8 ], [ null, %lor.lhs.false ], [ null, %if.end ], [ %call25, %lor.lhs.false142 ] %ret.0 = phi i32 [ 0, %lor.lhs.false138 ], [ 0, %lor.lhs.false134 ], [ 0, %if.end125 ], [ 0, %lor.lhs.false119 ], [ 0, %lor.lhs.false115 ], [ 0, %lor.lhs.false111 ], [ 0, %lor.lhs.false107 ], [ 0, %if.end99 ], [ 0, %lor.lhs.false94 ], [ 0, %lor.lhs.false90 ], [ 0, %lor.lhs.false86 ], [ 0, %if.end77 ], [ 0, %lor.lhs.false72 ], [ 0, %lor.lhs.false68 ], [ 0, %lor.lhs.false64 ], [ 0, %if.end57 ], [ 0, %lor.lhs.false52 ], [ 0, %lor.lhs.false48 ], [ 0, %lor.lhs.false44 ], [ 0, %if.end35 ], [ 0, %lor.lhs.false28 ], [ 0, %lor.lhs.false24 ], [ 0, %lor.lhs.false18 ], [ 0, %lor.lhs.false14 ], [ 0, %lor.lhs.false8 ], [ 0, %lor.lhs.false ], [ 0, %if.end ], [ %spec.select, %lor.lhs.false142 ] - call void @EVP_RAND_CTX_free(ptr noundef %z.0) #14 - call void @EVP_RAND_CTX_free(ptr noundef %y.0) #14 - call void @EVP_RAND_CTX_free(ptr noundef %call2) #14 + call void @EVP_RAND_CTX_free(ptr noundef %z.0) #13 + call void @EVP_RAND_CTX_free(ptr noundef %y.0) #13 + call void @EVP_RAND_CTX_free(ptr noundef %call2) #13 br label %return return: ; preds = %err, %if.then @@ -815,7 +817,7 @@ entry: for.body: ; preds = %entry, %for.body %indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body ] %arrayidx = getelementptr inbounds nuw [3 x i64], ptr %t, i64 0, i64 %indvars.iv - %call.i = call i32 @pthread_create(ptr noundef nonnull %arrayidx, ptr noundef null, ptr noundef nonnull @thread_run, ptr noundef null) #14 + %call.i = call i32 @pthread_create(ptr noundef nonnull %arrayidx, ptr noundef null, ptr noundef nonnull @thread_run, ptr noundef null) #13 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, 3 br i1 %exitcond.not, label %for.end, label %for.body, !llvm.loop !11 @@ -828,7 +830,7 @@ for.body3: ; preds = %for.end, %for.body3 %indvars.iv13 = phi i64 [ 0, %for.end ], [ %indvars.iv.next14, %for.body3 ] %arrayidx5 = getelementptr inbounds nuw [3 x i64], ptr %t, i64 0, i64 %indvars.iv13 %0 = load i64, ptr %arrayidx5, align 8 - %call.i7 = call i32 @pthread_join(i64 noundef %0, ptr noundef null) #14 + %call.i7 = call i32 @pthread_join(i64 noundef %0, ptr noundef null) #13 %indvars.iv.next14 = add nuw nsw i64 %indvars.iv13, 1 %exitcond16.not = icmp eq i64 %indvars.iv.next14, 3 br i1 %exitcond16.not, label %for.end9, label %for.body3, !llvm.loop !12 @@ -837,7 +839,7 @@ for.end9: ; preds = %for.body3 %.b = load i1, ptr @multi_thread_rand_bytes_succeeded, align 4 %not..b = xor i1 %.b, true %conv = zext i1 %not..b to i32 - %call11 = call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 779, ptr noundef nonnull @.str.95, i32 noundef %conv) #14 + %call11 = call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 779, ptr noundef nonnull @.str.95, i32 noundef %conv) #13 %tobool.not = icmp eq i32 %call11, 0 br i1 %tobool.not, label %return, label %if.end @@ -845,7 +847,7 @@ if.end: ; preds = %for.end9 %.b6 = load i1, ptr @multi_thread_rand_priv_bytes_succeeded, align 4 %not..b6 = xor i1 %.b6, true %conv13 = zext i1 %not..b6 to i32 - %call14 = call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 781, ptr noundef nonnull @.str.96, i32 noundef %conv13) #14 + %call14 = call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 781, ptr noundef nonnull @.str.96, i32 noundef %conv13) #13 %tobool15.not = icmp ne i32 %call14, 0 %. = zext i1 %tobool15.not to i32 br label %return @@ -858,21 +860,21 @@ return: ; preds = %if.end, %for.end9 ; Function Attrs: nounwind uwtable define internal fastcc range(i32 0, 2) i32 @using_fips_rng() unnamed_addr #0 { entry: - %call = tail call ptr @RAND_get0_primary(ptr noundef null) #14 - %call1 = tail call i32 @test_ptr(ptr noundef nonnull @.str.4, i32 noundef 144, ptr noundef nonnull @.str.13, ptr noundef %call) #14 + %call = tail call ptr @RAND_get0_primary(ptr noundef null) #13 + %call1 = tail call i32 @test_ptr(ptr noundef nonnull @.str.4, i32 noundef 144, ptr noundef nonnull @.str.13, ptr noundef %call) #13 %tobool.not = icmp eq i32 %call1, 0 br i1 %tobool.not, label %return, label %if.end if.end: ; preds = %entry - %call2 = tail call ptr @EVP_RAND_CTX_get0_rand(ptr noundef %call) #14 - %call3 = tail call ptr @EVP_RAND_get0_provider(ptr noundef %call2) #14 - %call4 = tail call i32 @test_ptr(ptr noundef nonnull @.str.4, i32 noundef 148, ptr noundef nonnull @.str.24, ptr noundef %call3) #14 + %call2 = tail call ptr @EVP_RAND_CTX_get0_rand(ptr noundef %call) #13 + %call3 = tail call ptr @EVP_RAND_get0_provider(ptr noundef %call2) #13 + %call4 = tail call i32 @test_ptr(ptr noundef nonnull @.str.4, i32 noundef 148, ptr noundef nonnull @.str.24, ptr noundef %call3) #13 %tobool5.not = icmp eq i32 %call4, 0 br i1 %tobool5.not, label %return, label %if.end7 if.end7: ; preds = %if.end - %call8 = tail call ptr @OSSL_PROVIDER_get0_name(ptr noundef %call3) #14 - %call9 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %call8, ptr noundef nonnull dereferenceable(22) @.str.25) #16 + %call8 = tail call ptr @OSSL_PROVIDER_get0_name(ptr noundef %call3) #13 + %call9 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %call8, ptr noundef nonnull dereferenceable(22) @.str.25) #15 %cmp = icmp eq i32 %call9, 0 %conv = zext i1 %cmp to i32 br label %return @@ -927,18 +929,18 @@ entry: call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %params.i.i) call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %n.i.i) call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %tmp.i.i) - call void @OSSL_PARAM_construct_uint(ptr nonnull sret(%struct.ossl_param_st) align 8 %tmp.i.i, ptr noundef nonnull @.str.48, ptr noundef nonnull %n.i.i) #14 + call void @OSSL_PARAM_construct_uint(ptr nonnull sret(%struct.ossl_param_st) align 8 %tmp.i.i, ptr noundef nonnull @.str.48, ptr noundef nonnull %n.i.i) #13 %0 = getelementptr inbounds nuw i8, ptr %params.i.i, i64 40 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %0, i8 0, i64 40, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(40) %params.i.i, ptr noundef nonnull align 8 dereferenceable(40) %tmp.i.i, i64 40, i1 false) - %call.i.i = call i32 @EVP_RAND_CTX_get_params(ptr noundef %primary, ptr noundef nonnull %params.i.i) #14 + %call.i.i = call i32 @EVP_RAND_CTX_get_params(ptr noundef %primary, ptr noundef nonnull %params.i.i) #13 %tobool.not.i.i = icmp eq i32 %call.i.i, 0 %1 = load i32, ptr %n.i.i, align 4 %retval.0.i.i = select i1 %tobool.not.i.i, i32 0, i32 %1 call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %params.i.i) call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %n.i.i) call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %tmp.i.i) - %call5 = call i32 @test_int_ne(ptr noundef nonnull @.str.4, i32 noundef 208, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.27, i32 noundef %retval.0.i.i, i32 noundef 0) #14 + %call5 = call i32 @test_int_ne(ptr noundef nonnull @.str.4, i32 noundef 208, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.27, i32 noundef %retval.0.i.i, i32 noundef 0) #13 %tobool6.not = icmp eq i32 %call5, 0 br i1 %tobool6.not, label %return, label %lor.lhs.false @@ -946,18 +948,18 @@ lor.lhs.false: ; preds = %entry call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %params.i.i27) call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %n.i.i28) call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %tmp.i.i29) - call void @OSSL_PARAM_construct_uint(ptr nonnull sret(%struct.ossl_param_st) align 8 %tmp.i.i29, ptr noundef nonnull @.str.48, ptr noundef nonnull %n.i.i28) #14 + call void @OSSL_PARAM_construct_uint(ptr nonnull sret(%struct.ossl_param_st) align 8 %tmp.i.i29, ptr noundef nonnull @.str.48, ptr noundef nonnull %n.i.i28) #13 %2 = getelementptr inbounds nuw i8, ptr %params.i.i27, i64 40 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %2, i8 0, i64 40, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(40) %params.i.i27, ptr noundef nonnull align 8 dereferenceable(40) %tmp.i.i29, i64 40, i1 false) - %call.i.i30 = call i32 @EVP_RAND_CTX_get_params(ptr noundef %public, ptr noundef nonnull %params.i.i27) #14 + %call.i.i30 = call i32 @EVP_RAND_CTX_get_params(ptr noundef %public, ptr noundef nonnull %params.i.i27) #13 %tobool.not.i.i31 = icmp eq i32 %call.i.i30, 0 %3 = load i32, ptr %n.i.i28, align 4 %retval.0.i.i32 = select i1 %tobool.not.i.i31, i32 0, i32 %3 call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %params.i.i27) call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %n.i.i28) call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %tmp.i.i29) - %call8 = call i32 @test_int_ne(ptr noundef nonnull @.str.4, i32 noundef 209, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.27, i32 noundef %retval.0.i.i32, i32 noundef 0) #14 + %call8 = call i32 @test_int_ne(ptr noundef nonnull @.str.4, i32 noundef 209, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.27, i32 noundef %retval.0.i.i32, i32 noundef 0) #13 %tobool9.not = icmp eq i32 %call8, 0 br i1 %tobool9.not, label %return, label %lor.lhs.false10 @@ -965,18 +967,18 @@ lor.lhs.false10: ; preds = %lor.lhs.false call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %params.i.i33) call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %n.i.i34) call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %tmp.i.i35) - call void @OSSL_PARAM_construct_uint(ptr nonnull sret(%struct.ossl_param_st) align 8 %tmp.i.i35, ptr noundef nonnull @.str.48, ptr noundef nonnull %n.i.i34) #14 + call void @OSSL_PARAM_construct_uint(ptr nonnull sret(%struct.ossl_param_st) align 8 %tmp.i.i35, ptr noundef nonnull @.str.48, ptr noundef nonnull %n.i.i34) #13 %4 = getelementptr inbounds nuw i8, ptr %params.i.i33, i64 40 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %4, i8 0, i64 40, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(40) %params.i.i33, ptr noundef nonnull align 8 dereferenceable(40) %tmp.i.i35, i64 40, i1 false) - %call.i.i36 = call i32 @EVP_RAND_CTX_get_params(ptr noundef %private, ptr noundef nonnull %params.i.i33) #14 + %call.i.i36 = call i32 @EVP_RAND_CTX_get_params(ptr noundef %private, ptr noundef nonnull %params.i.i33) #13 %tobool.not.i.i37 = icmp eq i32 %call.i.i36, 0 %5 = load i32, ptr %n.i.i34, align 4 %retval.0.i.i38 = select i1 %tobool.not.i.i37, i32 0, i32 %5 call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %params.i.i33) call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %n.i.i34) call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %tmp.i.i35) - %call12 = call i32 @test_int_ne(ptr noundef nonnull @.str.4, i32 noundef 210, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.27, i32 noundef %retval.0.i.i38, i32 noundef 0) #14 + %call12 = call i32 @test_int_ne(ptr noundef nonnull @.str.4, i32 noundef 210, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.27, i32 noundef %retval.0.i.i38, i32 noundef 0) #13 %tobool13.not = icmp eq i32 %call12, 0 br i1 %tobool13.not, label %return, label %if.end15 @@ -985,20 +987,20 @@ if.end15: ; preds = %lor.lhs.false10 br i1 %cmp16, label %if.then17, label %if.end19 if.then17: ; preds = %if.end15 - %call18 = call i64 @time(ptr noundef null) #14 + %call18 = call i64 @time(ptr noundef null) #13 br label %if.end19 if.end19: ; preds = %if.then17, %if.end15 %reseed_when.addr.0 = phi i64 [ %call18, %if.then17 ], [ %reseed_when, %if.end15 ] %cmp20.not = icmp eq i32 %expect_primary_reseed, 0 %cond21 = select i1 %cmp20.not, i64 0, i64 %reseed_when.addr.0 - %call.i = call ptr @RAND_get0_public(ptr noundef null) #14 - %call.i.i39 = call ptr @RAND_get_rand_method() #14 + %call.i = call ptr @RAND_get0_public(ptr noundef null) #13 + %call.i.i39 = call ptr @RAND_get_rand_method() #13 %cmp.not.i.i = icmp eq ptr %call.i.i39, null br i1 %cmp.not.i.i, label %if.end7.i.i, label %land.lhs.true.i.i land.lhs.true.i.i: ; preds = %if.end19 - %call1.i.i = call ptr @RAND_OpenSSL() #14 + %call1.i.i = call ptr @RAND_OpenSSL() #13 %cmp2.not.i.i = icmp eq ptr %call.i.i39, %call1.i.i br i1 %cmp2.not.i.i, label %if.end7.i.i, label %if.then.i.i @@ -1009,7 +1011,7 @@ if.then.i.i: ; preds = %land.lhs.true.i.i br i1 %cmp3.not.i.i, label %rand_bytes.exit, label %if.then4.i.i if.then4.i.i: ; preds = %if.then.i.i - %call6.i.i = call i32 %6(ptr noundef nonnull %spec.select, i32 noundef range(i32 16, 257) 16) #14 + %call6.i.i = call i32 %6(ptr noundef nonnull %spec.select, i32 noundef range(i32 16, 257) 16) #13 br label %rand_bytes.exit if.end7.i.i: ; preds = %land.lhs.true.i.i, %if.end19 @@ -1017,23 +1019,23 @@ if.end7.i.i: ; preds = %land.lhs.true.i.i, br i1 %cmp8.not.i.i, label %rand_bytes.exit, label %if.then9.i.i if.then9.i.i: ; preds = %if.end7.i.i - %call10.i.i = call i32 @EVP_RAND_generate(ptr noundef nonnull %call.i, ptr noundef nonnull %spec.select, i64 noundef 16, i32 noundef 0, i32 noundef 0, ptr noundef null, i64 noundef 0) #14 + %call10.i.i = call i32 @EVP_RAND_generate(ptr noundef nonnull %call.i, ptr noundef nonnull %spec.select, i64 noundef 16, i32 noundef 0, i32 noundef 0, ptr noundef null, i64 noundef 0) #13 br label %rand_bytes.exit rand_bytes.exit: ; preds = %if.then.i.i, %if.then4.i.i, %if.end7.i.i, %if.then9.i.i %retval.0.i.i40 = phi i32 [ %call6.i.i, %if.then4.i.i ], [ %call10.i.i, %if.then9.i.i ], [ -1, %if.then.i.i ], [ 0, %if.end7.i.i ] - %call23 = call i32 @test_int_eq(ptr noundef nonnull @.str.4, i32 noundef 223, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.31, i32 noundef %retval.0.i.i40, i32 noundef 1) #14 + %call23 = call i32 @test_int_eq(ptr noundef nonnull @.str.4, i32 noundef 223, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.31, i32 noundef %retval.0.i.i40, i32 noundef 1) #13 %tobool24.not = icmp eq i32 %call23, 0 br i1 %tobool24.not, label %return, label %lor.lhs.false25 lor.lhs.false25: ; preds = %rand_bytes.exit - %call.i41 = call ptr @RAND_get0_private(ptr noundef null) #14 - %call.i.i42 = call ptr @RAND_get_rand_method() #14 + %call.i41 = call ptr @RAND_get0_private(ptr noundef null) #13 + %call.i.i42 = call ptr @RAND_get_rand_method() #13 %cmp.not.i.i43 = icmp eq ptr %call.i.i42, null br i1 %cmp.not.i.i43, label %if.end7.i.i53, label %land.lhs.true.i.i44 land.lhs.true.i.i44: ; preds = %lor.lhs.false25 - %call1.i.i45 = call ptr @RAND_OpenSSL() #14 + %call1.i.i45 = call ptr @RAND_OpenSSL() #13 %cmp2.not.i.i46 = icmp eq ptr %call.i.i42, %call1.i.i45 br i1 %cmp2.not.i.i46, label %if.end7.i.i53, label %if.then.i.i47 @@ -1044,7 +1046,7 @@ if.then.i.i47: ; preds = %land.lhs.true.i.i44 br i1 %cmp3.not.i.i49, label %rand_priv_bytes.exit, label %if.then4.i.i50 if.then4.i.i50: ; preds = %if.then.i.i47 - %call6.i.i51 = call i32 %7(ptr noundef nonnull %private_random.addr.0, i32 noundef range(i32 16, 257) 16) #14 + %call6.i.i51 = call i32 %7(ptr noundef nonnull %private_random.addr.0, i32 noundef range(i32 16, 257) 16) #13 br label %rand_priv_bytes.exit if.end7.i.i53: ; preds = %land.lhs.true.i.i44, %lor.lhs.false25 @@ -1052,31 +1054,31 @@ if.end7.i.i53: ; preds = %land.lhs.true.i.i44 br i1 %cmp8.not.i.i54, label %rand_priv_bytes.exit, label %if.then9.i.i55 if.then9.i.i55: ; preds = %if.end7.i.i53 - %call10.i.i56 = call i32 @EVP_RAND_generate(ptr noundef nonnull %call.i41, ptr noundef nonnull %private_random.addr.0, i64 noundef 16, i32 noundef 0, i32 noundef 0, ptr noundef null, i64 noundef 0) #14 + %call10.i.i56 = call i32 @EVP_RAND_generate(ptr noundef nonnull %call.i41, ptr noundef nonnull %private_random.addr.0, i64 noundef 16, i32 noundef 0, i32 noundef 0, ptr noundef null, i64 noundef 0) #13 br label %rand_priv_bytes.exit rand_priv_bytes.exit: ; preds = %if.then.i.i47, %if.then4.i.i50, %if.end7.i.i53, %if.then9.i.i55 %retval.0.i.i52 = phi i32 [ %call6.i.i51, %if.then4.i.i50 ], [ %call10.i.i56, %if.then9.i.i55 ], [ -1, %if.then.i.i47 ], [ 0, %if.end7.i.i53 ] - %call27 = call i32 @test_int_eq(ptr noundef nonnull @.str.4, i32 noundef 225, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.31, i32 noundef %retval.0.i.i52, i32 noundef 1) #14 + %call27 = call i32 @test_int_eq(ptr noundef nonnull @.str.4, i32 noundef 225, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.31, i32 noundef %retval.0.i.i52, i32 noundef 1) #13 %tobool28.not = icmp eq i32 %call27, 0 br i1 %tobool28.not, label %return, label %if.end30 if.end30: ; preds = %rand_priv_bytes.exit - %call31 = call i64 @time(ptr noundef null) #14 - %call.i57 = call i32 @EVP_RAND_get_state(ptr noundef %primary) #14 - %call33 = call i32 @test_int_eq(ptr noundef nonnull @.str.4, i32 noundef 235, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.34, i32 noundef %call.i57, i32 noundef 1) #14 + %call31 = call i64 @time(ptr noundef null) #13 + %call.i57 = call i32 @EVP_RAND_get_state(ptr noundef %primary) #13 + %call33 = call i32 @test_int_eq(ptr noundef nonnull @.str.4, i32 noundef 235, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.34, i32 noundef %call.i57, i32 noundef 1) #13 %tobool34.not = icmp eq i32 %call33, 0 br i1 %tobool34.not, label %return, label %lor.lhs.false35 lor.lhs.false35: ; preds = %if.end30 - %call.i58 = call i32 @EVP_RAND_get_state(ptr noundef %public) #14 - %call37 = call i32 @test_int_eq(ptr noundef nonnull @.str.4, i32 noundef 236, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.34, i32 noundef %call.i58, i32 noundef 1) #14 + %call.i58 = call i32 @EVP_RAND_get_state(ptr noundef %public) #13 + %call37 = call i32 @test_int_eq(ptr noundef nonnull @.str.4, i32 noundef 236, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.34, i32 noundef %call.i58, i32 noundef 1) #13 %tobool38.not = icmp eq i32 %call37, 0 br i1 %tobool38.not, label %return, label %lor.lhs.false39 lor.lhs.false39: ; preds = %lor.lhs.false35 - %call.i59 = call i32 @EVP_RAND_get_state(ptr noundef %private) #14 - %call41 = call i32 @test_int_eq(ptr noundef nonnull @.str.4, i32 noundef 237, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.34, i32 noundef %call.i59, i32 noundef 1) #14 + %call.i59 = call i32 @EVP_RAND_get_state(ptr noundef %private) #13 + %call41 = call i32 @test_int_eq(ptr noundef nonnull @.str.4, i32 noundef 237, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.34, i32 noundef %call.i59, i32 noundef 1) #13 %tobool42.not = icmp eq i32 %call41, 0 br i1 %tobool42.not, label %return, label %if.then46 @@ -1084,70 +1086,70 @@ if.then46: ; preds = %lor.lhs.false39 call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %params.i.i60) call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %n.i.i61) call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %tmp.i.i62) - call void @OSSL_PARAM_construct_uint(ptr nonnull sret(%struct.ossl_param_st) align 8 %tmp.i.i62, ptr noundef nonnull @.str.48, ptr noundef nonnull %n.i.i61) #14 + call void @OSSL_PARAM_construct_uint(ptr nonnull sret(%struct.ossl_param_st) align 8 %tmp.i.i62, ptr noundef nonnull @.str.48, ptr noundef nonnull %n.i.i61) #13 %8 = getelementptr inbounds nuw i8, ptr %params.i.i60, i64 40 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %8, i8 0, i64 40, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(40) %params.i.i60, ptr noundef nonnull align 8 dereferenceable(40) %tmp.i.i62, i64 40, i1 false) - %call.i.i63 = call i32 @EVP_RAND_CTX_get_params(ptr noundef %primary, ptr noundef nonnull %params.i.i60) #14 + %call.i.i63 = call i32 @EVP_RAND_CTX_get_params(ptr noundef %primary, ptr noundef nonnull %params.i.i60) #13 %tobool.not.i.i64 = icmp eq i32 %call.i.i63, 0 %9 = load i32, ptr %n.i.i61, align 4 %retval.0.i.i65 = select i1 %tobool.not.i.i64, i32 0, i32 %9 call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %params.i.i60) call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %n.i.i61) call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %tmp.i.i62) - %call48 = call i32 @test_int_ge(ptr noundef nonnull @.str.4, i32 noundef 242, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.38, i32 noundef %retval.0.i.i65, i32 noundef %retval.0.i.i) #14 + %call48 = call i32 @test_int_ge(ptr noundef nonnull @.str.4, i32 noundef 242, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.38, i32 noundef %retval.0.i.i65, i32 noundef %retval.0.i.i) #13 %tobool49.not = icmp eq i32 %call48, 0 br i1 %tobool49.not, label %return, label %if.then54 if.then54: ; preds = %if.then46 %call55 = call fastcc i32 @reseed_counter(ptr noundef %public) - %call56 = call i32 @test_int_ge(ptr noundef nonnull @.str.4, i32 noundef 248, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.40, i32 noundef %call55, i32 noundef %retval.0.i.i32) #14 + %call56 = call i32 @test_int_ge(ptr noundef nonnull @.str.4, i32 noundef 248, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.40, i32 noundef %call55, i32 noundef %retval.0.i.i32) #13 %tobool57.not = icmp eq i32 %call56, 0 br i1 %tobool57.not, label %return, label %lor.lhs.false58 lor.lhs.false58: ; preds = %if.then54 %call59 = call fastcc i32 @reseed_counter(ptr noundef %public) %call60 = call fastcc i32 @reseed_counter(ptr noundef %primary) - %call61 = call i32 @test_uint_ge(ptr noundef nonnull @.str.4, i32 noundef 250, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.37, i32 noundef %call59, i32 noundef %call60) #14 + %call61 = call i32 @test_uint_ge(ptr noundef nonnull @.str.4, i32 noundef 250, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.37, i32 noundef %call59, i32 noundef %call60) #13 %tobool62.not = icmp eq i32 %call61, 0 br i1 %tobool62.not, label %return, label %if.then67 if.then67: ; preds = %lor.lhs.false58 %call68 = call fastcc i32 @reseed_counter(ptr noundef %private) - %call69 = call i32 @test_int_ge(ptr noundef nonnull @.str.4, i32 noundef 256, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.42, i32 noundef %call68, i32 noundef %retval.0.i.i38) #14 + %call69 = call i32 @test_int_ge(ptr noundef nonnull @.str.4, i32 noundef 256, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.42, i32 noundef %call68, i32 noundef %retval.0.i.i38) #13 %tobool70.not = icmp eq i32 %call69, 0 br i1 %tobool70.not, label %return, label %lor.lhs.false71 lor.lhs.false71: ; preds = %if.then67 %call72 = call fastcc i32 @reseed_counter(ptr noundef %private) %call73 = call fastcc i32 @reseed_counter(ptr noundef %primary) - %call74 = call i32 @test_uint_ge(ptr noundef nonnull @.str.4, i32 noundef 258, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.37, i32 noundef %call72, i32 noundef %call73) #14 + %call74 = call i32 @test_uint_ge(ptr noundef nonnull @.str.4, i32 noundef 258, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.37, i32 noundef %call72, i32 noundef %call73) #13 %tobool75.not = icmp eq i32 %call74, 0 br i1 %tobool75.not, label %return, label %if.then80 if.then80: ; preds = %lor.lhs.false71 %call81 = call fastcc i64 @reseed_time(ptr noundef %primary) - %call82 = call i32 @test_time_t_le(ptr noundef nonnull @.str.4, i32 noundef 264, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.44, i64 noundef %cond21, i64 noundef %call81) #14 + %call82 = call i32 @test_time_t_le(ptr noundef nonnull @.str.4, i32 noundef 264, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.44, i64 noundef %cond21, i64 noundef %call81) #13 %tobool83.not = icmp eq i32 %call82, 0 br i1 %tobool83.not, label %return, label %lor.lhs.false84 lor.lhs.false84: ; preds = %if.then80 %call85 = call fastcc i64 @reseed_time(ptr noundef %primary) - %call86 = call i32 @test_time_t_le(ptr noundef nonnull @.str.4, i32 noundef 265, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.45, i64 noundef %call85, i64 noundef %call31) #14 + %call86 = call i32 @test_time_t_le(ptr noundef nonnull @.str.4, i32 noundef 265, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.45, i64 noundef %call85, i64 noundef %call31) #13 %tobool87.not = icmp eq i32 %call86, 0 br i1 %tobool87.not, label %return, label %if.end89 if.end89: ; preds = %lor.lhs.false84 %call90 = call fastcc i64 @reseed_time(ptr noundef %public) %call91 = call fastcc i64 @reseed_time(ptr noundef %primary) - %call92 = call i32 @test_time_t_ge(ptr noundef nonnull @.str.4, i32 noundef 269, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.44, i64 noundef %call90, i64 noundef %call91) #14 + %call92 = call i32 @test_time_t_ge(ptr noundef nonnull @.str.4, i32 noundef 269, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.44, i64 noundef %call90, i64 noundef %call91) #13 %tobool93.not = icmp eq i32 %call92, 0 br i1 %tobool93.not, label %return, label %lor.lhs.false94 lor.lhs.false94: ; preds = %if.end89 %call95 = call fastcc i64 @reseed_time(ptr noundef %private) %call96 = call fastcc i64 @reseed_time(ptr noundef %primary) - %call97 = call i32 @test_time_t_ge(ptr noundef nonnull @.str.4, i32 noundef 270, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.44, i64 noundef %call95, i64 noundef %call96) #14 + %call97 = call i32 @test_time_t_ge(ptr noundef nonnull @.str.4, i32 noundef 270, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.44, i64 noundef %call95, i64 noundef %call96) #13 %tobool98.not = icmp ne i32 %call97, 0 %spec.select26 = zext i1 %tobool98.not to i32 br label %return @@ -1166,11 +1168,11 @@ entry: call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %params.i.i) call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %n.i.i) call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %tmp.i.i) - call void @OSSL_PARAM_construct_uint(ptr nonnull sret(%struct.ossl_param_st) align 8 %tmp.i.i, ptr noundef nonnull @.str.48, ptr noundef nonnull %n.i.i) #14 + call void @OSSL_PARAM_construct_uint(ptr nonnull sret(%struct.ossl_param_st) align 8 %tmp.i.i, ptr noundef nonnull @.str.48, ptr noundef nonnull %n.i.i) #13 %0 = getelementptr inbounds nuw i8, ptr %params.i.i, i64 40 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %0, i8 0, i64 40, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(40) %params.i.i, ptr noundef nonnull align 8 dereferenceable(40) %tmp.i.i, i64 40, i1 false) - %call.i.i = call i32 @EVP_RAND_CTX_get_params(ptr noundef %drbg, ptr noundef nonnull %params.i.i) #14 + %call.i.i = call i32 @EVP_RAND_CTX_get_params(ptr noundef %drbg, ptr noundef nonnull %params.i.i) #13 %tobool.not.i.i = icmp eq i32 %call.i.i, 0 %1 = load i32, ptr %n.i.i, align 4 call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %params.i.i) @@ -1213,11 +1215,11 @@ entry: call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %params.i) call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %n.i) call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %tmp.i) - call void @OSSL_PARAM_construct_uint(ptr nonnull sret(%struct.ossl_param_st) align 8 %tmp.i, ptr noundef nonnull @.str.48, ptr noundef nonnull %n.i) #14 + call void @OSSL_PARAM_construct_uint(ptr nonnull sret(%struct.ossl_param_st) align 8 %tmp.i, ptr noundef nonnull @.str.48, ptr noundef nonnull %n.i) #13 %0 = getelementptr inbounds nuw i8, ptr %params.i, i64 40 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %0, i8 0, i64 40, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(40) %params.i, ptr noundef nonnull align 8 dereferenceable(40) %tmp.i, i64 40, i1 false) - %call.i = call i32 @EVP_RAND_CTX_get_params(ptr noundef %drbg, ptr noundef nonnull %params.i) #14 + %call.i = call i32 @EVP_RAND_CTX_get_params(ptr noundef %drbg, ptr noundef nonnull %params.i) #13 %tobool.not.i = icmp eq i32 %call.i, 0 %1 = load i32, ptr %n.i, align 4 %retval.0.i = select i1 %tobool.not.i, i32 0, i32 %1 @@ -1241,11 +1243,11 @@ entry: %params = alloca [2 x %struct.ossl_param_st], align 16 %t = alloca i64, align 8 %tmp = alloca %struct.ossl_param_st, align 8 - call void @OSSL_PARAM_construct_time_t(ptr nonnull sret(%struct.ossl_param_st) align 8 %tmp, ptr noundef nonnull @.str.49, ptr noundef nonnull %t) #14 + call void @OSSL_PARAM_construct_time_t(ptr nonnull sret(%struct.ossl_param_st) align 8 %tmp, ptr noundef nonnull @.str.49, ptr noundef nonnull %t) #13 %0 = getelementptr inbounds nuw i8, ptr %params, i64 40 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %0, i8 0, i64 40, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(40) %params, ptr noundef nonnull align 8 dereferenceable(40) %tmp, i64 40, i1 false) - %call = call i32 @EVP_RAND_CTX_get_params(ptr noundef %drbg, ptr noundef nonnull %params) #14 + %call = call i32 @EVP_RAND_CTX_get_params(ptr noundef %drbg, ptr noundef nonnull %params) #13 %tobool.not = icmp eq i32 %call, 0 %1 = load i64, ptr %t, align 8 %retval.0 = select i1 %tobool.not, i64 0, i64 %1 @@ -1300,7 +1302,7 @@ entry: br i1 %cmp, label %if.end, label %if.end8 if.end: ; preds = %entry - %call = tail call i32 @memcmp(ptr noundef nonnull dereferenceable(16) %left, ptr noundef nonnull dereferenceable(16) %right, i64 noundef 16) #16 + %call = tail call i32 @memcmp(ptr noundef nonnull dereferenceable(16) %left, ptr noundef nonnull dereferenceable(16) %right, i64 noundef 16) #15 %cmp4 = icmp eq i32 %call, 0 br i1 %cmp4, label %if.then5, label %if.end8 @@ -1322,7 +1324,7 @@ declare void @test_note(ptr noundef, ...) local_unnamed_addr #1 ; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read) uwtable define internal i32 @compare_rand_chunk(ptr noundef readonly captures(none) %left, ptr noundef readonly captures(none) %right) #10 { entry: - %call = tail call i32 @memcmp(ptr noundef nonnull dereferenceable(2) %left, ptr noundef nonnull dereferenceable(2) %right, i64 noundef 2) #16 + %call = tail call i32 @memcmp(ptr noundef nonnull dereferenceable(2) %left, ptr noundef nonnull dereferenceable(2) %right, i64 noundef 2) #15 ret i32 %call } @@ -1358,38 +1360,38 @@ entry: %params = alloca [2 x %struct.ossl_param_st], align 16 %tmp = alloca %struct.ossl_param_st, align 8 %tmp2 = alloca %struct.ossl_param_st, align 8 - call void @OSSL_PARAM_construct_utf8_string(ptr nonnull sret(%struct.ossl_param_st) align 8 %tmp, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.90, i64 noundef 0) #14 + call void @OSSL_PARAM_construct_utf8_string(ptr nonnull sret(%struct.ossl_param_st) align 8 %tmp, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.90, i64 noundef 0) #13 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(40) %params, ptr noundef nonnull align 8 dereferenceable(40) %tmp, i64 40, i1 false) %arrayidx1 = getelementptr inbounds nuw i8, ptr %params, i64 40 - call void @OSSL_PARAM_construct_end(ptr nonnull sret(%struct.ossl_param_st) align 8 %tmp2) #14 + call void @OSSL_PARAM_construct_end(ptr nonnull sret(%struct.ossl_param_st) align 8 %tmp2) #13 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %arrayidx1, ptr noundef nonnull align 8 dereferenceable(40) %tmp2, i64 40, i1 false) - %call = call ptr @EVP_RAND_fetch(ptr noundef null, ptr noundef nonnull @.str.92, ptr noundef null) #14 - %call3 = call i32 @test_ptr(ptr noundef nonnull @.str.4, i32 noundef 798, ptr noundef nonnull @.str.91, ptr noundef %call) #14 + %call = call ptr @EVP_RAND_fetch(ptr noundef null, ptr noundef nonnull @.str.92, ptr noundef null) #13 + %call3 = call i32 @test_ptr(ptr noundef nonnull @.str.4, i32 noundef 798, ptr noundef nonnull @.str.91, ptr noundef %call) #13 %tobool.not = icmp eq i32 %call3, 0 br i1 %tobool.not, label %if.then, label %lor.lhs.false lor.lhs.false: ; preds = %entry - %call4 = call ptr @EVP_RAND_CTX_new(ptr noundef %call, ptr noundef %parent) #14 - %call5 = call i32 @test_ptr(ptr noundef nonnull @.str.4, i32 noundef 799, ptr noundef nonnull @.str.93, ptr noundef %call4) #14 + %call4 = call ptr @EVP_RAND_CTX_new(ptr noundef %call, ptr noundef %parent) #13 + %call5 = call i32 @test_ptr(ptr noundef nonnull @.str.4, i32 noundef 799, ptr noundef nonnull @.str.93, ptr noundef %call4) #13 %tobool6.not = icmp eq i32 %call5, 0 br i1 %tobool6.not, label %if.then, label %lor.lhs.false7 lor.lhs.false7: ; preds = %lor.lhs.false - %call8 = call i32 @EVP_RAND_CTX_set_params(ptr noundef %call4, ptr noundef nonnull %params) #14 + %call8 = call i32 @EVP_RAND_CTX_set_params(ptr noundef %call4, ptr noundef nonnull %params) #13 %cmp = icmp ne i32 %call8, 0 %conv = zext i1 %cmp to i32 - %call9 = call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 800, ptr noundef nonnull @.str.94, i32 noundef %conv) #14 + %call9 = call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 800, ptr noundef nonnull @.str.94, i32 noundef %conv) #13 %tobool10.not = icmp eq i32 %call9, 0 br i1 %tobool10.not, label %if.then, label %if.end if.then: ; preds = %lor.lhs.false7, %lor.lhs.false, %entry %drbg.0 = phi ptr [ %call4, %lor.lhs.false7 ], [ %call4, %lor.lhs.false ], [ null, %entry ] - call void @EVP_RAND_CTX_free(ptr noundef %drbg.0) #14 + call void @EVP_RAND_CTX_free(ptr noundef %drbg.0) #13 br label %if.end if.end: ; preds = %if.then, %lor.lhs.false7 %drbg.1 = phi ptr [ %call4, %lor.lhs.false7 ], [ null, %if.then ] - call void @EVP_RAND_free(ptr noundef %call) #14 + call void @EVP_RAND_free(ptr noundef %call) #13 ret ptr %drbg.1 } @@ -1425,15 +1427,15 @@ entry: %tmp.i = alloca %struct.ossl_param_st, align 8 %tmp2.i = alloca %struct.ossl_param_st, align 8 %buf = alloca [256 x i8], align 16 - %call = tail call i64 @time(ptr noundef null) #14 - %call1 = tail call ptr @RAND_get0_public(ptr noundef null) #14 - %call2 = tail call i32 @test_ptr(ptr noundef nonnull @.str.4, i32 noundef 692, ptr noundef nonnull @.str.9, ptr noundef %call1) #14 + %call = tail call i64 @time(ptr noundef null) #13 + %call1 = tail call ptr @RAND_get0_public(ptr noundef null) #13 + %call2 = tail call i32 @test_ptr(ptr noundef nonnull @.str.4, i32 noundef 692, ptr noundef nonnull @.str.9, ptr noundef %call1) #13 %tobool.not = icmp eq i32 %call2, 0 br i1 %tobool.not, label %if.then, label %lor.lhs.false lor.lhs.false: ; preds = %entry - %call3 = tail call ptr @RAND_get0_private(ptr noundef null) #14 - %call4 = tail call i32 @test_ptr(ptr noundef nonnull @.str.4, i32 noundef 693, ptr noundef nonnull @.str.10, ptr noundef %call3) #14 + %call3 = tail call ptr @RAND_get0_private(ptr noundef null) #13 + %call4 = tail call i32 @test_ptr(ptr noundef nonnull @.str.4, i32 noundef 693, ptr noundef nonnull @.str.10, ptr noundef %call3) #13 %tobool5.not = icmp eq i32 %call4, 0 br i1 %tobool5.not, label %if.then, label %lor.lhs.false6 @@ -1443,19 +1445,19 @@ lor.lhs.false6: ; preds = %lor.lhs.false call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %tmp.i) call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %tmp2.i) store i32 1, ptr %t.addr.i, align 4 - call void @OSSL_PARAM_construct_int(ptr nonnull sret(%struct.ossl_param_st) align 8 %tmp.i, ptr noundef nonnull @.str.99, ptr noundef nonnull %t.addr.i) #14 + call void @OSSL_PARAM_construct_int(ptr nonnull sret(%struct.ossl_param_st) align 8 %tmp.i, ptr noundef nonnull @.str.99, ptr noundef nonnull %t.addr.i) #13 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(40) %params.i, ptr noundef nonnull align 8 dereferenceable(40) %tmp.i, i64 40, i1 false) %arrayidx1.i = getelementptr inbounds nuw i8, ptr %params.i, i64 40 - call void @OSSL_PARAM_construct_end(ptr nonnull sret(%struct.ossl_param_st) align 8 %tmp2.i) #14 + call void @OSSL_PARAM_construct_end(ptr nonnull sret(%struct.ossl_param_st) align 8 %tmp2.i) #13 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %arrayidx1.i, ptr noundef nonnull align 8 dereferenceable(40) %tmp2.i, i64 40, i1 false) - %call.i = call i32 @EVP_RAND_CTX_set_params(ptr noundef %call3, ptr noundef nonnull %params.i) #14 + %call.i = call i32 @EVP_RAND_CTX_set_params(ptr noundef %call3, ptr noundef nonnull %params.i) #13 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %t.addr.i) call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %params.i) call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %tmp.i) call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %tmp2.i) %cmp = icmp ne i32 %call.i, 0 %conv = zext i1 %cmp to i32 - %call8 = call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 694, ptr noundef nonnull @.str.97, i32 noundef %conv) #14 + %call8 = call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 694, ptr noundef nonnull @.str.97, i32 noundef %conv) #13 %tobool9.not = icmp eq i32 %call8, 0 br i1 %tobool9.not, label %if.then, label %lor.lhs.false10 @@ -1465,19 +1467,19 @@ lor.lhs.false10: ; preds = %lor.lhs.false6 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %tmp.i3) call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %tmp2.i4) store i32 1, ptr %t.addr.i1, align 4 - call void @OSSL_PARAM_construct_int(ptr nonnull sret(%struct.ossl_param_st) align 8 %tmp.i3, ptr noundef nonnull @.str.99, ptr noundef nonnull %t.addr.i1) #14 + call void @OSSL_PARAM_construct_int(ptr nonnull sret(%struct.ossl_param_st) align 8 %tmp.i3, ptr noundef nonnull @.str.99, ptr noundef nonnull %t.addr.i1) #13 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(40) %params.i2, ptr noundef nonnull align 8 dereferenceable(40) %tmp.i3, i64 40, i1 false) %arrayidx1.i5 = getelementptr inbounds nuw i8, ptr %params.i2, i64 40 - call void @OSSL_PARAM_construct_end(ptr nonnull sret(%struct.ossl_param_st) align 8 %tmp2.i4) #14 + call void @OSSL_PARAM_construct_end(ptr nonnull sret(%struct.ossl_param_st) align 8 %tmp2.i4) #13 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %arrayidx1.i5, ptr noundef nonnull align 8 dereferenceable(40) %tmp2.i4, i64 40, i1 false) - %call.i6 = call i32 @EVP_RAND_CTX_set_params(ptr noundef %call1, ptr noundef nonnull %params.i2) #14 + %call.i6 = call i32 @EVP_RAND_CTX_set_params(ptr noundef %call1, ptr noundef nonnull %params.i2) #13 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %t.addr.i1) call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %params.i2) call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %tmp.i3) call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %tmp2.i4) %cmp12 = icmp ne i32 %call.i6, 0 %conv13 = zext i1 %cmp12 to i32 - %call14 = call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 695, ptr noundef nonnull @.str.98, i32 noundef %conv13) #14 + %call14 = call i32 @test_true(ptr noundef nonnull @.str.4, i32 noundef 695, ptr noundef nonnull @.str.98, i32 noundef %conv13) #13 %tobool15.not = icmp eq i32 %call14, 0 br i1 %tobool15.not, label %if.then, label %do.body @@ -1486,13 +1488,13 @@ if.then: ; preds = %lor.lhs.false10, %l br label %do.end do.body: ; preds = %lor.lhs.false10, %do.cond - %call.i7 = call ptr @RAND_get0_public(ptr noundef null) #14 - %call.i.i = call ptr @RAND_get_rand_method() #14 + %call.i7 = call ptr @RAND_get0_public(ptr noundef null) #13 + %call.i.i = call ptr @RAND_get_rand_method() #13 %cmp.not.i.i = icmp eq ptr %call.i.i, null br i1 %cmp.not.i.i, label %if.end7.i.i, label %land.lhs.true.i.i land.lhs.true.i.i: ; preds = %do.body - %call1.i.i = call ptr @RAND_OpenSSL() #14 + %call1.i.i = call ptr @RAND_OpenSSL() #13 %cmp2.not.i.i = icmp eq ptr %call.i.i, %call1.i.i br i1 %cmp2.not.i.i, label %if.end7.i.i, label %if.then.i.i @@ -1503,7 +1505,7 @@ if.then.i.i: ; preds = %land.lhs.true.i.i br i1 %cmp3.not.i.i, label %if.then19, label %if.then4.i.i if.then4.i.i: ; preds = %if.then.i.i - %call6.i.i = call i32 %0(ptr noundef nonnull %buf, i32 noundef range(i32 16, 257) 256) #14 + %call6.i.i = call i32 %0(ptr noundef nonnull %buf, i32 noundef range(i32 16, 257) 256) #13 br label %rand_bytes.exit if.end7.i.i: ; preds = %land.lhs.true.i.i, %do.body @@ -1511,7 +1513,7 @@ if.end7.i.i: ; preds = %land.lhs.true.i.i, br i1 %cmp8.not.i.i, label %if.then19, label %if.then9.i.i if.then9.i.i: ; preds = %if.end7.i.i - %call10.i.i = call i32 @EVP_RAND_generate(ptr noundef nonnull %call.i7, ptr noundef nonnull %buf, i64 noundef 256, i32 noundef 0, i32 noundef 0, ptr noundef null, i64 noundef 0) #14 + %call10.i.i = call i32 @EVP_RAND_generate(ptr noundef nonnull %call.i7, ptr noundef nonnull %buf, i64 noundef 256, i32 noundef 0, i32 noundef 0, ptr noundef null, i64 noundef 0) #13 br label %rand_bytes.exit rand_bytes.exit: ; preds = %if.then4.i.i, %if.then9.i.i @@ -1524,13 +1526,13 @@ if.then19: ; preds = %if.end7.i.i, %if.th br label %if.end20 if.end20: ; preds = %if.then19, %rand_bytes.exit - %call.i8 = call ptr @RAND_get0_private(ptr noundef null) #14 - %call.i.i9 = call ptr @RAND_get_rand_method() #14 + %call.i8 = call ptr @RAND_get0_private(ptr noundef null) #13 + %call.i.i9 = call ptr @RAND_get_rand_method() #13 %cmp.not.i.i10 = icmp eq ptr %call.i.i9, null br i1 %cmp.not.i.i10, label %if.end7.i.i20, label %land.lhs.true.i.i11 land.lhs.true.i.i11: ; preds = %if.end20 - %call1.i.i12 = call ptr @RAND_OpenSSL() #14 + %call1.i.i12 = call ptr @RAND_OpenSSL() #13 %cmp2.not.i.i13 = icmp eq ptr %call.i.i9, %call1.i.i12 br i1 %cmp2.not.i.i13, label %if.end7.i.i20, label %if.then.i.i14 @@ -1541,7 +1543,7 @@ if.then.i.i14: ; preds = %land.lhs.true.i.i11 br i1 %cmp3.not.i.i16, label %if.then25, label %if.then4.i.i17 if.then4.i.i17: ; preds = %if.then.i.i14 - %call6.i.i18 = call i32 %1(ptr noundef nonnull %buf, i32 noundef range(i32 16, 257) 256) #14 + %call6.i.i18 = call i32 %1(ptr noundef nonnull %buf, i32 noundef range(i32 16, 257) 256) #13 br label %rand_priv_bytes.exit if.end7.i.i20: ; preds = %land.lhs.true.i.i11, %if.end20 @@ -1549,7 +1551,7 @@ if.end7.i.i20: ; preds = %land.lhs.true.i.i11 br i1 %cmp8.not.i.i21, label %if.then25, label %if.then9.i.i22 if.then9.i.i22: ; preds = %if.end7.i.i20 - %call10.i.i23 = call i32 @EVP_RAND_generate(ptr noundef nonnull %call.i8, ptr noundef nonnull %buf, i64 noundef 256, i32 noundef 0, i32 noundef 0, ptr noundef null, i64 noundef 0) #14 + %call10.i.i23 = call i32 @EVP_RAND_generate(ptr noundef nonnull %call.i8, ptr noundef nonnull %buf, i64 noundef 256, i32 noundef 0, i32 noundef 0, ptr noundef null, i64 noundef 0) #13 br label %rand_priv_bytes.exit rand_priv_bytes.exit: ; preds = %if.then4.i.i17, %if.then9.i.i22 @@ -1562,7 +1564,7 @@ if.then25: ; preds = %if.end7.i.i20, %if. br label %do.cond do.cond: ; preds = %rand_priv_bytes.exit, %if.then25 - %call27 = call i64 @time(ptr noundef null) #14 + %call27 = call i64 @time(ptr noundef null) #13 %sub = sub nsw i64 %call27, %call %cmp28 = icmp slt i64 %sub, 5 br i1 %cmp28, label %do.body, label %do.end, !llvm.loop !13 @@ -1578,7 +1580,7 @@ declare i32 @pthread_create(ptr noundef, ptr noundef, ptr noundef, ptr noundef) define internal noalias noundef ptr @thread_run(ptr readnone captures(none) %arg) #0 { entry: tail call fastcc void @run_multi_thread_test() - tail call void @OPENSSL_thread_stop() #14 + tail call void @OPENSSL_thread_stop() #13 ret ptr null } @@ -1594,9 +1596,6 @@ declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #12 ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) declare void @llvm.lifetime.end.p0(i64 immarg, ptr captures(none)) #12 -; Function Attrs: nofree nounwind willreturn memory(argmem: read) -declare i32 @bcmp(ptr captures(none), ptr captures(none), i64) local_unnamed_addr #13 - attributes #0 = { nounwind uwtable "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } attributes #1 = { "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } attributes #2 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) } @@ -1610,10 +1609,9 @@ attributes #9 = { nofree "frame-pointer"="all" "no-trapping-math"="true" "stack- attributes #10 = { mustprogress nofree nounwind willreturn memory(argmem: read) uwtable "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } attributes #11 = { nofree noreturn nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } attributes #12 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } -attributes #13 = { nofree nounwind willreturn memory(argmem: read) } -attributes #14 = { nounwind } -attributes #15 = { noreturn nounwind } -attributes #16 = { nounwind willreturn memory(read) } +attributes #13 = { nounwind } +attributes #14 = { noreturn nounwind } +attributes #15 = { nounwind willreturn memory(read) } !llvm.module.flags = !{!0, !1, !2, !3, !4} diff --git a/bench/openssl/optimized/libssl-lib-t1_trce.ll b/bench/openssl/optimized/libssl-lib-t1_trce.ll index 6c875aa1147..4ab9438396d 100644 --- a/bench/openssl/optimized/libssl-lib-t1_trce.ll +++ b/bench/openssl/optimized/libssl-lib-t1_trce.ll @@ -732,7 +732,7 @@ if.end38: ; preds = %sw.bb for.body.i65: ; preds = %for.inc.i, %if.end38 %i.06.i = phi i64 [ 0, %if.end38 ], [ %inc.i66, %for.inc.i ] %tbl.addr.05.i = phi ptr [ @ssl_version_tbl, %if.end38 ], [ %incdec.ptr.i, %for.inc.i ] - %8 = load i32, ptr %tbl.addr.05.i, align 8 + %8 = load i32, ptr %tbl.addr.05.i, align 16 %cmp1.i = icmp eq i32 %8, %or br i1 %cmp1.i, label %if.then.i, label %for.inc.i @@ -803,7 +803,7 @@ if.end79: ; preds = %if.then53, %do_ssl_ for.body.i68: ; preds = %for.inc.i72, %if.end79 %i.06.i69 = phi i64 [ 0, %if.end79 ], [ %inc.i73, %for.inc.i72 ] %tbl.addr.05.i70 = phi ptr [ @ssl_content_tbl, %if.end79 ], [ %incdec.ptr.i74, %for.inc.i72 ] - %22 = load i32, ptr %tbl.addr.05.i70, align 8 + %22 = load i32, ptr %tbl.addr.05.i70, align 16 %cmp1.i71 = icmp eq i32 %22, %conv81 br i1 %cmp1.i71, label %if.then.i77, label %for.inc.i72 @@ -840,7 +840,7 @@ sw.bb93: ; preds = %if.end28 for.body.i80: ; preds = %for.inc.i84, %sw.bb93 %i.06.i81 = phi i64 [ 0, %sw.bb93 ], [ %inc.i85, %for.inc.i84 ] %tbl.addr.05.i82 = phi ptr [ @ssl_content_tbl, %sw.bb93 ], [ %incdec.ptr.i86, %for.inc.i84 ] - %28 = load i32, ptr %tbl.addr.05.i82, align 8 + %28 = load i32, ptr %tbl.addr.05.i82, align 16 %cmp1.i83 = icmp eq i32 %28, %conv95 br i1 %cmp1.i83, label %if.then.i89, label %for.inc.i84 @@ -895,7 +895,7 @@ if.end.i: ; preds = %sw.bb100 for.body.i.i: ; preds = %for.inc.i.i, %if.end.i %i.06.i.i = phi i64 [ 0, %if.end.i ], [ %inc.i.i, %for.inc.i.i ] %tbl.addr.05.i.i = phi ptr [ @ssl_handshake_tbl, %if.end.i ], [ %incdec.ptr.i.i, %for.inc.i.i ] - %35 = load i32, ptr %tbl.addr.05.i.i, align 8 + %35 = load i32, ptr %tbl.addr.05.i.i, align 16 %cmp1.i.i = icmp eq i32 %35, %conv9.i br i1 %cmp1.i.i, label %if.then.i.i, label %for.inc.i.i @@ -1228,7 +1228,7 @@ if.end.i: ; preds = %entry for.body.i.i: ; preds = %for.inc.i.i, %if.end.i %i.06.i.i = phi i64 [ 0, %if.end.i ], [ %inc.i.i, %for.inc.i.i ] %tbl.addr.05.i.i = phi ptr [ @ssl_version_tbl, %if.end.i ], [ %incdec.ptr.i.i, %for.inc.i.i ] - %2 = load i32, ptr %tbl.addr.05.i.i, align 8 + %2 = load i32, ptr %tbl.addr.05.i.i, align 16 %cmp1.i.i = icmp eq i32 %2, %or.i br i1 %cmp1.i.i, label %if.then.i.i, label %for.inc.i.i @@ -1387,7 +1387,7 @@ while.body: ; preds = %while.cond.preheade for.body.i: ; preds = %for.inc.i, %while.body %i.06.i = phi i64 [ 0, %while.body ], [ %inc.i, %for.inc.i ] %tbl.addr.05.i = phi ptr [ @ssl_ciphers_tbl, %while.body ], [ %incdec.ptr.i, %for.inc.i ] - %21 = load i32, ptr %tbl.addr.05.i, align 8 + %21 = load i32, ptr %tbl.addr.05.i, align 16 %cmp1.i = icmp eq i32 %21, %or37 br i1 %cmp1.i, label %if.then.i, label %for.inc.i @@ -1447,7 +1447,7 @@ while.body64: ; preds = %if.end57, %do_ssl_t for.body.i64: ; preds = %for.inc.i68, %while.body64 %i.06.i65 = phi i64 [ 0, %while.body64 ], [ %inc.i69, %for.inc.i68 ] %tbl.addr.05.i66 = phi ptr [ @ssl_comp_tbl, %while.body64 ], [ %incdec.ptr.i70, %for.inc.i68 ] - %26 = load i32, ptr %tbl.addr.05.i66, align 8 + %26 = load i32, ptr %tbl.addr.05.i66, align 16 %cmp1.i67 = icmp eq i32 %26, %conv68 br i1 %cmp1.i67, label %if.then.i73, label %for.inc.i68 @@ -1507,7 +1507,7 @@ if.end.i: ; preds = %entry for.body.i.i: ; preds = %for.inc.i.i, %if.end.i %i.06.i.i = phi i64 [ 0, %if.end.i ], [ %inc.i.i, %for.inc.i.i ] %tbl.addr.05.i.i = phi ptr [ @ssl_version_tbl, %if.end.i ], [ %incdec.ptr.i.i, %for.inc.i.i ] - %2 = load i32, ptr %tbl.addr.05.i.i, align 8 + %2 = load i32, ptr %tbl.addr.05.i.i, align 16 %cmp1.i.i = icmp eq i32 %2, %or.i br i1 %cmp1.i.i, label %if.then.i.i, label %for.inc.i.i @@ -1585,7 +1585,7 @@ if.end.i: ; preds = %entry for.body.i.i: ; preds = %for.inc.i.i, %if.end.i %i.06.i.i = phi i64 [ 0, %if.end.i ], [ %inc.i.i, %for.inc.i.i ] %tbl.addr.05.i.i = phi ptr [ @ssl_version_tbl, %if.end.i ], [ %incdec.ptr.i.i, %for.inc.i.i ] - %2 = load i32, ptr %tbl.addr.05.i.i, align 8 + %2 = load i32, ptr %tbl.addr.05.i.i, align 16 %cmp1.i.i = icmp eq i32 %2, %or.i br i1 %cmp1.i.i, label %if.then.i.i, label %for.inc.i.i @@ -1682,7 +1682,7 @@ if.end11: ; preds = %if.end8.if.end11_cr for.body.i: ; preds = %for.inc.i, %if.end11 %i.06.i = phi i64 [ 0, %if.end11 ], [ %inc.i, %for.inc.i ] %tbl.addr.05.i = phi ptr [ @ssl_ciphers_tbl, %if.end11 ], [ %incdec.ptr.i, %for.inc.i ] - %14 = load i32, ptr %tbl.addr.05.i, align 8 + %14 = load i32, ptr %tbl.addr.05.i, align 16 %cmp1.i = icmp eq i32 %14, %or br i1 %cmp1.i, label %if.then.i, label %for.inc.i @@ -1719,7 +1719,7 @@ if.end27: ; preds = %if.then23 for.body.i23: ; preds = %for.inc.i27, %if.end27 %i.06.i24 = phi i64 [ 0, %if.end27 ], [ %inc.i28, %for.inc.i27 ] %tbl.addr.05.i25 = phi ptr [ @ssl_comp_tbl, %if.end27 ], [ %incdec.ptr.i29, %for.inc.i27 ] - %17 = load i32, ptr %tbl.addr.05.i25, align 8 + %17 = load i32, ptr %tbl.addr.05.i25, align 16 %cmp1.i26 = icmp eq i32 %17, %conv30 br i1 %cmp1.i26, label %if.then.i32, label %for.inc.i27 @@ -2111,7 +2111,7 @@ if.end57: ; preds = %if.then53 for.body.i: ; preds = %for.inc.i, %if.end57 %i.06.i = phi i64 [ 0, %if.end57 ], [ %inc.i, %for.inc.i ] %tbl.addr.05.i = phi ptr [ @ssl_groups_tbl, %if.end57 ], [ %incdec.ptr.i, %for.inc.i ] - %25 = load i32, ptr %tbl.addr.05.i, align 8 + %25 = load i32, ptr %tbl.addr.05.i, align 16 %cmp1.i = icmp eq i32 %25, %or br i1 %cmp1.i, label %if.then.i, label %for.inc.i @@ -2802,7 +2802,7 @@ if.end28: ; preds = %if.end for.body.i: ; preds = %for.inc.i, %if.end28 %i.06.i = phi i64 [ 0, %if.end28 ], [ %inc.i, %for.inc.i ] %tbl.addr.05.i = phi ptr [ @ssl_comp_cert_tbl, %if.end28 ], [ %incdec.ptr.i, %for.inc.i ] - %8 = load i32, ptr %tbl.addr.05.i, align 8 + %8 = load i32, ptr %tbl.addr.05.i, align 16 %cmp1.i = icmp eq i32 %8, %or br i1 %cmp1.i, label %if.then.i, label %for.inc.i @@ -2880,7 +2880,7 @@ if.then1: ; preds = %if.end for.body.i: ; preds = %for.inc.i, %if.then1 %i.06.i = phi i64 [ 0, %if.then1 ], [ %inc.i, %for.inc.i ] %tbl.addr.05.i = phi ptr [ @ssl_sigalg_tbl, %if.then1 ], [ %incdec.ptr.i, %for.inc.i ] - %7 = load i32, ptr %tbl.addr.05.i, align 8 + %7 = load i32, ptr %tbl.addr.05.i, align 16 %cmp1.i = icmp eq i32 %7, %or br i1 %cmp1.i, label %if.then.i, label %for.inc.i @@ -3046,7 +3046,7 @@ while.body.i: ; preds = %if.end20, %do_ssl_t for.body.i.i62: ; preds = %for.inc.i.i, %while.body.i %i.06.i.i = phi i64 [ 0, %while.body.i ], [ %inc.i.i63, %for.inc.i.i ] %tbl.addr.05.i.i = phi ptr [ @ssl_ctype_tbl, %while.body.i ], [ %incdec.ptr.i.i, %for.inc.i.i ] - %8 = load i32, ptr %tbl.addr.05.i.i, align 8 + %8 = load i32, ptr %tbl.addr.05.i.i, align 16 %cmp1.i.i = icmp eq i32 %8, %conv.i61 br i1 %cmp1.i.i, label %if.then.i.i, label %for.inc.i.i @@ -3128,7 +3128,7 @@ while.body: ; preds = %if.end53, %do_ssl_t for.body.i: ; preds = %for.inc.i, %while.body %i.06.i = phi i64 [ 0, %while.body ], [ %inc.i, %for.inc.i ] %tbl.addr.05.i = phi ptr [ @ssl_sigalg_tbl, %while.body ], [ %incdec.ptr.i, %for.inc.i ] - %17 = load i32, ptr %tbl.addr.05.i, align 8 + %17 = load i32, ptr %tbl.addr.05.i, align 16 %cmp1.i = icmp eq i32 %17, %or69 br i1 %cmp1.i, label %if.then.i, label %for.inc.i @@ -3554,7 +3554,7 @@ if.end47: ; preds = %if.end25 for.body.i.i: ; preds = %for.inc.i.i, %if.end47 %i.06.i.i = phi i64 [ 0, %if.end47 ], [ %inc.i.i, %for.inc.i.i ] %tbl.addr.05.i.i = phi ptr [ @ssl_exts_tbl, %if.end47 ], [ %incdec.ptr.i.i, %for.inc.i.i ] - %8 = load i32, ptr %tbl.addr.05.i.i, align 8 + %8 = load i32, ptr %tbl.addr.05.i.i, align 16 %cmp1.i.i = icmp eq i32 %8, %or31 br i1 %cmp1.i.i, label %if.then.i.i, label %for.inc.i.i @@ -3628,7 +3628,7 @@ while.body.us.i.i: ; preds = %do_ssl_trace_str.ex for.body.i.us.i.i: ; preds = %for.inc.i.us.i.i, %while.body.us.i.i %i.06.i.us.i.i = phi i64 [ 0, %while.body.us.i.i ], [ %inc.i.us.i.i, %for.inc.i.us.i.i ] %tbl.addr.05.i.us.i.i = phi ptr [ @ssl_comp_cert_tbl, %while.body.us.i.i ], [ %incdec.ptr.i.us.i.i, %for.inc.i.us.i.i ] - %13 = load i32, ptr %tbl.addr.05.i.us.i.i, align 8 + %13 = load i32, ptr %tbl.addr.05.i.us.i.i, align 16 %cmp1.i.us.i.i = icmp eq i32 %13, %or.us.i.i br i1 %cmp1.i.us.i.i, label %if.then.i.us.i.i, label %for.inc.i.us.i.i @@ -3666,7 +3666,7 @@ while.body.i.i: ; preds = %sw.bb11.i, %do_ssl_ for.body.i.i.i: ; preds = %for.inc.i.i.i, %while.body.i.i %i.06.i.i.i = phi i64 [ 0, %while.body.i.i ], [ %inc.i.i.i, %for.inc.i.i.i ] %tbl.addr.05.i.i.i = phi ptr [ @ssl_mfl_tbl, %while.body.i.i ], [ %incdec.ptr.i.i.i, %for.inc.i.i.i ] - %16 = load i32, ptr %tbl.addr.05.i.i.i, align 8 + %16 = load i32, ptr %tbl.addr.05.i.i.i, align 16 %cmp1.i.i.i = icmp eq i32 %16, %conv.i.i br i1 %cmp1.i.i.i, label %if.then.i.i.i, label %for.inc.i.i.i @@ -3716,7 +3716,7 @@ while.body.i198.i: ; preds = %if.end29.i, %do_ssl for.body.i.i203.i: ; preds = %for.inc.i.i207.i, %while.body.i198.i %i.06.i.i204.i = phi i64 [ 0, %while.body.i198.i ], [ %inc.i.i208.i, %for.inc.i.i207.i ] %tbl.addr.05.i.i205.i = phi ptr [ @ssl_point_tbl, %while.body.i198.i ], [ %incdec.ptr.i.i209.i, %for.inc.i.i207.i ] - %20 = load i32, ptr %tbl.addr.05.i.i205.i, align 8 + %20 = load i32, ptr %tbl.addr.05.i.i205.i, align 16 %cmp1.i.i206.i = icmp eq i32 %20, %conv.i201.i br i1 %cmp1.i.i206.i, label %if.then.i.i217.i, label %for.inc.i.i207.i @@ -3843,7 +3843,7 @@ while.body107.i: ; preds = %while.cond104.prehe for.body.i220.i: ; preds = %for.inc.i224.i, %while.body107.i %i.06.i221.i = phi i64 [ 0, %while.body107.i ], [ %inc.i225.i, %for.inc.i224.i ] %tbl.addr.05.i222.i = phi ptr [ @ssl_sigalg_tbl, %while.body107.i ], [ %incdec.ptr.i226.i, %for.inc.i224.i ] - %31 = load i32, ptr %tbl.addr.05.i222.i, align 8 + %31 = load i32, ptr %tbl.addr.05.i222.i, align 16 %cmp1.i223.i = icmp eq i32 %31, %or115.i br i1 %cmp1.i223.i, label %if.then.i229.i, label %for.inc.i224.i @@ -3947,7 +3947,7 @@ if.then163.i: ; preds = %sw.bb159.i for.body.i237.i: ; preds = %for.inc.i241.i, %if.then163.i %i.06.i238.i = phi i64 [ 0, %if.then163.i ], [ %inc.i242.i, %for.inc.i241.i ] %tbl.addr.05.i239.i = phi ptr [ @ssl_groups_tbl, %if.then163.i ], [ %incdec.ptr.i243.i, %for.inc.i241.i ] - %37 = load i32, ptr %tbl.addr.05.i239.i, align 8 + %37 = load i32, ptr %tbl.addr.05.i239.i, align 16 %cmp1.i240.i = icmp eq i32 %37, %or169.i br i1 %cmp1.i240.i, label %if.then.i246.i, label %for.inc.i241.i @@ -4030,7 +4030,7 @@ if.end221.i: ; preds = %if.end202.i for.body.i249.i: ; preds = %for.inc.i253.i, %if.end221.i %i.06.i250.i = phi i64 [ 0, %if.end221.i ], [ %inc.i254.i, %for.inc.i253.i ] %tbl.addr.05.i251.i = phi ptr [ @ssl_groups_tbl, %if.end221.i ], [ %incdec.ptr.i255.i, %for.inc.i253.i ] - %45 = load i32, ptr %tbl.addr.05.i251.i, align 8 + %45 = load i32, ptr %tbl.addr.05.i251.i, align 16 %cmp1.i252.i = icmp eq i32 %45, %or208.i br i1 %cmp1.i252.i, label %if.then.i258.i, label %for.inc.i253.i @@ -4092,7 +4092,7 @@ if.end235.i: ; preds = %if.then231.i for.body.i274.i: ; preds = %for.inc.i278.i, %if.end235.i %i.06.i275.i = phi i64 [ 0, %if.end235.i ], [ %inc.i279.i, %for.inc.i278.i ] %tbl.addr.05.i276.i = phi ptr [ @ssl_version_tbl, %if.end235.i ], [ %incdec.ptr.i280.i, %for.inc.i278.i ] - %50 = load i32, ptr %tbl.addr.05.i276.i, align 8 + %50 = load i32, ptr %tbl.addr.05.i276.i, align 16 %cmp1.i277.i = icmp eq i32 %50, %or241.i br i1 %cmp1.i277.i, label %if.then.i283.i, label %for.inc.i278.i @@ -4155,7 +4155,7 @@ while.body.i293.i: ; preds = %if.end272.i, %do_ss for.body.i.i298.i: ; preds = %for.inc.i.i302.i, %while.body.i293.i %i.06.i.i299.i = phi i64 [ 0, %while.body.i293.i ], [ %inc.i.i303.i, %for.inc.i.i302.i ] %tbl.addr.05.i.i300.i = phi ptr [ @ssl_psk_kex_modes_tbl, %while.body.i293.i ], [ %incdec.ptr.i.i304.i, %for.inc.i.i302.i ] - %55 = load i32, ptr %tbl.addr.05.i.i300.i, align 8 + %55 = load i32, ptr %tbl.addr.05.i.i300.i, align 16 %cmp1.i.i301.i = icmp eq i32 %55, %conv.i296.i br i1 %cmp1.i.i301.i, label %if.then.i.i312.i, label %for.inc.i.i302.i @@ -4222,7 +4222,7 @@ if.end309.i: ; preds = %if.then305.i for.body.i.i322.i: ; preds = %for.inc.i.i326.i, %if.end309.i %i.06.i.i323.i = phi i64 [ 0, %if.end309.i ], [ %inc.i.i327.i, %for.inc.i.i326.i ] %tbl.addr.05.i.i324.i = phi ptr [ @ssl_cert_type_tbl, %if.end309.i ], [ %incdec.ptr.i.i328.i, %for.inc.i.i326.i ] - %62 = load i32, ptr %tbl.addr.05.i.i324.i, align 8 + %62 = load i32, ptr %tbl.addr.05.i.i324.i, align 16 %cmp1.i.i325.i = icmp eq i32 %62, %conv.i320.i br i1 %cmp1.i.i325.i, label %if.then.i.i337.i, label %for.inc.i.i326.i diff --git a/bench/openssl/optimized/sslapitest-bin-tls-provider.ll b/bench/openssl/optimized/sslapitest-bin-tls-provider.ll index 332ffa13dda..1d922b889f6 100644 --- a/bench/openssl/optimized/sslapitest-bin-tls-provider.ll +++ b/bench/openssl/optimized/sslapitest-bin-tls-provider.ll @@ -2059,7 +2059,7 @@ xor_prov_get_keymgmt_new.exit.i: for.cond.i9.i: ; preds = %for.inc.i14.i, %xor_prov_get_keymgmt_new.exit.i %fns.addr.0.i10.i = phi ptr [ @xor_xorhmacsig_keymgmt_functions, %xor_prov_get_keymgmt_new.exit.i ], [ %incdec.ptr.i15.i, %for.inc.i14.i ] - %0 = load i32, ptr %fns.addr.0.i10.i, align 8 + %0 = load i32, ptr %fns.addr.0.i10.i, align 16 switch i32 %0, label %for.inc.i14.i [ i32 0, label %xor_prov_get_keymgmt_free.exit.i i32 10, label %if.then.i11.i @@ -2080,7 +2080,7 @@ xor_prov_get_keymgmt_free.exit.i: ; preds = %for.cond.i9.i, %if. for.cond.i16.i: ; preds = %for.inc.i21.i, %xor_prov_get_keymgmt_free.exit.i %fns.addr.0.i17.i = phi ptr [ @xor_xorhmacsig_keymgmt_functions, %xor_prov_get_keymgmt_free.exit.i ], [ %incdec.ptr.i22.i, %for.inc.i21.i ] - %2 = load i32, ptr %fns.addr.0.i17.i, align 8 + %2 = load i32, ptr %fns.addr.0.i17.i, align 16 switch i32 %2, label %for.inc.i21.i [ i32 0, label %xor_prov_import_key.exit i32 40, label %xor_prov_get_keymgmt_import.exit.i @@ -2126,7 +2126,7 @@ entry: for.cond.i.i: ; preds = %for.inc.i.i, %entry %fns.addr.0.i.i = phi ptr [ @xor_xorhmacsig_keymgmt_functions, %entry ], [ %incdec.ptr.i.i, %for.inc.i.i ] - %0 = load i32, ptr %fns.addr.0.i.i, align 8 + %0 = load i32, ptr %fns.addr.0.i.i, align 16 switch i32 %0, label %for.inc.i.i [ i32 0, label %xor_prov_free_key.exit i32 10, label %xor_prov_get_keymgmt_free.exit.i @@ -2599,7 +2599,7 @@ xor_prov_get_keymgmt_new.exit.i: for.cond.i9.i: ; preds = %for.inc.i14.i, %xor_prov_get_keymgmt_new.exit.i %fns.addr.0.i10.i = phi ptr [ @xor_xorhmacsig_keymgmt_functions, %xor_prov_get_keymgmt_new.exit.i ], [ %incdec.ptr.i15.i, %for.inc.i14.i ] - %0 = load i32, ptr %fns.addr.0.i10.i, align 8 + %0 = load i32, ptr %fns.addr.0.i10.i, align 16 switch i32 %0, label %for.inc.i14.i [ i32 0, label %xor_prov_get_keymgmt_free.exit.i i32 10, label %if.then.i11.i @@ -2620,7 +2620,7 @@ xor_prov_get_keymgmt_free.exit.i: ; preds = %for.cond.i9.i, %if. for.cond.i16.i: ; preds = %for.inc.i21.i, %xor_prov_get_keymgmt_free.exit.i %fns.addr.0.i17.i = phi ptr [ @xor_xorhmacsig_keymgmt_functions, %xor_prov_get_keymgmt_free.exit.i ], [ %incdec.ptr.i22.i, %for.inc.i21.i ] - %2 = load i32, ptr %fns.addr.0.i17.i, align 8 + %2 = load i32, ptr %fns.addr.0.i17.i, align 16 switch i32 %2, label %for.inc.i21.i [ i32 0, label %xor_prov_import_key.exit i32 40, label %xor_prov_get_keymgmt_import.exit.i @@ -2666,7 +2666,7 @@ entry: for.cond.i.i: ; preds = %for.inc.i.i, %entry %fns.addr.0.i.i = phi ptr [ @xor_xorhmacsig_keymgmt_functions, %entry ], [ %incdec.ptr.i.i, %for.inc.i.i ] - %0 = load i32, ptr %fns.addr.0.i.i, align 8 + %0 = load i32, ptr %fns.addr.0.i.i, align 16 switch i32 %0, label %for.inc.i.i [ i32 0, label %xor_prov_free_key.exit i32 10, label %xor_prov_get_keymgmt_free.exit.i @@ -2893,7 +2893,7 @@ xor_prov_get_keymgmt_new.exit.i: for.cond.i9.i: ; preds = %for.inc.i14.i, %xor_prov_get_keymgmt_new.exit.i %fns.addr.0.i10.i = phi ptr [ @xor_xorhmacsig_keymgmt_functions, %xor_prov_get_keymgmt_new.exit.i ], [ %incdec.ptr.i15.i, %for.inc.i14.i ] - %0 = load i32, ptr %fns.addr.0.i10.i, align 8 + %0 = load i32, ptr %fns.addr.0.i10.i, align 16 switch i32 %0, label %for.inc.i14.i [ i32 0, label %xor_prov_get_keymgmt_free.exit.i i32 10, label %if.then.i11.i @@ -2914,7 +2914,7 @@ xor_prov_get_keymgmt_free.exit.i: ; preds = %for.cond.i9.i, %if. for.cond.i16.i: ; preds = %for.inc.i21.i, %xor_prov_get_keymgmt_free.exit.i %fns.addr.0.i17.i = phi ptr [ @xor_xorhmacsig_keymgmt_functions, %xor_prov_get_keymgmt_free.exit.i ], [ %incdec.ptr.i22.i, %for.inc.i21.i ] - %2 = load i32, ptr %fns.addr.0.i17.i, align 8 + %2 = load i32, ptr %fns.addr.0.i17.i, align 16 switch i32 %2, label %for.inc.i21.i [ i32 0, label %xor_prov_import_key.exit i32 40, label %xor_prov_get_keymgmt_import.exit.i @@ -2960,7 +2960,7 @@ entry: for.cond.i.i: ; preds = %for.inc.i.i, %entry %fns.addr.0.i.i = phi ptr [ @xor_xorhmacsig_keymgmt_functions, %entry ], [ %incdec.ptr.i.i, %for.inc.i.i ] - %0 = load i32, ptr %fns.addr.0.i.i, align 8 + %0 = load i32, ptr %fns.addr.0.i.i, align 16 switch i32 %0, label %for.inc.i.i [ i32 0, label %xor_prov_free_key.exit i32 10, label %xor_prov_get_keymgmt_free.exit.i @@ -3116,7 +3116,7 @@ xor_prov_get_keymgmt_new.exit.i: for.cond.i9.i: ; preds = %for.inc.i14.i, %xor_prov_get_keymgmt_new.exit.i %fns.addr.0.i10.i = phi ptr [ @xor_xorhmacsig_keymgmt_functions, %xor_prov_get_keymgmt_new.exit.i ], [ %incdec.ptr.i15.i, %for.inc.i14.i ] - %0 = load i32, ptr %fns.addr.0.i10.i, align 8 + %0 = load i32, ptr %fns.addr.0.i10.i, align 16 switch i32 %0, label %for.inc.i14.i [ i32 0, label %xor_prov_get_keymgmt_free.exit.i i32 10, label %if.then.i11.i @@ -3137,7 +3137,7 @@ xor_prov_get_keymgmt_free.exit.i: ; preds = %for.cond.i9.i, %if. for.cond.i16.i: ; preds = %for.inc.i21.i, %xor_prov_get_keymgmt_free.exit.i %fns.addr.0.i17.i = phi ptr [ @xor_xorhmacsig_keymgmt_functions, %xor_prov_get_keymgmt_free.exit.i ], [ %incdec.ptr.i22.i, %for.inc.i21.i ] - %2 = load i32, ptr %fns.addr.0.i17.i, align 8 + %2 = load i32, ptr %fns.addr.0.i17.i, align 16 switch i32 %2, label %for.inc.i21.i [ i32 0, label %xor_prov_import_key.exit i32 40, label %xor_prov_get_keymgmt_import.exit.i @@ -3183,7 +3183,7 @@ entry: for.cond.i.i: ; preds = %for.inc.i.i, %entry %fns.addr.0.i.i = phi ptr [ @xor_xorhmacsig_keymgmt_functions, %entry ], [ %incdec.ptr.i.i, %for.inc.i.i ] - %0 = load i32, ptr %fns.addr.0.i.i, align 8 + %0 = load i32, ptr %fns.addr.0.i.i, align 16 switch i32 %0, label %for.inc.i.i [ i32 0, label %xor_prov_free_key.exit i32 10, label %xor_prov_get_keymgmt_free.exit.i @@ -3339,7 +3339,7 @@ xor_prov_get_keymgmt_new.exit.i: for.cond.i9.i: ; preds = %for.inc.i14.i, %xor_prov_get_keymgmt_new.exit.i %fns.addr.0.i10.i = phi ptr [ @xor_xorhmacsig_keymgmt_functions, %xor_prov_get_keymgmt_new.exit.i ], [ %incdec.ptr.i15.i, %for.inc.i14.i ] - %0 = load i32, ptr %fns.addr.0.i10.i, align 8 + %0 = load i32, ptr %fns.addr.0.i10.i, align 16 switch i32 %0, label %for.inc.i14.i [ i32 0, label %xor_prov_get_keymgmt_free.exit.i i32 10, label %if.then.i11.i @@ -3360,7 +3360,7 @@ xor_prov_get_keymgmt_free.exit.i: ; preds = %for.cond.i9.i, %if. for.cond.i16.i: ; preds = %for.inc.i21.i, %xor_prov_get_keymgmt_free.exit.i %fns.addr.0.i17.i = phi ptr [ @xor_xorhmacsig_keymgmt_functions, %xor_prov_get_keymgmt_free.exit.i ], [ %incdec.ptr.i22.i, %for.inc.i21.i ] - %2 = load i32, ptr %fns.addr.0.i17.i, align 8 + %2 = load i32, ptr %fns.addr.0.i17.i, align 16 switch i32 %2, label %for.inc.i21.i [ i32 0, label %xor_prov_import_key.exit i32 40, label %xor_prov_get_keymgmt_import.exit.i @@ -3406,7 +3406,7 @@ entry: for.cond.i.i: ; preds = %for.inc.i.i, %entry %fns.addr.0.i.i = phi ptr [ @xor_xorhmacsig_keymgmt_functions, %entry ], [ %incdec.ptr.i.i, %for.inc.i.i ] - %0 = load i32, ptr %fns.addr.0.i.i, align 8 + %0 = load i32, ptr %fns.addr.0.i.i, align 16 switch i32 %0, label %for.inc.i.i [ i32 0, label %xor_prov_free_key.exit i32 10, label %xor_prov_get_keymgmt_free.exit.i @@ -3631,7 +3631,7 @@ xor_prov_get_keymgmt_new.exit.i: for.cond.i9.i: ; preds = %for.inc.i14.i, %xor_prov_get_keymgmt_new.exit.i %fns.addr.0.i10.i = phi ptr [ @xor_xorhmacsig_keymgmt_functions, %xor_prov_get_keymgmt_new.exit.i ], [ %incdec.ptr.i15.i, %for.inc.i14.i ] - %0 = load i32, ptr %fns.addr.0.i10.i, align 8 + %0 = load i32, ptr %fns.addr.0.i10.i, align 16 switch i32 %0, label %for.inc.i14.i [ i32 0, label %xor_prov_get_keymgmt_free.exit.i i32 10, label %if.then.i11.i @@ -3652,7 +3652,7 @@ xor_prov_get_keymgmt_free.exit.i: ; preds = %for.cond.i9.i, %if. for.cond.i16.i: ; preds = %for.inc.i21.i, %xor_prov_get_keymgmt_free.exit.i %fns.addr.0.i17.i = phi ptr [ @xor_xorhmacsig_keymgmt_functions, %xor_prov_get_keymgmt_free.exit.i ], [ %incdec.ptr.i22.i, %for.inc.i21.i ] - %2 = load i32, ptr %fns.addr.0.i17.i, align 8 + %2 = load i32, ptr %fns.addr.0.i17.i, align 16 switch i32 %2, label %for.inc.i21.i [ i32 0, label %xor_prov_import_key.exit i32 40, label %xor_prov_get_keymgmt_import.exit.i @@ -3698,7 +3698,7 @@ entry: for.cond.i.i: ; preds = %for.inc.i.i, %entry %fns.addr.0.i.i = phi ptr [ @xor_xorhmacsig_keymgmt_functions, %entry ], [ %incdec.ptr.i.i, %for.inc.i.i ] - %0 = load i32, ptr %fns.addr.0.i.i, align 8 + %0 = load i32, ptr %fns.addr.0.i.i, align 16 switch i32 %0, label %for.inc.i.i [ i32 0, label %xor_prov_free_key.exit i32 10, label %xor_prov_get_keymgmt_free.exit.i @@ -3864,7 +3864,7 @@ xor_prov_get_keymgmt_new.exit.i: for.cond.i9.i: ; preds = %for.inc.i14.i, %xor_prov_get_keymgmt_new.exit.i %fns.addr.0.i10.i = phi ptr [ @xor_xorhmacsha2sig_keymgmt_functions, %xor_prov_get_keymgmt_new.exit.i ], [ %incdec.ptr.i15.i, %for.inc.i14.i ] - %0 = load i32, ptr %fns.addr.0.i10.i, align 8 + %0 = load i32, ptr %fns.addr.0.i10.i, align 16 switch i32 %0, label %for.inc.i14.i [ i32 0, label %xor_prov_get_keymgmt_free.exit.i i32 10, label %if.then.i11.i @@ -3885,7 +3885,7 @@ xor_prov_get_keymgmt_free.exit.i: ; preds = %for.cond.i9.i, %if. for.cond.i16.i: ; preds = %for.inc.i21.i, %xor_prov_get_keymgmt_free.exit.i %fns.addr.0.i17.i = phi ptr [ @xor_xorhmacsha2sig_keymgmt_functions, %xor_prov_get_keymgmt_free.exit.i ], [ %incdec.ptr.i22.i, %for.inc.i21.i ] - %2 = load i32, ptr %fns.addr.0.i17.i, align 8 + %2 = load i32, ptr %fns.addr.0.i17.i, align 16 switch i32 %2, label %for.inc.i21.i [ i32 0, label %xor_prov_import_key.exit i32 40, label %xor_prov_get_keymgmt_import.exit.i @@ -3931,7 +3931,7 @@ entry: for.cond.i.i: ; preds = %for.inc.i.i, %entry %fns.addr.0.i.i = phi ptr [ @xor_xorhmacsha2sig_keymgmt_functions, %entry ], [ %incdec.ptr.i.i, %for.inc.i.i ] - %0 = load i32, ptr %fns.addr.0.i.i, align 8 + %0 = load i32, ptr %fns.addr.0.i.i, align 16 switch i32 %0, label %for.inc.i.i [ i32 0, label %xor_prov_free_key.exit i32 10, label %xor_prov_get_keymgmt_free.exit.i @@ -4052,7 +4052,7 @@ xor_prov_get_keymgmt_new.exit.i: for.cond.i9.i: ; preds = %for.inc.i14.i, %xor_prov_get_keymgmt_new.exit.i %fns.addr.0.i10.i = phi ptr [ @xor_xorhmacsha2sig_keymgmt_functions, %xor_prov_get_keymgmt_new.exit.i ], [ %incdec.ptr.i15.i, %for.inc.i14.i ] - %0 = load i32, ptr %fns.addr.0.i10.i, align 8 + %0 = load i32, ptr %fns.addr.0.i10.i, align 16 switch i32 %0, label %for.inc.i14.i [ i32 0, label %xor_prov_get_keymgmt_free.exit.i i32 10, label %if.then.i11.i @@ -4073,7 +4073,7 @@ xor_prov_get_keymgmt_free.exit.i: ; preds = %for.cond.i9.i, %if. for.cond.i16.i: ; preds = %for.inc.i21.i, %xor_prov_get_keymgmt_free.exit.i %fns.addr.0.i17.i = phi ptr [ @xor_xorhmacsha2sig_keymgmt_functions, %xor_prov_get_keymgmt_free.exit.i ], [ %incdec.ptr.i22.i, %for.inc.i21.i ] - %2 = load i32, ptr %fns.addr.0.i17.i, align 8 + %2 = load i32, ptr %fns.addr.0.i17.i, align 16 switch i32 %2, label %for.inc.i21.i [ i32 0, label %xor_prov_import_key.exit i32 40, label %xor_prov_get_keymgmt_import.exit.i @@ -4119,7 +4119,7 @@ entry: for.cond.i.i: ; preds = %for.inc.i.i, %entry %fns.addr.0.i.i = phi ptr [ @xor_xorhmacsha2sig_keymgmt_functions, %entry ], [ %incdec.ptr.i.i, %for.inc.i.i ] - %0 = load i32, ptr %fns.addr.0.i.i, align 8 + %0 = load i32, ptr %fns.addr.0.i.i, align 16 switch i32 %0, label %for.inc.i.i [ i32 0, label %xor_prov_free_key.exit i32 10, label %xor_prov_get_keymgmt_free.exit.i @@ -4240,7 +4240,7 @@ xor_prov_get_keymgmt_new.exit.i: for.cond.i9.i: ; preds = %for.inc.i14.i, %xor_prov_get_keymgmt_new.exit.i %fns.addr.0.i10.i = phi ptr [ @xor_xorhmacsha2sig_keymgmt_functions, %xor_prov_get_keymgmt_new.exit.i ], [ %incdec.ptr.i15.i, %for.inc.i14.i ] - %0 = load i32, ptr %fns.addr.0.i10.i, align 8 + %0 = load i32, ptr %fns.addr.0.i10.i, align 16 switch i32 %0, label %for.inc.i14.i [ i32 0, label %xor_prov_get_keymgmt_free.exit.i i32 10, label %if.then.i11.i @@ -4261,7 +4261,7 @@ xor_prov_get_keymgmt_free.exit.i: ; preds = %for.cond.i9.i, %if. for.cond.i16.i: ; preds = %for.inc.i21.i, %xor_prov_get_keymgmt_free.exit.i %fns.addr.0.i17.i = phi ptr [ @xor_xorhmacsha2sig_keymgmt_functions, %xor_prov_get_keymgmt_free.exit.i ], [ %incdec.ptr.i22.i, %for.inc.i21.i ] - %2 = load i32, ptr %fns.addr.0.i17.i, align 8 + %2 = load i32, ptr %fns.addr.0.i17.i, align 16 switch i32 %2, label %for.inc.i21.i [ i32 0, label %xor_prov_import_key.exit i32 40, label %xor_prov_get_keymgmt_import.exit.i @@ -4307,7 +4307,7 @@ entry: for.cond.i.i: ; preds = %for.inc.i.i, %entry %fns.addr.0.i.i = phi ptr [ @xor_xorhmacsha2sig_keymgmt_functions, %entry ], [ %incdec.ptr.i.i, %for.inc.i.i ] - %0 = load i32, ptr %fns.addr.0.i.i, align 8 + %0 = load i32, ptr %fns.addr.0.i.i, align 16 switch i32 %0, label %for.inc.i.i [ i32 0, label %xor_prov_free_key.exit i32 10, label %xor_prov_get_keymgmt_free.exit.i @@ -4463,7 +4463,7 @@ xor_prov_get_keymgmt_new.exit.i: for.cond.i9.i: ; preds = %for.inc.i14.i, %xor_prov_get_keymgmt_new.exit.i %fns.addr.0.i10.i = phi ptr [ @xor_xorhmacsha2sig_keymgmt_functions, %xor_prov_get_keymgmt_new.exit.i ], [ %incdec.ptr.i15.i, %for.inc.i14.i ] - %0 = load i32, ptr %fns.addr.0.i10.i, align 8 + %0 = load i32, ptr %fns.addr.0.i10.i, align 16 switch i32 %0, label %for.inc.i14.i [ i32 0, label %xor_prov_get_keymgmt_free.exit.i i32 10, label %if.then.i11.i @@ -4484,7 +4484,7 @@ xor_prov_get_keymgmt_free.exit.i: ; preds = %for.cond.i9.i, %if. for.cond.i16.i: ; preds = %for.inc.i21.i, %xor_prov_get_keymgmt_free.exit.i %fns.addr.0.i17.i = phi ptr [ @xor_xorhmacsha2sig_keymgmt_functions, %xor_prov_get_keymgmt_free.exit.i ], [ %incdec.ptr.i22.i, %for.inc.i21.i ] - %2 = load i32, ptr %fns.addr.0.i17.i, align 8 + %2 = load i32, ptr %fns.addr.0.i17.i, align 16 switch i32 %2, label %for.inc.i21.i [ i32 0, label %xor_prov_import_key.exit i32 40, label %xor_prov_get_keymgmt_import.exit.i @@ -4530,7 +4530,7 @@ entry: for.cond.i.i: ; preds = %for.inc.i.i, %entry %fns.addr.0.i.i = phi ptr [ @xor_xorhmacsha2sig_keymgmt_functions, %entry ], [ %incdec.ptr.i.i, %for.inc.i.i ] - %0 = load i32, ptr %fns.addr.0.i.i, align 8 + %0 = load i32, ptr %fns.addr.0.i.i, align 16 switch i32 %0, label %for.inc.i.i [ i32 0, label %xor_prov_free_key.exit i32 10, label %xor_prov_get_keymgmt_free.exit.i @@ -4686,7 +4686,7 @@ xor_prov_get_keymgmt_new.exit.i: for.cond.i9.i: ; preds = %for.inc.i14.i, %xor_prov_get_keymgmt_new.exit.i %fns.addr.0.i10.i = phi ptr [ @xor_xorhmacsha2sig_keymgmt_functions, %xor_prov_get_keymgmt_new.exit.i ], [ %incdec.ptr.i15.i, %for.inc.i14.i ] - %0 = load i32, ptr %fns.addr.0.i10.i, align 8 + %0 = load i32, ptr %fns.addr.0.i10.i, align 16 switch i32 %0, label %for.inc.i14.i [ i32 0, label %xor_prov_get_keymgmt_free.exit.i i32 10, label %if.then.i11.i @@ -4707,7 +4707,7 @@ xor_prov_get_keymgmt_free.exit.i: ; preds = %for.cond.i9.i, %if. for.cond.i16.i: ; preds = %for.inc.i21.i, %xor_prov_get_keymgmt_free.exit.i %fns.addr.0.i17.i = phi ptr [ @xor_xorhmacsha2sig_keymgmt_functions, %xor_prov_get_keymgmt_free.exit.i ], [ %incdec.ptr.i22.i, %for.inc.i21.i ] - %2 = load i32, ptr %fns.addr.0.i17.i, align 8 + %2 = load i32, ptr %fns.addr.0.i17.i, align 16 switch i32 %2, label %for.inc.i21.i [ i32 0, label %xor_prov_import_key.exit i32 40, label %xor_prov_get_keymgmt_import.exit.i @@ -4753,7 +4753,7 @@ entry: for.cond.i.i: ; preds = %for.inc.i.i, %entry %fns.addr.0.i.i = phi ptr [ @xor_xorhmacsha2sig_keymgmt_functions, %entry ], [ %incdec.ptr.i.i, %for.inc.i.i ] - %0 = load i32, ptr %fns.addr.0.i.i, align 8 + %0 = load i32, ptr %fns.addr.0.i.i, align 16 switch i32 %0, label %for.inc.i.i [ i32 0, label %xor_prov_free_key.exit i32 10, label %xor_prov_get_keymgmt_free.exit.i @@ -4900,7 +4900,7 @@ xor_prov_get_keymgmt_new.exit.i: for.cond.i9.i: ; preds = %for.inc.i14.i, %xor_prov_get_keymgmt_new.exit.i %fns.addr.0.i10.i = phi ptr [ @xor_xorhmacsha2sig_keymgmt_functions, %xor_prov_get_keymgmt_new.exit.i ], [ %incdec.ptr.i15.i, %for.inc.i14.i ] - %0 = load i32, ptr %fns.addr.0.i10.i, align 8 + %0 = load i32, ptr %fns.addr.0.i10.i, align 16 switch i32 %0, label %for.inc.i14.i [ i32 0, label %xor_prov_get_keymgmt_free.exit.i i32 10, label %if.then.i11.i @@ -4921,7 +4921,7 @@ xor_prov_get_keymgmt_free.exit.i: ; preds = %for.cond.i9.i, %if. for.cond.i16.i: ; preds = %for.inc.i21.i, %xor_prov_get_keymgmt_free.exit.i %fns.addr.0.i17.i = phi ptr [ @xor_xorhmacsha2sig_keymgmt_functions, %xor_prov_get_keymgmt_free.exit.i ], [ %incdec.ptr.i22.i, %for.inc.i21.i ] - %2 = load i32, ptr %fns.addr.0.i17.i, align 8 + %2 = load i32, ptr %fns.addr.0.i17.i, align 16 switch i32 %2, label %for.inc.i21.i [ i32 0, label %xor_prov_import_key.exit i32 40, label %xor_prov_get_keymgmt_import.exit.i @@ -4967,7 +4967,7 @@ entry: for.cond.i.i: ; preds = %for.inc.i.i, %entry %fns.addr.0.i.i = phi ptr [ @xor_xorhmacsha2sig_keymgmt_functions, %entry ], [ %incdec.ptr.i.i, %for.inc.i.i ] - %0 = load i32, ptr %fns.addr.0.i.i, align 8 + %0 = load i32, ptr %fns.addr.0.i.i, align 16 switch i32 %0, label %for.inc.i.i [ i32 0, label %xor_prov_free_key.exit i32 10, label %xor_prov_get_keymgmt_free.exit.i diff --git a/bench/openusd/optimized/testPcpMapExpression.cpp.ll b/bench/openusd/optimized/testPcpMapExpression.cpp.ll index 4777e3545d6..e4a7ecbf9b0 100644 --- a/bench/openusd/optimized/testPcpMapExpression.cpp.ll +++ b/bench/openusd/optimized/testPcpMapExpression.cpp.ll @@ -3601,8 +3601,8 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_.exit302: ; .lr.ph.i.i.i.i.i: ; preds = %427, %_ZSt10_ConstructISt4pairIN32pxrInternal_v0_24__pxrReserved__7SdfPathES2_EJRKS3_EEvPT_DpOT0_.exit.i.i.i.i.i %.011.i.i.i.i.i = phi ptr [ %463, %_ZSt10_ConstructISt4pairIN32pxrInternal_v0_24__pxrReserved__7SdfPathES2_EJRKS3_EEvPT_DpOT0_.exit.i.i.i.i.i ], [ %80, %427 ] %.0810.i.i.i.i.i = phi ptr [ %462, %_ZSt10_ConstructISt4pairIN32pxrInternal_v0_24__pxrReserved__7SdfPathES2_EJRKS3_EEvPT_DpOT0_.exit.i.i.i.i.i ], [ %75, %427 ] - %430 = load i32, ptr %.0810.i.i.i.i.i, align 4 - store i32 %430, ptr %.011.i.i.i.i.i, align 4 + %430 = load i32, ptr %.0810.i.i.i.i.i, align 8 + store i32 %430, ptr %.011.i.i.i.i.i, align 8 %.not.i.i.i.i.i.i.i.i.i = icmp eq i32 %430, 0 br i1 %.not.i.i.i.i.i.i.i.i.i, label %_ZN32pxrInternal_v0_24__pxrReserved__7SdfPathC2ERKS0_.exit.i.i.i.i.i.i.i, label %431 @@ -3626,8 +3626,8 @@ _ZN32pxrInternal_v0_24__pxrReserved__7SdfPathC2ERKS0_.exit.i.i.i.i.i.i.i: ; pred store i32 %444, ptr %442, align 4 %445 = getelementptr inbounds nuw i8, ptr %.011.i.i.i.i.i, i64 8 %446 = getelementptr inbounds nuw i8, ptr %.0810.i.i.i.i.i, i64 8 - %447 = load i32, ptr %446, align 4 - store i32 %447, ptr %445, align 4 + %447 = load i32, ptr %446, align 8 + store i32 %447, ptr %445, align 8 %.not.i.i3.i.i.i.i.i.i.i = icmp eq i32 %447, 0 br i1 %.not.i.i3.i.i.i.i.i.i.i, label %_ZSt10_ConstructISt4pairIN32pxrInternal_v0_24__pxrReserved__7SdfPathES2_EJRKS3_EEvPT_DpOT0_.exit.i.i.i.i.i, label %448 @@ -3872,8 +3872,8 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_.exit321: ; .lr.ph.i.i.i.i.i325: ; preds = %532, %_ZSt10_ConstructISt4pairIN32pxrInternal_v0_24__pxrReserved__7SdfPathES2_EJRKS3_EEvPT_DpOT0_.exit.i.i.i.i.i331 %.011.i.i.i.i.i326 = phi ptr [ %568, %_ZSt10_ConstructISt4pairIN32pxrInternal_v0_24__pxrReserved__7SdfPathES2_EJRKS3_EEvPT_DpOT0_.exit.i.i.i.i.i331 ], [ %89, %532 ] %.0810.i.i.i.i.i327 = phi ptr [ %567, %_ZSt10_ConstructISt4pairIN32pxrInternal_v0_24__pxrReserved__7SdfPathES2_EJRKS3_EEvPT_DpOT0_.exit.i.i.i.i.i331 ], [ %84, %532 ] - %535 = load i32, ptr %.0810.i.i.i.i.i327, align 4 - store i32 %535, ptr %.011.i.i.i.i.i326, align 4 + %535 = load i32, ptr %.0810.i.i.i.i.i327, align 8 + store i32 %535, ptr %.011.i.i.i.i.i326, align 8 %.not.i.i.i.i.i.i.i.i.i328 = icmp eq i32 %535, 0 br i1 %.not.i.i.i.i.i.i.i.i.i328, label %_ZN32pxrInternal_v0_24__pxrReserved__7SdfPathC2ERKS0_.exit.i.i.i.i.i.i.i329, label %536 @@ -3897,8 +3897,8 @@ _ZN32pxrInternal_v0_24__pxrReserved__7SdfPathC2ERKS0_.exit.i.i.i.i.i.i.i329: ; p store i32 %549, ptr %547, align 4 %550 = getelementptr inbounds nuw i8, ptr %.011.i.i.i.i.i326, i64 8 %551 = getelementptr inbounds nuw i8, ptr %.0810.i.i.i.i.i327, i64 8 - %552 = load i32, ptr %551, align 4 - store i32 %552, ptr %550, align 4 + %552 = load i32, ptr %551, align 8 + store i32 %552, ptr %550, align 8 %.not.i.i3.i.i.i.i.i.i.i330 = icmp eq i32 %552, 0 br i1 %.not.i.i3.i.i.i.i.i.i.i330, label %_ZSt10_ConstructISt4pairIN32pxrInternal_v0_24__pxrReserved__7SdfPathES2_EJRKS3_EEvPT_DpOT0_.exit.i.i.i.i.i331, label %553 @@ -4098,8 +4098,8 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_.exit347: ; .lr.ph.i.i.i.i.i351: ; preds = %619, %_ZSt10_ConstructISt4pairIN32pxrInternal_v0_24__pxrReserved__7SdfPathES2_EJRKS3_EEvPT_DpOT0_.exit.i.i.i.i.i357 %.011.i.i.i.i.i352 = phi ptr [ %655, %_ZSt10_ConstructISt4pairIN32pxrInternal_v0_24__pxrReserved__7SdfPathES2_EJRKS3_EEvPT_DpOT0_.exit.i.i.i.i.i357 ], [ %96, %619 ] %.0810.i.i.i.i.i353 = phi ptr [ %654, %_ZSt10_ConstructISt4pairIN32pxrInternal_v0_24__pxrReserved__7SdfPathES2_EJRKS3_EEvPT_DpOT0_.exit.i.i.i.i.i357 ], [ %91, %619 ] - %622 = load i32, ptr %.0810.i.i.i.i.i353, align 4 - store i32 %622, ptr %.011.i.i.i.i.i352, align 4 + %622 = load i32, ptr %.0810.i.i.i.i.i353, align 8 + store i32 %622, ptr %.011.i.i.i.i.i352, align 8 %.not.i.i.i.i.i.i.i.i.i354 = icmp eq i32 %622, 0 br i1 %.not.i.i.i.i.i.i.i.i.i354, label %_ZN32pxrInternal_v0_24__pxrReserved__7SdfPathC2ERKS0_.exit.i.i.i.i.i.i.i355, label %623 @@ -4123,8 +4123,8 @@ _ZN32pxrInternal_v0_24__pxrReserved__7SdfPathC2ERKS0_.exit.i.i.i.i.i.i.i355: ; p store i32 %636, ptr %634, align 4 %637 = getelementptr inbounds nuw i8, ptr %.011.i.i.i.i.i352, i64 8 %638 = getelementptr inbounds nuw i8, ptr %.0810.i.i.i.i.i353, i64 8 - %639 = load i32, ptr %638, align 4 - store i32 %639, ptr %637, align 4 + %639 = load i32, ptr %638, align 8 + store i32 %639, ptr %637, align 8 %.not.i.i3.i.i.i.i.i.i.i356 = icmp eq i32 %639, 0 br i1 %.not.i.i3.i.i.i.i.i.i.i356, label %_ZSt10_ConstructISt4pairIN32pxrInternal_v0_24__pxrReserved__7SdfPathES2_EJRKS3_EEvPT_DpOT0_.exit.i.i.i.i.i357, label %640 @@ -5845,7 +5845,7 @@ define linkonce_odr dso_local void @_ZN32pxrInternal_v0_24__pxrReserved__14PcpMa .lr.ph: ; preds = %.preheader, %_ZNSt4pairIN32pxrInternal_v0_24__pxrReserved__7SdfPathES1_ED2Ev.exit %.05 = phi ptr [ %43, %_ZNSt4pairIN32pxrInternal_v0_24__pxrReserved__7SdfPathES1_ED2Ev.exit ], [ %0, %.preheader ] %6 = getelementptr inbounds nuw i8, ptr %.05, i64 8 - %7 = load i32, ptr %6, align 4 + %7 = load i32, ptr %6, align 8 %.not.i.i.i = icmp eq i32 %7, 0 br i1 %.not.i.i.i, label %_ZN32pxrInternal_v0_24__pxrReserved__7SdfPathD2Ev.exit.i, label %8 @@ -5876,7 +5876,7 @@ define linkonce_odr dso_local void @_ZN32pxrInternal_v0_24__pxrReserved__14PcpMa unreachable _ZN32pxrInternal_v0_24__pxrReserved__7SdfPathD2Ev.exit.i: ; preds = %21, %8, %.lr.ph - %25 = load i32, ptr %.05, align 4 + %25 = load i32, ptr %.05, align 8 %.not.i.i1.i = icmp eq i32 %25, 0 br i1 %.not.i.i1.i, label %_ZNSt4pairIN32pxrInternal_v0_24__pxrReserved__7SdfPathES1_ED2Ev.exit, label %26 diff --git a/bench/openusd/optimized/testUsdPrimGetDescendants.cpp.ll b/bench/openusd/optimized/testUsdPrimGetDescendants.cpp.ll index 2e006a736fc..0a97e070326 100644 --- a/bench/openusd/optimized/testUsdPrimGetDescendants.cpp.ll +++ b/bench/openusd/optimized/testUsdPrimGetDescendants.cpp.ll @@ -8768,7 +8768,7 @@ _ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit: ; pr _ZN32pxrInternal_v0_24__pxrReserved__7TfTokenD2Ev.exit.i.i: ; preds = %1138, %_ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit %1142 = getelementptr inbounds i8, ptr %1132, i64 -16 - %1143 = load i32, ptr %1142, align 4 + %1143 = load i32, ptr %1142, align 8 %.not.i.i1.i.i = icmp eq i32 %1143, 0 br i1 %.not.i.i1.i.i, label %_ZN32pxrInternal_v0_24__pxrReserved__7SdfPathD2Ev.exit.i.i, label %1144 @@ -9570,7 +9570,7 @@ _ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit498: ; _ZN32pxrInternal_v0_24__pxrReserved__7TfTokenD2Ev.exit.i.i500: ; preds = %1533, %_ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit498 %1537 = getelementptr inbounds i8, ptr %1527, i64 -16 - %1538 = load i32, ptr %1537, align 4 + %1538 = load i32, ptr %1537, align 8 %.not.i.i1.i.i501 = icmp eq i32 %1538, 0 br i1 %.not.i.i1.i.i501, label %_ZN32pxrInternal_v0_24__pxrReserved__7SdfPathD2Ev.exit.i.i502, label %1539 @@ -9990,7 +9990,7 @@ _ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit561: ; _ZN32pxrInternal_v0_24__pxrReserved__7TfTokenD2Ev.exit.i.i563: ; preds = %1742, %_ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit561 %1746 = getelementptr inbounds i8, ptr %1736, i64 -16 - %1747 = load i32, ptr %1746, align 4 + %1747 = load i32, ptr %1746, align 8 %.not.i.i1.i.i564 = icmp eq i32 %1747, 0 br i1 %.not.i.i1.i.i564, label %_ZN32pxrInternal_v0_24__pxrReserved__7SdfPathD2Ev.exit.i.i565, label %1748 @@ -10906,7 +10906,7 @@ _ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit679: ; _ZN32pxrInternal_v0_24__pxrReserved__7TfTokenD2Ev.exit.i.i681: ; preds = %2231, %_ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit679 %2235 = getelementptr inbounds i8, ptr %2225, i64 -16 - %2236 = load i32, ptr %2235, align 4 + %2236 = load i32, ptr %2235, align 8 %.not.i.i1.i.i682 = icmp eq i32 %2236, 0 br i1 %.not.i.i1.i.i682, label %_ZN32pxrInternal_v0_24__pxrReserved__7SdfPathD2Ev.exit.i.i683, label %2237 @@ -11388,7 +11388,7 @@ _ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit747: ; _ZN32pxrInternal_v0_24__pxrReserved__7TfTokenD2Ev.exit.i.i749: ; preds = %2475, %_ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit747 %2479 = getelementptr inbounds i8, ptr %2469, i64 -16 - %2480 = load i32, ptr %2479, align 4 + %2480 = load i32, ptr %2479, align 8 %.not.i.i1.i.i750 = icmp eq i32 %2480, 0 br i1 %.not.i.i1.i.i750, label %_ZN32pxrInternal_v0_24__pxrReserved__7SdfPathD2Ev.exit.i.i751, label %2481 @@ -12054,7 +12054,7 @@ _ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit837: ; _ZN32pxrInternal_v0_24__pxrReserved__7TfTokenD2Ev.exit.i.i839: ; preds = %2824, %_ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit837 %2828 = getelementptr inbounds i8, ptr %2818, i64 -16 - %2829 = load i32, ptr %2828, align 4 + %2829 = load i32, ptr %2828, align 8 %.not.i.i1.i.i840 = icmp eq i32 %2829, 0 br i1 %.not.i.i1.i.i840, label %_ZN32pxrInternal_v0_24__pxrReserved__7SdfPathD2Ev.exit.i.i841, label %2830 @@ -12784,7 +12784,7 @@ _ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit942: ; _ZN32pxrInternal_v0_24__pxrReserved__7TfTokenD2Ev.exit.i.i944: ; preds = %3208, %_ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit942 %3212 = getelementptr inbounds i8, ptr %3202, i64 -16 - %3213 = load i32, ptr %3212, align 4 + %3213 = load i32, ptr %3212, align 8 %.not.i.i1.i.i945 = icmp eq i32 %3213, 0 br i1 %.not.i.i1.i.i945, label %_ZN32pxrInternal_v0_24__pxrReserved__7SdfPathD2Ev.exit.i.i946, label %3214 @@ -15408,7 +15408,7 @@ _ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit: ; pr _ZN32pxrInternal_v0_24__pxrReserved__7TfTokenD2Ev.exit.i.i: ; preds = %400, %_ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit %404 = getelementptr inbounds i8, ptr %394, i64 -16 - %405 = load i32, ptr %404, align 4 + %405 = load i32, ptr %404, align 8 %.not.i.i1.i.i = icmp eq i32 %405, 0 br i1 %.not.i.i1.i.i, label %_ZN32pxrInternal_v0_24__pxrReserved__7SdfPathD2Ev.exit.i.i, label %406 @@ -15970,7 +15970,7 @@ _ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit814: ; _ZN32pxrInternal_v0_24__pxrReserved__7TfTokenD2Ev.exit.i.i816: ; preds = %607, %_ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit814 %611 = getelementptr inbounds i8, ptr %601, i64 -16 - %612 = load i32, ptr %611, align 4 + %612 = load i32, ptr %611, align 8 %.not.i.i1.i.i817 = icmp eq i32 %612, 0 br i1 %.not.i.i1.i.i817, label %_ZN32pxrInternal_v0_24__pxrReserved__7SdfPathD2Ev.exit.i.i818, label %613 @@ -16416,7 +16416,7 @@ _ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit887: ; _ZN32pxrInternal_v0_24__pxrReserved__7TfTokenD2Ev.exit.i.i889: ; preds = %794, %_ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit887 %798 = getelementptr inbounds i8, ptr %788, i64 -16 - %799 = load i32, ptr %798, align 4 + %799 = load i32, ptr %798, align 8 %.not.i.i1.i.i890 = icmp eq i32 %799, 0 br i1 %.not.i.i1.i.i890, label %_ZN32pxrInternal_v0_24__pxrReserved__7SdfPathD2Ev.exit.i.i891, label %800 @@ -16854,7 +16854,7 @@ _ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit960: ; _ZN32pxrInternal_v0_24__pxrReserved__7TfTokenD2Ev.exit.i.i962: ; preds = %981, %_ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit960 %985 = getelementptr inbounds i8, ptr %975, i64 -16 - %986 = load i32, ptr %985, align 4 + %986 = load i32, ptr %985, align 8 %.not.i.i1.i.i963 = icmp eq i32 %986, 0 br i1 %.not.i.i1.i.i963, label %_ZN32pxrInternal_v0_24__pxrReserved__7SdfPathD2Ev.exit.i.i964, label %987 @@ -17388,7 +17388,7 @@ _ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit1053: _ZN32pxrInternal_v0_24__pxrReserved__7TfTokenD2Ev.exit.i.i1055: ; preds = %1188, %_ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit1053 %1192 = getelementptr inbounds i8, ptr %1182, i64 -16 - %1193 = load i32, ptr %1192, align 4 + %1193 = load i32, ptr %1192, align 8 %.not.i.i1.i.i1056 = icmp eq i32 %1193, 0 br i1 %.not.i.i1.i.i1056, label %_ZN32pxrInternal_v0_24__pxrReserved__7SdfPathD2Ev.exit.i.i1057, label %1194 @@ -17834,7 +17834,7 @@ _ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit1126: _ZN32pxrInternal_v0_24__pxrReserved__7TfTokenD2Ev.exit.i.i1128: ; preds = %1375, %_ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit1126 %1379 = getelementptr inbounds i8, ptr %1369, i64 -16 - %1380 = load i32, ptr %1379, align 4 + %1380 = load i32, ptr %1379, align 8 %.not.i.i1.i.i1129 = icmp eq i32 %1380, 0 br i1 %.not.i.i1.i.i1129, label %_ZN32pxrInternal_v0_24__pxrReserved__7SdfPathD2Ev.exit.i.i1130, label %1381 @@ -18272,7 +18272,7 @@ _ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit1199: _ZN32pxrInternal_v0_24__pxrReserved__7TfTokenD2Ev.exit.i.i1201: ; preds = %1562, %_ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit1199 %1566 = getelementptr inbounds i8, ptr %1556, i64 -16 - %1567 = load i32, ptr %1566, align 4 + %1567 = load i32, ptr %1566, align 8 %.not.i.i1.i.i1202 = icmp eq i32 %1567, 0 br i1 %.not.i.i1.i.i1202, label %_ZN32pxrInternal_v0_24__pxrReserved__7SdfPathD2Ev.exit.i.i1203, label %1568 @@ -18710,7 +18710,7 @@ _ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit1272: _ZN32pxrInternal_v0_24__pxrReserved__7TfTokenD2Ev.exit.i.i1274: ; preds = %1749, %_ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit1272 %1753 = getelementptr inbounds i8, ptr %1743, i64 -16 - %1754 = load i32, ptr %1753, align 4 + %1754 = load i32, ptr %1753, align 8 %.not.i.i1.i.i1275 = icmp eq i32 %1754, 0 br i1 %.not.i.i1.i.i1275, label %_ZN32pxrInternal_v0_24__pxrReserved__7SdfPathD2Ev.exit.i.i1276, label %1755 @@ -19148,7 +19148,7 @@ _ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit1345: _ZN32pxrInternal_v0_24__pxrReserved__7TfTokenD2Ev.exit.i.i1347: ; preds = %1936, %_ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit1345 %1940 = getelementptr inbounds i8, ptr %1930, i64 -16 - %1941 = load i32, ptr %1940, align 4 + %1941 = load i32, ptr %1940, align 8 %.not.i.i1.i.i1348 = icmp eq i32 %1941, 0 br i1 %.not.i.i1.i.i1348, label %_ZN32pxrInternal_v0_24__pxrReserved__7SdfPathD2Ev.exit.i.i1349, label %1942 @@ -19604,7 +19604,7 @@ _ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit1403: _ZN32pxrInternal_v0_24__pxrReserved__7TfTokenD2Ev.exit.i.i1405: ; preds = %2131, %_ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit1403 %2135 = getelementptr inbounds i8, ptr %2125, i64 -16 - %2136 = load i32, ptr %2135, align 4 + %2136 = load i32, ptr %2135, align 8 %.not.i.i1.i.i1406 = icmp eq i32 %2136, 0 br i1 %.not.i.i1.i.i1406, label %_ZN32pxrInternal_v0_24__pxrReserved__7SdfPathD2Ev.exit.i.i1407, label %2137 @@ -20060,7 +20060,7 @@ _ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit1470: _ZN32pxrInternal_v0_24__pxrReserved__7TfTokenD2Ev.exit.i.i1472: ; preds = %2326, %_ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit1470 %2330 = getelementptr inbounds i8, ptr %2320, i64 -16 - %2331 = load i32, ptr %2330, align 4 + %2331 = load i32, ptr %2330, align 8 %.not.i.i1.i.i1473 = icmp eq i32 %2331, 0 br i1 %.not.i.i1.i.i1473, label %_ZN32pxrInternal_v0_24__pxrReserved__7SdfPathD2Ev.exit.i.i1474, label %2332 @@ -20516,7 +20516,7 @@ _ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit1537: _ZN32pxrInternal_v0_24__pxrReserved__7TfTokenD2Ev.exit.i.i1539: ; preds = %2521, %_ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit1537 %2525 = getelementptr inbounds i8, ptr %2515, i64 -16 - %2526 = load i32, ptr %2525, align 4 + %2526 = load i32, ptr %2525, align 8 %.not.i.i1.i.i1540 = icmp eq i32 %2526, 0 br i1 %.not.i.i1.i.i1540, label %_ZN32pxrInternal_v0_24__pxrReserved__7SdfPathD2Ev.exit.i.i1541, label %2527 @@ -20972,7 +20972,7 @@ _ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit1604: _ZN32pxrInternal_v0_24__pxrReserved__7TfTokenD2Ev.exit.i.i1606: ; preds = %2716, %_ZNSt6vectorIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESaIS1_EED2Ev.exit1604 %2720 = getelementptr inbounds i8, ptr %2710, i64 -16 - %2721 = load i32, ptr %2720, align 4 + %2721 = load i32, ptr %2720, align 8 %.not.i.i1.i.i1607 = icmp eq i32 %2721, 0 br i1 %.not.i.i1.i.i1607, label %_ZN32pxrInternal_v0_24__pxrReserved__7SdfPathD2Ev.exit.i.i1608, label %2722 diff --git a/bench/openusd/optimized/variantSets.cpp.ll b/bench/openusd/optimized/variantSets.cpp.ll index d4314070499..0d7a3b30d89 100644 --- a/bench/openusd/optimized/variantSets.cpp.ll +++ b/bench/openusd/optimized/variantSets.cpp.ll @@ -2132,9 +2132,9 @@ define void @_ZNK32pxrInternal_v0_24__pxrReserved__13UsdVariantSet20GetVariantEd .lr.ph.i.i.i: ; preds = %40, %.lr.ph.i.i.i %.016.i.i.i = phi ptr [ %54, %.lr.ph.i.i.i ], [ %30, %40 ] %.01315.i.i.i = phi ptr [ %53, %.lr.ph.i.i.i ], [ %31, %40 ] - %43 = load i32, ptr %.01315.i.i.i, align 4 - store i32 %43, ptr %.016.i.i.i, align 4 - store i32 0, ptr %.01315.i.i.i, align 4 + %43 = load i32, ptr %.01315.i.i.i, align 8 + store i32 %43, ptr %.016.i.i.i, align 8 + store i32 0, ptr %.01315.i.i.i, align 8 %44 = getelementptr inbounds nuw i8, ptr %.016.i.i.i, i64 4 %45 = getelementptr inbounds nuw i8, ptr %.01315.i.i.i, i64 4 %46 = load i32, ptr %45, align 4 @@ -2142,9 +2142,9 @@ define void @_ZNK32pxrInternal_v0_24__pxrReserved__13UsdVariantSet20GetVariantEd store i32 0, ptr %45, align 4 %47 = getelementptr inbounds nuw i8, ptr %.016.i.i.i, i64 8 %48 = getelementptr inbounds nuw i8, ptr %.01315.i.i.i, i64 8 - %49 = load i32, ptr %48, align 4 - store i32 %49, ptr %47, align 4 - store i32 0, ptr %48, align 4 + %49 = load i32, ptr %48, align 8 + store i32 %49, ptr %47, align 8 + store i32 0, ptr %48, align 8 %50 = getelementptr inbounds nuw i8, ptr %.016.i.i.i, i64 12 %51 = getelementptr inbounds nuw i8, ptr %.01315.i.i.i, i64 12 %52 = load i32, ptr %51, align 4 @@ -2433,9 +2433,9 @@ _ZN32pxrInternal_v0_24__pxrReserved__9TfWeakPtrINS_8SdfLayerEED2Ev.exit: ; preds .lr.ph.i.i.i51: ; preds = %168, %.lr.ph.i.i.i51 %.016.i.i.i52 = phi ptr [ %182, %.lr.ph.i.i.i51 ], [ %158, %168 ] %.01315.i.i.i53 = phi ptr [ %181, %.lr.ph.i.i.i51 ], [ %159, %168 ] - %171 = load i32, ptr %.01315.i.i.i53, align 4 - store i32 %171, ptr %.016.i.i.i52, align 4 - store i32 0, ptr %.01315.i.i.i53, align 4 + %171 = load i32, ptr %.01315.i.i.i53, align 8 + store i32 %171, ptr %.016.i.i.i52, align 8 + store i32 0, ptr %.01315.i.i.i53, align 8 %172 = getelementptr inbounds nuw i8, ptr %.016.i.i.i52, i64 4 %173 = getelementptr inbounds nuw i8, ptr %.01315.i.i.i53, i64 4 %174 = load i32, ptr %173, align 4 @@ -2443,9 +2443,9 @@ _ZN32pxrInternal_v0_24__pxrReserved__9TfWeakPtrINS_8SdfLayerEED2Ev.exit: ; preds store i32 0, ptr %173, align 4 %175 = getelementptr inbounds nuw i8, ptr %.016.i.i.i52, i64 8 %176 = getelementptr inbounds nuw i8, ptr %.01315.i.i.i53, i64 8 - %177 = load i32, ptr %176, align 4 - store i32 %177, ptr %175, align 4 - store i32 0, ptr %176, align 4 + %177 = load i32, ptr %176, align 8 + store i32 %177, ptr %175, align 8 + store i32 0, ptr %176, align 8 %178 = getelementptr inbounds nuw i8, ptr %.016.i.i.i52, i64 12 %179 = getelementptr inbounds nuw i8, ptr %.01315.i.i.i53, i64 12 %180 = load i32, ptr %179, align 4 @@ -5161,7 +5161,7 @@ define linkonce_odr void @_ZN32pxrInternal_v0_24__pxrReserved__14PcpMapFunction5 .lr.ph: ; preds = %.preheader, %_ZNSt4pairIN32pxrInternal_v0_24__pxrReserved__7SdfPathES1_ED2Ev.exit %.05 = phi ptr [ %43, %_ZNSt4pairIN32pxrInternal_v0_24__pxrReserved__7SdfPathES1_ED2Ev.exit ], [ %0, %.preheader ] %6 = getelementptr inbounds nuw i8, ptr %.05, i64 8 - %7 = load i32, ptr %6, align 4 + %7 = load i32, ptr %6, align 8 %.not.i.i.i = icmp eq i32 %7, 0 br i1 %.not.i.i.i, label %_ZN32pxrInternal_v0_24__pxrReserved__7SdfPathD2Ev.exit.i, label %8 @@ -5192,7 +5192,7 @@ define linkonce_odr void @_ZN32pxrInternal_v0_24__pxrReserved__14PcpMapFunction5 unreachable _ZN32pxrInternal_v0_24__pxrReserved__7SdfPathD2Ev.exit.i: ; preds = %21, %8, %.lr.ph - %25 = load i32, ptr %.05, align 4 + %25 = load i32, ptr %.05, align 8 %.not.i.i1.i = icmp eq i32 %25, 0 br i1 %.not.i.i1.i, label %_ZNSt4pairIN32pxrInternal_v0_24__pxrReserved__7SdfPathES1_ED2Ev.exit, label %26 @@ -5349,8 +5349,8 @@ _ZN32pxrInternal_v0_24__pxrReserved__9TfWeakPtrINS_8SdfLayerEEC2ERKS2_.exit: ; p .lr.ph.i.i.i.i.i: ; preds = %20, %_ZSt10_ConstructISt4pairIN32pxrInternal_v0_24__pxrReserved__7SdfPathES2_EJRKS3_EEvPT_DpOT0_.exit.i.i.i.i.i %.011.i.i.i.i.i = phi ptr [ %57, %_ZSt10_ConstructISt4pairIN32pxrInternal_v0_24__pxrReserved__7SdfPathES2_EJRKS3_EEvPT_DpOT0_.exit.i.i.i.i.i ], [ %10, %20 ] %.0810.i.i.i.i.i = phi ptr [ %56, %_ZSt10_ConstructISt4pairIN32pxrInternal_v0_24__pxrReserved__7SdfPathES2_EJRKS3_EEvPT_DpOT0_.exit.i.i.i.i.i ], [ %11, %20 ] - %24 = load i32, ptr %.0810.i.i.i.i.i, align 4 - store i32 %24, ptr %.011.i.i.i.i.i, align 4 + %24 = load i32, ptr %.0810.i.i.i.i.i, align 8 + store i32 %24, ptr %.011.i.i.i.i.i, align 8 %.not.i.i.i.i.i.i.i.i.i = icmp eq i32 %24, 0 br i1 %.not.i.i.i.i.i.i.i.i.i, label %_ZN32pxrInternal_v0_24__pxrReserved__7SdfPathC2ERKS0_.exit.i.i.i.i.i.i.i, label %25 @@ -5374,8 +5374,8 @@ _ZN32pxrInternal_v0_24__pxrReserved__7SdfPathC2ERKS0_.exit.i.i.i.i.i.i.i: ; pred store i32 %38, ptr %36, align 4 %39 = getelementptr inbounds nuw i8, ptr %.011.i.i.i.i.i, i64 8 %40 = getelementptr inbounds nuw i8, ptr %.0810.i.i.i.i.i, i64 8 - %41 = load i32, ptr %40, align 4 - store i32 %41, ptr %39, align 4 + %41 = load i32, ptr %40, align 8 + store i32 %41, ptr %39, align 8 %.not.i.i3.i.i.i.i.i.i.i = icmp eq i32 %41, 0 br i1 %.not.i.i3.i.i.i.i.i.i.i, label %_ZSt10_ConstructISt4pairIN32pxrInternal_v0_24__pxrReserved__7SdfPathES2_EJRKS3_EEvPT_DpOT0_.exit.i.i.i.i.i, label %42 diff --git a/bench/php/optimized/parse_date.ll b/bench/php/optimized/parse_date.ll index 7a16a323ec4..1ffebd8c6aa 100644 --- a/bench/php/optimized/parse_date.ll +++ b/bench/php/optimized/parse_date.ll @@ -36330,7 +36330,7 @@ timelib_eat_spaces.exit17435: ; preds = %5295, %5298, %5302, %.217462 = phi i32 [ %15789, %15784 ], [ %.117461, %15780 ] %.1.i.i = phi i64 [ %15787, %15784 ], [ %.02332.i.i, %15780 ] %15791 = getelementptr inbounds nuw i8, ptr %.033.i.i, i64 16 - %15792 = load ptr, ptr %15791, align 8 + %15792 = load ptr, ptr %15791, align 16 %.not.i.i17437 = icmp eq ptr %15792, null br i1 %.not.i.i17437, label %timelib_get_relative_text.exit, label %15780 @@ -40019,7 +40019,7 @@ timelib_eat_spaces.exit17440: ; preds = %15793, %15796, %158 %.217459 = phi i32 [ %17504, %17499 ], [ %.117458, %17495 ] %.1.i.i17448 = phi i64 [ %17502, %17499 ], [ %.02332.i.i17447, %17495 ] %17506 = getelementptr inbounds nuw i8, ptr %.033.i.i17446, i64 16 - %17507 = load ptr, ptr %17506, align 8 + %17507 = load ptr, ptr %17506, align 16 %.not.i.i17449 = icmp eq ptr %17507, null br i1 %.not.i.i17449, label %timelib_get_relative_text.exit17452, label %17495 @@ -44540,7 +44540,7 @@ timelib_lookup_format.exit: ; preds = %.lr.ph1040 99: ; preds = %95 %100 = getelementptr inbounds nuw i8, ptr %.02741.i, i64 16 - %101 = load ptr, ptr %100, align 8 + %101 = load ptr, ptr %100, align 16 %.not40.i = icmp eq ptr %101, null br i1 %.not40.i, label %102, label %95 @@ -45209,7 +45209,7 @@ add_pbf_error.exit560: ; preds = %385, %390 433: ; preds = %429, %425 %.1.i = phi i64 [ %432, %429 ], [ %.02130.i, %425 ] %434 = getelementptr inbounds nuw i8, ptr %.031.i, i64 16 - %435 = load ptr, ptr %434, align 8 + %435 = load ptr, ptr %434, align 16 %.not.i561 = icmp eq ptr %435, null br i1 %.not.i561, label %timelib_lookup_month.exit, label %425 @@ -48582,7 +48582,7 @@ define internal fastcc noundef ptr @timelib_lookup_relunit(ptr noundef nonnull c 17: ; preds = %13 %18 = getelementptr inbounds nuw i8, ptr %.02741, i64 16 - %19 = load ptr, ptr %18, align 8 + %19 = load ptr, ptr %18, align 16 %.not40 = icmp eq ptr %19, null br i1 %.not40, label %20, label %13 @@ -48741,7 +48741,7 @@ define internal fastcc range(i64 -2147483648, 2147483648) i64 @timelib_lookup_mo 24: ; preds = %16, %20 %.1 = phi i64 [ %23, %20 ], [ %.02130, %16 ] %25 = getelementptr inbounds nuw i8, ptr %.031, i64 16 - %26 = load ptr, ptr %25, align 8 + %26 = load ptr, ptr %25, align 16 %.not = icmp eq ptr %26, null br i1 %.not, label %27, label %16 @@ -49613,7 +49613,7 @@ define internal fastcc range(i64 -2147483648, 2147483648) i64 @timelib_get_month 27: ; preds = %23, %19 %.1.i = phi i64 [ %26, %23 ], [ %.02130.i, %19 ] %28 = getelementptr inbounds nuw i8, ptr %.031.i, i64 16 - %29 = load ptr, ptr %28, align 8 + %29 = load ptr, ptr %28, align 16 %.not.i = icmp eq ptr %29, null br i1 %.not.i, label %timelib_lookup_month.exit, label %19 @@ -49738,7 +49738,7 @@ define internal fastcc void @timelib_set_relative(ptr noundef nonnull captures(n 21: ; preds = %17 %22 = getelementptr inbounds nuw i8, ptr %.02741.i, i64 16 - %23 = load ptr, ptr %22, align 8 + %23 = load ptr, ptr %22, align 16 %.not40.i = icmp eq ptr %23, null br i1 %.not40.i, label %timelib_lookup_relunit.exit.thread, label %17 @@ -50556,7 +50556,7 @@ define internal fastcc range(i64 -2147483648, 2147483648) i64 @timelib_get_relat 30: ; preds = %24, %20 %.1.i = phi i64 [ %27, %24 ], [ %.02332.i, %20 ] %31 = getelementptr inbounds nuw i8, ptr %.033.i, i64 16 - %32 = load ptr, ptr %31, align 8 + %32 = load ptr, ptr %31, align 16 %.not.i = icmp eq ptr %32, null br i1 %.not.i, label %timelib_lookup_relative_text.exit, label %20 diff --git a/bench/quantlib/optimized/hestonslvfdmmodel.ll b/bench/quantlib/optimized/hestonslvfdmmodel.ll index 15bcc722b90..0d70235fd12 100644 --- a/bench/quantlib/optimized/hestonslvfdmmodel.ll +++ b/bench/quantlib/optimized/hestonslvfdmmodel.ll @@ -5296,7 +5296,7 @@ for.body.i.i.i.i.i.i.i: ; preds = %if.else.i.i678, %fo %289 = load double, ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i, align 8, !tbaa !51, !noalias !186 %add.ptr.i2.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %__result.addr.08.i.i.i.i.i.i.i, i64 8 store double %289, ptr %add.ptr.i2.i.i.i.i.i.i.i.i.i.i, align 8, !tbaa !51, !noalias !186 - %290 = load i8, ptr %__first.addr.07.i.i.i.i.i.i.i, align 1, !tbaa !215, !range !26, !noalias !186, !noundef !27 + %290 = load i8, ptr %__first.addr.07.i.i.i.i.i.i.i, align 8, !tbaa !215, !range !26, !noalias !186, !noundef !27 store i8 %290, ptr %__result.addr.08.i.i.i.i.i.i.i, align 1, !tbaa !215, !noalias !186 %incdec.ptr.i.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %__first.addr.07.i.i.i.i.i.i.i, i64 24 %incdec.ptr1.i.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %__result.addr.08.i.i.i.i.i.i.i, i64 24 @@ -5334,7 +5334,7 @@ for.body.i.i.i.i.i32.i.i: ; preds = %for.body.i.i.i.i.i3 %292 = load double, ptr %add.ptr.i.i.i.i.i.i.i.i.i38.i.i, align 8, !tbaa !51, !noalias !186 %add.ptr.i2.i.i.i.i.i.i.i.i39.i.i = getelementptr inbounds nuw i8, ptr %__result.addr.08.i.i.i.i.i34.i.i, i64 8 store double %292, ptr %add.ptr.i2.i.i.i.i.i.i.i.i39.i.i, align 8, !tbaa !51, !noalias !186 - %293 = load i8, ptr %__first.addr.07.i.i.i.i.i35.i.i, align 1, !tbaa !215, !range !26, !noalias !186, !noundef !27 + %293 = load i8, ptr %__first.addr.07.i.i.i.i.i35.i.i, align 8, !tbaa !215, !range !26, !noalias !186, !noundef !27 store i8 %293, ptr %__result.addr.08.i.i.i.i.i34.i.i, align 1, !tbaa !215, !noalias !186 %incdec.ptr.i.i.i.i.i40.i.i = getelementptr inbounds nuw i8, ptr %__first.addr.07.i.i.i.i.i35.i.i, i64 24 %incdec.ptr1.i.i.i.i.i41.i.i = getelementptr inbounds nuw i8, ptr %__result.addr.08.i.i.i.i.i34.i.i, i64 24 @@ -5443,7 +5443,7 @@ for.body.i.i.i.i.i.i122.i: ; preds = %if.else.i113.i, %fo %307 = load double, ptr %add.ptr.i.i.i.i.i.i.i.i.i.i128.i, align 8, !tbaa !51, !noalias !186 %add.ptr.i2.i.i.i.i.i.i.i.i.i129.i = getelementptr inbounds nuw i8, ptr %__result.addr.08.i.i.i.i.i.i124.i, i64 8 store double %307, ptr %add.ptr.i2.i.i.i.i.i.i.i.i.i129.i, align 8, !tbaa !51, !noalias !186 - %308 = load i8, ptr %__first.addr.07.i.i.i.i.i.i125.i, align 1, !tbaa !215, !range !26, !noalias !186, !noundef !27 + %308 = load i8, ptr %__first.addr.07.i.i.i.i.i.i125.i, align 8, !tbaa !215, !range !26, !noalias !186, !noundef !27 store i8 %308, ptr %__result.addr.08.i.i.i.i.i.i124.i, align 1, !tbaa !215, !noalias !186 %incdec.ptr.i.i.i.i.i.i130.i = getelementptr inbounds nuw i8, ptr %__first.addr.07.i.i.i.i.i.i125.i, i64 24 %incdec.ptr1.i.i.i.i.i.i131.i = getelementptr inbounds nuw i8, ptr %__result.addr.08.i.i.i.i.i.i124.i, i64 24 @@ -5481,7 +5481,7 @@ for.body.i.i.i.i.i32.i149.i: ; preds = %for.body.i.i.i.i.i3 %310 = load double, ptr %add.ptr.i.i.i.i.i.i.i.i.i38.i155.i, align 8, !tbaa !51, !noalias !186 %add.ptr.i2.i.i.i.i.i.i.i.i39.i156.i = getelementptr inbounds nuw i8, ptr %__result.addr.08.i.i.i.i.i34.i151.i, i64 8 store double %310, ptr %add.ptr.i2.i.i.i.i.i.i.i.i39.i156.i, align 8, !tbaa !51, !noalias !186 - %311 = load i8, ptr %__first.addr.07.i.i.i.i.i35.i152.i, align 1, !tbaa !215, !range !26, !noalias !186, !noundef !27 + %311 = load i8, ptr %__first.addr.07.i.i.i.i.i35.i152.i, align 8, !tbaa !215, !range !26, !noalias !186, !noundef !27 store i8 %311, ptr %__result.addr.08.i.i.i.i.i34.i151.i, align 1, !tbaa !215, !noalias !186 %incdec.ptr.i.i.i.i.i40.i157.i = getelementptr inbounds nuw i8, ptr %__first.addr.07.i.i.i.i.i35.i152.i, i64 24 %incdec.ptr1.i.i.i.i.i41.i158.i = getelementptr inbounds nuw i8, ptr %__result.addr.08.i.i.i.i.i34.i151.i, i64 24 @@ -5590,7 +5590,7 @@ for.body.i.i.i.i.i.i187.i: ; preds = %if.else.i178.i, %fo %325 = load double, ptr %add.ptr.i.i.i.i.i.i.i.i.i.i193.i, align 8, !tbaa !51, !noalias !186 %add.ptr.i2.i.i.i.i.i.i.i.i.i194.i = getelementptr inbounds nuw i8, ptr %__result.addr.08.i.i.i.i.i.i189.i, i64 8 store double %325, ptr %add.ptr.i2.i.i.i.i.i.i.i.i.i194.i, align 8, !tbaa !51, !noalias !186 - %326 = load i8, ptr %__first.addr.07.i.i.i.i.i.i190.i, align 1, !tbaa !215, !range !26, !noalias !186, !noundef !27 + %326 = load i8, ptr %__first.addr.07.i.i.i.i.i.i190.i, align 8, !tbaa !215, !range !26, !noalias !186, !noundef !27 store i8 %326, ptr %__result.addr.08.i.i.i.i.i.i189.i, align 1, !tbaa !215, !noalias !186 %incdec.ptr.i.i.i.i.i.i195.i = getelementptr inbounds nuw i8, ptr %__first.addr.07.i.i.i.i.i.i190.i, i64 24 %incdec.ptr1.i.i.i.i.i.i196.i = getelementptr inbounds nuw i8, ptr %__result.addr.08.i.i.i.i.i.i189.i, i64 24 @@ -5628,7 +5628,7 @@ for.body.i.i.i.i.i32.i214.i: ; preds = %for.body.i.i.i.i.i3 %328 = load double, ptr %add.ptr.i.i.i.i.i.i.i.i.i38.i220.i, align 8, !tbaa !51, !noalias !186 %add.ptr.i2.i.i.i.i.i.i.i.i39.i221.i = getelementptr inbounds nuw i8, ptr %__result.addr.08.i.i.i.i.i34.i216.i, i64 8 store double %328, ptr %add.ptr.i2.i.i.i.i.i.i.i.i39.i221.i, align 8, !tbaa !51, !noalias !186 - %329 = load i8, ptr %__first.addr.07.i.i.i.i.i35.i217.i, align 1, !tbaa !215, !range !26, !noalias !186, !noundef !27 + %329 = load i8, ptr %__first.addr.07.i.i.i.i.i35.i217.i, align 8, !tbaa !215, !range !26, !noalias !186, !noundef !27 store i8 %329, ptr %__result.addr.08.i.i.i.i.i34.i216.i, align 1, !tbaa !215, !noalias !186 %incdec.ptr.i.i.i.i.i40.i222.i = getelementptr inbounds nuw i8, ptr %__first.addr.07.i.i.i.i.i35.i217.i, i64 24 %incdec.ptr1.i.i.i.i.i41.i223.i = getelementptr inbounds nuw i8, ptr %__result.addr.08.i.i.i.i.i34.i216.i, i64 24 diff --git a/bench/raylib/optimized/raudio.c.ll b/bench/raylib/optimized/raudio.c.ll index 58402269e58..7ad169c5e1e 100644 --- a/bench/raylib/optimized/raudio.c.ll +++ b/bench/raylib/optimized/raudio.c.ll @@ -77986,7 +77986,7 @@ drmp3_bs_get_bits.exit239.i: ; preds = %._crit_edge.i228.i, drmp3_bs_get_bits.exit251.i: ; preds = %._crit_edge.i240.i, %drmp3_bs_get_bits.exit239.i %.019.i244.i = phi i8 [ %678, %._crit_edge.i240.i ], [ 0, %drmp3_bs_get_bits.exit239.i ] %679 = getelementptr inbounds nuw i8, ptr %.099.i, i64 26 - store i8 %.019.i244.i, ptr %679, align 1 + store i8 %.019.i244.i, ptr %679, align 2 %680 = add nsw i32 %527, 23 %681 = icmp sgt i32 %680, %380 br i1 %681, label %drmp3_bs_get_bits.exit263.i, label %682 @@ -78150,7 +78150,7 @@ drmp3_bs_get_bits.exit299.i: ; preds = %._crit_edge.i288.i, %768 = getelementptr inbounds nuw i8, ptr %.099.i, i64 23 store i8 %.019.i292.i, ptr %768, align 1 %769 = getelementptr inbounds nuw i8, ptr %.099.i, i64 24 - store i8 -1, ptr %769, align 2 + store i8 -1, ptr %769, align 8 br label %770 770: ; preds = %drmp3_bs_get_bits.exit299.i, %drmp3_bs_get_bits.exit263.i @@ -78165,7 +78165,7 @@ drmp3_bs_get_bits.exit299.i: ; preds = %._crit_edge.i288.i, %775 = trunc i32 %774 to i8 %776 = and i8 %775, 31 %777 = getelementptr inbounds nuw i8, ptr %.099.i, i64 20 - store i8 %776, ptr %777, align 1 + store i8 %776, ptr %777, align 4 %778 = trunc i32 %.097.i to i8 %779 = and i8 %778, 31 %780 = getelementptr inbounds nuw i8, ptr %.099.i, i64 21 @@ -81315,7 +81315,7 @@ drmp3d_DCT_II.exit: ; preds = %189 %267 = getelementptr i8, ptr %240, i64 -244 store float %266, ptr %267, align 4 %268 = getelementptr inbounds nuw i8, ptr %.0460461.i, i64 4 - %269 = load float, ptr %.0460461.i, align 4 + %269 = load float, ptr %.0460461.i, align 16 %270 = insertelement <4 x float> poison, float %269, i64 0 %271 = shufflevector <4 x float> %270, <4 x float> poison, <4 x i32> zeroinitializer %272 = getelementptr inbounds nuw i8, ptr %.0460461.i, i64 8 @@ -81332,7 +81332,7 @@ drmp3d_DCT_II.exit: ; preds = %189 %283 = fmul <4 x float> %278, %275 %284 = fsub <4 x float> %282, %283 %285 = getelementptr inbounds nuw i8, ptr %.0460461.i, i64 12 - %286 = load float, ptr %272, align 4 + %286 = load float, ptr %272, align 8 %287 = insertelement <4 x float> poison, float %286, i64 0 %288 = shufflevector <4 x float> %287, <4 x float> poison, <4 x i32> zeroinitializer %289 = getelementptr inbounds nuw i8, ptr %.0460461.i, i64 16 @@ -81352,7 +81352,7 @@ drmp3d_DCT_II.exit: ; preds = %189 %303 = fsub <4 x float> %301, %302 %304 = fadd <4 x float> %284, %303 %305 = getelementptr inbounds nuw i8, ptr %.0460461.i, i64 20 - %306 = load float, ptr %289, align 4 + %306 = load float, ptr %289, align 16 %307 = insertelement <4 x float> poison, float %306, i64 0 %308 = shufflevector <4 x float> %307, <4 x float> poison, <4 x i32> zeroinitializer %309 = getelementptr inbounds nuw i8, ptr %.0460461.i, i64 24 @@ -81372,7 +81372,7 @@ drmp3d_DCT_II.exit: ; preds = %189 %323 = fsub <4 x float> %321, %322 %324 = fadd <4 x float> %304, %323 %325 = getelementptr inbounds nuw i8, ptr %.0460461.i, i64 28 - %326 = load float, ptr %309, align 4 + %326 = load float, ptr %309, align 8 %327 = insertelement <4 x float> poison, float %326, i64 0 %328 = shufflevector <4 x float> %327, <4 x float> poison, <4 x i32> zeroinitializer %329 = getelementptr inbounds nuw i8, ptr %.0460461.i, i64 32 @@ -81392,7 +81392,7 @@ drmp3d_DCT_II.exit: ; preds = %189 %343 = fsub <4 x float> %341, %342 %344 = fadd <4 x float> %324, %343 %345 = getelementptr inbounds nuw i8, ptr %.0460461.i, i64 36 - %346 = load float, ptr %329, align 4 + %346 = load float, ptr %329, align 16 %347 = insertelement <4 x float> poison, float %346, i64 0 %348 = shufflevector <4 x float> %347, <4 x float> poison, <4 x i32> zeroinitializer %349 = getelementptr inbounds nuw i8, ptr %.0460461.i, i64 40 @@ -81412,7 +81412,7 @@ drmp3d_DCT_II.exit: ; preds = %189 %363 = fsub <4 x float> %361, %362 %364 = fadd <4 x float> %344, %363 %365 = getelementptr inbounds nuw i8, ptr %.0460461.i, i64 44 - %366 = load float, ptr %349, align 4 + %366 = load float, ptr %349, align 8 %367 = insertelement <4 x float> poison, float %366, i64 0 %368 = shufflevector <4 x float> %367, <4 x float> poison, <4 x i32> zeroinitializer %369 = getelementptr inbounds nuw i8, ptr %.0460461.i, i64 48 @@ -81432,7 +81432,7 @@ drmp3d_DCT_II.exit: ; preds = %189 %383 = fsub <4 x float> %381, %382 %384 = fadd <4 x float> %364, %383 %385 = getelementptr inbounds nuw i8, ptr %.0460461.i, i64 52 - %386 = load float, ptr %369, align 4 + %386 = load float, ptr %369, align 16 %387 = insertelement <4 x float> poison, float %386, i64 0 %388 = shufflevector <4 x float> %387, <4 x float> poison, <4 x i32> zeroinitializer %389 = getelementptr inbounds nuw i8, ptr %.0460461.i, i64 56 @@ -81452,7 +81452,7 @@ drmp3d_DCT_II.exit: ; preds = %189 %403 = fsub <4 x float> %401, %402 %404 = fadd <4 x float> %384, %403 %405 = getelementptr inbounds nuw i8, ptr %.0460461.i, i64 60 - %406 = load float, ptr %389, align 4 + %406 = load float, ptr %389, align 8 %407 = insertelement <4 x float> poison, float %406, i64 0 %408 = shufflevector <4 x float> %407, <4 x float> poison, <4 x i32> zeroinitializer %409 = getelementptr inbounds nuw i8, ptr %.0460461.i, i64 64 @@ -94283,7 +94283,7 @@ ReadAudioBufferFramesInMixingFormat.exit: ; preds = %60, %ReadAudioBuffe %.050.i = phi ptr [ %201, %217 ], [ %238, %229 ] %.03949.i = phi ptr [ %10, %217 ], [ %239, %229 ] %.04248.i = phi i32 [ 0, %217 ], [ %240, %229 ] - %230 = load float, ptr %.03949.i, align 4 + %230 = load float, ptr %.03949.i, align 8 %231 = load float, ptr %.050.i, align 4 %232 = call float @llvm.fmuladd.f32(float %230, float %224, float %231) store float %232, ptr %.050.i, align 4 diff --git a/bench/rust-analyzer-rs/optimized/1n6t6n716s6vtscg.ll b/bench/rust-analyzer-rs/optimized/1n6t6n716s6vtscg.ll index 42cfd6fdbdf..0d8480166b5 100644 --- a/bench/rust-analyzer-rs/optimized/1n6t6n716s6vtscg.ll +++ b/bench/rust-analyzer-rs/optimized/1n6t6n716s6vtscg.ll @@ -7916,15 +7916,15 @@ define hidden void @"_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6t %8 = icmp eq i64 %5, 0 br i1 %8, label %.thread, label %.lr.ph -.lr.ph: ; preds = %3, %29 - %.sroa.10.033 = phi i64 [ %9, %29 ], [ %5, %3 ] - %.sroa.014.032 = phi ptr [ %12, %29 ], [ %1, %3 ] - %.sroa.7.031 = phi i64 [ %13, %29 ], [ 0, %3 ] +.lr.ph: ; preds = %3, %24 + %.sroa.10.033 = phi i64 [ %9, %24 ], [ %5, %3 ] + %.sroa.014.032 = phi ptr [ %12, %24 ], [ %1, %3 ] + %.sroa.7.031 = phi i64 [ %13, %24 ], [ 0, %3 ] %9 = add i64 %.sroa.10.033, -1 %10 = icmp eq ptr %.sroa.014.032, %7 br i1 %10, label %.thread, label %11 -.thread: ; preds = %29, %.lr.ph, %3 +.thread: ; preds = %24, %.lr.ph, %3 store i64 %5, ptr %0, align 8 %.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 8 store ptr %6, ptr %.sroa.4.0..sroa_idx, align 8 @@ -7944,8 +7944,8 @@ define hidden void @"_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6t %narrow.i.i = tail call i8 @llvm.umin.i8(i8 %15, i8 2) switch i8 %narrow.i.i, label %default.unreachable [ i8 0, label %16 - i8 1, label %22 - i8 2, label %27 + i8 1, label %.sink.split + i8 2, label %22 ] default.unreachable: ; preds = %11 @@ -7958,46 +7958,43 @@ default.unreachable: ; preds = %11 %.val1.i.i = load i64, ptr %18, align 8, !alias.scope !2375, !noalias !2376 %19 = atomicrmw add ptr %.val.i.i, i64 1 monotonic, align 8, !noalias !2378 %20 = icmp slt i64 %19, 0 - br i1 %20, label %21, label %29 + br i1 %20, label %21, label %24 21: ; preds = %16 tail call void @llvm.trap() unreachable 22: ; preds = %11 - %23 = getelementptr inbounds nuw i8, ptr %.sroa.014.032, i64 8 - %24 = load ptr, ptr %23, align 8, !alias.scope !2375, !noalias !2376, !nonnull !4, !align !144, !noundef !4 - %25 = getelementptr inbounds nuw i8, ptr %.sroa.014.032, i64 16 - %26 = load i64, ptr %25, align 8, !alias.scope !2375, !noalias !2376, !noundef !4 - br label %29 + %23 = getelementptr inbounds nuw i8, ptr %.sroa.014.032, i64 1 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.6.i, ptr noundef nonnull readonly align 1 dereferenceable(7) %23, i64 7, i1 false), !alias.scope !2379, !noalias !2380 + br label %.sink.split -27: ; preds = %11 - %28 = getelementptr inbounds nuw i8, ptr %.sroa.014.032, i64 1 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.6.i, ptr noundef nonnull readonly align 1 dereferenceable(7) %28, i64 7, i1 false), !alias.scope !2379, !noalias !2380 +.sink.split: ; preds = %11, %22 + %.sroa.0.0.i13.ph = phi i8 [ %14, %22 ], [ 25, %11 ] %.sroa.7.1..sroa_idx.i = getelementptr inbounds nuw i8, ptr %.sroa.014.032, i64 8 - %.sroa.7.1.copyload.i = load ptr, ptr %.sroa.7.1..sroa_idx.i, align 1, !alias.scope !2381, !noalias !2380 + %.sroa.7.1.copyload.i = load ptr, ptr %.sroa.7.1..sroa_idx.i, align 8, !alias.scope !2381, !noalias !2380 %.sroa.9.1..sroa_idx.i = getelementptr inbounds nuw i8, ptr %.sroa.014.032, i64 16 - %.sroa.9.1.copyload.i = load i64, ptr %.sroa.9.1..sroa_idx.i, align 1, !alias.scope !2381, !noalias !2380 - br label %29 + %.sroa.9.1.copyload.i = load i64, ptr %.sroa.9.1..sroa_idx.i, align 8, !alias.scope !2381, !noalias !2380 + br label %24 -29: ; preds = %27, %22, %16 - %.sroa.9.0.i = phi i64 [ %.sroa.9.1.copyload.i, %27 ], [ %26, %22 ], [ %.val1.i.i, %16 ] - %.sroa.7.0.i = phi ptr [ %.sroa.7.1.copyload.i, %27 ], [ %24, %22 ], [ %.val.i.i, %16 ] - %.sroa.0.0.i13 = phi i8 [ %14, %27 ], [ 25, %22 ], [ 24, %16 ] +24: ; preds = %.sink.split, %16 + %.sroa.9.0.i = phi i64 [ %.val1.i.i, %16 ], [ %.sroa.9.1.copyload.i, %.sink.split ] + %.sroa.7.0.i = phi ptr [ %.val.i.i, %16 ], [ %.sroa.7.1.copyload.i, %.sink.split ] + %.sroa.0.0.i13 = phi i8 [ 24, %16 ], [ %.sroa.0.0.i13.ph, %.sink.split ] call void @llvm.lifetime.start.p0(i64 7, ptr nonnull %.sroa.06.sroa.4) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.06.sroa.4, ptr noundef nonnull align 1 dereferenceable(7) %.sroa.6.i, i64 7, i1 false) call void @llvm.lifetime.end.p0(i64 7, ptr nonnull %.sroa.6.i) - %30 = getelementptr inbounds nuw [0 x { [3 x i64] }], ptr %6, i64 0, i64 %.sroa.7.031 - store i8 %.sroa.0.0.i13, ptr %30, align 8 - %.sroa.06.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %30, i64 1 + %25 = getelementptr inbounds nuw [0 x { [3 x i64] }], ptr %6, i64 0, i64 %.sroa.7.031 + store i8 %.sroa.0.0.i13, ptr %25, align 8 + %.sroa.06.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %25, i64 1 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.06.sroa.4.0..sroa_idx, ptr noundef nonnull align 1 dereferenceable(7) %.sroa.06.sroa.4, i64 7, i1 false) - %.sroa.06.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %30, i64 8 + %.sroa.06.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %25, i64 8 store ptr %.sroa.7.0.i, ptr %.sroa.06.sroa.5.0..sroa_idx, align 8 - %.sroa.06.sroa.6.0..sroa_idx = getelementptr inbounds nuw i8, ptr %30, i64 16 + %.sroa.06.sroa.6.0..sroa_idx = getelementptr inbounds nuw i8, ptr %25, i64 16 store i64 %.sroa.9.0.i, ptr %.sroa.06.sroa.6.0..sroa_idx, align 8 call void @llvm.lifetime.end.p0(i64 7, ptr nonnull %.sroa.06.sroa.4) - %31 = icmp eq i64 %9, 0 - br i1 %31, label %.thread, label %.lr.ph + %26 = icmp eq i64 %9, 0 + br i1 %26, label %.thread, label %.lr.ph } ; Function Attrs: inlinehint nonlazybind uwtable @@ -16018,7 +16015,7 @@ define hidden void @"_ZN69_$LT$hir_def..hir..type_ref..ConstRef$u20$as$u20$core. %.sroa.0.070.i.i.i.i = phi ptr [ %27, %.lr.ph.i.i.i.i ], [ %4, %20 ] %.sroa.11.069.i.i.i.i = phi i64 [ %26, %.lr.ph.i.i.i.i ], [ 16, %20 ] %.068.i.i.i.i = phi i64 [ %25, %.lr.ph.i.i.i.i ], [ %19, %20 ] - %.val.i.i.i.i.i.i = load i64, ptr %.sroa.0.070.i.i.i.i, align 1, !alias.scope !4747, !noalias !4752 + %.val.i.i.i.i.i.i = load i64, ptr %.sroa.0.070.i.i.i.i, align 8, !alias.scope !4747, !noalias !4752 %23 = tail call i64 @llvm.fshl.i64(i64 %.068.i.i.i.i, i64 %.068.i.i.i.i, i64 5) %24 = xor i64 %.val.i.i.i.i.i.i, %23 %25 = mul i64 %24, 5871781006564002453 @@ -16046,7 +16043,7 @@ _ZN4core4hash6Hasher10write_i12817h0052ff63c2cb73a0E.exit.i: ; preds = %.lr.ph.i %.sroa.0.070.i.i.i = phi ptr [ %35, %.lr.ph.i.i.i ], [ %3, %28 ] %.sroa.11.069.i.i.i = phi i64 [ %34, %.lr.ph.i.i.i ], [ 16, %28 ] %.068.i.i.i = phi i64 [ %33, %.lr.ph.i.i.i ], [ %19, %28 ] - %.val.i.i.i.i.i = load i64, ptr %.sroa.0.070.i.i.i, align 1, !alias.scope !4765, !noalias !4770 + %.val.i.i.i.i.i = load i64, ptr %.sroa.0.070.i.i.i, align 8, !alias.scope !4765, !noalias !4770 %31 = tail call i64 @llvm.fshl.i64(i64 %.068.i.i.i, i64 %.068.i.i.i, i64 5) %32 = xor i64 %.val.i.i.i.i.i, %31 %33 = mul i64 %32, 5871781006564002453 @@ -20022,7 +20019,7 @@ define hidden void @"_ZN76_$LT$hir_def..hir..type_ref..LiteralConstRef$u20$as$u2 %.sroa.0.070.i.i.i = phi ptr [ %19, %.lr.ph.i.i.i ], [ %4, %12 ] %.sroa.11.069.i.i.i = phi i64 [ %18, %.lr.ph.i.i.i ], [ 16, %12 ] %.068.i.i.i = phi i64 [ %17, %.lr.ph.i.i.i ], [ %10, %12 ] - %.val.i.i.i.i.i = load i64, ptr %.sroa.0.070.i.i.i, align 1, !alias.scope !5944, !noalias !5949 + %.val.i.i.i.i.i = load i64, ptr %.sroa.0.070.i.i.i, align 8, !alias.scope !5944, !noalias !5949 %15 = tail call i64 @llvm.fshl.i64(i64 %.068.i.i.i, i64 %.068.i.i.i, i64 5) %16 = xor i64 %.val.i.i.i.i.i, %15 %17 = mul i64 %16, 5871781006564002453 @@ -20050,7 +20047,7 @@ _ZN4core4hash6Hasher10write_i12817h0052ff63c2cb73a0E.exit: ; preds = %.lr.ph.i.i %.sroa.0.070.i.i = phi ptr [ %27, %.lr.ph.i.i ], [ %3, %20 ] %.sroa.11.069.i.i = phi i64 [ %26, %.lr.ph.i.i ], [ 16, %20 ] %.068.i.i = phi i64 [ %25, %.lr.ph.i.i ], [ %10, %20 ] - %.val.i.i.i.i = load i64, ptr %.sroa.0.070.i.i, align 1, !alias.scope !5960, !noalias !5965 + %.val.i.i.i.i = load i64, ptr %.sroa.0.070.i.i, align 8, !alias.scope !5960, !noalias !5965 %23 = tail call i64 @llvm.fshl.i64(i64 %.068.i.i, i64 %.068.i.i, i64 5) %24 = xor i64 %.val.i.i.i.i, %23 %25 = mul i64 %24, 5871781006564002453 diff --git a/bench/rust-analyzer-rs/optimized/1rhf3pjhhflazor1.ll b/bench/rust-analyzer-rs/optimized/1rhf3pjhhflazor1.ll index 7ed64c37013..ec1b5368ef7 100644 --- a/bench/rust-analyzer-rs/optimized/1rhf3pjhhflazor1.ll +++ b/bench/rust-analyzer-rs/optimized/1rhf3pjhhflazor1.ll @@ -23288,9 +23288,9 @@ define hidden void @"_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6t switch i8 %narrow.i, label %24 [ i8 0, label %"_ZN61_$LT$cfg..cfg_expr..CfgExpr$u20$as$u20$core..clone..Clone$GT$5clone17h67645bf403a59871E.exit" i8 1, label %25 - i8 2, label %75 - i8 3, label %76 - i8 4, label %77 + i8 2, label %70 + i8 3, label %71 + i8 4, label %72 ] 24: ; preds = %17 @@ -23342,9 +23342,9 @@ default.unreachable: ; preds = %"_ZN53_$LT$smol_str %42 = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 1 %.sroa.617.i.sroa.0.0.copyload = load i56, ptr %42, align 1, !alias.scope !7581, !noalias !7582 %.sroa.718.1..sroa_idx.i = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 8 - %.sroa.718.1.copyload.i = load ptr, ptr %.sroa.718.1..sroa_idx.i, align 1, !alias.scope !7583, !noalias !7582 + %.sroa.718.1.copyload.i = load ptr, ptr %.sroa.718.1..sroa_idx.i, align 8, !alias.scope !7583, !noalias !7582 %.sroa.919.1..sroa_idx.i = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 16 - %.sroa.919.1.copyload.i = load i64, ptr %.sroa.919.1..sroa_idx.i, align 1, !alias.scope !7583, !noalias !7582 + %.sroa.919.1.copyload.i = load i64, ptr %.sroa.919.1..sroa_idx.i, align 8, !alias.scope !7583, !noalias !7582 %43 = zext nneg i8 %28 to i64 br label %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit.i" @@ -23394,9 +23394,9 @@ default.unreachable: ; preds = %"_ZN53_$LT$smol_str %59 = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 1 %.sroa.6.i.sroa.0.0.copyload = load i56, ptr %59, align 1, !alias.scope !7592, !noalias !7582 %.sroa.7.1..sroa_idx.i = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 8 - %.sroa.7.1.copyload.i = load ptr, ptr %.sroa.7.1..sroa_idx.i, align 1, !alias.scope !7593, !noalias !7582 + %.sroa.7.1.copyload.i = load ptr, ptr %.sroa.7.1..sroa_idx.i, align 8, !alias.scope !7593, !noalias !7582 %.sroa.9.1..sroa_idx.i = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 16 - %.sroa.9.1.copyload.i = load i64, ptr %.sroa.9.1..sroa_idx.i, align 1, !alias.scope !7593, !noalias !7582 + %.sroa.9.1.copyload.i = load i64, ptr %.sroa.9.1..sroa_idx.i, align 8, !alias.scope !7593, !noalias !7582 %60 = zext nneg i8 %45 to i64 br label %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit8.i" @@ -23411,8 +23411,8 @@ default.unreachable: ; preds = %"_ZN53_$LT$smol_str %narrow.i9.i = tail call i8 @llvm.umin.i8(i8 %61, i8 2) switch i8 %narrow.i9.i, label %default.unreachable [ i8 0, label %62 - i8 1, label %68 - i8 2, label %73 + i8 1, label %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit14.i.sink.split" + i8 2, label %68 ] 62: ; preds = %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit8.i" @@ -23429,25 +23429,22 @@ default.unreachable: ; preds = %"_ZN53_$LT$smol_str unreachable 68: ; preds = %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit8.i" - %69 = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 32 - %70 = load ptr, ptr %69, align 8, !alias.scope !7599, !noalias !7600, !nonnull !15, !align !3953, !noundef !15 - %71 = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 40 - %72 = load i64, ptr %71, align 8, !alias.scope !7599, !noalias !7600, !noundef !15 - br label %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit14.i" + %69 = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 25 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.620.i, ptr noundef nonnull readonly align 1 dereferenceable(7) %69, i64 7, i1 false), !alias.scope !7602, !noalias !7582 + br label %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit14.i.sink.split" -73: ; preds = %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit8.i" - %74 = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 25 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.620.i, ptr noundef nonnull readonly align 1 dereferenceable(7) %74, i64 7, i1 false), !alias.scope !7602, !noalias !7582 +"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit14.i.sink.split": ; preds = %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit8.i", %68 + %.sroa.0.0.i15.ph = phi i8 [ %21, %68 ], [ 25, %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit8.i" ] %.sroa.721.1..sroa_idx.i = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 32 - %.sroa.721.1.copyload.i = load ptr, ptr %.sroa.721.1..sroa_idx.i, align 1, !alias.scope !7603, !noalias !7582 + %.sroa.721.1.copyload.i = load ptr, ptr %.sroa.721.1..sroa_idx.i, align 8, !alias.scope !7603, !noalias !7582 %.sroa.922.1..sroa_idx.i = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 40 - %.sroa.922.1.copyload.i = load i64, ptr %.sroa.922.1..sroa_idx.i, align 1, !alias.scope !7603, !noalias !7582 + %.sroa.922.1.copyload.i = load i64, ptr %.sroa.922.1..sroa_idx.i, align 8, !alias.scope !7603, !noalias !7582 br label %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit14.i" -"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit14.i": ; preds = %73, %68, %62 - %.sroa.0.0.i15 = phi i8 [ %21, %73 ], [ 25, %68 ], [ 24, %62 ] - %.sroa.721.0.i = phi ptr [ %.sroa.721.1.copyload.i, %73 ], [ %70, %68 ], [ %.val.i10.i, %62 ] - %.sroa.922.0.i = phi i64 [ %.sroa.922.1.copyload.i, %73 ], [ %72, %68 ], [ %.val1.i11.i, %62 ] +"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit14.i": ; preds = %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit14.i.sink.split", %62 + %.sroa.0.0.i15 = phi i8 [ 24, %62 ], [ %.sroa.0.0.i15.ph, %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit14.i.sink.split" ] + %.sroa.721.0.i = phi ptr [ %.val.i10.i, %62 ], [ %.sroa.721.1.copyload.i, %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit14.i.sink.split" ] + %.sroa.922.0.i = phi i64 [ %.val1.i11.i, %62 ], [ %.sroa.922.1.copyload.i, %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit14.i.sink.split" ] %.sroa.026.1.insert.ext = zext i56 %.sroa.6.i.sroa.0.2 to i64 %.sroa.026.1.insert.shift = shl nuw i64 %.sroa.026.1.insert.ext, 8 %.sroa.026.1.insert.insert = or disjoint i64 %.sroa.015.0.i, %.sroa.026.1.insert.shift @@ -23469,80 +23466,80 @@ default.unreachable: ; preds = %"_ZN53_$LT$smol_str call void @llvm.lifetime.end.p0(i64 7, ptr nonnull %.sroa.15) br label %"_ZN61_$LT$cfg..cfg_expr..CfgExpr$u20$as$u20$core..clone..Clone$GT$5clone17h67645bf403a59871E.exit" -75: ; preds = %17 +70: ; preds = %17 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5), !noalias !7605 invoke void @"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd71ffb889b51a80aE"(ptr noalias noundef nonnull sret({ { i64, ptr, {} }, i64 }) align 8 captures(none) dereferenceable(24) %5, ptr noalias noundef nonnull readonly align 8 dereferenceable(48) %.sroa.016.071) - to label %.noexc unwind label %83 + to label %.noexc unwind label %78 -.noexc: ; preds = %75 +.noexc: ; preds = %70 %.sroa.017.0.copyload20 = load ptr, ptr %5, align 8, !noalias !7564 %.sroa.721.sroa.0.0.copyload39 = load ptr, ptr %.sroa.721.0..sroa_idx23, align 8, !noalias !7564 %.sroa.721.sroa.6.0.copyload41 = load i64, ptr %.sroa.721.sroa.6.0..sroa.721.0..sroa_idx23.sroa_idx, align 8, !noalias !7564 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5), !noalias !7605 br label %"_ZN61_$LT$cfg..cfg_expr..CfgExpr$u20$as$u20$core..clone..Clone$GT$5clone17h67645bf403a59871E.exit" -76: ; preds = %17 +71: ; preds = %17 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !7605 invoke void @"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd71ffb889b51a80aE"(ptr noalias noundef nonnull sret({ { i64, ptr, {} }, i64 }) align 8 captures(none) dereferenceable(24) %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(48) %.sroa.016.071) - to label %.noexc13 unwind label %83 + to label %.noexc13 unwind label %78 -.noexc13: ; preds = %76 +.noexc13: ; preds = %71 %.sroa.017.0.copyload19 = load ptr, ptr %4, align 8, !noalias !7564 %.sroa.721.sroa.0.0.copyload = load ptr, ptr %.sroa.721.0..sroa_idx22, align 8, !noalias !7564 %.sroa.721.sroa.6.0.copyload = load i64, ptr %.sroa.721.sroa.6.0..sroa.721.0..sroa_idx22.sroa_idx, align 8, !noalias !7564 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !7605 br label %"_ZN61_$LT$cfg..cfg_expr..CfgExpr$u20$as$u20$core..clone..Clone$GT$5clone17h67645bf403a59871E.exit" -77: ; preds = %17 - %78 = invoke fastcc noundef nonnull align 8 ptr @"_ZN69_$LT$alloc..boxed..Box$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h07eea6ced4f98b74E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(48) %.sroa.016.071) - to label %"_ZN61_$LT$cfg..cfg_expr..CfgExpr$u20$as$u20$core..clone..Clone$GT$5clone17h67645bf403a59871E.exit" unwind label %83 - -"_ZN61_$LT$cfg..cfg_expr..CfgExpr$u20$as$u20$core..clone..Clone$GT$5clone17h67645bf403a59871E.exit": ; preds = %.noexc13, %.noexc, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit", %17, %77 - %.sroa.18.1 = phi i64 [ %.sroa.18.061, %.noexc13 ], [ %.sroa.18.061, %.noexc ], [ %.sroa.18.2, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.18.061, %17 ], [ %.sroa.18.061, %77 ] - %.sroa.17.1 = phi ptr [ %.sroa.17.062, %.noexc13 ], [ %.sroa.17.062, %.noexc ], [ %.sroa.17.2, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.17.062, %17 ], [ %.sroa.17.062, %77 ] - %.sroa.11.sroa.4.1 = phi ptr [ %.sroa.11.sroa.4.063, %.noexc13 ], [ %.sroa.11.sroa.4.063, %.noexc ], [ %.sroa.17.2, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.11.sroa.4.063, %17 ], [ %.sroa.11.sroa.4.063, %77 ] - %.sroa.11.sroa.5.1 = phi i64 [ %.sroa.11.sroa.5.064, %.noexc13 ], [ %.sroa.11.sroa.5.064, %.noexc ], [ %.sroa.18.2, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.11.sroa.5.064, %17 ], [ %.sroa.11.sroa.5.064, %77 ] - %.sroa.721.sroa.0.1 = phi ptr [ %.sroa.721.sroa.0.0.copyload, %.noexc13 ], [ %.sroa.721.sroa.0.0.copyload39, %.noexc ], [ %.sroa.737.0, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.721.sroa.0.065, %17 ], [ %.sroa.721.sroa.0.065, %77 ] - %.sroa.721.sroa.6.1 = phi i64 [ %.sroa.721.sroa.6.0.copyload, %.noexc13 ], [ %.sroa.721.sroa.6.0.copyload41, %.noexc ], [ %.sroa.1038.0, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.721.sroa.6.066, %17 ], [ %.sroa.721.sroa.6.066, %77 ] - %.sroa.724.0 = phi i8 [ 30, %.noexc13 ], [ 29, %.noexc ], [ %.sroa.12.0, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ 27, %17 ], [ 31, %77 ] - %.sroa.017.1 = phi ptr [ %.sroa.017.0.copyload19, %.noexc13 ], [ %.sroa.017.0.copyload20, %.noexc ], [ %.sroa.026.2, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.017.067, %17 ], [ %78, %77 ] - %.sroa.6.i.sroa.0.1 = phi i56 [ %.sroa.6.i.sroa.0.070, %.noexc13 ], [ %.sroa.6.i.sroa.0.070, %.noexc ], [ %.sroa.6.i.sroa.0.3, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.6.i.sroa.0.070, %17 ], [ %.sroa.6.i.sroa.0.070, %77 ] - %.sroa.617.i.sroa.0.1 = phi i56 [ %.sroa.617.i.sroa.0.072, %.noexc13 ], [ %.sroa.617.i.sroa.0.072, %.noexc ], [ %.sroa.617.i.sroa.0.3, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.617.i.sroa.0.072, %17 ], [ %.sroa.617.i.sroa.0.072, %77 ] - %79 = getelementptr inbounds nuw [0 x { [6 x i64] }], ptr %9, i64 0, i64 %.sroa.7.069 +72: ; preds = %17 + %73 = invoke fastcc noundef nonnull align 8 ptr @"_ZN69_$LT$alloc..boxed..Box$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h07eea6ced4f98b74E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(48) %.sroa.016.071) + to label %"_ZN61_$LT$cfg..cfg_expr..CfgExpr$u20$as$u20$core..clone..Clone$GT$5clone17h67645bf403a59871E.exit" unwind label %78 + +"_ZN61_$LT$cfg..cfg_expr..CfgExpr$u20$as$u20$core..clone..Clone$GT$5clone17h67645bf403a59871E.exit": ; preds = %.noexc13, %.noexc, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit", %17, %72 + %.sroa.18.1 = phi i64 [ %.sroa.18.061, %.noexc13 ], [ %.sroa.18.061, %.noexc ], [ %.sroa.18.2, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.18.061, %17 ], [ %.sroa.18.061, %72 ] + %.sroa.17.1 = phi ptr [ %.sroa.17.062, %.noexc13 ], [ %.sroa.17.062, %.noexc ], [ %.sroa.17.2, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.17.062, %17 ], [ %.sroa.17.062, %72 ] + %.sroa.11.sroa.4.1 = phi ptr [ %.sroa.11.sroa.4.063, %.noexc13 ], [ %.sroa.11.sroa.4.063, %.noexc ], [ %.sroa.17.2, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.11.sroa.4.063, %17 ], [ %.sroa.11.sroa.4.063, %72 ] + %.sroa.11.sroa.5.1 = phi i64 [ %.sroa.11.sroa.5.064, %.noexc13 ], [ %.sroa.11.sroa.5.064, %.noexc ], [ %.sroa.18.2, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.11.sroa.5.064, %17 ], [ %.sroa.11.sroa.5.064, %72 ] + %.sroa.721.sroa.0.1 = phi ptr [ %.sroa.721.sroa.0.0.copyload, %.noexc13 ], [ %.sroa.721.sroa.0.0.copyload39, %.noexc ], [ %.sroa.737.0, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.721.sroa.0.065, %17 ], [ %.sroa.721.sroa.0.065, %72 ] + %.sroa.721.sroa.6.1 = phi i64 [ %.sroa.721.sroa.6.0.copyload, %.noexc13 ], [ %.sroa.721.sroa.6.0.copyload41, %.noexc ], [ %.sroa.1038.0, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.721.sroa.6.066, %17 ], [ %.sroa.721.sroa.6.066, %72 ] + %.sroa.724.0 = phi i8 [ 30, %.noexc13 ], [ 29, %.noexc ], [ %.sroa.12.0, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ 27, %17 ], [ 31, %72 ] + %.sroa.017.1 = phi ptr [ %.sroa.017.0.copyload19, %.noexc13 ], [ %.sroa.017.0.copyload20, %.noexc ], [ %.sroa.026.2, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.017.067, %17 ], [ %73, %72 ] + %.sroa.6.i.sroa.0.1 = phi i56 [ %.sroa.6.i.sroa.0.070, %.noexc13 ], [ %.sroa.6.i.sroa.0.070, %.noexc ], [ %.sroa.6.i.sroa.0.3, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.6.i.sroa.0.070, %17 ], [ %.sroa.6.i.sroa.0.070, %72 ] + %.sroa.617.i.sroa.0.1 = phi i56 [ %.sroa.617.i.sroa.0.072, %.noexc13 ], [ %.sroa.617.i.sroa.0.072, %.noexc ], [ %.sroa.617.i.sroa.0.3, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.617.i.sroa.0.072, %17 ], [ %.sroa.617.i.sroa.0.072, %72 ] + %74 = getelementptr inbounds nuw [0 x { [6 x i64] }], ptr %9, i64 0, i64 %.sroa.7.069 call void @llvm.lifetime.start.p0(i64 7, ptr nonnull %.sroa.06.sroa.6.sroa.0) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.06.sroa.6.sroa.0, ptr noundef nonnull align 1 dereferenceable(7) %.sroa.11.sroa.0, i64 7, i1 false) - store ptr %.sroa.017.1, ptr %79, align 8 - %.sroa.06.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %79, i64 8 + store ptr %.sroa.017.1, ptr %74, align 8 + %.sroa.06.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %74, i64 8 store ptr %.sroa.721.sroa.0.1, ptr %.sroa.06.sroa.4.0..sroa_idx, align 8 - %.sroa.06.sroa.4.sroa.4.0..sroa.06.sroa.4.0..sroa_idx.sroa_idx = getelementptr inbounds nuw i8, ptr %79, i64 16 + %.sroa.06.sroa.4.sroa.4.0..sroa.06.sroa.4.0..sroa_idx.sroa_idx = getelementptr inbounds nuw i8, ptr %74, i64 16 store i64 %.sroa.721.sroa.6.1, ptr %.sroa.06.sroa.4.sroa.4.0..sroa.06.sroa.4.0..sroa_idx.sroa_idx, align 8 - %.sroa.06.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %79, i64 24 + %.sroa.06.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %74, i64 24 store i8 %.sroa.724.0, ptr %.sroa.06.sroa.5.0..sroa_idx, align 8 - %.sroa.06.sroa.6.0..sroa_idx = getelementptr inbounds nuw i8, ptr %79, i64 25 + %.sroa.06.sroa.6.0..sroa_idx = getelementptr inbounds nuw i8, ptr %74, i64 25 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.06.sroa.6.0..sroa_idx, ptr noundef nonnull align 1 dereferenceable(7) %.sroa.06.sroa.6.sroa.0, i64 7, i1 false) - %.sroa.06.sroa.6.sroa.4.0..sroa.06.sroa.6.0..sroa_idx.sroa_idx = getelementptr inbounds nuw i8, ptr %79, i64 32 + %.sroa.06.sroa.6.sroa.4.0..sroa.06.sroa.6.0..sroa_idx.sroa_idx = getelementptr inbounds nuw i8, ptr %74, i64 32 store ptr %.sroa.11.sroa.4.1, ptr %.sroa.06.sroa.6.sroa.4.0..sroa.06.sroa.6.0..sroa_idx.sroa_idx, align 1 - %.sroa.06.sroa.6.sroa.5.0..sroa.06.sroa.6.0..sroa_idx.sroa_idx = getelementptr inbounds nuw i8, ptr %79, i64 40 + %.sroa.06.sroa.6.sroa.5.0..sroa.06.sroa.6.0..sroa_idx.sroa_idx = getelementptr inbounds nuw i8, ptr %74, i64 40 store i64 %.sroa.11.sroa.5.1, ptr %.sroa.06.sroa.6.sroa.5.0..sroa.06.sroa.6.0..sroa_idx.sroa_idx, align 1 call void @llvm.lifetime.end.p0(i64 7, ptr nonnull %.sroa.06.sroa.6.sroa.0) call void @llvm.lifetime.end.p0(i64 7, ptr nonnull %.sroa.11.sroa.0) - %80 = icmp eq i64 %15, 0 - br i1 %80, label %.thread, label %14 + %75 = icmp eq i64 %15, 0 + br i1 %75, label %.thread, label %14 -81: ; preds = %83 - %82 = landingpad { ptr, i32 } +76: ; preds = %78 + %77 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17hbacfddf1bcf21a1eE() #34 unreachable -83: ; preds = %75, %76, %77 +78: ; preds = %70, %71, %72 %lpad.loopexit = landingpad { ptr, i32 } cleanup store i64 %.sroa.7.069, ptr %11, align 8 invoke void @"_ZN4core3ptr66drop_in_place$LT$alloc..vec..Vec$LT$cfg..cfg_expr..CfgExpr$GT$$GT$17h3d9600b999e20779E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %6) #35 - to label %84 unwind label %81 + to label %79 unwind label %76 -84: ; preds = %83 +79: ; preds = %78 resume { ptr, i32 } %lpad.loopexit } @@ -23626,9 +23623,9 @@ default.unreachable: ; preds = %16 %32 = getelementptr inbounds nuw i8, ptr %.sroa.013.031, i64 1 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.6.i.i, ptr noundef nonnull readonly align 1 dereferenceable(7) %32, i64 7, i1 false), !alias.scope !7624, !noalias !7625 %.sroa.8.1..sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %.sroa.013.031, i64 8 - %.sroa.8.1.copyload.i.i = load i64, ptr %.sroa.8.1..sroa_idx.i.i, align 1, !alias.scope !7626, !noalias !7613 + %.sroa.8.1.copyload.i.i = load i64, ptr %.sroa.8.1..sroa_idx.i.i, align 8, !alias.scope !7626, !noalias !7613 %.sroa.11.1..sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %.sroa.013.031, i64 16 - %.sroa.11.1.copyload.i.i = load i64, ptr %.sroa.11.1..sroa_idx.i.i, align 1, !alias.scope !7626, !noalias !7613 + %.sroa.11.1.copyload.i.i = load i64, ptr %.sroa.11.1..sroa_idx.i.i, align 8, !alias.scope !7626, !noalias !7613 br label %36 33: ; preds = %11 @@ -23846,7 +23843,7 @@ define hidden void @"_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6t tail call void @llvm.experimental.noalias.scope.decl(metadata !7630) tail call void @llvm.experimental.noalias.scope.decl(metadata !7633) call void @llvm.lifetime.start.p0(i64 7, ptr nonnull %.sroa.6.i.i) - %20 = load i8, ptr %.sroa.013.031, align 8, !range !462, !alias.scope !7633, !noalias !7630, !noundef !15 + %20 = load i8, ptr %.sroa.013.031, align 16, !range !462, !alias.scope !7633, !noalias !7630, !noundef !15 %21 = icmp eq i8 %20, 27 br i1 %21, label %22, label %23 @@ -23877,7 +23874,7 @@ default.unreachable: ; preds = %25 %28 = getelementptr inbounds nuw i8, ptr %.sroa.013.031, i64 8 %.val.i.i.i = load ptr, ptr %28, align 8, !alias.scope !7643, !noalias !7644, !nonnull !15, !noundef !15 %29 = getelementptr inbounds nuw i8, ptr %.sroa.013.031, i64 16 - %.val1.i.i.i = load i64, ptr %29, align 8, !alias.scope !7643, !noalias !7644 + %.val1.i.i.i = load i64, ptr %29, align 16, !alias.scope !7643, !noalias !7644 %30 = atomicrmw add ptr %.val.i.i.i, i64 1 monotonic, align 8, !noalias !7646 %31 = icmp slt i64 %30, 0 br i1 %31, label %32, label %"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h52f29eab81cb3722E.exit.i.i.i" @@ -23894,7 +23891,7 @@ default.unreachable: ; preds = %25 %35 = getelementptr inbounds nuw i8, ptr %.sroa.013.031, i64 8 %36 = load ptr, ptr %35, align 8, !alias.scope !7643, !noalias !7644, !nonnull !15, !align !3953, !noundef !15 %37 = getelementptr inbounds nuw i8, ptr %.sroa.013.031, i64 16 - %38 = load i64, ptr %37, align 8, !alias.scope !7643, !noalias !7644, !noundef !15 + %38 = load i64, ptr %37, align 16, !alias.scope !7643, !noalias !7644, !noundef !15 %39 = ptrtoint ptr %36 to i64 br label %"_ZN61_$LT$hir_expand..name..Name$u20$as$u20$core..clone..Clone$GT$5clone17h47d2409d10821434E.exit.i" @@ -23902,9 +23899,9 @@ default.unreachable: ; preds = %25 %41 = getelementptr inbounds nuw i8, ptr %.sroa.013.031, i64 1 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.6.i.i, ptr noundef nonnull readonly align 1 dereferenceable(7) %41, i64 7, i1 false), !alias.scope !7647, !noalias !7630 %.sroa.8.1..sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %.sroa.013.031, i64 8 - %.sroa.8.1.copyload.i.i = load i64, ptr %.sroa.8.1..sroa_idx.i.i, align 1, !alias.scope !7648, !noalias !7649 + %.sroa.8.1.copyload.i.i = load i64, ptr %.sroa.8.1..sroa_idx.i.i, align 8, !alias.scope !7648, !noalias !7649 %.sroa.11.1..sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %.sroa.013.031, i64 16 - %.sroa.11.1.copyload.i.i = load i64, ptr %.sroa.11.1..sroa_idx.i.i, align 1, !alias.scope !7648, !noalias !7649 + %.sroa.11.1.copyload.i.i = load i64, ptr %.sroa.11.1..sroa_idx.i.i, align 16, !alias.scope !7648, !noalias !7649 br label %"_ZN61_$LT$hir_expand..name..Name$u20$as$u20$core..clone..Clone$GT$5clone17h47d2409d10821434E.exit.i" 42: ; preds = %23 @@ -24054,7 +24051,7 @@ default.unreachable: ; preds = %120, %67, %29 31: ; preds = %29 %32 = getelementptr inbounds nuw i8, ptr %.sroa.013.048, i64 16 - %.val.i.i.i.i = load ptr, ptr %32, align 8, !alias.scope !7671, !noalias !7672, !nonnull !15, !noundef !15 + %.val.i.i.i.i = load ptr, ptr %32, align 16, !alias.scope !7671, !noalias !7672, !nonnull !15, !noundef !15 %33 = getelementptr inbounds nuw i8, ptr %.sroa.013.048, i64 24 %.val1.i.i.i.i = load i64, ptr %33, align 8, !alias.scope !7671, !noalias !7672 %34 = atomicrmw add ptr %.val.i.i.i.i, i64 1 monotonic, align 8, !noalias !7674 @@ -24071,7 +24068,7 @@ default.unreachable: ; preds = %120, %67, %29 38: ; preds = %29 %39 = getelementptr inbounds nuw i8, ptr %.sroa.013.048, i64 16 - %40 = load ptr, ptr %39, align 8, !alias.scope !7671, !noalias !7672, !nonnull !15, !align !3953, !noundef !15 + %40 = load ptr, ptr %39, align 16, !alias.scope !7671, !noalias !7672, !nonnull !15, !align !3953, !noundef !15 %41 = getelementptr inbounds nuw i8, ptr %.sroa.013.048, i64 24 %42 = load i64, ptr %41, align 8, !alias.scope !7671, !noalias !7672, !noundef !15 %43 = ptrtoint ptr %40 to i64 @@ -24081,14 +24078,14 @@ default.unreachable: ; preds = %120, %67, %29 %45 = getelementptr inbounds nuw i8, ptr %.sroa.013.048, i64 9 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.6.i.i.i, ptr noundef nonnull readonly align 1 dereferenceable(7) %45, i64 7, i1 false), !alias.scope !7675, !noalias !7662 %.sroa.8.1..sroa_idx.i.i.i = getelementptr inbounds nuw i8, ptr %.sroa.013.048, i64 16 - %.sroa.8.1.copyload.i.i.i = load i64, ptr %.sroa.8.1..sroa_idx.i.i.i, align 1, !alias.scope !7676, !noalias !7677 + %.sroa.8.1.copyload.i.i.i = load i64, ptr %.sroa.8.1..sroa_idx.i.i.i, align 16, !alias.scope !7676, !noalias !7677 %.sroa.11.1..sroa_idx.i.i.i = getelementptr inbounds nuw i8, ptr %.sroa.013.048, i64 24 - %.sroa.11.1.copyload.i.i.i = load i64, ptr %.sroa.11.1..sroa_idx.i.i.i, align 1, !alias.scope !7676, !noalias !7677 + %.sroa.11.1.copyload.i.i.i = load i64, ptr %.sroa.11.1..sroa_idx.i.i.i, align 8, !alias.scope !7676, !noalias !7677 br label %"_ZN61_$LT$hir_expand..name..Name$u20$as$u20$core..clone..Clone$GT$5clone17h47d2409d10821434E.exit.i.i" 46: ; preds = %27 %47 = getelementptr inbounds nuw i8, ptr %.sroa.013.048, i64 16 - %48 = load i64, ptr %47, align 8, !alias.scope !7678, !noalias !7677, !noundef !15 + %48 = load i64, ptr %47, align 16, !alias.scope !7678, !noalias !7677, !noundef !15 br label %"_ZN61_$LT$hir_expand..name..Name$u20$as$u20$core..clone..Clone$GT$5clone17h47d2409d10821434E.exit.i.i" "_ZN61_$LT$hir_expand..name..Name$u20$as$u20$core..clone..Clone$GT$5clone17h47d2409d10821434E.exit.i.i": ; preds = %46, %44, %38, %"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h52f29eab81cb3722E.exit.i.i.i.i" @@ -24103,7 +24100,7 @@ default.unreachable: ; preds = %120, %67, %29 49: ; preds = %"_ZN61_$LT$hir_expand..name..Name$u20$as$u20$core..clone..Clone$GT$5clone17h47d2409d10821434E.exit.i.i", %26 %50 = getelementptr inbounds nuw i8, ptr %.sroa.013.048, i64 32 - %51 = load ptr, ptr %50, align 8, !alias.scope !7661, !noalias !7662, !noundef !15 + %51 = load ptr, ptr %50, align 16, !alias.scope !7661, !noalias !7662, !noundef !15 %52 = icmp eq ptr %51, null br i1 %52, label %"_ZN71_$LT$hir_def..generics..TypeParamData$u20$as$u20$core..clone..Clone$GT$5clone17hee76895c6db3fbd1E.exit.i", label %53 @@ -24148,7 +24145,7 @@ default.unreachable: ; preds = %120, %67, %29 tail call void @llvm.experimental.noalias.scope.decl(metadata !7688) tail call void @llvm.experimental.noalias.scope.decl(metadata !7691) call void @llvm.lifetime.start.p0(i64 7, ptr nonnull %.sroa.6.i.i1.i) - %65 = load i8, ptr %64, align 8, !range !300, !alias.scope !7693, !noalias !7694, !noundef !15 + %65 = load i8, ptr %64, align 16, !range !300, !alias.scope !7693, !noalias !7694, !noundef !15 %66 = icmp eq i8 %65, 26 br i1 %66, label %84, label %67 @@ -24167,7 +24164,7 @@ default.unreachable: ; preds = %120, %67, %29 %70 = getelementptr inbounds nuw i8, ptr %.sroa.013.048, i64 40 %.val.i.i.i14.i = load ptr, ptr %70, align 8, !alias.scope !7700, !noalias !7701, !nonnull !15, !noundef !15 %71 = getelementptr inbounds nuw i8, ptr %.sroa.013.048, i64 48 - %.val1.i.i.i15.i = load i64, ptr %71, align 8, !alias.scope !7700, !noalias !7701 + %.val1.i.i.i15.i = load i64, ptr %71, align 16, !alias.scope !7700, !noalias !7701 %72 = atomicrmw add ptr %.val.i.i.i14.i, i64 1 monotonic, align 8, !noalias !7702 %73 = icmp slt i64 %72, 0 br i1 %73, label %74, label %"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h52f29eab81cb3722E.exit.i.i.i16.i" @@ -24184,7 +24181,7 @@ default.unreachable: ; preds = %120, %67, %29 %77 = getelementptr inbounds nuw i8, ptr %.sroa.013.048, i64 40 %78 = load ptr, ptr %77, align 8, !alias.scope !7700, !noalias !7701, !nonnull !15, !align !3953, !noundef !15 %79 = getelementptr inbounds nuw i8, ptr %.sroa.013.048, i64 48 - %80 = load i64, ptr %79, align 8, !alias.scope !7700, !noalias !7701, !noundef !15 + %80 = load i64, ptr %79, align 16, !alias.scope !7700, !noalias !7701, !noundef !15 %81 = ptrtoint ptr %78 to i64 br label %"_ZN61_$LT$hir_expand..name..Name$u20$as$u20$core..clone..Clone$GT$5clone17h47d2409d10821434E.exit.i7.i" @@ -24192,9 +24189,9 @@ default.unreachable: ; preds = %120, %67, %29 %83 = getelementptr inbounds nuw i8, ptr %.sroa.013.048, i64 33 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.6.i.i1.i, ptr noundef nonnull readonly align 1 dereferenceable(7) %83, i64 7, i1 false), !alias.scope !7703, !noalias !7694 %.sroa.8.1..sroa_idx.i.i3.i = getelementptr inbounds nuw i8, ptr %.sroa.013.048, i64 40 - %.sroa.8.1.copyload.i.i4.i = load i64, ptr %.sroa.8.1..sroa_idx.i.i3.i, align 1, !alias.scope !7704, !noalias !7694 + %.sroa.8.1.copyload.i.i4.i = load i64, ptr %.sroa.8.1..sroa_idx.i.i3.i, align 8, !alias.scope !7704, !noalias !7694 %.sroa.11.1..sroa_idx.i.i5.i = getelementptr inbounds nuw i8, ptr %.sroa.013.048, i64 48 - %.sroa.11.1.copyload.i.i6.i = load i64, ptr %.sroa.11.1..sroa_idx.i.i5.i, align 1, !alias.scope !7704, !noalias !7694 + %.sroa.11.1.copyload.i.i6.i = load i64, ptr %.sroa.11.1..sroa_idx.i.i5.i, align 16, !alias.scope !7704, !noalias !7694 br label %"_ZN61_$LT$hir_expand..name..Name$u20$as$u20$core..clone..Clone$GT$5clone17h47d2409d10821434E.exit.i7.i" 84: ; preds = %63 @@ -24304,7 +24301,7 @@ default.unreachable1.i.i.i.i: ; preds = %103 122: ; preds = %120 %123 = getelementptr inbounds nuw i8, ptr %.sroa.013.048, i64 16 - %.val.i.i.i.i.i = load ptr, ptr %123, align 8, !alias.scope !7733, !noalias !7734, !nonnull !15, !noundef !15 + %.val.i.i.i.i.i = load ptr, ptr %123, align 16, !alias.scope !7733, !noalias !7734, !nonnull !15, !noundef !15 %124 = getelementptr inbounds nuw i8, ptr %.sroa.013.048, i64 24 %.val1.i.i.i.i.i = load i64, ptr %124, align 8, !alias.scope !7733, !noalias !7734 %125 = atomicrmw add ptr %.val.i.i.i.i.i, i64 1 monotonic, align 8, !noalias !7735 @@ -24321,7 +24318,7 @@ default.unreachable1.i.i.i.i: ; preds = %103 129: ; preds = %120 %130 = getelementptr inbounds nuw i8, ptr %.sroa.013.048, i64 16 - %131 = load ptr, ptr %130, align 8, !alias.scope !7733, !noalias !7734, !nonnull !15, !align !3953, !noundef !15 + %131 = load ptr, ptr %130, align 16, !alias.scope !7733, !noalias !7734, !nonnull !15, !align !3953, !noundef !15 %132 = getelementptr inbounds nuw i8, ptr %.sroa.013.048, i64 24 %133 = load i64, ptr %132, align 8, !alias.scope !7733, !noalias !7734, !noundef !15 %134 = ptrtoint ptr %131 to i64 @@ -24331,16 +24328,16 @@ default.unreachable1.i.i.i.i: ; preds = %103 %136 = getelementptr inbounds nuw i8, ptr %.sroa.013.048, i64 9 %.sroa.6.i.i.sroa.0.0.copyload.i.i = load i24, ptr %136, align 1, !alias.scope !7736, !noalias !7737 %.sroa.6.i.i.sroa.4.0..sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %.sroa.013.048, i64 12 - %.sroa.6.i.i.sroa.4.0.copyload.i.i = load i32, ptr %.sroa.6.i.i.sroa.4.0..sroa_idx.i.i, align 1, !alias.scope !7736, !noalias !7737 + %.sroa.6.i.i.sroa.4.0.copyload.i.i = load i32, ptr %.sroa.6.i.i.sroa.4.0..sroa_idx.i.i, align 4, !alias.scope !7736, !noalias !7737 %.sroa.8.1..sroa_idx.i.i.i.i = getelementptr inbounds nuw i8, ptr %.sroa.013.048, i64 16 - %.sroa.8.1.copyload.i.i.i.i = load i64, ptr %.sroa.8.1..sroa_idx.i.i.i.i, align 1, !alias.scope !7738, !noalias !7726 + %.sroa.8.1.copyload.i.i.i.i = load i64, ptr %.sroa.8.1..sroa_idx.i.i.i.i, align 16, !alias.scope !7738, !noalias !7726 %.sroa.11.1..sroa_idx.i.i.i.i = getelementptr inbounds nuw i8, ptr %.sroa.013.048, i64 24 - %.sroa.11.1.copyload.i.i.i.i = load i64, ptr %.sroa.11.1..sroa_idx.i.i.i.i, align 1, !alias.scope !7738, !noalias !7726 + %.sroa.11.1.copyload.i.i.i.i = load i64, ptr %.sroa.11.1..sroa_idx.i.i.i.i, align 8, !alias.scope !7738, !noalias !7726 br label %"_ZN61_$LT$hir_expand..name..Name$u20$as$u20$core..clone..Clone$GT$5clone17h47d2409d10821434E.exit.i.i.i" 137: ; preds = %116 %138 = getelementptr inbounds nuw i8, ptr %.sroa.013.048, i64 16 - %139 = load i64, ptr %138, align 8, !alias.scope !7725, !noalias !7726, !noundef !15 + %139 = load i64, ptr %138, align 16, !alias.scope !7725, !noalias !7726, !noundef !15 br label %"_ZN61_$LT$hir_expand..name..Name$u20$as$u20$core..clone..Clone$GT$5clone17h47d2409d10821434E.exit.i.i.i" "_ZN61_$LT$hir_expand..name..Name$u20$as$u20$core..clone..Clone$GT$5clone17h47d2409d10821434E.exit.i.i.i": ; preds = %137, %135, %129, %"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h52f29eab81cb3722E.exit.i.i.i.i.i" @@ -24359,7 +24356,7 @@ default.unreachable1.i.i.i.i: ; preds = %103 %141 = getelementptr inbounds nuw i8, ptr %.sroa.013.048, i64 4 %.val.i.i.i = load i32, ptr %141, align 4, !alias.scope !7739, !noalias !7737, !noundef !15 %142 = getelementptr inbounds nuw i8, ptr %.sroa.013.048, i64 8 - %.val1.i.i.i = load i32, ptr %142, align 4, !alias.scope !7740, !noalias !7737, !noundef !15 + %.val1.i.i.i = load i32, ptr %142, align 8, !alias.scope !7740, !noalias !7737, !noundef !15 %.sroa.10.sroa.0.0.extract.trunc.i.i = trunc i32 %.val1.i.i.i to i8 %.sroa.10.sroa.5.0.extract.shift.i.i = lshr i32 %.val1.i.i.i, 8 %.sroa.10.sroa.5.0.extract.trunc.i.i = trunc nuw i32 %.sroa.10.sroa.5.0.extract.shift.i.i to i24 diff --git a/bench/rust-analyzer-rs/optimized/2jezmucvqvfiuhvx.ll b/bench/rust-analyzer-rs/optimized/2jezmucvqvfiuhvx.ll index 259cdd4b399..1f7e275287e 100644 --- a/bench/rust-analyzer-rs/optimized/2jezmucvqvfiuhvx.ll +++ b/bench/rust-analyzer-rs/optimized/2jezmucvqvfiuhvx.ll @@ -14024,15 +14024,15 @@ define hidden void @"_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6t %8 = icmp eq i64 %5, 0 br i1 %8, label %.thread, label %.lr.ph -.lr.ph: ; preds = %3, %29 - %.sroa.10.033 = phi i64 [ %9, %29 ], [ %5, %3 ] - %.sroa.014.032 = phi ptr [ %12, %29 ], [ %1, %3 ] - %.sroa.7.031 = phi i64 [ %13, %29 ], [ 0, %3 ] +.lr.ph: ; preds = %3, %24 + %.sroa.10.033 = phi i64 [ %9, %24 ], [ %5, %3 ] + %.sroa.014.032 = phi ptr [ %12, %24 ], [ %1, %3 ] + %.sroa.7.031 = phi i64 [ %13, %24 ], [ 0, %3 ] %9 = add i64 %.sroa.10.033, -1 %10 = icmp eq ptr %.sroa.014.032, %7 br i1 %10, label %.thread, label %11 -.thread: ; preds = %29, %.lr.ph, %3 +.thread: ; preds = %24, %.lr.ph, %3 store i64 %5, ptr %0, align 8 %.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 8 store ptr %6, ptr %.sroa.4.0..sroa_idx, align 8 @@ -14052,8 +14052,8 @@ define hidden void @"_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6t %narrow.i.i = tail call i8 @llvm.umin.i8(i8 %15, i8 2) switch i8 %narrow.i.i, label %default.unreachable [ i8 0, label %16 - i8 1, label %22 - i8 2, label %27 + i8 1, label %.sink.split + i8 2, label %22 ] default.unreachable: ; preds = %11 @@ -14066,46 +14066,43 @@ default.unreachable: ; preds = %11 %.val1.i.i = load i64, ptr %18, align 8, !alias.scope !3943, !noalias !3944 %19 = atomicrmw add ptr %.val.i.i, i64 1 monotonic, align 8, !noalias !3946 %20 = icmp slt i64 %19, 0 - br i1 %20, label %21, label %29 + br i1 %20, label %21, label %24 21: ; preds = %16 tail call void @llvm.trap() unreachable 22: ; preds = %11 - %23 = getelementptr inbounds nuw i8, ptr %.sroa.014.032, i64 8 - %24 = load ptr, ptr %23, align 8, !alias.scope !3943, !noalias !3944, !nonnull !20, !align !21, !noundef !20 - %25 = getelementptr inbounds nuw i8, ptr %.sroa.014.032, i64 16 - %26 = load i64, ptr %25, align 8, !alias.scope !3943, !noalias !3944, !noundef !20 - br label %29 + %23 = getelementptr inbounds nuw i8, ptr %.sroa.014.032, i64 1 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.6.i, ptr noundef nonnull readonly align 1 dereferenceable(7) %23, i64 7, i1 false), !alias.scope !3947, !noalias !3948 + br label %.sink.split -27: ; preds = %11 - %28 = getelementptr inbounds nuw i8, ptr %.sroa.014.032, i64 1 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.6.i, ptr noundef nonnull readonly align 1 dereferenceable(7) %28, i64 7, i1 false), !alias.scope !3947, !noalias !3948 +.sink.split: ; preds = %11, %22 + %.sroa.0.0.i13.ph = phi i8 [ %14, %22 ], [ 25, %11 ] %.sroa.7.1..sroa_idx.i = getelementptr inbounds nuw i8, ptr %.sroa.014.032, i64 8 - %.sroa.7.1.copyload.i = load ptr, ptr %.sroa.7.1..sroa_idx.i, align 1, !alias.scope !3949, !noalias !3948 + %.sroa.7.1.copyload.i = load ptr, ptr %.sroa.7.1..sroa_idx.i, align 8, !alias.scope !3949, !noalias !3948 %.sroa.9.1..sroa_idx.i = getelementptr inbounds nuw i8, ptr %.sroa.014.032, i64 16 - %.sroa.9.1.copyload.i = load i64, ptr %.sroa.9.1..sroa_idx.i, align 1, !alias.scope !3949, !noalias !3948 - br label %29 + %.sroa.9.1.copyload.i = load i64, ptr %.sroa.9.1..sroa_idx.i, align 8, !alias.scope !3949, !noalias !3948 + br label %24 -29: ; preds = %27, %22, %16 - %.sroa.9.0.i = phi i64 [ %.sroa.9.1.copyload.i, %27 ], [ %26, %22 ], [ %.val1.i.i, %16 ] - %.sroa.7.0.i = phi ptr [ %.sroa.7.1.copyload.i, %27 ], [ %24, %22 ], [ %.val.i.i, %16 ] - %.sroa.0.0.i13 = phi i8 [ %14, %27 ], [ 25, %22 ], [ 24, %16 ] +24: ; preds = %.sink.split, %16 + %.sroa.9.0.i = phi i64 [ %.val1.i.i, %16 ], [ %.sroa.9.1.copyload.i, %.sink.split ] + %.sroa.7.0.i = phi ptr [ %.val.i.i, %16 ], [ %.sroa.7.1.copyload.i, %.sink.split ] + %.sroa.0.0.i13 = phi i8 [ 24, %16 ], [ %.sroa.0.0.i13.ph, %.sink.split ] call void @llvm.lifetime.start.p0(i64 7, ptr nonnull %.sroa.06.sroa.4) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.06.sroa.4, ptr noundef nonnull align 1 dereferenceable(7) %.sroa.6.i, i64 7, i1 false) call void @llvm.lifetime.end.p0(i64 7, ptr nonnull %.sroa.6.i) - %30 = getelementptr inbounds nuw [0 x { [3 x i64] }], ptr %6, i64 0, i64 %.sroa.7.031 - store i8 %.sroa.0.0.i13, ptr %30, align 8 - %.sroa.06.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %30, i64 1 + %25 = getelementptr inbounds nuw [0 x { [3 x i64] }], ptr %6, i64 0, i64 %.sroa.7.031 + store i8 %.sroa.0.0.i13, ptr %25, align 8 + %.sroa.06.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %25, i64 1 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.06.sroa.4.0..sroa_idx, ptr noundef nonnull align 1 dereferenceable(7) %.sroa.06.sroa.4, i64 7, i1 false) - %.sroa.06.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %30, i64 8 + %.sroa.06.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %25, i64 8 store ptr %.sroa.7.0.i, ptr %.sroa.06.sroa.5.0..sroa_idx, align 8 - %.sroa.06.sroa.6.0..sroa_idx = getelementptr inbounds nuw i8, ptr %30, i64 16 + %.sroa.06.sroa.6.0..sroa_idx = getelementptr inbounds nuw i8, ptr %25, i64 16 store i64 %.sroa.9.0.i, ptr %.sroa.06.sroa.6.0..sroa_idx, align 8 call void @llvm.lifetime.end.p0(i64 7, ptr nonnull %.sroa.06.sroa.4) - %31 = icmp eq i64 %9, 0 - br i1 %31, label %.thread, label %.lr.ph + %26 = icmp eq i64 %9, 0 + br i1 %26, label %.thread, label %.lr.ph } ; Function Attrs: inlinehint nonlazybind uwtable diff --git a/bench/rust-analyzer-rs/optimized/3aojx6tzw7bx942t.ll b/bench/rust-analyzer-rs/optimized/3aojx6tzw7bx942t.ll index b438c2791b9..9c4755bbf9e 100644 --- a/bench/rust-analyzer-rs/optimized/3aojx6tzw7bx942t.ll +++ b/bench/rust-analyzer-rs/optimized/3aojx6tzw7bx942t.ll @@ -15598,7 +15598,7 @@ define hidden void @"_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6t 36: ; preds = %"_ZN64_$LT$intern..Interned$LT$T$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h8d228f13e2b84ef3E.exit.i" %37 = getelementptr inbounds nuw i8, ptr %.sroa.014.042, i64 8 %38 = getelementptr inbounds nuw i8, ptr %.sroa.014.042, i64 16 - %.val.i.i = load i32, ptr %38, align 4, !range !56, !alias.scope !5159, !noalias !5160, !noundef !11 + %.val.i.i = load i32, ptr %38, align 8, !range !56, !alias.scope !5159, !noalias !5160, !noundef !11 tail call void @llvm.experimental.noalias.scope.decl(metadata !5162) %39 = load ptr, ptr %37, align 8, !alias.scope !5165, !noalias !5160, !nonnull !11, !noundef !11 %40 = atomicrmw add ptr %39, i64 1 monotonic, align 8, !noalias !5166 @@ -15618,7 +15618,7 @@ define hidden void @"_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6t %trunc.i.i.i.i = trunc nuw i64 %31 to i1 %44 = getelementptr inbounds nuw i8, ptr %.sroa.014.042, i64 8 %45 = getelementptr inbounds nuw i8, ptr %.sroa.014.042, i64 16 - %.val6.i.i.i.i = load i32, ptr %45, align 4, !range !56, !alias.scope !5177, !noalias !5178, !noundef !11 + %.val6.i.i.i.i = load i32, ptr %45, align 8, !range !56, !alias.scope !5177, !noalias !5178, !noundef !11 br i1 %trunc.i.i.i.i, label %50, label %46 46: ; preds = %43 @@ -15875,7 +15875,7 @@ define hidden void @"_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6t tail call void @llvm.experimental.noalias.scope.decl(metadata !5216) tail call void @llvm.experimental.noalias.scope.decl(metadata !5219) call void @llvm.lifetime.start.p0(i64 7, ptr nonnull %.sroa.6.i.i) - %20 = load i8, ptr %.sroa.013.031, align 8, !range !4906, !alias.scope !5219, !noalias !5216, !noundef !11 + %20 = load i8, ptr %.sroa.013.031, align 16, !range !4906, !alias.scope !5219, !noalias !5216, !noundef !11 %21 = icmp eq i8 %20, 27 br i1 %21, label %22, label %23 @@ -15906,7 +15906,7 @@ default.unreachable: ; preds = %25 %28 = getelementptr inbounds nuw i8, ptr %.sroa.013.031, i64 8 %.val.i.i.i = load ptr, ptr %28, align 8, !alias.scope !5229, !noalias !5230, !nonnull !11, !noundef !11 %29 = getelementptr inbounds nuw i8, ptr %.sroa.013.031, i64 16 - %.val1.i.i.i = load i64, ptr %29, align 8, !alias.scope !5229, !noalias !5230 + %.val1.i.i.i = load i64, ptr %29, align 16, !alias.scope !5229, !noalias !5230 %30 = atomicrmw add ptr %.val.i.i.i, i64 1 monotonic, align 8, !noalias !5232 %31 = icmp slt i64 %30, 0 br i1 %31, label %32, label %"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h05c8c72edfb52aeeE.exit.i.i.i" @@ -15923,7 +15923,7 @@ default.unreachable: ; preds = %25 %35 = getelementptr inbounds nuw i8, ptr %.sroa.013.031, i64 8 %36 = load ptr, ptr %35, align 8, !alias.scope !5229, !noalias !5230, !nonnull !11, !align !632, !noundef !11 %37 = getelementptr inbounds nuw i8, ptr %.sroa.013.031, i64 16 - %38 = load i64, ptr %37, align 8, !alias.scope !5229, !noalias !5230, !noundef !11 + %38 = load i64, ptr %37, align 16, !alias.scope !5229, !noalias !5230, !noundef !11 %39 = ptrtoint ptr %36 to i64 br label %"_ZN61_$LT$hir_expand..name..Name$u20$as$u20$core..clone..Clone$GT$5clone17h47d2409d10821434E.exit.i" @@ -15931,9 +15931,9 @@ default.unreachable: ; preds = %25 %41 = getelementptr inbounds nuw i8, ptr %.sroa.013.031, i64 1 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.6.i.i, ptr noundef nonnull readonly align 1 dereferenceable(7) %41, i64 7, i1 false), !alias.scope !5233, !noalias !5216 %.sroa.8.1..sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %.sroa.013.031, i64 8 - %.sroa.8.1.copyload.i.i = load i64, ptr %.sroa.8.1..sroa_idx.i.i, align 1, !alias.scope !5234, !noalias !5235 + %.sroa.8.1.copyload.i.i = load i64, ptr %.sroa.8.1..sroa_idx.i.i, align 8, !alias.scope !5234, !noalias !5235 %.sroa.11.1..sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %.sroa.013.031, i64 16 - %.sroa.11.1.copyload.i.i = load i64, ptr %.sroa.11.1..sroa_idx.i.i, align 1, !alias.scope !5234, !noalias !5235 + %.sroa.11.1.copyload.i.i = load i64, ptr %.sroa.11.1..sroa_idx.i.i, align 16, !alias.scope !5234, !noalias !5235 br label %"_ZN61_$LT$hir_expand..name..Name$u20$as$u20$core..clone..Clone$GT$5clone17h47d2409d10821434E.exit.i" 42: ; preds = %23 @@ -16296,13 +16296,13 @@ default.unreachable: ; preds = %20 br label %.noexc 29: ; preds = %20 - %30 = load i64, ptr %23, align 8, !alias.scope !5283, !noalias !5280, !noundef !11 + %30 = load i64, ptr %23, align 16, !alias.scope !5283, !noalias !5280, !noundef !11 store i64 %30, ptr %6, align 8, !alias.scope !5280, !noalias !5283 store i64 -9223372036854775807, ptr %15, align 8, !alias.scope !5280, !noalias !5283 br label %.noexc 31: ; preds = %20 - %32 = load i64, ptr %23, align 8, !alias.scope !5283, !noalias !5280, !noundef !11 + %32 = load i64, ptr %23, align 16, !alias.scope !5283, !noalias !5280, !noundef !11 %33 = getelementptr inbounds nuw i8, ptr %.sroa.017.064, i64 168 %34 = load i64, ptr %33, align 8, !alias.scope !5283, !noalias !5280, !noundef !11 store i64 %32, ptr %6, align 8, !alias.scope !5280, !noalias !5283 @@ -16315,7 +16315,7 @@ default.unreachable: ; preds = %20 %36 = getelementptr inbounds nuw i8, ptr %.sroa.017.064, i64 176 %37 = getelementptr inbounds nuw i8, ptr %.sroa.017.064, i64 168 %38 = load ptr, ptr %37, align 8, !alias.scope !5286, !noalias !5289, !nonnull !11, !noundef !11 - %39 = load i64, ptr %36, align 8, !alias.scope !5286, !noalias !5289, !noundef !11 + %39 = load i64, ptr %36, align 16, !alias.scope !5286, !noalias !5289, !noundef !11 %40 = invoke { i64, ptr } @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in17hdd18b4d36e2bc5b3E"(i64 noundef %39, i1 noundef zeroext false) to label %.noexc14 unwind label %.loopexit @@ -16331,7 +16331,7 @@ default.unreachable: ; preds = %20 store i64 %39, ptr %.sroa.5.0..sroa_idx.i, align 8, !noalias !5285 %45 = getelementptr inbounds nuw i8, ptr %.sroa.017.064, i64 200 %46 = getelementptr inbounds nuw i8, ptr %.sroa.017.064, i64 192 - %47 = load ptr, ptr %46, align 8, !alias.scope !5291, !noalias !5294, !nonnull !11, !noundef !11 + %47 = load ptr, ptr %46, align 16, !alias.scope !5291, !noalias !5294, !nonnull !11, !noundef !11 %48 = load i64, ptr %45, align 8, !alias.scope !5291, !noalias !5294, !noundef !11 %49 = invoke { i64, ptr } @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in17hbb9059f4527d8f1dE"(i64 noundef %48, i1 noundef zeroext false) to label %52 unwind label %50, !noalias !5285 @@ -16373,7 +16373,7 @@ default.unreachable: ; preds = %20 br i1 %62, label %63, label %64 63: ; preds = %.noexc - %.val.i = load i64, ptr %59, align 8, !alias.scope !5296, !noalias !5299, !noundef !11 + %.val.i = load i64, ptr %59, align 16, !alias.scope !5296, !noalias !5299, !noundef !11 br label %"_ZN93_$LT$ra_ap_rustc_abi..Variants$LT$FieldIdx$C$VariantIdx$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h2fa809c3f0fad85fE.exit" 64: ; preds = %.noexc @@ -16385,11 +16385,11 @@ default.unreachable: ; preds = %20 69: ; preds = %64 %70 = getelementptr inbounds nuw i8, ptr %.sroa.017.064, i64 224 - %.val.i.i = load i64, ptr %70, align 8, !alias.scope !5302, !noalias !5305, !noundef !11 + %.val.i.i = load i64, ptr %70, align 16, !alias.scope !5302, !noalias !5305, !noundef !11 %71 = getelementptr inbounds nuw i8, ptr %.sroa.017.064, i64 232 %.val1.i.i.i = load i64, ptr %71, align 8, !alias.scope !5307, !noalias !5310, !noundef !11 %72 = getelementptr inbounds nuw i8, ptr %.sroa.017.064, i64 240 - %.val.i.i.i = load i64, ptr %72, align 8, !alias.scope !5307, !noalias !5310, !noundef !11 + %.val.i.i.i = load i64, ptr %72, align 16, !alias.scope !5307, !noalias !5310, !noundef !11 %73 = load i128, ptr %59, align 16, !alias.scope !5302, !noalias !5305, !noundef !11 %.sroa.029.sroa.0.0.extract.trunc = trunc i128 %73 to i64 %.sroa.029.sroa.4.0.extract.shift = lshr i128 %73, 64 @@ -16407,7 +16407,7 @@ default.unreachable: ; preds = %20 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5), !noalias !5312 %76 = getelementptr inbounds nuw i8, ptr %.sroa.017.064, i64 328 %77 = getelementptr inbounds nuw i8, ptr %.sroa.017.064, i64 320 - %78 = load ptr, ptr %77, align 8, !alias.scope !5313, !noalias !5316, !nonnull !11, !noundef !11 + %78 = load ptr, ptr %77, align 16, !alias.scope !5313, !noalias !5316, !nonnull !11, !noundef !11 %79 = load i64, ptr %76, align 8, !alias.scope !5313, !noalias !5316, !noundef !11 invoke void @"_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6to_vec17h923c813beed5ced0E.llvm.3826311623555120709"(ptr noalias noundef nonnull sret({ { i64, ptr, {} }, i64 }) align 8 captures(none) dereferenceable(24) %5, ptr noalias noundef nonnull readonly align 16 %78, i64 noundef %79) to label %.noexc13 unwind label %80 @@ -16615,7 +16615,7 @@ default.unreachable.i: ; preds = %14 %18 = getelementptr inbounds nuw i8, ptr %.sroa.013.047, i64 4 %19 = load i32, ptr %18, align 4, !range !682, !alias.scope !5326, !noalias !5329, !noundef !11 %20 = getelementptr inbounds nuw i8, ptr %.sroa.013.047, i64 8 - %21 = load i32, ptr %20, align 4, !alias.scope !5321, !noalias !5324 + %21 = load i32, ptr %20, align 8, !alias.scope !5321, !noalias !5324 %22 = getelementptr inbounds nuw i8, ptr %.sroa.013.047, i64 12 %23 = load i32, ptr %22, align 4, !alias.scope !5321, !noalias !5324 br label %"_ZN79_$LT$hir_ty..mir..ProjectionElem$LT$V$C$T$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hfe79caf4f9684edeE.exit" @@ -16773,9 +16773,9 @@ define hidden void @"_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6t switch i8 %narrow.i, label %24 [ i8 0, label %"_ZN61_$LT$cfg..cfg_expr..CfgExpr$u20$as$u20$core..clone..Clone$GT$5clone17h67645bf403a59871E.exit" i8 1, label %25 - i8 2, label %75 - i8 3, label %76 - i8 4, label %77 + i8 2, label %70 + i8 3, label %71 + i8 4, label %72 ] 24: ; preds = %17 @@ -16827,9 +16827,9 @@ default.unreachable: ; preds = %"_ZN53_$LT$smol_str %42 = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 1 %.sroa.617.i.sroa.0.0.copyload = load i56, ptr %42, align 1, !alias.scope !5356, !noalias !5357 %.sroa.718.1..sroa_idx.i = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 8 - %.sroa.718.1.copyload.i = load ptr, ptr %.sroa.718.1..sroa_idx.i, align 1, !alias.scope !5358, !noalias !5357 + %.sroa.718.1.copyload.i = load ptr, ptr %.sroa.718.1..sroa_idx.i, align 8, !alias.scope !5358, !noalias !5357 %.sroa.919.1..sroa_idx.i = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 16 - %.sroa.919.1.copyload.i = load i64, ptr %.sroa.919.1..sroa_idx.i, align 1, !alias.scope !5358, !noalias !5357 + %.sroa.919.1.copyload.i = load i64, ptr %.sroa.919.1..sroa_idx.i, align 8, !alias.scope !5358, !noalias !5357 %43 = zext nneg i8 %28 to i64 br label %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit.i" @@ -16879,9 +16879,9 @@ default.unreachable: ; preds = %"_ZN53_$LT$smol_str %59 = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 1 %.sroa.6.i.sroa.0.0.copyload = load i56, ptr %59, align 1, !alias.scope !5367, !noalias !5357 %.sroa.7.1..sroa_idx.i = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 8 - %.sroa.7.1.copyload.i = load ptr, ptr %.sroa.7.1..sroa_idx.i, align 1, !alias.scope !5368, !noalias !5357 + %.sroa.7.1.copyload.i = load ptr, ptr %.sroa.7.1..sroa_idx.i, align 8, !alias.scope !5368, !noalias !5357 %.sroa.9.1..sroa_idx.i = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 16 - %.sroa.9.1.copyload.i = load i64, ptr %.sroa.9.1..sroa_idx.i, align 1, !alias.scope !5368, !noalias !5357 + %.sroa.9.1.copyload.i = load i64, ptr %.sroa.9.1..sroa_idx.i, align 8, !alias.scope !5368, !noalias !5357 %60 = zext nneg i8 %45 to i64 br label %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit8.i" @@ -16896,8 +16896,8 @@ default.unreachable: ; preds = %"_ZN53_$LT$smol_str %narrow.i9.i = tail call i8 @llvm.umin.i8(i8 %61, i8 2) switch i8 %narrow.i9.i, label %default.unreachable [ i8 0, label %62 - i8 1, label %68 - i8 2, label %73 + i8 1, label %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit14.i.sink.split" + i8 2, label %68 ] 62: ; preds = %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit8.i" @@ -16914,25 +16914,22 @@ default.unreachable: ; preds = %"_ZN53_$LT$smol_str unreachable 68: ; preds = %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit8.i" - %69 = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 32 - %70 = load ptr, ptr %69, align 8, !alias.scope !5374, !noalias !5375, !nonnull !11, !align !632, !noundef !11 - %71 = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 40 - %72 = load i64, ptr %71, align 8, !alias.scope !5374, !noalias !5375, !noundef !11 - br label %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit14.i" + %69 = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 25 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.620.i, ptr noundef nonnull readonly align 1 dereferenceable(7) %69, i64 7, i1 false), !alias.scope !5377, !noalias !5357 + br label %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit14.i.sink.split" -73: ; preds = %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit8.i" - %74 = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 25 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.620.i, ptr noundef nonnull readonly align 1 dereferenceable(7) %74, i64 7, i1 false), !alias.scope !5377, !noalias !5357 +"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit14.i.sink.split": ; preds = %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit8.i", %68 + %.sroa.0.0.i15.ph = phi i8 [ %21, %68 ], [ 25, %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit8.i" ] %.sroa.721.1..sroa_idx.i = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 32 - %.sroa.721.1.copyload.i = load ptr, ptr %.sroa.721.1..sroa_idx.i, align 1, !alias.scope !5378, !noalias !5357 + %.sroa.721.1.copyload.i = load ptr, ptr %.sroa.721.1..sroa_idx.i, align 8, !alias.scope !5378, !noalias !5357 %.sroa.922.1..sroa_idx.i = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 40 - %.sroa.922.1.copyload.i = load i64, ptr %.sroa.922.1..sroa_idx.i, align 1, !alias.scope !5378, !noalias !5357 + %.sroa.922.1.copyload.i = load i64, ptr %.sroa.922.1..sroa_idx.i, align 8, !alias.scope !5378, !noalias !5357 br label %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit14.i" -"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit14.i": ; preds = %73, %68, %62 - %.sroa.0.0.i15 = phi i8 [ %21, %73 ], [ 25, %68 ], [ 24, %62 ] - %.sroa.721.0.i = phi ptr [ %.sroa.721.1.copyload.i, %73 ], [ %70, %68 ], [ %.val.i10.i, %62 ] - %.sroa.922.0.i = phi i64 [ %.sroa.922.1.copyload.i, %73 ], [ %72, %68 ], [ %.val1.i11.i, %62 ] +"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit14.i": ; preds = %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit14.i.sink.split", %62 + %.sroa.0.0.i15 = phi i8 [ 24, %62 ], [ %.sroa.0.0.i15.ph, %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit14.i.sink.split" ] + %.sroa.721.0.i = phi ptr [ %.val.i10.i, %62 ], [ %.sroa.721.1.copyload.i, %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit14.i.sink.split" ] + %.sroa.922.0.i = phi i64 [ %.val1.i11.i, %62 ], [ %.sroa.922.1.copyload.i, %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit14.i.sink.split" ] %.sroa.026.1.insert.ext = zext i56 %.sroa.6.i.sroa.0.2 to i64 %.sroa.026.1.insert.shift = shl nuw i64 %.sroa.026.1.insert.ext, 8 %.sroa.026.1.insert.insert = or disjoint i64 %.sroa.015.0.i, %.sroa.026.1.insert.shift @@ -16954,80 +16951,80 @@ default.unreachable: ; preds = %"_ZN53_$LT$smol_str call void @llvm.lifetime.end.p0(i64 7, ptr nonnull %.sroa.15) br label %"_ZN61_$LT$cfg..cfg_expr..CfgExpr$u20$as$u20$core..clone..Clone$GT$5clone17h67645bf403a59871E.exit" -75: ; preds = %17 +70: ; preds = %17 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5), !noalias !5380 invoke void @"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h4c52bc37a1155d50E"(ptr noalias noundef nonnull sret({ { i64, ptr, {} }, i64 }) align 8 captures(none) dereferenceable(24) %5, ptr noalias noundef nonnull readonly align 8 dereferenceable(48) %.sroa.016.071) - to label %.noexc unwind label %83 + to label %.noexc unwind label %78 -.noexc: ; preds = %75 +.noexc: ; preds = %70 %.sroa.017.0.copyload20 = load ptr, ptr %5, align 8, !noalias !5337 %.sroa.721.sroa.0.0.copyload39 = load ptr, ptr %.sroa.721.0..sroa_idx23, align 8, !noalias !5337 %.sroa.721.sroa.6.0.copyload41 = load i64, ptr %.sroa.721.sroa.6.0..sroa.721.0..sroa_idx23.sroa_idx, align 8, !noalias !5337 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5), !noalias !5380 br label %"_ZN61_$LT$cfg..cfg_expr..CfgExpr$u20$as$u20$core..clone..Clone$GT$5clone17h67645bf403a59871E.exit" -76: ; preds = %17 +71: ; preds = %17 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !5380 invoke void @"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h4c52bc37a1155d50E"(ptr noalias noundef nonnull sret({ { i64, ptr, {} }, i64 }) align 8 captures(none) dereferenceable(24) %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(48) %.sroa.016.071) - to label %.noexc13 unwind label %83 + to label %.noexc13 unwind label %78 -.noexc13: ; preds = %76 +.noexc13: ; preds = %71 %.sroa.017.0.copyload19 = load ptr, ptr %4, align 8, !noalias !5337 %.sroa.721.sroa.0.0.copyload = load ptr, ptr %.sroa.721.0..sroa_idx22, align 8, !noalias !5337 %.sroa.721.sroa.6.0.copyload = load i64, ptr %.sroa.721.sroa.6.0..sroa.721.0..sroa_idx22.sroa_idx, align 8, !noalias !5337 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !5380 br label %"_ZN61_$LT$cfg..cfg_expr..CfgExpr$u20$as$u20$core..clone..Clone$GT$5clone17h67645bf403a59871E.exit" -77: ; preds = %17 - %78 = invoke fastcc noundef nonnull align 8 ptr @"_ZN69_$LT$alloc..boxed..Box$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h192ec512232b80e8E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(48) %.sroa.016.071) - to label %"_ZN61_$LT$cfg..cfg_expr..CfgExpr$u20$as$u20$core..clone..Clone$GT$5clone17h67645bf403a59871E.exit" unwind label %83 - -"_ZN61_$LT$cfg..cfg_expr..CfgExpr$u20$as$u20$core..clone..Clone$GT$5clone17h67645bf403a59871E.exit": ; preds = %.noexc13, %.noexc, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit", %17, %77 - %.sroa.18.1 = phi i64 [ %.sroa.18.061, %.noexc13 ], [ %.sroa.18.061, %.noexc ], [ %.sroa.18.2, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.18.061, %17 ], [ %.sroa.18.061, %77 ] - %.sroa.17.1 = phi ptr [ %.sroa.17.062, %.noexc13 ], [ %.sroa.17.062, %.noexc ], [ %.sroa.17.2, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.17.062, %17 ], [ %.sroa.17.062, %77 ] - %.sroa.11.sroa.4.1 = phi ptr [ %.sroa.11.sroa.4.063, %.noexc13 ], [ %.sroa.11.sroa.4.063, %.noexc ], [ %.sroa.17.2, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.11.sroa.4.063, %17 ], [ %.sroa.11.sroa.4.063, %77 ] - %.sroa.11.sroa.5.1 = phi i64 [ %.sroa.11.sroa.5.064, %.noexc13 ], [ %.sroa.11.sroa.5.064, %.noexc ], [ %.sroa.18.2, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.11.sroa.5.064, %17 ], [ %.sroa.11.sroa.5.064, %77 ] - %.sroa.721.sroa.0.1 = phi ptr [ %.sroa.721.sroa.0.0.copyload, %.noexc13 ], [ %.sroa.721.sroa.0.0.copyload39, %.noexc ], [ %.sroa.737.0, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.721.sroa.0.065, %17 ], [ %.sroa.721.sroa.0.065, %77 ] - %.sroa.721.sroa.6.1 = phi i64 [ %.sroa.721.sroa.6.0.copyload, %.noexc13 ], [ %.sroa.721.sroa.6.0.copyload41, %.noexc ], [ %.sroa.1038.0, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.721.sroa.6.066, %17 ], [ %.sroa.721.sroa.6.066, %77 ] - %.sroa.724.0 = phi i8 [ 30, %.noexc13 ], [ 29, %.noexc ], [ %.sroa.12.0, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ 27, %17 ], [ 31, %77 ] - %.sroa.017.1 = phi ptr [ %.sroa.017.0.copyload19, %.noexc13 ], [ %.sroa.017.0.copyload20, %.noexc ], [ %.sroa.026.2, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.017.067, %17 ], [ %78, %77 ] - %.sroa.6.i.sroa.0.1 = phi i56 [ %.sroa.6.i.sroa.0.070, %.noexc13 ], [ %.sroa.6.i.sroa.0.070, %.noexc ], [ %.sroa.6.i.sroa.0.3, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.6.i.sroa.0.070, %17 ], [ %.sroa.6.i.sroa.0.070, %77 ] - %.sroa.617.i.sroa.0.1 = phi i56 [ %.sroa.617.i.sroa.0.072, %.noexc13 ], [ %.sroa.617.i.sroa.0.072, %.noexc ], [ %.sroa.617.i.sroa.0.3, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.617.i.sroa.0.072, %17 ], [ %.sroa.617.i.sroa.0.072, %77 ] - %79 = getelementptr inbounds nuw [0 x { [6 x i64] }], ptr %9, i64 0, i64 %.sroa.7.069 +72: ; preds = %17 + %73 = invoke fastcc noundef nonnull align 8 ptr @"_ZN69_$LT$alloc..boxed..Box$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h192ec512232b80e8E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(48) %.sroa.016.071) + to label %"_ZN61_$LT$cfg..cfg_expr..CfgExpr$u20$as$u20$core..clone..Clone$GT$5clone17h67645bf403a59871E.exit" unwind label %78 + +"_ZN61_$LT$cfg..cfg_expr..CfgExpr$u20$as$u20$core..clone..Clone$GT$5clone17h67645bf403a59871E.exit": ; preds = %.noexc13, %.noexc, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit", %17, %72 + %.sroa.18.1 = phi i64 [ %.sroa.18.061, %.noexc13 ], [ %.sroa.18.061, %.noexc ], [ %.sroa.18.2, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.18.061, %17 ], [ %.sroa.18.061, %72 ] + %.sroa.17.1 = phi ptr [ %.sroa.17.062, %.noexc13 ], [ %.sroa.17.062, %.noexc ], [ %.sroa.17.2, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.17.062, %17 ], [ %.sroa.17.062, %72 ] + %.sroa.11.sroa.4.1 = phi ptr [ %.sroa.11.sroa.4.063, %.noexc13 ], [ %.sroa.11.sroa.4.063, %.noexc ], [ %.sroa.17.2, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.11.sroa.4.063, %17 ], [ %.sroa.11.sroa.4.063, %72 ] + %.sroa.11.sroa.5.1 = phi i64 [ %.sroa.11.sroa.5.064, %.noexc13 ], [ %.sroa.11.sroa.5.064, %.noexc ], [ %.sroa.18.2, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.11.sroa.5.064, %17 ], [ %.sroa.11.sroa.5.064, %72 ] + %.sroa.721.sroa.0.1 = phi ptr [ %.sroa.721.sroa.0.0.copyload, %.noexc13 ], [ %.sroa.721.sroa.0.0.copyload39, %.noexc ], [ %.sroa.737.0, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.721.sroa.0.065, %17 ], [ %.sroa.721.sroa.0.065, %72 ] + %.sroa.721.sroa.6.1 = phi i64 [ %.sroa.721.sroa.6.0.copyload, %.noexc13 ], [ %.sroa.721.sroa.6.0.copyload41, %.noexc ], [ %.sroa.1038.0, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.721.sroa.6.066, %17 ], [ %.sroa.721.sroa.6.066, %72 ] + %.sroa.724.0 = phi i8 [ 30, %.noexc13 ], [ 29, %.noexc ], [ %.sroa.12.0, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ 27, %17 ], [ 31, %72 ] + %.sroa.017.1 = phi ptr [ %.sroa.017.0.copyload19, %.noexc13 ], [ %.sroa.017.0.copyload20, %.noexc ], [ %.sroa.026.2, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.017.067, %17 ], [ %73, %72 ] + %.sroa.6.i.sroa.0.1 = phi i56 [ %.sroa.6.i.sroa.0.070, %.noexc13 ], [ %.sroa.6.i.sroa.0.070, %.noexc ], [ %.sroa.6.i.sroa.0.3, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.6.i.sroa.0.070, %17 ], [ %.sroa.6.i.sroa.0.070, %72 ] + %.sroa.617.i.sroa.0.1 = phi i56 [ %.sroa.617.i.sroa.0.072, %.noexc13 ], [ %.sroa.617.i.sroa.0.072, %.noexc ], [ %.sroa.617.i.sroa.0.3, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.617.i.sroa.0.072, %17 ], [ %.sroa.617.i.sroa.0.072, %72 ] + %74 = getelementptr inbounds nuw [0 x { [6 x i64] }], ptr %9, i64 0, i64 %.sroa.7.069 call void @llvm.lifetime.start.p0(i64 7, ptr nonnull %.sroa.06.sroa.6.sroa.0) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.06.sroa.6.sroa.0, ptr noundef nonnull align 1 dereferenceable(7) %.sroa.11.sroa.0, i64 7, i1 false) - store ptr %.sroa.017.1, ptr %79, align 8 - %.sroa.06.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %79, i64 8 + store ptr %.sroa.017.1, ptr %74, align 8 + %.sroa.06.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %74, i64 8 store ptr %.sroa.721.sroa.0.1, ptr %.sroa.06.sroa.4.0..sroa_idx, align 8 - %.sroa.06.sroa.4.sroa.4.0..sroa.06.sroa.4.0..sroa_idx.sroa_idx = getelementptr inbounds nuw i8, ptr %79, i64 16 + %.sroa.06.sroa.4.sroa.4.0..sroa.06.sroa.4.0..sroa_idx.sroa_idx = getelementptr inbounds nuw i8, ptr %74, i64 16 store i64 %.sroa.721.sroa.6.1, ptr %.sroa.06.sroa.4.sroa.4.0..sroa.06.sroa.4.0..sroa_idx.sroa_idx, align 8 - %.sroa.06.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %79, i64 24 + %.sroa.06.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %74, i64 24 store i8 %.sroa.724.0, ptr %.sroa.06.sroa.5.0..sroa_idx, align 8 - %.sroa.06.sroa.6.0..sroa_idx = getelementptr inbounds nuw i8, ptr %79, i64 25 + %.sroa.06.sroa.6.0..sroa_idx = getelementptr inbounds nuw i8, ptr %74, i64 25 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.06.sroa.6.0..sroa_idx, ptr noundef nonnull align 1 dereferenceable(7) %.sroa.06.sroa.6.sroa.0, i64 7, i1 false) - %.sroa.06.sroa.6.sroa.4.0..sroa.06.sroa.6.0..sroa_idx.sroa_idx = getelementptr inbounds nuw i8, ptr %79, i64 32 + %.sroa.06.sroa.6.sroa.4.0..sroa.06.sroa.6.0..sroa_idx.sroa_idx = getelementptr inbounds nuw i8, ptr %74, i64 32 store ptr %.sroa.11.sroa.4.1, ptr %.sroa.06.sroa.6.sroa.4.0..sroa.06.sroa.6.0..sroa_idx.sroa_idx, align 1 - %.sroa.06.sroa.6.sroa.5.0..sroa.06.sroa.6.0..sroa_idx.sroa_idx = getelementptr inbounds nuw i8, ptr %79, i64 40 + %.sroa.06.sroa.6.sroa.5.0..sroa.06.sroa.6.0..sroa_idx.sroa_idx = getelementptr inbounds nuw i8, ptr %74, i64 40 store i64 %.sroa.11.sroa.5.1, ptr %.sroa.06.sroa.6.sroa.5.0..sroa.06.sroa.6.0..sroa_idx.sroa_idx, align 1 call void @llvm.lifetime.end.p0(i64 7, ptr nonnull %.sroa.06.sroa.6.sroa.0) call void @llvm.lifetime.end.p0(i64 7, ptr nonnull %.sroa.11.sroa.0) - %80 = icmp eq i64 %15, 0 - br i1 %80, label %.thread, label %14 + %75 = icmp eq i64 %15, 0 + br i1 %75, label %.thread, label %14 -81: ; preds = %83 - %82 = landingpad { ptr, i32 } +76: ; preds = %78 + %77 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17hbacfddf1bcf21a1eE() #18 unreachable -83: ; preds = %75, %76, %77 +78: ; preds = %70, %71, %72 %lpad.loopexit = landingpad { ptr, i32 } cleanup store i64 %.sroa.7.069, ptr %11, align 8 invoke void @"_ZN4core3ptr66drop_in_place$LT$alloc..vec..Vec$LT$cfg..cfg_expr..CfgExpr$GT$$GT$17h4b38cbfd8146629cE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %6) #20 - to label %84 unwind label %81 + to label %79 unwind label %76 -84: ; preds = %83 +79: ; preds = %78 resume { ptr, i32 } %lpad.loopexit } diff --git a/bench/rust-analyzer-rs/optimized/4tstt0w6z5grnfcy.ll b/bench/rust-analyzer-rs/optimized/4tstt0w6z5grnfcy.ll index 91d591c88df..dac24b54a75 100644 --- a/bench/rust-analyzer-rs/optimized/4tstt0w6z5grnfcy.ll +++ b/bench/rust-analyzer-rs/optimized/4tstt0w6z5grnfcy.ll @@ -10812,15 +10812,15 @@ define hidden void @"_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6t %8 = icmp eq i64 %5, 0 br i1 %8, label %.thread, label %.lr.ph -.lr.ph: ; preds = %3, %29 - %.sroa.10.034 = phi i64 [ %9, %29 ], [ %5, %3 ] - %.sroa.013.033 = phi ptr [ %12, %29 ], [ %1, %3 ] - %.sroa.7.032 = phi i64 [ %13, %29 ], [ 0, %3 ] +.lr.ph: ; preds = %3, %24 + %.sroa.10.034 = phi i64 [ %9, %24 ], [ %5, %3 ] + %.sroa.013.033 = phi ptr [ %12, %24 ], [ %1, %3 ] + %.sroa.7.032 = phi i64 [ %13, %24 ], [ 0, %3 ] %9 = add i64 %.sroa.10.034, -1 %10 = icmp eq ptr %.sroa.013.033, %7 br i1 %10, label %.thread, label %11 -.thread: ; preds = %29, %.lr.ph, %3 +.thread: ; preds = %24, %.lr.ph, %3 store i64 %5, ptr %0, align 8 %.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 8 store ptr %6, ptr %.sroa.4.0..sroa_idx, align 8 @@ -10840,8 +10840,8 @@ define hidden void @"_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6t %narrow.i.i = tail call i8 @llvm.umin.i8(i8 %15, i8 2) switch i8 %narrow.i.i, label %default.unreachable [ i8 0, label %16 - i8 1, label %22 - i8 2, label %27 + i8 1, label %.sink.split + i8 2, label %22 ] default.unreachable: ; preds = %11 @@ -10854,66 +10854,63 @@ default.unreachable: ; preds = %11 %.val1.i.i = load i64, ptr %18, align 8, !alias.scope !3286, !noalias !3287 %19 = atomicrmw add ptr %.val.i.i, i64 1 monotonic, align 8, !noalias !3289 %20 = icmp slt i64 %19, 0 - br i1 %20, label %21, label %29 + br i1 %20, label %21, label %24 21: ; preds = %16 tail call void @llvm.trap() unreachable 22: ; preds = %11 - %23 = getelementptr inbounds nuw i8, ptr %.sroa.013.033, i64 8 - %24 = load ptr, ptr %23, align 8, !alias.scope !3286, !noalias !3287, !nonnull !16, !align !670, !noundef !16 - %25 = getelementptr inbounds nuw i8, ptr %.sroa.013.033, i64 16 - %26 = load i64, ptr %25, align 8, !alias.scope !3286, !noalias !3287, !noundef !16 - br label %29 - -27: ; preds = %11 - %28 = getelementptr inbounds nuw i8, ptr %.sroa.013.033, i64 1 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.63.i, ptr noundef nonnull readonly align 1 dereferenceable(7) %28, i64 7, i1 false), !alias.scope !3290, !noalias !3291 + %23 = getelementptr inbounds nuw i8, ptr %.sroa.013.033, i64 1 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.63.i, ptr noundef nonnull readonly align 1 dereferenceable(7) %23, i64 7, i1 false), !alias.scope !3290, !noalias !3291 + br label %.sink.split + +.sink.split: ; preds = %11, %22 + %.sroa.02.0.i.ph = phi i8 [ %14, %22 ], [ 25, %11 ] %.sroa.74.1..sroa_idx.i = getelementptr inbounds nuw i8, ptr %.sroa.013.033, i64 8 - %.sroa.74.1.copyload.i = load ptr, ptr %.sroa.74.1..sroa_idx.i, align 1, !alias.scope !3292, !noalias !3291 + %.sroa.74.1.copyload.i = load ptr, ptr %.sroa.74.1..sroa_idx.i, align 8, !alias.scope !3292, !noalias !3291 %.sroa.9.1..sroa_idx.i = getelementptr inbounds nuw i8, ptr %.sroa.013.033, i64 16 - %.sroa.9.1.copyload.i = load i64, ptr %.sroa.9.1..sroa_idx.i, align 1, !alias.scope !3292, !noalias !3291 - br label %29 - -29: ; preds = %27, %22, %16 - %.sroa.02.0.i = phi i8 [ %14, %27 ], [ 25, %22 ], [ 24, %16 ] - %.sroa.74.0.i = phi ptr [ %.sroa.74.1.copyload.i, %27 ], [ %24, %22 ], [ %.val.i.i, %16 ] - %.sroa.9.0.i = phi i64 [ %.sroa.9.1.copyload.i, %27 ], [ %26, %22 ], [ %.val1.i.i, %16 ] - %30 = getelementptr inbounds nuw i8, ptr %.sroa.013.033, i64 24 - %31 = getelementptr inbounds nuw i8, ptr %.sroa.013.033, i64 28 - %32 = load i32, ptr %31, align 4, !alias.scope !3293, !noalias !3296, !noundef !16 - %33 = getelementptr inbounds nuw i8, ptr %.sroa.013.033, i64 32 - %34 = load i32, ptr %33, align 4, !alias.scope !3293, !noalias !3296, !noundef !16 - %35 = getelementptr inbounds nuw i8, ptr %.sroa.013.033, i64 36 - %36 = load i32, ptr %35, align 4, !alias.scope !3293, !noalias !3296, !noundef !16 - %37 = getelementptr inbounds nuw i8, ptr %.sroa.013.033, i64 40 - %38 = load i32, ptr %37, align 4, !alias.scope !3293, !noalias !3296, !noundef !16 - %.val.i1.i = load i32, ptr %30, align 4, !range !676, !alias.scope !3293, !noalias !3296, !noundef !16 + %.sroa.9.1.copyload.i = load i64, ptr %.sroa.9.1..sroa_idx.i, align 8, !alias.scope !3292, !noalias !3291 + br label %24 + +24: ; preds = %.sink.split, %16 + %.sroa.02.0.i = phi i8 [ 24, %16 ], [ %.sroa.02.0.i.ph, %.sink.split ] + %.sroa.74.0.i = phi ptr [ %.val.i.i, %16 ], [ %.sroa.74.1.copyload.i, %.sink.split ] + %.sroa.9.0.i = phi i64 [ %.val1.i.i, %16 ], [ %.sroa.9.1.copyload.i, %.sink.split ] + %25 = getelementptr inbounds nuw i8, ptr %.sroa.013.033, i64 24 + %26 = getelementptr inbounds nuw i8, ptr %.sroa.013.033, i64 28 + %27 = load i32, ptr %26, align 4, !alias.scope !3293, !noalias !3296, !noundef !16 + %28 = getelementptr inbounds nuw i8, ptr %.sroa.013.033, i64 32 + %29 = load i32, ptr %28, align 8, !alias.scope !3293, !noalias !3296, !noundef !16 + %30 = getelementptr inbounds nuw i8, ptr %.sroa.013.033, i64 36 + %31 = load i32, ptr %30, align 4, !alias.scope !3293, !noalias !3296, !noundef !16 + %32 = getelementptr inbounds nuw i8, ptr %.sroa.013.033, i64 40 + %33 = load i32, ptr %32, align 8, !alias.scope !3293, !noalias !3296, !noundef !16 + %.val.i1.i = load i32, ptr %25, align 8, !range !676, !alias.scope !3293, !noalias !3296, !noundef !16 call void @llvm.lifetime.start.p0(i64 7, ptr nonnull %.sroa.06.sroa.4) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.06.sroa.4, ptr noundef nonnull align 1 dereferenceable(7) %.sroa.63.i, i64 7, i1 false) call void @llvm.lifetime.end.p0(i64 7, ptr nonnull %.sroa.63.i) - %39 = getelementptr inbounds nuw [0 x { [6 x i64] }], ptr %6, i64 0, i64 %.sroa.7.032 - store i8 %.sroa.02.0.i, ptr %39, align 8 - %.sroa.06.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %39, i64 1 + %34 = getelementptr inbounds nuw [0 x { [6 x i64] }], ptr %6, i64 0, i64 %.sroa.7.032 + store i8 %.sroa.02.0.i, ptr %34, align 8 + %.sroa.06.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %34, i64 1 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.06.sroa.4.0..sroa_idx, ptr noundef nonnull align 1 dereferenceable(7) %.sroa.06.sroa.4, i64 7, i1 false) - %.sroa.06.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %39, i64 8 + %.sroa.06.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %34, i64 8 store ptr %.sroa.74.0.i, ptr %.sroa.06.sroa.5.0..sroa_idx, align 8 - %.sroa.06.sroa.6.0..sroa_idx = getelementptr inbounds nuw i8, ptr %39, i64 16 + %.sroa.06.sroa.6.0..sroa_idx = getelementptr inbounds nuw i8, ptr %34, i64 16 store i64 %.sroa.9.0.i, ptr %.sroa.06.sroa.6.0..sroa_idx, align 8 - %.sroa.06.sroa.7.0..sroa_idx = getelementptr inbounds nuw i8, ptr %39, i64 24 + %.sroa.06.sroa.7.0..sroa_idx = getelementptr inbounds nuw i8, ptr %34, i64 24 store i32 %.val.i1.i, ptr %.sroa.06.sroa.7.0..sroa_idx, align 8 - %.sroa.06.sroa.8.0..sroa_idx = getelementptr inbounds nuw i8, ptr %39, i64 28 - store i32 %32, ptr %.sroa.06.sroa.8.0..sroa_idx, align 4 - %.sroa.06.sroa.9.0..sroa_idx = getelementptr inbounds nuw i8, ptr %39, i64 32 - store i32 %34, ptr %.sroa.06.sroa.9.0..sroa_idx, align 8 - %.sroa.06.sroa.10.0..sroa_idx = getelementptr inbounds nuw i8, ptr %39, i64 36 - store i32 %36, ptr %.sroa.06.sroa.10.0..sroa_idx, align 4 - %.sroa.06.sroa.11.0..sroa_idx = getelementptr inbounds nuw i8, ptr %39, i64 40 - store i32 %38, ptr %.sroa.06.sroa.11.0..sroa_idx, align 8 + %.sroa.06.sroa.8.0..sroa_idx = getelementptr inbounds nuw i8, ptr %34, i64 28 + store i32 %27, ptr %.sroa.06.sroa.8.0..sroa_idx, align 4 + %.sroa.06.sroa.9.0..sroa_idx = getelementptr inbounds nuw i8, ptr %34, i64 32 + store i32 %29, ptr %.sroa.06.sroa.9.0..sroa_idx, align 8 + %.sroa.06.sroa.10.0..sroa_idx = getelementptr inbounds nuw i8, ptr %34, i64 36 + store i32 %31, ptr %.sroa.06.sroa.10.0..sroa_idx, align 4 + %.sroa.06.sroa.11.0..sroa_idx = getelementptr inbounds nuw i8, ptr %34, i64 40 + store i32 %33, ptr %.sroa.06.sroa.11.0..sroa_idx, align 8 call void @llvm.lifetime.end.p0(i64 7, ptr nonnull %.sroa.06.sroa.4) - %40 = icmp eq i64 %9, 0 - br i1 %40, label %.thread, label %.lr.ph + %35 = icmp eq i64 %9, 0 + br i1 %35, label %.thread, label %.lr.ph } ; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind nonlazybind willreturn memory(none) uwtable diff --git a/bench/rust-analyzer-rs/optimized/53r6f8vex0qyadql.ll b/bench/rust-analyzer-rs/optimized/53r6f8vex0qyadql.ll index 3f494235485..70e23fd906d 100644 --- a/bench/rust-analyzer-rs/optimized/53r6f8vex0qyadql.ll +++ b/bench/rust-analyzer-rs/optimized/53r6f8vex0qyadql.ll @@ -1407,12 +1407,12 @@ define hidden void @_ZN3mbe8expander7matcher12collect_vars17hdcd5419d06bab655E(p %24 = select i1 %23, i64 %22, i64 5 switch i64 %24, label %18 [ i64 0, label %25 - i64 1, label %54 - i64 2, label %54 - i64 3, label %54 - i64 4, label %54 - i64 5, label %56 - i64 6, label %58 + i64 1, label %53 + i64 2, label %53 + i64 3, label %53 + i64 4, label %53 + i64 5, label %55 + i64 6, label %57 i64 7, label %.critedge23 i64 8, label %.critedge23 i64 9, label %.critedge23 @@ -1429,8 +1429,8 @@ define hidden void @_ZN3mbe8expander7matcher12collect_vars17hdcd5419d06bab655E(p %narrow.i = call i8 @llvm.umin.i8(i8 %28, i8 2) switch i8 %narrow.i, label %default.unreachable [ i8 0, label %29 - i8 1, label %35 - i8 2, label %40 + i8 1, label %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit.sink.split" + i8 2, label %35 ] default.unreachable: ; preds = %25 @@ -1450,25 +1450,22 @@ default.unreachable: ; preds = %25 unreachable 35: ; preds = %25 - %36 = getelementptr inbounds nuw i8, ptr %.sroa.028.049, i64 16 - %37 = load ptr, ptr %36, align 8, !alias.scope !280, !noalias !277, !nonnull !4, !align !283, !noundef !4 - %38 = getelementptr inbounds nuw i8, ptr %.sroa.028.049, i64 24 - %39 = load i64, ptr %38, align 8, !alias.scope !280, !noalias !277, !noundef !4 + %36 = getelementptr inbounds nuw i8, ptr %.sroa.028.049, i64 9 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.635, ptr noundef nonnull align 1 dereferenceable(7) %36, i64 7, i1 false), !alias.scope !282 + br label %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit.sink.split" + +"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit.sink.split": ; preds = %25, %35 + %.sroa.034.0.ph = phi i8 [ %27, %35 ], [ 25, %25 ] + %37 = getelementptr inbounds nuw i8, ptr %.sroa.028.049, i64 16 + %38 = load ptr, ptr %37, align 8, !alias.scope !283 + %39 = getelementptr inbounds nuw i8, ptr %.sroa.028.049, i64 24 + %40 = load i64, ptr %39, align 8, !alias.scope !283 br label %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit" -40: ; preds = %25 - %41 = getelementptr inbounds nuw i8, ptr %.sroa.028.049, i64 9 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.635, ptr noundef nonnull align 1 dereferenceable(7) %41, i64 7, i1 false), !alias.scope !282 - %.sroa.736.1..sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.028.049, i64 16 - %.sroa.736.1.copyload = load ptr, ptr %.sroa.736.1..sroa_idx, align 1, !alias.scope !282 - %.sroa.9.1..sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.028.049, i64 24 - %.sroa.9.1.copyload = load i64, ptr %.sroa.9.1..sroa_idx, align 1, !alias.scope !282 - br label %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit" - -"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit": ; preds = %29, %35, %40 - %.sroa.034.0 = phi i8 [ %27, %40 ], [ 25, %35 ], [ 24, %29 ] - %.sroa.736.0 = phi ptr [ %.sroa.736.1.copyload, %40 ], [ %37, %35 ], [ %.val.i, %29 ] - %.sroa.9.0 = phi i64 [ %.sroa.9.1.copyload, %40 ], [ %39, %35 ], [ %.val1.i, %29 ] +"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit": ; preds = %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit.sink.split", %29 + %.sroa.034.0 = phi i8 [ 24, %29 ], [ %.sroa.034.0.ph, %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit.sink.split" ] + %.sroa.736.0 = phi ptr [ %.val.i, %29 ], [ %38, %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit.sink.split" ] + %.sroa.9.0 = phi i64 [ %.val1.i, %29 ], [ %40, %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit.sink.split" ] call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.0.sroa.4.0..sroa_idx, ptr noundef nonnull align 1 dereferenceable(7) %.sroa.635, i64 7, i1 false) call void @llvm.lifetime.end.p0(i64 7, ptr nonnull %.sroa.635) store i8 %.sroa.034.0, ptr %7, align 8 @@ -1477,111 +1474,111 @@ default.unreachable: ; preds = %25 %.val = load ptr, ptr %0, align 8, !nonnull !4, !align !275, !noundef !4 %.val26 = load ptr, ptr %17, align 8, !nonnull !4, !align !275, !noundef !4 invoke void @_ZN3mbe8expander7matcher15BindingsBuilder10push_empty17hf2fe1c15d367b77fE(ptr noalias noundef nonnull align 8 dereferenceable(48) %.val, ptr noalias noundef nonnull align 8 dereferenceable(16) %.val26, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %7) - to label %44 unwind label %42 + to label %43 unwind label %41 -42: ; preds = %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit" - %43 = landingpad { ptr, i32 } +41: ; preds = %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit" + %42 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr38drop_in_place$LT$smol_str..SmolStr$GT$17h1c079fbecfe68279E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %7) #27 - to label %53 unwind label %51 + to label %52 unwind label %50 -44: ; preds = %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit" +43: ; preds = %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit" call void @llvm.experimental.noalias.scope.decl(metadata !284) call void @llvm.experimental.noalias.scope.decl(metadata !287) - %45 = load i8, ptr %7, align 8, !range !56, !alias.scope !290, !noundef !4 - %cond.i.i.i = icmp eq i8 %45, 24 - br i1 %cond.i.i.i, label %46, label %"_ZN3mbe8expander7matcher16match_loop_inner28_$u7b$$u7b$closure$u7d$$u7d$17hb60bf3252ca3c6f8E.exit" + %44 = load i8, ptr %7, align 8, !range !56, !alias.scope !290, !noundef !4 + %cond.i.i.i = icmp eq i8 %44, 24 + br i1 %cond.i.i.i, label %45, label %"_ZN3mbe8expander7matcher16match_loop_inner28_$u7b$$u7b$closure$u7d$$u7d$17hb60bf3252ca3c6f8E.exit" -46: ; preds = %44 +45: ; preds = %43 call void @llvm.experimental.noalias.scope.decl(metadata !293) call void @llvm.experimental.noalias.scope.decl(metadata !296) - %47 = load ptr, ptr %.sroa.0.sroa.5.0..sroa_idx, align 8, !alias.scope !299, !nonnull !4, !noundef !4 - %48 = atomicrmw sub ptr %47, i64 1 release, align 8, !noalias !300 - %49 = icmp eq i64 %48, 1 - br i1 %49, label %50, label %"_ZN3mbe8expander7matcher16match_loop_inner28_$u7b$$u7b$closure$u7d$$u7d$17hb60bf3252ca3c6f8E.exit" + %46 = load ptr, ptr %.sroa.0.sroa.5.0..sroa_idx, align 8, !alias.scope !299, !nonnull !4, !noundef !4 + %47 = atomicrmw sub ptr %46, i64 1 release, align 8, !noalias !300 + %48 = icmp eq i64 %47, 1 + br i1 %48, label %49, label %"_ZN3mbe8expander7matcher16match_loop_inner28_$u7b$$u7b$closure$u7d$$u7d$17hb60bf3252ca3c6f8E.exit" -50: ; preds = %46 +49: ; preds = %45 call void @_ZN4core4sync6atomic5fence17h58c21b3babc78cabE.llvm.3275366238967248396(i8 noundef 2), !noalias !300 call void @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$9drop_slow17h92d3fca83467d873E"(ptr noalias noundef nonnull align 8 dereferenceable(16) %.sroa.0.sroa.5.0..sroa_idx) br label %"_ZN3mbe8expander7matcher16match_loop_inner28_$u7b$$u7b$closure$u7d$$u7d$17hb60bf3252ca3c6f8E.exit" -51: ; preds = %42 - %52 = landingpad { ptr, i32 } +50: ; preds = %41 + %51 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17hbacfddf1bcf21a1eE() #28 unreachable -53: ; preds = %42 - resume { ptr, i32 } %43 +52: ; preds = %41 + resume { ptr, i32 } %42 -"_ZN3mbe8expander7matcher16match_loop_inner28_$u7b$$u7b$closure$u7d$$u7d$17hb60bf3252ca3c6f8E.exit": ; preds = %44, %46, %50 +"_ZN3mbe8expander7matcher16match_loop_inner28_$u7b$$u7b$closure$u7d$$u7d$17hb60bf3252ca3c6f8E.exit": ; preds = %43, %45, %49 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) br label %.critedge23 -54: ; preds = %19, %19, %19, %19 - %55 = load atomic i64, ptr @_ZN12tracing_core8metadata9MAX_LEVEL17hfaf74736e3729d76E monotonic, align 8 - %.not = icmp eq i64 %55, 5 - br i1 %.not, label %.critedge23, label %61 +53: ; preds = %19, %19, %19, %19 + %54 = load atomic i64, ptr @_ZN12tracing_core8metadata9MAX_LEVEL17hfaf74736e3729d76E monotonic, align 8 + %.not = icmp eq i64 %54, 5 + br i1 %.not, label %.critedge23, label %60 -56: ; preds = %19 - %57 = getelementptr inbounds nuw i8, ptr %.sroa.028.049, i64 104 - call void @_ZN3mbe8expander7matcher12collect_vars17hdcd5419d06bab655E(ptr noalias noundef nonnull align 8 dereferenceable(16) %0, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %57) +55: ; preds = %19 + %56 = getelementptr inbounds nuw i8, ptr %.sroa.028.049, i64 104 + call void @_ZN3mbe8expander7matcher12collect_vars17hdcd5419d06bab655E(ptr noalias noundef nonnull align 8 dereferenceable(16) %0, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %56) br label %.critedge23 -58: ; preds = %19 - %59 = getelementptr inbounds nuw i8, ptr %.sroa.028.049, i64 8 - call void @_ZN3mbe8expander7matcher12collect_vars17hdcd5419d06bab655E(ptr noalias noundef nonnull align 8 dereferenceable(16) %0, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %59) +57: ; preds = %19 + %58 = getelementptr inbounds nuw i8, ptr %.sroa.028.049, i64 8 + call void @_ZN3mbe8expander7matcher12collect_vars17hdcd5419d06bab655E(ptr noalias noundef nonnull align 8 dereferenceable(16) %0, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %58) br label %.critedge23 -.critedge23: ; preds = %61, %54, %_ZN12tracing_core8callsite15DefaultCallsite8interest17hccd71802e1b704feE.exit, %"_ZN84_$LT$tracing_core..field..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1640ece4bfcb2b29E.exit", %_ZN12tracing_core8callsite15DefaultCallsite8interest17hccd71802e1b704feE.exit.thread, %58, %56, %"_ZN3mbe8expander7matcher16match_loop_inner28_$u7b$$u7b$closure$u7d$$u7d$17hb60bf3252ca3c6f8E.exit", %19, %19, %19 - %60 = icmp eq ptr %20, %11 - br i1 %60, label %._crit_edge, label %19 +.critedge23: ; preds = %60, %53, %_ZN12tracing_core8callsite15DefaultCallsite8interest17hccd71802e1b704feE.exit, %"_ZN84_$LT$tracing_core..field..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1640ece4bfcb2b29E.exit", %_ZN12tracing_core8callsite15DefaultCallsite8interest17hccd71802e1b704feE.exit.thread, %57, %55, %"_ZN3mbe8expander7matcher16match_loop_inner28_$u7b$$u7b$closure$u7d$$u7d$17hb60bf3252ca3c6f8E.exit", %19, %19, %19 + %59 = icmp eq ptr %20, %11 + br i1 %59, label %._crit_edge, label %19 -61: ; preds = %54 - %62 = icmp samesign ult i64 %55, 5 - call void @llvm.assume(i1 %62) - %63 = load atomic i8, ptr getelementptr inbounds nuw (i8, ptr @_ZN3mbe8expander7matcher12collect_vars10__CALLSITE17h2a8c48353faf6bbcE, i64 16) monotonic, align 8 - switch i8 %63, label %_ZN12tracing_core8callsite15DefaultCallsite8interest17hccd71802e1b704feE.exit [ +60: ; preds = %53 + %61 = icmp samesign ult i64 %54, 5 + call void @llvm.assume(i1 %61) + %62 = load atomic i8, ptr getelementptr inbounds nuw (i8, ptr @_ZN3mbe8expander7matcher12collect_vars10__CALLSITE17h2a8c48353faf6bbcE, i64 16) monotonic, align 8 + switch i8 %62, label %_ZN12tracing_core8callsite15DefaultCallsite8interest17hccd71802e1b704feE.exit [ i8 0, label %.critedge23 i8 1, label %_ZN12tracing_core8callsite15DefaultCallsite8interest17hccd71802e1b704feE.exit.thread i8 2, label %_ZN12tracing_core8callsite15DefaultCallsite8interest17hccd71802e1b704feE.exit.thread ] -_ZN12tracing_core8callsite15DefaultCallsite8interest17hccd71802e1b704feE.exit: ; preds = %61 - %64 = call noundef i8 @_ZN12tracing_core8callsite15DefaultCallsite8register17h8dcfce8925f7caa6E(ptr noundef nonnull align 8 @_ZN3mbe8expander7matcher12collect_vars10__CALLSITE17h2a8c48353faf6bbcE), !range !301 - %65 = icmp eq i8 %64, 0 - br i1 %65, label %.critedge23, label %_ZN12tracing_core8callsite15DefaultCallsite8interest17hccd71802e1b704feE.exit.thread - -_ZN12tracing_core8callsite15DefaultCallsite8interest17hccd71802e1b704feE.exit.thread: ; preds = %61, %61, %_ZN12tracing_core8callsite15DefaultCallsite8interest17hccd71802e1b704feE.exit - %.0.i2740 = phi i8 [ %64, %_ZN12tracing_core8callsite15DefaultCallsite8interest17hccd71802e1b704feE.exit ], [ %63, %61 ], [ %63, %61 ] - %66 = load ptr, ptr @_ZN3mbe8expander7matcher12collect_vars10__CALLSITE17h2a8c48353faf6bbcE, align 8, !nonnull !4, !align !275, !noundef !4 - %67 = call noundef zeroext i1 @_ZN7tracing15__macro_support12__is_enabled17hc13899c385d0edd3E(ptr noalias noundef nonnull readonly align 8 dereferenceable(120) %66, i8 noundef %.0.i2740) - br i1 %67, label %68, label %.critedge23 - -68: ; preds = %_ZN12tracing_core8callsite15DefaultCallsite8interest17hccd71802e1b704feE.exit.thread - %69 = load ptr, ptr @_ZN3mbe8expander7matcher12collect_vars10__CALLSITE17h2a8c48353faf6bbcE, align 8, !nonnull !4, !align !275, !noundef !4 - %70 = getelementptr inbounds nuw i8, ptr %69, i64 48 - %71 = load ptr, ptr %70, align 8, !nonnull !4, !align !275, !noundef !4 - %72 = getelementptr inbounds nuw i8, ptr %69, i64 56 - %73 = load i64, ptr %72, align 8, !noundef !4 - %74 = getelementptr inbounds nuw i8, ptr %69, i64 64 - %75 = load ptr, ptr %74, align 8, !nonnull !4, !align !283, !noundef !4 - %76 = getelementptr inbounds nuw i8, ptr %69, i64 72 - %77 = load ptr, ptr %76, align 8, !nonnull !4, !align !275, !noundef !4 +_ZN12tracing_core8callsite15DefaultCallsite8interest17hccd71802e1b704feE.exit: ; preds = %60 + %63 = call noundef i8 @_ZN12tracing_core8callsite15DefaultCallsite8register17h8dcfce8925f7caa6E(ptr noundef nonnull align 8 @_ZN3mbe8expander7matcher12collect_vars10__CALLSITE17h2a8c48353faf6bbcE), !range !301 + %64 = icmp eq i8 %63, 0 + br i1 %64, label %.critedge23, label %_ZN12tracing_core8callsite15DefaultCallsite8interest17hccd71802e1b704feE.exit.thread + +_ZN12tracing_core8callsite15DefaultCallsite8interest17hccd71802e1b704feE.exit.thread: ; preds = %60, %60, %_ZN12tracing_core8callsite15DefaultCallsite8interest17hccd71802e1b704feE.exit + %.0.i2740 = phi i8 [ %63, %_ZN12tracing_core8callsite15DefaultCallsite8interest17hccd71802e1b704feE.exit ], [ %62, %60 ], [ %62, %60 ] + %65 = load ptr, ptr @_ZN3mbe8expander7matcher12collect_vars10__CALLSITE17h2a8c48353faf6bbcE, align 8, !nonnull !4, !align !275, !noundef !4 + %66 = call noundef zeroext i1 @_ZN7tracing15__macro_support12__is_enabled17hc13899c385d0edd3E(ptr noalias noundef nonnull readonly align 8 dereferenceable(120) %65, i8 noundef %.0.i2740) + br i1 %66, label %67, label %.critedge23 + +67: ; preds = %_ZN12tracing_core8callsite15DefaultCallsite8interest17hccd71802e1b704feE.exit.thread + %68 = load ptr, ptr @_ZN3mbe8expander7matcher12collect_vars10__CALLSITE17h2a8c48353faf6bbcE, align 8, !nonnull !4, !align !275, !noundef !4 + %69 = getelementptr inbounds nuw i8, ptr %68, i64 48 + %70 = load ptr, ptr %69, align 8, !nonnull !4, !align !275, !noundef !4 + %71 = getelementptr inbounds nuw i8, ptr %68, i64 56 + %72 = load i64, ptr %71, align 8, !noundef !4 + %73 = getelementptr inbounds nuw i8, ptr %68, i64 64 + %74 = load ptr, ptr %73, align 8, !nonnull !4, !align !302, !noundef !4 + %75 = getelementptr inbounds nuw i8, ptr %68, i64 72 + %76 = load ptr, ptr %75, align 8, !nonnull !4, !align !275, !noundef !4 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6) call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %5) - %.not48 = icmp eq i64 %73, 0 - br i1 %.not48, label %78, label %"_ZN84_$LT$tracing_core..field..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1640ece4bfcb2b29E.exit" + %.not48 = icmp eq i64 %72, 0 + br i1 %.not48, label %77, label %"_ZN84_$LT$tracing_core..field..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1640ece4bfcb2b29E.exit" -78: ; preds = %68 +77: ; preds = %67 call void @_ZN4core6option13expect_failed17hea24986454718b4fE(ptr noalias noundef nonnull readonly align 1 @anon.186cf3a5ff61d7b819e386c7c9eb325f.23, i64 noundef 34, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.186cf3a5ff61d7b819e386c7c9eb325f.24) #29 unreachable -"_ZN84_$LT$tracing_core..field..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1640ece4bfcb2b29E.exit": ; preds = %68 - store ptr %71, ptr %5, align 8 - store i64 %73, ptr %.sroa.531.0..sroa_idx, align 8 - store ptr %75, ptr %.sroa.632.0..sroa_idx, align 8 - store ptr %77, ptr %.sroa.7.0..sroa_idx, align 8 +"_ZN84_$LT$tracing_core..field..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1640ece4bfcb2b29E.exit": ; preds = %67 + store ptr %70, ptr %5, align 8 + store i64 %72, ptr %.sroa.531.0..sroa_idx, align 8 + store ptr %74, ptr %.sroa.632.0..sroa_idx, align 8 + store ptr %76, ptr %.sroa.7.0..sroa_idx, align 8 store i64 0, ptr %.sroa.833.0..sroa_idx, align 8 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %4) store ptr @anon.186cf3a5ff61d7b819e386c7c9eb325f.26, ptr %4, align 8 @@ -1595,8 +1592,8 @@ _ZN12tracing_core8callsite15DefaultCallsite8interest17hccd71802e1b704feE.exit.th call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3) store ptr %6, ptr %3, align 8 store i64 1, ptr %.sroa.2.0..sroa_idx, align 8 - store ptr %70, ptr %.sroa.3.0..sroa_idx, align 8 - call void @_ZN12tracing_core5event5Event8dispatch17h28d28993ace4f1e0E(ptr noalias noundef nonnull readonly align 8 dereferenceable(120) %69, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %3) + store ptr %69, ptr %.sroa.3.0..sroa_idx, align 8 + call void @_ZN12tracing_core5event5Event8dispatch17h28d28993ace4f1e0E(ptr noalias noundef nonnull readonly align 8 dereferenceable(120) %68, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %3) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %4) call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %5) @@ -1680,24 +1677,24 @@ define hidden void @"_ZN3mbe24ValueResult$LT$T$C$E$GT$3map17h4f365ab4817b262cE"( call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %4) %5 = getelementptr inbounds nuw i8, ptr %1, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %4, ptr noundef nonnull align 8 dereferenceable(64) %5, i64 64, i1 false) - tail call void @llvm.experimental.noalias.scope.decl(metadata !302) + tail call void @llvm.experimental.noalias.scope.decl(metadata !303) %6 = getelementptr inbounds nuw i8, ptr %4, i64 56 - %7 = load i8, ptr %6, align 8, !range !246, !alias.scope !302, !noalias !305, !noundef !4 + %7 = load i8, ptr %6, align 8, !range !246, !alias.scope !303, !noalias !306, !noundef !4 %8 = icmp eq i8 %7, 5 br i1 %8, label %26, label %9 9: ; preds = %2 - tail call void @llvm.experimental.noalias.scope.decl(metadata !307) - tail call void @llvm.experimental.noalias.scope.decl(metadata !310) + tail call void @llvm.experimental.noalias.scope.decl(metadata !308) + tail call void @llvm.experimental.noalias.scope.decl(metadata !311) %10 = icmp eq i8 %7, 4 br i1 %10, label %15, label %11 11: ; preds = %9 %12 = icmp eq i8 %7, 3 %spec.select.i.i = select i1 %12, i8 0, i8 %7 - %.sroa.06.0.copyload7.i = load ptr, ptr %4, align 8, !alias.scope !312, !noalias !305 + %.sroa.06.0.copyload7.i = load ptr, ptr %4, align 8, !alias.scope !313, !noalias !306 %.sroa.58.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %4, i64 8 - %.sroa.58.0.copyload9.i = load i64, ptr %.sroa.58.0..sroa_idx.i, align 8, !alias.scope !312, !noalias !305 + %.sroa.58.0.copyload9.i = load i64, ptr %.sroa.58.0..sroa_idx.i, align 8, !alias.scope !313, !noalias !306 %13 = getelementptr inbounds nuw i8, ptr %1, i64 32 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %.sroa.610.i, ptr noundef nonnull align 8 dereferenceable(40) %13, i64 40, i1 false) %14 = getelementptr inbounds nuw i8, ptr %1, i64 73 @@ -1706,25 +1703,25 @@ define hidden void @"_ZN3mbe24ValueResult$LT$T$C$E$GT$3map17h4f365ab4817b262cE"( 15: ; preds = %9 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %.sroa.0.i.i) - %16 = load i32, ptr %4, align 8, !range !45, !alias.scope !313, !noalias !316, !noundef !4 + %16 = load i32, ptr %4, align 8, !range !45, !alias.scope !314, !noalias !317, !noundef !4 %switch.i.i.i = icmp eq i32 %16, 1 %..i.sroa.sel.v.i.sroa.sel.v.i.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %switch.i.i.i, i64 8, i64 32 %..i.sroa.sel.v.i.sroa.sel.v.i.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds nuw i8, ptr %4, i64 %..i.sroa.sel.v.i.sroa.sel.v.i.sroa.sel.v.sroa.sel.v.sroa.sel.v %.sroa.0.20..sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %.sroa.0.i.i, i64 20 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %.sroa.0.20..sroa_idx.i.i, ptr noundef nonnull readonly align 8 dereferenceable(20) %..i.sroa.sel.v.i.sroa.sel.v.i.sroa.sel.v.sroa.sel.v.sroa.sel, i64 20, i1 false), !noalias !316 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(20) %.sroa.0.i.i, ptr noundef nonnull readonly align 8 dereferenceable(20) %..i.sroa.sel.v.i.sroa.sel.v.i.sroa.sel.v.sroa.sel.v.sroa.sel, i64 20, i1 false), !noalias !316 - call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %3), !noalias !317 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %.sroa.0.20..sroa_idx.i.i, ptr noundef nonnull readonly align 8 dereferenceable(20) %..i.sroa.sel.v.i.sroa.sel.v.i.sroa.sel.v.sroa.sel.v.sroa.sel, i64 20, i1 false), !noalias !317 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(20) %.sroa.0.i.i, ptr noundef nonnull readonly align 8 dereferenceable(20) %..i.sroa.sel.v.i.sroa.sel.v.i.sroa.sel.v.sroa.sel.v.sroa.sel, i64 20, i1 false), !noalias !317 + call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %3), !noalias !318 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %3, ptr noundef nonnull align 8 dereferenceable(56) %5, i64 56, i1 false) %.sroa.4.0..sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %3, i64 56 - store i8 4, ptr %.sroa.4.0..sroa_idx.i.i, align 8, !noalias !317 - %17 = load volatile i8, ptr @__rust_no_alloc_shim_is_unstable, align 1, !noalias !318 - %18 = tail call noundef align 8 dereferenceable_or_null(64) ptr @__rust_alloc(i64 noundef 64, i64 noundef 8) #26, !noalias !318 + store i8 4, ptr %.sroa.4.0..sroa_idx.i.i, align 8, !noalias !318 + %17 = load volatile i8, ptr @__rust_no_alloc_shim_is_unstable, align 1, !noalias !319 + %18 = tail call noundef align 8 dereferenceable_or_null(64) ptr @__rust_alloc(i64 noundef 64, i64 noundef 8) #26, !noalias !319 %19 = icmp eq ptr %18, null br i1 %19, label %20, label %25 20: ; preds = %15 invoke void @_ZN5alloc5alloc18handle_alloc_error17h426354a964e0805cE(i64 noundef 8, i64 noundef 64) #29 - to label %.noexc.i.i unwind label %21, !noalias !317 + to label %.noexc.i.i unwind label %21, !noalias !318 .noexc.i.i: ; preds = %20 unreachable @@ -1733,17 +1730,17 @@ define hidden void @"_ZN3mbe24ValueResult$LT$T$C$E$GT$3map17h4f365ab4817b262cE"( %22 = landingpad { ptr, i32 } cleanup invoke fastcc void @"_ZN4core3ptr115drop_in_place$LT$$u5b$tt..TokenTree$LT$span..SpanData$LT$span..hygiene..SyntaxContextId$GT$$GT$$u3b$$u20$1$u5d$$GT$17h6f088235341bf119E"(ptr noalias noundef nonnull align 8 dereferenceable(64) %3) #27 - to label %.body unwind label %23, !noalias !317 + to label %.body unwind label %23, !noalias !318 23: ; preds = %21 %24 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17hbacfddf1bcf21a1eE() #28, !noalias !317 + call void @_ZN4core9panicking16panic_in_cleanup17hbacfddf1bcf21a1eE() #28, !noalias !318 unreachable 25: ; preds = %15 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %18, ptr noundef nonnull align 8 dereferenceable(64) %3, i64 64, i1 false), !noalias !317 - call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %3), !noalias !317 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %18, ptr noundef nonnull align 8 dereferenceable(64) %3, i64 64, i1 false), !noalias !318 + call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %3), !noalias !318 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %.sroa.610.i, ptr noundef nonnull align 8 dereferenceable(40) %.sroa.0.i.i, i64 40, i1 false) call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %.sroa.0.i.i) br label %26 @@ -1800,22 +1797,22 @@ define hidden void @"_ZN3mbe24ValueResult$LT$T$C$E$GT$3map17ha8e3639c350ddb4aE"( 8: ; preds = %7 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %.sroa.0.i.i) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(20) %.sroa.0.i.i, ptr noundef nonnull readonly align 4 dereferenceable(40) %2, i64 20, i1 false), !noalias !321 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(20) %.sroa.0.i.i, ptr noundef nonnull readonly align 4 dereferenceable(40) %2, i64 20, i1 false), !noalias !322 %9 = getelementptr inbounds nuw i8, ptr %2, i64 20 %.sroa.0.20..sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %.sroa.0.i.i, i64 20 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %.sroa.0.20..sroa_idx.i.i, ptr noundef nonnull readonly align 4 dereferenceable(20) %9, i64 20, i1 false), !noalias !321 - call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %4), !noalias !328 - store ptr %.sroa.05.0.copyload, ptr %4, align 8, !noalias !331 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %.sroa.0.20..sroa_idx.i.i, ptr noundef nonnull readonly align 4 dereferenceable(20) %9, i64 20, i1 false), !noalias !322 + call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %4), !noalias !329 + store ptr %.sroa.05.0.copyload, ptr %4, align 8, !noalias !332 %.sroa.4.0..sroa_idx13.i = getelementptr inbounds nuw i8, ptr %4, i64 8 - store i64 %.sroa.46.0.copyload, ptr %.sroa.4.0..sroa_idx13.i, align 8, !noalias !331 + store i64 %.sroa.46.0.copyload, ptr %.sroa.4.0..sroa_idx13.i, align 8, !noalias !332 %.sroa.517.0..sroa_idx18.i = getelementptr inbounds nuw i8, ptr %4, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %.sroa.517.0..sroa_idx18.i, ptr noundef nonnull align 8 dereferenceable(40) %.sroa.57.0..sroa_idx, i64 40, i1 false) %.sroa.620.0..sroa_idx21.i = getelementptr inbounds nuw i8, ptr %4, i64 56 - store i8 4, ptr %.sroa.620.0..sroa_idx21.i, align 8, !noalias !331 + store i8 4, ptr %.sroa.620.0..sroa_idx21.i, align 8, !noalias !332 %.sroa.8.0..sroa_idx25.i = getelementptr inbounds nuw i8, ptr %4, i64 57 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.8.0..sroa_idx25.i, ptr noundef nonnull align 1 dereferenceable(7) %.sroa.79.0..sroa_idx, i64 7, i1 false) %10 = invoke { ptr, i64 } @_ZN5alloc5alloc6Global10alloc_impl17hb4f01ccf52c1821cE.llvm.1974601743608636377(ptr noalias noundef nonnull readonly align 1 @anon.8a34ade40c118f9b2a9b2a634a5af407.1.llvm.1974601743608636377, i64 noundef 8, i64 noundef 64, i1 noundef zeroext false) - to label %.noexc.i.i unwind label %14, !noalias !328 + to label %.noexc.i.i unwind label %14, !noalias !329 .noexc.i.i: ; preds = %8 %11 = extractvalue { ptr, i64 } %10, 0 @@ -1824,7 +1821,7 @@ define hidden void @"_ZN3mbe24ValueResult$LT$T$C$E$GT$3map17ha8e3639c350ddb4aE"( 13: ; preds = %.noexc.i.i invoke void @_ZN5alloc5alloc18handle_alloc_error17h426354a964e0805cE(i64 noundef 8, i64 noundef 64) #29 - to label %.noexc2.i.i unwind label %14, !noalias !328 + to label %.noexc2.i.i unwind label %14, !noalias !329 .noexc2.i.i: ; preds = %13 unreachable @@ -1833,12 +1830,12 @@ define hidden void @"_ZN3mbe24ValueResult$LT$T$C$E$GT$3map17ha8e3639c350ddb4aE"( %15 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr115drop_in_place$LT$$u5b$tt..TokenTree$LT$span..SpanData$LT$span..hygiene..SyntaxContextId$GT$$GT$$u3b$$u20$1$u5d$$GT$17h6f088235341bf119E.llvm.1974601743608636377"(ptr noalias noundef nonnull align 8 dereferenceable(64) %4) #27 - to label %.body unwind label %16, !noalias !328 + to label %.body unwind label %16, !noalias !329 16: ; preds = %14 %17 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17hbacfddf1bcf21a1eE() #28, !noalias !328 + call void @_ZN4core9panicking16panic_in_cleanup17hbacfddf1bcf21a1eE() #28, !noalias !329 unreachable .thread.i.i: ; preds = %.noexc.i.i @@ -1851,7 +1848,7 @@ define hidden void @"_ZN3mbe24ValueResult$LT$T$C$E$GT$3map17ha8e3639c350ddb4aE"( store i8 4, ptr %.sroa.620.0..sroa_idx23.i, align 8 %.sroa.8.0..sroa_idx26.i = getelementptr inbounds nuw i8, ptr %11, i64 57 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.8.0..sroa_idx26.i, ptr noundef nonnull align 1 dereferenceable(7) %.sroa.79.0..sroa_idx, i64 7, i1 false) - call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4), !noalias !328 + call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4), !noalias !329 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %.sroa.610.i, ptr noundef nonnull align 8 dereferenceable(40) %.sroa.0.i.i, i64 40, i1 false) call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %.sroa.0.i.i) br label %19 @@ -2324,7 +2321,7 @@ attributes #29 = { noreturn } !280 = !{!281} !281 = distinct !{!281, !279, !"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E: argument 1"} !282 = !{!278, !281} -!283 = !{i64 1} +!283 = !{!281, !278} !284 = !{!285} !285 = distinct !{!285, !286, !"_ZN4core3ptr38drop_in_place$LT$smol_str..SmolStr$GT$17h1c079fbecfe68279E: argument 0"} !286 = distinct !{!286, !"_ZN4core3ptr38drop_in_place$LT$smol_str..SmolStr$GT$17h1c079fbecfe68279E"} @@ -2343,33 +2340,34 @@ attributes #29 = { noreturn } !299 = !{!297, !294, !288, !285, !291} !300 = !{!297, !294, !288, !285} !301 = !{i8 0, i8 3} -!302 = !{!303} -!303 = distinct !{!303, !304, !"_ZN3mbe8expander7matcher14match_meta_var28_$u7b$$u7b$closure$u7d$$u7d$17he350559fbced9207E.llvm.8124655140016113745: argument 1"} -!304 = distinct !{!304, !"_ZN3mbe8expander7matcher14match_meta_var28_$u7b$$u7b$closure$u7d$$u7d$17he350559fbced9207E.llvm.8124655140016113745"} -!305 = !{!306} -!306 = distinct !{!306, !304, !"_ZN3mbe8expander7matcher14match_meta_var28_$u7b$$u7b$closure$u7d$$u7d$17he350559fbced9207E.llvm.8124655140016113745: argument 0"} -!307 = !{!308} -!308 = distinct !{!308, !309, !"_ZN3mbe8expander7matcher14match_meta_var28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h11f155ae2a89a34bE.llvm.8124655140016113745: argument 0"} -!309 = distinct !{!309, !"_ZN3mbe8expander7matcher14match_meta_var28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h11f155ae2a89a34bE.llvm.8124655140016113745"} -!310 = !{!311} -!311 = distinct !{!311, !309, !"_ZN3mbe8expander7matcher14match_meta_var28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h11f155ae2a89a34bE.llvm.8124655140016113745: argument 1"} -!312 = !{!308, !311, !303} -!313 = !{!314, !311, !303} -!314 = distinct !{!314, !315, !"_ZN2tt13Leaf$LT$S$GT$4span17h31a2afde2bde4f73E: argument 0"} -!315 = distinct !{!315, !"_ZN2tt13Leaf$LT$S$GT$4span17h31a2afde2bde4f73E"} -!316 = !{!308, !306} -!317 = !{!308, !311, !306, !303} -!318 = !{!319, !308, !311, !306, !303} -!319 = distinct !{!319, !320, !"_ZN5alloc5boxed12Box$LT$T$GT$3new17h8da68c78d34e9254E: argument 0"} -!320 = distinct !{!320, !"_ZN5alloc5boxed12Box$LT$T$GT$3new17h8da68c78d34e9254E"} -!321 = !{!322, !324, !325, !327} -!322 = distinct !{!322, !323, !"_ZN2tt18TokenTree$LT$S$GT$15subtree_or_wrap17h5a57c431bb15081dE: argument 0"} -!323 = distinct !{!323, !"_ZN2tt18TokenTree$LT$S$GT$15subtree_or_wrap17h5a57c431bb15081dE"} -!324 = distinct !{!324, !323, !"_ZN2tt18TokenTree$LT$S$GT$15subtree_or_wrap17h5a57c431bb15081dE: argument 1"} -!325 = distinct !{!325, !326, !"_ZN3mbe8expander7matcher14match_meta_var28_$u7b$$u7b$closure$u7d$$u7d$17h455d3bf332d60a75E.llvm.8124655140016113745: argument 0"} -!326 = distinct !{!326, !"_ZN3mbe8expander7matcher14match_meta_var28_$u7b$$u7b$closure$u7d$$u7d$17h455d3bf332d60a75E.llvm.8124655140016113745"} -!327 = distinct !{!327, !326, !"_ZN3mbe8expander7matcher14match_meta_var28_$u7b$$u7b$closure$u7d$$u7d$17h455d3bf332d60a75E.llvm.8124655140016113745: argument 2"} -!328 = !{!322, !324, !329, !325, !330, !327} -!329 = distinct !{!329, !323, !"_ZN2tt18TokenTree$LT$S$GT$15subtree_or_wrap17h5a57c431bb15081dE: argument 2"} -!330 = distinct !{!330, !326, !"_ZN3mbe8expander7matcher14match_meta_var28_$u7b$$u7b$closure$u7d$$u7d$17h455d3bf332d60a75E.llvm.8124655140016113745: argument 1"} -!331 = !{!322, !329, !325, !330, !327} +!302 = !{i64 1} +!303 = !{!304} +!304 = distinct !{!304, !305, !"_ZN3mbe8expander7matcher14match_meta_var28_$u7b$$u7b$closure$u7d$$u7d$17he350559fbced9207E.llvm.8124655140016113745: argument 1"} +!305 = distinct !{!305, !"_ZN3mbe8expander7matcher14match_meta_var28_$u7b$$u7b$closure$u7d$$u7d$17he350559fbced9207E.llvm.8124655140016113745"} +!306 = !{!307} +!307 = distinct !{!307, !305, !"_ZN3mbe8expander7matcher14match_meta_var28_$u7b$$u7b$closure$u7d$$u7d$17he350559fbced9207E.llvm.8124655140016113745: argument 0"} +!308 = !{!309} +!309 = distinct !{!309, !310, !"_ZN3mbe8expander7matcher14match_meta_var28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h11f155ae2a89a34bE.llvm.8124655140016113745: argument 0"} +!310 = distinct !{!310, !"_ZN3mbe8expander7matcher14match_meta_var28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h11f155ae2a89a34bE.llvm.8124655140016113745"} +!311 = !{!312} +!312 = distinct !{!312, !310, !"_ZN3mbe8expander7matcher14match_meta_var28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h11f155ae2a89a34bE.llvm.8124655140016113745: argument 1"} +!313 = !{!309, !312, !304} +!314 = !{!315, !312, !304} +!315 = distinct !{!315, !316, !"_ZN2tt13Leaf$LT$S$GT$4span17h31a2afde2bde4f73E: argument 0"} +!316 = distinct !{!316, !"_ZN2tt13Leaf$LT$S$GT$4span17h31a2afde2bde4f73E"} +!317 = !{!309, !307} +!318 = !{!309, !312, !307, !304} +!319 = !{!320, !309, !312, !307, !304} +!320 = distinct !{!320, !321, !"_ZN5alloc5boxed12Box$LT$T$GT$3new17h8da68c78d34e9254E: argument 0"} +!321 = distinct !{!321, !"_ZN5alloc5boxed12Box$LT$T$GT$3new17h8da68c78d34e9254E"} +!322 = !{!323, !325, !326, !328} +!323 = distinct !{!323, !324, !"_ZN2tt18TokenTree$LT$S$GT$15subtree_or_wrap17h5a57c431bb15081dE: argument 0"} +!324 = distinct !{!324, !"_ZN2tt18TokenTree$LT$S$GT$15subtree_or_wrap17h5a57c431bb15081dE"} +!325 = distinct !{!325, !324, !"_ZN2tt18TokenTree$LT$S$GT$15subtree_or_wrap17h5a57c431bb15081dE: argument 1"} +!326 = distinct !{!326, !327, !"_ZN3mbe8expander7matcher14match_meta_var28_$u7b$$u7b$closure$u7d$$u7d$17h455d3bf332d60a75E.llvm.8124655140016113745: argument 0"} +!327 = distinct !{!327, !"_ZN3mbe8expander7matcher14match_meta_var28_$u7b$$u7b$closure$u7d$$u7d$17h455d3bf332d60a75E.llvm.8124655140016113745"} +!328 = distinct !{!328, !327, !"_ZN3mbe8expander7matcher14match_meta_var28_$u7b$$u7b$closure$u7d$$u7d$17h455d3bf332d60a75E.llvm.8124655140016113745: argument 2"} +!329 = !{!323, !325, !330, !326, !331, !328} +!330 = distinct !{!330, !324, !"_ZN2tt18TokenTree$LT$S$GT$15subtree_or_wrap17h5a57c431bb15081dE: argument 2"} +!331 = distinct !{!331, !327, !"_ZN3mbe8expander7matcher14match_meta_var28_$u7b$$u7b$closure$u7d$$u7d$17h455d3bf332d60a75E.llvm.8124655140016113745: argument 1"} +!332 = !{!323, !330, !326, !331, !328} diff --git a/bench/rust-analyzer-rs/optimized/58xaix613yc6ngmz.ll b/bench/rust-analyzer-rs/optimized/58xaix613yc6ngmz.ll index 3307e41dc6d..c2dd238f777 100644 --- a/bench/rust-analyzer-rs/optimized/58xaix613yc6ngmz.ll +++ b/bench/rust-analyzer-rs/optimized/58xaix613yc6ngmz.ll @@ -11018,7 +11018,7 @@ define hidden void @_ZN4core4hash4Hash10hash_slice17ha5b6b2a9ea013c45E(ptr noali tail call void @llvm.experimental.noalias.scope.decl(metadata !3810) tail call void @llvm.experimental.noalias.scope.decl(metadata !3812) tail call void @llvm.experimental.noalias.scope.decl(metadata !3815) - %7 = load i8, ptr %.sroa.0.010, align 8, !range !1343, !alias.scope !3817, !noalias !3818, !noundef !13 + %7 = load i8, ptr %.sroa.0.010, align 16, !range !1343, !alias.scope !3817, !noalias !3818, !noundef !13 %8 = icmp ne i8 %7, 27 %9 = zext i1 %8 to i64 %10 = load i64, ptr %2, align 8, !alias.scope !3819, !noalias !3817, !noundef !13 @@ -11057,7 +11057,7 @@ default.unreachable: ; preds = %20 %23 = getelementptr inbounds nuw i8, ptr %.sroa.0.010, i64 8 %24 = load ptr, ptr %23, align 8, !alias.scope !3834, !noalias !3837, !nonnull !13, !noundef !13 %25 = getelementptr inbounds nuw i8, ptr %.sroa.0.010, i64 16 - %26 = load i64, ptr %25, align 8, !alias.scope !3834, !noalias !3837, !noundef !13 + %26 = load i64, ptr %25, align 16, !alias.scope !3834, !noalias !3837, !noundef !13 %27 = getelementptr inbounds nuw i8, ptr %24, i64 16 br label %_ZN8smol_str4Repr6as_str17h6612cd4653de1669E.llvm.15602210471604820194.exit.i.i.i.i @@ -11065,7 +11065,7 @@ default.unreachable: ; preds = %20 %29 = getelementptr inbounds nuw i8, ptr %.sroa.0.010, i64 8 %30 = load ptr, ptr %29, align 8, !alias.scope !3834, !noalias !3837, !nonnull !13, !align !38, !noundef !13 %31 = getelementptr inbounds nuw i8, ptr %.sroa.0.010, i64 16 - %32 = load i64, ptr %31, align 8, !alias.scope !3834, !noalias !3837, !noundef !13 + %32 = load i64, ptr %31, align 16, !alias.scope !3834, !noalias !3837, !noundef !13 br label %_ZN8smol_str4Repr6as_str17h6612cd4653de1669E.llvm.15602210471604820194.exit.i.i.i.i "_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17hbbf545a0082a3c1dE.llvm.15602210471604820194.exit.i.i.i.i.i": ; preds = %20 @@ -15073,12 +15073,12 @@ define internal fastcc void @"_ZN59_$LT$tt..Subtree$LT$S$GT$$u20$as$u20$core..cl %.sroa.614.0..sroa_idx = getelementptr inbounds nuw i8, ptr %3, i64 57 br label %37 -36: ; preds = %109 +36: ; preds = %103 %lpad.loopexit = landingpad { ptr, i32 } cleanup store i64 %.sroa.79.064, ptr %33, align 8, !noalias !5276 invoke void @"_ZN4core3ptr117drop_in_place$LT$alloc..vec..Vec$LT$tt..TokenTree$LT$span..SpanData$LT$span..hygiene..SyntaxContextId$GT$$GT$$GT$$GT$17h77bb8fb171515618E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %4) #59 - to label %114 unwind label %112, !noalias !5276 + to label %108 unwind label %106, !noalias !5276 37: ; preds = %.lr.ph, %"_ZN61_$LT$tt..TokenTree$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17ha31ac08f0de2527dE.exit.i" %.sroa.62.i1.i.sroa.4.069 = phi i32 [ undef, %.lr.ph ], [ %.sroa.62.i1.i.sroa.4.1, %"_ZN61_$LT$tt..TokenTree$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17ha31ac08f0de2527dE.exit.i" ] @@ -15107,18 +15107,18 @@ define internal fastcc void @"_ZN59_$LT$tt..Subtree$LT$S$GT$$u20$as$u20$core..cl %43 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 56 %44 = load i8, ptr %43, align 8, !range !2517, !alias.scope !5277, !noalias !5280, !noundef !13 %45 = icmp eq i8 %44, 4 - br i1 %45, label %46, label %109 + br i1 %45, label %46, label %103 46: ; preds = %40 tail call void @llvm.experimental.noalias.scope.decl(metadata !5282) %47 = load i32, ptr %.sroa.07.065, align 8, !range !5285, !alias.scope !5282, !noalias !5286, !noundef !13 switch i32 %47, label %default.unreachable [ i32 0, label %48 - i32 1, label %72 - i32 2, label %85 + i32 1, label %69 + i32 2, label %82 ] -default.unreachable: ; preds = %85, %48, %46 +default.unreachable: ; preds = %82, %48, %46 unreachable 48: ; preds = %46 @@ -15131,8 +15131,8 @@ default.unreachable: ; preds = %85, %48, %46 %narrow.i.i.i = tail call i8 @llvm.umin.i8(i8 %51, i8 2) switch i8 %narrow.i.i.i, label %default.unreachable [ i8 0, label %52 - i8 1, label %58 - i8 2, label %61 + i8 1, label %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i.sink.split" + i8 2, label %58 ] 52: ; preds = %48 @@ -15148,36 +15148,37 @@ default.unreachable: ; preds = %85, %48, %46 unreachable 58: ; preds = %48 - %59 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 16 - %60 = load ptr, ptr %59, align 8, !alias.scope !5296, !noalias !5297, !nonnull !13, !align !38, !noundef !13 - br label %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" - -61: ; preds = %48 - %62 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 9 - %.sroa.62.i.i.sroa.0.0.copyload = load i24, ptr %62, align 1, !alias.scope !5304, !noalias !5286 + %59 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 9 + %.sroa.62.i.i.sroa.0.0.copyload = load i24, ptr %59, align 1, !alias.scope !5304, !noalias !5286 %.sroa.62.i.i.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 12 - %.sroa.62.i.i.sroa.4.0.copyload = load i32, ptr %.sroa.62.i.i.sroa.4.0..sroa_idx, align 1, !alias.scope !5304, !noalias !5286 + %.sroa.62.i.i.sroa.4.0.copyload = load i32, ptr %.sroa.62.i.i.sroa.4.0..sroa_idx, align 4, !alias.scope !5304, !noalias !5286 + br label %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i.sink.split" + +"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i.sink.split": ; preds = %48, %58 + %.sroa.62.i.i.sroa.0.2.ph = phi i24 [ %.sroa.62.i.i.sroa.0.0.copyload, %58 ], [ %.sroa.62.i.i.sroa.0.066, %48 ] + %.sroa.62.i.i.sroa.4.2.ph = phi i32 [ %.sroa.62.i.i.sroa.4.0.copyload, %58 ], [ %.sroa.62.i.i.sroa.4.067, %48 ] + %.sroa.01.0.i.i.ph = phi i8 [ %50, %58 ], [ 25, %48 ] %.sroa.73.1..sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 16 - %.sroa.73.1.copyload.i.i = load ptr, ptr %.sroa.73.1..sroa_idx.i.i, align 1, !alias.scope !5305, !noalias !5306 + %.sroa.73.1.copyload.i.i = load ptr, ptr %.sroa.73.1..sroa_idx.i.i, align 8, !alias.scope !5305, !noalias !5306 br label %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" -"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i": ; preds = %61, %58, %52 - %.sroa.62.i.i.sroa.0.2 = phi i24 [ %.sroa.62.i.i.sroa.0.0.copyload, %61 ], [ %.sroa.62.i.i.sroa.0.066, %58 ], [ %.sroa.62.i.i.sroa.0.066, %52 ] - %.sroa.62.i.i.sroa.4.2 = phi i32 [ %.sroa.62.i.i.sroa.4.0.copyload, %61 ], [ %.sroa.62.i.i.sroa.4.067, %58 ], [ %.sroa.62.i.i.sroa.4.067, %52 ] - %.sroa.01.0.i.i = phi i8 [ %50, %61 ], [ 25, %58 ], [ 24, %52 ] - %.sroa.73.0.i.i = phi ptr [ %.sroa.73.1.copyload.i.i, %61 ], [ %60, %58 ], [ %54, %52 ] +"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i": ; preds = %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i.sink.split", %52 + %.sroa.62.i.i.sroa.0.2 = phi i24 [ %.sroa.62.i.i.sroa.0.066, %52 ], [ %.sroa.62.i.i.sroa.0.2.ph, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i.sink.split" ] + %.sroa.62.i.i.sroa.4.2 = phi i32 [ %.sroa.62.i.i.sroa.4.067, %52 ], [ %.sroa.62.i.i.sroa.4.2.ph, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i.sink.split" ] + %.sroa.01.0.i.i = phi i8 [ 24, %52 ], [ %.sroa.01.0.i.i.ph, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i.sink.split" ] + %.sroa.73.0.i.i = phi ptr [ %54, %52 ], [ %.sroa.73.1.copyload.i.i, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i.sink.split" ] %.sroa.9.0.in.i.i = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 24 - %.sroa.9.0.i.i = load i64, ptr %.sroa.9.0.in.i.i, align 1, !alias.scope !5305, !noalias !5306 - %63 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 32 - %64 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 36 - %65 = load i32, ptr %64, align 4, !alias.scope !5307, !noalias !5310, !noundef !13 - %66 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 40 - %67 = load i32, ptr %66, align 4, !alias.scope !5307, !noalias !5310, !noundef !13 - %68 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 44 - %69 = load i32, ptr %68, align 4, !alias.scope !5307, !noalias !5310, !noundef !13 - %70 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 48 - %71 = load i32, ptr %70, align 4, !alias.scope !5307, !noalias !5310, !noundef !13 - %.val.i.i.i = load i32, ptr %63, align 4, !range !2029, !alias.scope !5307, !noalias !5310, !noundef !13 + %.sroa.9.0.i.i = load i64, ptr %.sroa.9.0.in.i.i, align 8, !alias.scope !5305, !noalias !5306 + %60 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 32 + %61 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 36 + %62 = load i32, ptr %61, align 4, !alias.scope !5307, !noalias !5310, !noundef !13 + %63 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 40 + %64 = load i32, ptr %63, align 8, !alias.scope !5307, !noalias !5310, !noundef !13 + %65 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 44 + %66 = load i32, ptr %65, align 4, !alias.scope !5307, !noalias !5310, !noundef !13 + %67 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 48 + %68 = load i32, ptr %67, align 8, !alias.scope !5307, !noalias !5310, !noundef !13 + %.val.i.i.i = load i32, ptr %60, align 8, !range !2029, !alias.scope !5307, !noalias !5310, !noundef !13 %.sroa.17.sroa.0.0.extract.trunc22 = trunc i64 %.sroa.9.0.i.i to i32 %.sroa.17.sroa.6.0.extract.shift23 = lshr i64 %.sroa.9.0.i.i, 32 %.sroa.17.sroa.6.0.extract.trunc24 = trunc i64 %.sroa.17.sroa.6.0.extract.shift23 to i8 @@ -15185,82 +15186,83 @@ default.unreachable: ; preds = %85, %48, %46 %.sroa.17.sroa.7.0.extract.trunc26 = trunc nuw i64 %.sroa.17.sroa.7.0.extract.shift25 to i24 br label %"_ZN56_$LT$tt..Leaf$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17he45ce5b6dbbe78eaE.exit" -72: ; preds = %46 - %73 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 4 - %74 = load i32, ptr %73, align 4, !range !5312, !alias.scope !5282, !noalias !5286, !noundef !13 - %75 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 28 - %76 = load i8, ptr %75, align 4, !range !1690, !alias.scope !5282, !noalias !5286, !noundef !13 - %77 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 8 - %78 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 12 - %79 = load i32, ptr %78, align 4, !alias.scope !5313, !noalias !5316, !noundef !13 - %80 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 16 - %81 = load i64, ptr %80, align 4, !alias.scope !5313, !noalias !5316 - %82 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 24 - %83 = load i32, ptr %82, align 4, !alias.scope !5313, !noalias !5316, !noundef !13 - %.val.i.i1 = load i32, ptr %77, align 4, !range !2029, !alias.scope !5313, !noalias !5316, !noundef !13 +69: ; preds = %46 + %70 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 4 + %71 = load i32, ptr %70, align 4, !range !5312, !alias.scope !5282, !noalias !5286, !noundef !13 + %72 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 28 + %73 = load i8, ptr %72, align 4, !range !1690, !alias.scope !5282, !noalias !5286, !noundef !13 + %74 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 8 + %75 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 12 + %76 = load i32, ptr %75, align 4, !alias.scope !5313, !noalias !5316, !noundef !13 + %77 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 16 + %78 = load i64, ptr %77, align 8, !alias.scope !5313, !noalias !5316 + %79 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 24 + %80 = load i32, ptr %79, align 8, !alias.scope !5313, !noalias !5316, !noundef !13 + %.val.i.i1 = load i32, ptr %74, align 8, !range !2029, !alias.scope !5313, !noalias !5316, !noundef !13 %.sroa.717.sroa.0.0.extract.trunc = trunc i32 %.val.i.i1 to i8 %.sroa.717.sroa.6.0.extract.shift = lshr i32 %.val.i.i1, 8 %.sroa.717.sroa.6.0.extract.trunc = trunc nuw i32 %.sroa.717.sroa.6.0.extract.shift to i24 - %84 = inttoptr i64 %81 to ptr + %81 = inttoptr i64 %78 to ptr br label %"_ZN56_$LT$tt..Leaf$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17he45ce5b6dbbe78eaE.exit" -85: ; preds = %46 - %86 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 8 +82: ; preds = %46 + %83 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 8 tail call void @llvm.experimental.noalias.scope.decl(metadata !5318), !noalias !5280 tail call void @llvm.experimental.noalias.scope.decl(metadata !5321), !noalias !5280 tail call void @llvm.experimental.noalias.scope.decl(metadata !5324), !noalias !5280 - %87 = load i8, ptr %86, align 8, !range !5041, !alias.scope !5326, !noalias !5327, !noundef !13 - %88 = add nsw i8 %87, -24 - %narrow.i.i2.i = tail call i8 @llvm.umin.i8(i8 %88, i8 2) + %84 = load i8, ptr %83, align 8, !range !5041, !alias.scope !5326, !noalias !5327, !noundef !13 + %85 = add nsw i8 %84, -24 + %narrow.i.i2.i = tail call i8 @llvm.umin.i8(i8 %85, i8 2) switch i8 %narrow.i.i2.i, label %default.unreachable [ - i8 0, label %89 - i8 1, label %95 - i8 2, label %98 + i8 0, label %86 + i8 1, label %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i.sink.split" + i8 2, label %92 ] -89: ; preds = %85 - %90 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 16 +86: ; preds = %82 + %87 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 16 tail call void @llvm.experimental.noalias.scope.decl(metadata !5329), !noalias !5280 - %91 = load ptr, ptr %90, align 8, !alias.scope !5332, !noalias !5327, !nonnull !13, !noundef !13 - %92 = atomicrmw add ptr %91, i64 1 monotonic, align 8, !noalias !5333 - %93 = icmp slt i64 %92, 0 - br i1 %93, label %94, label %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" + %88 = load ptr, ptr %87, align 8, !alias.scope !5332, !noalias !5327, !nonnull !13, !noundef !13 + %89 = atomicrmw add ptr %88, i64 1 monotonic, align 8, !noalias !5333 + %90 = icmp slt i64 %89, 0 + br i1 %90, label %91, label %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" -94: ; preds = %89 +91: ; preds = %86 tail call void @llvm.trap(), !noalias !5280 unreachable -95: ; preds = %85 - %96 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 16 - %97 = load ptr, ptr %96, align 8, !alias.scope !5326, !noalias !5327, !nonnull !13, !align !38, !noundef !13 - br label %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" - -98: ; preds = %85 - %99 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 9 - %.sroa.62.i1.i.sroa.0.0.copyload = load i24, ptr %99, align 1, !alias.scope !5334, !noalias !5286 +92: ; preds = %82 + %93 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 9 + %.sroa.62.i1.i.sroa.0.0.copyload = load i24, ptr %93, align 1, !alias.scope !5334, !noalias !5286 %.sroa.62.i1.i.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 12 - %.sroa.62.i1.i.sroa.4.0.copyload = load i32, ptr %.sroa.62.i1.i.sroa.4.0..sroa_idx, align 1, !alias.scope !5334, !noalias !5286 + %.sroa.62.i1.i.sroa.4.0.copyload = load i32, ptr %.sroa.62.i1.i.sroa.4.0..sroa_idx, align 4, !alias.scope !5334, !noalias !5286 + br label %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i.sink.split" + +"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i.sink.split": ; preds = %82, %92 + %.sroa.62.i1.i.sroa.0.2.ph = phi i24 [ %.sroa.62.i1.i.sroa.0.0.copyload, %92 ], [ %.sroa.62.i1.i.sroa.0.068, %82 ] + %.sroa.62.i1.i.sroa.4.2.ph = phi i32 [ %.sroa.62.i1.i.sroa.4.0.copyload, %92 ], [ %.sroa.62.i1.i.sroa.4.069, %82 ] + %.sroa.01.0.i5.i.ph = phi i8 [ %84, %92 ], [ 25, %82 ] %.sroa.73.1..sroa_idx.i3.i = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 16 - %.sroa.73.1.copyload.i4.i = load ptr, ptr %.sroa.73.1..sroa_idx.i3.i, align 1, !alias.scope !5335, !noalias !5336 + %.sroa.73.1.copyload.i4.i = load ptr, ptr %.sroa.73.1..sroa_idx.i3.i, align 8, !alias.scope !5335, !noalias !5336 br label %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" -"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i": ; preds = %98, %95, %89 - %.sroa.62.i1.i.sroa.0.2 = phi i24 [ %.sroa.62.i1.i.sroa.0.0.copyload, %98 ], [ %.sroa.62.i1.i.sroa.0.068, %95 ], [ %.sroa.62.i1.i.sroa.0.068, %89 ] - %.sroa.62.i1.i.sroa.4.2 = phi i32 [ %.sroa.62.i1.i.sroa.4.0.copyload, %98 ], [ %.sroa.62.i1.i.sroa.4.069, %95 ], [ %.sroa.62.i1.i.sroa.4.069, %89 ] - %.sroa.01.0.i5.i = phi i8 [ %87, %98 ], [ 25, %95 ], [ 24, %89 ] - %.sroa.73.0.i6.i = phi ptr [ %.sroa.73.1.copyload.i4.i, %98 ], [ %97, %95 ], [ %91, %89 ] +"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i": ; preds = %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i.sink.split", %86 + %.sroa.62.i1.i.sroa.0.2 = phi i24 [ %.sroa.62.i1.i.sroa.0.068, %86 ], [ %.sroa.62.i1.i.sroa.0.2.ph, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i.sink.split" ] + %.sroa.62.i1.i.sroa.4.2 = phi i32 [ %.sroa.62.i1.i.sroa.4.069, %86 ], [ %.sroa.62.i1.i.sroa.4.2.ph, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i.sink.split" ] + %.sroa.01.0.i5.i = phi i8 [ 24, %86 ], [ %.sroa.01.0.i5.i.ph, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i.sink.split" ] + %.sroa.73.0.i6.i = phi ptr [ %88, %86 ], [ %.sroa.73.1.copyload.i4.i, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i.sink.split" ] %.sroa.9.0.in.i7.i = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 24 - %.sroa.9.0.i8.i = load i64, ptr %.sroa.9.0.in.i7.i, align 1, !alias.scope !5335, !noalias !5336 - %100 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 32 - %101 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 36 - %102 = load i32, ptr %101, align 4, !alias.scope !5337, !noalias !5340, !noundef !13 - %103 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 40 - %104 = load i32, ptr %103, align 4, !alias.scope !5337, !noalias !5340, !noundef !13 - %105 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 44 - %106 = load i32, ptr %105, align 4, !alias.scope !5337, !noalias !5340, !noundef !13 - %107 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 48 - %108 = load i32, ptr %107, align 4, !alias.scope !5337, !noalias !5340, !noundef !13 - %.val.i.i9.i = load i32, ptr %100, align 4, !range !2029, !alias.scope !5337, !noalias !5340, !noundef !13 + %.sroa.9.0.i8.i = load i64, ptr %.sroa.9.0.in.i7.i, align 8, !alias.scope !5335, !noalias !5336 + %94 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 32 + %95 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 36 + %96 = load i32, ptr %95, align 4, !alias.scope !5337, !noalias !5340, !noundef !13 + %97 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 40 + %98 = load i32, ptr %97, align 8, !alias.scope !5337, !noalias !5340, !noundef !13 + %99 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 44 + %100 = load i32, ptr %99, align 4, !alias.scope !5337, !noalias !5340, !noundef !13 + %101 = getelementptr inbounds nuw i8, ptr %.sroa.07.065, i64 48 + %102 = load i32, ptr %101, align 8, !alias.scope !5337, !noalias !5340, !noundef !13 + %.val.i.i9.i = load i32, ptr %94, align 8, !range !2029, !alias.scope !5337, !noalias !5340, !noundef !13 %.sroa.17.sroa.0.0.extract.trunc = trunc i64 %.sroa.9.0.i8.i to i32 %.sroa.17.sroa.6.0.extract.shift = lshr i64 %.sroa.9.0.i8.i, 32 %.sroa.17.sroa.6.0.extract.trunc = trunc i64 %.sroa.17.sroa.6.0.extract.shift to i8 @@ -15268,24 +15270,24 @@ default.unreachable: ; preds = %85, %48, %46 %.sroa.17.sroa.7.0.extract.trunc = trunc nuw i64 %.sroa.17.sroa.7.0.extract.shift to i24 br label %"_ZN56_$LT$tt..Leaf$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17he45ce5b6dbbe78eaE.exit" -"_ZN56_$LT$tt..Leaf$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17he45ce5b6dbbe78eaE.exit": ; preds = %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i", %72, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" - %.sroa.717.sroa.6.sroa.0.0 = phi i24 [ %.sroa.62.i1.i.sroa.0.2, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" ], [ %.sroa.717.sroa.6.0.extract.trunc, %72 ], [ %.sroa.62.i.i.sroa.0.2, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" ] - %.sroa.717.sroa.0.0 = phi i8 [ %.sroa.01.0.i5.i, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" ], [ %.sroa.717.sroa.0.0.extract.trunc, %72 ], [ %.sroa.01.0.i.i, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" ] - %.sroa.1321.2 = phi ptr [ %.sroa.73.0.i6.i, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" ], [ %84, %72 ], [ %.sroa.73.0.i.i, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" ] - %.sroa.17.sroa.7.sroa.0.2 = phi i24 [ %.sroa.17.sroa.7.0.extract.trunc, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" ], [ %.sroa.17.sroa.7.sroa.0.056, %72 ], [ %.sroa.17.sroa.7.0.extract.trunc26, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" ] - %.sroa.17.sroa.6.0 = phi i8 [ %.sroa.17.sroa.6.0.extract.trunc, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" ], [ %76, %72 ], [ %.sroa.17.sroa.6.0.extract.trunc24, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" ] - %.sroa.17.sroa.0.0 = phi i32 [ %.sroa.17.sroa.0.0.extract.trunc, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" ], [ %83, %72 ], [ %.sroa.17.sroa.0.0.extract.trunc22, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" ] - %.sroa.29.2 = phi i32 [ %108, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" ], [ %.sroa.29.057, %72 ], [ %71, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" ] - %.sroa.27.2 = phi i32 [ %106, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" ], [ %.sroa.27.058, %72 ], [ %69, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" ] - %.sroa.25.2 = phi i32 [ %104, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" ], [ %.sroa.25.059, %72 ], [ %67, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" ] - %.sroa.23.2 = phi i32 [ %102, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" ], [ %.sroa.23.060, %72 ], [ %65, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" ] - %.sroa.21.2 = phi i32 [ %.val.i.i9.i, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" ], [ %.sroa.21.061, %72 ], [ %.val.i.i.i, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" ] - %.sroa.1219.0 = phi i32 [ %.sroa.62.i1.i.sroa.4.2, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" ], [ %79, %72 ], [ %.sroa.62.i.i.sroa.4.2, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" ] - %.sroa.616.2 = phi i32 [ %.sroa.616.062, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" ], [ %74, %72 ], [ %.sroa.616.062, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" ] - %.sroa.62.i.i.sroa.0.3 = phi i24 [ %.sroa.62.i.i.sroa.0.066, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" ], [ %.sroa.62.i.i.sroa.0.066, %72 ], [ %.sroa.62.i.i.sroa.0.2, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" ] - %.sroa.62.i.i.sroa.4.3 = phi i32 [ %.sroa.62.i.i.sroa.4.067, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" ], [ %.sroa.62.i.i.sroa.4.067, %72 ], [ %.sroa.62.i.i.sroa.4.2, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" ] - %.sroa.62.i1.i.sroa.0.3 = phi i24 [ %.sroa.62.i1.i.sroa.0.2, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" ], [ %.sroa.62.i1.i.sroa.0.068, %72 ], [ %.sroa.62.i1.i.sroa.0.068, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" ] - %.sroa.62.i1.i.sroa.4.3 = phi i32 [ %.sroa.62.i1.i.sroa.4.2, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" ], [ %.sroa.62.i1.i.sroa.4.069, %72 ], [ %.sroa.62.i1.i.sroa.4.069, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" ] +"_ZN56_$LT$tt..Leaf$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17he45ce5b6dbbe78eaE.exit": ; preds = %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i", %69, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" + %.sroa.717.sroa.6.sroa.0.0 = phi i24 [ %.sroa.62.i1.i.sroa.0.2, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" ], [ %.sroa.717.sroa.6.0.extract.trunc, %69 ], [ %.sroa.62.i.i.sroa.0.2, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" ] + %.sroa.717.sroa.0.0 = phi i8 [ %.sroa.01.0.i5.i, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" ], [ %.sroa.717.sroa.0.0.extract.trunc, %69 ], [ %.sroa.01.0.i.i, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" ] + %.sroa.1321.2 = phi ptr [ %.sroa.73.0.i6.i, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" ], [ %81, %69 ], [ %.sroa.73.0.i.i, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" ] + %.sroa.17.sroa.7.sroa.0.2 = phi i24 [ %.sroa.17.sroa.7.0.extract.trunc, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" ], [ %.sroa.17.sroa.7.sroa.0.056, %69 ], [ %.sroa.17.sroa.7.0.extract.trunc26, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" ] + %.sroa.17.sroa.6.0 = phi i8 [ %.sroa.17.sroa.6.0.extract.trunc, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" ], [ %73, %69 ], [ %.sroa.17.sroa.6.0.extract.trunc24, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" ] + %.sroa.17.sroa.0.0 = phi i32 [ %.sroa.17.sroa.0.0.extract.trunc, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" ], [ %80, %69 ], [ %.sroa.17.sroa.0.0.extract.trunc22, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" ] + %.sroa.29.2 = phi i32 [ %102, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" ], [ %.sroa.29.057, %69 ], [ %68, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" ] + %.sroa.27.2 = phi i32 [ %100, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" ], [ %.sroa.27.058, %69 ], [ %66, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" ] + %.sroa.25.2 = phi i32 [ %98, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" ], [ %.sroa.25.059, %69 ], [ %64, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" ] + %.sroa.23.2 = phi i32 [ %96, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" ], [ %.sroa.23.060, %69 ], [ %62, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" ] + %.sroa.21.2 = phi i32 [ %.val.i.i9.i, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" ], [ %.sroa.21.061, %69 ], [ %.val.i.i.i, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" ] + %.sroa.1219.0 = phi i32 [ %.sroa.62.i1.i.sroa.4.2, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" ], [ %76, %69 ], [ %.sroa.62.i.i.sroa.4.2, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" ] + %.sroa.616.2 = phi i32 [ %.sroa.616.062, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" ], [ %71, %69 ], [ %.sroa.616.062, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" ] + %.sroa.62.i.i.sroa.0.3 = phi i24 [ %.sroa.62.i.i.sroa.0.066, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" ], [ %.sroa.62.i.i.sroa.0.066, %69 ], [ %.sroa.62.i.i.sroa.0.2, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" ] + %.sroa.62.i.i.sroa.4.3 = phi i32 [ %.sroa.62.i.i.sroa.4.067, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" ], [ %.sroa.62.i.i.sroa.4.067, %69 ], [ %.sroa.62.i.i.sroa.4.2, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" ] + %.sroa.62.i1.i.sroa.0.3 = phi i24 [ %.sroa.62.i1.i.sroa.0.2, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" ], [ %.sroa.62.i1.i.sroa.0.068, %69 ], [ %.sroa.62.i1.i.sroa.0.068, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" ] + %.sroa.62.i1.i.sroa.4.3 = phi i32 [ %.sroa.62.i1.i.sroa.4.2, %"_ZN57_$LT$tt..Ident$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hc99b6691da597a7bE.exit.i" ], [ %.sroa.62.i1.i.sroa.4.069, %69 ], [ %.sroa.62.i1.i.sroa.4.069, %"_ZN59_$LT$tt..Literal$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h915501922ceb95b7E.exit.i" ] %.sroa.717.sroa.6.0.insert.ext = zext i24 %.sroa.717.sroa.6.sroa.0.0 to i32 %.sroa.717.sroa.6.0.insert.shift = shl nuw i32 %.sroa.717.sroa.6.0.insert.ext, 8 %.sroa.717.sroa.0.0.insert.ext = zext i8 %.sroa.717.sroa.0.0 to i32 @@ -15299,12 +15301,12 @@ default.unreachable: ; preds = %85, %48, %46 %.sroa.17.sroa.0.0.insert.insert = or disjoint i64 %.sroa.17.sroa.6.0.insert.insert, %.sroa.17.sroa.0.0.insert.ext br label %"_ZN61_$LT$tt..TokenTree$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17ha31ac08f0de2527dE.exit.i" -109: ; preds = %40 +103: ; preds = %40 call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %3), !noalias !5342 invoke fastcc void @"_ZN59_$LT$tt..Subtree$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hcf046e2b0c33ab40E"(ptr noalias noundef align 8 captures(none) dereferenceable(64) %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(64) %.sroa.07.065) to label %.noexc.i unwind label %36, !noalias !5269 -.noexc.i: ; preds = %109 +.noexc.i: ; preds = %103 %.sroa.011.sroa.0.0.copyload = load i32, ptr %3, align 8, !noalias !5343 %.sroa.011.sroa.5.0.copyload = load i32, ptr %.sroa.011.sroa.5.0..sroa_idx, align 4, !noalias !5343 %.sroa.011.sroa.6.0.copyload = load i32, ptr %.sroa.011.sroa.6.0..sroa_idx, align 8, !noalias !5343 @@ -15347,60 +15349,60 @@ default.unreachable: ; preds = %85, %48, %46 %.sroa.62.i.i.sroa.4.1 = phi i32 [ %.sroa.62.i.i.sroa.4.3, %"_ZN56_$LT$tt..Leaf$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17he45ce5b6dbbe78eaE.exit" ], [ %.sroa.62.i.i.sroa.4.067, %.noexc.i ] %.sroa.62.i1.i.sroa.0.1 = phi i24 [ %.sroa.62.i1.i.sroa.0.3, %"_ZN56_$LT$tt..Leaf$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17he45ce5b6dbbe78eaE.exit" ], [ %.sroa.62.i1.i.sroa.0.068, %.noexc.i ] %.sroa.62.i1.i.sroa.4.1 = phi i32 [ %.sroa.62.i1.i.sroa.4.3, %"_ZN56_$LT$tt..Leaf$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17he45ce5b6dbbe78eaE.exit" ], [ %.sroa.62.i1.i.sroa.4.069, %.noexc.i ] - %110 = getelementptr inbounds nuw [0 x { [8 x i64] }], ptr %31, i64 0, i64 %.sroa.79.064 + %104 = getelementptr inbounds nuw [0 x { [8 x i64] }], ptr %31, i64 0, i64 %.sroa.79.064 call void @llvm.lifetime.start.p0(i64 7, ptr nonnull %.sroa.06.i.sroa.5) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.06.i.sroa.5, ptr noundef nonnull align 1 dereferenceable(7) %.sroa.614, i64 7, i1 false), !noalias !5272 - store i32 %.sroa.011.sroa.0.0, ptr %110, align 8, !noalias !5269 - %.sroa.06.i.sroa.0.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %110, i64 4 + store i32 %.sroa.011.sroa.0.0, ptr %104, align 8, !noalias !5269 + %.sroa.06.i.sroa.0.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %104, i64 4 store i32 %.sroa.011.sroa.5.0, ptr %.sroa.06.i.sroa.0.sroa.4.0..sroa_idx, align 4, !noalias !5269 - %.sroa.06.i.sroa.0.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %110, i64 8 + %.sroa.06.i.sroa.0.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %104, i64 8 store i32 %.sroa.011.sroa.6.0, ptr %.sroa.06.i.sroa.0.sroa.5.0..sroa_idx, align 8, !noalias !5269 - %.sroa.06.i.sroa.0.sroa.6.0..sroa_idx = getelementptr inbounds nuw i8, ptr %110, i64 12 + %.sroa.06.i.sroa.0.sroa.6.0..sroa_idx = getelementptr inbounds nuw i8, ptr %104, i64 12 store i32 %.sroa.011.sroa.7.0, ptr %.sroa.06.i.sroa.0.sroa.6.0..sroa_idx, align 4, !noalias !5269 - %.sroa.06.i.sroa.0.sroa.7.0..sroa_idx = getelementptr inbounds nuw i8, ptr %110, i64 16 + %.sroa.06.i.sroa.0.sroa.7.0..sroa_idx = getelementptr inbounds nuw i8, ptr %104, i64 16 store ptr %.sroa.011.sroa.8.0, ptr %.sroa.06.i.sroa.0.sroa.7.0..sroa_idx, align 8, !noalias !5269 - %.sroa.06.i.sroa.0.sroa.8.0..sroa_idx = getelementptr inbounds nuw i8, ptr %110, i64 24 + %.sroa.06.i.sroa.0.sroa.8.0..sroa_idx = getelementptr inbounds nuw i8, ptr %104, i64 24 store i64 %.sroa.011.sroa.9.0, ptr %.sroa.06.i.sroa.0.sroa.8.0..sroa_idx, align 8, !noalias !5269 - %.sroa.06.i.sroa.0.sroa.9.0..sroa_idx = getelementptr inbounds nuw i8, ptr %110, i64 32 + %.sroa.06.i.sroa.0.sroa.9.0..sroa_idx = getelementptr inbounds nuw i8, ptr %104, i64 32 store i32 %.sroa.011.sroa.10.0, ptr %.sroa.06.i.sroa.0.sroa.9.0..sroa_idx, align 8, !noalias !5269 - %.sroa.06.i.sroa.0.sroa.10.0..sroa_idx = getelementptr inbounds nuw i8, ptr %110, i64 36 + %.sroa.06.i.sroa.0.sroa.10.0..sroa_idx = getelementptr inbounds nuw i8, ptr %104, i64 36 store i32 %.sroa.011.sroa.11.0, ptr %.sroa.06.i.sroa.0.sroa.10.0..sroa_idx, align 4, !noalias !5269 - %.sroa.06.i.sroa.0.sroa.11.0..sroa_idx = getelementptr inbounds nuw i8, ptr %110, i64 40 + %.sroa.06.i.sroa.0.sroa.11.0..sroa_idx = getelementptr inbounds nuw i8, ptr %104, i64 40 store i32 %.sroa.011.sroa.12.0, ptr %.sroa.06.i.sroa.0.sroa.11.0..sroa_idx, align 8, !noalias !5269 - %.sroa.06.i.sroa.0.sroa.12.0..sroa_idx = getelementptr inbounds nuw i8, ptr %110, i64 44 + %.sroa.06.i.sroa.0.sroa.12.0..sroa_idx = getelementptr inbounds nuw i8, ptr %104, i64 44 store i32 %.sroa.011.sroa.13.0, ptr %.sroa.06.i.sroa.0.sroa.12.0..sroa_idx, align 4, !noalias !5269 - %.sroa.06.i.sroa.0.sroa.13.0..sroa_idx = getelementptr inbounds nuw i8, ptr %110, i64 48 + %.sroa.06.i.sroa.0.sroa.13.0..sroa_idx = getelementptr inbounds nuw i8, ptr %104, i64 48 store i32 %.sroa.011.sroa.14.0, ptr %.sroa.06.i.sroa.0.sroa.13.0..sroa_idx, align 8, !noalias !5269 - %.sroa.06.i.sroa.0.sroa.14.0..sroa_idx = getelementptr inbounds nuw i8, ptr %110, i64 52 + %.sroa.06.i.sroa.0.sroa.14.0..sroa_idx = getelementptr inbounds nuw i8, ptr %104, i64 52 store i32 %.sroa.011.sroa.15.0, ptr %.sroa.06.i.sroa.0.sroa.14.0..sroa_idx, align 4, !noalias !5269 - %.sroa.06.i.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %110, i64 56 + %.sroa.06.i.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %104, i64 56 store i8 %.sroa.512.0, ptr %.sroa.06.i.sroa.4.0..sroa_idx, align 8, !noalias !5269 - %.sroa.06.i.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %110, i64 57 + %.sroa.06.i.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %104, i64 57 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.06.i.sroa.5.0..sroa_idx, ptr noundef nonnull align 1 dereferenceable(7) %.sroa.06.i.sroa.5, i64 7, i1 false), !noalias !5269 call void @llvm.lifetime.end.p0(i64 7, ptr nonnull %.sroa.06.i.sroa.5) call void @llvm.lifetime.end.p0(i64 7, ptr nonnull %.sroa.614) - %111 = icmp eq i64 %38, 0 - br i1 %111, label %"_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6to_vec17hce2274acbdeb6ad0E.exit", label %37 + %105 = icmp eq i64 %38, 0 + br i1 %105, label %"_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6to_vec17hce2274acbdeb6ad0E.exit", label %37 -112: ; preds = %36 - %113 = landingpad { ptr, i32 } +106: ; preds = %36 + %107 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17hbacfddf1bcf21a1eE() #58, !noalias !5276 unreachable -114: ; preds = %36 +108: ; preds = %36 resume { ptr, i32 } %lpad.loopexit "_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6to_vec17hce2274acbdeb6ad0E.exit": ; preds = %"_ZN61_$LT$tt..TokenTree$LT$S$GT$$u20$as$u20$core..clone..Clone$GT$5clone17ha31ac08f0de2527dE.exit.i", %37, %2 store i64 %28, ptr %33, align 8, !noalias !5272 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %4, i64 24, i1 false), !noalias !5344 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !5272 - %115 = call { ptr, i64 } @"_ZN5alloc3vec16Vec$LT$T$C$A$GT$16into_boxed_slice17hefcb44bf1240c632E"(ptr noalias noundef nonnull align 8 captures(none) dereferenceable(24) %5), !noalias !5269 + %109 = call { ptr, i64 } @"_ZN5alloc3vec16Vec$LT$T$C$A$GT$16into_boxed_slice17hefcb44bf1240c632E"(ptr noalias noundef nonnull align 8 captures(none) dereferenceable(24) %5), !noalias !5269 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5), !noalias !5269 - %116 = extractvalue { ptr, i64 } %115, 0 - %117 = extractvalue { ptr, i64 } %115, 1 - %118 = getelementptr inbounds nuw i8, ptr %0, i64 16 - store i32 %.val.i.i, ptr %118, align 8 + %110 = extractvalue { ptr, i64 } %109, 0 + %111 = extractvalue { ptr, i64 } %109, 1 + %112 = getelementptr inbounds nuw i8, ptr %0, i64 16 + store i32 %.val.i.i, ptr %112, align 8 %.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 20 store i32 %8, ptr %.sroa.4.0..sroa_idx, align 4 %.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 24 @@ -15423,9 +15425,9 @@ default.unreachable: ; preds = %85, %48, %46 store i8 %25, ptr %.sroa.13.0..sroa_idx, align 8 %.sroa.14.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 57 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(3) %.sroa.14.0..sroa_idx, ptr noundef nonnull align 1 dereferenceable(3) %.sroa.14, i64 3, i1 false) - store ptr %116, ptr %0, align 8 - %119 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store i64 %117, ptr %119, align 8 + store ptr %110, ptr %0, align 8 + %113 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store i64 %111, ptr %113, align 8 call void @llvm.lifetime.end.p0(i64 3, ptr nonnull %.sroa.14) ret void } @@ -29904,14 +29906,14 @@ default.unreachable: ; preds = %56, %34, %89 %103 = getelementptr inbounds nuw i8, ptr %.sroa.014.032.i.i.i.i, i64 1 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.6.i.i.i.i.i, ptr noundef nonnull readonly align 1 dereferenceable(7) %103, i64 7, i1 false), !alias.scope !8214, !noalias !8199 %.sroa.8.1..sroa_idx.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %.sroa.014.032.i.i.i.i, i64 8 - %.sroa.8.1.copyload.i.i.i.i.i = load i64, ptr %.sroa.8.1..sroa_idx.i.i.i.i.i, align 1, !alias.scope !8215, !noalias !8199 + %.sroa.8.1.copyload.i.i.i.i.i = load i64, ptr %.sroa.8.1..sroa_idx.i.i.i.i.i, align 8, !alias.scope !8215, !noalias !8199 br label %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.llvm.15602210471604820194.exit.i.i.i.i.i" "_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.llvm.15602210471604820194.exit.i.i.i.i.i": ; preds = %102, %98, %"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h52f29eab81cb3722E.llvm.15602210471604820194.exit.i.i.i.i.i.i" %.sroa.8.0.i.i.i.i.i = phi i64 [ %.sroa.8.1.copyload.i.i.i.i.i, %102 ], [ %101, %98 ], [ %97, %"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h52f29eab81cb3722E.llvm.15602210471604820194.exit.i.i.i.i.i.i" ] %.sroa.0.011.i.i.i.i.i = phi i8 [ %87, %102 ], [ 25, %98 ], [ 24, %"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h52f29eab81cb3722E.llvm.15602210471604820194.exit.i.i.i.i.i.i" ] %.sroa.11.0.in.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %.sroa.014.032.i.i.i.i, i64 16 - %.sroa.11.0.i.i.i.i.i = load i64, ptr %.sroa.11.0.in.i.i.i.i.i, align 1, !alias.scope !8215, !noalias !8199 + %.sroa.11.0.i.i.i.i.i = load i64, ptr %.sroa.11.0.in.i.i.i.i.i, align 8, !alias.scope !8215, !noalias !8199 br label %107 104: ; preds = %84 @@ -36956,7 +36958,7 @@ _ZN7hir_def4path4Path8from_src17he8a91fcf1e7b430cE.exit: ; preds = %595 call void @llvm.experimental.noalias.scope.decl(metadata !9762) call void @llvm.experimental.noalias.scope.decl(metadata !9765) call void @llvm.lifetime.start.p0(i64 7, ptr nonnull %.sroa.6.i.i.i.i) - %725 = load i8, ptr %724, align 8, !range !22, !alias.scope !9767, !noalias !9768, !noundef !13 + %725 = load i8, ptr %724, align 16, !range !22, !alias.scope !9767, !noalias !9768, !noundef !13 %726 = icmp eq i8 %725, 26 br i1 %726, label %742, label %727 @@ -37000,14 +37002,14 @@ default.unreachable: ; preds = %727 %741 = getelementptr inbounds nuw i8, ptr %.sroa.013.040.i.i, i64 65 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.6.i.i.i.i, ptr noundef nonnull readonly align 1 dereferenceable(7) %741, i64 7, i1 false), !alias.scope !9781, !noalias !9768 %.sroa.8.1..sroa_idx.i.i.i.i = getelementptr inbounds nuw i8, ptr %.sroa.013.040.i.i, i64 72 - %.sroa.8.1.copyload.i.i.i.i = load i64, ptr %.sroa.8.1..sroa_idx.i.i.i.i, align 1, !alias.scope !9782, !noalias !9768 + %.sroa.8.1.copyload.i.i.i.i = load i64, ptr %.sroa.8.1..sroa_idx.i.i.i.i, align 8, !alias.scope !9782, !noalias !9768 br label %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.llvm.15602210471604820194.exit.i.i.i.i" "_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.llvm.15602210471604820194.exit.i.i.i.i": ; preds = %740, %736, %"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h52f29eab81cb3722E.llvm.15602210471604820194.exit.i.i.i.i.i" %.sroa.8.0.i.i.i.i = phi i64 [ %.sroa.8.1.copyload.i.i.i.i, %740 ], [ %739, %736 ], [ %735, %"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h52f29eab81cb3722E.llvm.15602210471604820194.exit.i.i.i.i.i" ] %.sroa.0.011.i.i.i.i = phi i8 [ %725, %740 ], [ 25, %736 ], [ 24, %"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h52f29eab81cb3722E.llvm.15602210471604820194.exit.i.i.i.i.i" ] %.sroa.11.0.in.i.i.i.i = getelementptr inbounds nuw i8, ptr %.sroa.013.040.i.i, i64 80 - %.sroa.11.0.i.i.i.i = load i64, ptr %.sroa.11.0.in.i.i.i.i, align 1, !alias.scope !9782, !noalias !9768 + %.sroa.11.0.i.i.i.i = load i64, ptr %.sroa.11.0.in.i.i.i.i, align 16, !alias.scope !9782, !noalias !9768 br label %"_ZN61_$LT$hir_expand..name..Name$u20$as$u20$core..clone..Clone$GT$5clone17h47d2409d10821434E.llvm.15602210471604820194.exit.i.i.i" 742: ; preds = %721 @@ -49281,14 +49283,14 @@ default.unreachable: ; preds = %45 %59 = getelementptr inbounds nuw i8, ptr %.sroa.014.032.i, i64 1 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.6.i.i, ptr noundef nonnull readonly align 1 dereferenceable(7) %59, i64 7, i1 false), !alias.scope !12893, !noalias !12878 %.sroa.8.1..sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %.sroa.014.032.i, i64 8 - %.sroa.8.1.copyload.i.i = load i64, ptr %.sroa.8.1..sroa_idx.i.i, align 1, !alias.scope !12894, !noalias !12878 + %.sroa.8.1.copyload.i.i = load i64, ptr %.sroa.8.1..sroa_idx.i.i, align 8, !alias.scope !12894, !noalias !12878 br label %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.llvm.15602210471604820194.exit.i.i" "_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.llvm.15602210471604820194.exit.i.i": ; preds = %58, %54, %"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h52f29eab81cb3722E.llvm.15602210471604820194.exit.i.i.i" %.sroa.8.0.i.i = phi i64 [ %.sroa.8.1.copyload.i.i, %58 ], [ %57, %54 ], [ %53, %"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h52f29eab81cb3722E.llvm.15602210471604820194.exit.i.i.i" ] %.sroa.0.011.i.i = phi i8 [ %43, %58 ], [ 25, %54 ], [ 24, %"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h52f29eab81cb3722E.llvm.15602210471604820194.exit.i.i.i" ] %.sroa.11.0.in.i.i = getelementptr inbounds nuw i8, ptr %.sroa.014.032.i, i64 16 - %.sroa.11.0.i.i = load i64, ptr %.sroa.11.0.in.i.i, align 1, !alias.scope !12894, !noalias !12878 + %.sroa.11.0.i.i = load i64, ptr %.sroa.11.0.in.i.i, align 8, !alias.scope !12894, !noalias !12878 br label %63 60: ; preds = %40 @@ -67304,7 +67306,7 @@ define hidden void @"_ZN69_$LT$hir_def..hir..type_ref..ConstRef$u20$as$u20$core. %.sroa.0.070.i.i.i.i = phi ptr [ %27, %.lr.ph.i.i.i.i ], [ %4, %20 ] %.sroa.11.069.i.i.i.i = phi i64 [ %26, %.lr.ph.i.i.i.i ], [ 16, %20 ] %.068.i.i.i.i = phi i64 [ %25, %.lr.ph.i.i.i.i ], [ %19, %20 ] - %.val.i.i.i.i.i.i = load i64, ptr %.sroa.0.070.i.i.i.i, align 1, !alias.scope !17429, !noalias !17434 + %.val.i.i.i.i.i.i = load i64, ptr %.sroa.0.070.i.i.i.i, align 8, !alias.scope !17429, !noalias !17434 %23 = tail call i64 @llvm.fshl.i64(i64 %.068.i.i.i.i, i64 %.068.i.i.i.i, i64 5) %24 = xor i64 %.val.i.i.i.i.i.i, %23 %25 = mul i64 %24, 5871781006564002453 @@ -67332,7 +67334,7 @@ _ZN4core4hash6Hasher10write_i12817h555123d78cbff2c2E.exit.i: ; preds = %.lr.ph.i %.sroa.0.070.i.i.i = phi ptr [ %35, %.lr.ph.i.i.i ], [ %3, %28 ] %.sroa.11.069.i.i.i = phi i64 [ %34, %.lr.ph.i.i.i ], [ 16, %28 ] %.068.i.i.i = phi i64 [ %33, %.lr.ph.i.i.i ], [ %19, %28 ] - %.val.i.i.i.i.i = load i64, ptr %.sroa.0.070.i.i.i, align 1, !alias.scope !17447, !noalias !17452 + %.val.i.i.i.i.i = load i64, ptr %.sroa.0.070.i.i.i, align 8, !alias.scope !17447, !noalias !17452 %31 = tail call i64 @llvm.fshl.i64(i64 %.068.i.i.i, i64 %.068.i.i.i, i64 5) %32 = xor i64 %.val.i.i.i.i.i, %31 %33 = mul i64 %32, 5871781006564002453 @@ -67557,7 +67559,7 @@ define hidden void @"_ZN76_$LT$hir_def..hir..type_ref..LiteralConstRef$u20$as$u2 %.sroa.0.070.i.i.i = phi ptr [ %19, %.lr.ph.i.i.i ], [ %4, %12 ] %.sroa.11.069.i.i.i = phi i64 [ %18, %.lr.ph.i.i.i ], [ 16, %12 ] %.068.i.i.i = phi i64 [ %17, %.lr.ph.i.i.i ], [ %10, %12 ] - %.val.i.i.i.i.i = load i64, ptr %.sroa.0.070.i.i.i, align 1, !alias.scope !17516, !noalias !17521 + %.val.i.i.i.i.i = load i64, ptr %.sroa.0.070.i.i.i, align 8, !alias.scope !17516, !noalias !17521 %15 = tail call i64 @llvm.fshl.i64(i64 %.068.i.i.i, i64 %.068.i.i.i, i64 5) %16 = xor i64 %.val.i.i.i.i.i, %15 %17 = mul i64 %16, 5871781006564002453 @@ -67585,7 +67587,7 @@ _ZN4core4hash6Hasher10write_i12817h555123d78cbff2c2E.exit: ; preds = %.lr.ph.i.i %.sroa.0.070.i.i = phi ptr [ %27, %.lr.ph.i.i ], [ %3, %20 ] %.sroa.11.069.i.i = phi i64 [ %26, %.lr.ph.i.i ], [ 16, %20 ] %.068.i.i = phi i64 [ %25, %.lr.ph.i.i ], [ %10, %20 ] - %.val.i.i.i.i = load i64, ptr %.sroa.0.070.i.i, align 1, !alias.scope !17532, !noalias !17537 + %.val.i.i.i.i = load i64, ptr %.sroa.0.070.i.i, align 8, !alias.scope !17532, !noalias !17537 %23 = tail call i64 @llvm.fshl.i64(i64 %.068.i.i, i64 %.068.i.i, i64 5) %24 = xor i64 %.val.i.i.i.i, %23 %25 = mul i64 %24, 5871781006564002453 diff --git a/bench/rust-analyzer-rs/optimized/84mgk0fwp2eksq1.ll b/bench/rust-analyzer-rs/optimized/84mgk0fwp2eksq1.ll index 91dd5889ad7..d26c55c88a6 100644 --- a/bench/rust-analyzer-rs/optimized/84mgk0fwp2eksq1.ll +++ b/bench/rust-analyzer-rs/optimized/84mgk0fwp2eksq1.ll @@ -10834,9 +10834,9 @@ define hidden void @"_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6t switch i8 %narrow.i, label %24 [ i8 0, label %"_ZN61_$LT$cfg..cfg_expr..CfgExpr$u20$as$u20$core..clone..Clone$GT$5clone17h67645bf403a59871E.exit" i8 1, label %25 - i8 2, label %75 - i8 3, label %76 - i8 4, label %77 + i8 2, label %70 + i8 3, label %71 + i8 4, label %72 ] 24: ; preds = %17 @@ -10888,9 +10888,9 @@ default.unreachable: ; preds = %"_ZN53_$LT$smol_str %42 = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 1 %.sroa.617.i.sroa.0.0.copyload = load i56, ptr %42, align 1, !alias.scope !3360, !noalias !3361 %.sroa.718.1..sroa_idx.i = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 8 - %.sroa.718.1.copyload.i = load ptr, ptr %.sroa.718.1..sroa_idx.i, align 1, !alias.scope !3362, !noalias !3361 + %.sroa.718.1.copyload.i = load ptr, ptr %.sroa.718.1..sroa_idx.i, align 8, !alias.scope !3362, !noalias !3361 %.sroa.919.1..sroa_idx.i = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 16 - %.sroa.919.1.copyload.i = load i64, ptr %.sroa.919.1..sroa_idx.i, align 1, !alias.scope !3362, !noalias !3361 + %.sroa.919.1.copyload.i = load i64, ptr %.sroa.919.1..sroa_idx.i, align 8, !alias.scope !3362, !noalias !3361 %43 = zext nneg i8 %28 to i64 br label %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit.i" @@ -10940,9 +10940,9 @@ default.unreachable: ; preds = %"_ZN53_$LT$smol_str %59 = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 1 %.sroa.6.i.sroa.0.0.copyload = load i56, ptr %59, align 1, !alias.scope !3371, !noalias !3361 %.sroa.7.1..sroa_idx.i = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 8 - %.sroa.7.1.copyload.i = load ptr, ptr %.sroa.7.1..sroa_idx.i, align 1, !alias.scope !3372, !noalias !3361 + %.sroa.7.1.copyload.i = load ptr, ptr %.sroa.7.1..sroa_idx.i, align 8, !alias.scope !3372, !noalias !3361 %.sroa.9.1..sroa_idx.i = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 16 - %.sroa.9.1.copyload.i = load i64, ptr %.sroa.9.1..sroa_idx.i, align 1, !alias.scope !3372, !noalias !3361 + %.sroa.9.1.copyload.i = load i64, ptr %.sroa.9.1..sroa_idx.i, align 8, !alias.scope !3372, !noalias !3361 %60 = zext nneg i8 %45 to i64 br label %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit8.i" @@ -10957,8 +10957,8 @@ default.unreachable: ; preds = %"_ZN53_$LT$smol_str %narrow.i9.i = tail call i8 @llvm.umin.i8(i8 %61, i8 2) switch i8 %narrow.i9.i, label %default.unreachable [ i8 0, label %62 - i8 1, label %68 - i8 2, label %73 + i8 1, label %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit14.i.sink.split" + i8 2, label %68 ] 62: ; preds = %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit8.i" @@ -10975,25 +10975,22 @@ default.unreachable: ; preds = %"_ZN53_$LT$smol_str unreachable 68: ; preds = %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit8.i" - %69 = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 32 - %70 = load ptr, ptr %69, align 8, !alias.scope !3378, !noalias !3379, !nonnull !23, !align !395, !noundef !23 - %71 = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 40 - %72 = load i64, ptr %71, align 8, !alias.scope !3378, !noalias !3379, !noundef !23 - br label %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit14.i" + %69 = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 25 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.620.i, ptr noundef nonnull readonly align 1 dereferenceable(7) %69, i64 7, i1 false), !alias.scope !3381, !noalias !3361 + br label %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit14.i.sink.split" -73: ; preds = %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit8.i" - %74 = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 25 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.620.i, ptr noundef nonnull readonly align 1 dereferenceable(7) %74, i64 7, i1 false), !alias.scope !3381, !noalias !3361 +"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit14.i.sink.split": ; preds = %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit8.i", %68 + %.sroa.0.0.i15.ph = phi i8 [ %21, %68 ], [ 25, %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit8.i" ] %.sroa.721.1..sroa_idx.i = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 32 - %.sroa.721.1.copyload.i = load ptr, ptr %.sroa.721.1..sroa_idx.i, align 1, !alias.scope !3382, !noalias !3361 + %.sroa.721.1.copyload.i = load ptr, ptr %.sroa.721.1..sroa_idx.i, align 8, !alias.scope !3382, !noalias !3361 %.sroa.922.1..sroa_idx.i = getelementptr inbounds nuw i8, ptr %.sroa.016.071, i64 40 - %.sroa.922.1.copyload.i = load i64, ptr %.sroa.922.1..sroa_idx.i, align 1, !alias.scope !3382, !noalias !3361 + %.sroa.922.1.copyload.i = load i64, ptr %.sroa.922.1..sroa_idx.i, align 8, !alias.scope !3382, !noalias !3361 br label %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit14.i" -"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit14.i": ; preds = %73, %68, %62 - %.sroa.0.0.i15 = phi i8 [ %21, %73 ], [ 25, %68 ], [ 24, %62 ] - %.sroa.721.0.i = phi ptr [ %.sroa.721.1.copyload.i, %73 ], [ %70, %68 ], [ %.val.i10.i, %62 ] - %.sroa.922.0.i = phi i64 [ %.sroa.922.1.copyload.i, %73 ], [ %72, %68 ], [ %.val1.i11.i, %62 ] +"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit14.i": ; preds = %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit14.i.sink.split", %62 + %.sroa.0.0.i15 = phi i8 [ 24, %62 ], [ %.sroa.0.0.i15.ph, %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit14.i.sink.split" ] + %.sroa.721.0.i = phi ptr [ %.val.i10.i, %62 ], [ %.sroa.721.1.copyload.i, %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit14.i.sink.split" ] + %.sroa.922.0.i = phi i64 [ %.val1.i11.i, %62 ], [ %.sroa.922.1.copyload.i, %"_ZN53_$LT$smol_str..Repr$u20$as$u20$core..clone..Clone$GT$5clone17h618261f33d488897E.exit14.i.sink.split" ] %.sroa.026.1.insert.ext = zext i56 %.sroa.6.i.sroa.0.2 to i64 %.sroa.026.1.insert.shift = shl nuw i64 %.sroa.026.1.insert.ext, 8 %.sroa.026.1.insert.insert = or disjoint i64 %.sroa.015.0.i, %.sroa.026.1.insert.shift @@ -11015,80 +11012,80 @@ default.unreachable: ; preds = %"_ZN53_$LT$smol_str call void @llvm.lifetime.end.p0(i64 7, ptr nonnull %.sroa.15) br label %"_ZN61_$LT$cfg..cfg_expr..CfgExpr$u20$as$u20$core..clone..Clone$GT$5clone17h67645bf403a59871E.exit" -75: ; preds = %17 +70: ; preds = %17 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5), !noalias !3384 invoke void @"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hdfb823582d2dcb62E"(ptr noalias noundef nonnull sret({ { i64, ptr, {} }, i64 }) align 8 captures(none) dereferenceable(24) %5, ptr noalias noundef nonnull readonly align 8 dereferenceable(48) %.sroa.016.071) - to label %.noexc unwind label %83 + to label %.noexc unwind label %78 -.noexc: ; preds = %75 +.noexc: ; preds = %70 %.sroa.017.0.copyload20 = load ptr, ptr %5, align 8, !noalias !3341 %.sroa.721.sroa.0.0.copyload39 = load ptr, ptr %.sroa.721.0..sroa_idx23, align 8, !noalias !3341 %.sroa.721.sroa.6.0.copyload41 = load i64, ptr %.sroa.721.sroa.6.0..sroa.721.0..sroa_idx23.sroa_idx, align 8, !noalias !3341 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5), !noalias !3384 br label %"_ZN61_$LT$cfg..cfg_expr..CfgExpr$u20$as$u20$core..clone..Clone$GT$5clone17h67645bf403a59871E.exit" -76: ; preds = %17 +71: ; preds = %17 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !3384 invoke void @"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hdfb823582d2dcb62E"(ptr noalias noundef nonnull sret({ { i64, ptr, {} }, i64 }) align 8 captures(none) dereferenceable(24) %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(48) %.sroa.016.071) - to label %.noexc13 unwind label %83 + to label %.noexc13 unwind label %78 -.noexc13: ; preds = %76 +.noexc13: ; preds = %71 %.sroa.017.0.copyload19 = load ptr, ptr %4, align 8, !noalias !3341 %.sroa.721.sroa.0.0.copyload = load ptr, ptr %.sroa.721.0..sroa_idx22, align 8, !noalias !3341 %.sroa.721.sroa.6.0.copyload = load i64, ptr %.sroa.721.sroa.6.0..sroa.721.0..sroa_idx22.sroa_idx, align 8, !noalias !3341 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !3384 br label %"_ZN61_$LT$cfg..cfg_expr..CfgExpr$u20$as$u20$core..clone..Clone$GT$5clone17h67645bf403a59871E.exit" -77: ; preds = %17 - %78 = invoke fastcc noundef nonnull align 8 ptr @"_ZN69_$LT$alloc..boxed..Box$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h1d969d89fe587b73E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(48) %.sroa.016.071) - to label %"_ZN61_$LT$cfg..cfg_expr..CfgExpr$u20$as$u20$core..clone..Clone$GT$5clone17h67645bf403a59871E.exit" unwind label %83 - -"_ZN61_$LT$cfg..cfg_expr..CfgExpr$u20$as$u20$core..clone..Clone$GT$5clone17h67645bf403a59871E.exit": ; preds = %.noexc13, %.noexc, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit", %17, %77 - %.sroa.18.1 = phi i64 [ %.sroa.18.061, %.noexc13 ], [ %.sroa.18.061, %.noexc ], [ %.sroa.18.2, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.18.061, %17 ], [ %.sroa.18.061, %77 ] - %.sroa.17.1 = phi ptr [ %.sroa.17.062, %.noexc13 ], [ %.sroa.17.062, %.noexc ], [ %.sroa.17.2, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.17.062, %17 ], [ %.sroa.17.062, %77 ] - %.sroa.11.sroa.4.1 = phi ptr [ %.sroa.11.sroa.4.063, %.noexc13 ], [ %.sroa.11.sroa.4.063, %.noexc ], [ %.sroa.17.2, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.11.sroa.4.063, %17 ], [ %.sroa.11.sroa.4.063, %77 ] - %.sroa.11.sroa.5.1 = phi i64 [ %.sroa.11.sroa.5.064, %.noexc13 ], [ %.sroa.11.sroa.5.064, %.noexc ], [ %.sroa.18.2, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.11.sroa.5.064, %17 ], [ %.sroa.11.sroa.5.064, %77 ] - %.sroa.721.sroa.0.1 = phi ptr [ %.sroa.721.sroa.0.0.copyload, %.noexc13 ], [ %.sroa.721.sroa.0.0.copyload39, %.noexc ], [ %.sroa.737.0, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.721.sroa.0.065, %17 ], [ %.sroa.721.sroa.0.065, %77 ] - %.sroa.721.sroa.6.1 = phi i64 [ %.sroa.721.sroa.6.0.copyload, %.noexc13 ], [ %.sroa.721.sroa.6.0.copyload41, %.noexc ], [ %.sroa.1038.0, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.721.sroa.6.066, %17 ], [ %.sroa.721.sroa.6.066, %77 ] - %.sroa.724.0 = phi i8 [ 30, %.noexc13 ], [ 29, %.noexc ], [ %.sroa.12.0, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ 27, %17 ], [ 31, %77 ] - %.sroa.017.1 = phi ptr [ %.sroa.017.0.copyload19, %.noexc13 ], [ %.sroa.017.0.copyload20, %.noexc ], [ %.sroa.026.2, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.017.067, %17 ], [ %78, %77 ] - %.sroa.6.i.sroa.0.1 = phi i56 [ %.sroa.6.i.sroa.0.070, %.noexc13 ], [ %.sroa.6.i.sroa.0.070, %.noexc ], [ %.sroa.6.i.sroa.0.3, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.6.i.sroa.0.070, %17 ], [ %.sroa.6.i.sroa.0.070, %77 ] - %.sroa.617.i.sroa.0.1 = phi i56 [ %.sroa.617.i.sroa.0.072, %.noexc13 ], [ %.sroa.617.i.sroa.0.072, %.noexc ], [ %.sroa.617.i.sroa.0.3, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.617.i.sroa.0.072, %17 ], [ %.sroa.617.i.sroa.0.072, %77 ] - %79 = getelementptr inbounds nuw [0 x { [6 x i64] }], ptr %9, i64 0, i64 %.sroa.7.069 +72: ; preds = %17 + %73 = invoke fastcc noundef nonnull align 8 ptr @"_ZN69_$LT$alloc..boxed..Box$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h1d969d89fe587b73E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(48) %.sroa.016.071) + to label %"_ZN61_$LT$cfg..cfg_expr..CfgExpr$u20$as$u20$core..clone..Clone$GT$5clone17h67645bf403a59871E.exit" unwind label %78 + +"_ZN61_$LT$cfg..cfg_expr..CfgExpr$u20$as$u20$core..clone..Clone$GT$5clone17h67645bf403a59871E.exit": ; preds = %.noexc13, %.noexc, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit", %17, %72 + %.sroa.18.1 = phi i64 [ %.sroa.18.061, %.noexc13 ], [ %.sroa.18.061, %.noexc ], [ %.sroa.18.2, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.18.061, %17 ], [ %.sroa.18.061, %72 ] + %.sroa.17.1 = phi ptr [ %.sroa.17.062, %.noexc13 ], [ %.sroa.17.062, %.noexc ], [ %.sroa.17.2, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.17.062, %17 ], [ %.sroa.17.062, %72 ] + %.sroa.11.sroa.4.1 = phi ptr [ %.sroa.11.sroa.4.063, %.noexc13 ], [ %.sroa.11.sroa.4.063, %.noexc ], [ %.sroa.17.2, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.11.sroa.4.063, %17 ], [ %.sroa.11.sroa.4.063, %72 ] + %.sroa.11.sroa.5.1 = phi i64 [ %.sroa.11.sroa.5.064, %.noexc13 ], [ %.sroa.11.sroa.5.064, %.noexc ], [ %.sroa.18.2, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.11.sroa.5.064, %17 ], [ %.sroa.11.sroa.5.064, %72 ] + %.sroa.721.sroa.0.1 = phi ptr [ %.sroa.721.sroa.0.0.copyload, %.noexc13 ], [ %.sroa.721.sroa.0.0.copyload39, %.noexc ], [ %.sroa.737.0, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.721.sroa.0.065, %17 ], [ %.sroa.721.sroa.0.065, %72 ] + %.sroa.721.sroa.6.1 = phi i64 [ %.sroa.721.sroa.6.0.copyload, %.noexc13 ], [ %.sroa.721.sroa.6.0.copyload41, %.noexc ], [ %.sroa.1038.0, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.721.sroa.6.066, %17 ], [ %.sroa.721.sroa.6.066, %72 ] + %.sroa.724.0 = phi i8 [ 30, %.noexc13 ], [ 29, %.noexc ], [ %.sroa.12.0, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ 27, %17 ], [ 31, %72 ] + %.sroa.017.1 = phi ptr [ %.sroa.017.0.copyload19, %.noexc13 ], [ %.sroa.017.0.copyload20, %.noexc ], [ %.sroa.026.2, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.017.067, %17 ], [ %73, %72 ] + %.sroa.6.i.sroa.0.1 = phi i56 [ %.sroa.6.i.sroa.0.070, %.noexc13 ], [ %.sroa.6.i.sroa.0.070, %.noexc ], [ %.sroa.6.i.sroa.0.3, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.6.i.sroa.0.070, %17 ], [ %.sroa.6.i.sroa.0.070, %72 ] + %.sroa.617.i.sroa.0.1 = phi i56 [ %.sroa.617.i.sroa.0.072, %.noexc13 ], [ %.sroa.617.i.sroa.0.072, %.noexc ], [ %.sroa.617.i.sroa.0.3, %"_ZN61_$LT$cfg..cfg_expr..CfgAtom$u20$as$u20$core..clone..Clone$GT$5clone17h7a4a4c235f7e6035E.exit" ], [ %.sroa.617.i.sroa.0.072, %17 ], [ %.sroa.617.i.sroa.0.072, %72 ] + %74 = getelementptr inbounds nuw [0 x { [6 x i64] }], ptr %9, i64 0, i64 %.sroa.7.069 call void @llvm.lifetime.start.p0(i64 7, ptr nonnull %.sroa.06.sroa.6.sroa.0) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.06.sroa.6.sroa.0, ptr noundef nonnull align 1 dereferenceable(7) %.sroa.11.sroa.0, i64 7, i1 false) - store ptr %.sroa.017.1, ptr %79, align 8 - %.sroa.06.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %79, i64 8 + store ptr %.sroa.017.1, ptr %74, align 8 + %.sroa.06.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %74, i64 8 store ptr %.sroa.721.sroa.0.1, ptr %.sroa.06.sroa.4.0..sroa_idx, align 8 - %.sroa.06.sroa.4.sroa.4.0..sroa.06.sroa.4.0..sroa_idx.sroa_idx = getelementptr inbounds nuw i8, ptr %79, i64 16 + %.sroa.06.sroa.4.sroa.4.0..sroa.06.sroa.4.0..sroa_idx.sroa_idx = getelementptr inbounds nuw i8, ptr %74, i64 16 store i64 %.sroa.721.sroa.6.1, ptr %.sroa.06.sroa.4.sroa.4.0..sroa.06.sroa.4.0..sroa_idx.sroa_idx, align 8 - %.sroa.06.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %79, i64 24 + %.sroa.06.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %74, i64 24 store i8 %.sroa.724.0, ptr %.sroa.06.sroa.5.0..sroa_idx, align 8 - %.sroa.06.sroa.6.0..sroa_idx = getelementptr inbounds nuw i8, ptr %79, i64 25 + %.sroa.06.sroa.6.0..sroa_idx = getelementptr inbounds nuw i8, ptr %74, i64 25 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.06.sroa.6.0..sroa_idx, ptr noundef nonnull align 1 dereferenceable(7) %.sroa.06.sroa.6.sroa.0, i64 7, i1 false) - %.sroa.06.sroa.6.sroa.4.0..sroa.06.sroa.6.0..sroa_idx.sroa_idx = getelementptr inbounds nuw i8, ptr %79, i64 32 + %.sroa.06.sroa.6.sroa.4.0..sroa.06.sroa.6.0..sroa_idx.sroa_idx = getelementptr inbounds nuw i8, ptr %74, i64 32 store ptr %.sroa.11.sroa.4.1, ptr %.sroa.06.sroa.6.sroa.4.0..sroa.06.sroa.6.0..sroa_idx.sroa_idx, align 1 - %.sroa.06.sroa.6.sroa.5.0..sroa.06.sroa.6.0..sroa_idx.sroa_idx = getelementptr inbounds nuw i8, ptr %79, i64 40 + %.sroa.06.sroa.6.sroa.5.0..sroa.06.sroa.6.0..sroa_idx.sroa_idx = getelementptr inbounds nuw i8, ptr %74, i64 40 store i64 %.sroa.11.sroa.5.1, ptr %.sroa.06.sroa.6.sroa.5.0..sroa.06.sroa.6.0..sroa_idx.sroa_idx, align 1 call void @llvm.lifetime.end.p0(i64 7, ptr nonnull %.sroa.06.sroa.6.sroa.0) call void @llvm.lifetime.end.p0(i64 7, ptr nonnull %.sroa.11.sroa.0) - %80 = icmp eq i64 %15, 0 - br i1 %80, label %.thread, label %14 + %75 = icmp eq i64 %15, 0 + br i1 %75, label %.thread, label %14 -81: ; preds = %83 - %82 = landingpad { ptr, i32 } +76: ; preds = %78 + %77 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17hbacfddf1bcf21a1eE() #20 unreachable -83: ; preds = %75, %76, %77 +78: ; preds = %70, %71, %72 %lpad.loopexit = landingpad { ptr, i32 } cleanup store i64 %.sroa.7.069, ptr %11, align 8 invoke void @"_ZN4core3ptr66drop_in_place$LT$alloc..vec..Vec$LT$cfg..cfg_expr..CfgExpr$GT$$GT$17h45b6769799566e5eE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %6) #19 - to label %84 unwind label %81 + to label %79 unwind label %76 -84: ; preds = %83 +79: ; preds = %78 resume { ptr, i32 } %lpad.loopexit } diff --git a/bench/rustfmt-rs/optimized/3n0n7c4xrusd0kzl.ll b/bench/rustfmt-rs/optimized/3n0n7c4xrusd0kzl.ll index 8c380ea0277..0679fa2e96b 100644 --- a/bench/rustfmt-rs/optimized/3n0n7c4xrusd0kzl.ll +++ b/bench/rustfmt-rs/optimized/3n0n7c4xrusd0kzl.ll @@ -16025,9 +16025,9 @@ define hidden void @"_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6t %53 = getelementptr inbounds nuw i8, ptr %.sroa.013.044, i64 60 %54 = load i32, ptr %53, align 4, !alias.scope !3143, !noalias !3127 %.sroa.5.i.sroa.4.2..sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %.sroa.013.044, i64 64 - %.sroa.5.i.sroa.4.2.copyload.i.i = load ptr, ptr %.sroa.5.i.sroa.4.2..sroa_idx.i.i, align 4, !alias.scope !3143, !noalias !3127 + %.sroa.5.i.sroa.4.2.copyload.i.i = load ptr, ptr %.sroa.5.i.sroa.4.2..sroa_idx.i.i, align 8, !alias.scope !3143, !noalias !3127 %.sroa.5.i.sroa.5.2..sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %.sroa.013.044, i64 72 - %.sroa.5.i.sroa.5.2.copyload.i.i = load i32, ptr %.sroa.5.i.sroa.5.2..sroa_idx.i.i, align 4, !alias.scope !3143, !noalias !3127 + %.sroa.5.i.sroa.5.2.copyload.i.i = load i32, ptr %.sroa.5.i.sroa.5.2..sroa_idx.i.i, align 8, !alias.scope !3143, !noalias !3127 %55 = zext i32 %.sroa.5.i.sroa.5.2.copyload.i.i to i64 br label %"_ZN66_$LT$alloc..borrow..Cow$LT$B$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h5a08b671c45b4bc6E.exit.i.i" @@ -16205,7 +16205,7 @@ define hidden void @"_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6t 17: ; preds = %14 tail call void @llvm.experimental.noalias.scope.decl(metadata !3155) - %.val.i = load i32, ptr %.sroa.013.028, align 4, !alias.scope !3158, !noalias !3155, !noundef !4 + %.val.i = load i32, ptr %.sroa.013.028, align 8, !alias.scope !3158, !noalias !3155, !noundef !4 %18 = getelementptr inbounds nuw i8, ptr %.sroa.013.028, i64 4 %.val3.i = load i32, ptr %18, align 4, !alias.scope !3162, !noalias !3155, !noundef !4 store i32 %.val.i, ptr %4, align 8, !alias.scope !3155 @@ -16634,11 +16634,11 @@ define hidden void @"_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6t call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %.sroa.07.sroa.5) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.07.sroa.5, ptr noundef nonnull align 8 dereferenceable(16) %19, i64 16, i1 false) %20 = getelementptr inbounds nuw i8, ptr %.sroa.013.031, i64 32 - %.val8.i = load i8, ptr %20, align 1, !range !3186, !alias.scope !3202, !noalias !3205, !noundef !4 + %.val8.i = load i8, ptr %20, align 8, !range !3186, !alias.scope !3202, !noalias !3205, !noundef !4 %21 = getelementptr inbounds nuw i8, ptr %.sroa.013.031, i64 33 %.val9.i = load i8, ptr %21, align 1, !range !3186, !alias.scope !3202, !noalias !3205, !noundef !4 %22 = getelementptr inbounds nuw i8, ptr %.sroa.013.031, i64 34 - %.val10.i = load i8, ptr %22, align 1, !range !136, !alias.scope !3202, !noalias !3205, !noundef !4 + %.val10.i = load i8, ptr %22, align 2, !range !136, !alias.scope !3202, !noalias !3205, !noundef !4 %23 = getelementptr inbounds nuw [0 x { [5 x i64] }], ptr %6, i64 0, i64 %.sroa.7.030 call void @llvm.lifetime.start.p0(i64 5, ptr nonnull %.sroa.07.sroa.9) store ptr %.val.i, ptr %23, align 8 @@ -17027,7 +17027,7 @@ _RNvXsr_NtCs2al5CLA23zg_9rustc_ast11tokenstreamNtB5_14AttributesDataNtNtCs9nhK3F %.sroa.618.1 = phi i64 [ %.sroa.0.0.i.i.i.i, %_RNvXsr_NtCs2al5CLA23zg_9rustc_ast11tokenstreamNtB5_14AttributesDataNtNtCs9nhK3FOW46N_4core5clone5Clone5clone.exit.i.i ], [ %.sroa.618.0.copyload19, %.noexc ], [ %.sroa.618.041, %15 ] %.sroa.720.1 = phi i64 [ %40, %_RNvXsr_NtCs2al5CLA23zg_9rustc_ast11tokenstreamNtB5_14AttributesDataNtNtCs9nhK3FOW46N_4core5clone5Clone5clone.exit.i.i ], [ %27, %.noexc ], [ %.sroa.720.043, %15 ] %42 = getelementptr inbounds nuw i8, ptr %.sroa.015.042, i64 24 - %.val.i = load i8, ptr %42, align 1, !range !3186, !alias.scope !3225, !noalias !3245, !noundef !4 + %.val.i = load i8, ptr %42, align 8, !range !3186, !alias.scope !3225, !noalias !3245, !noundef !4 %43 = getelementptr inbounds nuw [0 x { [4 x i64] }], ptr %7, i64 0, i64 %.sroa.7.039 call void @llvm.lifetime.start.p0(i64 7, ptr nonnull %.sroa.07.sroa.4) call void @llvm.lifetime.start.p0(i64 7, ptr nonnull %.sroa.07.sroa.8) @@ -18417,7 +18417,7 @@ _RNvXs6f_NtCs2al5CLA23zg_9rustc_ast3astNtB6_12InlineAsmSymNtNtCs9nhK3FOW46N_4cor %.sroa.019.sroa.0.0 = phi i32 [ %.sroa.019.sroa.0.0.extract.trunc40, %_RNvXs6f_NtCs2al5CLA23zg_9rustc_ast3astNtB6_12InlineAsmSymNtNtCs9nhK3FOW46N_4core5clone5Clone5clone.exit.i.i ], [ %.sroa.019.sroa.0.0.extract.trunc, %"_ZN65_$LT$rustc_ast..ptr..P$LT$T$GT$$u20$as$u20$core..clone..Clone$GT$5clone17he1c47e7d99fd7b85E.exit17.i.i" ], [ %68, %139 ], [ %51, %"_ZN65_$LT$rustc_ast..ptr..P$LT$T$GT$$u20$as$u20$core..clone..Clone$GT$5clone17he1c47e7d99fd7b85E.exit9.i.i" ], [ %42, %129 ], [ %29, %"_ZN65_$LT$rustc_ast..ptr..P$LT$T$GT$$u20$as$u20$core..clone..Clone$GT$5clone17he1c47e7d99fd7b85E.exit.i.i" ] %.sroa.019.sroa.9.0 = phi i32 [ %.sroa.019.sroa.9.0.extract.trunc42, %_RNvXs6f_NtCs2al5CLA23zg_9rustc_ast3astNtB6_12InlineAsmSymNtNtCs9nhK3FOW46N_4core5clone5Clone5clone.exit.i.i ], [ %.sroa.019.sroa.9.0.extract.trunc, %"_ZN65_$LT$rustc_ast..ptr..P$LT$T$GT$$u20$as$u20$core..clone..Clone$GT$5clone17he1c47e7d99fd7b85E.exit17.i.i" ], [ %70, %139 ], [ %53, %"_ZN65_$LT$rustc_ast..ptr..P$LT$T$GT$$u20$as$u20$core..clone..Clone$GT$5clone17he1c47e7d99fd7b85E.exit9.i.i" ], [ %44, %129 ], [ %31, %"_ZN65_$LT$rustc_ast..ptr..P$LT$T$GT$$u20$as$u20$core..clone..Clone$GT$5clone17he1c47e7d99fd7b85E.exit.i.i" ] %148 = getelementptr inbounds nuw i8, ptr %.sroa.018.0121, i64 40 - %.val.i = load i64, ptr %148, align 4, !alias.scope !3324, !noalias !3377 + %.val.i = load i64, ptr %148, align 8, !alias.scope !3324, !noalias !3377 %149 = getelementptr inbounds nuw [0 x { [6 x i64] }], ptr %15, i64 0, i64 %.sroa.7.0119 %.sroa.019.sroa.9.0.insert.ext = zext i32 %.sroa.019.sroa.9.0 to i64 %.sroa.019.sroa.9.0.insert.shift = shl nuw i64 %.sroa.019.sroa.9.0.insert.ext, 32 @@ -18503,7 +18503,7 @@ define hidden void @"_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6t %19 = getelementptr inbounds nuw i8, ptr %.sroa.015.041, i64 56 %20 = add nuw nsw i64 %.sroa.7.038, 1 tail call void @llvm.experimental.noalias.scope.decl(metadata !3378) - %.val.i = load i64, ptr %.sroa.015.041, align 4, !alias.scope !3378, !noalias !3381 + %.val.i = load i64, ptr %.sroa.015.041, align 8, !alias.scope !3378, !noalias !3381 %21 = getelementptr inbounds nuw i8, ptr %.sroa.015.041, i64 8 tail call void @llvm.experimental.noalias.scope.decl(metadata !3383) %22 = load i64, ptr %21, align 8, !range !3386, !alias.scope !3387, !noalias !3388, !noundef !4 diff --git a/bench/sqlite/optimized/sqlite3.ll b/bench/sqlite/optimized/sqlite3.ll index 93ce97421d3..4c1760036d1 100644 --- a/bench/sqlite/optimized/sqlite3.ll +++ b/bench/sqlite/optimized/sqlite3.ll @@ -30676,7 +30676,7 @@ sqlite3VdbeChangeP5.exit: ; preds = %sqlite3VdbeAddOp4In %.03037.i = phi ptr [ %324, %320 ], [ %353, %343 ] %.03136.i = phi i32 [ 0, %320 ], [ %351, %343 ] %.03235.i = phi ptr [ @sqlite3_blob_open.openBlob, %320 ], [ %352, %343 ] - %326 = load i8, ptr %.03235.i, align 1 + %326 = load i8, ptr %.03235.i, align 4 store i8 %326, ptr %.03037.i, align 8 %327 = getelementptr inbounds nuw i8, ptr %.03235.i, i64 1 %328 = load i8, ptr %327, align 1 @@ -30684,7 +30684,7 @@ sqlite3VdbeChangeP5.exit: ; preds = %sqlite3VdbeAddOp4In %330 = getelementptr inbounds nuw i8, ptr %.03037.i, i64 4 store i32 %329, ptr %330, align 4 %331 = getelementptr inbounds nuw i8, ptr %.03235.i, i64 2 - %332 = load i8, ptr %331, align 1 + %332 = load i8, ptr %331, align 2 %333 = sext i8 %332 to i32 %334 = getelementptr inbounds nuw i8, ptr %.03037.i, i64 8 store i32 %333, ptr %334, align 8 @@ -153840,7 +153840,7 @@ codeTableLocks.exit: ; preds = %sqlite3VdbeChangeP4 %.03037.i.i = phi ptr [ %513, %509 ], [ %542, %532 ] %.03136.i.i = phi i32 [ 0, %509 ], [ %540, %532 ] %.03235.i.i = phi ptr [ @sqlite3AutoincrementBegin.autoInc, %509 ], [ %541, %532 ] - %515 = load i8, ptr %.03235.i.i, align 1 + %515 = load i8, ptr %.03235.i.i, align 4 store i8 %515, ptr %.03037.i.i, align 8 %516 = getelementptr inbounds nuw i8, ptr %.03235.i.i, i64 1 %517 = load i8, ptr %516, align 1 @@ -153848,7 +153848,7 @@ codeTableLocks.exit: ; preds = %sqlite3VdbeChangeP4 %519 = getelementptr inbounds nuw i8, ptr %.03037.i.i, i64 4 store i32 %518, ptr %519, align 4 %520 = getelementptr inbounds nuw i8, ptr %.03235.i.i, i64 2 - %521 = load i8, ptr %520, align 1 + %521 = load i8, ptr %520, align 2 %522 = sext i8 %521 to i32 %523 = getelementptr inbounds nuw i8, ptr %.03037.i.i, i64 8 store i32 %522, ptr %523, align 8 @@ -185206,7 +185206,7 @@ sqlite3VdbeChangeP3.exit: ; preds = %2707, %2712 sqlite3StrICmp.exit: ; preds = %2738 %2748 = getelementptr inbounds nuw i8, ptr %.013832391, i64 16 - %2749 = load ptr, ptr %2748, align 8 + %2749 = load ptr, ptr %2748, align 16 %.not1546 = icmp eq ptr %2749, null br i1 %.not1546, label %.thread2190, label %.preheader2250, !llvm.loop !799 @@ -305148,7 +305148,7 @@ sqlite3VdbeAddOp3.exit.i: ; preds = %sqlite3DbRealloc.ex %.03037.i.i = phi ptr [ %193, %189 ], [ %222, %212 ] %.03136.i.i = phi i32 [ 0, %189 ], [ %220, %212 ] %.03235.i.i = phi ptr [ @autoIncrementEnd.autoIncEnd, %189 ], [ %221, %212 ] - %195 = load i8, ptr %.03235.i.i, align 1 + %195 = load i8, ptr %.03235.i.i, align 4 store i8 %195, ptr %.03037.i.i, align 8 %196 = getelementptr inbounds nuw i8, ptr %.03235.i.i, i64 1 %197 = load i8, ptr %196, align 1 @@ -305156,7 +305156,7 @@ sqlite3VdbeAddOp3.exit.i: ; preds = %sqlite3DbRealloc.ex %199 = getelementptr inbounds nuw i8, ptr %.03037.i.i, i64 4 store i32 %198, ptr %199, align 4 %200 = getelementptr inbounds nuw i8, ptr %.03235.i.i, i64 2 - %201 = load i8, ptr %200, align 1 + %201 = load i8, ptr %200, align 2 %202 = sext i8 %201 to i32 %203 = getelementptr inbounds nuw i8, ptr %.03037.i.i, i64 8 store i32 %202, ptr %203, align 8 diff --git a/bench/typst-rs/optimized/1ru1rhojhbz2vfey.ll b/bench/typst-rs/optimized/1ru1rhojhbz2vfey.ll index e598e27410e..decc90b73f2 100644 --- a/bench/typst-rs/optimized/1ru1rhojhbz2vfey.ll +++ b/bench/typst-rs/optimized/1ru1rhojhbz2vfey.ll @@ -21680,7 +21680,7 @@ define hidden void @_ZN4core4hash4Hash10hash_slice17h27621fdedc855ea1E(ptr noali call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6), !noalias !4772 %11 = getelementptr inbounds nuw i8, ptr %.sroa.0.06, i64 4 tail call void @llvm.experimental.noalias.scope.decl(metadata !4777) - %12 = load i8, ptr %11, align 1, !range !421, !alias.scope !4780, !noalias !4781, !noundef !5 + %12 = load i8, ptr %11, align 4, !range !421, !alias.scope !4780, !noalias !4781, !noundef !5 %13 = icmp ne i8 %12, 3 %14 = zext i1 %13 to i64 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5), !noalias !4783 @@ -21733,7 +21733,7 @@ define hidden void @_ZN4core4hash4Hash10hash_slice17h28c47ddfbbbe754eE(ptr noali tail call void @llvm.experimental.noalias.scope.decl(metadata !4809) tail call void @llvm.experimental.noalias.scope.decl(metadata !4810) tail call void @llvm.experimental.noalias.scope.decl(metadata !4811) - %19 = load i32, ptr %.sroa.0.06, align 4, !range !4812, !alias.scope !4804, !noalias !4813, !noundef !5 + %19 = load i32, ptr %.sroa.0.06, align 8, !range !4812, !alias.scope !4804, !noalias !4813, !noundef !5 %20 = zext nneg i32 %19 to i64 tail call void @llvm.experimental.noalias.scope.decl(metadata !4814) tail call void %11(ptr noundef nonnull align 1 %7, i64 noundef %20), !noalias !4807 @@ -30591,7 +30591,7 @@ default.unreachable.i.i: ; preds = %"_ZN68_$LT$alloc..s 49: ; preds = %"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hdbeeafbdbffaf5aeE.llvm.13383457361836014260.exit.i.i" %50 = getelementptr inbounds nuw i8, ptr %.sroa.013.080, i64 144 call void @llvm.experimental.noalias.scope.decl(metadata !7162) - %51 = load i64, ptr %50, align 8, !range !523, !alias.scope !7165, !noalias !7166, !noundef !5 + %51 = load i64, ptr %50, align 16, !range !523, !alias.scope !7165, !noalias !7166, !noundef !5 %52 = getelementptr inbounds nuw i8, ptr %.sroa.013.080, i64 152 switch i64 %51, label %default.unreachable [ i64 0, label %53 @@ -30641,7 +30641,7 @@ default.unreachable.i.i: ; preds = %"_ZN68_$LT$alloc..s 68: ; preds = %"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hdbeeafbdbffaf5aeE.llvm.13383457361836014260.exit.i.i" %69 = getelementptr inbounds nuw i8, ptr %.sroa.013.080, i64 144 call void @llvm.experimental.noalias.scope.decl(metadata !7183) - %70 = load ptr, ptr %69, align 8, !alias.scope !7186, !noalias !7166, !nonnull !5, !noundef !5 + %70 = load ptr, ptr %69, align 16, !alias.scope !7186, !noalias !7166, !nonnull !5, !noundef !5 %71 = atomicrmw add ptr %70, i64 1 monotonic, align 8, !noalias !7187 %72 = icmp slt i64 %71, 0 br i1 %72, label %73, label %"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17haef86d195db82d6bE.llvm.13383457361836014260.exit.i.i.i" @@ -30737,7 +30737,7 @@ default.unreachable.i.i: ; preds = %"_ZN68_$LT$alloc..s 111: ; preds = %24 call void @llvm.experimental.noalias.scope.decl(metadata !7208) %112 = getelementptr inbounds nuw i8, ptr %.sroa.013.080, i64 80 - %113 = load i32, ptr %112, align 8, !range !7149, !alias.scope !7211, !noalias !7212, !noundef !5 + %113 = load i32, ptr %112, align 16, !range !7149, !alias.scope !7211, !noalias !7212, !noundef !5 %114 = getelementptr inbounds nuw i8, ptr %.sroa.013.080, i64 84 %115 = load i16, ptr %114, align 4, !range !7214, !alias.scope !7211, !noalias !7212, !noundef !5 %116 = getelementptr inbounds nuw i8, ptr %.sroa.013.080, i64 86 @@ -30745,17 +30745,17 @@ default.unreachable.i.i: ; preds = %"_ZN68_$LT$alloc..s %118 = getelementptr inbounds nuw i8, ptr %.sroa.013.080, i64 56 %119 = load double, ptr %118, align 8, !alias.scope !7211, !noalias !7212, !noundef !5 %120 = getelementptr inbounds nuw i8, ptr %.sroa.013.080, i64 64 - %121 = load double, ptr %120, align 8, !alias.scope !7211, !noalias !7212, !noundef !5 + %121 = load double, ptr %120, align 16, !alias.scope !7211, !noalias !7212, !noundef !5 call void @llvm.experimental.noalias.scope.decl(metadata !7215) %122 = getelementptr inbounds nuw i8, ptr %.sroa.013.080, i64 24 %.val.i.i.i = load double, ptr %122, align 8, !alias.scope !7218, !noalias !7221, !noundef !5 %123 = getelementptr inbounds nuw i8, ptr %.sroa.013.080, i64 32 - %.val1.i.i.i = load double, ptr %123, align 8, !alias.scope !7223, !noalias !7221, !noundef !5 - %124 = load i64, ptr %.sroa.013.080, align 8, !range !11, !alias.scope !7226, !noalias !7221, !noundef !5 + %.val1.i.i.i = load double, ptr %123, align 16, !alias.scope !7223, !noalias !7221, !noundef !5 + %124 = load i64, ptr %.sroa.013.080, align 16, !range !11, !alias.scope !7226, !noalias !7221, !noundef !5 %125 = getelementptr inbounds nuw i8, ptr %.sroa.013.080, i64 8 %126 = load double, ptr %125, align 8, !alias.scope !7226, !noalias !7221 %127 = getelementptr inbounds nuw i8, ptr %.sroa.013.080, i64 16 - %.val2.i.i.i = load ptr, ptr %127, align 8, !alias.scope !7226, !noalias !7221, !nonnull !5, !noundef !5 + %.val2.i.i.i = load ptr, ptr %127, align 16, !alias.scope !7226, !noalias !7221, !nonnull !5, !noundef !5 %128 = atomicrmw add ptr %.val2.i.i.i, i64 1 monotonic, align 8, !noalias !7227 %129 = icmp slt i64 %128, 0 br i1 %129, label %130, label %"_ZN77_$LT$typst..math..fragment..VariantFragment$u20$as$u20$core..clone..Clone$GT$5clone17hed2aa97f1c4d7afdE.exit.i" @@ -30777,7 +30777,7 @@ default.unreachable.i.i: ; preds = %"_ZN68_$LT$alloc..s %137 = getelementptr inbounds nuw i8, ptr %.sroa.013.080, i64 90 %138 = load i8, ptr %137, align 2, !range !421, !alias.scope !7211, !noalias !7212, !noundef !5 %139 = getelementptr inbounds nuw i8, ptr %.sroa.013.080, i64 48 - %140 = load i64, ptr %139, align 8, !range !1375, !alias.scope !7211, !noalias !7212, !noundef !5 + %140 = load i64, ptr %139, align 16, !range !1375, !alias.scope !7211, !noalias !7212, !noundef !5 %141 = getelementptr inbounds nuw i8, ptr %.sroa.013.080, i64 88 %142 = load i8, ptr %141, align 8, !range !435, !alias.scope !7211, !noalias !7212, !noundef !5 %143 = getelementptr inbounds nuw i8, ptr %.sroa.013.080, i64 89 @@ -30810,12 +30810,12 @@ default.unreachable.i.i: ; preds = %"_ZN68_$LT$alloc..s %148 = getelementptr inbounds nuw i8, ptr %.sroa.013.080, i64 24 %.val.i.i1.i = load double, ptr %148, align 8, !alias.scope !7234, !noalias !7237, !noundef !5 %149 = getelementptr inbounds nuw i8, ptr %.sroa.013.080, i64 32 - %.val1.i.i2.i = load double, ptr %149, align 8, !alias.scope !7240, !noalias !7237, !noundef !5 - %150 = load i64, ptr %.sroa.013.080, align 8, !range !11, !alias.scope !7243, !noalias !7237, !noundef !5 + %.val1.i.i2.i = load double, ptr %149, align 16, !alias.scope !7240, !noalias !7237, !noundef !5 + %150 = load i64, ptr %.sroa.013.080, align 16, !range !11, !alias.scope !7243, !noalias !7237, !noundef !5 %151 = getelementptr inbounds nuw i8, ptr %.sroa.013.080, i64 8 %152 = load double, ptr %151, align 8, !alias.scope !7243, !noalias !7237 %153 = getelementptr inbounds nuw i8, ptr %.sroa.013.080, i64 16 - %.val2.i.i3.i = load ptr, ptr %153, align 8, !alias.scope !7243, !noalias !7237, !nonnull !5, !noundef !5 + %.val2.i.i3.i = load ptr, ptr %153, align 16, !alias.scope !7243, !noalias !7237, !nonnull !5, !noundef !5 %154 = atomicrmw add ptr %.val2.i.i3.i, i64 1 monotonic, align 8, !noalias !7244 %155 = icmp slt i64 %154, 0 br i1 %155, label %156, label %"_ZN75_$LT$typst..math..fragment..FrameFragment$u20$as$u20$core..clone..Clone$GT$5clone17h0480998175a40f5eE.exit.i" @@ -30830,7 +30830,7 @@ default.unreachable.i.i: ; preds = %"_ZN68_$LT$alloc..s %157 = getelementptr inbounds nuw i8, ptr %.sroa.013.080, i64 40 %158 = load i8, ptr %157, align 8, !range !4, !alias.scope !7243, !noalias !7237, !noundef !5 %159 = getelementptr inbounds nuw i8, ptr %.sroa.013.080, i64 48 - %160 = load i64, ptr %159, align 8, !alias.scope !7245, !noalias !7246, !noundef !5 + %160 = load i64, ptr %159, align 16, !alias.scope !7245, !noalias !7246, !noundef !5 %161 = getelementptr inbounds nuw i8, ptr %.sroa.013.080, i64 84 %162 = load i8, ptr %161, align 4, !range !7189, !alias.scope !7245, !noalias !7246, !noundef !5 %163 = getelementptr inbounds nuw i8, ptr %.sroa.013.080, i64 83 @@ -30838,11 +30838,11 @@ default.unreachable.i.i: ; preds = %"_ZN68_$LT$alloc..s %165 = getelementptr inbounds nuw i8, ptr %.sroa.013.080, i64 82 %166 = load i8, ptr %165, align 2, !range !435, !alias.scope !7245, !noalias !7246, !noundef !5 %167 = getelementptr inbounds nuw i8, ptr %.sroa.013.080, i64 80 - %168 = load i8, ptr %167, align 8, !range !4, !alias.scope !7245, !noalias !7246, !noundef !5 + %168 = load i8, ptr %167, align 16, !range !4, !alias.scope !7245, !noalias !7246, !noundef !5 %169 = getelementptr inbounds nuw i8, ptr %.sroa.013.080, i64 56 %170 = load double, ptr %169, align 8, !alias.scope !7245, !noalias !7246, !noundef !5 %171 = getelementptr inbounds nuw i8, ptr %.sroa.013.080, i64 64 - %172 = load double, ptr %171, align 8, !alias.scope !7245, !noalias !7246, !noundef !5 + %172 = load double, ptr %171, align 16, !alias.scope !7245, !noalias !7246, !noundef !5 %173 = getelementptr inbounds nuw i8, ptr %.sroa.013.080, i64 72 %174 = load double, ptr %173, align 8, !alias.scope !7245, !noalias !7246, !noundef !5 %175 = getelementptr inbounds nuw i8, ptr %.sroa.013.080, i64 81 diff --git a/bench/typst-rs/optimized/3kgmqnxcsl3z3n0n.ll b/bench/typst-rs/optimized/3kgmqnxcsl3z3n0n.ll index 9c172b3ee5e..61896bb513b 100644 --- a/bench/typst-rs/optimized/3kgmqnxcsl3z3n0n.ll +++ b/bench/typst-rs/optimized/3kgmqnxcsl3z3n0n.ll @@ -67446,7 +67446,7 @@ define hidden void @"_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6t call void @llvm.lifetime.start.p0(i64 22, ptr nonnull %.sroa.42) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %.sroa.45) tail call void @llvm.experimental.noalias.scope.decl(metadata !18531) - %.val.i = load double, ptr %.sroa.014.0118, align 8, !alias.scope !18531, !noalias !18534, !noundef !4 + %.val.i = load double, ptr %.sroa.014.0118, align 16, !alias.scope !18531, !noalias !18534, !noundef !4 %41 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 8 %.val1.i = load double, ptr %41, align 8, !alias.scope !18531, !noalias !18534, !noundef !4 %42 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 16 @@ -67471,12 +67471,12 @@ default.unreachable: ; preds = %336, %331, %310, %2 tail call void @llvm.experimental.noalias.scope.decl(metadata !18547) tail call void @llvm.experimental.noalias.scope.decl(metadata !18550) %46 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 48 - %.val.i.i.i.i = load double, ptr %46, align 8, !alias.scope !18552, !noalias !18553, !noundef !4 + %.val.i.i.i.i = load double, ptr %46, align 16, !alias.scope !18552, !noalias !18553, !noundef !4 %47 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 56 %.val1.i.i.i.i = load double, ptr %47, align 8, !alias.scope !18552, !noalias !18553, !noundef !4 %48 = load i64, ptr %45, align 8, !range !49, !alias.scope !18552, !noalias !18553, !noundef !4 %49 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 32 - %50 = load double, ptr %49, align 8, !alias.scope !18552, !noalias !18553 + %50 = load double, ptr %49, align 16, !alias.scope !18552, !noalias !18553 %51 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 40 %.val2.i.i.i.i = load ptr, ptr %51, align 8, !alias.scope !18552, !noalias !18553, !nonnull !4, !noundef !4 %52 = atomicrmw add ptr %.val2.i.i.i.i, i64 1 monotonic, align 8, !noalias !18554 @@ -67491,7 +67491,7 @@ default.unreachable: ; preds = %336, %331, %310, %2 %trunc.i.i.i.i = trunc nuw i64 %48 to i1 %.sroa.5.0.i.i.i.i = select i1 %trunc.i.i.i.i, double %50, double undef %55 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 64 - %56 = load i8, ptr %55, align 8, !range !686, !alias.scope !18552, !noalias !18553, !noundef !4 + %56 = load i8, ptr %55, align 16, !range !686, !alias.scope !18552, !noalias !18553, !noundef !4 store double %.val.i.i.i.i, ptr %30, align 8, !alias.scope !18547, !noalias !18555 store double %.val1.i.i.i.i, ptr %31, align 8, !alias.scope !18547, !noalias !18555 store i64 %48, ptr %12, align 8, !alias.scope !18547, !noalias !18555 @@ -67525,7 +67525,7 @@ default.unreachable: ; preds = %336, %331, %310, %2 tail call void @llvm.experimental.noalias.scope.decl(metadata !18558) %66 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 88 %67 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 80 - %68 = load ptr, ptr %67, align 8, !alias.scope !18561, !noalias !18562, !nonnull !4, !noundef !4 + %68 = load ptr, ptr %67, align 16, !alias.scope !18561, !noalias !18562, !nonnull !4, !noundef !4 %69 = load i64, ptr %66, align 8, !alias.scope !18561, !noalias !18562, !noundef !4 tail call void @llvm.experimental.noalias.scope.decl(metadata !18564) %70 = invoke { i64, ptr } @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in17hbc5c2d00fcd453ddE"(i64 noundef %69, i1 noundef zeroext false) @@ -67693,12 +67693,12 @@ default.unreachable: ; preds = %336, %331, %310, %2 "_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hdbeeafbdbffaf5aeE.exit.i.i.i": ; preds = %111 store ptr %.val.i.i.i, ptr %11, align 8, !noalias !18582 %116 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 160 - %117 = load double, ptr %116, align 8, !alias.scope !18584, !noalias !18585, !noundef !4 + %117 = load double, ptr %116, align 16, !alias.scope !18584, !noalias !18585, !noundef !4 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10), !noalias !18582 %118 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 128 tail call void @llvm.experimental.noalias.scope.decl(metadata !18587) tail call void @llvm.experimental.noalias.scope.decl(metadata !18590) - %119 = load i32, ptr %118, align 8, !range !578, !alias.scope !18592, !noalias !18593, !noundef !4 + %119 = load i32, ptr %118, align 16, !range !578, !alias.scope !18592, !noalias !18593, !noundef !4 switch i32 %119, label %default.unreachable [ i32 0, label %120 i32 1, label %122 @@ -67714,7 +67714,7 @@ default.unreachable: ; preds = %336, %331, %310, %2 %123 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 136 %.val.i.i17.i.i = load i64, ptr %123, align 8, !range !93, !alias.scope !18592, !noalias !18593, !noundef !4 %124 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 144 - %.val1.i.i18.i.i = load ptr, ptr %124, align 8, !alias.scope !18592, !noalias !18593, !nonnull !4, !noundef !4 + %.val1.i.i18.i.i = load ptr, ptr %124, align 16, !alias.scope !18592, !noalias !18593, !nonnull !4, !noundef !4 %125 = atomicrmw add ptr %.val1.i.i18.i.i, i64 1 monotonic, align 8, !noalias !18595 %126 = icmp slt i64 %125, 0 switch i64 %.val.i.i17.i.i, label %default.unreachable [ @@ -67772,7 +67772,7 @@ default.unreachable: ; preds = %336, %331, %310, %2 store i32 %119, ptr %10, align 8, !alias.scope !18587, !noalias !18596 call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %9), !noalias !18582 %139 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 48 - %140 = load i64, ptr %139, align 8, !range !16649, !alias.scope !18584, !noalias !18585, !noundef !4 + %140 = load i64, ptr %139, align 16, !range !16649, !alias.scope !18584, !noalias !18585, !noundef !4 %141 = icmp eq i64 %140, -9223372036854775807 %142 = trunc nuw nsw i32 %119 to i8 br i1 %141, label %143, label %144 @@ -67787,7 +67787,7 @@ default.unreachable: ; preds = %336, %331, %310, %2 %145 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 80 tail call void @llvm.experimental.noalias.scope.decl(metadata !18602) tail call void @llvm.experimental.noalias.scope.decl(metadata !18605) - %146 = load i32, ptr %145, align 8, !range !578, !alias.scope !18607, !noalias !18608, !noundef !4 + %146 = load i32, ptr %145, align 16, !range !578, !alias.scope !18607, !noalias !18608, !noundef !4 switch i32 %146, label %default.unreachable [ i32 0, label %147 i32 1, label %149 @@ -67803,7 +67803,7 @@ default.unreachable: ; preds = %336, %331, %310, %2 %150 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 88 %.val.i.i.i.i.i = load i64, ptr %150, align 8, !range !93, !alias.scope !18607, !noalias !18608, !noundef !4 %151 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 96 - %.val1.i.i.i.i.i = load ptr, ptr %151, align 8, !alias.scope !18607, !noalias !18608, !nonnull !4, !noundef !4 + %.val1.i.i.i.i.i = load ptr, ptr %151, align 16, !alias.scope !18607, !noalias !18608, !nonnull !4, !noundef !4 %152 = atomicrmw add ptr %.val1.i.i.i.i.i, i64 1 monotonic, align 8, !noalias !18611 %153 = icmp slt i64 %152, 0 switch i64 %.val.i.i.i.i.i, label %default.unreachable [ @@ -67868,7 +67868,7 @@ default.unreachable: ; preds = %336, %331, %310, %2 %173 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 64 %174 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 56 %175 = load ptr, ptr %174, align 8, !alias.scope !18614, !noalias !18619, !nonnull !4, !noundef !4 - %176 = load i64, ptr %173, align 8, !alias.scope !18614, !noalias !18619, !noundef !4 + %176 = load i64, ptr %173, align 16, !alias.scope !18614, !noalias !18619, !noundef !4 %177 = invoke { i64, ptr } @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in17h4a9984b821774ddeE"(i64 noundef %176, i1 noundef zeroext false) to label %180 unwind label %178, !noalias !18622 @@ -67909,7 +67909,7 @@ default.unreachable: ; preds = %336, %331, %310, %2 %195 = icmp slt i8 %194, 0 %.sroa.013.0.copyload14.i.i.i = load ptr, ptr %192, align 8, !alias.scope !18632, !noalias !18585 %.sroa.515.0..sroa_idx16.i.i.i = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 176 - %.sroa.515.0.copyload17.i.i.i = load i64, ptr %.sroa.515.0..sroa_idx16.i.i.i, align 8, !alias.scope !18632, !noalias !18585 + %.sroa.515.0.copyload17.i.i.i = load i64, ptr %.sroa.515.0..sroa_idx16.i.i.i, align 16, !alias.scope !18632, !noalias !18585 br i1 %195, label %"_ZN64_$LT$ecow..dynamic..DynamicVec$u20$as$u20$core..clone..Clone$GT$5clone17hc750ecdfb2556fa4E.exit.i.i.i", label %196 196: ; preds = %188 @@ -67940,7 +67940,7 @@ default.unreachable: ; preds = %336, %331, %310, %2 %.sroa.5.sroa.5.0.i.i.i.i = phi double [ undef, %"_ZN69_$LT$typst..visualize..paint..Paint$u20$as$u20$core..clone..Clone$GT$5clone17hc609c7f0d3a7e024E.exit.i.i.i.i" ], [ %.val.i4.i.i.i.i, %180 ] %.sroa.0.0.i.i.i.i = phi i64 [ -9223372036854775808, %"_ZN69_$LT$typst..visualize..paint..Paint$u20$as$u20$core..clone..Clone$GT$5clone17hc609c7f0d3a7e024E.exit.i.i.i.i" ], [ %181, %180 ] %203 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 112 - %204 = load double, ptr %203, align 8, !alias.scope !18613, !noalias !18610, !noundef !4 + %204 = load double, ptr %203, align 16, !alias.scope !18613, !noalias !18610, !noundef !4 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.sroa.7.0..sroa_idx.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !18582 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7), !noalias !18600 store i64 %.sroa.0.0.i.i.i.i, ptr %9, align 8, !noalias !18582 @@ -67974,7 +67974,7 @@ default.unreachable: ; preds = %336, %331, %310, %2 tail call void @llvm.experimental.noalias.scope.decl(metadata !18634) %209 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 40 %210 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 32 - %211 = load ptr, ptr %210, align 8, !alias.scope !18637, !noalias !18638, !nonnull !4, !noundef !4 + %211 = load ptr, ptr %210, align 16, !alias.scope !18637, !noalias !18638, !nonnull !4, !noundef !4 %212 = load i64, ptr %209, align 8, !alias.scope !18637, !noalias !18638, !noundef !4 %213 = invoke { i64, ptr } @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in17hf4ba5a9e64664785E"(i64 noundef %212, i1 noundef zeroext false) to label %.noexc7.i.i.i unwind label %236, !noalias !18586 @@ -68083,7 +68083,7 @@ default.unreachable: ; preds = %336, %331, %310, %2 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6), !noalias !18658 tail call void @llvm.experimental.noalias.scope.decl(metadata !18660) tail call void @llvm.experimental.noalias.scope.decl(metadata !18663) - %246 = load i64, ptr %245, align 8, !range !16649, !alias.scope !18665, !noalias !18666, !noundef !4 + %246 = load i64, ptr %245, align 16, !range !16649, !alias.scope !18665, !noalias !18666, !noundef !4 %247 = xor i64 %246, -9223372036854775808 %248 = tail call i64 @llvm.umin.i64(i64 %247, i64 2) switch i64 %248, label %default.unreachable [ @@ -68096,7 +68096,7 @@ default.unreachable: ; preds = %336, %331, %310, %2 %250 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 40 %251 = load double, ptr %250, align 8, !alias.scope !18665, !noalias !18666, !noundef !4 %252 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 48 - %253 = load double, ptr %252, align 8, !alias.scope !18665, !noalias !18666, !noundef !4 + %253 = load double, ptr %252, align 16, !alias.scope !18665, !noalias !18666, !noundef !4 store double %251, ptr %.sroa.0.sroa.4.0..sroa_idx.i.i.i.i, align 8, !alias.scope !18660, !noalias !18667 store double %253, ptr %.sroa.0.sroa.5.0..sroa_idx.i.i.i.i, align 8, !alias.scope !18660, !noalias !18667 store i64 -9223372036854775808, ptr %6, align 8, !alias.scope !18660, !noalias !18667 @@ -68108,7 +68108,7 @@ default.unreachable: ; preds = %336, %331, %310, %2 %257 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 40 %.val.i.i43.i.i = load double, ptr %257, align 8, !alias.scope !18665, !noalias !18666, !noundef !4 %258 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 48 - %.val1.i.i44.i.i = load double, ptr %258, align 8, !alias.scope !18665, !noalias !18666, !noundef !4 + %.val1.i.i44.i.i = load double, ptr %258, align 16, !alias.scope !18665, !noalias !18666, !noundef !4 store double %.val.i.i43.i.i, ptr %.sroa.0.sroa.4.0..sroa_idx.i.i.i.i, align 8, !alias.scope !18660, !noalias !18667 store double %.val1.i.i44.i.i, ptr %.sroa.0.sroa.5.0..sroa_idx.i.i.i.i, align 8, !alias.scope !18660, !noalias !18667 store i64 -9223372036854775807, ptr %6, align 8, !alias.scope !18660, !noalias !18667 @@ -68121,7 +68121,7 @@ default.unreachable: ; preds = %336, %331, %310, %2 %262 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 48 %263 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 40 %264 = load ptr, ptr %263, align 8, !alias.scope !18671, !noalias !18672, !nonnull !4, !noundef !4 - %265 = load i64, ptr %262, align 8, !alias.scope !18671, !noalias !18672, !noundef !4 + %265 = load i64, ptr %262, align 16, !alias.scope !18671, !noalias !18672, !noundef !4 tail call void @llvm.experimental.noalias.scope.decl(metadata !18674) %266 = invoke { i64, ptr } @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in17hbc5c2d00fcd453ddE"(i64 noundef %265, i1 noundef zeroext false) to label %.noexc unwind label %.loopexit @@ -68271,14 +68271,14 @@ default.unreachable3.i.i.i.i: ; preds = %307 %309 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 140 %.sroa.6.4.copyload.i.i.i = load i32, ptr %309, align 4, !alias.scope !18695, !noalias !18689 %.sroa.7.4..sroa_idx.i.i.i = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 144 - %.sroa.7.4.copyload.i.i.i = load i64, ptr %.sroa.7.4..sroa_idx.i.i.i, align 4, !alias.scope !18695, !noalias !18689 + %.sroa.7.4.copyload.i.i.i = load i64, ptr %.sroa.7.4..sroa_idx.i.i.i, align 16, !alias.scope !18695, !noalias !18689 %.sroa.9.4..sroa_idx.i.i.i = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 152 - %.sroa.9.4.copyload.i.i.i = load ptr, ptr %.sroa.9.4..sroa_idx.i.i.i, align 4, !alias.scope !18695, !noalias !18689 + %.sroa.9.4.copyload.i.i.i = load ptr, ptr %.sroa.9.4..sroa_idx.i.i.i, align 8, !alias.scope !18695, !noalias !18689 br label %"_ZN69_$LT$typst..visualize..paint..Paint$u20$as$u20$core..clone..Clone$GT$5clone17hc609c7f0d3a7e024E.exit.i21.i.i" 310: ; preds = %307 %311 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 144 - %.val.i5.i.i.i = load i64, ptr %311, align 8, !range !93, !alias.scope !18696, !noalias !18697, !noundef !4 + %.val.i5.i.i.i = load i64, ptr %311, align 16, !range !93, !alias.scope !18696, !noalias !18697, !noundef !4 %312 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 152 %.val1.i6.i.i.i = load ptr, ptr %312, align 8, !alias.scope !18696, !noalias !18697, !nonnull !4, !noundef !4 %313 = atomicrmw add ptr %.val1.i6.i.i.i, i64 1 monotonic, align 8, !noalias !18698 @@ -68312,7 +68312,7 @@ default.unreachable3.i.i.i.i: ; preds = %307 321: ; preds = %307 %322 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 144 - %.val2.i.i19.i.i = load ptr, ptr %322, align 8, !alias.scope !18696, !noalias !18697, !nonnull !4, !noundef !4 + %.val2.i.i19.i.i = load ptr, ptr %322, align 16, !alias.scope !18696, !noalias !18697, !nonnull !4, !noundef !4 %323 = atomicrmw add ptr %.val2.i.i19.i.i, i64 1 monotonic, align 8, !noalias !18698 %324 = icmp slt i64 %323, 0 br i1 %324, label %325, label %"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17haef86d195db82d6bE.exit.i.i20.i.i" @@ -68365,7 +68365,7 @@ default.unreachable3.i.i.i.i: ; preds = %307 336: ; preds = %331 %337 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 96 - %.val.i.i.i39.i.i = load i64, ptr %337, align 8, !range !93, !alias.scope !18710, !noalias !18711, !noundef !4 + %.val.i.i.i39.i.i = load i64, ptr %337, align 16, !range !93, !alias.scope !18710, !noalias !18711, !noundef !4 %338 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 104 %.val1.i.i.i40.i.i = load ptr, ptr %338, align 8, !alias.scope !18710, !noalias !18711, !nonnull !4, !noundef !4 %339 = atomicrmw add ptr %.val1.i.i.i40.i.i, i64 1 monotonic, align 8, !noalias !18714 @@ -68404,7 +68404,7 @@ default.unreachable3.i.i.i.i: ; preds = %307 347: ; preds = %331 %348 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 96 - %.val2.i.i.i25.i.i = load ptr, ptr %348, align 8, !alias.scope !18710, !noalias !18711, !nonnull !4, !noundef !4 + %.val2.i.i.i25.i.i = load ptr, ptr %348, align 16, !alias.scope !18710, !noalias !18711, !nonnull !4, !noundef !4 %349 = atomicrmw add ptr %.val2.i.i.i25.i.i, i64 1 monotonic, align 8, !noalias !18714 %350 = icmp slt i64 %349, 0 br i1 %350, label %351, label %"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17haef86d195db82d6bE.exit.i.i.i26.i.i" @@ -68420,9 +68420,9 @@ default.unreachable3.i.i.i.i: ; preds = %307 "_ZN69_$LT$typst..visualize..paint..Paint$u20$as$u20$core..clone..Clone$GT$5clone17hc609c7f0d3a7e024E.exit.i.i27.i.i": ; preds = %"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17haef86d195db82d6bE.exit.i.i.i26.i.i", %"_ZN75_$LT$typst..visualize..gradient..Gradient$u20$as$u20$core..clone..Clone$GT$5clone17hcb465138213cac0aE.exit.i.i.i41.i.i", %334 store i32 %333, ptr %4, align 8, !alias.scope !18705, !noalias !18715 %352 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 112 - %353 = load double, ptr %352, align 8, !alias.scope !18716, !noalias !18713, !noundef !4 + %353 = load double, ptr %352, align 16, !alias.scope !18716, !noalias !18713, !noundef !4 %354 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 128 - %355 = load i8, ptr %354, align 8, !range !306, !alias.scope !18716, !noalias !18713, !noundef !4 + %355 = load i8, ptr %354, align 16, !range !306, !alias.scope !18716, !noalias !18713, !noundef !4 %356 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 129 %357 = load i8, ptr %356, align 1, !range !306, !alias.scope !18716, !noalias !18713, !noundef !4 %358 = icmp eq i64 %329, -9223372036854775808 @@ -68431,7 +68431,7 @@ default.unreachable3.i.i.i.i: ; preds = %307 359: ; preds = %"_ZN69_$LT$typst..visualize..paint..Paint$u20$as$u20$core..clone..Clone$GT$5clone17hc609c7f0d3a7e024E.exit.i.i27.i.i" %360 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 72 %361 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 64 - %362 = load ptr, ptr %361, align 8, !alias.scope !18717, !noalias !18722, !nonnull !4, !noundef !4 + %362 = load ptr, ptr %361, align 16, !alias.scope !18717, !noalias !18722, !nonnull !4, !noundef !4 %363 = load i64, ptr %360, align 8, !alias.scope !18717, !noalias !18722, !noundef !4 %364 = invoke { i64, ptr } @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in17h4a9984b821774ddeE"(i64 noundef %363, i1 noundef zeroext false) to label %367 unwind label %365, !noalias !18725 @@ -68450,7 +68450,7 @@ default.unreachable3.i.i.i.i: ; preds = %307 %371 = shl i64 %363, 3 tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %369, ptr nonnull readonly align 8 %362, i64 %371, i1 false) %372 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 80 - %.val.i4.i.i29.i.i44 = load i64, ptr %372, align 8, !alias.scope !18726, !noalias !18727, !noundef !4 + %.val.i4.i.i29.i.i44 = load i64, ptr %372, align 16, !alias.scope !18726, !noalias !18727, !noundef !4 %373 = ptrtoint ptr %369 to i64 br label %377 @@ -68555,7 +68555,7 @@ default.unreachable4.i.i.i.i: ; preds = %399 %404 = icmp slt i8 %403, 0 %.sroa.01.0.copyload2.i.i.i.i = load ptr, ptr %401, align 8, !alias.scope !18748, !noalias !18749 %.sroa.5.0..sroa_idx.i.i.i.i = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 64 - %.sroa.5.0.copyload3.i.i.i.i = load i64, ptr %.sroa.5.0..sroa_idx.i.i.i.i, align 8, !alias.scope !18748, !noalias !18749 + %.sroa.5.0.copyload3.i.i.i.i = load i64, ptr %.sroa.5.0..sroa_idx.i.i.i.i, align 16, !alias.scope !18748, !noalias !18749 br i1 %404, label %"_ZN70_$LT$typst..model..link..Destination$u20$as$u20$core..clone..Clone$GT$5clone17h92aac11e747aaabaE.exit.i.i.i", label %405 405: ; preds = %400 @@ -68579,7 +68579,7 @@ default.unreachable4.i.i.i.i: ; preds = %399 %412 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 56 %.sroa.6.8.copyload.i.i.i = load ptr, ptr %412, align 8, !alias.scope !18751, !noalias !18734 %.sroa.8.8..sroa_idx.i.i.i = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 64 - %.sroa.8.8.copyload.i.i.i = load i64, ptr %.sroa.8.8..sroa_idx.i.i.i, align 8, !alias.scope !18751, !noalias !18734 + %.sroa.8.8.copyload.i.i.i = load i64, ptr %.sroa.8.8..sroa_idx.i.i.i, align 16, !alias.scope !18751, !noalias !18734 %.sroa.10.8..sroa_idx.i.i.i = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 72 %413 = load i64, ptr %.sroa.10.8..sroa_idx.i.i.i, align 8, !alias.scope !18751, !noalias !18734 br label %"_ZN70_$LT$typst..model..link..Destination$u20$as$u20$core..clone..Clone$GT$5clone17h92aac11e747aaabaE.exit.i.i.i" @@ -68599,7 +68599,7 @@ default.unreachable4.i.i.i.i: ; preds = %399 %417 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 56 %.val.i45.i.i = load ptr, ptr %417, align 8, !alias.scope !18733, !noalias !18734, !nonnull !4, !noundef !4 %418 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 64 - %.val1.i.i.i = load ptr, ptr %418, align 8, !alias.scope !18733, !noalias !18734 + %.val1.i.i.i = load ptr, ptr %418, align 16, !alias.scope !18733, !noalias !18734 %419 = atomicrmw add ptr %.val.i45.i.i, i64 1 monotonic, align 8, !noalias !18753 %420 = icmp slt i64 %419, 0 br i1 %420, label %421, label %"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h1c32926eb311b31fE.exit.i.i.i" @@ -68620,7 +68620,7 @@ default.unreachable4.i.i.i.i: ; preds = %399 %427 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 24 %.val3.i.i42 = load i64, ptr %427, align 8, !alias.scope !18539, !noalias !18540, !noundef !4 %428 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 32 - %.val4.i.i43 = load i64, ptr %428, align 8, !alias.scope !18539, !noalias !18540, !noundef !4 + %.val4.i.i43 = load i64, ptr %428, align 16, !alias.scope !18539, !noalias !18540, !noundef !4 %429 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 48 %430 = load i64, ptr %429, align 16, !range !1079, !alias.scope !18539, !noalias !18540, !noundef !4 %431 = ptrtoint ptr %.val5.i.i to i64 @@ -68636,7 +68636,7 @@ default.unreachable4.i.i.i.i: ; preds = %399 %432 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 24 %.val.i.i40 = load i64, ptr %432, align 8, !alias.scope !18539, !noalias !18540, !noundef !4 %433 = getelementptr inbounds nuw i8, ptr %.sroa.014.0118, i64 32 - %.val2.i.i41 = load i64, ptr %433, align 8, !alias.scope !18539, !noalias !18540, !noundef !4 + %.val2.i.i41 = load i64, ptr %433, align 16, !alias.scope !18539, !noalias !18540, !noundef !4 %434 = ptrtoint ptr %.sroa.6.0.i.i to i64 br label %435 @@ -68807,9 +68807,9 @@ default.unreachable3.i.i: ; preds = %16 %18 = getelementptr inbounds nuw i8, ptr %.sroa.013.039, i64 4 %.sroa.6.4.copyload.i = load i32, ptr %18, align 4, !alias.scope !18764, !noalias !18757 %.sroa.7.4..sroa_idx.i = getelementptr inbounds nuw i8, ptr %.sroa.013.039, i64 8 - %.sroa.7.4.copyload.i = load i64, ptr %.sroa.7.4..sroa_idx.i, align 4, !alias.scope !18764, !noalias !18757 + %.sroa.7.4.copyload.i = load i64, ptr %.sroa.7.4..sroa_idx.i, align 8, !alias.scope !18764, !noalias !18757 %.sroa.9.4..sroa_idx.i = getelementptr inbounds nuw i8, ptr %.sroa.013.039, i64 16 - %.sroa.9.4.copyload.i = load ptr, ptr %.sroa.9.4..sroa_idx.i, align 4, !alias.scope !18764, !noalias !18757 + %.sroa.9.4.copyload.i = load ptr, ptr %.sroa.9.4..sroa_idx.i, align 8, !alias.scope !18764, !noalias !18757 br label %"_ZN68_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h215f8031a8b822c8E.exit" 19: ; preds = %16 @@ -70391,7 +70391,7 @@ default.unreachable: ; preds = %22 %.sroa.4.i.sroa.4.0..sroa.4.0..sroa_idx.i.sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.017.058, i64 37 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(3) %.sroa.5.i.sroa.4, ptr noundef nonnull align 1 dereferenceable(3) %.sroa.4.i.sroa.4.0..sroa.4.0..sroa_idx.i.sroa_idx, i64 3, i1 false), !noalias !18891 %.sroa.4.i.sroa.5.0..sroa.4.0..sroa_idx.i.sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.017.058, i64 40 - %.sroa.4.i.sroa.5.0.copyload = load i64, ptr %.sroa.4.i.sroa.5.0..sroa.4.0..sroa_idx.i.sroa_idx, align 1, !noalias !18891 + %.sroa.4.i.sroa.5.0.copyload = load i64, ptr %.sroa.4.i.sroa.5.0..sroa.4.0..sroa_idx.i.sroa_idx, align 8, !noalias !18891 br label %.noexc13 .noexc13: ; preds = %40, %.noexc16 @@ -71360,7 +71360,7 @@ define hidden void @"_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6t %18 = getelementptr inbounds nuw i8, ptr %.sroa.013.032, i64 24 %19 = load double, ptr %18, align 8, !alias.scope !18955, !noalias !18958, !noundef !4 %20 = getelementptr inbounds nuw i8, ptr %.sroa.013.032, i64 32 - %.val.i = load i16, ptr %20, align 2, !alias.scope !18960, !noalias !18958, !noundef !4 + %.val.i = load i16, ptr %20, align 8, !alias.scope !18960, !noalias !18958, !noundef !4 %21 = getelementptr inbounds nuw i8, ptr %.sroa.013.032, i64 34 %.val1.i = load i16, ptr %21, align 2, !alias.scope !18963, !noalias !18958, !noundef !4 %22 = load i64, ptr %.sroa.013.032, align 8, !range !1079, !alias.scope !18955, !noalias !18958, !noundef !4 diff --git a/bench/zxing/optimized/BarcodeFormat.cpp.ll b/bench/zxing/optimized/BarcodeFormat.cpp.ll index 47b23484705..7de6f963dae 100644 --- a/bench/zxing/optimized/BarcodeFormat.cpp.ll +++ b/bench/zxing/optimized/BarcodeFormat.cpp.ll @@ -464,7 +464,7 @@ define internal fastcc noundef i32 @_ZN5ZXingL17ParseFormatStringERKNSt7__cxx111 %12 = load i64, ptr %11, align 8, !tbaa !15 %13 = getelementptr inbounds i8, ptr %10, i64 %12 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef %10, ptr noundef %13) #15 - to label %14 unwind label %192 + to label %14 unwind label %179 14: ; preds = %0 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %3) @@ -476,7 +476,7 @@ define internal fastcc noundef i32 @_ZN5ZXingL17ParseFormatStringERKNSt7__cxx111 %18 = load i64, ptr %17, align 8, !tbaa !15 %19 = getelementptr inbounds i8, ptr %16, i64 %18 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef %16, ptr noundef %19) #15 - to label %20 unwind label %169 + to label %20 unwind label %156 20: ; preds = %14 call void @llvm.experimental.noalias.scope.decl(metadata !26) @@ -488,7 +488,7 @@ define internal fastcc noundef i32 @_ZN5ZXingL17ParseFormatStringERKNSt7__cxx111 %24 = load i64, ptr %23, align 8, !tbaa !15, !noalias !26 %25 = getelementptr inbounds i8, ptr %22, i64 %24 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(32) %2, ptr noundef %22, ptr noundef %25) #15 - to label %26 unwind label %142 + to label %26 unwind label %129 26: ; preds = %20 %27 = getelementptr inbounds nuw i8, ptr %3, i64 16 @@ -526,11 +526,11 @@ define internal fastcc noundef i32 @_ZN5ZXingL17ParseFormatStringERKNSt7__cxx111 %44 = load i64, ptr %29, align 8, !tbaa !15, !noalias !26 %45 = icmp ult i64 %44, 16 call void @llvm.assume(i1 %45) - br label %154 + br label %141 46: ; preds = %39 call void @_ZdlPv(ptr noundef %41) #16 - br label %154 + br label %141 47: ; preds = %38, %35 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %2) @@ -542,7 +542,7 @@ define internal fastcc noundef i32 @_ZN5ZXingL17ParseFormatStringERKNSt7__cxx111 %51 = load i64, ptr %50, align 8, !tbaa !15 %52 = getelementptr inbounds i8, ptr %49, i64 %51 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef %49, ptr noundef %52) #15 - to label %.preheader unwind label %144 + to label %.preheader unwind label %131 .preheader: ; preds = %47, %74 %53 = phi i64 [ %76, %74 ], [ 5, %47 ] @@ -550,20 +550,20 @@ define internal fastcc noundef i32 @_ZN5ZXingL17ParseFormatStringERKNSt7__cxx111 %55 = getelementptr i8, ptr %54, i64 8 %.val = load i64, ptr %55, align 8, !tbaa !18 %56 = getelementptr i8, ptr %54, i64 16 - %.val13 = load ptr, ptr %56, align 8, !tbaa !19 + %.val13 = load ptr, ptr %56, align 16, !tbaa !19 %57 = invoke fastcc noundef zeroext i1 @"_ZN9__gnu_cxx5__ops10_Iter_predIZN5ZXingL17ParseFormatStringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EclIPNS2_17BarcodeFormatNameEEEbT_"(ptr noundef nonnull align 8 dereferenceable(32) %1, i64 %.val, ptr %.val13) #15 - to label %58 unwind label %115 + to label %58 unwind label %102 58: ; preds = %.preheader br i1 %57, label %.loopexit, label %59 59: ; preds = %58 %60 = getelementptr i8, ptr %54, i64 32 - %.val14 = load i64, ptr %60, align 8, !tbaa !18 + %.val14 = load i64, ptr %60, align 16, !tbaa !18 %61 = getelementptr i8, ptr %54, i64 40 %.val15 = load ptr, ptr %61, align 8, !tbaa !19 %62 = invoke fastcc noundef zeroext i1 @"_ZN9__gnu_cxx5__ops10_Iter_predIZN5ZXingL17ParseFormatStringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EclIPNS2_17BarcodeFormatNameEEEbT_"(ptr noundef nonnull align 8 dereferenceable(32) %1, i64 %.val14, ptr %.val15) #15 - to label %63 unwind label %115 + to label %63 unwind label %102 63: ; preds = %59 br i1 %62, label %.loopexit.split.loop.exit4, label %64 @@ -572,20 +572,20 @@ define internal fastcc noundef i32 @_ZN5ZXingL17ParseFormatStringERKNSt7__cxx111 %65 = getelementptr i8, ptr %54, i64 56 %.val16 = load i64, ptr %65, align 8, !tbaa !18 %66 = getelementptr i8, ptr %54, i64 64 - %.val17 = load ptr, ptr %66, align 8, !tbaa !19 + %.val17 = load ptr, ptr %66, align 16, !tbaa !19 %67 = invoke fastcc noundef zeroext i1 @"_ZN9__gnu_cxx5__ops10_Iter_predIZN5ZXingL17ParseFormatStringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EclIPNS2_17BarcodeFormatNameEEEbT_"(ptr noundef nonnull align 8 dereferenceable(32) %1, i64 %.val16, ptr %.val17) #15 - to label %68 unwind label %115 + to label %68 unwind label %102 68: ; preds = %64 br i1 %67, label %.loopexit.split.loop.exit6, label %69 69: ; preds = %68 %70 = getelementptr i8, ptr %54, i64 80 - %.val18 = load i64, ptr %70, align 8, !tbaa !18 + %.val18 = load i64, ptr %70, align 16, !tbaa !18 %71 = getelementptr i8, ptr %54, i64 88 %.val19 = load ptr, ptr %71, align 8, !tbaa !19 %72 = invoke fastcc noundef zeroext i1 @"_ZN9__gnu_cxx5__ops10_Iter_predIZN5ZXingL17ParseFormatStringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EclIPNS2_17BarcodeFormatNameEEEbT_"(ptr noundef nonnull align 8 dereferenceable(32) %1, i64 %.val18, ptr %.val19) #15 - to label %73 unwind label %115 + to label %73 unwind label %102 73: ; preds = %69 br i1 %72, label %.loopexit.split.loop.exit8, label %74 @@ -597,279 +597,253 @@ define internal fastcc noundef i32 @_ZN5ZXingL17ParseFormatStringERKNSt7__cxx111 br i1 %77, label %.preheader, label %78, !llvm.loop !29 78: ; preds = %74 - %79 = ptrtoint ptr %75 to i64 - %80 = sub i64 ptrtoint (ptr getelementptr inbounds nuw (i8, ptr @_ZN5ZXingL5NAMESE, i64 528) to i64), %79 - %81 = sdiv exact i64 %80, 24 - switch i64 %81, label %103 [ - i64 3, label %82 - i64 2, label %89 - i64 1, label %97 - ] - -82: ; preds = %78 - %83 = getelementptr i8, ptr %54, i64 104 - %.val20 = load i64, ptr %83, align 8, !tbaa !18 - %84 = getelementptr i8, ptr %54, i64 112 - %.val21 = load ptr, ptr %84, align 8, !tbaa !19 - %85 = invoke fastcc noundef zeroext i1 @"_ZN9__gnu_cxx5__ops10_Iter_predIZN5ZXingL17ParseFormatStringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EclIPNS2_17BarcodeFormatNameEEEbT_"(ptr noundef nonnull align 8 dereferenceable(32) %1, i64 %.val20, ptr %.val21) #15 - to label %86 unwind label %117 - -86: ; preds = %82 - br i1 %85, label %.loopexit, label %87 - -87: ; preds = %86 - %88 = getelementptr inbounds nuw i8, ptr %54, i64 120 - br label %89 - -89: ; preds = %87, %78 - %90 = phi ptr [ %75, %78 ], [ %88, %87 ] - %91 = getelementptr i8, ptr %90, i64 8 - %.val22 = load i64, ptr %91, align 8, !tbaa !18 - %92 = getelementptr i8, ptr %90, i64 16 - %.val23 = load ptr, ptr %92, align 8, !tbaa !19 - %93 = invoke fastcc noundef zeroext i1 @"_ZN9__gnu_cxx5__ops10_Iter_predIZN5ZXingL17ParseFormatStringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EclIPNS2_17BarcodeFormatNameEEEbT_"(ptr noundef nonnull align 8 dereferenceable(32) %1, i64 %.val22, ptr %.val23) #15 - to label %94 unwind label %117 - -94: ; preds = %89 - br i1 %93, label %.loopexit, label %95 - -95: ; preds = %94 - %96 = getelementptr inbounds nuw i8, ptr %90, i64 24 - br label %97 - -97: ; preds = %95, %78 - %98 = phi ptr [ %75, %78 ], [ %96, %95 ] - %99 = getelementptr i8, ptr %98, i64 8 - %.val24 = load i64, ptr %99, align 8, !tbaa !18 - %100 = getelementptr i8, ptr %98, i64 16 - %.val25 = load ptr, ptr %100, align 8, !tbaa !19 - %101 = invoke fastcc noundef zeroext i1 @"_ZN9__gnu_cxx5__ops10_Iter_predIZN5ZXingL17ParseFormatStringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EclIPNS2_17BarcodeFormatNameEEEbT_"(ptr noundef nonnull align 8 dereferenceable(32) %1, i64 %.val24, ptr %.val25) #15 - to label %102 unwind label %117 - -102: ; preds = %97 - br i1 %101, label %.loopexit, label %103 - -103: ; preds = %102, %78 + %cond = icmp eq ptr %75, inttoptr (i64 add (i64 ptrtoint (ptr getelementptr inbounds nuw (i8, ptr @_ZN5ZXingL5NAMESE, i64 528) to i64), i64 -48) to ptr) + br i1 %cond, label %79, label %90 + +79: ; preds = %78 + %80 = getelementptr i8, ptr %54, i64 104 + %.val20 = load i64, ptr %80, align 8, !tbaa !18 + %81 = getelementptr i8, ptr %54, i64 112 + %.val21 = load ptr, ptr %81, align 8, !tbaa !19 + %82 = invoke fastcc noundef zeroext i1 @"_ZN9__gnu_cxx5__ops10_Iter_predIZN5ZXingL17ParseFormatStringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EclIPNS2_17BarcodeFormatNameEEEbT_"(ptr noundef nonnull align 8 dereferenceable(32) %1, i64 %.val20, ptr %.val21) #15 + to label %83 unwind label %104 + +83: ; preds = %79 + br i1 %82, label %.loopexit, label %84 + +84: ; preds = %83 + %85 = getelementptr i8, ptr %54, i64 128 + %.val22 = load i64, ptr %85, align 8, !tbaa !18 + %86 = getelementptr i8, ptr %54, i64 136 + %.val23 = load ptr, ptr %86, align 8, !tbaa !19 + %87 = invoke fastcc noundef zeroext i1 @"_ZN9__gnu_cxx5__ops10_Iter_predIZN5ZXingL17ParseFormatStringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0EclIPNS2_17BarcodeFormatNameEEEbT_"(ptr noundef nonnull align 8 dereferenceable(32) %1, i64 %.val22, ptr %.val23) #15 + to label %88 unwind label %104 + +88: ; preds = %84 + %89 = getelementptr inbounds nuw i8, ptr %54, i64 120 + br i1 %87, label %.loopexit, label %90 + +90: ; preds = %78, %88 br label %.loopexit .loopexit.split.loop.exit4: ; preds = %63 - %104 = getelementptr inbounds nuw i8, ptr %54, i64 24 + %91 = getelementptr inbounds nuw i8, ptr %54, i64 24 br label %.loopexit .loopexit.split.loop.exit6: ; preds = %68 - %105 = getelementptr inbounds nuw i8, ptr %54, i64 48 + %92 = getelementptr inbounds nuw i8, ptr %54, i64 48 br label %.loopexit .loopexit.split.loop.exit8: ; preds = %73 - %106 = getelementptr inbounds nuw i8, ptr %54, i64 72 + %93 = getelementptr inbounds nuw i8, ptr %54, i64 72 br label %.loopexit -.loopexit: ; preds = %58, %.loopexit.split.loop.exit4, %.loopexit.split.loop.exit6, %.loopexit.split.loop.exit8, %103, %102, %94, %86 - %107 = phi ptr [ getelementptr inbounds nuw (i8, ptr @_ZN5ZXingL5NAMESE, i64 528), %103 ], [ %75, %86 ], [ %90, %94 ], [ %98, %102 ], [ %104, %.loopexit.split.loop.exit4 ], [ %105, %.loopexit.split.loop.exit6 ], [ %106, %.loopexit.split.loop.exit8 ], [ %54, %58 ] +.loopexit: ; preds = %58, %.loopexit.split.loop.exit4, %.loopexit.split.loop.exit6, %.loopexit.split.loop.exit8, %90, %88, %83 + %94 = phi ptr [ getelementptr inbounds nuw (i8, ptr @_ZN5ZXingL5NAMESE, i64 528), %90 ], [ inttoptr (i64 add (i64 ptrtoint (ptr getelementptr inbounds nuw (i8, ptr @_ZN5ZXingL5NAMESE, i64 528) to i64), i64 -48) to ptr), %83 ], [ %89, %88 ], [ %91, %.loopexit.split.loop.exit4 ], [ %92, %.loopexit.split.loop.exit6 ], [ %93, %.loopexit.split.loop.exit8 ], [ %54, %58 ] + %95 = load ptr, ptr %1, align 8, !tbaa !24 + %96 = icmp eq ptr %95, %48 + br i1 %96, label %97, label %101 + +97: ; preds = %.loopexit + %98 = getelementptr inbounds nuw i8, ptr %1, i64 8 + %99 = load i64, ptr %98, align 8, !tbaa !15 + %100 = icmp ult i64 %99, 16 + call void @llvm.assume(i1 %100) + br label %115 + +101: ; preds = %.loopexit + call void @_ZdlPv(ptr noundef %95) #16 + br label %115 + +102: ; preds = %69, %64, %59, %.preheader + %103 = landingpad { ptr, i32 } + cleanup + br label %106 + +104: ; preds = %84, %79 + %105 = landingpad { ptr, i32 } + cleanup + br label %106 + +106: ; preds = %104, %102 + %107 = phi { ptr, i32 } [ %103, %102 ], [ %105, %104 ] %108 = load ptr, ptr %1, align 8, !tbaa !24 %109 = icmp eq ptr %108, %48 br i1 %109, label %110, label %114 -110: ; preds = %.loopexit +110: ; preds = %106 %111 = getelementptr inbounds nuw i8, ptr %1, i64 8 %112 = load i64, ptr %111, align 8, !tbaa !15 %113 = icmp ult i64 %112, 16 call void @llvm.assume(i1 %113) - br label %128 + br label %133 -114: ; preds = %.loopexit +114: ; preds = %106 call void @_ZdlPv(ptr noundef %108) #16 - br label %128 - -115: ; preds = %69, %64, %59, %.preheader - %116 = landingpad { ptr, i32 } - cleanup - br label %119 - -117: ; preds = %97, %89, %82 - %118 = landingpad { ptr, i32 } - cleanup - br label %119 - -119: ; preds = %117, %115 - %120 = phi { ptr, i32 } [ %116, %115 ], [ %118, %117 ] - %121 = load ptr, ptr %1, align 8, !tbaa !24 - %122 = icmp eq ptr %121, %48 - br i1 %122, label %123, label %127 - -123: ; preds = %119 - %124 = getelementptr inbounds nuw i8, ptr %1, i64 8 - %125 = load i64, ptr %124, align 8, !tbaa !15 - %126 = icmp ult i64 %125, 16 - call void @llvm.assume(i1 %126) - br label %146 - -127: ; preds = %119 - call void @_ZdlPv(ptr noundef %121) #16 - br label %146 + br label %133 -128: ; preds = %114, %110 +115: ; preds = %101, %97 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %1) - %129 = load ptr, ptr %3, align 8, !tbaa !24 - %130 = icmp eq ptr %129, %27 - br i1 %130, label %131, label %134 - -131: ; preds = %128 - %132 = load i64, ptr %50, align 8, !tbaa !15 - %133 = icmp ult i64 %132, 16 - call void @llvm.assume(i1 %133) - br label %135 - -134: ; preds = %128 - call void @_ZdlPv(ptr noundef %129) #16 - br label %135 - -135: ; preds = %134, %131 - %136 = load ptr, ptr %4, align 8, !tbaa !24 - %137 = icmp eq ptr %136, %15 - br i1 %137, label %138, label %141 - -138: ; preds = %135 - %139 = load i64, ptr %23, align 8, !tbaa !15 - %140 = icmp ult i64 %139, 16 - call void @llvm.assume(i1 %140) - br label %162 - -141: ; preds = %135 - call void @_ZdlPv(ptr noundef %136) #16 - br label %162 - -142: ; preds = %20 - %143 = landingpad { ptr, i32 } + %116 = load ptr, ptr %3, align 8, !tbaa !24 + %117 = icmp eq ptr %116, %27 + br i1 %117, label %118, label %121 + +118: ; preds = %115 + %119 = load i64, ptr %50, align 8, !tbaa !15 + %120 = icmp ult i64 %119, 16 + call void @llvm.assume(i1 %120) + br label %122 + +121: ; preds = %115 + call void @_ZdlPv(ptr noundef %116) #16 + br label %122 + +122: ; preds = %121, %118 + %123 = load ptr, ptr %4, align 8, !tbaa !24 + %124 = icmp eq ptr %123, %15 + br i1 %124, label %125, label %128 + +125: ; preds = %122 + %126 = load i64, ptr %23, align 8, !tbaa !15 + %127 = icmp ult i64 %126, 16 + call void @llvm.assume(i1 %127) + br label %149 + +128: ; preds = %122 + call void @_ZdlPv(ptr noundef %123) #16 + br label %149 + +129: ; preds = %20 + %130 = landingpad { ptr, i32 } cleanup - br label %154 + br label %141 -144: ; preds = %47 - %145 = landingpad { ptr, i32 } +131: ; preds = %47 + %132 = landingpad { ptr, i32 } cleanup - br label %146 - -146: ; preds = %144, %127, %123 - %147 = phi { ptr, i32 } [ %145, %144 ], [ %120, %127 ], [ %120, %123 ] - %148 = load ptr, ptr %3, align 8, !tbaa !24 - %149 = icmp eq ptr %148, %27 - br i1 %149, label %150, label %153 - -150: ; preds = %146 - %151 = load i64, ptr %50, align 8, !tbaa !15 - %152 = icmp ult i64 %151, 16 - call void @llvm.assume(i1 %152) - br label %154 - -153: ; preds = %146 - call void @_ZdlPv(ptr noundef %148) #16 - br label %154 - -154: ; preds = %153, %150, %142, %46, %43 - %155 = phi { ptr, i32 } [ %143, %142 ], [ %40, %46 ], [ %40, %43 ], [ %147, %150 ], [ %147, %153 ] - %156 = load ptr, ptr %4, align 8, !tbaa !24 - %157 = icmp eq ptr %156, %15 - br i1 %157, label %158, label %161 - -158: ; preds = %154 - %159 = load i64, ptr %23, align 8, !tbaa !15 - %160 = icmp ult i64 %159, 16 - call void @llvm.assume(i1 %160) - br label %171 - -161: ; preds = %154 - call void @_ZdlPv(ptr noundef %156) #16 - br label %171 - -162: ; preds = %141, %138 + br label %133 + +133: ; preds = %131, %114, %110 + %134 = phi { ptr, i32 } [ %132, %131 ], [ %107, %114 ], [ %107, %110 ] + %135 = load ptr, ptr %3, align 8, !tbaa !24 + %136 = icmp eq ptr %135, %27 + br i1 %136, label %137, label %140 + +137: ; preds = %133 + %138 = load i64, ptr %50, align 8, !tbaa !15 + %139 = icmp ult i64 %138, 16 + call void @llvm.assume(i1 %139) + br label %141 + +140: ; preds = %133 + call void @_ZdlPv(ptr noundef %135) #16 + br label %141 + +141: ; preds = %140, %137, %129, %46, %43 + %142 = phi { ptr, i32 } [ %130, %129 ], [ %40, %46 ], [ %40, %43 ], [ %134, %137 ], [ %134, %140 ] + %143 = load ptr, ptr %4, align 8, !tbaa !24 + %144 = icmp eq ptr %143, %15 + br i1 %144, label %145, label %148 + +145: ; preds = %141 + %146 = load i64, ptr %23, align 8, !tbaa !15 + %147 = icmp ult i64 %146, 16 + call void @llvm.assume(i1 %147) + br label %158 + +148: ; preds = %141 + call void @_ZdlPv(ptr noundef %143) #16 + br label %158 + +149: ; preds = %128, %125 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) - %163 = load ptr, ptr %5, align 8, !tbaa !24 - %164 = icmp eq ptr %163, %9 - br i1 %164, label %165, label %168 - -165: ; preds = %162 - %166 = load i64, ptr %17, align 8, !tbaa !15 - %167 = icmp ult i64 %166, 16 - call void @llvm.assume(i1 %167) - br label %179 - -168: ; preds = %162 - call void @_ZdlPv(ptr noundef %163) #16 - br label %179 - -169: ; preds = %14 - %170 = landingpad { ptr, i32 } + %150 = load ptr, ptr %5, align 8, !tbaa !24 + %151 = icmp eq ptr %150, %9 + br i1 %151, label %152, label %155 + +152: ; preds = %149 + %153 = load i64, ptr %17, align 8, !tbaa !15 + %154 = icmp ult i64 %153, 16 + call void @llvm.assume(i1 %154) + br label %166 + +155: ; preds = %149 + call void @_ZdlPv(ptr noundef %150) #16 + br label %166 + +156: ; preds = %14 + %157 = landingpad { ptr, i32 } cleanup - br label %171 + br label %158 -171: ; preds = %169, %161, %158 - %172 = phi { ptr, i32 } [ %170, %169 ], [ %155, %161 ], [ %155, %158 ] - %173 = load ptr, ptr %5, align 8, !tbaa !24 - %174 = icmp eq ptr %173, %9 - br i1 %174, label %175, label %178 +158: ; preds = %156, %148, %145 + %159 = phi { ptr, i32 } [ %157, %156 ], [ %142, %148 ], [ %142, %145 ] + %160 = load ptr, ptr %5, align 8, !tbaa !24 + %161 = icmp eq ptr %160, %9 + br i1 %161, label %162, label %165 -175: ; preds = %171 - %176 = load i64, ptr %17, align 8, !tbaa !15 - %177 = icmp ult i64 %176, 16 - call void @llvm.assume(i1 %177) - br label %194 +162: ; preds = %158 + %163 = load i64, ptr %17, align 8, !tbaa !15 + %164 = icmp ult i64 %163, 16 + call void @llvm.assume(i1 %164) + br label %181 -178: ; preds = %171 - call void @_ZdlPv(ptr noundef %173) #16 - br label %194 +165: ; preds = %158 + call void @_ZdlPv(ptr noundef %160) #16 + br label %181 -179: ; preds = %168, %165 +166: ; preds = %155, %152 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) - %180 = load ptr, ptr %6, align 8, !tbaa !24 - %181 = icmp eq ptr %180, %7 - br i1 %181, label %182, label %185 - -182: ; preds = %179 - %183 = load i64, ptr %11, align 8, !tbaa !15 - %184 = icmp ult i64 %183, 16 - call void @llvm.assume(i1 %184) - br label %186 - -185: ; preds = %179 - call void @_ZdlPv(ptr noundef %180) #16 - br label %186 - -186: ; preds = %185, %182 - %187 = icmp eq ptr %107, getelementptr inbounds nuw (i8, ptr @_ZN5ZXingL5NAMESE, i64 528) - br i1 %187, label %190, label %188 - -188: ; preds = %186 - %189 = load i32, ptr %107, align 8, !tbaa !3 - br label %190 - -190: ; preds = %188, %186 - %191 = phi i32 [ %189, %188 ], [ 0, %186 ] - ret i32 %191 - -192: ; preds = %0 - %193 = landingpad { ptr, i32 } + %167 = load ptr, ptr %6, align 8, !tbaa !24 + %168 = icmp eq ptr %167, %7 + br i1 %168, label %169, label %172 + +169: ; preds = %166 + %170 = load i64, ptr %11, align 8, !tbaa !15 + %171 = icmp ult i64 %170, 16 + call void @llvm.assume(i1 %171) + br label %173 + +172: ; preds = %166 + call void @_ZdlPv(ptr noundef %167) #16 + br label %173 + +173: ; preds = %172, %169 + %174 = icmp eq ptr %94, getelementptr inbounds nuw (i8, ptr @_ZN5ZXingL5NAMESE, i64 528) + br i1 %174, label %177, label %175 + +175: ; preds = %173 + %176 = load i32, ptr %94, align 8, !tbaa !3 + br label %177 + +177: ; preds = %175, %173 + %178 = phi i32 [ %176, %175 ], [ 0, %173 ] + ret i32 %178 + +179: ; preds = %0 + %180 = landingpad { ptr, i32 } cleanup - br label %194 - -194: ; preds = %192, %178, %175 - %195 = phi { ptr, i32 } [ %193, %192 ], [ %172, %178 ], [ %172, %175 ] - %196 = load ptr, ptr %6, align 8, !tbaa !24 - %197 = icmp eq ptr %196, %7 - br i1 %197, label %198, label %201 - -198: ; preds = %194 - %199 = load i64, ptr %11, align 8, !tbaa !15 - %200 = icmp ult i64 %199, 16 - call void @llvm.assume(i1 %200) - br label %202 - -201: ; preds = %194 - call void @_ZdlPv(ptr noundef %196) #16 - br label %202 - -202: ; preds = %201, %198 - resume { ptr, i32 } %195 + br label %181 + +181: ; preds = %179, %165, %162 + %182 = phi { ptr, i32 } [ %180, %179 ], [ %159, %165 ], [ %159, %162 ] + %183 = load ptr, ptr %6, align 8, !tbaa !24 + %184 = icmp eq ptr %183, %7 + br i1 %184, label %185, label %188 + +185: ; preds = %181 + %186 = load i64, ptr %11, align 8, !tbaa !15 + %187 = icmp ult i64 %186, 16 + call void @llvm.assume(i1 %187) + br label %189 + +188: ; preds = %181 + call void @_ZdlPv(ptr noundef %183) #16 + br label %189 + +189: ; preds = %188, %185 + resume { ptr, i32 } %182 } ; Function Attrs: mustprogress optsize uwtable diff --git a/bench/zxing/optimized/CharacterSet.cpp.ll b/bench/zxing/optimized/CharacterSet.cpp.ll index 09e1a698da5..341bd2ad94a 100644 --- a/bench/zxing/optimized/CharacterSet.cpp.ll +++ b/bench/zxing/optimized/CharacterSet.cpp.ll @@ -76,13 +76,13 @@ define noundef zeroext i8 @_ZN5ZXing22CharacterSetFromStringESt17basic_string_vi call fastcc void @_ZN5ZXingL13NormalizeNameB5cxx11ESt17basic_string_viewIcSt11char_traitsIcEE(ptr dead_on_unwind noalias writable align 8 %8, i64 %0, ptr %1) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %8) - to label %.noexc unwind label %56 + to label %.noexc unwind label %49 .noexc: ; preds = %2 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) %7) - to label %.noexc.i unwind label %45 + to label %.noexc.i unwind label %38 .noexc.i: ; preds = %.noexc call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) @@ -92,12 +92,12 @@ define noundef zeroext i8 @_ZN5ZXing22CharacterSetFromStringESt17basic_string_vi call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %3) invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef nonnull align 8 dereferenceable(32) %5) - to label %.lr.ph.i.i.i.i unwind label %43 + to label %.lr.ph.i.i.i.i unwind label %36 .lr.ph.i.i.i.i: ; preds = %.noexc.i, %23 %.051.i.i.i.i = phi i64 [ %25, %23 ], [ 10, %.noexc.i ] %.02950.i.i.i.i = phi ptr [ %24, %23 ], [ @_ZN5ZXingL15NAME_TO_CHARSETE, %.noexc.i ] - %.029.val.i.i.i.i = load i64, ptr %.02950.i.i.i.i, align 8 + %.029.val.i.i.i.i = load i64, ptr %.02950.i.i.i.i, align 16 %9 = getelementptr i8, ptr %.02950.i.i.i.i, i64 8 %.029.val30.i.i.i.i = load ptr, ptr %9, align 8 %10 = invoke fastcc noundef zeroext i1 @"_ZN9__gnu_cxx5__ops10_Iter_predIZN5ZXing22CharacterSetFromStringESt17basic_string_viewIcSt11char_traitsIcEEE3$_0EclIPNS2_16CharacterSetNameEEEbT_"(ptr noundef nonnull align 8 dereferenceable(32) %3, i64 %.029.val.i.i.i.i, ptr %.029.val30.i.i.i.i) @@ -110,7 +110,7 @@ define noundef zeroext i8 @_ZN5ZXing22CharacterSetFromStringESt17basic_string_vi %12 = getelementptr inbounds nuw i8, ptr %.02950.i.i.i.i, i64 24 %.val.i.i.i.i = load i64, ptr %12, align 8 %13 = getelementptr i8, ptr %.02950.i.i.i.i, i64 32 - %.val31.i.i.i.i = load ptr, ptr %13, align 8 + %.val31.i.i.i.i = load ptr, ptr %13, align 16 %14 = invoke fastcc noundef zeroext i1 @"_ZN9__gnu_cxx5__ops10_Iter_predIZN5ZXing22CharacterSetFromStringESt17basic_string_viewIcSt11char_traitsIcEEE3$_0EclIPNS2_16CharacterSetNameEEEbT_"(ptr noundef nonnull align 8 dereferenceable(32) %3, i64 %.val.i.i.i.i, ptr %.val31.i.i.i.i) to label %.noexc2.i.i.i unwind label %.loopexit.i.i.i @@ -119,7 +119,7 @@ define noundef zeroext i8 @_ZN5ZXing22CharacterSetFromStringESt17basic_string_vi 15: ; preds = %.noexc2.i.i.i %16 = getelementptr inbounds nuw i8, ptr %.02950.i.i.i.i, i64 48 - %.val32.i.i.i.i = load i64, ptr %16, align 8 + %.val32.i.i.i.i = load i64, ptr %16, align 16 %17 = getelementptr i8, ptr %.02950.i.i.i.i, i64 56 %.val33.i.i.i.i = load ptr, ptr %17, align 8 %18 = invoke fastcc noundef zeroext i1 @"_ZN9__gnu_cxx5__ops10_Iter_predIZN5ZXing22CharacterSetFromStringESt17basic_string_viewIcSt11char_traitsIcEEE3$_0EclIPNS2_16CharacterSetNameEEEbT_"(ptr noundef nonnull align 8 dereferenceable(32) %3, i64 %.val32.i.i.i.i, ptr %.val33.i.i.i.i) @@ -132,7 +132,7 @@ define noundef zeroext i8 @_ZN5ZXing22CharacterSetFromStringESt17basic_string_vi %20 = getelementptr inbounds nuw i8, ptr %.02950.i.i.i.i, i64 72 %.val34.i.i.i.i = load i64, ptr %20, align 8 %21 = getelementptr i8, ptr %.02950.i.i.i.i, i64 80 - %.val35.i.i.i.i = load ptr, ptr %21, align 8 + %.val35.i.i.i.i = load ptr, ptr %21, align 16 %22 = invoke fastcc noundef zeroext i1 @"_ZN9__gnu_cxx5__ops10_Iter_predIZN5ZXing22CharacterSetFromStringESt17basic_string_viewIcSt11char_traitsIcEEE3$_0EclIPNS2_16CharacterSetNameEEEbT_"(ptr noundef nonnull align 8 dereferenceable(32) %3, i64 %.val34.i.i.i.i, ptr %.val35.i.i.i.i) to label %.noexc4.i.i.i unwind label %.loopexit.i.i.i @@ -146,108 +146,83 @@ define noundef zeroext i8 @_ZN5ZXing22CharacterSetFromStringESt17basic_string_vi br i1 %26, label %.lr.ph.i.i.i.i, label %._crit_edge.loopexit.i.i.i.i, !llvm.loop !7 ._crit_edge.loopexit.i.i.i.i: ; preds = %23 - %.pre.i.i.i.i = ptrtoint ptr %24 to i64 - %.pre56.i.i.i.i = sub i64 ptrtoint (ptr getelementptr inbounds nuw (i8, ptr @_ZN5ZXingL15NAME_TO_CHARSETE, i64 1008) to i64), %.pre.i.i.i.i - %27 = sdiv exact i64 %.pre56.i.i.i.i, 24 - switch i64 %27, label %41 [ - i64 3, label %28 - i64 2, label %33 - i64 1, label %38 - ] - -28: ; preds = %._crit_edge.loopexit.i.i.i.i - %.029.val36.i.i.i.i = load i64, ptr %24, align 8 - %29 = getelementptr i8, ptr %.02950.i.i.i.i, i64 104 - %.029.val37.i.i.i.i = load ptr, ptr %29, align 8 - %30 = invoke fastcc noundef zeroext i1 @"_ZN9__gnu_cxx5__ops10_Iter_predIZN5ZXing22CharacterSetFromStringESt17basic_string_viewIcSt11char_traitsIcEEE3$_0EclIPNS2_16CharacterSetNameEEEbT_"(ptr noundef nonnull align 8 dereferenceable(32) %3, i64 %.029.val36.i.i.i.i, ptr %.029.val37.i.i.i.i) - to label %.noexc5.i.i.i unwind label %.loopexit.split-lp.i.i.i - -.noexc5.i.i.i: ; preds = %28 - br i1 %30, label %.loopexit, label %31 - -31: ; preds = %.noexc5.i.i.i - %32 = getelementptr inbounds nuw i8, ptr %.02950.i.i.i.i, i64 120 - br label %33 - -33: ; preds = %31, %._crit_edge.loopexit.i.i.i.i - %.1.i.i.i.i = phi ptr [ %24, %._crit_edge.loopexit.i.i.i.i ], [ %32, %31 ] - %.1.val.i.i.i.i = load i64, ptr %.1.i.i.i.i, align 8 - %34 = getelementptr i8, ptr %.1.i.i.i.i, i64 8 - %.1.val38.i.i.i.i = load ptr, ptr %34, align 8 - %35 = invoke fastcc noundef zeroext i1 @"_ZN9__gnu_cxx5__ops10_Iter_predIZN5ZXing22CharacterSetFromStringESt17basic_string_viewIcSt11char_traitsIcEEE3$_0EclIPNS2_16CharacterSetNameEEEbT_"(ptr noundef nonnull align 8 dereferenceable(32) %3, i64 %.1.val.i.i.i.i, ptr %.1.val38.i.i.i.i) + %cond.i = icmp eq ptr %24, inttoptr (i64 add (i64 ptrtoint (ptr getelementptr inbounds nuw (i8, ptr @_ZN5ZXingL15NAME_TO_CHARSETE, i64 1008) to i64), i64 -48) to ptr) + br i1 %cond.i, label %27, label %34 + +27: ; preds = %._crit_edge.loopexit.i.i.i.i + %.1.val.i.i.i.i = load i64, ptr %24, align 8 + %28 = getelementptr i8, ptr %.02950.i.i.i.i, i64 104 + %.1.val38.i.i.i.i = load ptr, ptr %28, align 8 + %29 = invoke fastcc noundef zeroext i1 @"_ZN9__gnu_cxx5__ops10_Iter_predIZN5ZXing22CharacterSetFromStringESt17basic_string_viewIcSt11char_traitsIcEEE3$_0EclIPNS2_16CharacterSetNameEEEbT_"(ptr noundef nonnull align 8 dereferenceable(32) %3, i64 %.1.val.i.i.i.i, ptr %.1.val38.i.i.i.i) to label %.noexc6.i.i.i unwind label %.loopexit.split-lp.i.i.i -.noexc6.i.i.i: ; preds = %33 - br i1 %35, label %.loopexit, label %36 +.noexc6.i.i.i: ; preds = %27 + br i1 %29, label %.loopexit, label %30 -36: ; preds = %.noexc6.i.i.i - %37 = getelementptr inbounds nuw i8, ptr %.1.i.i.i.i, i64 24 - br label %38 - -38: ; preds = %36, %._crit_edge.loopexit.i.i.i.i - %.2.i.i.i.i = phi ptr [ %24, %._crit_edge.loopexit.i.i.i.i ], [ %37, %36 ] - %.2.val.i.i.i.i = load i64, ptr %.2.i.i.i.i, align 8 - %39 = getelementptr i8, ptr %.2.i.i.i.i, i64 8 - %.2.val39.i.i.i.i = load ptr, ptr %39, align 8 - %40 = invoke fastcc noundef zeroext i1 @"_ZN9__gnu_cxx5__ops10_Iter_predIZN5ZXing22CharacterSetFromStringESt17basic_string_viewIcSt11char_traitsIcEEE3$_0EclIPNS2_16CharacterSetNameEEEbT_"(ptr noundef nonnull align 8 dereferenceable(32) %3, i64 %.2.val.i.i.i.i, ptr %.2.val39.i.i.i.i) +30: ; preds = %.noexc6.i.i.i + %31 = getelementptr inbounds nuw i8, ptr %.02950.i.i.i.i, i64 120 + %.2.val.i.i.i.i = load i64, ptr %31, align 8 + %32 = getelementptr i8, ptr %.02950.i.i.i.i, i64 128 + %.2.val39.i.i.i.i = load ptr, ptr %32, align 8 + %33 = invoke fastcc noundef zeroext i1 @"_ZN9__gnu_cxx5__ops10_Iter_predIZN5ZXing22CharacterSetFromStringESt17basic_string_viewIcSt11char_traitsIcEEE3$_0EclIPNS2_16CharacterSetNameEEEbT_"(ptr noundef nonnull align 8 dereferenceable(32) %3, i64 %.2.val.i.i.i.i, ptr %.2.val39.i.i.i.i) to label %.noexc7.i.i.i unwind label %.loopexit.split-lp.i.i.i -.noexc7.i.i.i: ; preds = %38 - br i1 %40, label %.loopexit, label %41 +.noexc7.i.i.i: ; preds = %30 + br i1 %33, label %.loopexit, label %34 -41: ; preds = %.noexc7.i.i.i, %._crit_edge.loopexit.i.i.i.i +34: ; preds = %.noexc7.i.i.i, %._crit_edge.loopexit.i.i.i.i br label %.loopexit .loopexit.i.i.i: ; preds = %19, %15, %11, %.lr.ph.i.i.i.i %lpad.loopexit.i.i.i = landingpad { ptr, i32 } cleanup - br label %42 + br label %35 -.loopexit.split-lp.i.i.i: ; preds = %38, %33, %28 +.loopexit.split-lp.i.i.i: ; preds = %30, %27 %lpad.loopexit.split-lp.i.i.i = landingpad { ptr, i32 } cleanup - br label %42 + br label %35 -42: ; preds = %.loopexit.split-lp.i.i.i, %.loopexit.i.i.i +35: ; preds = %.loopexit.split-lp.i.i.i, %.loopexit.i.i.i %lpad.phi.i.i.i = phi { ptr, i32 } [ %lpad.loopexit.i.i.i, %.loopexit.i.i.i ], [ %lpad.loopexit.split-lp.i.i.i, %.loopexit.split-lp.i.i.i ] call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #9 br label %.body.i.i -43: ; preds = %.noexc.i - %44 = landingpad { ptr, i32 } +36: ; preds = %.noexc.i + %37 = landingpad { ptr, i32 } cleanup br label %.body.i.i -.body.i.i: ; preds = %43, %42 - %eh.lpad-body.i.i = phi { ptr, i32 } [ %44, %43 ], [ %lpad.phi.i.i.i, %42 ] +.body.i.i: ; preds = %36, %35 + %eh.lpad-body.i.i = phi { ptr, i32 } [ %37, %36 ], [ %lpad.phi.i.i.i, %35 ] call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #9 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #9 br label %.body.i -45: ; preds = %.noexc - %46 = landingpad { ptr, i32 } +38: ; preds = %.noexc + %39 = landingpad { ptr, i32 } cleanup br label %.body.i -.body.i: ; preds = %45, %.body.i.i - %eh.lpad-body.i = phi { ptr, i32 } [ %46, %45 ], [ %eh.lpad-body.i.i, %.body.i.i ] +.body.i: ; preds = %38, %.body.i.i + %eh.lpad-body.i = phi { ptr, i32 } [ %39, %38 ], [ %eh.lpad-body.i.i, %.body.i.i ] call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #9 br label %.body .loopexit.loopexit.split.loop.exit: ; preds = %.noexc2.i.i.i - %47 = getelementptr inbounds nuw i8, ptr %.02950.i.i.i.i, i64 24 + %40 = getelementptr inbounds nuw i8, ptr %.02950.i.i.i.i, i64 24 br label %.loopexit .loopexit.loopexit.split.loop.exit22: ; preds = %.noexc3.i.i.i - %48 = getelementptr inbounds nuw i8, ptr %.02950.i.i.i.i, i64 48 + %41 = getelementptr inbounds nuw i8, ptr %.02950.i.i.i.i, i64 48 br label %.loopexit .loopexit.loopexit.split.loop.exit24: ; preds = %.noexc4.i.i.i - %49 = getelementptr inbounds nuw i8, ptr %.02950.i.i.i.i, i64 72 + %42 = getelementptr inbounds nuw i8, ptr %.02950.i.i.i.i, i64 72 br label %.loopexit -.loopexit: ; preds = %.noexc.i.i.i, %.loopexit.loopexit.split.loop.exit, %.loopexit.loopexit.split.loop.exit22, %.loopexit.loopexit.split.loop.exit24, %41, %.noexc7.i.i.i, %.noexc6.i.i.i, %.noexc5.i.i.i - %.028.i.i.i.i = phi ptr [ getelementptr inbounds nuw (i8, ptr @_ZN5ZXingL15NAME_TO_CHARSETE, i64 1008), %41 ], [ %24, %.noexc5.i.i.i ], [ %.1.i.i.i.i, %.noexc6.i.i.i ], [ %.2.i.i.i.i, %.noexc7.i.i.i ], [ %47, %.loopexit.loopexit.split.loop.exit ], [ %48, %.loopexit.loopexit.split.loop.exit22 ], [ %49, %.loopexit.loopexit.split.loop.exit24 ], [ %.02950.i.i.i.i, %.noexc.i.i.i ] +.loopexit: ; preds = %.noexc.i.i.i, %.loopexit.loopexit.split.loop.exit, %.loopexit.loopexit.split.loop.exit22, %.loopexit.loopexit.split.loop.exit24, %34, %.noexc7.i.i.i, %.noexc6.i.i.i + %.028.i.i.i.i = phi ptr [ getelementptr inbounds nuw (i8, ptr @_ZN5ZXingL15NAME_TO_CHARSETE, i64 1008), %34 ], [ inttoptr (i64 add (i64 ptrtoint (ptr getelementptr inbounds nuw (i8, ptr @_ZN5ZXingL15NAME_TO_CHARSETE, i64 1008) to i64), i64 -48) to ptr), %.noexc6.i.i.i ], [ %31, %.noexc7.i.i.i ], [ %40, %.loopexit.loopexit.split.loop.exit ], [ %41, %.loopexit.loopexit.split.loop.exit22 ], [ %42, %.loopexit.loopexit.split.loop.exit24 ], [ %.02950.i.i.i.i, %.noexc.i.i.i ] call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #9 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #9 @@ -257,25 +232,25 @@ define noundef zeroext i8 @_ZN5ZXing22CharacterSetFromStringESt17basic_string_vi call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #9 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #9 - %50 = icmp eq ptr %.028.i.i.i.i, getelementptr inbounds nuw (i8, ptr @_ZN5ZXingL15NAME_TO_CHARSETE, i64 1008) - br i1 %50, label %54, label %51 + %43 = icmp eq ptr %.028.i.i.i.i, getelementptr inbounds nuw (i8, ptr @_ZN5ZXingL15NAME_TO_CHARSETE, i64 1008) + br i1 %43, label %47, label %44 -51: ; preds = %.loopexit - %52 = getelementptr inbounds nuw i8, ptr %.028.i.i.i.i, i64 16 - %53 = load i8, ptr %52, align 8 - br label %54 +44: ; preds = %.loopexit + %45 = getelementptr inbounds nuw i8, ptr %.028.i.i.i.i, i64 16 + %46 = load i8, ptr %45, align 8 + br label %47 -54: ; preds = %.loopexit, %51 - %55 = phi i8 [ %53, %51 ], [ 0, %.loopexit ] - ret i8 %55 +47: ; preds = %.loopexit, %44 + %48 = phi i8 [ %46, %44 ], [ 0, %.loopexit ] + ret i8 %48 -56: ; preds = %2 - %57 = landingpad { ptr, i32 } +49: ; preds = %2 + %50 = landingpad { ptr, i32 } cleanup br label %.body -.body: ; preds = %.body.i, %56 - %eh.lpad-body = phi { ptr, i32 } [ %57, %56 ], [ %eh.lpad-body.i, %.body.i ] +.body: ; preds = %.body.i, %49 + %eh.lpad-body = phi { ptr, i32 } [ %50, %49 ], [ %eh.lpad-body.i, %.body.i ] call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #9 resume { ptr, i32 } %eh.lpad-body } diff --git a/scripts/setup_pre_commit_patch.sh b/scripts/setup_pre_commit_patch.sh index c5409e09ef4..705e5ee2d94 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/123518 export COMPTIME_MODE=0 # Please rebase manually