mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-03 13:31:05 +00:00
Fix previous broken commit. A MachineOperand may have opType ==
MO_VirtualRegister but if the register number is one of a physical register is it considered as a physical register. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11315 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
bc44aa61c4
commit
af862116df
@ -29,6 +29,7 @@
|
||||
#include "llvm/CodeGen/MachineFunctionInfo.h"
|
||||
#include "llvm/CodeGen/MachineFunctionPass.h"
|
||||
#include "llvm/CodeGen/MachineInstr.h"
|
||||
#include "llvm/Target/MRegisterInfo.h"
|
||||
#include "llvm/Target/TargetMachine.h"
|
||||
#include "llvm/Target/TargetData.h"
|
||||
#include "Support/Debug.h"
|
||||
@ -656,9 +657,10 @@ int64_t SparcV9CodeEmitter::getMachineOpValue(MachineInstr &MI,
|
||||
std::cerr << "ERROR: PC relative disp unhandled:" << MO << "\n";
|
||||
abort();
|
||||
}
|
||||
} else if (MO.getType() == MachineOperand::MO_MachineRegister ||
|
||||
MO.getType() == MachineOperand::MO_CCRegister)
|
||||
} else if (MO.isRegister() || MO.getType() == MachineOperand::MO_CCRegister)
|
||||
{
|
||||
assert(MRegisterInfo::isPhysicalRegister(MO.getReg()) &&
|
||||
"virtual register in machine code!");
|
||||
// This is necessary because the Sparc backend doesn't actually lay out
|
||||
// registers in the real fashion -- it skips those that it chooses not to
|
||||
// allocate, i.e. those that are the FP, SP, etc.
|
||||
|
Loading…
Reference in New Issue
Block a user