class MCContext

Declaration

class MCContext { /* full declaration omitted */ };

Description

Context object for machine code objects. This class owns all of the sections that it creates.

Declared at: llvm/include/llvm/MC/MCContext.h:65

Method Overview

  • public MCContext(const llvm::MCContext &)
  • public MCContext(const llvm::MCAsmInfo * MAI, const llvm::MCRegisterInfo * MRI, const llvm::MCObjectFileInfo * MOFI, const llvm::SourceMgr * Mgr = nullptr, const llvm::MCTargetOptions * TargetOpts = nullptr, bool DoAutoReset = true)
  • public void RemapDebugPaths()
  • public void addDebugPrefixMapEntry(const std::string & From, const std::string & To)
  • public bool addGenDwarfSection(llvm::MCSection * Sec)
  • public void addMCGenDwarfLabelEntry(const llvm::MCGenDwarfLabelEntry & E)
  • public void * allocate(unsigned int Size, unsigned int Align = 8)
  • public void clearDwarfLocSeen()
  • public llvm::MCSymbol * createDirectionalLocalSymbol(unsigned int LocalLabelVal)
  • public llvm::MCSectionELF * createELFGroupSection(const llvm::MCSymbolELF * Group)
  • public llvm::MCSectionELF * createELFRelSection(const llvm::Twine & Name, unsigned int Type, unsigned int Flags, unsigned int EntrySize, const llvm::MCSymbolELF * Group, const llvm::MCSectionELF * RelInfoSection)
  • public llvm::MCSymbol * createLinkerPrivateTempSymbol()
  • public llvm::MCSymbol * createTempSymbol(bool CanBeUnnamed = true)
  • public llvm::MCSymbol * createTempSymbol(const llvm::Twine & Name, bool AlwaysAddSuffix, bool CanBeUnnamed = true)
  • public void deallocate(void * Ptr)
  • public void defineMacro(llvm::StringRef Name, llvm::MCAsmMacro Macro)
  • public void finalizeDwarfSections(llvm::MCStreamer & MCOS)
  • public const llvm::MCAsmInfo * getAsmInfo() const
  • public llvm::MCSectionCOFF * getAssociativeCOFFSection(llvm::MCSectionCOFF * Sec, const llvm::MCSymbol * KeySym, unsigned int UniqueID = GenericSectionID)
  • public llvm::MCSectionCOFF * getCOFFSection(llvm::StringRef Section, unsigned int Characteristics, llvm::SectionKind Kind, const char * BeginSymName = nullptr)
  • public llvm::MCSectionCOFF * getCOFFSection(llvm::StringRef Section, unsigned int Characteristics, llvm::SectionKind Kind, llvm::StringRef COMDATSymName, int Selection, unsigned int UniqueID = GenericSectionID, const char * BeginSymName = nullptr)
  • public llvm::CodeViewContext & getCVContext()
  • public llvm::StringRef getCompilationDir() const
  • public const llvm::MCDwarfLoc & getCurrentDwarfLoc()
  • public llvm::MCSymbol * getDirectionalLocalSymbol(unsigned int LocalLabelVal, bool Before)
  • public unsigned int getDwarfCompileUnitID()
  • public llvm::StringRef getDwarfDebugFlags()
  • public llvm::StringRef getDwarfDebugProducer()
  • public Expected<unsigned int> getDwarfFile(llvm::StringRef Directory, llvm::StringRef FileName, unsigned int FileNumber, Optional<MD5::MD5Result> Checksum, Optional<llvm::StringRef> Source, unsigned int CUID)
  • public dwarf::DwarfFormat getDwarfFormat() const
  • public bool getDwarfLocSeen()
  • public uint16_t getDwarfVersion() const
  • public llvm::MCSectionELF * getELFNamedSection(const llvm::Twine & Prefix, const llvm::Twine & Suffix, unsigned int Type, unsigned int Flags, unsigned int EntrySize = 0)
  • public llvm::MCSectionELF * getELFSection(const llvm::Twine & Section, unsigned int Type, unsigned int Flags, unsigned int EntrySize, const llvm::Twine & Group, unsigned int UniqueID)
  • public llvm::MCSectionELF * getELFSection(const llvm::Twine & Section, unsigned int Type, unsigned int Flags, unsigned int EntrySize, const llvm::Twine & Group, unsigned int UniqueID, const llvm::MCSymbolELF * Associated)
  • public llvm::MCSectionELF * getELFSection(const llvm::Twine & Section, unsigned int Type, unsigned int Flags, unsigned int EntrySize, const llvm::MCSymbolELF * Group, unsigned int UniqueID, const llvm::MCSymbolELF * Associated)
  • public llvm::MCSectionELF * getELFSection(const llvm::Twine & Section, unsigned int Type, unsigned int Flags)
  • public llvm::MCSectionELF * getELFSection(const llvm::Twine & Section, unsigned int Type, unsigned int Flags, unsigned int EntrySize, const llvm::Twine & Group)
  • public unsigned int getGenDwarfFileNumber()
  • public bool getGenDwarfForAssembly()
  • public const SetVector<llvm::MCSection *> & getGenDwarfSectionSyms()
  • public llvm::MCSymbol * getInlineAsmLabel(llvm::StringRef Name) const
  • public const SmallVectorImpl<std::string> & getMCDwarfDirs(unsigned int CUID = 0)
  • public const SmallVectorImpl<llvm::MCDwarfFile> & getMCDwarfFiles(unsigned int CUID = 0)
  • public const llvm::MCDwarfLineTable & getMCDwarfLineTable(unsigned int CUID) const
  • public llvm::MCDwarfLineTable & getMCDwarfLineTable(unsigned int CUID)
  • public const std::map<unsigned int, MCDwarfLineTable> & getMCDwarfLineTables() const
  • public const std::vector<MCGenDwarfLabelEntry> & getMCGenDwarfLabelEntries() const
  • public llvm::MCSectionMachO * getMachOSection(llvm::StringRef Segment, llvm::StringRef Section, unsigned int TypeAndAttributes, unsigned int Reserved2, llvm::SectionKind K, const char * BeginSymName = nullptr)
  • public llvm::MCSectionMachO * getMachOSection(llvm::StringRef Segment, llvm::StringRef Section, unsigned int TypeAndAttributes, llvm::SectionKind K, const char * BeginSymName = nullptr)
  • public const std::string & getMainFileName() const
  • public const llvm::MCObjectFileInfo * getObjectFileInfo() const
  • public llvm::MCSymbol * getOrCreateFrameAllocSymbol(llvm::StringRef FuncName, unsigned int Idx)
  • public llvm::MCSymbol * getOrCreateLSDASymbol(llvm::StringRef FuncName)
  • public llvm::MCSymbol * getOrCreateParentFrameOffsetSymbol(llvm::StringRef FuncName)
  • public llvm::MCSymbol * getOrCreateSymbol(const llvm::Twine & Name)
  • public const llvm::MCRegisterInfo * getRegisterInfo() const
  • public llvm::raw_fd_ostream * getSecureLog()
  • public char * getSecureLogFile()
  • public bool getSecureLogUsed()
  • public const llvm::SourceMgr * getSourceManager() const
  • public llvm::MCSubtargetInfo & getSubtargetCopy(const llvm::MCSubtargetInfo & STI)
  • public const llvm::MCContext::SymbolTable & getSymbols() const
  • public llvm::MCSectionWasm * getWasmSection(const llvm::Twine & Section, llvm::SectionKind K, const llvm::MCSymbolWasm * Group, unsigned int UniqueID, const char * BeginSymName)
  • public llvm::MCSectionWasm * getWasmSection(const llvm::Twine & Section, llvm::SectionKind K, const llvm::Twine & Group, unsigned int UniqueID, const char * BeginSymName)
  • public llvm::MCSectionWasm * getWasmSection(const llvm::Twine & Section, llvm::SectionKind K, const llvm::Twine & Group, unsigned int UniqueID)
  • public llvm::MCSectionWasm * getWasmSection(const llvm::Twine & Section, llvm::SectionKind K, const char * BeginSymName)
  • public llvm::MCSectionWasm * getWasmSection(const llvm::Twine & Section, llvm::SectionKind K)
  • public llvm::MCSectionXCOFF * getXCOFFSection(llvm::StringRef Section, XCOFF::StorageMappingClass MappingClass, XCOFF::SymbolType CSectType, XCOFF::StorageClass StorageClass, llvm::SectionKind K, const char * BeginSymName = nullptr)
  • public bool hadError()
  • public bool isDwarfMD5UsageConsistent(unsigned int CUID) const
  • public bool isValidDwarfFileNumber(unsigned int FileNumber, unsigned int CUID = 0)
  • public const llvm::MCAsmMacro * lookupMacro(llvm::StringRef Name)
  • public llvm::MCSymbol * lookupSymbol(const llvm::Twine & Name) const
  • public void registerInlineAsmLabel(llvm::MCSymbol * Sym)
  • public void renameELFSection(llvm::MCSectionELF * Section, llvm::StringRef Name)
  • public void reportError(llvm::SMLoc L, const llvm::Twine & Msg)
  • public void reportFatalError(llvm::SMLoc L, const llvm::Twine & Msg)
  • public void reportWarning(llvm::SMLoc L, const llvm::Twine & Msg)
  • public void reset()
  • public void setAllowTemporaryLabels(bool Value)
  • public void setCompilationDir(llvm::StringRef S)
  • public void setCurrentDwarfLoc(unsigned int FileNum, unsigned int Line, unsigned int Column, unsigned int Flags, unsigned int Isa, unsigned int Discriminator)
  • public void setDwarfCompileUnitID(unsigned int CUIndex)
  • public void setDwarfDebugFlags(llvm::StringRef S)
  • public void setDwarfDebugProducer(llvm::StringRef S)
  • public void setDwarfVersion(uint16_t v)
  • public void setGenDwarfFileNumber(unsigned int FileNumber)
  • public void setGenDwarfForAssembly(bool Value)
  • public void setGenDwarfRootFile(llvm::StringRef FileName, llvm::StringRef Buffer)
  • public void setInlineSourceManager(llvm::SourceMgr * SM)
  • public void setMCLineTableRootFile(unsigned int CUID, llvm::StringRef CompilationDir, llvm::StringRef Filename, Optional<MD5::MD5Result> Checksum, Optional<llvm::StringRef> Source)
  • public void setMainFileName(llvm::StringRef S)
  • public void setSecureLog(std::unique_ptr<raw_fd_ostream> Value)
  • public void setSecureLogUsed(bool Value)
  • public void setSymbolValue(llvm::MCStreamer & Streamer, llvm::StringRef Sym, uint64_t Val)
  • public void setUseNamesOnTempLabels(bool Value)
  • public void undefineMacro(llvm::StringRef Name)
  • public ~MCContext()

