Skip to content

Commit 375af75

Browse files
authored
[RISCV] Simplify the check for when to call EmitLoweredCascadedSelect. NFC (#145930)
Based on the comments and tests, we only want to call EmitLoweredCascadedSelect on selects of FP registers. Everytime we add a new branch with immediate opcode, we've been excluding it here. This patch switches to checking that the comparison operands are both registers so branch on immediate is automatically excluded.
1 parent b76bc18 commit 375af75

File tree

1 file changed

+2
-6
lines changed

1 file changed

+2
-6
lines changed

llvm/lib/Target/RISCV/RISCVISelLowering.cpp

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21445,12 +21445,8 @@ static MachineBasicBlock *emitSelectPseudo(MachineInstr &MI,
2144521445
// EmitLoweredCascadedSelect.
2144621446

2144721447
auto Next = next_nodbg(MI.getIterator(), BB->instr_end());
21448-
if ((MI.getOpcode() != RISCV::Select_GPR_Using_CC_GPR &&
21449-
MI.getOpcode() != RISCV::Select_GPR_Using_CC_SImm5_CV &&
21450-
MI.getOpcode() != RISCV::Select_GPRNoX0_Using_CC_SImm5NonZero_QC &&
21451-
MI.getOpcode() != RISCV::Select_GPRNoX0_Using_CC_UImm5NonZero_QC &&
21452-
MI.getOpcode() != RISCV::Select_GPRNoX0_Using_CC_SImm16NonZero_QC &&
21453-
MI.getOpcode() != RISCV::Select_GPRNoX0_Using_CC_UImm16NonZero_QC) &&
21448+
if (MI.getOpcode() != RISCV::Select_GPR_Using_CC_GPR &&
21449+
MI.getOperand(1).isReg() && MI.getOperand(2).isReg() &&
2145421450
Next != BB->end() && Next->getOpcode() == MI.getOpcode() &&
2145521451
Next->getOperand(5).getReg() == MI.getOperand(0).getReg() &&
2145621452
Next->getOperand(5).isKill())

0 commit comments

Comments
 (0)