mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-16 12:24:03 +00:00
Changing allocation ordering from r3 ... r0 back to r0 ... r3. The order change no longer make sense after the coalescing changes we have made since then.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72955 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -64,7 +64,7 @@ namespace {
|
||||
typedef SmallVector<MemOpQueueEntry,8> MemOpQueue;
|
||||
typedef MemOpQueue::iterator MemOpQueueIter;
|
||||
|
||||
bool mergeOps(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
|
||||
bool MergeOps(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
|
||||
int Offset, unsigned Base, bool BaseKill, int Opcode,
|
||||
ARMCC::CondCodes Pred, unsigned PredReg, unsigned Scratch,
|
||||
DebugLoc dl, SmallVector<std::pair<unsigned, bool>, 8> &Regs);
|
||||
@ -112,11 +112,11 @@ static int getLoadStoreMultipleOpcode(int Opcode) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
/// mergeOps - Create and insert a LDM or STM with Base as base register and
|
||||
/// MergeOps - Create and insert a LDM or STM with Base as base register and
|
||||
/// registers in Regs as the register operands that would be loaded / stored.
|
||||
/// It returns true if the transformation is done.
|
||||
bool
|
||||
ARMLoadStoreOpt::mergeOps(MachineBasicBlock &MBB,
|
||||
ARMLoadStoreOpt::MergeOps(MachineBasicBlock &MBB,
|
||||
MachineBasicBlock::iterator MBBI,
|
||||
int Offset, unsigned Base, bool BaseKill,
|
||||
int Opcode, ARMCC::CondCodes Pred,
|
||||
@ -221,7 +221,7 @@ ARMLoadStoreOpt::MergeLDR_STR(MachineBasicBlock &MBB, unsigned SIndex,
|
||||
PRegNum = RegNum;
|
||||
} else {
|
||||
// Can't merge this in. Try merge the earlier ones first.
|
||||
if (mergeOps(MBB, ++Loc, SOffset, Base, false, Opcode, Pred, PredReg,
|
||||
if (MergeOps(MBB, ++Loc, SOffset, Base, false, Opcode, Pred, PredReg,
|
||||
Scratch, dl, Regs)) {
|
||||
Merges.push_back(prior(Loc));
|
||||
for (unsigned j = SIndex; j < i; ++j) {
|
||||
@ -241,7 +241,7 @@ ARMLoadStoreOpt::MergeLDR_STR(MachineBasicBlock &MBB, unsigned SIndex,
|
||||
}
|
||||
|
||||
bool BaseKill = Loc->findRegisterUseOperandIdx(Base, true) != -1;
|
||||
if (mergeOps(MBB, ++Loc, SOffset, Base, BaseKill, Opcode, Pred, PredReg,
|
||||
if (MergeOps(MBB, ++Loc, SOffset, Base, BaseKill, Opcode, Pred, PredReg,
|
||||
Scratch, dl, Regs)) {
|
||||
Merges.push_back(prior(Loc));
|
||||
for (unsigned i = SIndex, e = MemOps.size(); i != e; ++i) {
|
||||
|
Reference in New Issue
Block a user