Methods

MCContext(const llvm::MCContext&)

Declared at: llvm/include/llvm/MC/MCContext.h:310

Parameters

const llvm::MCContext&

MCContext(const llvm::MCAsmInfo* MAI,
          const llvm::MCRegisterInfo* MRI,
          const llvm::MCObjectFileInfo* MOFI,
          const llvm::SourceMgr* Mgr = nullptr,
          const llvm::MCTargetOptions*
              TargetOpts = nullptr,
          bool DoAutoReset = true)

Declared at: llvm/include/llvm/MC/MCContext.h:305

Parameters

const llvm::MCAsmInfo* MAI
const llvm::MCRegisterInfo* MRI
const llvm::MCObjectFileInfo* MOFI
const llvm::SourceMgr* Mgr = nullptr
const llvm::MCTargetOptions* TargetOpts = nullptr
bool DoAutoReset = true

void RemapDebugPaths()

Declared at: llvm/include/llvm/MC/MCContext.h:536

void addDebugPrefixMapEntry(
    const std::string& From,
    const std::string& To)

Description

Add an entry to the debug prefix map.

Declared at: llvm/include/llvm/MC/MCContext.h:533

Parameters

const std::string& From
const std::string& To

bool addGenDwarfSection(llvm::MCSection* Sec)

