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
51 changes: 25 additions & 26 deletions bench/abc/optimized/absVta.ll
Original file line number Diff line number Diff line change
Expand Up @@ -5540,7 +5540,7 @@ Vga_ManLoadSlice.exit: ; preds = %268, %261
%280 = sub nsw i64 %indvars.iv619, %indvars.iv
%281 = getelementptr i8, ptr %279, i64 8
%.val280 = load ptr, ptr %281, align 8, !tbaa !14
%282 = getelementptr inbounds ptr, ptr %.val280, i64 %280
%282 = getelementptr inbounds nuw ptr, ptr %.val280, i64 %280
%283 = load ptr, ptr %282, align 8, !tbaa !19
%284 = getelementptr i8, ptr %283, i64 4
%.val1112.i318 = load i32, ptr %284, align 4, !tbaa !15
Expand Down Expand Up @@ -6714,9 +6714,8 @@ Vga_ManRollBack.exit: ; preds = %853
%868 = load ptr, ptr %84, align 8, !tbaa !55
%869 = load i32, ptr %868, align 8, !tbaa !178
%.not236 = icmp eq i32 %869, 0
%870 = sext i32 %869 to i64
%871 = icmp slt i64 %indvars.iv.next620, %870
%or.cond266 = select i1 %.not236, i1 true, i1 %871
%870 = icmp sgt i32 %869, %indvars
%or.cond266 = select i1 %.not236, i1 true, i1 %870
br i1 %or.cond266, label %.critedge, label %Vga_ManRollBack.exit.thread.loopexit594, !llvm.loop !199

Vga_ManRollBack.exit.thread.loopexit594: ; preds = %Abc_Clock.exit436, %Vga_ManRollBack.exit
Expand Down Expand Up @@ -6746,8 +6745,8 @@ Vga_ManRollBack.exit.thread: ; preds = %Gia_ObjIsRo.exit.th
br label %.thread

.thread: ; preds = %494, %._crit_edge.i343, %124, %Vga_ManRollBack.exit.thread, %878, %.loopexit656
%879 = phi i1 [ %.ph, %878 ], [ %.ph, %.loopexit656 ], [ false, %Vga_ManRollBack.exit.thread ], [ false, %._crit_edge.i343 ], [ undef, %124 ], [ false, %494 ]
%.0219560645650 = phi i32 [ %.0219560.ph640, %878 ], [ %.0219560.ph640, %.loopexit656 ], [ %164, %Vga_ManRollBack.exit.thread ], [ %164, %._crit_edge.i343 ], [ 0, %124 ], [ %164, %494 ]
%879 = phi i1 [ %.ph, %877 ], [ %.ph, %.loopexit656 ], [ false, %Vga_ManRollBack.exit.thread ], [ false, %._crit_edge.i343 ], [ undef, %124 ], [ false, %494 ]
%.0219560645650 = phi i32 [ %.0219560.ph640, %877 ], [ %.0219560.ph640, %.loopexit656 ], [ %164, %Vga_ManRollBack.exit.thread ], [ %164, %._crit_edge.i343 ], [ 0, %124 ], [ %164, %494 ]
%880 = getelementptr inbounds nuw i8, ptr %83, i64 112
%881 = load ptr, ptr %880, align 8, !tbaa !130
%882 = getelementptr i8, ptr %881, i64 4
Expand Down Expand Up @@ -6778,14 +6777,14 @@ Vga_ManRollBack.exit.thread: ; preds = %Gia_ObjIsRo.exit.th
br label %893

893: ; preds = %.thread.i, %888
%894 = phi ptr [ %891, %.thread.i ], [ %886, %888 ]
%894 = phi ptr [ %891, %.thread.i ], [ %886, %887 ]
call void @free(ptr noundef nonnull %894) #28
store ptr null, ptr %67, align 8, !tbaa !160
%.pre634 = load ptr, ptr %880, align 8, !tbaa !130
br label %Vec_IntFreeP.exit

