[llvm] [AArch64][GlobalISel] Cleanup old selection code for G_OR and fp instructions. (PR #213869)
Cullen Rhodes via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 5 02:48:49 PDT 2026
================
@@ -778,62 +778,13 @@ static std::optional<uint64_t> getImmedFromMO(const MachineOperand &Root) {
return Immed;
}
-/// Check whether \p I is a currently unsupported binary operation:
-/// - it has an unsized type
-/// - an operand is not a vreg
-/// - all operands are not in the same bank
-/// These are checks that should someday live in the verifier, but right now,
-/// these are mostly limitations of the aarch64 selector.
-static bool unsupportedBinOp(const MachineInstr &I,
- const AArch64RegisterBankInfo &RBI,
- const MachineRegisterInfo &MRI,
- const AArch64RegisterInfo &TRI) {
- LLT Ty = MRI.getType(I.getOperand(0).getReg());
- if (!Ty.isValid()) {
- LLVM_DEBUG(dbgs() << "Generic binop register should be typed\n");
- return true;
- }
-
- const RegisterBank *PrevOpBank = nullptr;
- for (auto &MO : I.operands()) {
- // FIXME: Support non-register operands.
- if (!MO.isReg()) {
- LLVM_DEBUG(dbgs() << "Generic inst non-reg operands are unsupported\n");
- return true;
- }
-
- // FIXME: Can generic operations have physical registers operands? If
- // so, this will need to be taught about that, and we'll need to get the
- // bank out of the minimal class for the register.
- // Either way, this needs to be documented (and possibly verified).
- if (!MO.getReg().isVirtual()) {
- LLVM_DEBUG(dbgs() << "Generic inst has physical register operand\n");
- return true;
- }
-
- const RegisterBank *OpBank = RBI.getRegBank(MO.getReg(), MRI, TRI);
- if (!OpBank) {
- LLVM_DEBUG(dbgs() << "Generic register has no bank or class\n");
- return true;
- }
-
- if (PrevOpBank && OpBank != PrevOpBank) {
- LLVM_DEBUG(dbgs() << "Generic inst operands have different banks\n");
- return true;
- }
- PrevOpBank = OpBank;
- }
- return false;
-}
-
/// Select the AArch64 opcode for the basic binary operation \p GenericOpc
/// (such as G_OR or G_SDIV), appropriate for the register bank \p RegBankID
----------------
c-rhodes wrote:
comment is out of date
https://github.com/llvm/llvm-project/pull/213869
More information about the llvm-commits
mailing list