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; +  }    }  }  | 
