From e8e28dd7afce86290405b0139822865fd3c22233 Mon Sep 17 00:00:00 2001 From: Misha Brukman Date: Tue, 3 Jun 2003 03:24:12 +0000 Subject: [PATCH] Constants are laid out in memory in PC-relative form. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6568 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/SparcV9/SparcV9CodeEmitter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Target/SparcV9/SparcV9CodeEmitter.cpp b/lib/Target/SparcV9/SparcV9CodeEmitter.cpp index 6db466f3b33..e85115c3f80 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(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(); -- 2.34.1