Lines Matching defs:FoldableDef
30 struct FoldableDef { struct
31 union {
38 const TargetRegisterClass *DefRC = nullptr;
41 const MachineInstr *DefMI = nullptr;
44 unsigned DefSubReg = AMDGPU::NoSubRegister;
47 MachineOperand::MachineOperandType Kind;
50 FoldableDef(MachineOperand &FoldOp, const TargetRegisterClass *DefRC, in FoldableDef() function
66 FoldableDef(int64_t FoldImm, const TargetRegisterClass *DefRC, in FoldableDef() argument
72 FoldableDef getWithSubReg(const SIRegisterInfo &TRI, unsigned SubReg) const { in getWithSubReg()
78 bool isReg() const { return Kind == MachineOperand::MO_Register; } in isReg()
80 Register getReg() const { in getReg()
85 unsigned getSubReg() const { in getSubReg()
90 bool isImm() const { return Kind == MachineOperand::MO_Immediate; } in isImm()
92 bool isFI() const { in isFI()
96 int getFI() const { in getFI()
101 bool isGlobal() const { return Kind == MachineOperand::MO_GlobalAddress; } in isGlobal()
106 std::optional<int64_t> getEffectiveImmVal() const { in getEffectiveImmVal()
113 bool isOperandLegal(const SIInstrInfo &TII, const MachineInstr &MI, in isOperandLegal()