23 std::string &
Info)
const {
48 for (; *ImpDefs; ++ImpDefs)
49 if (*ImpDefs == Reg || (MRI && MRI->
isSubRegister(Reg, *ImpDefs)))
56 for (
int i = 0, e =
NumDefs; i != e; ++i)
This class represents lattice values for constants.
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...
bool isReturn() const
Return true if the instruction is a return.
bool isBranch() const
Returns true if this is a conditional, unconditional, or indirect branch.
const FeatureBitset & getFeatureBits() const
bool isSubRegister(unsigned RegA, unsigned RegB) const
Returns true if RegB is a sub-register of RegA.
unsigned getReg() const
Returns the register number.
bool hasDefOfPhysReg(const MCInst &MI, unsigned Reg, const MCRegisterInfo &RI) const
Return true if this instruction defines the specified physical register, either explicitly or implici...
Analysis containing CSE Info
Instances of this class represent a single low-level machine instruction.
unsigned short NumOperands
uint16_t MCPhysReg
An unsigned integer type large enough to represent all physical registers, but not necessarily virtua...
MCRegisterInfo base class - We assume that the target defines a static array of MCRegisterDesc object...
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...
unsigned const MachineRegisterInfo * MRI
int64_t DeprecatedFeature
const MCPhysReg * ImplicitDefs
bool(* ComplexDeprecationInfo)(MCInst &, const MCSubtargetInfo &, std::string &)
unsigned getNumOperands() const
bool isIndirectBranch() const
Return true if this is an indirect branch, such as a branch through a register.
bool isSubRegisterEq(unsigned RegA, unsigned RegB) const
Returns true if RegB is a sub-register of RegA or if RegB == RegA.
const MCOperand & getOperand(unsigned i) const
bool isCall() const
Return true if the instruction is a call.
Generic base class for all target subtargets.
bool variadicOpsAreDefs() const
Return true if variadic operands of this instruction are definitions.
unsigned getProgramCounter() const
Return the register which is the program counter.
bool hasImplicitDefOfPhysReg(unsigned Reg, const MCRegisterInfo *MRI=nullptr) const
Return true if this instruction implicitly defines the specified physical register.