Declared at: llvm/include/llvm/MC/MCContext.h:634

Parameters

llvm::MCSection* Sec

void addMCGenDwarfLabelEntry(
    const llvm::MCGenDwarfLabelEntry& E)

Declared at: llvm/include/llvm/MC/MCContext.h:644

Parameters

const llvm::MCGenDwarfLabelEntry& E

void* allocate(unsigned int Size,
               unsigned int Align = 8)

Declared at: llvm/include/llvm/MC/MCContext.h:674

Parameters

unsigned int Size
unsigned int Align = 8

void clearDwarfLocSeen()

Declared at: llvm/include/llvm/MC/MCContext.h:613

llvm::MCSymbol* createDirectionalLocalSymbol(
    unsigned int LocalLabelVal)

Description

Create the definition of a directional local symbol for numbered label (used for "1:" definitions).

Declared at: llvm/include/llvm/MC/MCContext.h:354

Parameters

unsigned int LocalLabelVal

llvm::MCSectionELF* createELFGroupSection(
    const llvm::MCSymbolELF* Group)

Declared at: llvm/include/llvm/MC/MCContext.h:467

Parameters

const llvm::MCSymbolELF* Group

llvm::MCSectionELF* createELFRelSection(
    const llvm::Twine& Name,
    unsigned int Type,
    unsigned int Flags,
    unsigned int EntrySize,
    const llvm::MCSymbolELF* Group,
    const llvm::MCSectionELF* RelInfoSection)

Declared at: llvm/include/llvm/MC/MCContext.h:460

Parameters

const llvm::Twine& Name
unsigned int Type
unsigned int Flags
unsigned int EntrySize
const llvm::MCSymbolELF* Group
const llvm::MCSectionELF* RelInfoSection

