15#ifndef LLVM_DWARFCFICHECKER_REGISTERS_H
16#define LLVM_DWARFCFICHECKER_REGISTERS_H
34 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...
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)
MCPhysReg getSuperReg(const MCRegisterInfo *MCRI, MCPhysReg Reg)
void sort(IteratorTy Start, IteratorTy End)
SmallVector< MCPhysReg > getSuperRegs(const MCRegisterInfo *MCRI)
bool isSuperReg(const MCRegisterInfo *MCRI, MCPhysReg Reg)
This analysis only keeps track and cares about super registers, not the subregisters.