Skip to content
Closed
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
59 changes: 29 additions & 30 deletions bench/abc/optimized/bmcMaj3.ll
Original file line number Diff line number Diff line change
Expand Up @@ -6988,13 +6988,14 @@ Abc_TtNot.exit66.i: ; preds = %.lr.ph.i62.i, %Abc_
br label %190

190: ; preds = %.loopexit.i, %.lr.ph91.i
%.04889.i = phi i32 [ %184, %.lr.ph91.i ], [ %231, %.loopexit.i ]
%.04889.i = phi i32 [ %184, %.lr.ph91.i ], [ %invariant.op.i, %.loopexit.i ]
%191 = add nsw i32 %.04889.i, 65
%fputc50.i = call i32 @fputc(i32 %191, ptr nonnull %180)
%192 = load ptr, ptr %0, align 8, !tbaa !84
%193 = getelementptr inbounds nuw i8, ptr %192, i64 16
%194 = load i32, ptr %193, align 8, !tbaa !85
%.not51.i = icmp eq i32 %194, 0
%invariant.op.i = add nsw i32 %.04889.i, 1
br i1 %.not51.i, label %197, label %195

195: ; preds = %190
Expand All @@ -7011,7 +7012,7 @@ Abc_TtNot.exit66.i: ; preds = %.lr.ph.i62.i, %Abc_
br i1 %200, label %.lr.ph88.i, label %.loopexit.i

.lr.ph.i: ; preds = %197, %.lr.ph.i
%.086.i = phi i32 [ %214, %.lr.ph.i ], [ %198, %197 ]
%.086.i = phi i32 [ %213, %.lr.ph.i ], [ %198, %197 ]
%201 = load ptr, ptr %188, align 8, !tbaa !79
%.val.i = load ptr, ptr %0, align 8, !tbaa !84
%.val56.i = load i32, ptr %187, align 8, !tbaa !93
Expand All @@ -7022,30 +7023,29 @@ Abc_TtNot.exit66.i: ; preds = %.lr.ph.i62.i, %Abc_
%205 = add nsw i32 %204, %.086.i
%206 = call i32 @bmcg_sat_solver_read_cex_varvalue(ptr noundef %201, i32 noundef %205) #27
%207 = load i32, ptr %15, align 8, !tbaa !88
%208 = add nsw i32 %207, -1
%209 = icmp eq i32 %.04889.i, %208
%210 = and i1 %78, %209
%211 = zext i1 %210 to i32
%212 = xor i32 %206, %211
%213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef nonnull %180, ptr noundef nonnull @.str.64, i32 noundef %212) #27
%214 = add nsw i32 %.086.i, -1
%.not118.i = icmp eq i32 %.086.i, 0
br i1 %.not118.i, label %.preheader.i, label %.lr.ph.i, !llvm.loop !193

.lr.ph88.i: ; preds = %.preheader.i, %229
%.187.i = phi i32 [ %230, %229 ], [ 0, %.preheader.i ]
%215 = load ptr, ptr %188, align 8, !tbaa !79
%216 = load i32, ptr %189, align 4, !tbaa !95
%217 = load i32, ptr %15, align 8, !tbaa !88
%218 = load ptr, ptr %0, align 8, !tbaa !84
%219 = load i32, ptr %218, align 8, !tbaa !92
%220 = sub nsw i32 %.04889.i, %219
%221 = mul nsw i32 %220, %217
%222 = add i32 %216, %.187.i
%223 = add i32 %222, %221
%224 = call i32 @bmcg_sat_solver_read_cex_varvalue(ptr noundef %215, i32 noundef %223) #27
%.not52.i = icmp eq i32 %224, 0
br i1 %.not52.i, label %229, label %.sink.split.i
%208 = icmp eq i32 %207, %invariant.op.i
%209 = and i1 %78, %208
%210 = zext i1 %209 to i32
%211 = xor i32 %206, %210
%212 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef nonnull %180, ptr noundef nonnull @.str.64, i32 noundef %211) #27
%213 = add nsw i32 %.086.i, -1
%.not119.i = icmp eq i32 %.086.i, 0
br i1 %.not119.i, label %.preheader.i, label %.lr.ph.i, !llvm.loop !193

