diff options
| author | Chris Lattner <sabre@nondot.org> | 2010-04-04 07:17:25 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2010-04-04 07:17:25 +0000 |
| commit | 4f63f7ee8e1537912cb13cfe9875c99accddfed0 (patch) | |
| tree | 8d11a006aa4b4e60cd1686a58c179296bb5e60cc /llvm/lib/Target | |
| parent | 794b2f1b37e76655d430d7efc12b2677c90abc3a (diff) | |
| download | bcm5719-llvm-4f63f7ee8e1537912cb13cfe9875c99accddfed0.tar.gz bcm5719-llvm-4f63f7ee8e1537912cb13cfe9875c99accddfed0.zip | |
finish eliminating uses of O.
llvm-svn: 100321
Diffstat (limited to 'llvm/lib/Target')
| -rw-r--r-- | llvm/lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp | 51 |
1 files changed, 34 insertions, 17 deletions
diff --git a/llvm/lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp b/llvm/lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp index 49ec0ca8b8e..e31e490e8d2 100644 --- a/llvm/lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp +++ b/llvm/lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp @@ -732,22 +732,31 @@ EmitFunctionStubs(const MachineModuleInfoMachO::SymbolListTy &Stubs) { OutStreamer.EmitLabel(Stub); OutStreamer.EmitSymbolAttribute(RawSym, MCSA_IndirectSymbol); // FIXME: MCize this. - O << "\tmflr r0\n"; - O << "\tbcl 20,31," << *AnonSymbol << '\n'; + OutStreamer.EmitRawText(StringRef("\tmflr r0")); + OutStreamer.EmitRawText("\tbcl 20,31," + Twine(AnonSymbol->getName())); OutStreamer.EmitLabel(AnonSymbol); - O << "\tmflr r11\n"; - O << "\taddis r11,r11,ha16(" << *LazyPtr << '-' << *AnonSymbol - << ")\n"; - O << "\tmtlr r0\n"; - O << (isPPC64 ? "\tldu" : "\tlwzu") << " r12,lo16(" << *LazyPtr - << '-' << *AnonSymbol << ")(r11)\n"; - O << "\tmtctr r12\n"; - O << "\tbctr\n"; + OutStreamer.EmitRawText(StringRef("\tmflr r11")); + OutStreamer.EmitRawText("\taddis r11,r11,ha16("+Twine(LazyPtr->getName())+ + "-" + AnonSymbol->getName() + ")"); + OutStreamer.EmitRawText(StringRef("\tmtlr r0")); + + if (isPPC64) + OutStreamer.EmitRawText("\tldu r12,lo16(" + Twine(LazyPtr->getName()) + + "-" + AnonSymbol->getName() + ")(r11)"); + else + OutStreamer.EmitRawText("\tlwzu r12,lo16(" + Twine(LazyPtr->getName()) + + "-" + AnonSymbol->getName() + ")(r11)"); + OutStreamer.EmitRawText(StringRef("\tmtctr r12")); + OutStreamer.EmitRawText(StringRef("\tbctr")); OutStreamer.SwitchSection(LSPSection); OutStreamer.EmitLabel(LazyPtr); OutStreamer.EmitSymbolAttribute(RawSym, MCSA_IndirectSymbol); - O << (isPPC64 ? "\t.quad" : "\t.long") << " dyld_stub_binding_helper\n"; + + if (isPPC64) + OutStreamer.EmitRawText(StringRef("\t.quad dyld_stub_binding_helper")); + else + OutStreamer.EmitRawText(StringRef("\t.long dyld_stub_binding_helper")); } OutStreamer.AddBlankLine(); return; @@ -767,15 +776,23 @@ EmitFunctionStubs(const MachineModuleInfoMachO::SymbolListTy &Stubs) { EmitAlignment(4); OutStreamer.EmitLabel(Stub); OutStreamer.EmitSymbolAttribute(RawSym, MCSA_IndirectSymbol); - O << "\tlis r11,ha16(" << *LazyPtr << ")\n"; - O << (isPPC64 ? "\tldu" : "\tlwzu") << " r12,lo16(" << *LazyPtr - << ")(r11)\n"; - O << "\tmtctr r12\n"; - O << "\tbctr\n"; + OutStreamer.EmitRawText("\tlis r11,ha16(" + Twine(LazyPtr->getName()) +")"); + if (isPPC64) + OutStreamer.EmitRawText("\tldu r12,lo16(" + Twine(LazyPtr->getName()) + + ")(r11)"); + else + OutStreamer.EmitRawText("\tlwzu r12,lo16(" + Twine(LazyPtr->getName()) + + ")(r11)"); + OutStreamer.EmitRawText(StringRef("\tmtctr r12")); + OutStreamer.EmitRawText(StringRef("\tbctr")); OutStreamer.SwitchSection(LSPSection); OutStreamer.EmitLabel(LazyPtr); OutStreamer.EmitSymbolAttribute(RawSym, MCSA_IndirectSymbol); - O << (isPPC64 ? "\t.quad" : "\t.long") << " dyld_stub_binding_helper\n"; + + if (isPPC64) + OutStreamer.EmitRawText(StringRef("\t.quad dyld_stub_binding_helper")); + else + OutStreamer.EmitRawText(StringRef("\t.long dyld_stub_binding_helper")); } OutStreamer.AddBlankLine(); |

