Go to the documentation of this file.
9 #ifndef LLVM_MC_MCOBJECTWRITER_H
10 #define LLVM_MC_MCOBJECTWRITER_H
23 class MCSymbolRefExpr;
128 #endif // LLVM_MC_MCOBJECTWRITER_H
virtual void markGnuAbi()
ELF only. Mark that we have seen GNU ABI usage (e.g. SHF_GNU_RETAIN).
This is an optimization pass for GlobalISel generic memory operations.
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
virtual ~MCObjectWriter()
Target - Wrapper for Target specific information.
std::vector< const MCSymbol * > & getAddrsigSyms()
std::vector< const MCSymbol * > AddrsigSyms
void addAddrsigSymbol(const MCSymbol *Sym)
Record the given symbol in the address-significance table to be written diring writeObject().
Base class for classes that define behaviour that is specific to both the target and the object forma...
MCObjectWriter & operator=(const MCObjectWriter &)=delete
static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")
virtual void recordRelocation(MCAssembler &Asm, const MCAsmLayout &Layout, const MCFragment *Fragment, const MCFixup &Fixup, MCValue Target, uint64_t &FixedValue)=0
Record a relocation entry.
void emitAddrsigSection()
Tell the object writer to emit an address-significance table during writeObject().
Represent a reference to a symbol from inside an expression.
Defines the object file and target independent interfaces used by the assembler backend to write nati...
virtual ~MCObjectTargetWriter()=default
virtual Triple::ObjectFormatType getFormat() const =0
virtual void reset()
lifetime management
Encapsulates the layout of an assembly file at a particular point in time.
virtual void executePostLayoutBinding(MCAssembler &Asm, const MCAsmLayout &Layout)=0
Perform any late binding of symbols (for example, to assign symbol indices for use when generating re...
virtual uint64_t writeObject(MCAssembler &Asm, const MCAsmLayout &Layout)=0
Write the object file and returns the number of bytes written.
virtual bool isSymbolRefDifferenceFullyResolvedImpl(const MCAssembler &Asm, const MCSymbol &A, const MCSymbol &B, bool InSet) const
This represents an "assembler immediate".
bool getEmitAddrsigSection()
Encode information on a single operation to perform on a byte sequence (e.g., an encoded instruction)...
bool isSymbolRefDifferenceFullyResolved(const MCAssembler &Asm, const MCSymbolRefExpr *A, const MCSymbolRefExpr *B, bool InSet) const
Check whether the difference (A - B) between two symbol references is fully resolved.