LLVM 19.0.0git
ObjectFormats.h
Go to the documentation of this file.
1//===------ ObjectFormats.h - Object format details for ORC -----*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// ORC-specific object format details.
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef LLVM_EXECUTIONENGINE_ORC_SHARED_OBJECTFORMATS_H
14#define LLVM_EXECUTIONENGINE_ORC_SHARED_OBJECTFORMATS_H
15
16#include "llvm/ADT/StringRef.h"
17
18namespace llvm {
19namespace orc {
20
21// MachO section names.
22
23extern StringRef MachODataCommonSectionName;
24extern StringRef MachODataDataSectionName;
25extern StringRef MachOEHFrameSectionName;
27extern StringRef MachOCStringSectionName;
28extern StringRef MachOModInitFuncSectionName;
29extern StringRef MachOObjCCatListSectionName;
30extern StringRef MachOObjCCatList2SectionName;
31extern StringRef MachOObjCClassListSectionName;
32extern StringRef MachOObjCClassNameSectionName;
33extern StringRef MachOObjCClassRefsSectionName;
34extern StringRef MachOObjCConstSectionName;
35extern StringRef MachOObjCDataSectionName;
36extern StringRef MachOObjCImageInfoSectionName;
37extern StringRef MachOObjCMethNameSectionName;
38extern StringRef MachOObjCMethTypeSectionName;
39extern StringRef MachOObjCNLCatListSectionName;
40extern StringRef MachOObjCNLClassListSectionName;
41extern StringRef MachOObjCProtoListSectionName;
42extern StringRef MachOObjCProtoRefsSectionName;
43extern StringRef MachOObjCSelRefsSectionName;
44extern StringRef MachOSwift5ProtoSectionName;
45extern StringRef MachOSwift5ProtosSectionName;
46extern StringRef MachOSwift5TypesSectionName;
47extern StringRef MachOSwift5TypeRefSectionName;
49extern StringRef MachOSwift5EntrySectionName;
50extern StringRef MachOThreadBSSSectionName;
51extern StringRef MachOThreadDataSectionName;
52extern StringRef MachOThreadVarsSectionName;
53
54extern StringRef MachOInitSectionNames[22];
55
56// ELF section names.
57extern StringRef ELFEHFrameSectionName;
58
59extern StringRef ELFInitArrayFuncSectionName;
60extern StringRef ELFInitFuncSectionName;
61extern StringRef ELFFiniArrayFuncSectionName;
62extern StringRef ELFFiniFuncSectionName;
63extern StringRef ELFCtorArrayFuncSectionName;
64extern StringRef ELFDtorArrayFuncSectionName;
65
66extern StringRef ELFInitSectionNames[3];
67
68extern StringRef ELFThreadBSSSectionName;
69extern StringRef ELFThreadDataSectionName;
70
71bool isMachOInitializerSection(StringRef SegName, StringRef SecName);
73
74bool isELFInitializerSection(StringRef SecName);
75
76bool isCOFFInitializerSection(StringRef Name);
77
78} // end namespace orc
79} // end namespace llvm
80
81#endif // LLVM_EXECUTIONENGINE_ORC_SHARED_MEMORYFLAGS_H
std::string Name
StringRef ELFThreadBSSSectionName
StringRef MachOSwift5EntrySectionName
StringRef MachOThreadBSSSectionName
StringRef MachOThreadVarsSectionName
StringRef ELFCtorArrayFuncSectionName
StringRef ELFFiniFuncSectionName
StringRef ELFInitSectionNames[3]
StringRef MachOCompactUnwindInfoSectionName
StringRef ELFEHFrameSectionName
StringRef MachOObjCProtoListSectionName
StringRef MachOSwift5ProtosSectionName
StringRef MachOEHFrameSectionName
StringRef MachOModInitFuncSectionName
StringRef MachOObjCConstSectionName
StringRef MachODataDataSectionName
StringRef MachOSwift5ProtoSectionName
bool isMachOInitializerSection(StringRef SegName, StringRef SecName)
StringRef MachOObjCCatListSectionName
StringRef MachOObjCClassRefsSectionName
StringRef ELFFiniArrayFuncSectionName
StringRef MachOObjCDataSectionName
StringRef MachOObjCClassNameSectionName
StringRef MachOObjCMethNameSectionName
StringRef MachOInitSectionNames[22]
StringRef MachOObjCClassListSectionName
StringRef MachOObjCSelRefsSectionName
StringRef MachOSwift5FieldMetadataSectionName
StringRef MachOCStringSectionName
StringRef MachOObjCMethTypeSectionName
StringRef MachOSwift5TypesSectionName
StringRef MachOObjCNLCatListSectionName
StringRef ELFThreadDataSectionName
StringRef MachOObjCNLClassListSectionName
StringRef ELFInitArrayFuncSectionName
StringRef MachOObjCImageInfoSectionName
StringRef MachOThreadDataSectionName
StringRef MachODataCommonSectionName
bool isCOFFInitializerSection(StringRef Name)
StringRef MachOObjCProtoRefsSectionName
StringRef MachOSwift5TypeRefSectionName
bool isELFInitializerSection(StringRef SecName)
StringRef ELFInitFuncSectionName
StringRef MachOObjCCatList2SectionName
StringRef ELFDtorArrayFuncSectionName
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18