30 NeededSafePoints =
true;
41 NeededSafePoints =
true;
56 ShadowStackGC() =
default;
68 UseStatepoints =
true;
72 NeededSafePoints =
false;
76 std::optional<bool> isGCManagedPointer(
const Type *Ty)
const override {
84 return (1 == PT->getAddressSpace());
101 UseStatepoints =
true;
105 NeededSafePoints =
false;
106 UsesMetadata =
false;
109 std::optional<bool> isGCManagedPointer(
const Type *Ty)
const override {
113 return (1 == PT->getAddressSpace());
122static GCRegistry::Add<ErlangGC>
A(
"erlang",
123 "erlang-compatible garbage collector");
124static GCRegistry::Add<OcamlGC>
B(
"ocaml",
"ocaml 3.10-compatible GC");
125static GCRegistry::Add<ShadowStackGC>
126 C(
"shadow-stack",
"Very portable GC for uncooperative code generators");
127static GCRegistry::Add<StatepointGC>
D(
"statepoint-example",
128 "an example strategy for statepoint");
129static GCRegistry::Add<CoreCLRGC>
E(
"coreclr",
"CoreCLR-compatible GC");
static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")
static GCRegistry::Add< StatepointGC > D("statepoint-example", "an example strategy for statepoint")
static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")
static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")
GCStrategy describes a garbage collector algorithm's code generation requirements,...
@ C
The default llvm calling convention, compatible with C.
This is an optimization pass for GlobalISel generic memory operations.
LLVM_ABI void linkAllBuiltinGCs()
FIXME: Collector instances are not useful on their own.
decltype(auto) cast(const From &Val)
cast<X> - Return the argument parameter cast to the specified type.