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

1

2

3

4

5

6

7

8

9

10

11

12

13#ifndef LLVM_MC_MCOBJECTFILEINFO_H

14#define LLVM_MC_MCOBJECTFILEINFO_H

15

20

21#include

22#include

23

24namespace llvm {

25class MCContext;

26class MCSection;

27

29protected:

30

31

33

34

35

37

38

39

40

42

43

44

45

46

48

49

51

52

54

55

57

58

60

61

62

63

64

66

67

68

70

71

72

73

75

76

77

79

80

81

95

96

98

99

100

101

102

108

109

119

120

123

125

127

128

131

132

135

136

138

140

141

143

147

148

149

150

151

153

154

156

157

158

159

161

162

164

165

167

168

170

171

172

173

175

176

178

179

182

183

185

186

192

193

194

195

196

197

198

200

201

202

204

221

222

231

232

238

239

243

244

245 std::array<MCSection *, binaryformat::Swift5ReflectionSectionKind::last>

247

248public:

250 bool LargeCodeModel = false);

253

256 }

259 }

262 }

263

265

268 }

269

281 return getDwarfComdatSection(".debug_info", Hash);

282 }

290 }

293 }

296 }

305

308 }

311 }

315 }

318 }

321 return getDwarfComdatSection(".debug_types", Hash);

322 }

333 }

336 }

340 }

344

347 }

350 }

353 }

354

358

362

364

366

368

370

372

374

376

377

381 }

384 }

387 }

390 }

391

392

396 }

402 }

407 }

412 }

415 }

418 }

421 }

424 }

427 }

429

430

439

440

446

447

449

451

453

454

457 return ReflSectionKind !=

460 : nullptr;

461 }

462

463private:

464 bool PositionIndependent = false;

466

467 void initMachOMCObjectFileInfo(const Triple &T);

468 void initELFMCObjectFileInfo(const Triple &T, bool Large);

469 void initGOFFMCObjectFileInfo(const Triple &T);

470 void initCOFFMCObjectFileInfo(const Triple &T);

471 void initSPIRVMCObjectFileInfo(const Triple &T);

472 void initWasmMCObjectFileInfo(const Triple &T);

473 void initXCOFFMCObjectFileInfo(const Triple &T);

474 void initDXContainerObjectFileInfo(const Triple &T);

476};

477

478}

479

480#endif

PassInstrumentationCallbacks PIC