llvm::MCSymbol* createLinkerPrivateTempSymbol()

Description

Create and return a new linker temporary symbol with a unique but unspecified name.

Declared at: llvm/include/llvm/MC/MCContext.h:343

llvm::MCSymbol* createTempSymbol(
    bool CanBeUnnamed = true)

Description

Create and return a new assembler temporary symbol with a unique but unspecified name.

Declared at: llvm/include/llvm/MC/MCContext.h:347

Parameters

bool CanBeUnnamed = true

llvm::MCSymbol* createTempSymbol(
    const llvm::Twine& Name,
    bool AlwaysAddSuffix,
    bool CanBeUnnamed = true)

Declared at: llvm/include/llvm/MC/MCContext.h:349

Parameters

const llvm::Twine& Name
bool AlwaysAddSuffix
bool CanBeUnnamed = true

void deallocate(void* Ptr)

Declared at: llvm/include/llvm/MC/MCContext.h:678

Parameters

void* Ptr

void defineMacro(llvm::StringRef Name,
                 llvm::MCAsmMacro Macro)

Declared at: llvm/include/llvm/MC/MCContext.h:694

Parameters

llvm::StringRef Name
llvm::MCAsmMacro Macro

void finalizeDwarfSections(llvm::MCStreamer& MCOS)

Declared at: llvm/include/llvm/MC/MCContext.h:638

Parameters

llvm::MCStreamer& MCOS

const llvm::MCAsmInfo* getAsmInfo() const

Declared at: llvm/include/llvm/MC/MCContext.h:318

llvm::MCSectionCOFF* getAssociativeCOFFSection(
    llvm::MCSectionCOFF* Sec,
    const llvm::MCSymbol* KeySym,
    unsigned int UniqueID = GenericSectionID)

Description

Gets or creates a section equivalent to Sec that is associated with the section containing KeySym. For example, to create a debug info section associated with an inline function, pass the normal debug info section as Sec and the function symbol as KeySym.

Declared at: llvm/include/llvm/MC/MCContext.h:484

Parameters

llvm::MCSectionCOFF* Sec
const llvm::MCSymbol* KeySym
unsigned int UniqueID = GenericSectionID

llvm::MCSectionCOFF* getCOFFSection(
    llvm::StringRef Section,
    unsigned int Characteristics,
    llvm::SectionKind Kind,
    const char* BeginSymName = nullptr)

Declared at: llvm/include/llvm/MC/MCContext.h:475

Parameters

llvm::StringRef Section
unsigned int Characteristics
llvm::SectionKind Kind
const char* BeginSymName = nullptr

llvm::MCSectionCOFF* getCOFFSection(
    llvm::StringRef Section,
    unsigned int Characteristics,
    llvm::SectionKind Kind,
    llvm::StringRef COMDATSymName,
    int Selection,
    unsigned int UniqueID = GenericSectionID,
    const char* BeginSymName = nullptr)

Declared at: llvm/include/llvm/MC/MCContext.h:469

Parameters

llvm::StringRef Section
unsigned int Characteristics
llvm::SectionKind Kind
llvm::StringRef COMDATSymName
int Selection
unsigned int UniqueID = GenericSectionID
const char* BeginSymName = nullptr

llvm::CodeViewContext& getCVContext()

Declared at: llvm/include/llvm/MC/MCContext.h:324

llvm::StringRef getCompilationDir() const

Description

Get the compilation directory for DW_AT_comp_dir The compilation directory should be set with \c setCompilationDir before calling this function. If it is unset, an empty string will be returned.

Declared at: llvm/include/llvm/MC/MCContext.h:527

const llvm::MCDwarfLoc& getCurrentDwarfLoc()

Declared at: llvm/include/llvm/MC/MCContext.h:616

llvm::MCSymbol* getDirectionalLocalSymbol(
    unsigned int LocalLabelVal,
    bool Before)

Description

