summaryrefslogtreecommitdiff
path: root/include/llvm/CodeGen/GCs.h
diff options
context:
space:
mode:
authorGordon Henriksen <gordonhenriksen@mac.com>2008-08-17 18:44:35 +0000
committerGordon Henriksen <gordonhenriksen@mac.com>2008-08-17 18:44:35 +0000
commit5eca075b74d62c621b160aa216b4cd50829a2cc7 (patch)
tree5406e0182a3a20726e00eec044bbca1199e673b9 /include/llvm/CodeGen/GCs.h
parent94fb5f2a7066c427a9d3dac10a33ccbd02aac467 (diff)
downloadllvm-5eca075b74d62c621b160aa216b4cd50829a2cc7.tar.gz
llvm-5eca075b74d62c621b160aa216b4cd50829a2cc7.tar.bz2
llvm-5eca075b74d62c621b160aa216b4cd50829a2cc7.tar.xz
Rename some GC classes so that their roll will hopefully be clearer.
In particular, Collector was confusing to implementors. Several thought that this compile-time class was the place to implement their runtime GC heap. Of course, it doesn't even exist at runtime. Specifically, the renames are: Collector -> GCStrategy CollectorMetadata -> GCFunctionInfo CollectorModuleMetadata -> GCModuleInfo CollectorRegistry -> GCRegistry Function::getCollector -> getGC (setGC, hasGC, clearGC) Several accessors and nested types have also been renamed to be consistent. These changes should be obvious. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54899 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/GCs.h')
-rw-r--r--include/llvm/CodeGen/GCs.h24
1 files changed, 6 insertions, 18 deletions
diff --git a/include/llvm/CodeGen/GCs.h b/include/llvm/CodeGen/GCs.h
index 7850ddcd82..c407b61674 100644
--- a/include/llvm/CodeGen/GCs.h
+++ b/include/llvm/CodeGen/GCs.h
@@ -1,4 +1,4 @@
-//===-- Collectors.h - Garbage collector registry -------------------------===//
+//===-- GCs.h - Garbage collector linkage hacks ---------------------------===//
//
// The LLVM Compiler Infrastructure
//
@@ -7,41 +7,29 @@
//
//===----------------------------------------------------------------------===//
//
-// This file declares the CollectorRegistry class, which is used to discover
-// pluggable garbage collectors.
+// This file contains hack functions to force linking in the GC components.
//
//===----------------------------------------------------------------------===//
#ifndef LLVM_CODEGEN_GCS_H
#define LLVM_CODEGEN_GCS_H
-#include "llvm/Support/Registry.h"
-
namespace llvm {
-
- class Collector;
+ class GCStrategy;
class GCMetadataPrinter;
- /// The collector registry uses all the defaults from Registry.
- ///
- typedef Registry<Collector> CollectorRegistry;
-
- /// The GC assembly printer registry uses all the defaults from Registry.
- ///
- typedef Registry<GCMetadataPrinter> GCMetadataPrinterRegistry;
-
/// FIXME: Collector instances are not useful on their own. These no longer
/// serve any purpose except to link in the plugins.
/// Creates an ocaml-compatible garbage collector.
- Collector *createOcamlCollector();
+ void linkOcamlGC();
/// Creates an ocaml-compatible metadata printer.
- GCMetadataPrinter *createOcamlMetadataPrinter();
+ void linkOcamlGCPrinter();
/// Creates a shadow stack garbage collector. This collector requires no code
/// generator support.
- Collector *createShadowStackCollector();
+ void linkShadowStackGC();
}
#endif