Skip to content

Commit 09d7678

Browse files
committed
[RISCV] Simplify the check for when to call EmitLoweredCascadedSelect. NFC
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 8a65196 commit 09d7678

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
@@ -21444,12 +21444,8 @@ static MachineBasicBlock *emitSelectPseudo(MachineInstr &MI,
2144421444
// EmitLoweredCascadedSelect.
2144521445

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

0 commit comments

Comments
 (0)