9#ifndef LLVM_MC_MCASSEMBLER_H 
   10#define LLVM_MC_MCASSEMBLER_H 
   58  std::unique_ptr<MCAsmBackend> Backend;
 
   59  std::unique_ptr<MCCodeEmitter> Emitter;
 
   60  std::unique_ptr<MCObjectWriter> Writer;
 
   62  bool HasLayout = 
false;
 
   63  bool HasFinalLayout = 
false;
 
   64  bool RelaxAll = 
false;
 
   70  struct RelocDirective {
 
  111  unsigned relaxOnce(
unsigned FirstStable);
 
  130                       std::unique_ptr<MCAsmBackend> Backend,
 
  131                       std::unique_ptr<MCCodeEmitter> 
Emitter,
 
  132                       std::unique_ptr<MCObjectWriter> Writer);
 
 
dxil DXContainer Global Emitter
 
static RegisterPass< DebugifyFunctionPass > DF("debugify-function", "Attach debug info to a function")
 
PowerPC TLS Dynamic Call Fixup
 
This file defines the SmallPtrSet class.
 
This file defines the SmallVector class.
 
Generic interface to target specific assembler backends.
 
const_iterator begin() const
 
MCContext & getContext() const
 
LLVM_ABI bool getSymbolOffset(const MCSymbol &S, uint64_t &Val) const
 
LLVM_ABI uint64_t getSectionAddressSize(const MCSection &Sec) const
 
MCAssembler & operator=(const MCAssembler &)=delete
 
LLVM_ABI void Finish()
Finish - Do final processing and write the object to the output stream.
 
SmallVector< MCSection *, 0 > SectionListType
 
LLVM_ABI void reportError(SMLoc L, const Twine &Msg) const
 
void setIsThumbFunc(const MCSymbol *Func)
Flag a function symbol as the target of a .thumb_func directive.
 
LLVM_ABI void writeSectionData(raw_ostream &OS, const MCSection *Section) const
Emit the section contents to OS.
 
iterator_range< pointee_iterator< SmallVector< const MCSymbol *, 0 >::const_iterator > > symbols() const
 
LLVM_ABI void dump() const
 
MCObjectWriter & getWriter() const
 
bool hasFinalLayout() const
 
MCCodeEmitter * getEmitterPtr() const
 
LLVM_ABI void addRelocDirective(RelocDirective RD)
 
SmallVectorImpl< const MCSymbol * > & getSymbols()
 
MCAssembler(const MCAssembler &)=delete
 
MCCodeEmitter & getEmitter() const
 
LLVM_ABI void recordError(SMLoc L, const Twine &Msg) const
 
LLVM_ABI MCAssembler(MCContext &Context, std::unique_ptr< MCAsmBackend > Backend, std::unique_ptr< MCCodeEmitter > Emitter, std::unique_ptr< MCObjectWriter > Writer)
Construct a new assembler instance.
 
LLVM_ABI bool isThumbFunc(const MCSymbol *Func) const
Check whether a given symbol has been flagged with .thumb_func.
 
const_iterator end() const
 
MCAsmBackend & getBackend() const
 
LLVM_ABI bool registerSection(MCSection &Section)
 
LLVM_ABI void flushPendingErrors() const
 
LLVM_ABI uint64_t computeFragmentSize(const MCFragment &F) const
Compute the effective fragment size.
 
LLVM_ABI const MCSymbol * getBaseSymbol(const MCSymbol &Symbol) const
 
pointee_iterator< SectionListType::const_iterator > const_iterator
 
MCAsmBackend * getBackendPtr() const
 
LLVM_ABI uint64_t getSectionFileSize(const MCSection &Sec) const
 
friend class MCObjectWriter
 
LLVM_ABI void reset()
Reuse an assembler instance.
 
LLVM_ABI bool registerSymbol(const MCSymbol &Symbol)
 
uint64_t getFragmentOffset(const MCFragment &F) const
 
MCDwarfLineTableParams getDWARFLinetableParams() const
 
void setRelaxAll(bool Value)
 
Represents required padding such that a particular other set of fragments does not cross a particular...
 
Fragment representing the .cv_def_range directive.
 
Fragment representing the binary annotations produced by the .cv_inline_linetable directive.
 
MCCodeEmitter - Generic instruction encoding interface.
 
Context object for machine code objects.
 
Base class for the full range of assembler expressions which are needed for parsing.
 
Encode information on a single operation to perform on a byte sequence (e.g., an encoded instruction)...
 
Defines the object file and target independent interfaces used by the assembler backend to write nati...
 
Instances of this class represent a uniqued identifier for a section in the current translation unit.
 
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 ...
 
Represents a location in source code.
 
SmallPtrSet - This class implements a set which is optimized for holding SmallSize or less elements.
 
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
 
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
 
Target - Wrapper for Target specific information.
 
Twine - A lightweight data structure for efficiently representing the concatenation of temporary valu...
 
LLVM Value Representation.
 
A range adaptor for a pair of iterators.
 
This class implements an extremely fast bulk output stream that can only output to a stream.
 
This provides a very simple, boring adaptor for a begin and end iterator into a range type.
 
This is an optimization pass for GlobalISel generic memory operations.
 
iterator_range< pointee_iterator< WrappedIteratorT > > make_pointee_range(RangeT &&Range)
 
FunctionAddr VTableAddr uintptr_t uintptr_t Data
 
An iterator type that allows iterating over the pointees via some other iterator.