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
8 changes: 4 additions & 4 deletions bench/meshlab/optimized/cleanfilter.cpp.ll
Original file line number Diff line number Diff line change
Expand Up @@ -50344,9 +50344,9 @@ _ZN3vcg15ClosestIteratorINS_13GridStaticPtrI6CFaceOfEENS_4face24PointDistanceBas
%238 = phi i32 [ %217, %236 ], [ %208, %234 ]
%239 = icmp sle i32 %221, %232
%240 = icmp sle i32 %225, %235
%or.cond.i.not23.i = and i1 %239, %240
%or.cond.i.not21.i = and i1 %239, %240
%241 = icmp sle i32 %229, %238
%or.cond13.i.not.i = and i1 %or.cond.i.not23.i, %241
%or.cond13.i.not.i = and i1 %or.cond.i.not21.i, %241
br i1 %or.cond13.i.not.i, label %.noexc36, label %_ZN3vcg4Box3IiE9IntersectERKS1_.exit.thread.i

_ZN3vcg4Box3IiE9IntersectERKS1_.exit.thread.i: ; preds = %237
Expand Down Expand Up @@ -50751,9 +50751,9 @@ define linkonce_odr noundef zeroext i1 @_ZN3vcg15ClosestIteratorINS_13GridStatic
%98 = phi i32 [ %77, %96 ], [ %67, %94 ]
%99 = icmp sle i32 %81, %92
%100 = icmp sle i32 %85, %95
%or.cond.i.not23 = and i1 %99, %100
%or.cond.i.not21 = and i1 %99, %100
%101 = icmp sle i32 %89, %98
%or.cond13.i.not = and i1 %or.cond.i.not23, %101
%or.cond13.i.not = and i1 %or.cond.i.not21, %101
br i1 %or.cond13.i.not, label %_ZNK3vcg4Box3IiE6IsNullEv.exit, label %_ZN3vcg4Box3IiE9IntersectERKS1_.exit.thread

