15#ifndef LLVM_DWARFCFICHECKER_REGISTERS_H
16#define LLVM_DWARFCFICHECKER_REGISTERS_H
33 for (
unsigned I = 0;
I < RegClass.getNumRegs();
I++) {
MCRegisterInfo base class - We assume that the target defines a static array of MCRegisterDesc object...
iterator_range< regclass_iterator > regclasses() const
iterator_range< MCSuperRegIterator > superregs(MCRegister Reg) const
Return an iterator range over all super-registers of Reg, excluding Reg.
bool isConstant(MCRegister RegNo) const
Returns true if the given register is constant.
bool isArtificial(MCRegister RegNo) const
Returns true if the given register is artificial, which means it represents a regunit that is not sep...
Wrapper class representing physical registers. Should be passed by value.
iterator erase(const_iterator CI)
void push_back(const T &Elt)
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
This is an optimization pass for GlobalISel generic memory operations.
SmallVector< MCPhysReg > getTrackingRegs(const MCRegisterInfo *MCRI)
auto unique(Range &&R, Predicate P)
void sort(IteratorTy Start, IteratorTy End)
SmallVector< MCPhysReg > getSuperRegs(const MCRegisterInfo *MCRI)
MCRegister getSuperReg(const MCRegisterInfo *MCRI, MCRegister Reg)
bool isSuperReg(const MCRegisterInfo *MCRI, MCRegister Reg)
This analysis only keeps track and cares about super registers, not the subregisters.