Vec_IntFreeP.exit: ; preds = %885, %893
%895 = phi ptr [ %881, %885 ], [ %.pre634, %893 ]
%895 = phi ptr [ %881, %884 ], [ %.pre634, %892 ]
%896 = call ptr @Gia_VtaFramesToAbs(ptr noundef %895)
store ptr %896, ptr %67, align 8, !tbaa !148
%897 = load ptr, ptr %84, align 8, !tbaa !55
Expand Down Expand Up @@ -6906,7 +6905,7 @@ Vga_ManRollBack.exit.thread.thread: ; preds = %Abc_Clock.exit442,
br label %962

962: ; preds = %955, %959
%963 = phi ptr [ %956, %955 ], [ %960, %959 ]
%963 = phi ptr [ %956, %954 ], [ %960, %958 ]
%964 = getelementptr inbounds nuw i8, ptr %963, i64 376
store ptr %.3507, ptr %964, align 8, !tbaa !174
%965 = call i32 @Gia_ManVerifyCex(ptr noundef nonnull %963, ptr noundef nonnull %.3507, i32 noundef 0) #28
Expand Down Expand Up @@ -6943,13 +6942,13 @@ Vga_ManRollBack.exit.thread.thread: ; preds = %Abc_Clock.exit442,
br label %980

980: ; preds = %.thread.i472, %975
%981 = phi ptr [ %978, %.thread.i472 ], [ %973, %975 ]
%981 = phi ptr [ %978, %.thread.i472 ], [ %973, %974 ]
call void @free(ptr noundef nonnull %981) #28
store ptr null, ptr %67, align 8, !tbaa !160
br label %Vec_IntFreeP.exit473

Vec_IntFreeP.exit473: ; preds = %980, %967, %884, %907, %943, %944, %921, %945
%.0215 = phi i32 [ -1, %884 ], [ -1, %907 ], [ -1, %921 ], [ -1, %943 ], [ -1, %944 ], [ -1, %945 ], [ 0, %967 ], [ 0, %980 ]
%.0215 = phi i32 [ -1, %883 ], [ -1, %906 ], [ -1, %920 ], [ -1, %942 ], [ -1, %943 ], [ -1, %944 ], [ 0, %966 ], [ 0, %979 ]
call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %16) #28
%982 = call i32 @clock_gettime(i32 noundef 1, ptr noundef nonnull %16) #28
%983 = icmp slt i32 %982, 0
Expand All @@ -6965,7 +6964,7 @@ Vec_IntFreeP.exit473: ; preds = %980, %967, %884, %9
br label %Abc_Clock.exit475

Abc_Clock.exit475: ; preds = %Vec_IntFreeP.exit473, %984
%.0.i474 = phi i64 [ %990, %984 ], [ -1, %Vec_IntFreeP.exit473 ]
%.0.i474 = phi i64 [ %990, %983 ], [ -1, %Vec_IntFreeP.exit473 ]
call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %16) #28
%991 = sub nsw i64 %.0.i474, %.0.i
call void (i32, ptr, ...) @Abc_Print(i32 poison, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.43)
Expand Down Expand Up @@ -6994,7 +6993,7 @@ Abc_Clock.exit475: ; preds = %Vec_IntFreeP.exit47
br label %Abc_Clock.exit477

Abc_Clock.exit477: ; preds = %997, %1000
%.0.i476 = phi i64 [ %1006, %1000 ], [ -1, %997 ]
%.0.i476 = phi i64 [ %1006, %999 ], [ -1, %996 ]
call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %15) #28
%1007 = getelementptr inbounds nuw i8, ptr %83, i64 144
%1008 = load i64, ptr %1007, align 8, !tbaa !194
Expand Down Expand Up @@ -7027,7 +7026,7 @@ Abc_Clock.exit477: ; preds = %997, %1000
br label %Abc_Clock.exit479

Abc_Clock.exit479: ; preds = %Abc_Clock.exit477, %1023
%.0.i478 = phi i64 [ %1029, %1023 ], [ -1, %Abc_Clock.exit477 ]
%.0.i478 = phi i64 [ %1029, %1022 ], [ -1, %Abc_Clock.exit477 ]
call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14) #28
%.not258 = icmp eq i64 %.0.i478, %.0.i
br i1 %.not258, label %1046, label %1030
Expand All @@ -7051,7 +7050,7 @@ Abc_Clock.exit479: ; preds = %Abc_Clock.exit477,
br label %Abc_Clock.exit481

