Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pre-commit: PR120888 #1892

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
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
1 change: 1 addition & 0 deletions bench/abc/optimized/FxchMan.c.ll
Original file line number Diff line number Diff line change
Expand Up @@ -1389,6 +1389,7 @@ define internal fastcc void @Fxch_ManDivSingleCube(ptr noundef %0, i32 noundef %
%14 = getelementptr inbounds nuw i8, ptr %0, i64 112
%.not = icmp eq i32 %2, 0
%15 = getelementptr inbounds nuw i8, ptr %0, i64 200
call void @llvm.assume(i1 true) [ "dereferenceable"(ptr %11, i64 0) ]
br label %17

.critedge2.loopexit.loopexit: ; preds = %.loopexit
Expand Down
16 changes: 10 additions & 6 deletions bench/abseil-cpp/optimized/cord_test.cc.ll
Original file line number Diff line number Diff line change
Expand Up @@ -65208,16 +65208,16 @@ for.body600: ; preds = %invoke.cont598
store i64 %retval.sroa.0.0.copyload.i, ptr %chunk, align 8
store ptr %retval.sroa.2.0.copyload.i, ptr %376, align 8
%cmp.i9311161 = icmp eq i64 %retval.sroa.0.0.copyload.i, 0
br i1 %cmp.i9311161, label %for.inc631, label %while.body605.preheader
br i1 %cmp.i9311161, label %for.inc631, label %while.body605.lr.ph

while.body605.preheader: ; preds = %for.body600
while.body605.lr.ph: ; preds = %for.body600
%retval.sroa.0.0.copyload.i.i.pre = load i64, ptr %it589, align 8
br label %while.body605

while.body605: ; preds = %while.body605.preheader, %_ZN4absl4Cord12CharIteratorppEv.exit969
%agg.tmp1.sroa.2.0.copyload.i.i = phi ptr [ %add.ptr.i, %_ZN4absl4Cord12CharIteratorppEv.exit969 ], [ %retval.sroa.2.0.copyload.i, %while.body605.preheader ]
%retval.sroa.0.0.copyload.i.i = phi i64 [ %retval.sroa.0.0.copyload.i.i1174, %_ZN4absl4Cord12CharIteratorppEv.exit969 ], [ %retval.sroa.0.0.copyload.i.i.pre, %while.body605.preheader ]
%379 = phi i64 [ %sub.i, %_ZN4absl4Cord12CharIteratorppEv.exit969 ], [ %retval.sroa.0.0.copyload.i, %while.body605.preheader ]
while.body605: ; preds = %while.body605.lr.ph, %_ZN4absl4Cord12CharIteratorppEv.exit969
%agg.tmp1.sroa.2.0.copyload.i.i = phi ptr [ %retval.sroa.2.0.copyload.i, %while.body605.lr.ph ], [ %add.ptr.i, %_ZN4absl4Cord12CharIteratorppEv.exit969 ]
%retval.sroa.0.0.copyload.i.i = phi i64 [ %retval.sroa.0.0.copyload.i.i.pre, %while.body605.lr.ph ], [ %retval.sroa.0.0.copyload.i.i1174, %_ZN4absl4Cord12CharIteratorppEv.exit969 ]
%379 = phi i64 [ %retval.sroa.0.0.copyload.i, %while.body605.lr.ph ], [ %sub.i, %_ZN4absl4Cord12CharIteratorppEv.exit969 ]
%retval.sroa.2.0.copyload.i.i = load ptr, ptr %retval.sroa.2.0.current_chunk_.sroa_idx.i.i, align 8
store i64 %retval.sroa.0.0.copyload.i.i, ptr %ref.tmp607, align 8
store ptr %retval.sroa.2.0.copyload.i.i, ptr %377, align 8
Expand Down Expand Up @@ -78910,6 +78910,7 @@ _ZN4absl13cord_internal8EdgeDataEPKNS0_7CordRepE.exit.i.i2205: ; preds = %cond.f

invoke.cont874.thread: ; preds = %if.then.i2188
call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(152) %ref.tmp873, i8 0, i64 16, i1 false)
call void @llvm.assume(i1 true) [ "dereferenceable"(ptr %ref.tmp873, i64 64) ]
br label %_ZN4absl10StartsWithESt17basic_string_viewIcSt11char_traitsIcEES3_.exit1400.thread2897

