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
10 changes: 4 additions & 6 deletions bench/assimp/optimized/MDLMaterialLoader.ll
Original file line number Diff line number Diff line change
Expand Up @@ -1405,16 +1405,14 @@ invoke.cont85: ; preds = %invoke.cont80

for.cond90.preheader: ; preds = %invoke.cont85, %for.inc108
%indvars.iv140 = phi i64 [ 0, %invoke.cont85 ], [ %indvars.iv.next141, %for.inc108 ]
%rem148 = and i64 %indvars.iv140, 1
%cmp93 = icmp ne i64 %rem148, 0
br label %for.body92

for.body92: ; preds = %for.cond90.preheader, %for.body92
%indvars.iv = phi i64 [ 0, %for.cond90.preheader ], [ %indvars.iv.next, %for.body92 ]
%rem95149 = and i64 %indvars.iv, 1
%4 = icmp ne i64 %rem95149, 0
%narrow = xor i1 %cmp93, %4
%cond106 = sext i1 %narrow to i8
%rem95149 = xor i64 %indvars.iv, %indvars.iv140
%4 = trunc i64 %rem95149 to i8
%narrow = and i8 %5, 1
%cond106 = sub nsw i8 0, %narrow
%5 = load ptr, ptr %pcData.i88, align 8
%.idx = shl nsw i64 %indvars.iv, 5
%6 = getelementptr inbounds nuw i8, ptr %5, i64 %.idx
Expand Down
140 changes: 69 additions & 71 deletions bench/csmith/optimized/CVQualifiers.ll
Original file line number Diff line number Diff line change
Expand Up @@ -815,80 +815,78 @@ define dso_local noundef zeroext i1 @_ZNK12CVQualifiers13stricter_thanERKS_(ptr

._crit_edge: ; preds = %78
%.not83 = icmp eq i64 %15, 1
br i1 %.not83, label %.lr.ph60.preheader, label %81
br i1 %.not83, label %.lr.ph61.preheader, label %81

81: ; preds = %._crit_edge
%82 = load i64, ptr %34, align 8
%83 = and i64 %82, 1
%84 = icmp ne i64 %83, 0
%85 = load i64, ptr %45, align 8
%86 = and i64 %85, 1
%87 = icmp ne i64 %86, 0
%88 = xor i1 %84, %87
br i1 %88, label %.loopexit, label %.lr.ph60.preheader

.lr.ph60.preheader: ; preds = %81, %._crit_edge
br label %.lr.ph60

.lr.ph60: ; preds = %.lr.ph60.preheader, %115
%.158 = phi i64 [ %116, %115 ], [ 0, %.lr.ph60.preheader ]
%89 = sub nuw i64 %15, %.158
%90 = icmp ugt i64 %89, 2
%91 = sdiv i64 %.158, 64
br i1 %90, label %92, label %.lr.ph60._crit_edge

.lr.ph60._crit_edge: ; preds = %.lr.ph60
%.pre68 = and i64 %.158, -9223372036854775745
%.pre70 = and i64 %.158, 63
%.pre72 = shl nuw i64 1, %.pre70
br label %106

92: ; preds = %.lr.ph60
%93 = getelementptr inbounds i64, ptr %34, i64 %91
%94 = and i64 %.158, -9223372036854775745
%95 = icmp ugt i64 %94, -9223372036854775808
%storemerge.idx.i.i.i.i.i44 = select i1 %95, i64 -8, i64 0
%storemerge.i.i.i.i.i45 = getelementptr inbounds i8, ptr %93, i64 %storemerge.idx.i.i.i.i.i44
%96 = and i64 %.158, 63
%97 = shl nuw i64 1, %96
%98 = load i64, ptr %storemerge.i.i.i.i.i45, align 8
%99 = and i64 %98, %97
%100 = icmp ne i64 %99, 0
%101 = getelementptr inbounds i64, ptr %45, i64 %91
%storemerge.i.i.i.i.i47 = getelementptr inbounds i8, ptr %101, i64 %storemerge.idx.i.i.i.i.i44
%102 = load i64, ptr %storemerge.i.i.i.i.i47, align 8
%103 = and i64 %102, %97
%104 = icmp ne i64 %103, 0
%105 = xor i1 %100, %104
br i1 %105, label %.loopexit, label %106

106: ; preds = %.lr.ph60._crit_edge, %92
%.pre-phi73 = phi i64 [ %.pre72, %.lr.ph60._crit_edge ], [ %97, %92 ]
%.pre-phi69 = phi i64 [ %.pre68, %.lr.ph60._crit_edge ], [ %94, %92 ]
%107 = getelementptr inbounds i64, ptr %45, i64 %91
%108 = icmp ugt i64 %.pre-phi69, -9223372036854775808
%storemerge.idx.i.i.i.i.i48 = select i1 %108, i64 -8, i64 0
%storemerge.i.i.i.i.i49 = getelementptr inbounds i8, ptr %107, i64 %storemerge.idx.i.i.i.i.i48
%109 = load i64, ptr %storemerge.i.i.i.i.i49, align 8
%110 = and i64 %109, %.pre-phi73
%.not52 = icmp eq i64 %110, 0
br i1 %.not52, label %115, label %111

111: ; preds = %106
%112 = getelementptr inbounds i64, ptr %34, i64 %91
%storemerge.i.i.i.i.i51 = getelementptr inbounds i8, ptr %112, i64 %storemerge.idx.i.i.i.i.i48
%113 = load i64, ptr %storemerge.i.i.i.i.i51, align 8
%114 = and i64 %113, %.pre-phi73
%.not53 = icmp eq i64 %114, 0
br i1 %.not53, label %.loopexit, label %115

115: ; preds = %106, %111
%116 = add nuw i64 %.158, 1
%117 = icmp ult i64 %116, %15
br i1 %117, label %.lr.ph60, label %.loopexit, !llvm.loop !8

.loopexit: ; preds = %74, %55, %92, %111, %115, %.preheader, %81, %2, %27
%.0 = phi i1 [ false, %27 ], [ false, %2 ], [ false, %81 ], [ true, %.preheader ], [ false, %92 ], [ false, %111 ], [ true, %115 ], [ false, %55 ], [ false, %74 ]
%83 = load i64, ptr %45, align 8
%84 = xor i64 %83, %82
%85 = and i64 %84, 1
%86 = icmp eq i64 %85, 0
br i1 %86, label %.lr.ph61.preheader, label %.loopexit

.lr.ph61.preheader:; preds = %81, %._crit_edge
br label %.lr.ph61

.lr.ph61:; preds = %.lr.ph61.preheader, %112
%.159 = phi i64 [ %113, %112 ], [ 0, %.lr.ph61.preheader ]
%86 = sub nuw i64 %15, %.159
%.158 = icmp ugt i64 %86, 2
%89 = sdiv i64 %.159, 64
br i1 %87, label %89, label %.lr.ph61._crit_edge

.lr.ph61._crit_edge:; preds = %.lr.ph61
%.pre69 = and i64 %.159, -9223372036854775745
%.pre71 = and i64 %.159, 63
%.pre68 = shl nuw i64 1, %.pre71
br label %103

89:; preds = %.lr.ph61
%90 = getelementptr inbounds i64, ptr %34, i64 %88
%91 = and i64 %.159, -9223372036854775745
%93 = icmp ugt i64 %91, -9223372036854775808
%94 = select i1 %92, i64 -8, i64 0
%95 = getelementptr inbounds i8, ptr %90, i64 %94
%storemerge.idx.i.i.i.i.i44 = and i64 %.159, 63
%storemerge.i.i.i.i.i45 = shl nuw i64 1, %storemerge.idx.i.i.i.i.i44
%96 = load i64, ptr %96, align 8
%97 = and i64 %95, %94
%98 = icmp ne i64 %96, 0
%99 = getelementptr inbounds i64, ptr %45, i64 %89
%100 = getelementptr inbounds i8, ptr %98, i64 %94
%101 = load i64, ptr %100, align 8
%storemerge.i.i.i.i.i47 = and i64 %101, %storemerge.i.i.i.i.i45
%102 = icmp ne i64 %storemerge.i.i.i.i.i47, 0
%103 = xor i1 %97, %101
br i1 %102, label %.loopexit, label %103

103:; preds = %.lr.ph61._crit_edge, %89
%.pre-phi74 = phi i64 [ %.pre73, %.lr.ph61._crit_edge ], [ %94, %89 ]
%.pre-phi70 = phi i64 [ %.pre69, %.lr.ph61._crit_edge ], [ %91, %89 ]
%.pre-phi73 = getelementptr inbounds i64, ptr %45, i64 %89
%.pre-phi69 = icmp ugt i64 %.pre-phi70, -9223372036854775808
%107 = select i1 %105, i64 -8, i64 0
%108 = getelementptr inbounds i8, ptr %.pre-phi73, i64 %107
%storemerge.idx.i.i.i.i.i48 = load i64, ptr %108, align 8
%storemerge.i.i.i.i.i49 = and i64 %storemerge.idx.i.i.i.i.i48, %.pre-phi74
%109 = icmp eq i64 %storemerge.i.i.i.i.i49, 0
br i1 %109, label %112, label %108

108: ; preds = %103
%109 = getelementptr inbounds i64, ptr %34, i64 %88
%storemerge.i.i.i.i.i51 = getelementptr inbounds i8, ptr %109, i64 %107
%112 = load i64, ptr %storemerge.i.i.i.i.i51, align 8
%storemerge.i.i.i.i.i51 = and i64 %112, %.pre-phi74
%113 = icmp eq i64 %storemerge.i.i.i.i.i51, 0
br i1 %113, label %.loopexit, label %112

112: ; preds = %103, %108
%113 = add nuw i64 %.159, 1
%114 = icmp ult i64 %113, %15
br i1 %114, label %.lr.ph61, label %.loopexit, !llvm.loop !8

.loopexit:; preds = %74, %55, %89, %108, %112, %.preheader, %81, %2, %27
%.0 = phi i1 [ false, %27 ], [ false, %2 ], [ false, %81 ], [ true, %.preheader ], [ false, %89 ], [ false, %108 ], [ true, %112 ], [ false, %55 ], [ false, %74 ]
ret i1 %.0
}