Create and return a directional local symbol for numbered label (used for "1b" or 1f" references).

Declared at: llvm/include/llvm/MC/MCContext.h:358

Parameters

unsigned int LocalLabelVal
bool Before

unsigned int getDwarfCompileUnitID()

Declared at: llvm/include/llvm/MC/MCContext.h:576

llvm::StringRef getDwarfDebugFlags()

Declared at: llvm/include/llvm/MC/MCContext.h:649

llvm::StringRef getDwarfDebugProducer()

Declared at: llvm/include/llvm/MC/MCContext.h:652

Expected<unsigned int> getDwarfFile(
    llvm::StringRef Directory,
    llvm::StringRef FileName,
    unsigned int FileNumber,
    Optional<MD5::MD5Result> Checksum,
    Optional<llvm::StringRef> Source,
    unsigned int CUID)

Description

Creates an entry in the dwarf file and directory tables.

Declared at: llvm/include/llvm/MC/MCContext.h:547

Parameters

llvm::StringRef Directory
llvm::StringRef FileName
unsigned int FileNumber
Optional<MD5::MD5Result> Checksum
Optional<llvm::StringRef> Source
unsigned int CUID

dwarf::DwarfFormat getDwarfFormat() const

Declared at: llvm/include/llvm/MC/MCContext.h:654

bool getDwarfLocSeen()

Declared at: llvm/include/llvm/MC/MCContext.h:615

uint16_t getDwarfVersion() const

Declared at: llvm/include/llvm/MC/MCContext.h:660

llvm::MCSectionELF* getELFNamedSection(
    const llvm::Twine& Prefix,
    const llvm::Twine& Suffix,
    unsigned int Type,
    unsigned int Flags,
    unsigned int EntrySize = 0)

Description

Get a section with the provided group identifier. This section is named by concatenating \p Prefix with '.' then \p Suffix. The \p Type describes the type of the section and \p Flags are used to further configure this named section.

Declared at: llvm/include/llvm/MC/MCContext.h:456

Parameters

const llvm::Twine& Prefix
const llvm::Twine& Suffix
unsigned int Type
unsigned int Flags
unsigned int EntrySize = 0

llvm::MCSectionELF* getELFSection(
    const llvm::Twine& Section,
    unsigned int Type,
    unsigned int Flags,
    unsigned int EntrySize,
    const llvm::Twine& Group,
    unsigned int UniqueID)

Declared at: llvm/include/llvm/MC/MCContext.h:435

Parameters

const llvm::Twine& Section
unsigned int Type
unsigned int Flags
unsigned int EntrySize
const llvm::Twine& Group
unsigned int UniqueID

llvm::MCSectionELF* getELFSection(
    const llvm::Twine& Section,
    unsigned int Type,
    unsigned int Flags,
    unsigned int EntrySize,
    const llvm::Twine& Group,
    unsigned int UniqueID,
    const llvm::MCSymbolELF* Associated)

Declared at: llvm/include/llvm/MC/MCContext.h:442

Parameters

const llvm::Twine& Section
unsigned int Type
unsigned int Flags
unsigned int EntrySize
const llvm::Twine& Group
unsigned int UniqueID
const llvm::MCSymbolELF* Associated

llvm::MCSectionELF* getELFSection(
    const llvm::Twine& Section,
    unsigned int Type,
    unsigned int Flags,
    unsigned int EntrySize,
    const llvm::MCSymbolELF* Group,
    unsigned int UniqueID,
    const llvm::MCSymbolELF* Associated)

Declared at: llvm/include/llvm/MC/MCContext.h:447

Parameters

const llvm::Twine& Section
unsigned int Type
unsigned int Flags
unsigned int EntrySize
const llvm::MCSymbolELF* Group
unsigned int UniqueID
const llvm::MCSymbolELF* Associated

llvm::MCSectionELF* getELFSection(
    const llvm::Twine& Section,
    unsigned int Type,
    unsigned int Flags)

Declared at: llvm/include/llvm/MC/MCContext.h:424

Parameters

const llvm::Twine& Section
unsigned int Type
unsigned int Flags

llvm::MCSectionELF* getELFSection(
    const llvm::Twine& Section,
    unsigned int Type,
    unsigned int Flags,
    unsigned int EntrySize,
    const llvm::Twine& Group)

Declared at: llvm/include/llvm/MC/MCContext.h:429

Parameters

const llvm::Twine& Section
unsigned int Type
unsigned int Flags
unsigned int EntrySize
const llvm::Twine& Group

unsigned int getGenDwarfFileNumber()

Declared at: llvm/include/llvm/MC/MCContext.h:620

bool getGenDwarfForAssembly()

Declared at: llvm/include/llvm/MC/MCContext.h:618

const SetVector<llvm::MCSection*>&
getGenDwarfSectionSyms()

Declared at: llvm/include/llvm/MC/MCContext.h:630

llvm::MCSymbol* getInlineAsmLabel(
    llvm::StringRef Name) const

Description

isInlineAsmLabel - Return true if the name is a label referenced in inline assembly.

Declared at: llvm/include/llvm/MC/MCContext.h:390

Parameters

llvm::StringRef Name

const SmallVectorImpl<std::string>&
getMCDwarfDirs(unsigned int CUID = 0)

Declared at: llvm/include/llvm/MC/MCContext.h:572

Parameters

unsigned int CUID = 0

const SmallVectorImpl<llvm::MCDwarfFile>&
getMCDwarfFiles(unsigned int CUID = 0)

Declared at: llvm/include/llvm/MC/MCContext.h:568

Parameters

unsigned int CUID = 0

const llvm::MCDwarfLineTable& getMCDwarfLineTable(
    unsigned int CUID) const

Declared at: llvm/include/llvm/MC/MCContext.h:562

Parameters

unsigned int CUID

llvm::MCDwarfLineTable& getMCDwarfLineTable(
    unsigned int CUID)

Declared at: llvm/include/llvm/MC/MCContext.h:558

Parameters

unsigned int CUID

const std::map<unsigned int, MCDwarfLineTable>&
getMCDwarfLineTables() const

Declared at: llvm/include/llvm/MC/MCContext.h:554

const std::vector<MCGenDwarfLabelEntry>&
getMCGenDwarfLabelEntries() const

Declared at: llvm/include/llvm/MC/MCContext.h:640

llvm::MCSectionMachO* getMachOSection(
    llvm::StringRef Segment,
    llvm::StringRef Section,
    unsigned int TypeAndAttributes,
    unsigned int Reserved2,
    llvm::SectionKind K,
    const char* BeginSymName = nullptr)

Description

Return the MCSection for the specified mach-o section. This requires the operands to be valid.

Declared at: llvm/include/llvm/MC/MCContext.h:412

Parameters

llvm::StringRef Segment
llvm::StringRef Section
unsigned int TypeAndAttributes
unsigned int Reserved2
llvm::SectionKind K
const char* BeginSymName = nullptr

llvm::MCSectionMachO* getMachOSection(
    llvm::StringRef Segment,
    llvm::StringRef Section,
    unsigned int TypeAndAttributes,
    llvm::SectionKind K,
    const char* BeginSymName = nullptr)

Declared at: llvm/include/llvm/MC/MCContext.h:417

Parameters

llvm::StringRef Segment
llvm::StringRef Section
unsigned int TypeAndAttributes
llvm::SectionKind K
const char* BeginSymName = nullptr

const std::string& getMainFileName() const

Description

Get the main file name for use in error messages and debug info. This can be set to ensure we've got the correct file name after preprocessing or for -save-temps.

Declared at: llvm/include/llvm/MC/MCContext.h:541

const llvm::MCObjectFileInfo* getObjectFileInfo()
    const

Declared at: llvm/include/llvm/MC/MCContext.h:322

llvm::MCSymbol* getOrCreateFrameAllocSymbol(
    llvm::StringRef FuncName,
    unsigned int Idx)

Description

Gets a symbol that will be defined to the final stack offset of a local variable after codegen.

Declared at: llvm/include/llvm/MC/MCContext.h:370

Parameters

llvm::StringRef FuncName
unsigned int Idx
- The index of a local variable passed to @ llvm.localescape.

llvm::MCSymbol* getOrCreateLSDASymbol(
    llvm::StringRef FuncName)

Declared at: llvm/include/llvm/MC/MCContext.h:374

Parameters

llvm::StringRef FuncName

llvm::MCSymbol*
getOrCreateParentFrameOffsetSymbol(
    llvm::StringRef FuncName)

Declared at: llvm/include/llvm/MC/MCContext.h:372

Parameters

llvm::StringRef FuncName

llvm::MCSymbol* getOrCreateSymbol(
    const llvm::Twine& Name)

Description

Lookup the symbol inside with the specified \p Name. If it exists, return it. If not, create a forward reference and return it.

Declared at: llvm/include/llvm/MC/MCContext.h:364

Parameters

const llvm::Twine& Name
- The symbol name, which must be unique across all symbols.

const llvm::MCRegisterInfo* getRegisterInfo()
    const

Declared at: llvm/include/llvm/MC/MCContext.h:320

llvm::raw_fd_ostream* getSecureLog()

Declared at: llvm/include/llvm/MC/MCContext.h:665

char* getSecureLogFile()

Description

@ }

