9#ifndef LLVM_MC_MCOBJECTWRITER_H
10#define LLVM_MC_MCOBJECTWRITER_H
42 bool EmitAddrsigSection =
false;
43 bool SubsectionsViaSymbols =
false;
93 virtual bool isSymbolRefDifferenceFullyResolvedImpl(
const MCSymbol &SymA,
103 CompilerVersion = CompilerVers;
static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")
static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")
PowerPC TLS Dynamic Call Fixup
Context object for machine code objects.
Encode information on a single operation to perform on a byte sequence (e.g., an encoded instruction)...
Base class for classes that define behaviour that is specific to both the target and the object forma...
LLVM_ABI MCContext & getContext() const
LLVM_ABI void reportError(SMLoc L, const Twine &Msg) const
virtual Triple::ObjectFormatType getFormat() const =0
void setAssembler(MCAssembler *A)
virtual ~MCObjectTargetWriter()=default
Defines the object file and target independent interfaces used by the assembler backend to write nati...
MutableArrayRef< std::pair< std::string, size_t > > getFileNames()
MCObjectWriter & operator=(const MCObjectWriter &)=delete
SmallVector< CGProfileEntry, 0 > CGProfile
MCObjectWriter(const MCObjectWriter &)=delete
void setCompilerVersion(StringRef CompilerVers)
virtual ~MCObjectWriter()
bool getSubsectionsViaSymbols() const
virtual void setAssembler(MCAssembler *A)
void emitAddrsigSection()
Tell the object writer to emit an address-significance table during writeObject().
virtual void executePostLayoutBinding()
Perform any late binding of symbols (for example, to assign symbol indices for use when generating re...
bool getEmitAddrsigSection()
std::vector< const MCSymbol * > & getAddrsigSyms()
void addAddrsigSymbol(const MCSymbol *Sym)
Record the given symbol in the address-significance table to be written diring writeObject().
void setSubsectionsViaSymbols(bool Value)
std::string CompilerVersion
SmallVector< CGProfileEntry, 0 > & getCGProfile()
std::vector< const MCSymbol * > AddrsigSyms
virtual uint64_t writeObject()=0
Write the object file and returns the number of bytes written.
SmallVector< std::pair< std::string, size_t >, 0 > FileNames
List of declared file names.
Represent a reference to a symbol from inside an expression.
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
MutableArrayRef - Represent a mutable reference to an array (0 or more elements consecutively in memo...
Represents a location in source code.
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
StringRef - Represent a constant reference to a string, i.e.
Target - Wrapper for Target specific information.
Twine - A lightweight data structure for efficiently representing the concatenation of temporary valu...
LLVM Value Representation.
This is an optimization pass for GlobalISel generic memory operations.
const MCSymbolRefExpr * To
const MCSymbolRefExpr * From