LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
llvm::MCSection Class Referenceabstract

#include <MCSection.h>

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

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 
)
inlineprotected

Definition at line 41 of file MCSection.h.

MCSection::~MCSection ( )
virtual

Definition at line 20 of file MCSection.cpp.

Member Function Documentation

SectionKind llvm::MCSection::getKind ( ) const
inline
virtual std::string llvm::MCSection::getLabelBeginName ( ) const
pure virtual
virtual std::string llvm::MCSection::getLabelEndName ( ) const
pure virtual
SectionVariant llvm::MCSection::getVariant ( ) const
inline
virtual bool llvm::MCSection::isBaseAddressKnownZero ( ) const
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().

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

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


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