if.else6.i2270: ; preds = %for.end869
Expand All @@ -78924,6 +78925,7 @@ invoke.cont874: ; preds = %_ZN4absl13cord_inte
%retval.sroa.3.0.i.sink.i.i2210.sink = phi ptr [ %spec.select.i.i2275, %if.else6.i2270 ], [ %retval.sroa.3.0.i.i.i2207, %_ZN4absl13cord_internal8EdgeDataEPKNS0_7CordRepE.exit.i.i2205 ], [ %retval.sroa.3.0.i.i.i.i2257, %_ZN4absl13cord_internal18CordRepBtreeReader4InitEPNS0_12CordRepBtreeE.exit.i.i2255 ]
store i64 %.sink.i.i2209.sink, ptr %ref.tmp873, align 8
store ptr %retval.sroa.3.0.i.sink.i.i2210.sink, ptr %ref.tmp4.sroa.2.0.current_chunk_6.sroa_idx.i.i2211, align 8
call void @llvm.assume(i1 true) [ "dereferenceable"(ptr %ref.tmp873, i64 64) ]
%cmp.not.i1396 = icmp ult i64 %.sink.i.i2209.sink, 5
br i1 %cmp.not.i1396, label %_ZN4absl10StartsWithESt17basic_string_viewIcSt11char_traitsIcEES3_.exit1400.thread2897, label %_ZN4absl10StartsWithESt17basic_string_viewIcSt11char_traitsIcEES3_.exit1400

Expand Down Expand Up @@ -79970,10 +79972,12 @@ if.then5.i.i1543.invoke.cont978_crit_edge: ; preds = %if.then5.i.i1543

invoke.cont978.thread: ; preds = %if.else.i.i1532, %_ZNK4absl13cord_internal18CordRepBtreeReadercvbEv.exit.i.i1538
store i64 0, ptr %bytes_remaining_.i2377, align 8
call void @llvm.assume(i1 true) [ "dereferenceable"(ptr %char_it, i64 64) ]
br label %_ZN4absl10StartsWithESt17basic_string_viewIcSt11char_traitsIcEES3_.exit1560.thread2912

invoke.cont978: ; preds = %if.then5.i.i1543.invoke.cont978_crit_edge, %if.then.i.i1544
%retval.sroa.0.0.copyload.i.i = phi i64 [ %retval.sroa.0.0.copyload.i.i.pre, %if.then5.i.i1543.invoke.cont978_crit_edge ], [ %sub.i.i.i.i1547, %if.then.i.i1544 ]
call void @llvm.assume(i1 true) [ "dereferenceable"(ptr %char_it, i64 64) ]
%cmp.not.i1556 = icmp ult i64 %retval.sroa.0.0.copyload.i.i, 3
br i1 %cmp.not.i1556, label %_ZN4absl10StartsWithESt17basic_string_viewIcSt11char_traitsIcEES3_.exit1560.thread2912, label %_ZN4absl10StartsWithESt17basic_string_viewIcSt11char_traitsIcEES3_.exit1560

Expand Down
65 changes: 35 additions & 30 deletions bench/actix-rs/optimized/4zcw438fefceam0r.ll
Original file line number Diff line number Diff line change
Expand Up @@ -4838,8 +4838,9 @@ define hidden void @_ZN2h25proto7streams5store5Store12try_for_each17h2b1d65e28ce
br i1 %.not, label %._crit_edge, label %.lr.ph

