23 std::string &Info)
const {
40 if (hasDefOfPhysReg(MI, PC, RI))
57 for (; *ImpDefs; ++ImpDefs)
58 if (*ImpDefs == Reg || (MRI && MRI->
isSubRegister(Reg, *ImpDefs)))
63 bool MCInstrDesc::hasDefOfPhysReg(
const MCInst &
MI,
unsigned Reg,
65 for (
int i = 0, e =
NumDefs; i != e; ++i)
bool isIndirectBranch() const
Return true if this is an indirect branch, such as a branch through a register.
bool(* ComplexDeprecationInfo)(MCInst &, const MCSubtargetInfo &, std::string &)
bool isReturn() const
Return true if the instruction is a return.
bool isSubRegister(unsigned RegA, unsigned RegB) const
Returns true if RegB is a sub-register of RegA.
bool isSubRegisterEq(unsigned RegA, unsigned RegB) const
Returns true if RegB is a sub-register of RegA or if RegB == RegA.
bool isBranch() const
Returns true if this is a conditional, unconditional, or indirect branch.
bool isCall() const
Return true if the instruction is a call.
Reg
All possible values of the reg field in the ModR/M byte.
unsigned getReg() const
Returns the register number.
unsigned getProgramCounter() const
Return the register which is the program counter.
Instances of this class represent a single low-level machine instruction.
unsigned short NumOperands
MCRegisterInfo base class - We assume that the target defines a static array of MCRegisterDesc object...
int64_t DeprecatedFeature
bool mayAffectControlFlow(const MCInst &MI, const MCRegisterInfo &RI) const
Return true if this is a branch or an instruction which directly writes to the program counter...
const FeatureBitset & getFeatureBits() const
getFeatureBits - Return the feature bits.
unsigned getNumOperands() const
MCSubtargetInfo - Generic base class for all target subtargets.
const uint16_t * ImplicitDefs
bool hasImplicitDefOfPhysReg(unsigned Reg, const MCRegisterInfo *MRI=nullptr) const
Return true if this instruction implicitly defines the specified physical register.
bool getDeprecatedInfo(MCInst &MI, const MCSubtargetInfo &STI, std::string &Info) const
Returns true if a certain instruction is deprecated and if so returns the reason in Info...
const MCOperand & getOperand(unsigned i) const