diff options
| author | Misha Brukman <brukman+llvm@gmail.com> | 2004-06-28 18:03:37 +0000 |
|---|---|---|
| committer | Misha Brukman <brukman+llvm@gmail.com> | 2004-06-28 18:03:37 +0000 |
| commit | 75985d725c2e3a28430d71a1c139834f71d4c38d (patch) | |
| tree | 2e75397914cfb2b953baddded4523ab78ef7705d /llvm/lib/Target | |
| parent | 8455e0177b6b4fc5bf66b65ad35164e5d72c8cba (diff) | |
| download | bcm5719-llvm-75985d725c2e3a28430d71a1c139834f71d4c38d.tar.gz bcm5719-llvm-75985d725c2e3a28430d71a1c139834f71d4c38d.zip | |
No need to generate a lazy-linking stub for internal functions, they can be
resolved by the static linker.
llvm-svn: 14467
Diffstat (limited to 'llvm/lib/Target')
| -rw-r--r-- | llvm/lib/Target/PowerPC/PPC32AsmPrinter.cpp | 4 | ||||
| -rw-r--r-- | llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/llvm/lib/Target/PowerPC/PPC32AsmPrinter.cpp b/llvm/lib/Target/PowerPC/PPC32AsmPrinter.cpp index 636b1c413db..322122a28b4 100644 --- a/llvm/lib/Target/PowerPC/PPC32AsmPrinter.cpp +++ b/llvm/lib/Target/PowerPC/PPC32AsmPrinter.cpp @@ -427,7 +427,9 @@ void Printer::printOp(const MachineOperand &MO, return; case MachineOperand::MO_GlobalAddress: if (!elideOffsetKeyword) { - if (isa<Function>(MO.getGlobal())) { + // Dynamically-resolved functions need a stub for the function + Function *F = dyn_cast<Function>(MO.getGlobal()); + if (F && F->isExternal()) { Stubs.insert(Mang->getValueName(MO.getGlobal())); O << "L" << Mang->getValueName(MO.getGlobal()) << "$stub"; } else { diff --git a/llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp b/llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp index 636b1c413db..322122a28b4 100644 --- a/llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp +++ b/llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp @@ -427,7 +427,9 @@ void Printer::printOp(const MachineOperand &MO, return; case MachineOperand::MO_GlobalAddress: if (!elideOffsetKeyword) { - if (isa<Function>(MO.getGlobal())) { + // Dynamically-resolved functions need a stub for the function + Function *F = dyn_cast<Function>(MO.getGlobal()); + if (F && F->isExternal()) { Stubs.insert(Mang->getValueName(MO.getGlobal())); O << "L" << Mang->getValueName(MO.getGlobal()) << "$stub"; } else { |