Expand Down
80 changes: 39 additions & 41 deletions bench/darktable/optimized/history.ll
Original file line number Diff line number Diff line change
Expand Up @@ -1515,38 +1515,36 @@ define internal range(i32 -128, 128) i32 @_changes_tooltip_callback(ptr readnone
%445 = getelementptr inbounds nuw i8, ptr %444, i64 20
%446 = load i32, ptr %445, align 4, !tbaa !151
%447 = load i32, ptr %230, align 4, !tbaa !151
%448 = and i32 %447, 4
%.not432 = icmp eq i32 %448, 0
%449 = and i32 %446, 4
%450 = icmp ne i32 %449, 0
%.not433 = xor i1 %450, %.not432
br i1 %.not433, label %466, label %451

451: ; preds = %443
%452 = tail call noalias ptr (ptr, ...) @g_strconcat(ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.65, ptr noundef null) #17
%453 = tail call ptr @dcgettext(ptr noundef null, ptr noundef nonnull @.str.66, i32 noundef 5) #17
%454 = load i32, ptr %230, align 4, !tbaa !151
%455 = and i32 %454, 4
%.not435 = icmp eq i32 %455, 0
%456 = select i1 %.not435, i32 43, i32 45
%457 = load ptr, ptr %49, align 8, !tbaa !137
%458 = getelementptr inbounds nuw i8, ptr %457, i64 20
%459 = load i32, ptr %458, align 4, !tbaa !151
%460 = and i32 %459, 4
%.not436 = icmp eq i32 %460, 0
%461 = select i1 %.not436, i32 43, i32 45
%462 = tail call noalias ptr (ptr, ...) @g_strdup_printf(ptr noundef %452, ptr noundef %453, i32 noundef %456, i32 noundef %461) #17
%463 = add nsw i32 %.14, 1
%464 = sext i32 %.14 to i64
%465 = getelementptr inbounds ptr, ptr %17, i64 %464
store ptr %462, ptr %465, align 8, !tbaa !135
tail call void @g_free(ptr noundef %452) #17
%448 = xor i32 %447, %446
%.not432 = and i32 %448, 4
%449 = icmp eq i32 %449, 0
br i1 %449, label %465, label %450

450:; preds = %443
%451 = tail call noalias ptr (ptr, ...) @g_strconcat(ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.65, ptr noundef null) #17
%452 = tail call ptr @dcgettext(ptr noundef null, ptr noundef nonnull @.str.66, i32 noundef 5) #17
%452 = load i32, ptr %230, align 4, !tbaa !151
%453 = and i32 %453, 4
%454 = icmp eq i32 %454, 0
%455 = select i1 %454, i32 43, i32 45
%.not435 = load ptr, ptr %49, align 8, !tbaa !137
%456 = getelementptr inbounds nuw i8, ptr %.not435, i64 20
%457 = load i32, ptr %457, align 4, !tbaa !151
%458 = and i32 %457, 4
%459 = icmp eq i32 %458, 0
%460 = select i1 %459, i32 43, i32 45
%.not436 = tail call noalias ptr (ptr, ...) @g_strdup_printf(ptr noundef %451, ptr noundef %452, i32 noundef %455, i32 noundef %460) #17
%.not436 = add nsw i32 %.14, 1
%462 = sext i32 %.14 to i64
%463 = getelementptr inbounds ptr, ptr %17, i64 %462
store ptr %461, ptr %464, align 8, !tbaa !135
tail call void @g_free(ptr noundef %451) #17
%.pre583 = load ptr, ptr %49, align 8, !tbaa !137
br label %466

466: ; preds = %451, %443
%467 = phi ptr [ %.pre583, %451 ], [ %444, %443 ]
%.15 = phi i32 [ %463, %451 ], [ %.14, %443 ]
466: ; preds = %450, %443
%467 = phi ptr [ %.pre583, %450 ], [ %444, %443 ]
%.15 = phi i32 [ %462, %450 ], [ %.14, %443 ]
%468 = getelementptr inbounds nuw i8, ptr %467, i64 24
%469 = load i32, ptr %468, align 4, !tbaa !160
%470 = getelementptr inbounds nuw i8, ptr %.0340.lcssa, i64 24
Expand Down Expand Up @@ -1684,7 +1682,7 @@ define internal range(i32 -128, 128) i32 @_changes_tooltip_callback(ptr readnone
%543 = getelementptr inbounds nuw i8, ptr %.0379543611, i64 72
%544 = load ptr, ptr %543, align 8, !tbaa !172
%545 = call ptr @dcgettext(ptr noundef null, ptr noundef %544, i32 noundef 5) #17
%546 = call noalias ptr (ptr, ...) @g_strdup_printf(ptr noundef nonnull @.str.74, ptr noundef %545, ptr noundef nonnull %7, ptr noundef nonnull %488, ptr noundef nonnull %489, ptr noundef nonnull %490, ptr noundef nonnull %540, ptr noundef nonnull %491, ptr noundef nonnull %492, ptr noundef nonnull %493, ptr noundef nonnull %494, ptr noundef nonnull %542) #17
%546 = call noalias ptr (ptr, ...) @g_strdup_printf(ptr noundef nonnull @.str.74, ptr noundef %545, ptr noundef nonnull %7, ptr noundef nonnull %488, ptr noundef nonnull %489, ptr noundef nonnull %490, ptr noundef nonnull %540, ptr noundef nonnull %490, ptr noundef nonnull %491, ptr noundef nonnull %492, ptr noundef nonnull %493, ptr noundef nonnull %542) #17
%547 = add nsw i32 %.20, 1
%548 = sext i32 %.20 to i64
%549 = getelementptr inbounds ptr, ptr %17, i64 %548
Expand All @@ -1698,12 +1696,12 @@ define internal range(i32 -128, 128) i32 @_changes_tooltip_callback(ptr readnone
%552 = getelementptr inbounds nuw float, ptr %515, i64 %indvars.iv
%553 = load float, ptr %552, align 4, !tbaa !171
%554 = getelementptr inbounds nuw [4 x [2 x [25 x i8]]], ptr %7, i64 0, i64 %indvars.iv
call void %551(float noundef %553, float noundef %521, ptr noundef nonnull %554, i32 noundef 25) #17
call void %550(float noundef %553, float noundef %521, ptr noundef nonnull %554, i32 noundef 25) #17
%555 = load ptr, ptr %537, align 8, !tbaa !173
%556 = getelementptr inbounds nuw float, ptr %517, i64 %indvars.iv
%557 = load float, ptr %556, align 4, !tbaa !171
%558 = getelementptr inbounds nuw i8, ptr %554, i64 25
call void %555(float noundef %557, float noundef %525, ptr noundef nonnull %558, i32 noundef 25) #17
call void %554(float noundef %557, float noundef %525, ptr noundef nonnull %558, i32 noundef 25) #17
%indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
%exitcond.not = icmp eq i64 %indvars.iv.next, 4
br i1 %exitcond.not, label %538, label %550
Expand Down Expand Up @@ -1732,11 +1730,11 @@ define internal range(i32 -128, 128) i32 @_changes_tooltip_callback(ptr readnone
%567 = call ptr @gtk_text_view_new() #17
store ptr %567, ptr @_changes_tooltip_callback.view, align 8, !tbaa !174
call void @dt_gui_add_class(ptr noundef %567, ptr noundef nonnull @.str.33) #17
%567 = load ptr, ptr @_changes_tooltip_callback.view, align 8, !tbaa !174
call void @dt_gui_add_class(ptr noundef %567, ptr noundef nonnull @.str.31) #17
%568 = load ptr, ptr @_changes_tooltip_callback.view, align 8, !tbaa !174
call void @dt_gui_add_class(ptr noundef %568, ptr noundef nonnull @.str.31) #17
%569 = load ptr, ptr @_changes_tooltip_callback.view, align 8, !tbaa !174
%570 = call ptr @g_type_check_instance_cast(ptr noundef %569, i64 noundef 80) #17
%571 = call i64 @g_signal_connect_data(ptr noundef %570, ptr noundef nonnull @.str.76, ptr noundef nonnull @gtk_widget_destroyed, ptr noundef nonnull @_changes_tooltip_callback.view, ptr noundef null, i32 noundef 0) #17
%569 = call ptr @g_type_check_instance_cast(ptr noundef %568, i64 noundef 80) #17
%569 = call i64 @g_signal_connect_data(ptr noundef %569, ptr noundef nonnull @.str.76, ptr noundef nonnull @gtk_widget_destroyed, ptr noundef nonnull @_changes_tooltip_callback.view, ptr noundef null, i32 noundef 0) #17
%.pre584 = load ptr, ptr @_changes_tooltip_callback.view, align 8, !tbaa !174
br label %572

Expand All @@ -1746,12 +1744,12 @@ define internal range(i32 -128, 128) i32 @_changes_tooltip_callback(ptr readnone
%575 = call ptr @g_type_check_instance_cast(ptr noundef %573, i64 noundef %574) #17
%576 = call ptr @gtk_text_view_get_buffer(ptr noundef %575) #17
call void @gtk_text_buffer_set_text(ptr noundef %576, ptr noundef nonnull %562, i32 noundef -1) #17
%576 = load ptr, ptr @_changes_tooltip_callback.view, align 8, !tbaa !174
call void @gtk_tooltip_set_custom(ptr noundef %4, ptr noundef %576) #17
%577 = load ptr, ptr @_changes_tooltip_callback.view, align 8, !tbaa !174
call void @gtk_tooltip_set_custom(ptr noundef %4, ptr noundef %577) #17
%578 = load ptr, ptr @_changes_tooltip_callback.view, align 8, !tbaa !174
call void @gtk_widget_map(ptr noundef %578) #17
%579 = load i8, ptr %562, align 1, !tbaa !124
%.not440552 = icmp eq i8 %579, 0
call void @gtk_widget_map(ptr noundef %577) #17
%578 = load i8, ptr %561, align 1, !tbaa !124
%.not440552 = icmp eq i8 %578, 0
br i1 %.not440552, label %._crit_edge558, label %.lr.ph557

._crit_edge558: ; preds = %613, %572
Expand Down
Loading