Defines the llvm::VersionTuple class, which represents a version in the form major[....

Context object for machine code objects.

MCSection * getTLSBSSSection() const

MCSection * getDataRelROSection() const

MCSection * NonLazySymbolPointerSection

MCSection * TLSBSSSection

Section directive for Thread Local uninitialized data.

MCSection * DwarfDebugNamesSection

Accelerator table sections.

MCSection * DwarfAddrSection

const MCSection * TLSThreadInitSection

Section for thread local data initialization functions.

MCSection * GEHContSection

MCSection * DwarfStrOffSection

The DWARF v5 string offset and address table sections.

MCSection * getDwarfLoclistsSection() const

MCSection * DwarfARangesSection

MCSection * getDwarfAccelTypesSection() const

MCSection * DwarfStrSection

MCSection * MergeableConst16Section

const MCSection * getMergeableConst4Section() const

MCSection * COFFGlobalTypeHashesSection

const MCSection * getMergeableConst16Section() const

MCSection * DwarfLocDWOSection

const MCSection * getMergeableConst32Section() const

MCSection * MergeableConst4Section

MCSection * DwarfMacinfoSection

MCSection * DwarfPubNamesSection

MCSection * DwarfGnuPubTypesSection

Section for newer gnu pubtypes.

MCSection * getLLVMStatsSection() const

MCSection * DwarfCUIndexSection

MCSection * TextSection

Section directive for standard text.

MCSection * getDwarfGnuPubNamesSection() const

MCSection * ConstDataCoalSection

MCSection * getDwarfStrOffDWOSection() const

MCSection * LLVMStatsSection

MCSection * ConstTextCoalSection

MCSection * getAddrSigSection() const

MCSection * TLSDataSection

Section directive for Thread Local data. ELF, MachO, COFF, and Wasm.

const MCSection * getTLSTLVSection() const

MCSection * MergeableConst8Section

MCSection * AddrSigSection

MCSection * getEHFrameSection() const

MCSection * getDwarfRangesSection() const

MCSection * getADASection() const

MCSection * getPDataSection() const

MCSection * DwarfInfoSection

MCSection * ThreadLocalPointerSection

MCSection * getDwarfInfoSection(uint64_t Hash) const

MCSection * getDwarfAccelNamespaceSection() const

MCSection * LSDASection

If exception handling is supported by the target, this is the section the Language Specific Data Area...

MCSection * getFaultMapSection() const

MCSection * CompactUnwindSection

If exception handling is supported by the target and the target can support a compact representation ...

MCSection * getDwarfLineDWOSection() const

bool getSupportsWeakOmittedEHFrame() const

MCSection * COFFDebugSymbolsSection

MCSection * getDwarfStrOffSection() const

MCSection * getDwarfInfoDWOSection() const

const MCSection * getConstTextCoalSection() const

MCSection * getGEHContSection() const

MCSection * DwarfStrDWOSection

MCSection * getPseudoProbeDescSection(StringRef FuncName) const

std::array< MCSection *, binaryformat::Swift5ReflectionSectionKind::last > Swift5ReflectionSections

MCSection * getDwarfTypesDWOSection() const

MCSection * DwarfLoclistsSection

The DWARF v5 locations list section.

MCSection * getDwarfPubNamesSection() const

bool getSupportsCompactUnwindWithoutEHFrame() const

MCSection * getDwarfMacroSection() const

MCSection * ReadOnly16Section

MCSection * getSXDataSection() const

MCSection * getTextCoalSection() const

MCSection * DwarfLocSection

MCSection * PseudoProbeSection

Section for pseudo probe information used by AutoFDO.

MCSection * getDwarfStrSection() const

MCSection * getDwarfLineStrSection() const

unsigned getCompactUnwindDwarfEHFrameOnly() const

MCSection * FourByteConstantSection

MCSection * DwarfAccelNamesSection

MCSection * getGFIDsSection() const

MCSection * ReadOnly8Section

MCSection * getStackSizesSection(const MCSection &TextSec) const

MCSection * getDwarfLoclistsDWOSection() const

const MCSection * getConstDataSection() const

const MCSection * getDataCoalSection() const

MCSection * DwarfRnglistsSection

The DWARF v5 range list section.

const MCSection * DwarfDebugInlineSection

MCSection * getBSSSection() const

MCSection * DataBSSSection

MCSection * DwarfAbbrevDWOSection

MCSection * getBBAddrMapSection(const MCSection &TextSec) const

MCSection * COFFDebugTypesSection

MCSection * getDwarfTUIndexSection() const

MCSection * getDwarfDebugNamesSection() const

MCSection * getRemarksSection() const

const MCSection * getConstDataCoalSection() const

MCSection * getDwarfMacinfoDWOSection() const

MCSection * LazySymbolPointerSection

MCSection * getDrectveSection() const

MCSection * getSwift5ReflectionSection(llvm::binaryformat::Swift5ReflectionSectionKind ReflSectionKind)

MCSection * RemarksSection

Remarks section.

MCSection * getLazySymbolPointerSection() const

MCSection * getDwarfRnglistsSection() const

MCSection * getPseudoProbeSection(const MCSection &TextSec) const

MCSection * TextCoalSection

MCSection * getDwarfAddrSection() const

MCSection * PseudoProbeDescSection

MCSection * DwarfPubTypesSection

MCSection * DwarfRangesSection

MCSection * DwarfStrOffDWOSection

MCSection * TLSExtraDataSection

Extra TLS Variable Data section.

MCSection * getDwarfLineSection() const

MCSection * getDwarfInfoSection() const

MCSection * getDwarfFrameSection() const

MCSection * DataRelROSection

MCSection * getTLSExtraDataSection() const

const MCSection * getEightByteConstantSection() const

MCSection * EHFrameSection

EH frame section.

bool OmitDwarfIfHaveCompactUnwind

OmitDwarfIfHaveCompactUnwind - True if the target object file supports having some functions with com...

MCSection * CStringSection

const MCSection * getTLSThreadInitSection() const

MCSection * DrectveSection

COFF specific sections.

MCSection * getPPA2ListSection() const

MCSection * FaultMapSection

FaultMap section.

MCSection * getKCFITrapSection(const MCSection &TextSec) const

MCSection * DwarfAccelObjCSection

MCSection * TLSTLVSection

Section for thread local structure information.

MCSection * getLSDASection() const

MCSection * DwarfSwiftASTSection

MCSection * getDwarfPubTypesSection() const

bool isPositionIndependent() const

MCSection * DwarfMacroSection

unsigned getFDEEncoding() const

const MCSection * getDwarfDebugInlineSection() const

void initMCObjectFileInfo(MCContext &MCCtx, bool PIC, bool LargeCodeModel=false)

MCSection * getDwarfTypesSection(uint64_t Hash) const

MCSection * getDwarfGnuPubTypesSection() const

MCSection * getPPA1Section() const

MCSection * DataCoalSection

MCSection * DwarfFrameSection

MCSection * SXDataSection

MCSection * UStringSection

const MCSection * getMergeableConst8Section() const

MCSection * DwarfRnglistsDWOSection

The DWARF v5 range and location list sections for fission.

MCSection * getDwarfStrDWOSection() const

MCSection * ImportCallSection

If import call optimization is supported by the target, this is the section to emit import call data ...

MCSection * MergeableConst32Section

MCSection * SixteenByteConstantSection

MCSection * getStackMapSection() const

virtual ~MCObjectFileInfo()

MCSection * getDwarfAccelNamesSection() const

MCSection * getReadOnlySection() const

MCSection * getThreadLocalPointerSection() const

MCSection * DataCommonSection

MCSection * getPCSection(StringRef Name, const MCSection *TextSec) const

MCSection * getDwarfAbbrevDWOSection() const

MCSection * getDwarfRnglistsDWOSection() const

const MCSection * getFourByteConstantSection() const

MCSection * DwarfLineStrSection

bool SupportsCompactUnwindWithoutEHFrame

True if the target object file supports emitting a compact unwind section without an associated EH fr...

MCSection * ReadOnlySection

Section that is readonly and can contain arbitrary initialized data.

MCSection * getDwarfAbbrevSection() const

MCSection * getDwarfSwiftASTSection() const

MCSection * getIDRLSection() const

MCSection * DwarfLineDWOSection

MCSection * getCOFFDebugSymbolsSection() const

MCSection * DwarfAbbrevSection

MCSection * getXDataSection() const

bool getOmitDwarfIfHaveCompactUnwind() const

MCSection * getGLJMPSection() const

MCSection * getTOCBaseSection() const

const MCSection * getCStringSection() const

MCSection * DwarfLineSection

const MCSection * getTLSDataSection() const

MCSection * TOCBaseSection

unsigned FDECFIEncoding

FDE CFI encoding.

MCSection * getCOFFDebugTypesSection() const

MCSection * getGIATsSection() const

MCSection * getDwarfCUIndexSection() const

MCSection * getImportCallSection() const

MCSection * DwarfTUIndexSection

bool SupportsWeakOmittedEHFrame

True if target object file supports a weak_definition of constant 0 for an omitted EH frame.

MCSection * getDwarfMacinfoSection() const

MCSection * getDwarfLocDWOSection() const

MCSection * DwarfLoclistsDWOSection

MCSection * getDwarfARangesSection() const

MCSection * getDwarfAccelObjCSection() const

MCSection * DwarfInfoDWOSection

MCSection * BSSSection

Section that is default initialized to zero.

MCSection * getNonLazySymbolPointerSection() const

const MCSection * getSixteenByteConstantSection() const

MCSection * PPA2ListSection

MCSection * getDwarfLocSection() const

virtual unsigned getTextSectionAlignment() const

MCSection * getDataBSSSection() const

MCSection * EightByteConstantSection

MCSection * StackSizesSection

Section containing metadata on function stack sizes.

unsigned CompactUnwindDwarfEHFrameOnly

Compact unwind encoding indicating that we should emit only an EH frame.

const MCSection * getDataCommonSection() const

MCSection * getTextSection() const

MCSection * DwarfTypesDWOSection

MCSection * getCOFFGlobalTypeHashesSection() const

MCSection * DwarfGnuPubNamesSection

Section for newer gnu pubnames.

MCSection * ConstDataSection

MCSection * StackMapSection

StackMap section.

const MCSection * getUStringSection() const

MCSection * DwarfMacroDWOSection

MCSection * getDwarfMacroDWOSection() const

MCSection * DwarfMacinfoDWOSection

MCContext & getContext() const

MCSection * getPPA2Section() const

MCSection * DwarfAccelNamespaceSection

MCSection * getDataSection() const

MCSection * DwarfAccelTypesSection

MCSection * getCompactUnwindSection() const

MCSection * DataSection

Section directive for standard data.

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

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

Triple - Helper class for working with autoconf configuration names.

Swift5ReflectionSectionKind

This is an optimization pass for GlobalISel generic memory operations.