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.
Definition at line 31 of file MCSection.h.
llvm::MCSection::MCSection | ( | SectionVariant | V, |
SectionKind | K | ||
) | [inline, protected] |
Definition at line 41 of file MCSection.h.
MCSection::~MCSection | ( | ) | [virtual] |
Definition at line 20 of file MCSection.cpp.
SectionKind llvm::MCSection::getKind | ( | ) | const [inline] |
Definition at line 47 of file MCSection.h.
References Kind.
Referenced by llvm::AsmPrinter::EmitAlignment(), llvm::MCContext::getAssociativeCOFFSection(), llvm::TargetLoweringObjectFileMachO::isSectionAtomizableBySymbols(), llvm::MCSectionCOFF::PrintSwitchToSection(), and llvm::MCSectionCOFF::UseCodeAlign().
virtual std::string llvm::MCSection::getLabelBeginName | ( | ) | const [pure virtual] |
Implemented in llvm::MCSectionELF, llvm::MCSectionCOFF, llvm::MCSectionMachO, and llvm::NVPTXSection.
Referenced by llvm::DwarfUnit::initSection(), llvm::DwarfTypeUnit::initSection(), and SectionSort().
virtual std::string llvm::MCSection::getLabelEndName | ( | ) | const [pure virtual] |
Implemented in llvm::MCSectionELF, llvm::MCSectionCOFF, llvm::MCSectionMachO, and llvm::NVPTXSection.
Referenced by llvm::DwarfUnit::initSection(), and llvm::DwarfTypeUnit::initSection().
SectionVariant llvm::MCSection::getVariant | ( | ) | const [inline] |
Definition at line 49 of file MCSection.h.
References Variant.
Referenced by llvm::MCWinCOFFStreamer::BeginCOFFSymbolDef(), llvm::MCSectionCOFF::classof(), llvm::MCSectionELF::classof(), llvm::MCSectionMachO::classof(), llvm::MCWinCOFFStreamer::EmitCommonSymbol(), and llvm::MCWinCOFFStreamer::EmitSymbolAttribute().
virtual bool llvm::MCSection::isBaseAddressKnownZero | ( | ) | const [inline, virtual] |
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().
virtual bool llvm::MCSection::isVirtualSection | ( | ) | const [pure virtual] |
isVirtualSection - Check whether this section is "virtual", that is has no actual object file contents.
Implemented in llvm::MCSectionMachO, llvm::MCSectionELF, llvm::MCSectionCOFF, and llvm::NVPTXSection.
Referenced by llvm::MachObjectWriter::getPaddingSize(), llvm::MCAsmLayout::getSectionFileSize(), llvm::MachObjectWriter::WriteObject(), llvm::MachObjectWriter::WriteSection(), and llvm::MCAssembler::writeSectionData().
virtual void llvm::MCSection::PrintSwitchToSection | ( | const MCAsmInfo & | MAI, |
raw_ostream & | OS, | ||
const MCExpr * | Subsection | ||
) | const [pure virtual] |
Implemented in llvm::MCSectionMachO, llvm::MCSectionELF, llvm::MCSectionCOFF, and llvm::NVPTXSection.
virtual bool llvm::MCSection::UseCodeAlign | ( | ) | const [pure virtual] |
Implemented in llvm::MCSectionMachO, llvm::MCSectionELF, llvm::MCSectionCOFF, and llvm::NVPTXSection.
SectionKind llvm::MCSection::Kind [protected] |
Definition at line 43 of file MCSection.h.
Referenced by getKind().
SectionVariant llvm::MCSection::Variant [protected] |
Definition at line 42 of file MCSection.h.
Referenced by getVariant().