.lr.ph88.i: ; preds = %.preheader.i, %228
%.187.i = phi i32 [ %229, %228 ], [ 0, %.preheader.i ]
%214 = load ptr, ptr %188, align 8, !tbaa !79
%215 = load i32, ptr %189, align 4, !tbaa !95
%216 = load i32, ptr %15, align 8, !tbaa !88
%217 = load ptr, ptr %0, align 8, !tbaa !84
%218 = load i32, ptr %217, align 8, !tbaa !92
%219 = sub nsw i32 %.04889.i, %218
%220 = mul nsw i32 %219, %216
%221 = add i32 %215, %.187.i
%222 = add i32 %221, %220
%223 = call i32 @bmcg_sat_solver_read_cex_varvalue(ptr noundef %214, i32 noundef %222) #27
%.not52.i = icmp eq i32 %223, 0
br i1 %.not52.i, label %228, label %.sink.split.i

.sink.split.i: ; preds = %.lr.ph88.i
%225 = load ptr, ptr %0, align 8, !tbaa !84
Expand All @@ -7063,10 +7063,9 @@ Abc_TtNot.exit66.i: ; preds = %.lr.ph.i62.i, %Abc_

.loopexit.i: ; preds = %229, %.preheader.i, %195
%fputc55.i = call i32 @fputc(i32 10, ptr nonnull %180)
%231 = add nsw i32 %.04889.i, 1
%232 = load i32, ptr %15, align 8, !tbaa !88
%233 = icmp slt i32 %231, %232
br i1 %233, label %190, label %._crit_edge.i, !llvm.loop !195
%230 = load i32, ptr %15, align 8, !tbaa !88
%231 = icmp slt i32 %invariant.op.i, %230
br i1 %231, label %190, label %._crit_edge.i, !llvm.loop !195

._crit_edge.i: ; preds = %.loopexit.i, %182
%fputc.i = call i32 @fputc(i32 10, ptr nonnull %180)
Expand Down
30 changes: 17 additions & 13 deletions bench/abc/optimized/cbaBlast.ll
Original file line number Diff line number Diff line change
Expand Up @@ -2214,17 +2214,20 @@ Vec_IntFill.exit64.thread: ; preds = %Vec_IntGrow.exit.i5
br label %._crit_edge

.preheader.us.preheader: ; preds = %Vec_IntFill.exit64
%invariant.op67 = add nsw i32 %4, -1
%.not54 = icmp ne i32 %7, 0
%53 = zext nneg i32 %3 to i64
%54 = zext nneg i32 %4 to i64
%invariant.op = add nsw i32 %3, -1
%54 = zext nneg i32 %invariant.op to i64
%54 = zext nneg i32 %invariant.op67 to i64
%wide.trip.count77 = zext nneg i32 %4 to i64
%wide.trip.count = zext nneg i32 %3 to i64
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Regression

br label %.preheader.us

.preheader.us: ; preds = %.preheader.us.preheader, %._crit_edge.us
%indvars.iv73 = phi i64 [ 0, %.preheader.us.preheader ], [ %indvars.iv.next74, %._crit_edge.us ]
%indvars.iv73 = phi i64 [ 0, %.preheader.us.preheader ], [ %indvars.iv.next75, %._crit_edge.us ]
%55 = getelementptr inbounds nuw i32, ptr %2, i64 %indvars.iv73
%56 = getelementptr inbounds nuw i32, ptr %24, i64 %indvars.iv73
%indvars.iv.next74 = add nuw nsw i64 %indvars.iv73, 1
%57 = icmp eq i64 %indvars.iv.next74, %54
%57 = icmp eq i64 %indvars.iv73, %54
br label %58

58: ; preds = %.preheader.us, %58
Expand All @@ -2239,10 +2242,9 @@ Vec_IntFill.exit64.thread: ; preds = %Vec_IntGrow.exit.i5
%.not.us = icmp eq i64 %indvars.iv, 0
%66 = getelementptr i8, ptr %62, i64 -4
%67 = select i1 %.not.us, ptr %56, ptr %66
%indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
%68 = icmp eq i64 %indvars.iv.next, %53
%68 = icmp eq i64 %indvars.iv, %53
%69 = xor i1 %57, %68
%narrow = select i1 %.not54, i1 %69, i1 false
%narrow = and i1 %.not54, %69
%70 = zext i1 %narrow to i32
%71 = tail call i32 @Gia_ManHashAnd(ptr noundef %0, i32 noundef %60, i32 noundef %61) #24
%72 = xor i32 %71, %70
Expand All @@ -2260,12 +2262,14 @@ Vec_IntFill.exit64.thread: ; preds = %Vec_IntGrow.exit.i5
store i32 %83, ptr %67, align 4, !tbaa !11
%84 = tail call i32 @Gia_ManHashOr(ptr noundef %0, i32 noundef %73, i32 noundef %79) #24
store i32 %84, ptr %64, align 4, !tbaa !11
%exitcond.not = icmp eq i64 %indvars.iv.next, %53
%indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
%exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count
br i1 %exitcond.not, label %._crit_edge.us, label %58, !llvm.loop !60