Abc_Clock.exit481: ; preds = %1030, %1036
%.0.i480 = phi i64 [ %1042, %1036 ], [ -1, %1030 ]
%.0.i480 = phi i64 [ %1042, %1035 ], [ -1, %1029 ]
call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %13) #28
%1043 = sub nsw i64 %.0.i480, %.0.i
%1044 = sitofp i64 %1043 to double
Expand Down Expand Up @@ -7080,7 +7079,7 @@ Abc_Clock.exit481: ; preds = %1030, %1036
br label %Abc_Clock.exit483

Abc_Clock.exit483: ; preds = %1046, %1053
%.0.i482 = phi i64 [ %1059, %1053 ], [ -1, %1046 ]
%.0.i482 = phi i64 [ %1059, %1052 ], [ -1, %1045 ]
call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) #28
%.not259 = icmp eq i64 %.0.i482, %.0.i
br i1 %.not259, label %1076, label %1060
Expand All @@ -7104,7 +7103,7 @@ Abc_Clock.exit483: ; preds = %1046, %1053
br label %Abc_Clock.exit485

Abc_Clock.exit485: ; preds = %1060, %1066
%.0.i484 = phi i64 [ %1072, %1066 ], [ -1, %1060 ]
%.0.i484 = phi i64 [ %1072, %1065 ], [ -1, %1059 ]
call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %11) #28
%1073 = sub nsw i64 %.0.i484, %.0.i
%1074 = sitofp i64 %1073 to double
Expand Down Expand Up @@ -7133,7 +7132,7 @@ Abc_Clock.exit485: ; preds = %1060, %1066
br label %Abc_Clock.exit487

Abc_Clock.exit487: ; preds = %1076, %1083
%.0.i486 = phi i64 [ %1089, %1083 ], [ -1, %1076 ]
%.0.i486 = phi i64 [ %1089, %1082 ], [ -1, %1075 ]
call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %10) #28
%.not260 = icmp eq i64 %.0.i486, %.0.i
br i1 %.not260, label %1106, label %1090
Expand All @@ -7157,7 +7156,7 @@ Abc_Clock.exit487: ; preds = %1076, %1083
br label %Abc_Clock.exit489

Abc_Clock.exit489: ; preds = %1090, %1096
%.0.i488 = phi i64 [ %1102, %1096 ], [ -1, %1090 ]
%.0.i488 = phi i64 [ %1102, %1095 ], [ -1, %1089 ]
call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %9) #28
%1103 = sub nsw i64 %.0.i488, %.0.i
%1104 = sitofp i64 %1103 to double
Expand Down Expand Up @@ -7186,7 +7185,7 @@ Abc_Clock.exit489: ; preds = %1090, %1096
br label %Abc_Clock.exit491

Abc_Clock.exit491: ; preds = %1106, %1113
%.0.i490 = phi i64 [ %1119, %1113 ], [ -1, %1106 ]
%.0.i490 = phi i64 [ %1119, %1112 ], [ -1, %1105 ]
call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %8) #28
%.not261 = icmp eq i64 %.0.i490, %.0.i
br i1 %.not261, label %1136, label %1120
Expand All @@ -7210,7 +7209,7 @@ Abc_Clock.exit491: ; preds = %1106, %1113
br label %Abc_Clock.exit493

Abc_Clock.exit493: ; preds = %1120, %1126
%.0.i492 = phi i64 [ %1132, %1126 ], [ -1, %1120 ]
%.0.i492 = phi i64 [ %1132, %1125 ], [ -1, %1119 ]
call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7) #28
%1133 = sub nsw i64 %.0.i492, %.0.i
%1134 = sitofp i64 %1133 to double
Expand All @@ -7236,7 +7235,7 @@ Abc_Clock.exit493: ; preds = %1120, %1126
br label %Abc_Clock.exit495

Abc_Clock.exit495: ; preds = %1136, %1140
%.0.i494 = phi i64 [ %1146, %1140 ], [ -1, %1136 ]
%.0.i494 = phi i64 [ %1146, %1139 ], [ -1, %1135 ]
call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6) #28
%1147 = sub nsw i64 %.0.i494, %.0.i
%1148 = sitofp i64 %1147 to double
Expand All @@ -7256,7 +7255,7 @@ Abc_Clock.exit495: ; preds = %1136, %1140
br label %Abc_Clock.exit497

