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
46 changes: 21 additions & 25 deletions bench/abc/optimized/abcBlifMv.ll
Original file line number Diff line number Diff line change
Expand Up @@ -3531,8 +3531,8 @@ define range(i32 0, 2) i32 @Abc_NtkConvertToBlifMv(ptr noundef %0) local_unnamed
br label %17

17: ; preds = %.lr.ph, %69
%18 = phi ptr [ %13, %.lr.ph ], [ %70, %69 ]
%indvars.iv95 = phi i64 [ 0, %.lr.ph ], [ %indvars.iv.next96, %69 ]
%18 = phi ptr [ %13, %.lr.ph ], [ %70, %65 ]
%indvars.iv95 = phi i64 [ 0, %.lr.ph ], [ %indvars.iv.next96, %65 ]
%19 = getelementptr i8, ptr %18, i64 8
%.val75.val = load ptr, ptr %19, align 8, !tbaa !32
%20 = getelementptr inbounds nuw ptr, ptr %.val75.val, i64 %indvars.iv95
Expand Down Expand Up @@ -3569,33 +3569,31 @@ define range(i32 0, 2) i32 @Abc_NtkConvertToBlifMv(ptr noundef %0) local_unnamed
.preheader78: ; preds = %26, %.critedge2
%40 = phi i8 [ %51, %.critedge2 ], [ %39, %26 ]
%.05881 = phi ptr [ %50, %.critedge2 ], [ %38, %26 ]
%.06080 = phi ptr [ %47, %.critedge2 ], [ %37, %26 ]
%.06080 = phi ptr [ %44, %.critedge2 ], [ %37, %26 ]
br label %41

