summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorAlkis Evlogimenos <alkis@evlogimenos.com>2004-02-11 05:55:00 +0000
committerAlkis Evlogimenos <alkis@evlogimenos.com>2004-02-11 05:55:00 +0000
commitfcb99fe370e3904b58d2638a6b0c193d4704a7f0 (patch)
treef3b6a252080a4a2901789f44f85858acdf4fc7bb /llvm/lib/Target
parentddfc5506a77a2fdc068ec418b8561305c035fd42 (diff)
downloadbcm5719-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.cpp6
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.
OpenPOWER on IntegriCloud