Abc_Clock.exit497: ; preds = %Abc_Clock.exit495, %1152
%.0.i496 = phi i64 [ %1158, %1152 ], [ -1, %Abc_Clock.exit495 ]
%.0.i496 = phi i64 [ %1158, %1151 ], [ -1, %Abc_Clock.exit495 ]
call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5) #28
%.not262 = icmp eq i64 %.0.i496, %.0.i
br i1 %.not262, label %1184, label %1159
Expand All @@ -7277,7 +7276,7 @@ Abc_Clock.exit497: ; preds = %Abc_Clock.exit495,
br label %Abc_Clock.exit499

Abc_Clock.exit499: ; preds = %1159, %1162
%.0.i498 = phi i64 [ %1168, %1162 ], [ -1, %1159 ]
%.0.i498 = phi i64 [ %1168, %1161 ], [ -1, %1158 ]
call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4) #28
%1169 = sub nsw i64 %.0.i498, %.0.i
%1170 = sitofp i64 %1169 to double
Expand All @@ -7297,7 +7296,7 @@ Abc_Clock.exit499: ; preds = %1159, %1162
br label %Abc_Clock.exit501

Abc_Clock.exit501: ; preds = %Abc_Clock.exit499, %1174
%.0.i500 = phi i64 [ %1180, %1174 ], [ -1, %Abc_Clock.exit499 ]
%.0.i500 = phi i64 [ %1180, %1173 ], [ -1, %Abc_Clock.exit499 ]
call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %3) #28
%1181 = sub nsw i64 %.0.i500, %.0.i
%1182 = sitofp i64 %1181 to double
Expand All @@ -7317,7 +7316,7 @@ Abc_Clock.exit501: ; preds = %Abc_Clock.exit499,
br label %1189

