LLVM API Documentation

Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
llvm::MCSection Class Reference

#include <MCSection.h>

Inheritance diagram for llvm::MCSection:
Inheritance graph
[legend]
Collaboration diagram for llvm::MCSection:
Collaboration graph
[legend]

List of all members.

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

Detailed Description

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.


Member Enumeration Documentation

Enumerator:
SV_COFF 
SV_ELF 
SV_MachO 

Definition at line 31 of file MCSection.h.


Constructor & Destructor Documentation

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.


Member Function Documentation

virtual std::string llvm::MCSection::getLabelBeginName ( ) const [pure virtual]
virtual std::string llvm::MCSection::getLabelEndName ( ) const [pure virtual]
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]
virtual void llvm::MCSection::PrintSwitchToSection ( const MCAsmInfo MAI,
raw_ostream OS,
const MCExpr Subsection 
) const [pure virtual]
virtual bool llvm::MCSection::UseCodeAlign ( ) const [pure virtual]

Member Data Documentation

Definition at line 43 of file MCSection.h.

Referenced by getKind().

Definition at line 42 of file MCSection.h.

Referenced by getVariant().


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