LLVM 17.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;
54extern StringRef ELFInitArrayFuncSectionName;
55
56extern StringRef ELFThreadBSSSectionName;
57extern StringRef ELFThreadDataSectionName;
58
59bool isMachOInitializerSection(StringRef SegName, StringRef SecName);
61
62bool isELFInitializerSection(StringRef SecName);
63
64bool isCOFFInitializerSection(StringRef Name);
65
66} // end namespace orc
67} // end namespace llvm
68
69#endif // LLVM_EXECUTIONENGINE_ORC_SHARED_MEMORYFLAGS_H
std::string Name
StringRef ELFThreadBSSSectionName
StringRef MachOSwift5EntrySectionName
StringRef MachOThreadBSSSectionName
StringRef MachOThreadVarsSectionName
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 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 MachOObjCCatList2SectionName
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18