diff options
Diffstat (limited to 'llvm/lib/Target/X86/X86AsmPrinter.cpp')
-rw-r--r-- | llvm/lib/Target/X86/X86AsmPrinter.cpp | 58 |
1 files changed, 29 insertions, 29 deletions
diff --git a/llvm/lib/Target/X86/X86AsmPrinter.cpp b/llvm/lib/Target/X86/X86AsmPrinter.cpp index 2ed4975d773..ab933fe39b9 100644 --- a/llvm/lib/Target/X86/X86AsmPrinter.cpp +++ b/llvm/lib/Target/X86/X86AsmPrinter.cpp @@ -55,12 +55,12 @@ bool X86AsmPrinter::runOnMachineFunction(MachineFunction &MF) { if (Subtarget->isTargetCOFF()) { bool Intrn = MF.getFunction()->hasInternalLinkage(); - OutStreamer.BeginCOFFSymbolDef(CurrentFnSym); - OutStreamer.EmitCOFFSymbolStorageClass(Intrn ? COFF::IMAGE_SYM_CLASS_STATIC - : COFF::IMAGE_SYM_CLASS_EXTERNAL); - OutStreamer.EmitCOFFSymbolType(COFF::IMAGE_SYM_DTYPE_FUNCTION + OutStreamer->BeginCOFFSymbolDef(CurrentFnSym); + OutStreamer->EmitCOFFSymbolStorageClass(Intrn ? COFF::IMAGE_SYM_CLASS_STATIC + : COFF::IMAGE_SYM_CLASS_EXTERNAL); + OutStreamer->EmitCOFFSymbolType(COFF::IMAGE_SYM_DTYPE_FUNCTION << COFF::SCT_COMPLEX_TYPE_SHIFT); - OutStreamer.EndCOFFSymbolDef(); + OutStreamer->EndCOFFSymbolDef(); } // Emit the rest of the function body. @@ -507,24 +507,24 @@ void X86AsmPrinter::EmitStartOfAsmFile(Module &M) { Triple TT(TM.getTargetTriple()); if (TT.isOSBinFormatMachO()) - OutStreamer.SwitchSection(getObjFileLowering().getTextSection()); + OutStreamer->SwitchSection(getObjFileLowering().getTextSection()); if (TT.isOSBinFormatCOFF()) { // Emit an absolute @feat.00 symbol. This appears to be some kind of // compiler features bitfield read by link.exe. if (TT.getArch() == Triple::x86) { MCSymbol *S = MMI->getContext().GetOrCreateSymbol(StringRef("@feat.00")); - OutStreamer.BeginCOFFSymbolDef(S); - OutStreamer.EmitCOFFSymbolStorageClass(COFF::IMAGE_SYM_CLASS_STATIC); - OutStreamer.EmitCOFFSymbolType(COFF::IMAGE_SYM_DTYPE_NULL); - OutStreamer.EndCOFFSymbolDef(); + OutStreamer->BeginCOFFSymbolDef(S); + OutStreamer->EmitCOFFSymbolStorageClass(COFF::IMAGE_SYM_CLASS_STATIC); + OutStreamer->EmitCOFFSymbolType(COFF::IMAGE_SYM_DTYPE_NULL); + OutStreamer->EndCOFFSymbolDef(); // According to the PE-COFF spec, the LSB of this value marks the object // for "registered SEH". This means that all SEH handler entry points // must be registered in .sxdata. Use of any unregistered handlers will // cause the process to terminate immediately. LLVM does not know how to // register any SEH handlers, so its object files should be safe. - OutStreamer.EmitSymbolAttribute(S, MCSA_Global); - OutStreamer.EmitAssignment( + OutStreamer->EmitSymbolAttribute(S, MCSA_Global); + OutStreamer->EmitAssignment( S, MCConstantExpr::Create(int64_t(1), MMI->getContext())); } } @@ -564,7 +564,7 @@ MCSymbol *X86AsmPrinter::GetCPISymbol(unsigned CPID) const { getObjFileLowering().getSectionForConstant(Kind, C))) { if (MCSymbol *Sym = S->getCOMDATSymbol()) { if (Sym->isUndefined()) - OutStreamer.EmitSymbolAttribute(Sym, MCSA_Global); + OutStreamer->EmitSymbolAttribute(Sym, MCSA_Global); return Sym; } } @@ -599,7 +599,7 @@ void X86AsmPrinter::GenerateExportDirective(const MCSymbol *Sym, bool IsData) { } OS.flush(); - OutStreamer.EmitBytes(Directive); + OutStreamer->EmitBytes(Directive); } void X86AsmPrinter::EmitEndOfAsmFile(Module &M) { @@ -621,21 +621,21 @@ void X86AsmPrinter::EmitEndOfAsmFile(Module &M) { MachO::S_ATTR_SELF_MODIFYING_CODE | MachO::S_ATTR_PURE_INSTRUCTIONS, 5, SectionKind::getMetadata()); - OutStreamer.SwitchSection(TheSection); + OutStreamer->SwitchSection(TheSection); for (const auto &Stub : Stubs) { // L_foo$stub: - OutStreamer.EmitLabel(Stub.first); + OutStreamer->EmitLabel(Stub.first); // .indirect_symbol _foo - OutStreamer.EmitSymbolAttribute(Stub.second.getPointer(), - MCSA_IndirectSymbol); + OutStreamer->EmitSymbolAttribute(Stub.second.getPointer(), + MCSA_IndirectSymbol); // hlt; hlt; hlt; hlt; hlt hlt = 0xf4. const char HltInsts[] = "\xf4\xf4\xf4\xf4\xf4"; - OutStreamer.EmitBytes(StringRef(HltInsts, 5)); + OutStreamer->EmitBytes(StringRef(HltInsts, 5)); } Stubs.clear(); - OutStreamer.AddBlankLine(); + OutStreamer->AddBlankLine(); } // Output stubs for external and common global variables. @@ -645,13 +645,13 @@ void X86AsmPrinter::EmitEndOfAsmFile(Module &M) { OutContext.getMachOSection("__IMPORT", "__pointers", MachO::S_NON_LAZY_SYMBOL_POINTERS, SectionKind::getMetadata()); - OutStreamer.SwitchSection(TheSection); + OutStreamer->SwitchSection(TheSection); for (auto &Stub : Stubs) - emitNonLazySymbolPointer(OutStreamer, Stub.first, Stub.second); + emitNonLazySymbolPointer(*OutStreamer, Stub.first, Stub.second); Stubs.clear(); - OutStreamer.AddBlankLine(); + OutStreamer->AddBlankLine(); } Stubs = MMIMacho.GetHiddenGVStubList(); @@ -660,13 +660,13 @@ void X86AsmPrinter::EmitEndOfAsmFile(Module &M) { OutContext.getMachOSection("__IMPORT", "__pointers", MachO::S_NON_LAZY_SYMBOL_POINTERS, SectionKind::getMetadata()); - OutStreamer.SwitchSection(TheSection); + OutStreamer->SwitchSection(TheSection); for (auto &Stub : Stubs) - emitNonLazySymbolPointer(OutStreamer, Stub.first, Stub.second); + emitNonLazySymbolPointer(*OutStreamer, Stub.first, Stub.second); Stubs.clear(); - OutStreamer.AddBlankLine(); + OutStreamer->AddBlankLine(); } SM.serializeToStackMapSection(); @@ -676,14 +676,14 @@ void X86AsmPrinter::EmitEndOfAsmFile(Module &M) { // implementation of multiple entry points). If this doesn't occur, the // linker can safely perform dead code stripping. Since LLVM never // generates code that does this, it is always safe to set. - OutStreamer.EmitAssemblerFlag(MCAF_SubsectionsViaSymbols); + OutStreamer->EmitAssemblerFlag(MCAF_SubsectionsViaSymbols); } if (TT.isKnownWindowsMSVCEnvironment() && MMI->usesVAFloatArgument()) { StringRef SymbolName = (TT.getArch() == Triple::x86_64) ? "_fltused" : "__fltused"; MCSymbol *S = MMI->getContext().GetOrCreateSymbol(SymbolName); - OutStreamer.EmitSymbolAttribute(S, MCSA_Global); + OutStreamer->EmitSymbolAttribute(S, MCSA_Global); } if (TT.isOSBinFormatCOFF()) { @@ -713,7 +713,7 @@ void X86AsmPrinter::EmitEndOfAsmFile(Module &M) { const TargetLoweringObjectFileCOFF &TLOFCOFF = static_cast<const TargetLoweringObjectFileCOFF&>(getObjFileLowering()); - OutStreamer.SwitchSection(TLOFCOFF.getDrectveSection()); + OutStreamer->SwitchSection(TLOFCOFF.getDrectveSection()); for (auto & Symbol : DLLExportedGlobals) GenerateExportDirective(Symbol, /*IsData=*/true); |