Movatterモバイル変換


[0]ホーム

URL:


LLVM 20.0.0git
Public Member Functions |List of all members
llvm::DXContainerObjectWriter Class Referencefinal

#include "llvm/MC/MCDXContainerWriter.h"

Inheritance diagram for llvm::DXContainerObjectWriter:
Inheritance graph
[legend]

Public Member Functions

 DXContainerObjectWriter (std::unique_ptr<MCDXContainerTargetWriter > MOTW,raw_pwrite_stream &OS)
 
void recordRelocation (MCAssembler &Asm,constMCFragment *Fragment,constMCFixup &Fixup,MCValueTarget,uint64_t &FixedValue) override
 Record a relocation entry.
 
uint64_t writeObject (MCAssembler &Asm) override
 Write the object file and returns the number of bytes written.
 
- Public Member Functions inherited fromllvm::MCObjectWriter
 MCObjectWriter (constMCObjectWriter &)=delete
 
MCObjectWriteroperator= (constMCObjectWriter &)=delete
 
virtual ~MCObjectWriter ()
 
virtual void reset ()
 lifetime management
 
virtual void executePostLayoutBinding (MCAssembler &Asm)
 Perform any late binding of symbols (for example, to assign symbol indices for use when generating relocations).
 
bool isSymbolRefDifferenceFullyResolved (constMCAssembler &Asm,constMCSymbolRefExpr *A,constMCSymbolRefExpr *B,bool InSet)const
 Check whether the difference (A - B) between two symbol references is fully resolved.
 
virtualbool isSymbolRefDifferenceFullyResolvedImpl (constMCAssembler &Asm,constMCSymbol &SymA,constMCFragment &FB,bool InSet,bool IsPCRel)const
 
MutableArrayRef< std::pair< std::string, size_t > > getFileNames ()
 
void addFileName (MCAssembler &Asm,StringRef FileName)
 
void setCompilerVersion (StringRef CompilerVers)
 
void emitAddrsigSection ()
 Tell the object writer to emit an address-significance table duringwriteObject().
 
bool getEmitAddrsigSection ()
 
void addAddrsigSymbol (constMCSymbol *Sym)
 Record the given symbol in the address-significance table to be written diringwriteObject().
 
std::vector<constMCSymbol * > & getAddrsigSyms ()
 
SmallVector<CGProfileEntry, 0 > & getCGProfile ()
 
bool getSubsectionsViaSymbols ()const
 
void setSubsectionsViaSymbols (boolValue)
 

Additional Inherited Members

- Protected Member Functions inherited fromllvm::MCObjectWriter
 MCObjectWriter ()=default
 
- Protected Attributes inherited fromllvm::MCObjectWriter
SmallVector< std::pair< std::string, size_t >, 0 > FileNames
 List of declared file names.
 
std::string CompilerVersion
 
std::vector<constMCSymbol * > AddrsigSyms
 
bool EmitAddrsigSection = false
 
bool SubsectionsViaSymbols = false
 
SmallVector<CGProfileEntry, 0 > CGProfile
 

Detailed Description

Definition at line36 of fileMCDXContainerWriter.h.

Constructor & Destructor Documentation

◆ DXContainerObjectWriter()

llvm::DXContainerObjectWriter::DXContainerObjectWriter(std::unique_ptr<MCDXContainerTargetWriterMOTW,
raw_pwrite_streamOS 
)
inline

Definition at line41 of fileMCDXContainerWriter.h.

Member Function Documentation

◆ recordRelocation()

void llvm::DXContainerObjectWriter::recordRelocation(MCAssemblerAsm,
constMCFragmentFragment,
constMCFixupFixup,
MCValue Target,
uint64_tFixedValue 
)
inlineoverridevirtual

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 duringwriteObject().

Implementsllvm::MCObjectWriter.

Definition at line45 of fileMCDXContainerWriter.h.

◆ writeObject()

uint64_t DXContainerObjectWriter::writeObject(MCAssemblerAsm)
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.

Implementsllvm::MCObjectWriter.

Definition at line21 of fileMCDXContainerWriter.cpp.

Referencesllvm::alignTo(),assert(),llvm::VersionTuple::getMajor(),llvm::VersionTuple::getMinor(),llvm::dxbc::ProgramHeader::getVersion(),llvm::sys::IsBigEndianHost,llvm::Offset,llvm::offsetToAlignment(),llvm::support::endian::Writer::OS,llvm::Triple::Pixel,llvm::SmallVectorTemplateBase< T, bool >::push_back(),llvm::SmallVectorBase< Size_T >::size(),Size,llvm::raw_ostream::tell(),llvm::Version,llvm::support::endian::Writer::write(), andllvm::raw_ostream::write_zeros().


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

Generated on Sun Jul 20 2025 16:16:16 for LLVM by doxygen 1.9.6
[8]ページ先頭

©2009-2025 Movatter.jp