summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorBrian Gaeke <gaeke@uiuc.edu>2003-11-09 07:08:34 +0000
committerBrian Gaeke <gaeke@uiuc.edu>2003-11-09 07:08:34 +0000
commit75bc7cec4bf5c387fa0ce016fc65b4ddbfc41b3a (patch)
tree4b82b6ce64007779df9b99de78e3d62e962d0190 /llvm/lib
parentb09ad87eb98e261646274ee517e49af2862b7e4e (diff)
downloadbcm5719-llvm-75bc7cec4bf5c387fa0ce016fc65b4ddbfc41b3a.tar.gz
bcm5719-llvm-75bc7cec4bf5c387fa0ce016fc65b4ddbfc41b3a.zip
Fix PR103
llvm-svn: 9830
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp9
1 files changed, 3 insertions, 6 deletions
diff --git a/llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp b/llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp
index 5863fd67b46..d60d9151c1c 100644
--- a/llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp
+++ b/llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp
@@ -606,12 +606,9 @@ int64_t SparcV9CodeEmitter::getMachineOpValue(MachineInstr &MI,
// external function calls, etc.?
if (Function *F = dyn_cast<Function>(GV)) {
DEBUG(std::cerr << "Function: ");
- if (F->isExternal()) {
- // Sparc backend broken: this MO should be `ExternalSymbol'
- rv = (int64_t)MCE.getGlobalValueAddress(F->getName());
- } else {
- rv = (int64_t)MCE.getGlobalValueAddress(F);
- }
+ // NOTE: This results in stubs being generated even for
+ // external, native functions, which is not optimal. See PR103.
+ rv = (int64_t)MCE.getGlobalValueAddress(F);
if (rv == 0) {
DEBUG(std::cerr << "not yet generated\n");
// Function has not yet been code generated!
OpenPOWER on IntegriCloud