_ZN3vcg4Box3IiE9IntersectERKS1_.exit.thread: ; preds = %97
Expand Down
68 changes: 34 additions & 34 deletions bench/quickjs/optimized/quickjs.ll
Original file line number Diff line number Diff line change
Expand Up @@ -110558,7 +110558,7 @@ define internal fastcc { i64, i64 } @js_string___GetSubstitution(ptr noundef %0,
%.sroa.3102.0..sroa_idx = getelementptr inbounds nuw i8, ptr %1, i64 8
%.sroa.3102.0.copyload = load i64, ptr %.sroa.3102.0..sroa_idx, align 8
%7 = getelementptr i8, ptr %1, i64 16
%.sroa.097.0.copyload308 = load i64, ptr %7, align 8
%.sroa.097.0.copyload306 = load i64, ptr %7, align 8
%.sroa.399.0..sroa_idx = getelementptr i8, ptr %1, i64 24
%.sroa.399.0.copyload = load i64, ptr %.sroa.399.0..sroa_idx, align 8
%8 = getelementptr i8, ptr %1, i64 48
Expand All @@ -110570,17 +110570,17 @@ define internal fastcc { i64, i64 } @js_string___GetSubstitution(ptr noundef %0,
%.sroa.389.0..sroa_idx = getelementptr i8, ptr %1, i64 72
%.sroa.389.0.copyload = load i64, ptr %.sroa.389.0..sroa_idx, align 8
%10 = getelementptr i8, ptr %1, i64 80
%.sroa.084.0.copyload309 = load i64, ptr %10, align 8
%.sroa.084.0.copyload307 = load i64, ptr %10, align 8
%.sroa.386.0..sroa_idx = getelementptr i8, ptr %1, i64 88
%.sroa.386.0.copyload = load i64, ptr %.sroa.386.0..sroa_idx, align 8
%11 = and i64 %.sroa.386.0.copyload, 4294967295
%.not = icmp eq i64 %11, 4294967289
%12 = and i64 %.sroa.399.0.copyload, 4294967295
%.not249 = icmp eq i64 %12, 4294967289
%or.cond259 = select i1 %.not, i1 %.not249, i1 false
%13 = inttoptr i64 %.sroa.097.0.copyload308 to ptr
%14 = inttoptr i64 %.sroa.084.0.copyload309 to ptr
br i1 %or.cond259, label %17, label %15
%or.cond260 = select i1 %.not, i1 %.not249, i1 false
%13 = inttoptr i64 %.sroa.097.0.copyload306 to ptr
%14 = inttoptr i64 %.sroa.084.0.copyload307 to ptr
br i1 %or.cond260, label %17, label %15

15: ; preds = %2
%16 = tail call { i64, i64 } (ptr, ptr, ...) @JS_ThrowTypeError(ptr noundef %0, ptr noundef nonnull @.str.234)
Expand Down Expand Up @@ -110885,11 +110885,11 @@ string_get.exit: ; preds = %142, %146
br i1 %.not13.i, label %._crit_edge, label %string_buffer_putc8.exit

._crit_edge: ; preds = %154
%.pre306 = load i32, ptr %19, align 8
%.pre303 = load i32, ptr %19, align 8
br label %157

157: ; preds = %._crit_edge, %151
%158 = phi i32 [ %.pre306, %._crit_edge ], [ %152, %151 ]
%158 = phi i32 [ %.pre303, %._crit_edge ], [ %152, %151 ]
%159 = load i32, ptr %20, align 8
%.not14.i = icmp eq i32 %159, 0
%160 = load ptr, ptr %70, align 8
Expand Down Expand Up @@ -111112,8 +111112,8 @@ string_get.exit198: ; preds = %243, %247
%264 = zext nneg i32 %.0127 to i64
%265 = tail call fastcc { i64, i64 } @JS_GetPropertyInt64(ptr noundef %0, i64 %.sroa.091.0.copyload, i64 %.sroa.494.0.copyload, i64 noundef %264)
%266 = extractvalue { i64, i64 } %265, 1
%trunc284 = trunc i64 %266 to i32
switch i32 %trunc284, label %267 [
%trunc282 = trunc i64 %266 to i32
switch i32 %trunc282, label %267 [
i32 6, label %.loopexit
i32 3, label %string_buffer_putc8.exit
]
Expand All @@ -111126,8 +111126,8 @@ string_get.exit198: ; preds = %243, %247

270: ; preds = %237
%271 = icmp ne i32 %150, 60
%or.cond260 = select i1 %271, i1 true, i1 %.not253
br i1 %or.cond260, label %.thread, label %272
%or.cond261 = select i1 %271, i1 true, i1 %.not253
br i1 %or.cond261, label %.thread, label %272

272: ; preds = %270
%273 = tail call fastcc i32 @string_indexof_char(ptr noundef nonnull %14, i32 noundef 62, i32 noundef %138)
Expand All @@ -111145,8 +111145,8 @@ string_get.exit198: ; preds = %243, %247
%280 = extractvalue { i64, i64 } %276, 0
%281 = tail call fastcc { i64, i64 } @JS_GetPropertyValue(ptr noundef %0, i64 %.sroa.087.0.copyload, i64 %.sroa.389.0.copyload, i64 %280, i64 %277)
%282 = extractvalue { i64, i64 } %281, 1
%trunc283 = trunc i64 %282 to i32
switch i32 %trunc283, label %283 [
%trunc281 = trunc i64 %282 to i32
switch i32 %trunc281, label %283 [
i32 6, label %.loopexit
i32 3, label %286
]
Expand Down Expand Up @@ -111242,10 +111242,10 @@ string_indexof_char.exit.thread: ; preds = %string_indexof_char
br i1 %.not.i214, label %324, label %string_buffer_concat.exit228

string_indexof_char.exit.thread.thread: ; preds = %93
%.not.i214311 = icmp ugt i32 %86, %.0
br i1 %.not.i214311, label %.thread313, label %string_buffer_concat.exit228
%.not.i214309 = icmp ugt i32 %86, %.0
br i1 %.not.i214309, label %.thread311, label %string_buffer_concat.exit228

.thread313: ; preds = %string_indexof_char.exit.thread.thread
.thread311: ; preds = %string_indexof_char.exit.thread.thread
%322 = zext i32 %.0 to i64
%323 = sub nuw i32 %86, %.0
br label %327
Expand All @@ -111255,9 +111255,9 @@ string_indexof_char.exit.thread.thread: ; preds = %93
%326 = sub nuw i32 %86, %.0
br i1 %.not.i160271, label %332, label %327

327: ; preds = %.thread313, %324
%328 = phi i32 [ %323, %.thread313 ], [ %326, %324 ]
%329 = phi i64 [ %322, %.thread313 ], [ %325, %324 ]
327: ; preds = %.thread311, %324
%328 = phi i32 [ %323, %.thread311 ], [ %326, %324 ]
%329 = phi i64 [ %322, %.thread311 ], [ %325, %324 ]
%330 = getelementptr i16, ptr %69, i64 %329
%331 = call fastcc i32 @string_buffer_write16(ptr noundef nonnull %6, ptr noundef readonly %330, i32 noundef %328)
br label %string_buffer_concat.exit228
Expand All @@ -111278,13 +111278,9 @@ string_indexof_char.exit.thread.thread: ; preds = %93
340: ; preds = %338, %332
%341 = load i32, ptr %20, align 8
%.not26.i.i217 = icmp eq i32 %341, 0
br i1 %.not26.i.i217, label %353, label %.preheader.i.i218
br i1 %.not26.i.i217, label %353, label %.lr.ph.i.i222

.preheader.i.i218: ; preds = %340
%.not285 = icmp eq i32 %86, %.0
br i1 %.not285, label %.loopexit.i.i219, label %.lr.ph.i.i222

.lr.ph.i.i222: ; preds = %.preheader.i.i218
.lr.ph.i.i222: ; preds = %340
%wide.trip.count.i.i223 = zext nneg i32 %326 to i64
%342 = load ptr, ptr %70, align 8
%343 = getelementptr inbounds nuw i8, ptr %342, i64 16
Expand All @@ -111303,7 +111299,7 @@ string_indexof_char.exit.thread.thread: ; preds = %93
store i16 %348, ptr %352, align 2
%indvars.iv.next.i.i225 = add nuw nsw i64 %indvars.iv.i.i224, 1
%exitcond.not.i.i226 = icmp eq i64 %indvars.iv.next.i.i225, %wide.trip.count.i.i223
br i1 %exitcond.not.i.i226, label %.loopexit.i.i219, label %345, !llvm.loop !48
br i1 %exitcond.not.i.i226, label %.loopexit.i.i219.loopexit, label %345, !llvm.loop !48

353: ; preds = %340
%354 = load ptr, ptr %70, align 8
Expand All @@ -111315,8 +111311,12 @@ string_indexof_char.exit.thread.thread: ; preds = %93
tail call void @llvm.memcpy.p0.p0.i64(ptr align 1 %358, ptr readonly align 1 %333, i64 %359, i1 false)
br label %.loopexit.i.i219

.loopexit.i.i219: ; preds = %345, %353, %.preheader.i.i218
%.pn.i.i220 = load i32, ptr %19, align 8
.loopexit.i.i219.loopexit: ; preds = %345
%.pn.i.i220.pre = load i32, ptr %19, align 8
br label %.loopexit.i.i219

.loopexit.i.i219: ; preds = %.loopexit.i.i219.loopexit, %353
%.pn.i.i220 = phi i32 [ %.pn.i.i220.pre, %.loopexit.i.i219.loopexit ], [ %356, %353 ]
%storemerge.i.i221 = add i32 %.pn.i.i220, %326
store i32 %storemerge.i.i221, ptr %19, align 8
br label %string_buffer_concat.exit228
Expand Down Expand Up @@ -111354,16 +111354,16 @@ __JS_AtomToValue.exit.i: ; preds = %362
378: ; preds = %362
%379 = load i32, ptr %18, align 4
%380 = icmp slt i32 %363, %379
%.pre307 = load i32, ptr %20, align 8
%.pre305 = load i32, ptr %20, align 8
br i1 %380, label %381, label %394

381: ; preds = %378
%382 = load ptr, ptr %6, align 8
%383 = getelementptr inbounds nuw i8, ptr %382, i64 24
%384 = load ptr, ptr %383, align 8
%385 = shl i32 %363, %.pre307
%385 = shl i32 %363, %.pre305
%386 = sext i32 %385 to i64
%387 = sext i32 %.pre307 to i64
%387 = sext i32 %.pre305 to i64
%reass.sub = sub nsw i64 %386, %387
%388 = add nsw i64 %reass.sub, 17
%389 = getelementptr inbounds nuw i8, ptr %384, i64 16
Expand All @@ -111376,7 +111376,7 @@ __JS_AtomToValue.exit.i: ; preds = %362

394: ; preds = %381, %378
%.0.i230 = phi ptr [ %spec.select248, %381 ], [ %360, %378 ]
%.not29.i = icmp eq i32 %.pre307, 0
%.not29.i = icmp eq i32 %.pre305, 0
br i1 %.not29.i, label %395, label %399

395: ; preds = %394
Expand All @@ -111388,7 +111388,7 @@ __JS_AtomToValue.exit.i: ; preds = %362
br label %399

399: ; preds = %395, %394
%400 = phi i32 [ %.pre.i, %395 ], [ %.pre307, %394 ]
%400 = phi i32 [ %.pre.i, %395 ], [ %.pre305, %394 ]
%401 = getelementptr inbounds nuw i8, ptr %.0.i230, i64 4
%402 = load i64, ptr %401, align 4
%403 = shl i32 %400, 31
Expand Down
111 changes: 50 additions & 61 deletions bench/soc-simulator/optimized/verilated.ll
Original file line number Diff line number Diff line change
Expand Up @@ -29822,92 +29822,81 @@ _ZNK17VerilatedVarProps3lowEi.exit: ; preds = %6
%17 = load i32, ptr %16, align 4
%..i4.i = tail call noundef i32 @llvm.smin.i32(i32 %15, i32 %17)
%18 = icmp slt i32 %3, %..i4.i
br i1 %18, label %.critedge, label %19

19: ; preds = %_ZNK17VerilatedVarProps3lowEi.exit
%.not = icmp samesign ugt i32 %2, %8
br i1 %.not, label %_ZNK17VerilatedVarProps4highEi.exit, label %_ZNK17VerilatedVarProps4highEi.exit.thread

_ZNK17VerilatedVarProps4highEi.exit: ; preds = %19
%20 = icmp sgt i32 %3, 0
br i1 %20, label %.critedge, label %_ZNK17VerilatedVarProps3lowEi.exit31

_ZNK17VerilatedVarProps4highEi.exit.thread: ; preds = %19
%..i4.i26 = tail call noundef i32 @llvm.smax.i32(i32 %15, i32 %17)
%21 = icmp sgt i32 %3, %..i4.i26
br i1 %21, label %.critedge, label %_ZNK17VerilatedVarProps3lowEi.exit31

_ZNK17VerilatedVarProps3lowEi.exit31: ; preds = %_ZNK17VerilatedVarProps4highEi.exit.thread, %_ZNK17VerilatedVarProps4highEi.exit
%22 = phi i32 [ 0, %_ZNK17VerilatedVarProps4highEi.exit ], [ %..i4.i, %_ZNK17VerilatedVarProps4highEi.exit.thread ]
%23 = sub nsw i32 %3, %22
%24 = getelementptr inbounds nuw i8, ptr %0, i64 4
%25 = load i8, ptr %24, align 4
switch i8 %25, label %39 [
%..i4.i26 = tail call i32 @llvm.smax.i32(i32 %15, i32 %17)
%19 = icmp sgt i32 %3, %..i4.i26
%or.cond = or i1 %18, %19
br i1 %or.cond, label %.critedge, label %_ZNK17VerilatedVarProps3lowEi.exit31

_ZNK17VerilatedVarProps3lowEi.exit31: ; preds = %_ZNK17VerilatedVarProps3lowEi.exit
%20 = sub nsw i32 %3, %..i4.i
%21 = getelementptr inbounds nuw i8, ptr %0, i64 4
%22 = load i8, ptr %21, align 4
switch i8 %22, label %36 [
i8 1, label %_ZNK17VerilatedVarProps7entSizeEv.exit
i8 2, label %26
i8 3, label %27
i8 4, label %28
i8 2, label %23
i8 3, label %24
i8 4, label %25
i8 5, label %_ZNK17VerilatedVarProps7entSizeEv.exit
i8 6, label %29
i8 6, label %26
]

26: ; preds = %_ZNK17VerilatedVarProps3lowEi.exit31
23: ; preds = %_ZNK17VerilatedVarProps3lowEi.exit31
br label %_ZNK17VerilatedVarProps7entSizeEv.exit

27: ; preds = %_ZNK17VerilatedVarProps3lowEi.exit31
24: ; preds = %_ZNK17VerilatedVarProps3lowEi.exit31
br label %_ZNK17VerilatedVarProps7entSizeEv.exit

28: ; preds = %_ZNK17VerilatedVarProps3lowEi.exit31
25: ; preds = %_ZNK17VerilatedVarProps3lowEi.exit31
br label %_ZNK17VerilatedVarProps7entSizeEv.exit

29: ; preds = %_ZNK17VerilatedVarProps3lowEi.exit31
%30 = getelementptr inbounds nuw i8, ptr %0, i64 20
%31 = load i32, ptr %30, align 4
%32 = getelementptr inbounds nuw i8, ptr %0, i64 24
%33 = load i32, ptr %32, align 8
%34 = sub nsw i32 %31, %33
%.in.i.i = tail call i32 @llvm.abs.i32(i32 %34, i1 true)
%35 = add nuw nsw i32 %.in.i.i, 32
%36 = lshr i32 %35, 3
%37 = and i32 %36, 268435452
%38 = zext nneg i32 %37 to i64
26: ; preds = %_ZNK17VerilatedVarProps3lowEi.exit31
%27 = getelementptr inbounds nuw i8, ptr %0, i64 20
%28 = load i32, ptr %27, align 4
%29 = getelementptr inbounds nuw i8, ptr %0, i64 24
%30 = load i32, ptr %29, align 8
%31 = sub nsw i32 %28, %30
%.in.i.i = tail call i32 @llvm.abs.i32(i32 %31, i1 true)
%32 = add nuw nsw i32 %.in.i.i, 32
%33 = lshr i32 %32, 3
%34 = and i32 %33, 268435452
%35 = zext nneg i32 %34 to i64
br label %_ZNK17VerilatedVarProps7entSizeEv.exit

39: ; preds = %_ZNK17VerilatedVarProps3lowEi.exit31
36: ; preds = %_ZNK17VerilatedVarProps3lowEi.exit31
br label %_ZNK17VerilatedVarProps7entSizeEv.exit

_ZNK17VerilatedVarProps7entSizeEv.exit: ; preds = %_ZNK17VerilatedVarProps3lowEi.exit31, %_ZNK17VerilatedVarProps3lowEi.exit31, %26, %27, %28, %29, %39
%.0.i = phi i64 [ 0, %39 ], [ %38, %29 ], [ 4, %28 ], [ 2, %27 ], [ 1, %26 ], [ 8, %_ZNK17VerilatedVarProps3lowEi.exit31 ], [ 8, %_ZNK17VerilatedVarProps3lowEi.exit31 ]
_ZNK17VerilatedVarProps7entSizeEv.exit: ; preds = %_ZNK17VerilatedVarProps3lowEi.exit31, %_ZNK17VerilatedVarProps3lowEi.exit31, %23, %24, %25, %26, %36
%.0.i = phi i64 [ 0, %36 ], [ %35, %26 ], [ 4, %25 ], [ 2, %24 ], [ 1, %23 ], [ 8, %_ZNK17VerilatedVarProps3lowEi.exit31 ], [ 8, %_ZNK17VerilatedVarProps3lowEi.exit31 ]
%.not.not35 = icmp samesign ult i32 %2, %8
br i1 %.not.not35, label %_ZNK17VerilatedVarProps8elementsEi.exit, label %._crit_edge

_ZNK17VerilatedVarProps8elementsEi.exit: ; preds = %_ZNK17VerilatedVarProps7entSizeEv.exit, %_ZNK17VerilatedVarProps8elementsEi.exit
%indvars.iv = phi i64 [ %indvars.iv.next, %_ZNK17VerilatedVarProps8elementsEi.exit ], [ %12, %_ZNK17VerilatedVarProps7entSizeEv.exit ]
%.01936 = phi i64 [ %48, %_ZNK17VerilatedVarProps8elementsEi.exit ], [ %.0.i, %_ZNK17VerilatedVarProps7entSizeEv.exit ]
%.01936 = phi i64 [ %45, %_ZNK17VerilatedVarProps8elementsEi.exit ], [ %.0.i, %_ZNK17VerilatedVarProps7entSizeEv.exit ]
%indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
%40 = getelementptr %class.VerilatedRange, ptr %11, i64 %indvars.iv.next
%41 = getelementptr i8, ptr %40, i64 -8
%42 = load i32, ptr %41, align 4
%43 = getelementptr i8, ptr %40, i64 -4
%44 = load i32, ptr %43, align 4
%45 = sub nsw i32 %42, %44
%.in.i4.i = tail call i32 @llvm.abs.i32(i32 %45, i1 true)
%46 = add nuw nsw i32 %.in.i4.i, 1
%47 = zext nneg i32 %46 to i64
%48 = mul i64 %.01936, %47
%49 = trunc nuw i64 %indvars.iv.next to i32
%.not.not = icmp sgt i32 %8, %49
%37 = getelementptr %class.VerilatedRange, ptr %11, i64 %indvars.iv.next
%38 = getelementptr i8, ptr %37, i64 -8
%39 = load i32, ptr %38, align 4
%40 = getelementptr i8, ptr %37, i64 -4
%41 = load i32, ptr %40, align 4
%42 = sub nsw i32 %39, %41
%.in.i4.i = tail call i32 @llvm.abs.i32(i32 %42, i1 true)
%43 = add nuw nsw i32 %.in.i4.i, 1
%44 = zext nneg i32 %43 to i64
%45 = mul i64 %.01936, %44
%46 = trunc nuw i64 %indvars.iv.next to i32
%.not.not = icmp sgt i32 %8, %46
br i1 %.not.not, label %_ZNK17VerilatedVarProps8elementsEi.exit, label %._crit_edge, !llvm.loop !183

._crit_edge: ; preds = %_ZNK17VerilatedVarProps8elementsEi.exit, %_ZNK17VerilatedVarProps7entSizeEv.exit
%.019.lcssa = phi i64 [ %.0.i, %_ZNK17VerilatedVarProps7entSizeEv.exit ], [ %48, %_ZNK17VerilatedVarProps8elementsEi.exit ]
%50 = sext i32 %23 to i64
%51 = mul i64 %.019.lcssa, %50
%52 = getelementptr inbounds i8, ptr %1, i64 %51
%.019.lcssa = phi i64 [ %.0.i, %_ZNK17VerilatedVarProps7entSizeEv.exit ], [ %45, %_ZNK17VerilatedVarProps8elementsEi.exit ]
%47 = sext i32 %20 to i64
%48 = mul i64 %.019.lcssa, %47
%49 = getelementptr inbounds i8, ptr %1, i64 %48
br label %.critedge

.critedge: ; preds = %_ZNK17VerilatedVarProps4highEi.exit.thread, %_ZNK17VerilatedVarProps3lowEi.exit, %4, %_ZNK17VerilatedVarProps4highEi.exit, %6, %._crit_edge
%.020 = phi ptr [ %52, %._crit_edge ], [ null, %6 ], [ null, %_ZNK17VerilatedVarProps4highEi.exit ], [ null, %4 ], [ null, %_ZNK17VerilatedVarProps3lowEi.exit ], [ null, %_ZNK17VerilatedVarProps4highEi.exit.thread ]
.critedge: ; preds = %_ZNK17VerilatedVarProps3lowEi.exit, %4, %6, %._crit_edge
%.020 = phi ptr [ %49, %._crit_edge ], [ null, %6 ], [ null, %4 ], [ null, %_ZNK17VerilatedVarProps3lowEi.exit ]
ret ptr %.020
}

Expand Down
2 changes: 1 addition & 1 deletion scripts/setup_pre_commit_patch.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
set -euo pipefail
shopt -s inherit_errexit

export GITHUB_PATCH_ID="<user_name>/llvm-project/commit/<commit_hash>"
export GITHUB_PATCH_ID=llvm/llvm-project/pull/122597
export COMPTIME_MODE=0

# Please rebase manually
Expand Down