@@ -1031,25 +1031,24 @@ for.body: ; preds = %for.body.preheader,
1031
1031
}
1032
1032
1033
1033
1034
- define void @chained_partial_reduce_not_known_factor (i32 %a , i32 %b , i32 %N ) # 0 {
1034
+ define i40 @chained_partial_reduce_not_known_factor (i32 %a , i32 %b , i32 %N ) {
1035
1035
entry:
1036
1036
br label %for.body
1037
1037
1038
- for.cond.cleanup:
1039
- %B.0.lcssa = phi i40 [ %2 , %for.body ]
1040
- ret void
1041
-
1042
1038
for.body:
1043
- %B.017 = phi i40 [ 0 , %entry ], [ %2 , %for.body ]
1044
- %i.016 = phi i16 [ 0 , %entry ], [ %add21 , %for.body ]
1039
+ %red = phi i40 [ 0 , %entry ], [ %1 , %for.body ]
1040
+ %iv = phi i16 [ 0 , %entry ], [ %iv.next , %for.body ]
1045
1041
%resize = sext i32 %a to i40
1046
1042
%resize4 = sext i32 %b to i40
1047
1043
%0 = or i40 %resize4 , %resize
1048
- %1 = or i40 %B.017 , %0
1049
- %2 = or i40 %1 , 0
1050
- %add21 = add i16 %i.016 , 1
1051
- %cmp = icmp slt i16 %i.016 , 1
1052
- br i1 %cmp , label %for.body , label %for.cond.cleanup
1044
+ %1 = or i40 %red , %0
1045
+ %iv.next = add i16 %iv , 1
1046
+ %cmp = icmp slt i16 %iv , 1
1047
+ br i1 %cmp , label %for.body , label %exit
1048
+
1049
+ exit:
1050
+ %result.lcssa = phi i40 [ %1 , %for.body ]
1051
+ ret i40 %result.lcssa
1053
1052
}
1054
1053
1055
1054
attributes #0 = { vscale_range(1 ,16 ) }
0 commit comments