13#ifndef LLVM_EXECUTIONENGINE_JITLINK_SEHFRAMESUPPORT_H
14#define LLVM_EXECUTIONENGINE_JITLINK_SEHFRAMESUPPORT_H
29 : SEHFrameSectionName(SEHFrameSectionName) {}
32 auto *S =
G.findSectionByName(SEHFrameSectionName);
40 for (
auto *
B : S->blocks()) {
41 auto &DummySymbol =
G.addAnonymousSymbol(*
B, 0, 0,
false,
false);
43 for (
auto &
E :
B->edges()) {
44 auto &
Sym =
E.getTarget();
47 Children.insert(&
Sym.getBlock());
49 for (
auto *Child : Children)
static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")
static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")
This file implements a set that has insertion order iteration characteristics.
Lightweight error class with error context and mandatory checking.
static ErrorSuccess success()
Create a success value.
A vector that has set insertion semantics.
StringRef - Represent a constant reference to a string, i.e.
Represents fixups and constraints in the LinkGraph.
This pass adds keep-alive edge from SEH frame sections to the parent function content block.
Error operator()(LinkGraph &G)
SEHFrameKeepAlivePass(StringRef SEHFrameSectionName)
This is an optimization pass for GlobalISel generic memory operations.