.lr.ph: ; preds = %4
%37 = getelementptr inbounds nuw i8, ptr %1, i64 56
%38 = getelementptr inbounds nuw i8, ptr %1, i64 48
%37 = getelementptr inbounds nuw i8, ptr %1, i64 48
%38 = getelementptr inbounds nuw i8, ptr %1, i64 56
call void @llvm.assume(i1 true) [ "dereferenceable"(ptr %37, i64 0) ]
%.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %34, i64 8
%.sroa.58.0..sroa_idx = getelementptr inbounds nuw i8, ptr %34, i64 12
%.sroa.5.0..sroa_idx2.i = getelementptr inbounds nuw i8, ptr %31, i64 8
Expand Down Expand Up @@ -4932,7 +4933,7 @@ define hidden void @_ZN2h25proto7streams5store5Store12try_for_each17h2b1d65e28ce
92: ; preds = %.lr.ph, %266
%.069 = phi i64 [ 0, %.lr.ph ], [ %.1, %266 ]
%.02368 = phi i64 [ %36, %.lr.ph ], [ %.124, %266 ]
%93 = load i64, ptr %37, align 8, !alias.scope !479, !noundef !4
%93 = load i64, ptr %38, align 8, !alias.scope !479, !noundef !4
%.not.i.not = icmp ult i64 %.069, %93
br i1 %.not.i.not, label %96, label %95

Expand All @@ -4944,7 +4945,7 @@ define hidden void @_ZN2h25proto7streams5store5Store12try_for_each17h2b1d65e28ce
unreachable

96: ; preds = %92
%97 = load ptr, ptr %38, align 8, !alias.scope !479, !nonnull !4
%97 = load ptr, ptr %37, align 8, !alias.scope !479, !nonnull !4
%98 = getelementptr inbounds { i64, i32, i32 }, ptr %97, i64 %.069
%99 = getelementptr inbounds nuw i8, ptr %98, i64 8
%100 = getelementptr inbounds nuw i8, ptr %98, i64 12
Expand Down Expand Up @@ -5467,8 +5468,9 @@ define hidden void @_ZN2h25proto7streams5store5Store12try_for_each17h36989e10fc0
br i1 %.not, label %._crit_edge, label %.lr.ph

.lr.ph: ; preds = %3
%7 = getelementptr inbounds nuw i8, ptr %1, i64 56
%8 = getelementptr inbounds nuw i8, ptr %1, i64 48
%7 = getelementptr inbounds nuw i8, ptr %1, i64 48
%8 = getelementptr inbounds nuw i8, ptr %1, i64 56
call void @llvm.assume(i1 true) [ "dereferenceable"(ptr %7, i64 0) ]
%.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %4, i64 8
%.sroa.58.0..sroa_idx = getelementptr inbounds nuw i8, ptr %4, i64 12
%9 = load ptr, ptr %2, align 8, !nonnull !4, !align !61
Expand All @@ -5489,7 +5491,7 @@ define hidden void @_ZN2h25proto7streams5store5Store12try_for_each17h36989e10fc0
18: ; preds = %.lr.ph, %36
%.045 = phi i64 [ 0, %.lr.ph ], [ %.1, %36 ]
%.02344 = phi i64 [ %6, %.lr.ph ], [ %.124, %36 ]
%19 = load i64, ptr %7, align 8, !alias.scope !518, !noundef !4
%19 = load i64, ptr %8, align 8, !alias.scope !518, !noundef !4
%.not.i.not = icmp ult i64 %.045, %19
br i1 %.not.i.not, label %22, label %21

Expand All @@ -5501,7 +5503,7 @@ define hidden void @_ZN2h25proto7streams5store5Store12try_for_each17h36989e10fc0
unreachable

22: ; preds = %18
%23 = load ptr, ptr %8, align 8, !alias.scope !518, !nonnull !4
%23 = load ptr, ptr %7, align 8, !alias.scope !518, !nonnull !4
%24 = getelementptr inbounds { i64, i32, i32 }, ptr %23, i64 %.045
%25 = getelementptr inbounds nuw i8, ptr %24, i64 8
%26 = getelementptr inbounds nuw i8, ptr %24, i64 12
Expand Down Expand Up @@ -5560,8 +5562,9 @@ define hidden void @_ZN2h25proto7streams5store5Store12try_for_each17h8cf68fb1257
br i1 %.not, label %._crit_edge, label %.lr.ph