._crit_edge.us: ; preds = %58
%exitcond77.not = icmp eq i64 %indvars.iv.next74, %54
br i1 %exitcond77.not, label %._crit_edge68, label %.preheader.us, !llvm.loop !61
%indvars.iv.next75 = add nuw nsw i64 %indvars.iv74, 1
%exitcond78.not = icmp eq i64 %indvars.iv.next75, %wide.trip.count77
br i1 %exitcond78.not, label %._crit_edge69, label %.preheader.us, !llvm.loop !61

._crit_edge68: ; preds = %._crit_edge.us, %Vec_IntFill.exit64
%85 = getelementptr i32, ptr %46, i64 %45
Expand All @@ -2277,8 +2281,8 @@ Vec_IntFill.exit64.thread: ; preds = %Vec_IntGrow.exit.i5
br label %.lr.ph

.lr.ph: ; preds = %._crit_edge68, %.lr.ph
%indvars.iv78 = phi i64 [ 0, %._crit_edge68 ], [ %indvars.iv.next79, %.lr.ph ]
%.06569 = phi i32 [ %7, %._crit_edge68 ], [ %104, %.lr.ph ]
%indvars.iv78 = phi i64 [ 0, %._crit_edge69 ], [ %indvars.iv.next79, %.lr.ph ]
%.06569 = phi i32 [ %7, %._crit_edge69 ], [ %104, %.lr.ph ]
%88 = getelementptr inbounds nuw i32, ptr %42, i64 %indvars.iv78
%89 = load i32, ptr %88, align 4, !tbaa !11
%90 = getelementptr inbounds nuw i32, ptr %46, i64 %indvars.iv78
Expand Down
23 changes: 11 additions & 12 deletions bench/abc/optimized/sclLibScl.ll
Original file line number Diff line number Diff line change
Expand Up @@ -8264,12 +8264,13 @@ define internal fastcc void @Abc_SclWriteSurfaceText(ptr noundef nonnull capture
br label %39

39: ; preds = %.lr.ph75, %67
%.val87 = phi i32 [ %.val5173, %.lr.ph75 ], [ %.val51, %67 ]
%indvars.iv83 = phi i64 [ 0, %.lr.ph75 ], [ %indvars.iv.next84, %67 ]
%.val87 = phi i32 [ %.val5173, %.lr.ph75 ], [ %.val51, %66 ]
%indvars.iv83 = phi i64 [ 0, %.lr.ph75 ], [ %indvars.iv.next84, %66 ]
%.val58 = load ptr, ptr %38, align 8, !tbaa !19
%40 = getelementptr inbounds nuw ptr, ptr %.val58, i64 %indvars.iv83
%41 = load ptr, ptr %40, align 8, !tbaa !22
%42 = getelementptr i8, ptr %41, i64 4
%indvars.iv.next84 = add nuw nsw i64 %indvars.iv83, 1
%.val5369 = load i32, ptr %42, align 4, !tbaa !74
%43 = icmp sgt i32 %.val5369, 0
br i1 %43, label %.lr.ph72, label %.critedge6
Expand All @@ -8286,15 +8287,14 @@ define internal fastcc void @Abc_SclWriteSurfaceText(ptr noundef nonnull capture
%47 = load float, ptr %46, align 4, !tbaa !77
%48 = fpext float %47 to double
%.val50 = load i32, ptr %36, align 4, !tbaa !21
%49 = add nsw i32 %.val50, -1
%50 = zext i32 %49 to i64
%51 = icmp eq i64 %indvars.iv83, %50
%52 = add nsw i32 %.val5371, -1
%53 = zext i32 %52 to i64
%54 = icmp eq i64 %indvars.iv80, %53
%55 = select i1 %51, i1 %54, i1 false
%56 = select i1 %55, ptr @.str.70, ptr @.str.66
%57 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef nonnull %0, ptr noundef nonnull @.str.64, double noundef %48, ptr noundef nonnull %56) #21
%49 = zext i32 %.val50 to i64
%50 = icmp eq i64 %indvars.iv.next84, %49
%51 = add nsw i32 %.val5371, -1
%52 = zext i32 %51 to i64
%53 = icmp eq i64 %indvars.iv80, %52
%54 = select i1 %50, i1 %53, i1 false
%55 = select i1 %54, ptr @.str.70, ptr @.str.66
%56 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef nonnull %0, ptr noundef nonnull @.str.64, double noundef %48, ptr noundef nonnull %55) #21
%indvars.iv.next81 = add nuw nsw i64 %indvars.iv80, 1
%.val53 = load i32, ptr %42, align 4, !tbaa !74
%58 = sext i32 %.val53 to i64
Expand Down Expand Up @@ -8322,7 +8322,6 @@ define internal fastcc void @Abc_SclWriteSurfaceText(ptr noundef nonnull capture
br label %67

67: ; preds = %63, %64
%indvars.iv.next84 = add nuw nsw i64 %indvars.iv83, 1
%.val51 = load i32, ptr %36, align 4, !tbaa !21
%68 = sext i32 %.val51 to i64
%69 = icmp slt i64 %indvars.iv.next84, %68
Expand Down
57 changes: 33 additions & 24 deletions bench/abc/optimized/wlcBlast.ll
Original file line number Diff line number Diff line change
Expand Up @@ -2965,17 +2965,20 @@ Vec_IntFill.exit64.thread: ; preds = %Vec_IntGrow.exit.i5
br label %._crit_edge

.preheader.us.preheader: ; preds = %Vec_IntFill.exit64
%invariant.op66 = add nsw i32 %4, -1
%.not54 = icmp ne i32 %7, 0
%54 = zext nneg i32 %3 to i64
%55 = zext nneg i32 %4 to i64
%invariant.op = add nsw i32 %3, -1
%55 = zext nneg i32 %invariant.op to i64
%55 = zext nneg i32 %invariant.op66 to i64
%wide.trip.count75 = zext nneg i32 %4 to i64
%wide.trip.count = zext nneg i32 %3 to i64
br label %.preheader.us

.preheader.us: ; preds = %.preheader.us.preheader, %._crit_edge.us
%indvars.iv71 = phi i64 [ 0, %.preheader.us.preheader ], [ %indvars.iv.next72, %._crit_edge.us ]
%indvars.iv71 = phi i64 [ 0, %.preheader.us.preheader ], [ %indvars.iv.next73, %._crit_edge.us ]
%56 = getelementptr inbounds nuw i32, ptr %2, i64 %indvars.iv71
%57 = getelementptr inbounds nuw i32, ptr %25, i64 %indvars.iv71
%indvars.iv.next72 = add nuw nsw i64 %indvars.iv71, 1
%58 = icmp eq i64 %indvars.iv.next72, %55
%58 = icmp eq i64 %indvars.iv71, %55
br label %59

59: ; preds = %.preheader.us, %Wlc_BlastFullAdder.exit.us
Expand All @@ -2990,10 +2993,9 @@ Vec_IntFill.exit64.thread: ; preds = %Vec_IntGrow.exit.i5
%.not.us = icmp eq i64 %indvars.iv, 0
%67 = getelementptr i8, ptr %63, i64 -4
%68 = select i1 %.not.us, ptr %57, ptr %67
%indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
%69 = icmp eq i64 %indvars.iv.next, %54
%69 = icmp eq i64 %indvars.iv, %54
%70 = xor i1 %58, %69
%narrow = select i1 %.not54, i1 %70, i1 false
%narrow = and i1 %.not54, %70
%71 = zext i1 %narrow to i32
%72 = tail call i32 @Gia_ManHashAnd(ptr noundef %0, i32 noundef %61, i32 noundef %62) #26
%73 = xor i32 %72, %71
Expand Down Expand Up @@ -3035,12 +3037,14 @@ Vec_IntFill.exit64.thread: ; preds = %Vec_IntGrow.exit.i5
br label %Wlc_BlastFullAdder.exit.us

Wlc_BlastFullAdder.exit.us: ; preds = %93, %59
%exitcond.not = icmp eq i64 %indvars.iv.next, %54
%indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
%exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count
br i1 %exitcond.not, label %._crit_edge.us, label %59, !llvm.loop !82

._crit_edge.us: ; preds = %Wlc_BlastFullAdder.exit.us
%exitcond75.not = icmp eq i64 %indvars.iv.next72, %55
br i1 %exitcond75.not, label %._crit_edge67, label %.preheader.us, !llvm.loop !83
%indvars.iv.next73 = add nuw nsw i64 %indvars.iv72, 1
%exitcond76.not = icmp eq i64 %indvars.iv.next73, %wide.trip.count75
br i1 %exitcond76.not, label %._crit_edge68, label %.preheader.us, !llvm.loop !83

._crit_edge67: ; preds = %._crit_edge.us, %Vec_IntFill.exit64
%98 = getelementptr i32, ptr %47, i64 %46
Expand All @@ -3052,7 +3056,7 @@ Wlc_BlastFullAdder.exit.us: ; preds = %93, %59
br label %.lr.ph

.lr.ph: ; preds = %._crit_edge67, %.lr.ph
%indvars.iv76 = phi i64 [ 0, %._crit_edge67 ], [ %indvars.iv.next77, %.lr.ph ]
%indvars.iv76 = phi i64 [ 0, %._crit_edge68 ], [ %indvars.iv.next77, %.lr.ph ]
%101 = getelementptr inbounds nuw i32, ptr %43, i64 %indvars.iv76
%102 = load i32, ptr %101, align 4, !tbaa !3
%103 = getelementptr inbounds nuw i32, ptr %47, i64 %indvars.iv76
Expand Down Expand Up @@ -3183,16 +3187,19 @@ Vec_IntFill.exit73.thread: ; preds = %Vec_IntGrow.exit.i6
br label %.preheader

.preheader74.us.preheader: ; preds = %Vec_IntFill.exit73
%56 = zext nneg i32 %3 to i64
%57 = zext nneg i32 %4 to i64
%invariant.op76 = add nsw i32 %4, -1
%invariant.op = add nsw i32 %3, -1
%56 = zext nneg i32 %invariant.op to i64
%57 = zext nneg i32 %invariant.op76 to i64
%wide.trip.count87 = zext nneg i32 %4 to i64
%wide.trip.count = zext nneg i32 %3 to i64
br label %.preheader74.us

.preheader74.us: ; preds = %.preheader74.us.preheader, %._crit_edge.us
%indvars.iv83 = phi i64 [ 0, %.preheader74.us.preheader ], [ %indvars.iv.next84, %._crit_edge.us ]
%indvars.iv83 = phi i64 [ 0, %.preheader74.us.preheader ], [ %indvars.iv.next85, %._crit_edge.us ]
%58 = getelementptr inbounds nuw i32, ptr %2, i64 %indvars.iv83
%59 = getelementptr inbounds nuw i32, ptr %26, i64 %indvars.iv83
%indvars.iv.next84 = add nuw nsw i64 %indvars.iv83, 1
%60 = icmp ne i64 %indvars.iv.next84, %57
%60 = icmp ne i64 %indvars.iv83, %57
br label %61

61: ; preds = %.preheader74.us, %Wlc_BlastFullAdder.exit.us
Expand All @@ -3207,10 +3214,9 @@ Vec_IntFill.exit73.thread: ; preds = %Vec_IntGrow.exit.i6
%.not63.us = icmp eq i64 %indvars.iv, 0
%69 = getelementptr i8, ptr %65, i64 -4
%70 = select i1 %.not63.us, ptr %59, ptr %69
%indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
%71 = icmp eq i64 %indvars.iv.next, %56
%71 = icmp eq i64 %indvars.iv, %56
%72 = xor i1 %60, %71
%narrow = select i1 %.not, i1 true, i1 %72
%narrow = or i1 %.not, %72
%73 = zext i1 %narrow to i32
%74 = tail call i32 @Gia_ManHashAnd(ptr noundef %0, i32 noundef %63, i32 noundef %64) #26
%75 = xor i32 %74, %73
Expand Down Expand Up @@ -3252,11 +3258,14 @@ Vec_IntFill.exit73.thread: ; preds = %Vec_IntGrow.exit.i6
br label %Wlc_BlastFullAdder.exit.us

Wlc_BlastFullAdder.exit.us: ; preds = %95, %61
%exitcond.not = icmp eq i64 %indvars.iv.next, %56
%indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
%exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count
br i1 %exitcond.not, label %._crit_edge.us, label %61, !llvm.loop !86

._crit_edge.us: ; preds = %Wlc_BlastFullAdder.exit.us
br i1 %60, label %.preheader74.us, label %._crit_edge77, !llvm.loop !87
%indvars.iv.next85 = add nuw nsw i64 %indvars.iv84, 1
%exitcond88.not = icmp eq i64 %indvars.iv.next85, %wide.trip.count87
br i1 %exitcond88.not, label %._crit_edge78, label %.preheader74.us, !llvm.loop !87

._crit_edge77: ; preds = %._crit_edge.us, %Vec_IntFill.exit73
%100 = getelementptr i32, ptr %49, i64 %48
Expand All @@ -3275,7 +3284,7 @@ Wlc_BlastFullAdder.exit.us: ; preds = %95, %61
br label %.lr.ph80

.lr.ph: ; preds = %._crit_edge77, %.lr.ph
%indvars.iv88 = phi i64 [ 0, %._crit_edge77 ], [ %indvars.iv.next89, %.lr.ph ]
%indvars.iv88 = phi i64 [ 0, %._crit_edge78 ], [ %indvars.iv.next89, %.lr.ph ]
%103 = getelementptr inbounds nuw i32, ptr %44, i64 %indvars.iv88
%104 = load i32, ptr %103, align 4, !tbaa !3
%105 = getelementptr inbounds nuw i32, ptr %49, i64 %indvars.iv88
Expand All @@ -3289,7 +3298,7 @@ Wlc_BlastFullAdder.exit.us: ; preds = %95, %61
br i1 %exitcond92.not, label %.preheader, label %.lr.ph, !llvm.loop !88

.lr.ph80: ; preds = %.lr.ph80.preheader, %.lr.ph80
%indvars.iv93 = phi i64 [ 0, %.lr.ph80.preheader ], [ %indvars.iv.next94, %.lr.ph80 ]
%indvars.iv93 = phi i64 [ 0, %.lr.ph81.preheader ], [ %indvars.iv.next94, %.lr.ph81 ]
%109 = getelementptr inbounds nuw i32, ptr %26, i64 %indvars.iv93
%110 = load i32, ptr %109, align 4, !tbaa !3
%111 = xor i32 %110, 1
Expand Down
15 changes: 9 additions & 6 deletions bench/assimp/optimized/BlenderCustomData.ll
Original file line number Diff line number Diff line change
Expand Up @@ -492,8 +492,12 @@ define hidden noalias noundef nonnull ptr @_ZN6Assimp7Blender11createMVertEm(i64
%11 = icmp eq i64 %0, 0
br i1 %11, label %.loopexit, label %.preheader

.preheader: ; preds = %1, %.preheader
%.idx = phi i64 [ %.add, %.preheader ], [ 8, %1 ]
.preheader: ; preds = %1
%invariant.op = add i64 %4, -48
br label %13

13: ; preds = %12, %13
%.idx = phi i64 [ 8, %12 ], [ %.add, %13 ]
%.ptr.ptr = getelementptr inbounds nuw i8, ptr %10, i64 %.idx
%12 = getelementptr inbounds nuw i8, ptr %.ptr.ptr, i64 8
store ptr null, ptr %12, align 8
Expand All @@ -505,11 +509,10 @@ define hidden noalias noundef nonnull ptr @_ZN6Assimp7Blender11createMVertEm(i64
%15 = getelementptr inbounds nuw i8, ptr %.ptr.ptr, i64 48
store i32 0, ptr %15, align 8
%.add = add nuw nsw i64 %.idx, 56
%16 = add nuw nsw i64 %.idx, 48
%17 = icmp eq i64 %16, %4
br i1 %17, label %.loopexit, label %.preheader
%18 = icmp eq i64 %.idx, %invariant.op
br i1 %18, label %.loopexit, label %13

.loopexit: ; preds = %.preheader, %1
.loopexit: ; preds = %13, %1
%.ptr5 = getelementptr inbounds nuw i8, ptr %10, i64 8
ret ptr %.ptr5
}
Expand Down
Loading