diff options
Diffstat (limited to 'lib/Target/AArch64/AArch64AsmPrinter.cpp')
-rw-r--r-- | lib/Target/AArch64/AArch64AsmPrinter.cpp | 38 |
1 files changed, 9 insertions, 29 deletions
diff --git a/lib/Target/AArch64/AArch64AsmPrinter.cpp b/lib/Target/AArch64/AArch64AsmPrinter.cpp index 2ff2ee347f56..52819dedc23d 100644 --- a/lib/Target/AArch64/AArch64AsmPrinter.cpp +++ b/lib/Target/AArch64/AArch64AsmPrinter.cpp @@ -71,7 +71,7 @@ public: StringRef getPassName() const override { return "AArch64 Assembly Printer"; } - /// \brief Wrapper for MCInstLowering.lowerOperand() for the + /// Wrapper for MCInstLowering.lowerOperand() for the /// tblgen'erated pseudo lowering. bool lowerOperand(const MachineOperand &MO, MCOperand &MCOp) const { return MCInstLowering.lowerOperand(MO, MCOp); @@ -88,7 +88,7 @@ public: void EmitSled(const MachineInstr &MI, SledKind Kind); - /// \brief tblgen'erated driver function for lowering simple MI->MC + /// tblgen'erated driver function for lowering simple MI->MC /// pseudo instructions. bool emitPseudoExpansionLowering(MCStreamer &OutStreamer, const MachineInstr *MI); @@ -131,7 +131,7 @@ private: AArch64FunctionInfo *AArch64FI = nullptr; - /// \brief Emit the LOHs contained in AArch64FI. + /// Emit the LOHs contained in AArch64FI. void EmitLOHs(); /// Emit instruction to set float register to zero. @@ -210,29 +210,6 @@ void AArch64AsmPrinter::EmitEndOfAsmFile(Module &M) { OutStreamer->EmitAssemblerFlag(MCAF_SubsectionsViaSymbols); SM.serializeToStackMapSection(); } - - if (TT.isOSBinFormatCOFF()) { - const auto &TLOF = - static_cast<const TargetLoweringObjectFileCOFF &>(getObjFileLowering()); - - std::string Flags; - raw_string_ostream OS(Flags); - - for (const auto &Function : M) - TLOF.emitLinkerFlagsForGlobal(OS, &Function); - for (const auto &Global : M.globals()) - TLOF.emitLinkerFlagsForGlobal(OS, &Global); - for (const auto &Alias : M.aliases()) - TLOF.emitLinkerFlagsForGlobal(OS, &Alias); - - OS.flush(); - - // Output collected flags - if (!Flags.empty()) { - OutStreamer->SwitchSection(TLOF.getDrectveSection()); - OutStreamer->EmitBytes(Flags); - } - } } void AArch64AsmPrinter::EmitLOHs() { @@ -265,9 +242,7 @@ MCSymbol *AArch64AsmPrinter::GetCPISymbol(unsigned CPID) const { Twine(getDataLayout().getLinkerPrivateGlobalPrefix()) + "CPI" + Twine(getFunctionNumber()) + "_" + Twine(CPID)); - return OutContext.getOrCreateSymbol( - Twine(getDataLayout().getPrivateGlobalPrefix()) + "CPI" + - Twine(getFunctionNumber()) + "_" + Twine(CPID)); + return AsmPrinter::GetCPISymbol(CPID); } void AArch64AsmPrinter::printOperand(const MachineInstr *MI, unsigned OpNum, @@ -299,6 +274,11 @@ void AArch64AsmPrinter::printOperand(const MachineInstr *MI, unsigned OpNum, printOffset(MO.getOffset(), O); break; } + case MachineOperand::MO_BlockAddress: { + MCSymbol *Sym = GetBlockAddressSymbol(MO.getBlockAddress()); + Sym->print(O, MAI); + break; + } } } |