.lr.ph: ; preds = %2
%7 = getelementptr inbounds nuw i8, ptr %0, i64 56
%8 = getelementptr inbounds nuw i8, ptr %0, i64 48
%7 = getelementptr inbounds nuw i8, ptr %0, i64 48
%8 = getelementptr inbounds nuw i8, ptr %0, i64 56
call void @llvm.assume(i1 true) [ "dereferenceable"(ptr %7, i64 0) ]
%.sroa.4.0..sroa_idx15 = getelementptr inbounds nuw i8, ptr %4, i64 8
%.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %4, i64 12
%9 = load ptr, ptr %1, align 8, !nonnull !4, !align !61
Expand All @@ -5579,7 +5582,7 @@ define hidden void @_ZN2h25proto7streams5store5Store12try_for_each17h8cf68fb1257
16: ; preds = %.lr.ph, %19
%.017 = phi i64 [ 0, %.lr.ph ], [ %.1, %19 ]
%.01316 = phi i64 [ %6, %.lr.ph ], [ %.114, %19 ]
%17 = load i64, ptr %7, align 8, !alias.scope !527, !noundef !4
%17 = load i64, ptr %8, align 8, !alias.scope !527, !noundef !4
%.not.i.not = icmp ult i64 %.017, %17
br i1 %.not.i.not, label %19, label %18

Expand All @@ -5588,7 +5591,7 @@ define hidden void @_ZN2h25proto7streams5store5Store12try_for_each17h8cf68fb1257
unreachable

19: ; preds = %16
%20 = load ptr, ptr %8, align 8, !alias.scope !527, !nonnull !4
%20 = load ptr, ptr %7, align 8, !alias.scope !527, !nonnull !4
%21 = getelementptr inbounds { i64, i32, i32 }, ptr %20, i64 %.017
%22 = getelementptr inbounds nuw i8, ptr %21, i64 8
%23 = getelementptr inbounds nuw i8, ptr %21, i64 12
Expand Down Expand Up @@ -5638,8 +5641,9 @@ define hidden void @_ZN2h25proto7streams5store5Store12try_for_each17hb096cc980ae
br i1 %.not, label %._crit_edge, label %.lr.ph

.lr.ph: ; preds = %2
%8 = getelementptr inbounds nuw i8, ptr %0, i64 56
%9 = getelementptr inbounds nuw i8, ptr %0, i64 48
%8 = getelementptr inbounds nuw i8, ptr %0, i64 48
%9 = getelementptr inbounds nuw i8, ptr %0, i64 56
call void @llvm.assume(i1 true) [ "dereferenceable"(ptr %8, i64 0) ]
%.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %5, i64 8
%.sroa.6.0..sroa_idx = getelementptr inbounds nuw i8, ptr %5, i64 12
%10 = load ptr, ptr %1, align 8, !nonnull !4, !align !517
Expand All @@ -5661,7 +5665,7 @@ define hidden void @_ZN2h25proto7streams5store5Store12try_for_each17hb096cc980ae
19: ; preds = %.lr.ph, %"_ZN2h25proto7streams5store5Store8for_each28_$u7b$$u7b$closure$u7d$$u7d$17h63ea681ee5b38a8dE.exit"
%.021 = phi i64 [ 0, %.lr.ph ], [ %.1, %"_ZN2h25proto7streams5store5Store8for_each28_$u7b$$u7b$closure$u7d$$u7d$17h63ea681ee5b38a8dE.exit" ]
%.01320 = phi i64 [ %7, %.lr.ph ], [ %.114, %"_ZN2h25proto7streams5store5Store8for_each28_$u7b$$u7b$closure$u7d$$u7d$17h63ea681ee5b38a8dE.exit" ]
%20 = load i64, ptr %8, align 8, !alias.scope !554, !noundef !4
%20 = load i64, ptr %9, align 8, !alias.scope !554, !noundef !4
%.not.i.not = icmp ult i64 %.021, %20
br i1 %.not.i.not, label %22, label %21

Expand All @@ -5670,7 +5674,7 @@ define hidden void @_ZN2h25proto7streams5store5Store12try_for_each17hb096cc980ae
unreachable

22: ; preds = %19
%23 = load ptr, ptr %9, align 8, !alias.scope !554, !nonnull !4
%23 = load ptr, ptr %8, align 8, !alias.scope !554, !nonnull !4
%24 = getelementptr inbounds { i64, i32, i32 }, ptr %23, i64 %.021
%25 = getelementptr inbounds nuw i8, ptr %24, i64 8
%26 = getelementptr inbounds nuw i8, ptr %24, i64 12
Expand Down Expand Up @@ -5735,8 +5739,9 @@ define hidden void @_ZN2h25proto7streams5store5Store12try_for_each17hef44caf1a5b
br i1 %.not, label %._crit_edge, label %.lr.ph

