[llvm] 6915c76 - [RISCV] Don't use DCI.CombineTo to replace a single result. NFCI
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Fri Oct 30 10:48:50 PDT 2020
Author: Craig Topper
Date: 2020-10-30T10:46:32-07:00
New Revision: 6915c76e103ae8acda09ed315fe5fcf039be1654
URL: https://github.com/llvm/llvm-project/commit/6915c76e103ae8acda09ed315fe5fcf039be1654
DIFF: https://github.com/llvm/llvm-project/commit/6915c76e103ae8acda09ed315fe5fcf039be1654.diff
LOG: [RISCV] Don't use DCI.CombineTo to replace a single result. NFCI
Just return the new node, which is the standard practice.
I also noticed what appeared to be an unnecessary attempt at
creating an ANY_EXTEND where the type should already be correct.
I replace with an assert to verify the type.
Differential Revision: https://reviews.llvm.org/D90444
Added:
Modified:
llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Target/RISCV/RISCVISelLowering.cpp b/llvm/lib/Target/RISCV/RISCVISelLowering.cpp
index 5916bb30c7d8..d2606f4e8b7c 100644
--- a/llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+++ b/llvm/lib/Target/RISCV/RISCVISelLowering.cpp
@@ -1086,9 +1086,9 @@ SDValue RISCVTargetLowering::PerformDAGCombine(SDNode *N,
// conversion is unnecessary and can be replaced with an ANY_EXTEND
// of the FMV_W_X_RV64 operand.
if (Op0->getOpcode() == RISCVISD::FMV_W_X_RV64) {
- SDValue AExtOp =
- DAG.getNode(ISD::ANY_EXTEND, DL, MVT::i64, Op0.getOperand(0));
- return DCI.CombineTo(N, AExtOp);
+ assert(Op0.getOperand(0).getValueType() == MVT::i64 &&
+ "Unexpected value type!");
+ return Op0.getOperand(0);
}
// This is a target-specific version of a DAGCombine performed in
@@ -1101,15 +1101,13 @@ SDValue RISCVTargetLowering::PerformDAGCombine(SDNode *N,
SDValue NewFMV = DAG.getNode(RISCVISD::FMV_X_ANYEXTW_RV64, DL, MVT::i64,
Op0.getOperand(0));
APInt SignBit = APInt::getSignMask(32).sext(64);
- if (Op0.getOpcode() == ISD::FNEG) {
- return DCI.CombineTo(N,
- DAG.getNode(ISD::XOR, DL, MVT::i64, NewFMV,
- DAG.getConstant(SignBit, DL, MVT::i64)));
- }
+ if (Op0.getOpcode() == ISD::FNEG)
+ return DAG.getNode(ISD::XOR, DL, MVT::i64, NewFMV,
+ DAG.getConstant(SignBit, DL, MVT::i64));
+
assert(Op0.getOpcode() == ISD::FABS);
- return DCI.CombineTo(N,
- DAG.getNode(ISD::AND, DL, MVT::i64, NewFMV,
- DAG.getConstant(~SignBit, DL, MVT::i64)));
+ return DAG.getNode(ISD::AND, DL, MVT::i64, NewFMV,
+ DAG.getConstant(~SignBit, DL, MVT::i64));
}
}
More information about the llvm-commits
mailing list