Skip to content

Commit 10627d2

Browse files
committed
Revert "[RISCV] Use Root instead of N throughout the worklist loop in combineBinOp_VLToVWBinOp_VL. (#99416)"
This reverts commit 0c4023a. I messed up re-generating the test after the change.
1 parent 342bd4b commit 10627d2

File tree

2 files changed

+5
-43
lines changed

2 files changed

+5
-43
lines changed

llvm/lib/Target/RISCV/RISCVISelLowering.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14998,8 +14998,8 @@ static SDValue combineBinOp_VLToVWBinOp_VL(SDNode *N,
1499814998
if (!NodeExtensionHelper::isSupportedRoot(Root, Subtarget))
1499914999
return SDValue();
1500015000

15001-
NodeExtensionHelper LHS(Root, 0, DAG, Subtarget);
15002-
NodeExtensionHelper RHS(Root, 1, DAG, Subtarget);
15001+
NodeExtensionHelper LHS(N, 0, DAG, Subtarget);
15002+
NodeExtensionHelper RHS(N, 1, DAG, Subtarget);
1500315003
auto AppendUsersIfNeeded = [&Worklist,
1500415004
&Inserted](const NodeExtensionHelper &Op) {
1500515005
if (Op.needToPromoteOtherUsers()) {
@@ -15016,18 +15016,18 @@ static SDValue combineBinOp_VLToVWBinOp_VL(SDNode *N,
1501615016
return SDValue();
1501715017

1501815018
SmallVector<NodeExtensionHelper::CombineToTry> FoldingStrategies =
15019-
NodeExtensionHelper::getSupportedFoldings(Root);
15019+
NodeExtensionHelper::getSupportedFoldings(N);
1502015020

1502115021
assert(!FoldingStrategies.empty() && "Nothing to be folded");
1502215022
bool Matched = false;
1502315023
for (int Attempt = 0;
15024-
(Attempt != 1 + NodeExtensionHelper::isCommutative(Root)) && !Matched;
15024+
(Attempt != 1 + NodeExtensionHelper::isCommutative(N)) && !Matched;
1502515025
++Attempt) {
1502615026

1502715027
for (NodeExtensionHelper::CombineToTry FoldingStrategy :
1502815028
FoldingStrategies) {
1502915029
std::optional<CombineResult> Res =
15030-
FoldingStrategy(Root, LHS, RHS, DAG, Subtarget);
15030+
FoldingStrategy(N, LHS, RHS, DAG, Subtarget);
1503115031
if (Res) {
1503215032
Matched = true;
1503315033
CombinesToApply.push_back(*Res);

llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll

Lines changed: 0 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -882,41 +882,3 @@ define <2 x i64> @vwmul_vx_v2i64_i64(ptr %x, ptr %y) {
882882
%g = mul <2 x i64> %e, %f
883883
ret <2 x i64> %g
884884
}
885-
886-
define <2 x i16> @vwmul_v2i16_multiuse(ptr %x, ptr %y, ptr %z, ptr %w) {
887-
; CHECK-LABEL: vwmul_v2i16_multiuse:
888-
; CHECK: # %bb.0:
889-
; CHECK-NEXT: vsetivli zero, 2, e16, mf4, ta, ma
890-
; CHECK-NEXT: vle8.v v8, (a1)
891-
; CHECK-NEXT: vle8.v v9, (a2)
892-
; CHECK-NEXT: vle8.v v10, (a3)
893-
; CHECK-NEXT: vle8.v v11, (a0)
894-
; CHECK-NEXT: vsext.vf2 v12, v8
895-
; CHECK-NEXT: vsext.vf2 v8, v9
896-
; CHECK-NEXT: vsext.vf2 v9, v10
897-
; CHECK-NEXT: vsetvli zero, zero, e8, mf8, ta, ma
898-
; CHECK-NEXT: vwmul.vv v13, v11, v10
899-
; CHECK-NEXT: vsetvli zero, zero, e16, mf4, ta, ma
900-
; CHECK-NEXT: vmul.vv v9, v12, v9
901-
; CHECK-NEXT: vdivu.vv v8, v12, v8
902-
; CHECK-NEXT: vor.vv v9, v13, v9
903-
; CHECK-NEXT: vor.vv v8, v9, v8
904-
; CHECK-NEXT: ret
905-
%a = load <2 x i8>, ptr %x
906-
%b = load <2 x i8>, ptr %y
907-
%c = load <2 x i8>, ptr %z
908-
%d = load <2 x i8>, ptr %w
909-
910-
%as = sext <2 x i8> %a to <2 x i16>
911-
%bs = sext <2 x i8> %b to <2 x i16>
912-
%cs = sext <2 x i8> %c to <2 x i16>
913-
%ds = sext <2 x i8> %d to <2 x i16>
914-
915-
%e = mul <2 x i16> %as, %ds
916-
%f = mul <2 x i16> %bs, %ds ; shares 1 use with %e
917-
%g = udiv <2 x i16> %bs, %cs ; shares 1 use with %f, and no uses with %e
918-
919-
%h = or <2 x i16> %e, %f
920-
%i = or <2 x i16> %h, %g
921-
ret <2 x i16> %i
922-
}

0 commit comments

Comments
 (0)