diff options
| author | Misha Brukman <brukman+llvm@gmail.com> | 2003-06-03 03:24:12 +0000 |
|---|---|---|
| committer | Misha Brukman <brukman+llvm@gmail.com> | 2003-06-03 03:24:12 +0000 |
| commit | 2712333e5f119521304f2e80b7bf35a169c364ae (patch) | |
| tree | 76a3b55d68b0763a77648513c773f36b1eb93760 /llvm/lib/Target | |
| parent | c8728a147e34e8d2cd1e81f55eb6a9c3bba630dd (diff) | |
| download | bcm5719-llvm-2712333e5f119521304f2e80b7bf35a169c364ae.tar.gz bcm5719-llvm-2712333e5f119521304f2e80b7bf35a169c364ae.zip | |
Constants are laid out in memory in PC-relative form.
llvm-svn: 6568
Diffstat (limited to 'llvm/lib/Target')
| -rw-r--r-- | llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp b/llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp index 6db466f3b33..e85115c3f80 100644 --- a/llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp +++ b/llvm/lib/Target/Sparc/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(); |