.lr.ph: ; preds = %2
%7 = getelementptr inbounds nuw i8, ptr %0, i64 56
%8 = getelementptr inbounds nuw i8, ptr %0, i64 48
%7 = getelementptr inbounds nuw i8, ptr %0, i64 48
%8 = getelementptr inbounds nuw i8, ptr %0, i64 56
call void @llvm.assume(i1 true) [ "dereferenceable"(ptr %7, i64 0) ]
%.sroa.4.0..sroa_idx15 = getelementptr inbounds nuw i8, ptr %4, i64 8
%.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %4, i64 12
%9 = load ptr, ptr %1, align 8, !nonnull !4, !align !61
Expand All @@ -5752,7 +5757,7 @@ define hidden void @_ZN2h25proto7streams5store5Store12try_for_each17hef44caf1a5b
14: ; preds = %.lr.ph, %17
%.017 = phi i64 [ 0, %.lr.ph ], [ %.1, %17 ]
%.01316 = phi i64 [ %6, %.lr.ph ], [ %.114, %17 ]
%15 = load i64, ptr %7, align 8, !alias.scope !583, !noundef !4
%15 = load i64, ptr %8, align 8, !alias.scope !583, !noundef !4
%.not.i.not = icmp ult i64 %.017, %15
br i1 %.not.i.not, label %17, label %16

Expand All @@ -5761,7 +5766,7 @@ define hidden void @_ZN2h25proto7streams5store5Store12try_for_each17hef44caf1a5b
unreachable

17: ; preds = %14
%18 = load ptr, ptr %8, align 8, !alias.scope !583, !nonnull !4
%18 = load ptr, ptr %7, align 8, !alias.scope !583, !nonnull !4
%19 = getelementptr inbounds { i64, i32, i32 }, ptr %18, i64 %.017
%20 = getelementptr inbounds nuw i8, ptr %19, i64 8
%21 = getelementptr inbounds nuw i8, ptr %19, i64 12
Expand Down Expand Up @@ -6467,23 +6472,23 @@ define hidden { ptr, i64 } @"_ZN62_$LT$$RF$$u5b$u8$u5d$$u20$as$u20$bytes..buf..b
}

; Function Attrs: inlinehint nonlazybind uwtable
define hidden void @"_ZN62_$LT$$RF$$u5b$u8$u5d$$u20$as$u20$bytes..buf..buf_impl..Buf$GT$7advance17h5b0b05ddc38aa96aE.llvm.13402347524827553107"(ptr noalias nocapture noundef align 8 dereferenceable(16) %0, i64 noundef %1) unnamed_addr #0 {
define hidden void @"_ZN62_$LT$$RF$$u5b$u8$u5d$$u20$as$u20$bytes..buf..buf_impl..Buf$GT$7advance17h5b0b05ddc38aa96aE.llvm.13402347524827553107"(ptr noalias noundef align 8 dereferenceable(16) %0, i64 noundef %1) unnamed_addr #0 {
%3 = getelementptr inbounds nuw i8, ptr %0, i64 8
%4 = load i64, ptr %3, align 8, !noundef !4
%5 = icmp ult i64 %4, %1
br i1 %5, label %6, label %7
br i1 %5, label %10, label %6

6: ; preds = %2
%7 = load ptr, ptr %0, align 8, !nonnull !4, !align !22, !noundef !4
%8 = sub nuw i64 %4, %1
%9 = getelementptr inbounds i8, ptr %7, i64 %1
store ptr %9, ptr %0, align 8
store i64 %8, ptr %3, align 8
ret void

10: ; preds = %2
tail call void @_ZN5bytes13panic_advance17hbcbf46f7b21e6291E(i64 noundef %1, i64 noundef %4) #23
unreachable

7: ; preds = %2
%8 = load ptr, ptr %0, align 8, !nonnull !4, !align !22, !noundef !4
%9 = sub nuw i64 %4, %1
%10 = getelementptr inbounds i8, ptr %8, i64 %1
store ptr %10, ptr %0, align 8
store i64 %9, ptr %3, align 8
ret void
}

; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind nonlazybind willreturn memory(argmem: read) uwtable
Expand Down
5 changes: 3 additions & 2 deletions bench/arrow/optimized/expression.cc.ll
Original file line number Diff line number Diff line change
Expand Up @@ -3109,6 +3109,7 @@ if.then36: ; preds = %if.end33

invoke.cont38: ; preds = %if.then36
call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp) #27
call void @llvm.assume(i1 true) [ "dereferenceable"(ptr %call14, i64 0) ]
%field_names = getelementptr inbounds nuw i8, ptr %14, i64 16
%15 = load ptr, ptr %field_names, align 8
%_M_finish.i = getelementptr inbounds nuw i8, ptr %14, i64 24
Expand Down Expand Up @@ -5619,10 +5620,10 @@ invoke.cont33: ; preds = %for.cond11.preheade
br i1 %tobool.not.i.i.i.i.i, label %invoke.cont37, label %if.then.i.i.i.i.i34

if.then.i.i.i.i.i34: ; preds = %invoke.cont33
%data_.i.i.i = getelementptr inbounds nuw i8, ptr %param, i64 80
%sub.ptr.lhs.cast.i.i.i.i.i = ptrtoint ptr %37 to i64
%sub.ptr.rhs.cast.i.i.i.i.i = ptrtoint ptr %38 to i64
%sub.ptr.sub.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i
%data_.i.i.i = getelementptr inbounds nuw i8, ptr %param, i64 80
%39 = load ptr, ptr %data_.i.i.i, align 8
call void @llvm.memmove.p0.p0.i64(ptr align 4 %39, ptr align 4 %38, i64 %sub.ptr.sub.i.i.i.i.i, i1 false)
br label %invoke.cont37
Expand Down Expand Up @@ -6645,10 +6646,10 @@ invoke.cont31: ; preds = %for.cond11.preheade
br i1 %tobool.not.i.i.i.i.i, label %invoke.cont35, label %if.then.i.i.i.i.i34

if.then.i.i.i.i.i34: ; preds = %invoke.cont31
%data_.i.i.i = getelementptr inbounds nuw i8, ptr %param, i64 80
%sub.ptr.lhs.cast.i.i.i.i.i = ptrtoint ptr %37 to i64
%sub.ptr.rhs.cast.i.i.i.i.i = ptrtoint ptr %38 to i64
%sub.ptr.sub.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i
%data_.i.i.i = getelementptr inbounds nuw i8, ptr %param, i64 80
%39 = load ptr, ptr %data_.i.i.i, align 8
call void @llvm.memmove.p0.p0.i64(ptr align 4 %39, ptr align 4 %38, i64 %sub.ptr.sub.i.i.i.i.i, i1 false)
br label %invoke.cont35
Expand Down
5 changes: 5 additions & 0 deletions bench/box2d/optimized/b2_collide_edge.cpp.ll
Original file line number Diff line number Diff line change
Expand Up @@ -638,6 +638,7 @@ if.then78: ; preds = %if.else65, %if.then
%type79 = getelementptr inbounds nuw i8, ptr %manifold, i64 56
store i32 1, ptr %type79, align 4
%normals81 = getelementptr inbounds nuw i8, ptr %tempPolygonB, i64 64
call void @llvm.assume(i1 true) [ "dereferenceable"(ptr %normals81, i64 32) ]
%cmp87332 = icmp sgt i32 %40, 1
br i1 %cmp87332, label %for.body88.preheader, label %for.end99

Expand Down Expand Up @@ -974,12 +975,16 @@ declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #5
; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #5

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: write)
declare void @llvm.assume(i1 noundef) #6

attributes #0 = { mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) uwtable "frame-pointer"="all" "min-legal-vector-width"="64" "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 = { mustprogress uwtable "frame-pointer"="all" "min-legal-vector-width"="64" "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 nosync nounwind speculatable willreturn memory(none) }
attributes #3 = { "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 #4 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #5 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #6 = { nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: write) }

!llvm.module.flags = !{!0, !1, !2, !3}

Expand Down
Loading