Fix PR103
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9830 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/SparcV9/SparcV9CodeEmitter.cpp b/lib/Target/SparcV9/SparcV9CodeEmitter.cpp
index 5863fd6..d60d915 100644
--- a/lib/Target/SparcV9/SparcV9CodeEmitter.cpp
+++ b/lib/Target/SparcV9/SparcV9CodeEmitter.cpp
@@ -606,12 +606,9 @@
// 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!