13#ifndef LLVM_MC_MCSECTIONELF_H
14#define LLVM_MC_MCSECTIONELF_H
58 unsigned entrySize,
const MCSymbolELF *group,
bool IsComdat,
62 type == ELF::SHT_NOBITS, Begin),
63 Type(type), Flags(flags), UniqueID(UniqueID), EntrySize(entrySize),
64 Group(group, IsComdat), LinkedToSym(LinkedToSym) {
104 return std::make_pair(StartOffset, EndOffset);
This file defines the PointerIntPair class.
This class is intended to be used as a base class for asm properties and features specific to the tar...
Context object for machine code objects.
This represents a section on linux, lots of unix variants and some bare metal systems.
static bool classof(const MCSection *S)
const MCSection * getLinkedToSection() const
unsigned getFlags() const
void printSwitchToSection(const MCAsmInfo &MAI, const Triple &T, raw_ostream &OS, uint32_t Subsection) const override
unsigned getUniqueID() const
void setOffsets(uint64_t Start, uint64_t End)
void setFlags(unsigned F)
const MCSymbol * getLinkedToSymbol() const
std::pair< uint64_t, uint64_t > getOffsets() const
StringRef getVirtualSectionKind() const override
bool shouldOmitSectionDirective(StringRef Name, const MCAsmInfo &MAI) const
Decides whether a '.section' directive should be printed before the section name.
bool useCodeAlign() const override
Return true if a .align directive should use "optimized nops" to fill instead of 0s.
const MCSymbolELF * getGroup() const
unsigned getEntrySize() const
Instances of this class represent a uniqued identifier for a section in the current translation unit.
SectionVariant getVariant() const
static constexpr unsigned NonUniqueID
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
MCSection & getSection() const
Get the section associated with a defined, non-absolute symbol.
PointerIntPair - This class implements a pair of a pointer and small integer.
PointerTy getPointer() const
StringRef - Represent a constant reference to a string, i.e.
Triple - Helper class for working with autoconf configuration names.
The instances of the Type class are immutable: once they are created, they are never changed.
This class implements an extremely fast bulk output stream that can only output to a stream.
This is an optimization pass for GlobalISel generic memory operations.