13#ifndef LLVM_EXECUTIONENGINE_JITLINK_SEHFRAMESUPPORT_H
14#define LLVM_EXECUTIONENGINE_JITLINK_SEHFRAMESUPPORT_H
28 : SEHFrameSectionName(SEHFrameSectionName) {}
31 auto *S =
G.findSectionByName(SEHFrameSectionName);
39 for (
auto *
B : S->blocks()) {
40 auto &DummySymbol =
G.addAnonymousSymbol(*
B, 0, 0,
false,
false);
42 for (
auto &
E :
B->edges()) {
43 auto &
Sym =
E.getTarget();
46 Children.insert(&
Sym.getBlock());
48 for (
auto *Child : Children)
static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")
static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")
Implements a dense probed hash-table based set.
Lightweight error class with error context and mandatory checking.
static ErrorSuccess success()
Create a success value.
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.