17 #ifndef LLVM_CODEGEN_ALLOCATIONORDER_H
18 #define LLVM_CODEGEN_ALLOCATIONORDER_H
25 class RegisterClassInfo;
50 return Hints.
end()[Pos++];
51 while (Pos <
int(Order.
size())) {
52 unsigned Reg = Order[Pos++];
65 return Hints.
end()[Pos++];
75 bool isHint()
const {
return Pos <= 0; }
78 bool isHint(
unsigned PhysReg)
const {
79 return std::find(Hints.
begin(), Hints.
end(), PhysReg) != Hints.
end();
void rewind()
Start over from the beginning.
ArrayRef< MCPhysReg > getOrder() const
Get the allocation order without reordered hints.
unsigned nextWithDups(unsigned Limit)
size_t size() const
size - Get the array size.
AllocationOrder(unsigned VirtReg, const VirtRegMap &VRM, const RegisterClassInfo &RegClassInfo)
bool isHint(unsigned PhysReg) const
Return true if PhysReg is a preferred register.
bool isHint() const
Return true if the last register returned from next() was a preferred register.