Declared at: llvm/include/llvm/MC/MCContext.h:664

bool getSecureLogUsed()

Declared at: llvm/include/llvm/MC/MCContext.h:671

const llvm::SourceMgr* getSourceManager() const

Declared at: llvm/include/llvm/MC/MCContext.h:314

llvm::MCSubtargetInfo& getSubtargetCopy(
    const llvm::MCSubtargetInfo& STI)

Declared at: llvm/include/llvm/MC/MCContext.h:517

Parameters

const llvm::MCSubtargetInfo& STI

const llvm::MCContext::SymbolTable& getSymbols()
    const

Description

getSymbols - Get a reference for the symbol table for clients that want to, for example, iterate over all symbols. 'const' because we still want any modifications to the table itself to use the MCContext APIs.

Declared at: llvm/include/llvm/MC/MCContext.h:386

llvm::MCSectionWasm* getWasmSection(
    const llvm::Twine& Section,
    llvm::SectionKind K,
    const llvm::MCSymbolWasm* Group,
    unsigned int UniqueID,
    const char* BeginSymName)

Declared at: llvm/include/llvm/MC/MCContext.h:505

Parameters

const llvm::Twine& Section
llvm::SectionKind K
const llvm::MCSymbolWasm* Group
unsigned int UniqueID
const char* BeginSymName

