LLVM 18.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 MachOModInitFuncSectionName;
28extern StringRef MachOObjCCatListSectionName;
29extern StringRef MachOObjCCatList2SectionName;
30extern StringRef MachOObjCClassListSectionName;
31extern StringRef MachOObjCClassNameSectionName;
32extern StringRef MachOObjCClassRefsSectionName;
33extern StringRef MachOObjCConstSectionName;
34extern StringRef MachOObjCDataSectionName;
35extern StringRef MachOObjCImageInfoSectionName;
36extern StringRef MachOObjCMethNameSectionName;
37extern StringRef MachOObjCMethTypeSectionName;
38extern StringRef MachOObjCNLCatListSectionName;
39extern StringRef MachOObjCSelRefsSectionName;
40extern StringRef MachOSwift5ProtoSectionName;
41extern StringRef MachOSwift5ProtosSectionName;
42extern StringRef MachOSwift5TypesSectionName;
43extern StringRef MachOSwift5TypeRefSectionName;
45extern StringRef MachOSwift5EntrySectionName;
46extern StringRef MachOThreadBSSSectionName;
47extern StringRef MachOThreadDataSectionName;
48extern StringRef MachOThreadVarsSectionName;
49
50extern StringRef MachOInitSectionNames[19];
51
52// ELF section names.
53extern StringRef ELFEHFrameSectionName;
54
55extern StringRef ELFInitArrayFuncSectionName;
56extern StringRef ELFInitFuncSectionName;
57extern StringRef ELFFiniArrayFuncSectionName;
58extern StringRef ELFFiniFuncSectionName;
59extern StringRef ELFCtorArrayFuncSectionName;
60extern StringRef ELFDtorArrayFuncSectionName;
61
62extern StringRef ELFInitSectionNames[3];
63
64extern StringRef ELFThreadBSSSectionName;
65extern StringRef ELFThreadDataSectionName;
66
67bool isMachOInitializerSection(StringRef SegName, StringRef SecName);
69
70bool isELFInitializerSection(StringRef SecName);
71
72bool isCOFFInitializerSection(StringRef Name);
73
74} // end namespace orc
75} // end namespace llvm
76
77#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 MachOSwift5ProtosSectionName
StringRef MachOEHFrameSectionName
StringRef MachOModInitFuncSectionName
StringRef MachOInitSectionNames[19]
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 MachOObjCClassListSectionName
StringRef MachOObjCSelRefsSectionName
StringRef MachOSwift5FieldMetadataSectionName
StringRef MachOObjCMethTypeSectionName
StringRef MachOSwift5TypesSectionName
StringRef MachOObjCNLCatListSectionName
StringRef ELFThreadDataSectionName
StringRef ELFInitArrayFuncSectionName
StringRef MachOObjCImageInfoSectionName
StringRef MachOThreadDataSectionName
StringRef MachODataCommonSectionName
bool isCOFFInitializerSection(StringRef Name)
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