LLVM API Documentation
#include <MCSection.h>
Public Types | |
enum | SectionVariant { SV_COFF = 0, SV_ELF, SV_MachO } |
Public Member Functions | |
virtual | ~MCSection () |
SectionKind | getKind () const |
SectionVariant | getVariant () const |
virtual void | PrintSwitchToSection (const MCAsmInfo &MAI, raw_ostream &OS, const MCExpr *Subsection) const =0 |
virtual std::string | getLabelBeginName () const =0 |
virtual std::string | getLabelEndName () const =0 |
virtual bool | isBaseAddressKnownZero () const |
virtual bool | UseCodeAlign () const =0 |
virtual bool | isVirtualSection () const =0 |
Protected Member Functions | |
MCSection (SectionVariant V, SectionKind K) | |
Protected Attributes | |
SectionVariant | Variant |
SectionKind | Kind |
MCSection - Instances of this class represent a uniqued identifier for a section in the current translation unit. The MCContext class uniques and creates these.
Definition at line 29 of file MCSection.h.
Enumerator | |
---|---|
SV_COFF | |
SV_ELF | |
SV_MachO |
Definition at line 31 of file MCSection.h.
|
inlineprotected |
Definition at line 41 of file MCSection.h.
|
virtual |
Definition at line 20 of file MCSection.cpp.
|
inline |
Definition at line 47 of file MCSection.h.
References Kind.
Referenced by llvm::AsmPrinter::EmitAlignment(), llvm::MCSectionCOFF::PrintSwitchToSection(), and llvm::MCSectionCOFF::UseCodeAlign().
|
pure virtual |
Implemented in llvm::MCSectionMachO, llvm::MCSectionCOFF, llvm::MCSectionELF, and llvm::NVPTXSection.
Referenced by llvm::CompileUnit::emitHeader(), llvm::DwarfUnits::emitUnits(), and SectionSort().
|
pure virtual |
Implemented in llvm::MCSectionMachO, llvm::MCSectionCOFF, llvm::MCSectionELF, and llvm::NVPTXSection.
Referenced by llvm::DwarfUnits::emitUnits().
|
inline |
Definition at line 49 of file MCSection.h.
References Variant.
Referenced by llvm::MCSectionCOFF::classof(), llvm::MCSectionELF::classof(), and llvm::MCSectionMachO::classof().
|
inlinevirtual |
isBaseAddressKnownZero - Return true if we know that this section will get a base address of zero. In cases where we know that this is true we can emit section offsets as direct references to avoid a subtraction from the base of the section, saving a relocation.
Reimplemented in llvm::MCSectionELF, and llvm::NVPTXSection.
Definition at line 64 of file MCSection.h.
Referenced by llvm::AsmPrinter::EmitSectionOffset().
|
pure virtual |
isVirtualSection - Check whether this section is "virtual", that is has no actual object file contents.
Implemented in llvm::MCSectionMachO, llvm::MCSectionCOFF, llvm::MCSectionELF, and llvm::NVPTXSection.
Referenced by llvm::MachObjectWriter::getPaddingSize(), llvm::MCAsmLayout::getSectionFileSize(), llvm::MachObjectWriter::WriteObject(), llvm::MachObjectWriter::WriteSection(), and llvm::MCAssembler::writeSectionData().
|
pure virtual |
Implemented in llvm::MCSectionMachO, llvm::MCSectionCOFF, llvm::MCSectionELF, and llvm::NVPTXSection.
|
pure virtual |
Implemented in llvm::MCSectionMachO, llvm::MCSectionCOFF, llvm::MCSectionELF, and llvm::NVPTXSection.
|
protected |
Definition at line 43 of file MCSection.h.
Referenced by getKind().
|
protected |
Definition at line 42 of file MCSection.h.
Referenced by getVariant().