41: ; preds = %.preheader78, %43
%42 = phi i8 [ %40, %.preheader78 ], [ %.pre, %43 ]
%indvars.iv = phi i64 [ 0, %.preheader78 ], [ %indvars.iv.next, %43 ]
%.161 = phi ptr [ %.06080, %.preheader78 ], [ %45, %43 ]
switch i8 %42, label %43 [
%42 = phi i8 [ %40, %.preheader78 ], [ %.pre, %45 ]
%indvars.iv = phi i64 [ 0, %.preheader78 ], [ %indvars.iv.next, %45 ]
%.161 = phi ptr [ %.06080, %.preheader78 ], [ %44, %45 ]
%43 = getelementptr inbounds nuw i8, ptr %.161, i64 1
%44 = getelementptr inbounds nuw i8, ptr %.161, i64 2
switch i8 %42, label %45 [
i8 32, label %.critedge2
i8 0, label %.critedge2
]

43: ; preds = %41
%44 = getelementptr inbounds nuw i8, ptr %.161, i64 1
store i8 %42, ptr %.161, align 1, !tbaa !48
%45 = getelementptr inbounds nuw i8, ptr %.161, i64 2
store i8 32, ptr %44, align 1, !tbaa !48
store i8 32, ptr %43, align 1, !tbaa !48
%indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
%.phi.trans.insert = getelementptr inbounds nuw i8, ptr %.05881, i64 %indvars.iv.next
%.pre = load i8, ptr %.phi.trans.insert, align 1, !tbaa !48
br label %41, !llvm.loop !114

.critedge2: ; preds = %41, %41
%46 = getelementptr inbounds nuw i8, ptr %.161, i64 1
store i8 48, ptr %.161, align 1, !tbaa !48
%47 = getelementptr inbounds nuw i8, ptr %.161, i64 2
store i8 10, ptr %46, align 1, !tbaa !48
store i8 10, ptr %43, align 1, !tbaa !48
%.val73 = load i32, ptr %32, align 4, !tbaa !49
%48 = sext i32 %.val73 to i64
%49 = getelementptr i8, ptr %.05881, i64 %48
Expand All @@ -3605,7 +3603,7 @@ define range(i32 0, 2) i32 @Abc_NtkConvertToBlifMv(ptr noundef %0) local_unnamed
br i1 %.not66, label %._crit_edge, label %.preheader78, !llvm.loop !115

._crit_edge: ; preds = %.critedge2, %26
%.060.lcssa = phi ptr [ %37, %26 ], [ %47, %.critedge2 ]
%.060.lcssa = phi ptr [ %37, %26 ], [ %44, %.critedge2 ]
%52 = load ptr, ptr %3, align 8, !tbaa !113
%53 = load i8, ptr %52, align 1, !tbaa !48
%.not6782 = icmp eq i8 %53, 0
Expand All @@ -3614,33 +3612,31 @@ define range(i32 0, 2) i32 @Abc_NtkConvertToBlifMv(ptr noundef %0) local_unnamed
.preheader: ; preds = %._crit_edge, %.critedge4
%54 = phi i8 [ %65, %.critedge4 ], [ %53, %._crit_edge ]
%.15984 = phi ptr [ %64, %.critedge4 ], [ %52, %._crit_edge ]
%.283 = phi ptr [ %61, %.critedge4 ], [ %.060.lcssa, %._crit_edge ]
%.283 = phi ptr [ %56, %.critedge4 ], [ %.060.lcssa, %._crit_edge ]
br label %55

55: ; preds = %.preheader, %57
%56 = phi i8 [ %54, %.preheader ], [ %.pre99, %57 ]
%indvars.iv92 = phi i64 [ 0, %.preheader ], [ %indvars.iv.next93, %57 ]
%.3 = phi ptr [ %.283, %.preheader ], [ %59, %57 ]
switch i8 %56, label %57 [
%.3 = phi ptr [ %.283, %.preheader ], [ %56, %57 ]
%55 = getelementptr inbounds nuw i8, ptr %.3, i64 1
%56 = getelementptr inbounds nuw i8, ptr %.3, i64 2
switch i8 %54, label %57 [
i8 32, label %.critedge4
i8 0, label %.critedge4
]

57: ; preds = %55
%58 = getelementptr inbounds nuw i8, ptr %.3, i64 1
store i8 %56, ptr %.3, align 1, !tbaa !48
%59 = getelementptr inbounds nuw i8, ptr %.3, i64 2
store i8 32, ptr %58, align 1, !tbaa !48
store i8 %54, ptr %.3, align 1, !tbaa !48
store i8 32, ptr %55, align 1, !tbaa !48
%indvars.iv.next93 = add nuw nsw i64 %indvars.iv92, 1
%.phi.trans.insert98 = getelementptr inbounds nuw i8, ptr %.15984, i64 %indvars.iv.next93
%.pre99 = load i8, ptr %.phi.trans.insert98, align 1, !tbaa !48
br label %55, !llvm.loop !116

.critedge4: ; preds = %55, %55
%60 = getelementptr inbounds nuw i8, ptr %.3, i64 1
store i8 49, ptr %.3, align 1, !tbaa !48
%61 = getelementptr inbounds nuw i8, ptr %.3, i64 2
store i8 10, ptr %60, align 1, !tbaa !48
store i8 10, ptr %55, align 1, !tbaa !48
%.val72 = load i32, ptr %32, align 4, !tbaa !49
%62 = sext i32 %.val72 to i64
%63 = getelementptr i8, ptr %.15984, i64 %62
Expand All @@ -3650,7 +3646,7 @@ define range(i32 0, 2) i32 @Abc_NtkConvertToBlifMv(ptr noundef %0) local_unnamed
br i1 %.not67, label %._crit_edge85, label %.preheader, !llvm.loop !117

._crit_edge85: ; preds = %.critedge4, %._crit_edge
%.2.lcssa = phi ptr [ %.060.lcssa, %._crit_edge ], [ %61, %.critedge4 ]
%.2.lcssa = phi ptr [ %.060.lcssa, %._crit_edge ], [ %56, %.critedge4 ]
store i8 0, ptr %.2.lcssa, align 1, !tbaa !48
%66 = load ptr, ptr %16, align 8, !tbaa !53
%67 = getelementptr inbounds nuw i8, ptr %21, i64 56
Expand Down
20 changes: 7 additions & 13 deletions bench/abc/optimized/abcExact.ll
Original file line number Diff line number Diff line change
Expand Up @@ -11549,6 +11549,9 @@ Abc_TtMask.exit.thread: ; preds = %5
22: ; preds = %.lr.ph.split.us
%23 = getelementptr inbounds nuw i32, ptr %4, i64 %indvars.iv61
store i32 %21, ptr %23, align 4, !tbaa !7
%24 = load i32, ptr %19, align 4, !tbaa !7
%25 = shl i32 %24, 2
%26 = sext i32 %25 to i64
switch i32 %21, label %default.unreachable70 [
i32 1, label %.lr.ph.preheader.i31.us
i32 4, label %.lr.ph.preheader.i31.us
Expand All @@ -11558,9 +11561,6 @@ Abc_TtMask.exit.thread: ; preds = %5
]

.lr.ph.preheader.i44.us: ; preds = %22
%24 = load i32, ptr %19, align 4, !tbaa !7
%25 = shl i32 %24, 2
%26 = sext i32 %25 to i64
%27 = getelementptr inbounds i64, ptr @s_Truths8, i64 %26
br label %.lr.ph.i46.us

Expand All @@ -11577,17 +11577,14 @@ Abc_TtMask.exit.thread: ; preds = %5
br i1 %exitcond.not.i49.us, label %Abc_TtAnd.exit.us, label %.lr.ph.i46.us, !llvm.loop !320

.lr.ph.preheader.i37.us: ; preds = %22, %22
%33 = load i32, ptr %19, align 4, !tbaa !7
%34 = shl i32 %33, 2
%35 = sext i32 %34 to i64
%36 = getelementptr inbounds i64, ptr @s_Truths8Neg, i64 %35
%33 = getelementptr inbounds i64, ptr @s_Truths8Neg, i64 %26
br label %.lr.ph.i39.us

.lr.ph.i39.us: ; preds = %.lr.ph.i39.us, %.lr.ph.preheader.i37.us
%indvars.iv.i40.us = phi i64 [ 0, %.lr.ph.preheader.i37.us ], [ %indvars.iv.next.i41.us, %.lr.ph.i39.us ]
%37 = getelementptr inbounds nuw i64, ptr %6, i64 %indvars.iv.i40.us
%38 = load i64, ptr %37, align 8, !tbaa !3
%39 = getelementptr inbounds nuw i64, ptr %36, i64 %indvars.iv.i40.us
%39 = getelementptr inbounds nuw i64, ptr %33, i64 %indvars.iv.i40.us
%40 = load i64, ptr %39, align 8, !tbaa !3
%41 = and i64 %40, %38
store i64 %41, ptr %37, align 8, !tbaa !3
Expand All @@ -11596,17 +11593,14 @@ Abc_TtMask.exit.thread: ; preds = %5
br i1 %exitcond.not.i42.us, label %Abc_TtAnd.exit.us, label %.lr.ph.i39.us, !llvm.loop !321

.lr.ph.preheader.i31.us: ; preds = %22, %22
%42 = load i32, ptr %19, align 4, !tbaa !7
%43 = shl i32 %42, 2
%44 = sext i32 %43 to i64
%45 = getelementptr inbounds i64, ptr @s_Truths8, i64 %44
%39 = getelementptr inbounds i64, ptr @s_Truths8, i64 %26
br label %.lr.ph.i33.us

.lr.ph.i33.us: ; preds = %.lr.ph.i33.us, %.lr.ph.preheader.i31.us
%indvars.iv.i34.us = phi i64 [ 0, %.lr.ph.preheader.i31.us ], [ %indvars.iv.next.i35.us, %.lr.ph.i33.us ]
%46 = getelementptr inbounds nuw i64, ptr %6, i64 %indvars.iv.i34.us
%47 = load i64, ptr %46, align 8, !tbaa !3
%48 = getelementptr inbounds nuw i64, ptr %45, i64 %indvars.iv.i34.us
%48 = getelementptr inbounds nuw i64, ptr %39, i64 %indvars.iv.i34.us
%49 = load i64, ptr %48, align 8, !tbaa !3
%50 = and i64 %49, %47
store i64 %50, ptr %46, align 8, !tbaa !3
Expand Down
48 changes: 20 additions & 28 deletions bench/abc/optimized/abcUtil.ll
Original file line number Diff line number Diff line change
Expand Up @@ -3457,16 +3457,16 @@ define void @Abc_NtkLogicMakeSimpleCosTest(ptr noundef readonly captures(none) %
%wide.trip.count = zext nneg i32 %.val42.val to i64
br label %15

.critedge.preheader: ; preds = %44, %2
.critedge.preheader: ; preds = %._crit_edge, %2
%14 = icmp sgt i32 %.val40.val, 0
br i1 %14, label %.critedge.preheader54, label %.preheader47.preheader

.critedge.preheader54: ; preds = %.critedge.preheader
%wide.trip.count59 = zext nneg i32 %.val40.val to i64
br label %.critedge

15: ; preds = %.lr.ph, %44
%indvars.iv = phi i64 [ 0, %.lr.ph ], [ %indvars.iv.next, %44 ]
15: ; preds = %.lr.ph, %._crit_edge
%indvars.iv = phi i64 [ 0, %.lr.ph ], [ %indvars.iv.next, %._crit_edge ]
%16 = getelementptr inbounds nuw ptr, ptr %.val43.val, i64 %indvars.iv
%17 = load ptr, ptr %16, align 8, !tbaa !26
%18 = getelementptr i8, ptr %17, i64 32
Expand Down Expand Up @@ -3499,37 +3499,29 @@ define void @Abc_NtkLogicMakeSimpleCosTest(ptr noundef readonly captures(none) %
%34 = getelementptr i8, ptr %33, i64 20
%.val41 = load i32, ptr %34, align 4
%35 = and i32 %.val41, 15
switch i32 %35, label %._crit_edge [
i32 5, label %36
i32 2, label %36
]

._crit_edge: ; preds = %28
%.phi.trans.insert = getelementptr i8, ptr %17, i64 20
%.val.pre = load i32, ptr %.phi.trans.insert, align 4
%.pre = lshr i32 %.val.pre, 10
%.pre72 = and i32 %.pre, 1
br label %44
switch i32 %35, label %._crit_edge [
i32 5, label %36
i32 2, label %36
]

36: ; preds = %28, %28
%37 = getelementptr i8, ptr %17, i64 20
%.val34 = load i32, ptr %37, align 4
%38 = lshr i32 %.val34, 10
%39 = and i32 %38, 1
%40 = zext nneg i32 %39 to i64
%41 = getelementptr inbounds nuw i32, ptr %5, i64 %40
%42 = load i32, ptr %41, align 4, !tbaa !51
%43 = add nsw i32 %42, 1
store i32 %43, ptr %41, align 4, !tbaa !51
br label %44

44: ; preds = %._crit_edge, %36
%.pre-phi73 = phi i32 [ %.pre72, %._crit_edge ], [ %39, %36 ]
%45 = shl nuw nsw i32 1, %.pre-phi73
%46 = getelementptr inbounds i32, ptr %9, i64 %31
%47 = load i32, ptr %46, align 4, !tbaa !51
%48 = or i32 %45, %47
store i32 %48, ptr %46, align 4, !tbaa !51
%37 = zext nneg i32 %.pre72 to i64
%38 = getelementptr inbounds nuw i32, ptr %5, i64 %37
%39 = load i32, ptr %38, align 4, !tbaa !51
%40 = add nsw i32 %39, 1
store i32 %40, ptr %38, align 4, !tbaa !51
br label %._crit_edge

._crit_edge:; preds = %28, %36
%41 = shl nuw nsw i32 1, %.pre72
%42 = getelementptr inbounds i32, ptr %9, i64 %31
%43 = load i32, ptr %42, align 4, !tbaa !51
%44 = or i32 %41, %43
store i32 %44, ptr %42, align 4, !tbaa !51
%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 %.critedge.preheader, label %15, !llvm.loop !116
Expand Down
16 changes: 7 additions & 9 deletions bench/assimp/optimized/PlyLoader.ll
Original file line number Diff line number Diff line change
Expand Up @@ -1700,6 +1700,8 @@ _ZN6Assimp9IsLineEndIcEEbT_.exit.thread: ; preds = %73, %35
%.0 = phi i64 [ 0, %_ZN6Assimp9IsLineEndIcEEbT_.exit.thread ], [ %93, %128 ]
%87 = getelementptr inbounds nuw i8, ptr %85, i64 %86
%88 = load i8, ptr %87, align 1
%89 = load ptr, ptr %1, align 8
%90 = getelementptr inbounds nuw i8, ptr %89, i64 %.0
switch i8 %88, label %_ZN6Assimp9IsLineEndIcEEbT_.exit20 [
i8 13, label %130
i8 10, label %130
Expand All @@ -1708,8 +1710,6 @@ _ZN6Assimp9IsLineEndIcEEbT_.exit.thread: ; preds = %73, %35
]

_ZN6Assimp9IsLineEndIcEEbT_.exit20: ; preds = %84
%89 = load ptr, ptr %1, align 8
%90 = getelementptr inbounds nuw i8, ptr %89, i64 %.0
store i8 %88, ptr %90, align 1
%91 = load i64, ptr %5, align 8
%92 = add i64 %91, 1
Expand Down Expand Up @@ -1778,12 +1778,10 @@ _ZN6Assimp14IOStreamBufferIcE13readNextBlockEv.exit21.thread: ; preds = %119, %1
br label %84, !llvm.loop !14

130: ; preds = %84, %84, %84, %84
%131 = load ptr, ptr %1, align 8
%132 = getelementptr inbounds nuw i8, ptr %131, i64 %.0
store i8 10, ptr %132, align 1
%133 = load i64, ptr %3, align 8
store i8 10, ptr %90, align 1
%131 = load i64, ptr %3, align 8
%.promoted = load i64, ptr %5, align 8
%134 = icmp ult i64 %.promoted, %133
%134 = icmp ult i64 %.promoted, %131
br i1 %134, label %.lr.ph, label %.critedge

.lr.ph: ; preds = %130
Expand All @@ -1802,11 +1800,11 @@ _ZN6Assimp14IOStreamBufferIcE13readNextBlockEv.exit21.thread: ; preds = %119, %1
.critedge2: ; preds = %136, %136
%140 = add i64 %137, 1
store i64 %140, ptr %5, align 8
%exitcond.not = icmp eq i64 %140, %133
%exitcond.not = icmp eq i64 %140, %131
br i1 %exitcond.not, label %.critedge, label %136, !llvm.loop !15

.critedge: ; preds = %51, %105, %.critedge2, %136, %130, %11
%.013 = phi i1 [ false, %11 ], [ true, %130 ], [ true, %136 ], [ true, %.critedge2 ], [ false, %105 ], [ false, %51 ]
%.013 = phi i1 [ false, %11 ], [ true, %130 ], [ true, %134 ], [ true, %.critedge2 ], [ false, %105 ], [ false, %51 ]
ret i1 %.013
}

Expand Down
Loading