llvm::MCSectionWasm* getWasmSection(
    const llvm::Twine& Section,
    llvm::SectionKind K,
    const llvm::Twine& Group,
    unsigned int UniqueID,
    const char* BeginSymName)

Declared at: llvm/include/llvm/MC/MCContext.h:501

Parameters

const llvm::Twine& Section
llvm::SectionKind K
const llvm::Twine& Group
unsigned int UniqueID
const char* BeginSymName

llvm::MCSectionWasm* getWasmSection(
    const llvm::Twine& Section,
    llvm::SectionKind K,
    const llvm::Twine& Group,
    unsigned int UniqueID)

Declared at: llvm/include/llvm/MC/MCContext.h:496

Parameters

const llvm::Twine& Section
llvm::SectionKind K
const llvm::Twine& Group
unsigned int UniqueID

llvm::MCSectionWasm* getWasmSection(
    const llvm::Twine& Section,
    llvm::SectionKind K,
    const char* BeginSymName)

Declared at: llvm/include/llvm/MC/MCContext.h:491

Parameters

const llvm::Twine& Section
llvm::SectionKind K
const char* BeginSymName

llvm::MCSectionWasm* getWasmSection(
    const llvm::Twine& Section,
    llvm::SectionKind K)

Declared at: llvm/include/llvm/MC/MCContext.h:487

Parameters

const llvm::Twine& Section
llvm::SectionKind K

llvm::MCSectionXCOFF* getXCOFFSection(
    llvm::StringRef Section,
    XCOFF::StorageMappingClass MappingClass,
    XCOFF::SymbolType CSectType,
    XCOFF::StorageClass StorageClass,
    llvm::SectionKind K,
    const char* BeginSymName = nullptr)

Declared at: llvm/include/llvm/MC/MCContext.h:509

Parameters

llvm::StringRef Section
XCOFF::StorageMappingClass MappingClass
XCOFF::SymbolType CSectType
XCOFF::StorageClass StorageClass
llvm::SectionKind K
const char* BeginSymName = nullptr

bool hadError()

Declared at: llvm/include/llvm/MC/MCContext.h:680

bool isDwarfMD5UsageConsistent(
    unsigned int CUID) const

Description

Reports whether MD5 checksum usage is consistent (all-or-none).

Declared at: llvm/include/llvm/MC/MCContext.h:593

Parameters

unsigned int CUID

bool isValidDwarfFileNumber(
    unsigned int FileNumber,
    unsigned int CUID = 0)

Declared at: llvm/include/llvm/MC/MCContext.h:552

Parameters

unsigned int FileNumber
unsigned int CUID = 0

const llvm::MCAsmMacro* lookupMacro(
    llvm::StringRef Name)

Declared at: llvm/include/llvm/MC/MCContext.h:689

Parameters

llvm::StringRef Name

llvm::MCSymbol* lookupSymbol(
    const llvm::Twine& Name) const

Description

Get the symbol for \p Name, or null.

Declared at: llvm/include/llvm/MC/MCContext.h:377

Parameters

const llvm::Twine& Name

void registerInlineAsmLabel(llvm::MCSymbol* Sym)

Description

registerInlineAsmLabel - Records that the name is a label referenced in inline assembly.

Declared at: llvm/include/llvm/MC/MCContext.h:396

Parameters

llvm::MCSymbol* Sym

void renameELFSection(llvm::MCSectionELF* Section,
                      llvm::StringRef Name)

Declared at: llvm/include/llvm/MC/MCContext.h:465

Parameters

llvm::MCSectionELF* Section
llvm::StringRef Name

void reportError(llvm::SMLoc L,
                 const llvm::Twine& Msg)

Declared at: llvm/include/llvm/MC/MCContext.h:681

Parameters

llvm::SMLoc L
const llvm::Twine& Msg

void reportFatalError(llvm::SMLoc L,
                      const llvm::Twine& Msg)

Declared at: llvm/include/llvm/MC/MCContext.h:686

Parameters

llvm::SMLoc L
const llvm::Twine& Msg

void reportWarning(llvm::SMLoc L,
                   const llvm::Twine& Msg)

