|
LLVM 23.0.0git
|
#include "llvm/MC/MCGOFFObjectWriter.h"
Public Member Functions | |
| GOFFObjectWriter (std::unique_ptr< MCGOFFObjectTargetWriter > MOTW, raw_pwrite_stream &OS) | |
| ~GOFFObjectWriter () override | |
| void | reset () override |
| lifetime management | |
| void | setRootSD (MCSectionGOFF *RootSD) |
| void | recordRelocation (const MCFragment &F, const MCFixup &Fixup, MCValue Target, uint64_t &FixedValue) override |
| Record a relocation entry. | |
| uint64_t | writeObject () override |
| Write the object file and returns the number of bytes written. | |
| Public Member Functions inherited from llvm::MCObjectWriter | |
| MCObjectWriter (const MCObjectWriter &)=delete | |
| MCObjectWriter & | operator= (const MCObjectWriter &)=delete |
| virtual | ~MCObjectWriter () |
| virtual void | setAssembler (MCAssembler *A) |
| MCContext & | getContext () const |
| virtual void | executePostLayoutBinding () |
| Perform any late binding of symbols (for example, to assign symbol indices for use when generating relocations). | |
| bool | isSymbolRefDifferenceFullyResolved (const MCSymbol &A, const MCSymbol &B, bool InSet) const |
| Check whether the difference (A - B) between two symbol references is fully resolved. | |
| virtual bool | isSymbolRefDifferenceFullyResolvedImpl (const MCSymbol &SymA, const MCFragment &FB, bool InSet, bool IsPCRel) const |
| MutableArrayRef< std::pair< std::string, size_t > > | getFileNames () |
| void | addFileName (StringRef FileName) |
| void | setCompilerVersion (StringRef CompilerVers) |
| void | emitAddrsigSection () |
| Tell the object writer to emit an address-significance table during writeObject(). | |
| bool | getEmitAddrsigSection () |
| void | addAddrsigSymbol (const MCSymbol *Sym) |
| Record the given symbol in the address-significance table to be written diring writeObject(). | |
| std::vector< const MCSymbol * > & | getAddrsigSyms () |
| SmallVector< CGProfileEntry, 0 > & | getCGProfile () |
| bool | getSubsectionsViaSymbols () const |
| void | setSubsectionsViaSymbols (bool Value) |
Additional Inherited Members | |
| Protected Member Functions inherited from llvm::MCObjectWriter | |
| MCObjectWriter ()=default | |
| Protected Attributes inherited from llvm::MCObjectWriter | |
| MCAssembler * | Asm = nullptr |
| SmallVector< std::pair< std::string, size_t >, 0 > | FileNames |
| List of declared file names. | |
| std::string | CompilerVersion |
| std::vector< const MCSymbol * > | AddrsigSyms |
| bool | EmitAddrsigSection = false |
| bool | SubsectionsViaSymbols = false |
| SmallVector< CGProfileEntry, 0 > | CGProfile |
Definition at line 76 of file MCGOFFObjectWriter.h.
| GOFFObjectWriter::GOFFObjectWriter | ( | std::unique_ptr< MCGOFFObjectTargetWriter > | MOTW, |
| raw_pwrite_stream & | OS ) |
Definition at line 686 of file GOFFObjectWriter.cpp.
References llvm::move().
|
overridedefault |
|
overridevirtual |
Record a relocation entry.
This routine is called by the assembler after layout and relaxation, and post layout binding. The implementation is responsible for storing information about the relocation so that it can be emitted during writeObject().
Reimplemented from llvm::MCObjectWriter.
Definition at line 698 of file GOFFObjectWriter.cpp.
References A(), llvm::MCObjectWriter::Asm, assert(), B(), llvm::concat(), llvm::Twine::concat(), llvm::dbgs(), F, Fixup, llvm::MCSectionGOFF::getExternalName(), llvm::Length, LLVM_DEBUG, N, llvm::MCGOFFObjectTargetWriter::Reloc_Type_QCon, llvm::MCGOFFObjectTargetWriter::Reloc_Type_RCon, llvm::MCGOFFObjectTargetWriter::Reloc_Type_RICon, llvm::MCGOFFObjectTargetWriter::Reloc_Type_VCon, llvm::GOFF::RLD_ACT_Add, llvm::GOFF::RLD_ACT_Subtract, llvm::GOFF::RLD_FS_Fetch, llvm::GOFF::RLD_FS_Store, llvm::GOFF::RLD_RO_Class, llvm::GOFF::RLD_RO_Label, llvm::GOFF::RLD_RT_RAddress, llvm::GOFF::RLD_RT_ROffset, llvm::GOFF::RLD_RT_RTypeConstant, and llvm::MCFixupKindInfo::TargetSize.
|
overridevirtual |
lifetime management
Reimplemented from llvm::MCObjectWriter.
Definition at line 692 of file GOFFObjectWriter.cpp.
References llvm::MCObjectWriter::reset().
|
inline |
Definition at line 96 of file MCGOFFObjectWriter.h.
Referenced by llvm::MCGOFFStreamer::finishImpl().
|
overridevirtual |
Write the object file and returns the number of bytes written.
This routine is called by the assembler after layout and relaxation is complete, fixups have been evaluated and applied, and relocations generated.
Implements llvm::MCObjectWriter.
Definition at line 810 of file GOFFObjectWriter.cpp.
References llvm::MCObjectWriter::Asm, and Size.