[llvm] c8ad1de - [RISCV] Remove dead code from RISCVDAGToDAGISel::selectVSETVLI. NFC
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Sat Feb 11 16:51:44 PST 2023
Author: Craig Topper
Date: 2023-02-11T16:51:35-08:00
New Revision: c8ad1de4f0680777c8c15b101fa8207b0f506b3c
URL: https://github.com/llvm/llvm-project/commit/c8ad1de4f0680777c8c15b101fa8207b0f506b3c
DIFF: https://github.com/llvm/llvm-project/commit/c8ad1de4f0680777c8c15b101fa8207b0f506b3c.diff
LOG: [RISCV] Remove dead code from RISCVDAGToDAGISel::selectVSETVLI. NFC
vsetvli no longer has side effects so we don't need code for
handling INSTRINSIC_W_CHAIN.
Added:
Modified:
llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp b/llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
index e48c1a781750..796ca848161a 100644
--- a/llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
+++ b/llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
@@ -530,23 +530,19 @@ void RISCVDAGToDAGISel::selectVSETVLI(SDNode *Node) {
if (!Subtarget->hasVInstructions())
return;
- assert((Node->getOpcode() == ISD::INTRINSIC_W_CHAIN ||
- Node->getOpcode() == ISD::INTRINSIC_WO_CHAIN) &&
- "Unexpected opcode");
+ assert(Node->getOpcode() == ISD::INTRINSIC_WO_CHAIN && "Unexpected opcode");
SDLoc DL(Node);
MVT XLenVT = Subtarget->getXLenVT();
- bool HasChain = Node->getOpcode() == ISD::INTRINSIC_W_CHAIN;
- unsigned IntNoOffset = HasChain ? 1 : 0;
- unsigned IntNo = Node->getConstantOperandVal(IntNoOffset);
+ unsigned IntNo = Node->getConstantOperandVal(0);
assert((IntNo == Intrinsic::riscv_vsetvli ||
IntNo == Intrinsic::riscv_vsetvlimax) &&
"Unexpected vsetvli intrinsic");
bool VLMax = IntNo == Intrinsic::riscv_vsetvlimax;
- unsigned Offset = IntNoOffset + (VLMax ? 1 : 2);
+ unsigned Offset = (VLMax ? 1 : 2);
assert(Node->getNumOperands() == Offset + 2 &&
"Unexpected number of operands");
@@ -561,8 +557,6 @@ void RISCVDAGToDAGISel::selectVSETVLI(SDNode *Node) {
SDValue VTypeIOp = CurDAG->getTargetConstant(VTypeI, DL, XLenVT);
SmallVector<EVT, 2> VTs = {XLenVT};
- if (HasChain)
- VTs.push_back(MVT::Other);
SDValue VLOperand;
unsigned Opcode = RISCV::PseudoVSETVLI;
@@ -570,15 +564,13 @@ void RISCVDAGToDAGISel::selectVSETVLI(SDNode *Node) {
VLOperand = CurDAG->getRegister(RISCV::X0, XLenVT);
Opcode = RISCV::PseudoVSETVLIX0;
} else {
- VLOperand = Node->getOperand(IntNoOffset + 1);
+ VLOperand = Node->getOperand(1);
if (auto *C = dyn_cast<ConstantSDNode>(VLOperand)) {
uint64_t AVL = C->getZExtValue();
if (isUInt<5>(AVL)) {
SDValue VLImm = CurDAG->getTargetConstant(AVL, DL, XLenVT);
SmallVector<SDValue, 3> Ops = {VLImm, VTypeIOp};
- if (HasChain)
- Ops.push_back(Node->getOperand(0));
ReplaceNode(
Node, CurDAG->getMachineNode(RISCV::PseudoVSETIVLI, DL, VTs, Ops));
return;
@@ -587,8 +579,6 @@ void RISCVDAGToDAGISel::selectVSETVLI(SDNode *Node) {
}
SmallVector<SDValue, 3> Ops = {VLOperand, VTypeIOp};
- if (HasChain)
- Ops.push_back(Node->getOperand(0));
ReplaceNode(Node, CurDAG->getMachineNode(Opcode, DL, VTs, Ops));
}
More information about the llvm-commits
mailing list