LLVM 23.0.0git
llvm::DXContainerObjectWriter Class Referencefinal

#include "llvm/MC/MCDXContainerWriter.h"

Inheritance diagram for llvm::DXContainerObjectWriter:
[legend]

Public Member Functions

 DXContainerObjectWriter (std::unique_ptr< MCDXContainerTargetWriter > MOTW, raw_pwrite_stream &OS)
uint64_t writeObject () override
 Write the object file and returns the number of bytes written.
Public Member Functions inherited from llvm::MCDXContainerBaseWriter
 MCDXContainerBaseWriter ()
virtual ~MCDXContainerBaseWriter ()
void write (raw_ostream &OS, const Triple &TT)
Public Member Functions inherited from llvm::MCObjectWriter
 MCObjectWriter (const MCObjectWriter &)=delete
MCObjectWriteroperator= (const MCObjectWriter &)=delete
virtual ~MCObjectWriter ()
virtual void setAssembler (MCAssembler *A)
MCContextgetContext () const
virtual void reset ()
 lifetime management
virtual void executePostLayoutBinding ()
 Perform any late binding of symbols (for example, to assign symbol indices for use when generating relocations).
virtual void recordRelocation (const MCFragment &F, const MCFixup &Fixup, MCValue Target, uint64_t &FixedValue)
 Record a relocation entry.
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)

Protected Member Functions

ArrayRef< MCDXContainerPartcollectParts () override
Protected Member Functions inherited from llvm::MCDXContainerBaseWriter
virtual bool shouldSkipSection (StringRef SectionName, size_t SectionSize)
Protected Member Functions inherited from llvm::MCObjectWriter
 MCObjectWriter ()=default

Additional Inherited Members

Protected Attributes inherited from llvm::MCObjectWriter
MCAssemblerAsm = 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

Detailed Description

Definition at line 65 of file MCDXContainerWriter.h.

Constructor & Destructor Documentation

◆ DXContainerObjectWriter()

llvm::DXContainerObjectWriter::DXContainerObjectWriter ( std::unique_ptr< MCDXContainerTargetWriter > MOTW,
raw_pwrite_stream & OS )
inline

Definition at line 78 of file MCDXContainerWriter.h.

References llvm::little, and llvm::move().

Member Function Documentation

◆ collectParts()

ArrayRef< MCDXContainerPart > DXContainerObjectWriter::collectParts ( )
overrideprotectedvirtual

◆ writeObject()

uint64_t DXContainerObjectWriter::writeObject ( )
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 135 of file MCDXContainerWriter.cpp.

References llvm::MCObjectWriter::getContext(), and llvm::MCDXContainerBaseWriter::write().


The documentation for this class was generated from the following files: