[llvm-commits] CVS: llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp

Brian Gaeke gaeke at cs.uiuc.edu
Sun Nov 9 01:09:01 PST 2003


Changes in directory llvm/lib/Target/Sparc:

SparcV9CodeEmitter.cpp updated: 1.41 -> 1.42

---
Log message:

Fix PR103


---
Diffs of the changes:  (+3 -6)

Index: llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp
diff -u llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp:1.41 llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp:1.42
--- llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp:1.41	Fri Nov  7 15:07:30 2003
+++ llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp	Sun Nov  9 01:08:34 2003
@@ -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!





More information about the llvm-commits mailing list