1189: ; preds = %1186, %60, %55
%.0 = phi i32 [ 0, %60 ], [ 1, %55 ], [ %.0215, %1186 ]
%.0 = phi i32 [ 0, %60 ], [ 1, %55 ], [ %.0215, %1185 ]
call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %32) #28
call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %31) #28
ret i32 %.0
Expand Down
27 changes: 14 additions & 13 deletions bench/abc/optimized/cbaBlast.ll
Original file line number Diff line number Diff line change
Expand Up @@ -2330,13 +2330,14 @@ define void @Cba_BlastDivider(ptr noundef %0, ptr noundef readonly captures(none
%14 = add nsw i32 %2, -1
%15 = add nsw i64 %9, -1
%16 = zext nneg i32 %14 to i64
%17 = zext nneg i32 %14 to i64
%wide.trip.count = zext nneg i32 %2 to i64
%wide.trip.count150 = zext nneg i32 %2 to i64
br label %.preheader120

.preheader120: ; preds = %.preheader120.lr.ph, %.loopexit
%indvars.iv152 = phi i64 [ %15, %.preheader120.lr.ph ], [ %indvars.iv.next153, %.loopexit ]
%17 = sub nuw nsw i64 %16, %indvars.iv152
%17 = sub nuw nsw i64 %17, %indvars.iv152
%18 = icmp sgt i64 %indvars.iv152, 0
br i1 %18, label %.lr.ph, label %.lr.ph129

Expand All @@ -2346,8 +2347,8 @@ define void @Cba_BlastDivider(ptr noundef %0, ptr noundef readonly captures(none
br i1 %20, label %.lr.ph, label %.lr.ph129, !llvm.loop !63

.lr.ph: ; preds = %.preheader120, %19
%indvars.iv = phi i64 [ %indvars.iv.next, %19 ], [ %15, %.preheader120 ]
%.0105122 = phi i32 [ %23, %19 ], [ 0, %.preheader120 ]
%indvars.iv = phi i64 [ %indvars.iv.next, %20 ], [ %15, %.preheader120 ]
%.0105122 = phi i32 [ %23, %20 ], [ 0, %.preheader120 ]
%21 = getelementptr inbounds i32, ptr %3, i64 %indvars.iv
%22 = load i32, ptr %21, align 4, !tbaa !11
%23 = tail call i32 @Gia_ManHashOr(ptr noundef %0, i32 noundef %.0105122, i32 noundef %22) #21
Expand All @@ -2360,25 +2361,25 @@ define void @Cba_BlastDivider(ptr noundef %0, ptr noundef readonly captures(none
br label %.loopexit

.lr.ph129: ; preds = %19, %.preheader120
%.promoted.ph = phi i32 [ 0, %.preheader120 ], [ %23, %19 ]
%.promoted.ph = phi i32 [ 0, %.preheader120 ], [ %23, %20 ]
%26 = getelementptr inbounds nuw i32, ptr %11, i64 %indvars.iv152
br label %27

27: ; preds = %.lr.ph129, %33
%indvars.iv141 = phi i64 [ %15, %.lr.ph129 ], [ %indvars.iv.next142, %33 ]
%28 = phi i32 [ %.promoted.ph, %.lr.ph129 ], [ %39, %33 ]
%.2127 = phi i32 [ %.promoted.ph, %.lr.ph129 ], [ %42, %33 ]
%indvars.iv141 = phi i64 [ %16, %.lr.ph129 ], [ %indvars.iv.next142, %34 ]
%28 = phi i32 [ %.promoted.ph, %.lr.ph129 ], [ %39, %34 ]
%.2127 = phi i32 [ %.promoted.ph, %.lr.ph129 ], [ %42, %34 ]
%.not117 = icmp slt i64 %indvars.iv141, %indvars.iv152
br i1 %.not117, label %33, label %29

29: ; preds = %27
%30 = sub nsw i64 %indvars.iv141, %indvars.iv152
%31 = getelementptr inbounds i32, ptr %3, i64 %30
%31 = getelementptr inbounds nuw i32, ptr %3, i64 %30
%32 = load i32, ptr %31, align 4, !tbaa !11
br label %33

33: ; preds = %27, %29
%34 = phi i32 [ %32, %29 ], [ 0, %27 ]
%34 = phi i32 [ %32, %30 ], [ 0, %28 ]
%35 = getelementptr inbounds nuw i32, ptr %8, i64 %indvars.iv141
%36 = load i32, ptr %35, align 4, !tbaa !11
%37 = xor i32 %36, 1
Expand All @@ -2400,8 +2401,8 @@ define void @Cba_BlastDivider(ptr noundef %0, ptr noundef readonly captures(none
br i1 %47, label %.loopexit, label %.lr.ph133

.lr.ph133: ; preds = %45, %56
%indvars.iv144 = phi i64 [ %indvars.iv.next145, %56 ], [ 0, %45 ]
%.0132 = phi i32 [ %61, %56 ], [ 0, %45 ]
%indvars.iv144 = phi i64 [ %indvars.iv.next145, %57 ], [ 0, %46 ]
%.0132 = phi i32 [ %61, %57 ], [ 0, %46 ]
%48 = getelementptr inbounds nuw i32, ptr %8, i64 %indvars.iv144
%49 = load i32, ptr %48, align 4, !tbaa !11
%50 = xor i32 %49, 1
Expand All @@ -2411,12 +2412,12 @@ define void @Cba_BlastDivider(ptr noundef %0, ptr noundef readonly captures(none

52: ; preds = %.lr.ph133
%53 = sub nsw i64 %indvars.iv144, %indvars.iv152
%54 = getelementptr inbounds i32, ptr %3, i64 %53
%54 = getelementptr inbounds nuw i32, ptr %3, i64 %53
%55 = load i32, ptr %54, align 4, !tbaa !11
br label %56

56: ; preds = %.lr.ph133, %52
%57 = phi i32 [ %55, %52 ], [ 0, %.lr.ph133 ]
%57 = phi i32 [ %55, %53 ], [ 0, %.lr.ph133 ]
%58 = load i32, ptr %48, align 4, !tbaa !11
%59 = tail call i32 @Gia_ManHashAnd(ptr noundef %0, i32 noundef %.0132, i32 noundef %57) #21
%60 = tail call i32 @Gia_ManHashOr(ptr noundef %0, i32 noundef %.0132, i32 noundef %57) #21
Expand Down
Loading