diff options
author | Alkis Evlogimenos <alkis@evlogimenos.com> | 2004-02-11 05:55:00 +0000 |
---|---|---|
committer | Alkis Evlogimenos <alkis@evlogimenos.com> | 2004-02-11 05:55:00 +0000 |
commit | fcb99fe370e3904b58d2638a6b0c193d4704a7f0 (patch) | |
tree | f3b6a252080a4a2901789f44f85858acdf4fc7bb /llvm/lib/Target | |
parent | ddfc5506a77a2fdc068ec418b8561305c035fd42 (diff) | |
download | bcm5719-llvm-fcb99fe370e3904b58d2638a6b0c193d4704a7f0.tar.gz bcm5719-llvm-fcb99fe370e3904b58d2638a6b0c193d4704a7f0.zip |
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.
llvm-svn: 11315
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r-- | llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp b/llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp index 3deb9e5e552..b69408d2bac 100644 --- a/llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp +++ b/llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp @@ -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. |