Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions bench/assimp/optimized/FBXConverter.ll
Original file line number Diff line number Diff line change
Expand Up @@ -11729,7 +11729,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit7: ; preds = %19,
define linkonce_odr hidden { <2 x float>, float } @_ZNK6Assimp3FBX5Light5ColorEv(ptr noundef nonnull align 8 dereferenceable(72) %0) local_unnamed_addr #4 comdat align 2 personality ptr @__gxx_personality_v0 {
._crit_edge.i.i:
%1 = alloca %"class.std::__cxx11::basic_string", align 8
%.sroa.0 = alloca { float, float }, align 8
%.sroa.0 = alloca <2 x float>, align 8
%.sroa.7 = alloca float, align 4
%2 = getelementptr inbounds nuw i8, ptr %0, i64 56
%3 = load ptr, ptr %2, align 8
Expand Down Expand Up @@ -37853,15 +37853,15 @@ define hidden noundef ptr @_ZN6Assimp3FBX12FBXConverter22GenerateSimpleNodeAnimE
%17 = alloca %"class.std::vector.442", align 8
%18 = alloca %class.aiVector3t, align 8
%19 = alloca %"class.std::__cxx11::basic_string", align 8
%.sroa.0619 = alloca { float, float }, align 8
%.sroa.0619 = alloca <2 x float>, align 8
%.sroa.7620 = alloca float, align 4
%20 = alloca %class.aiVector3t, align 8
%21 = alloca %"class.std::__cxx11::basic_string", align 8
%.sroa.0615 = alloca { float, float }, align 8
%.sroa.0615 = alloca <2 x float>, align 8
%.sroa.7616 = alloca float, align 4
%22 = alloca %class.aiVector3t, align 8
%23 = alloca %"class.std::__cxx11::basic_string", align 8
%.sroa.0 = alloca { float, float }, align 8
%.sroa.0 = alloca <2 x float>, align 8
%.sroa.7 = alloca float, align 4
%24 = alloca %class.aiVector3t, align 8
%25 = alloca %"class.std::__cxx11::basic_string", align 8
Expand Down Expand Up @@ -44793,7 +44793,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit7: ; preds = %22,
define linkonce_odr hidden { <2 x float>, float } @_ZNK6Assimp3FBX18FileGlobalSettings12AmbientColorEv(ptr noundef nonnull align 8 dereferenceable(24) %0) local_unnamed_addr #4 comdat align 2 personality ptr @__gxx_personality_v0 {
._crit_edge.i.i:
%1 = alloca %"class.std::__cxx11::basic_string", align 8
%.sroa.0 = alloca { float, float }, align 8
%.sroa.0 = alloca <2 x float>, align 8
%.sroa.7 = alloca float, align 4
%2 = load ptr, ptr %0, align 8
call void @llvm.lifetime.start.p0(ptr nonnull %1)
Expand Down
102 changes: 51 additions & 51 deletions bench/box2d/optimized/sample_collision.ll
Original file line number Diff line number Diff line change
Expand Up @@ -873,19 +873,19 @@ _ZN13ShapeDistance9MakeProxyENS_9ShapeTypeEf.exit24: ; preds = %15
store float 0.000000e+00, ptr %25, align 4, !tbaa !89
%26 = load i64, ptr %17, align 8, !noalias !90
%27 = getelementptr inbounds nuw i8, ptr %0, i64 256
%28 = load i64, ptr %27, align 8, !noalias !90
%28 = load <2 x float>, ptr %27, align 8, !noalias !90
%29 = getelementptr inbounds nuw i8, ptr %0, i64 264
%30 = load i64, ptr %29, align 8, !noalias !90
%30 = load <2 x float>, ptr %29, align 8, !noalias !90
%31 = getelementptr inbounds nuw i8, ptr %0, i64 272
%32 = load i64, ptr %31, align 8, !noalias !90
%32 = load <2 x float>, ptr %31, align 8, !noalias !90
%33 = getelementptr inbounds nuw i8, ptr %0, i64 576
store i64 %26, ptr %33, align 8
%.sroa.731.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 584
store i64 %28, ptr %.sroa.731.0..sroa_idx, align 8
store <2 x float> %28, ptr %.sroa.731.0..sroa_idx, align 8
%.sroa.1032.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 592
store i64 %30, ptr %.sroa.1032.0..sroa_idx, align 8
store <2 x float> %30, ptr %.sroa.1032.0..sroa_idx, align 8
%.sroa.1233.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 600
store i64 %32, ptr %.sroa.1233.0..sroa_idx, align 8
store <2 x float> %32, ptr %.sroa.1233.0..sroa_idx, align 8
%.sroa.1334.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 608
call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.1334.0..sroa_idx, i8 0, i64 32, i1 false)
%.sroa.1335.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 640
Expand All @@ -895,11 +895,11 @@ _ZN13ShapeDistance9MakeProxyENS_9ShapeTypeEf.exit24: ; preds = %15
%34 = getelementptr inbounds nuw i8, ptr %0, i64 648
store i64 %26, ptr %34, align 8
%.sroa.7.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 656
store i64 %28, ptr %.sroa.7.0..sroa_idx, align 8
store <2 x float> %28, ptr %.sroa.7.0..sroa_idx, align 8
%.sroa.10.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 664
store i64 %30, ptr %.sroa.10.0..sroa_idx, align 8
store <2 x float> %30, ptr %.sroa.10.0..sroa_idx, align 8
%.sroa.12.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 672
store i64 %32, ptr %.sroa.12.0..sroa_idx, align 8
store <2 x float> %32, ptr %.sroa.12.0..sroa_idx, align 8
%.sroa.13.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 680
call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.13.0..sroa_idx, i8 0, i64 32, i1 false)
%.sroa.1327.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 712
Expand Down Expand Up @@ -1322,12 +1322,12 @@ define linkonce_odr dso_local void @_ZN13ShapeDistance8UpdateUIEv(ptr noundef no
%4 = alloca %struct.ImVec2, align 4
%5 = alloca [4 x ptr], align 16
%6 = alloca i32, align 4
%.sroa.716 = alloca %struct.b2Vec2, align 8
%.sroa.1017 = alloca %struct.b2Vec2, align 8
%.sroa.1218 = alloca %struct.b2Vec2, align 8
%.sroa.7 = alloca %struct.b2Vec2, align 8
%.sroa.10 = alloca %struct.b2Vec2, align 8
%.sroa.12 = alloca %struct.b2Vec2, align 8
%.sroa.716 = alloca <2 x float>, align 8
%.sroa.1017 = alloca <2 x float>, align 8
%.sroa.1218 = alloca <2 x float>, align 8
%.sroa.7 = alloca <2 x float>, align 8
%.sroa.10 = alloca <2 x float>, align 8
%.sroa.12 = alloca <2 x float>, align 8
call void @llvm.lifetime.start.p0(ptr nonnull %2)
%7 = load i32, ptr getelementptr inbounds nuw (i8, ptr @g_camera, i64 16), align 4, !tbaa !123
%8 = sitofp i32 %7 to float
Expand Down Expand Up @@ -1368,9 +1368,9 @@ define linkonce_odr dso_local void @_ZN13ShapeDistance8UpdateUIEv(ptr noundef no
%20 = getelementptr inbounds nuw i8, ptr %0, i64 568
%21 = load float, ptr %20, align 8, !tbaa !88
call void @llvm.experimental.noalias.scope.decl(metadata !127)
store i64 0, ptr %.sroa.716, align 8
store i64 0, ptr %.sroa.1017, align 8
store i64 0, ptr %.sroa.1218, align 8
store <2 x float> zeroinitializer, ptr %.sroa.716, align 8, !alias.scope !127
store <2 x float> zeroinitializer, ptr %.sroa.1017, align 8, !alias.scope !127
store <2 x float> zeroinitializer, ptr %.sroa.1218, align 8, !alias.scope !127
switch i32 %19, label %_ZN13ShapeDistance9MakeProxyENS_9ShapeTypeEf.exit [
i32 0, label %.sink.split.i
i32 1, label %22
Expand All @@ -1387,19 +1387,19 @@ define linkonce_odr dso_local void @_ZN13ShapeDistance8UpdateUIEv(ptr noundef no
%26 = getelementptr inbounds nuw i8, ptr %0, i64 392
%27 = load i64, ptr %26, align 8, !noalias !127
%28 = getelementptr inbounds nuw i8, ptr %0, i64 400
%29 = load i64, ptr %28, align 8, !noalias !127
store i64 %29, ptr %.sroa.716, align 8, !alias.scope !127
%29 = load <2 x float>, ptr %28, align 8, !noalias !127
store <2 x float> %29, ptr %.sroa.716, align 8, !alias.scope !127
br label %.sink.split.sink.split.i

30: ; preds = %18
%31 = getelementptr inbounds nuw i8, ptr %0, i64 248
%32 = load i64, ptr %31, align 8, !noalias !127
%33 = getelementptr inbounds nuw i8, ptr %0, i64 256
%34 = load i64, ptr %33, align 8, !noalias !127
store i64 %34, ptr %.sroa.716, align 8, !alias.scope !127
%34 = load <2 x float>, ptr %33, align 8, !noalias !127
store <2 x float> %34, ptr %.sroa.716, align 8, !alias.scope !127
%35 = getelementptr inbounds nuw i8, ptr %0, i64 264
%36 = load i64, ptr %35, align 8, !noalias !127
store i64 %36, ptr %.sroa.1017, align 8, !alias.scope !127
%36 = load <2 x float>, ptr %35, align 8, !noalias !127
store <2 x float> %36, ptr %.sroa.1017, align 8, !alias.scope !127
br label %.sink.split.sink.split.i

.sink.split.sink.split.i: ; preds = %30, %25, %22
Expand All @@ -1410,28 +1410,28 @@ define linkonce_odr dso_local void @_ZN13ShapeDistance8UpdateUIEv(ptr noundef no
%37 = getelementptr inbounds nuw i8, ptr %0, i64 %.sink7.i
%38 = load i64, ptr %37, align 8, !noalias !127
store i64 %38, ptr %.sink6.i.sroa.phi, align 8, !alias.scope !127
%.sroa.716.0..sroa.716.0..pre = load i64, ptr %.sroa.716, align 8
%.sroa.1017.0..sroa.1017.0..pre = load i64, ptr %.sroa.1017, align 8
%.sroa.1218.0..sroa.1218.0..pre = load i64, ptr %.sroa.1218, align 8
%.sroa.716.0..sroa.716.0..pre = load <2 x float>, ptr %.sroa.716, align 8
%.sroa.1017.0..sroa.1017.0..pre = load <2 x float>, ptr %.sroa.1017, align 8
%.sroa.1218.0..sroa.1218.0..pre = load <2 x float>, ptr %.sroa.1218, align 8
br label %_ZN13ShapeDistance9MakeProxyENS_9ShapeTypeEf.exit

.sink.split.i: ; preds = %18
br label %_ZN13ShapeDistance9MakeProxyENS_9ShapeTypeEf.exit

_ZN13ShapeDistance9MakeProxyENS_9ShapeTypeEf.exit: ; preds = %.sink.split.sink.split.i, %18, %.sink.split.i
%.sroa.1218.0. = phi i64 [ 0, %18 ], [ %.sroa.1218.0..sroa.1218.0..pre, %.sink.split.sink.split.i ], [ 0, %.sink.split.i ]
%.sroa.1017.0. = phi i64 [ 0, %18 ], [ %.sroa.1017.0..sroa.1017.0..pre, %.sink.split.sink.split.i ], [ 0, %.sink.split.i ]
%.sroa.716.0. = phi i64 [ 0, %18 ], [ %.sroa.716.0..sroa.716.0..pre, %.sink.split.sink.split.i ], [ 0, %.sink.split.i ]
%.sroa.1218.0. = phi <2 x float> [ zeroinitializer, %18 ], [ %.sroa.1218.0..sroa.1218.0..pre, %.sink.split.sink.split.i ], [ zeroinitializer, %.sink.split.i ]
%.sroa.1017.0. = phi <2 x float> [ zeroinitializer, %18 ], [ %.sroa.1017.0..sroa.1017.0..pre, %.sink.split.sink.split.i ], [ zeroinitializer, %.sink.split.i ]
%.sroa.716.0. = phi <2 x float> [ zeroinitializer, %18 ], [ %.sroa.716.0..sroa.716.0..pre, %.sink.split.sink.split.i ], [ zeroinitializer, %.sink.split.i ]
%.sroa.1320.0 = phi i32 [ 0, %18 ], [ %.sink.ph.i, %.sink.split.sink.split.i ], [ 1, %.sink.split.i ]
%.sroa.015.2 = phi i64 [ 0, %18 ], [ %.sroa.015.0, %.sink.split.sink.split.i ], [ 0, %.sink.split.i ]
%39 = getelementptr inbounds nuw i8, ptr %0, i64 576
store i64 %.sroa.015.2, ptr %39, align 8
%.sroa.716.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 584
store i64 %.sroa.716.0., ptr %.sroa.716.0..sroa_idx, align 8
store <2 x float> %.sroa.716.0., ptr %.sroa.716.0..sroa_idx, align 8
%.sroa.1017.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 592
store i64 %.sroa.1017.0., ptr %.sroa.1017.0..sroa_idx, align 8
store <2 x float> %.sroa.1017.0., ptr %.sroa.1017.0..sroa_idx, align 8
%.sroa.1218.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 600
store i64 %.sroa.1218.0., ptr %.sroa.1218.0..sroa_idx, align 8
store <2 x float> %.sroa.1218.0., ptr %.sroa.1218.0..sroa_idx, align 8
%.sroa.1319.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 608
call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.1319.0..sroa_idx, i8 0, i64 32, i1 false)
%.sroa.1320.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 640
Expand Down Expand Up @@ -1470,9 +1470,9 @@ _ZN13ShapeDistance9MakeProxyENS_9ShapeTypeEf.exit: ; preds = %.sink.split.sink.s
%52 = getelementptr inbounds nuw i8, ptr %0, i64 572
%53 = load float, ptr %52, align 4, !tbaa !89
call void @llvm.experimental.noalias.scope.decl(metadata !131)
store i64 0, ptr %.sroa.7, align 8
store i64 0, ptr %.sroa.10, align 8
store i64 0, ptr %.sroa.12, align 8
store <2 x float> zeroinitializer, ptr %.sroa.7, align 8, !alias.scope !131
store <2 x float> zeroinitializer, ptr %.sroa.10, align 8, !alias.scope !131
store <2 x float> zeroinitializer, ptr %.sroa.12, align 8, !alias.scope !131
switch i32 %51, label %_ZN13ShapeDistance9MakeProxyENS_9ShapeTypeEf.exit9 [
i32 0, label %.sink.split.i7
i32 1, label %54
Expand All @@ -1489,19 +1489,19 @@ _ZN13ShapeDistance9MakeProxyENS_9ShapeTypeEf.exit: ; preds = %.sink.split.sink.s
%58 = getelementptr inbounds nuw i8, ptr %0, i64 392
%59 = load i64, ptr %58, align 8, !noalias !131
%60 = getelementptr inbounds nuw i8, ptr %0, i64 400
%61 = load i64, ptr %60, align 8, !noalias !131
store i64 %61, ptr %.sroa.7, align 8, !alias.scope !131
%61 = load <2 x float>, ptr %60, align 8, !noalias !131
store <2 x float> %61, ptr %.sroa.7, align 8, !alias.scope !131
br label %.sink.split.sink.split.i3

62: ; preds = %50
%63 = getelementptr inbounds nuw i8, ptr %0, i64 248
%64 = load i64, ptr %63, align 8, !noalias !131
%65 = getelementptr inbounds nuw i8, ptr %0, i64 256
%66 = load i64, ptr %65, align 8, !noalias !131
store i64 %66, ptr %.sroa.7, align 8, !alias.scope !131
%66 = load <2 x float>, ptr %65, align 8, !noalias !131
store <2 x float> %66, ptr %.sroa.7, align 8, !alias.scope !131
%67 = getelementptr inbounds nuw i8, ptr %0, i64 264
%68 = load i64, ptr %67, align 8, !noalias !131
store i64 %68, ptr %.sroa.10, align 8, !alias.scope !131
%68 = load <2 x float>, ptr %67, align 8, !noalias !131
store <2 x float> %68, ptr %.sroa.10, align 8, !alias.scope !131
br label %.sink.split.sink.split.i3

.sink.split.sink.split.i3: ; preds = %62, %57, %54
Expand All @@ -1512,28 +1512,28 @@ _ZN13ShapeDistance9MakeProxyENS_9ShapeTypeEf.exit: ; preds = %.sink.split.sink.s
%69 = getelementptr inbounds nuw i8, ptr %0, i64 %.sink7.i4
%70 = load i64, ptr %69, align 8, !noalias !131
store i64 %70, ptr %.sink6.i5.sroa.phi, align 8, !alias.scope !131
%.sroa.7.0..sroa.7.0..pre = load i64, ptr %.sroa.7, align 8
%.sroa.10.0..sroa.10.0..pre = load i64, ptr %.sroa.10, align 8
%.sroa.12.0..sroa.12.0..pre = load i64, ptr %.sroa.12, align 8
%.sroa.7.0..sroa.7.0..pre = load <2 x float>, ptr %.sroa.7, align 8
%.sroa.10.0..sroa.10.0..pre = load <2 x float>, ptr %.sroa.10, align 8
%.sroa.12.0..sroa.12.0..pre = load <2 x float>, ptr %.sroa.12, align 8
br label %_ZN13ShapeDistance9MakeProxyENS_9ShapeTypeEf.exit9

.sink.split.i7: ; preds = %50
br label %_ZN13ShapeDistance9MakeProxyENS_9ShapeTypeEf.exit9

_ZN13ShapeDistance9MakeProxyENS_9ShapeTypeEf.exit9: ; preds = %.sink.split.sink.split.i3, %50, %.sink.split.i7
%.sroa.12.0. = phi i64 [ 0, %50 ], [ %.sroa.12.0..sroa.12.0..pre, %.sink.split.sink.split.i3 ], [ 0, %.sink.split.i7 ]
%.sroa.10.0. = phi i64 [ 0, %50 ], [ %.sroa.10.0..sroa.10.0..pre, %.sink.split.sink.split.i3 ], [ 0, %.sink.split.i7 ]
%.sroa.7.0. = phi i64 [ 0, %50 ], [ %.sroa.7.0..sroa.7.0..pre, %.sink.split.sink.split.i3 ], [ 0, %.sink.split.i7 ]
%.sroa.12.0. = phi <2 x float> [ zeroinitializer, %50 ], [ %.sroa.12.0..sroa.12.0..pre, %.sink.split.sink.split.i3 ], [ zeroinitializer, %.sink.split.i7 ]
%.sroa.10.0. = phi <2 x float> [ zeroinitializer, %50 ], [ %.sroa.10.0..sroa.10.0..pre, %.sink.split.sink.split.i3 ], [ zeroinitializer, %.sink.split.i7 ]
%.sroa.7.0. = phi <2 x float> [ zeroinitializer, %50 ], [ %.sroa.7.0..sroa.7.0..pre, %.sink.split.sink.split.i3 ], [ zeroinitializer, %.sink.split.i7 ]
%.sroa.0.2 = phi i64 [ 0, %50 ], [ %.sroa.0.0, %.sink.split.sink.split.i3 ], [ 0, %.sink.split.i7 ]
%.sroa.1312.0 = phi i32 [ 0, %50 ], [ %.sink.ph.i6, %.sink.split.sink.split.i3 ], [ 1, %.sink.split.i7 ]
%71 = getelementptr inbounds nuw i8, ptr %0, i64 648
store i64 %.sroa.0.2, ptr %71, align 8
%.sroa.7.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 656
store i64 %.sroa.7.0., ptr %.sroa.7.0..sroa_idx, align 8
store <2 x float> %.sroa.7.0., ptr %.sroa.7.0..sroa_idx, align 8
%.sroa.10.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 664
store i64 %.sroa.10.0., ptr %.sroa.10.0..sroa_idx, align 8
store <2 x float> %.sroa.10.0., ptr %.sroa.10.0..sroa_idx, align 8
%.sroa.12.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 672
store i64 %.sroa.12.0., ptr %.sroa.12.0..sroa_idx, align 8
store <2 x float> %.sroa.12.0., ptr %.sroa.12.0..sroa_idx, align 8
%.sroa.13.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 680
call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.13.0..sroa_idx, i8 0, i64 32, i1 false)
%.sroa.1312.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 712
Expand Down
7 changes: 2 additions & 5 deletions bench/bullet3/optimized/b3DynamicBvhBroadphase.ll
Original file line number Diff line number Diff line change
Expand Up @@ -2940,7 +2940,6 @@ define linkonce_odr dso_local void @_ZN20BroadphaseAabbTester7ProcessEPK10b3Dbvt

; Function Attrs: mustprogress uwtable
define linkonce_odr dso_local void @_ZN20b3AlignedObjectArrayI6b3Int4E17quickSortInternalI29b3BroadphasePairSortPredicateEEvRKT_ii(ptr noundef nonnull align 8 dereferenceable(25) %0, ptr noundef nonnull align 1 dereferenceable(1) %1, i32 noundef %2, i32 noundef %3) local_unnamed_addr #0 comdat align 2 {
%.sroa.0.i = alloca %struct.anon.10, align 16
%5 = getelementptr inbounds nuw i8, ptr %0, i64 16
br label %tailrecurse

Expand Down Expand Up @@ -3012,13 +3011,11 @@ _ZNK29b3BroadphasePairSortPredicateclERK6b3Int4S2_.exit34.thread: ; preds = %24,
br i1 %.not, label %41, label %36

36: ; preds = %33
call void @llvm.lifetime.start.p0(ptr nonnull %.sroa.0.i)
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %.sroa.0.i, ptr noundef nonnull align 16 dereferenceable(16) %15, i64 16, i1 false), !tbaa.struct !48
%.sroa.0.i.sroa.0.0.copyload = load <4 x i32>, ptr %15, align 16, !tbaa !49
tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %15, ptr noundef nonnull align 16 dereferenceable(16) %25, i64 16, i1 false), !tbaa.struct !48
%37 = load ptr, ptr %5, align 8, !tbaa !98
%38 = getelementptr inbounds %struct.b3Int4, ptr %37, i64 %indvars.iv46
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %38, ptr noundef nonnull align 16 dereferenceable(16) %.sroa.0.i, i64 16, i1 false), !tbaa.struct !48
call void @llvm.lifetime.end.p0(ptr nonnull %.sroa.0.i)
store <4 x i32> %.sroa.0.i.sroa.0.0.copyload, ptr %38, align 16, !tbaa !49
%39 = add nsw i32 %34, 1
%40 = add nsw i32 %35, -1
br label %41
Expand Down
Loading