aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Target/SparcV9/SparcV9CodeEmitter.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Target/SparcV9/SparcV9CodeEmitter.cpp b/lib/Target/SparcV9/SparcV9CodeEmitter.cpp
index 6db466f3b3..e85115c3f8 100644
--- a/lib/Target/SparcV9/SparcV9CodeEmitter.cpp
+++ b/lib/Target/SparcV9/SparcV9CodeEmitter.cpp
@@ -195,7 +195,7 @@ int64_t SparcV9CodeEmitter::getMachineOpValue(MachineInstr &MI,
BBRefs.push_back(std::make_pair(BB, std::make_pair(CurrPC, &MI)));
} else if (Constant *C = dyn_cast<Constant>(V)) {
if (ConstantMap.find(C) != ConstantMap.end())
- rv = (int64_t)(intptr_t)ConstantMap[C];
+ rv = (int64_t)(intptr_t)ConstantMap[C] - MCE->getCurrentPCValue();
else {
std::cerr << "ERROR: constant not in map:" << MO << "\n";
abort();