LLVM: include/llvm/MC/MCSectionELF.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13#ifndef LLVM_MC_MCSECTIONELF_H

14#define LLVM_MC_MCSECTIONELF_H

15

22

23namespace llvm {

24

25

26

28

29 unsigned Type;

30

31

32 unsigned Flags;

33

34 unsigned UniqueID;

35

36

37

38

39 unsigned EntrySize;

40

41

42

44

45

46

48

49

52

53private:

55

56

58 unsigned entrySize, const MCSymbolELF *group, bool IsComdat,

59 unsigned UniqueID, MCSymbol *Begin,

62 type == ELF::SHT_NOBITS, Begin),

63 Type(type), Flags(flags), UniqueID(UniqueID), EntrySize(entrySize),

64 Group(group, IsComdat), LinkedToSym(LinkedToSym) {

66 "Group section without signature!");

69 }

70

71

72

74

75public:

76

77

79

81 unsigned getFlags() const { return Flags; }

86

89 uint32_t Subsection) const override;

92

95

98 }

100

102 StartOffset = Start;

103 EndOffset = End;

104 }

105 std::pair<uint64_t, uint64_t> getOffsets() const {

106 return std::make_pair(StartOffset, EndOffset);

107 }

108

111 }

112};

113

114}

115

116#endif

This file defines the PointerIntPair class.

assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())

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.