LLVM: lib/DWARFLinker/Parallel/DWARFEmitterImpl.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9#ifndef LLVM_LIB_DWARFLINKER_PARALLEL_DWARFEMITTERIMPL_H

10#define LLVM_LIB_DWARFLINKER_PARALLEL_DWARFEMITTERIMPL_H

11

26

27namespace llvm {

28

29

30

31

32

33

34

35

36

37template class AccelTable;

39

42

45

46

47

48

50public:

53 : OutFile(OutFile), OutFileType(OutFileType) {}

54

55

57

58

60

61

62 void finish() { MS->finish(); }

63

64

66 unsigned DwarfVersion);

67

68

70

71

73

74

76

77

81

82

84

85

87

88

90

91

93

94private:

95

96

97

98

99

100 template

104

105

106

107 std::unique_ptr MRI;

108 std::unique_ptr MAI;

109 std::unique_ptr MOFI;

110 std::unique_ptr MC;

112 std::unique_ptr MII;

113 std::unique_ptr MSTI;

114 std::unique_ptr MIP;

116 MCStreamer *MS;

117 std::unique_ptr TM;

118 std::unique_ptr Asm;

119

120

121

125

126 uint64_t DebugInfoSectionSize = 0;

127};

128

129}

130}

131}

132

133#endif

unsigned const MachineRegisterInfo * MRI

This file contains support for writing accelerator tables.

This class holds an abstract representation of an Accelerator Table, consisting of a sequence of buck...

A structured debug information entry.

Lightweight error class with error context and mandatory checking.

Generic interface to target specific assembler backends.

MCCodeEmitter - Generic instruction encoding interface.

Instances of this class represent a uniqued identifier for a section in the current translation unit.

Streaming machine code generation interface.

This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.

StringRef - Represent a constant reference to a string, i.e.

Triple - Helper class for working with autoconf configuration names.

OutputFileType

Type of output file.

This class is a simple list of T structures.

const Triple & getTargetTriple()

Returns triple of output stream.

Definition DWARFEmitterImpl.h:59

void emitCompileUnitHeader(DwarfUnit &Unit)

Emit compile unit header.

Error init(Triple TheTriple, StringRef Swift5ReflectionSegmentName)

Initialize AsmPrinter data.

void emitAppleNames(AccelTable< AppleAccelTableStaticOffsetData > &Table)

Emits .apple_names section according to the specified Table.

uint64_t getDebugInfoSectionSize() const

Returns size of generated .debug_info section.

Definition DWARFEmitterImpl.h:75

void emitAbbrevs(const SmallVector< std::unique_ptr< DIEAbbrev > > &Abbrevs, unsigned DwarfVersion)

Emit abbreviations.

DwarfEmitterImpl(DWARFLinker::OutputFileType OutFileType, raw_pwrite_stream &OutFile)

Definition DWARFEmitterImpl.h:51

void emitAppleTypes(AccelTable< AppleAccelTableStaticTypeData > &Table)

Emits .apple_types section according to the specified Table.

void emitDIE(DIE &Die)

Emit DIE recursively.

void emitAppleNamespaces(AccelTable< AppleAccelTableStaticOffsetData > &Table)

Emits .apple_namespaces section according to the specified Table.

void emitDebugNames(DWARF5AccelTable &Table, DebugNamesUnitsOffsets &CUOffsets, CompUnitIDToIdx &UnitIDToIdxMap)

Emits .debug_names section according to the specified Table.

void emitAppleObjc(AccelTable< AppleAccelTableStaticOffsetData > &Table)

Emits .apple_objc section according to the specified Table.

void finish()

Dump the file to the disk.

Definition DWARFEmitterImpl.h:62

Base class for all Dwarf units(Compile unit/Type table unit).

This class creates a DwarfStringPoolEntry for the corresponding StringEntry.

An abstract base class for streams implementations that also support a pwrite operation.

std::vector< std::variant< MCSymbol *, uint64_t > > DebugNamesUnitsOffsets

Definition DWARFEmitterImpl.h:43

DenseMap< unsigned, unsigned > CompUnitIDToIdx

Definition DWARFEmitterImpl.h:44

This is an optimization pass for GlobalISel generic memory operations.