mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-15 05:24:01 +00:00
Rename TRI::getAllocationOrder() to getRawAllocationOrder().
Also switch the return type to ArrayRef<unsigned> which works out nicely for ARM's implementation of this function because of the clever ArrayRef constructors. The name change indicates that the returned allocation order may contain reserved registers as has been the case for a while. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133216 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -41,21 +41,19 @@ AllocationOrder::AllocationOrder(unsigned VirtReg,
|
||||
if (HintPair.first) {
|
||||
const TargetRegisterInfo &TRI = VRM.getTargetRegInfo();
|
||||
// The remaining allocation order may depend on the hint.
|
||||
const unsigned *B, *E;
|
||||
tie(B, E) = TRI.getAllocationOrder(RC, HintPair.first, Hint,
|
||||
VRM.getMachineFunction());
|
||||
|
||||
// Empty allocation order?
|
||||
if (B == E)
|
||||
ArrayRef<unsigned> Order =
|
||||
TRI.getRawAllocationOrder(RC, HintPair.first, Hint,
|
||||
VRM.getMachineFunction());
|
||||
if (Order.empty())
|
||||
return;
|
||||
|
||||
// Copy the allocation order with reserved registers removed.
|
||||
OwnedBegin = true;
|
||||
unsigned *P = new unsigned[E - B];
|
||||
unsigned *P = new unsigned[Order.size()];
|
||||
Begin = P;
|
||||
for (; B != E; ++B)
|
||||
if (!RCI.isReserved(*B))
|
||||
*P++ = *B;
|
||||
for (unsigned i = 0; i != Order.size(); ++i)
|
||||
if (!RCI.isReserved(Order[i]))
|
||||
*P++ = Order[i];
|
||||
End = P;
|
||||
|
||||
// Target-dependent hints require resolution.
|
||||
|
Reference in New Issue
Block a user