mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-04-02 15:51:54 +00:00
[GC] Simplify linking of GC builtin GC strategies
llvm-svn: 346569
This commit is contained in:
parent
f70ae59019
commit
2de52b53cc
@ -15,32 +15,18 @@
|
|||||||
#define LLVM_CODEGEN_GCS_H
|
#define LLVM_CODEGEN_GCS_H
|
||||||
|
|
||||||
namespace llvm {
|
namespace llvm {
|
||||||
class GCStrategy;
|
|
||||||
class GCMetadataPrinter;
|
|
||||||
|
|
||||||
/// FIXME: Collector instances are not useful on their own. These no longer
|
/// FIXME: Collector instances are not useful on their own. These no longer
|
||||||
/// serve any purpose except to link in the plugins.
|
/// serve any purpose except to link in the plugins.
|
||||||
|
|
||||||
/// Creates a CoreCLR-compatible garbage collector.
|
/// Ensure the definition of the builtin GCs gets linked in
|
||||||
void linkCoreCLRGC();
|
void linkAllBuiltinGCs();
|
||||||
|
|
||||||
/// Creates an ocaml-compatible garbage collector.
|
|
||||||
void linkOcamlGC();
|
|
||||||
|
|
||||||
/// Creates an ocaml-compatible metadata printer.
|
/// Creates an ocaml-compatible metadata printer.
|
||||||
void linkOcamlGCPrinter();
|
void linkOcamlGCPrinter();
|
||||||
|
|
||||||
/// Creates an erlang-compatible garbage collector.
|
|
||||||
void linkErlangGC();
|
|
||||||
|
|
||||||
/// Creates an erlang-compatible metadata printer.
|
/// Creates an erlang-compatible metadata printer.
|
||||||
void linkErlangGCPrinter();
|
void linkErlangGCPrinter();
|
||||||
|
|
||||||
/// Creates a shadow stack garbage collector. This collector requires no code
|
|
||||||
/// generator support.
|
|
||||||
void linkShadowStackGC();
|
|
||||||
|
|
||||||
void linkStatepointExampleGC();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -36,11 +36,7 @@ namespace {
|
|||||||
(void) llvm::createGreedyRegisterAllocator();
|
(void) llvm::createGreedyRegisterAllocator();
|
||||||
(void) llvm::createDefaultPBQPRegisterAllocator();
|
(void) llvm::createDefaultPBQPRegisterAllocator();
|
||||||
|
|
||||||
llvm::linkCoreCLRGC();
|
llvm::linkAllBuiltinGCs();
|
||||||
llvm::linkOcamlGC();
|
|
||||||
llvm::linkErlangGC();
|
|
||||||
llvm::linkShadowStackGC();
|
|
||||||
llvm::linkStatepointExampleGC();
|
|
||||||
|
|
||||||
(void) llvm::createBURRListDAGScheduler(nullptr,
|
(void) llvm::createBURRListDAGScheduler(nullptr,
|
||||||
llvm::CodeGenOpt::Default);
|
llvm::CodeGenOpt::Default);
|
||||||
|
@ -136,9 +136,5 @@ static GCRegistry::Add<StatepointGC> D("statepoint-example",
|
|||||||
"an example strategy for statepoint");
|
"an example strategy for statepoint");
|
||||||
static GCRegistry::Add<CoreCLRGC> E("coreclr", "CoreCLR-compatible GC");
|
static GCRegistry::Add<CoreCLRGC> E("coreclr", "CoreCLR-compatible GC");
|
||||||
|
|
||||||
// Provide hooks to ensure the containing library is fully loaded.
|
// Provide hook to ensure the containing library is fully loaded.
|
||||||
void llvm::linkErlangGC() {}
|
void llvm::linkAllBuiltinGCs() {}
|
||||||
void llvm::linkOcamlGC() {}
|
|
||||||
void llvm::linkShadowStackGC() {}
|
|
||||||
void llvm::linkStatepointExampleGC() {}
|
|
||||||
void llvm::linkCoreCLRGC() {}
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user