Declared at: llvm/include/llvm/MC/MCContext.h:682

Parameters

llvm::SMLoc L
const llvm::Twine& Msg

void reset()

Description

reset - return object to right after construction state to prepare to process a new module

Declared at: llvm/include/llvm/MC/MCContext.h:334

void setAllowTemporaryLabels(bool Value)

Declared at: llvm/include/llvm/MC/MCContext.h:326

Parameters

bool Value

void setCompilationDir(llvm::StringRef S)

Description

Set the compilation directory for DW_AT_comp_dir

Declared at: llvm/include/llvm/MC/MCContext.h:530

Parameters

llvm::StringRef S

void setCurrentDwarfLoc(
    unsigned int FileNum,
    unsigned int Line,
    unsigned int Column,
    unsigned int Flags,
    unsigned int Isa,
    unsigned int Discriminator)

Description

Saves the information from the currently parsed dwarf .loc directive and sets DwarfLocSeen. When the next instruction is assembled an entry in the line number table with this information and the address of the instruction will be created.

Declared at: llvm/include/llvm/MC/MCContext.h:601

Parameters

unsigned int FileNum
unsigned int Line
unsigned int Column
unsigned int Flags
unsigned int Isa
unsigned int Discriminator

void setDwarfCompileUnitID(unsigned int CUIndex)

Declared at: llvm/include/llvm/MC/MCContext.h:578

Parameters

unsigned int CUIndex

void setDwarfDebugFlags(llvm::StringRef S)

Declared at: llvm/include/llvm/MC/MCContext.h:648

Parameters

llvm::StringRef S

void setDwarfDebugProducer(llvm::StringRef S)

Declared at: llvm/include/llvm/MC/MCContext.h:651

Parameters

llvm::StringRef S

void setDwarfVersion(uint16_t v)

Declared at: llvm/include/llvm/MC/MCContext.h:659

Parameters

uint16_t v

void setGenDwarfFileNumber(
    unsigned int FileNumber)

Declared at: llvm/include/llvm/MC/MCContext.h:622

Parameters

unsigned int FileNumber

void setGenDwarfForAssembly(bool Value)

Declared at: llvm/include/llvm/MC/MCContext.h:619

Parameters

bool Value

void setGenDwarfRootFile(llvm::StringRef FileName,
                         llvm::StringRef Buffer)

Description

Specifies information about the "root file" for assembler clients (e.g., llvm-mc). Assumes compilation dir etc. have been set up.

Declared at: llvm/include/llvm/MC/MCContext.h:628

Parameters

llvm::StringRef FileName
llvm::StringRef Buffer

void setInlineSourceManager(llvm::SourceMgr* SM)

Declared at: llvm/include/llvm/MC/MCContext.h:316

Parameters

llvm::SourceMgr* SM

void setMCLineTableRootFile(
    unsigned int CUID,
    llvm::StringRef CompilationDir,
    llvm::StringRef Filename,
    Optional<MD5::MD5Result> Checksum,
    Optional<llvm::StringRef> Source)

Description

Specifies the "root" file and directory of the compilation unit. These are "file 0" and "directory 0" in DWARF v5.

Declared at: llvm/include/llvm/MC/MCContext.h:584

Parameters

unsigned int CUID
llvm::StringRef CompilationDir
llvm::StringRef Filename
Optional<MD5::MD5Result> Checksum
Optional<llvm::StringRef> Source

void setMainFileName(llvm::StringRef S)

Description

Set the main file name and override the default.

Declared at: llvm/include/llvm/MC/MCContext.h:544

Parameters

llvm::StringRef S

void setSecureLog(
    std::unique_ptr<raw_fd_ostream> Value)

Declared at: llvm/include/llvm/MC/MCContext.h:667

Parameters

std::unique_ptr<raw_fd_ostream> Value

void setSecureLogUsed(bool Value)

Declared at: llvm/include/llvm/MC/MCContext.h:672

Parameters

bool Value

void setSymbolValue(llvm::MCStreamer& Streamer,
                    llvm::StringRef Sym,
                    uint64_t Val)

Description

Set value for a symbol.

Declared at: llvm/include/llvm/MC/MCContext.h:380

Parameters

llvm::MCStreamer& Streamer
llvm::StringRef Sym
uint64_t Val

void setUseNamesOnTempLabels(bool Value)

Declared at: llvm/include/llvm/MC/MCContext.h:327

Parameters

bool Value

void undefineMacro(llvm::StringRef Name)

Declared at: llvm/include/llvm/MC/MCContext.h:698

Parameters

llvm::StringRef Name

~MCContext()

Declared at: llvm/include/llvm/MC/MCContext.h:312