diff options
| author | Gordon Henriksen <gordonhenriksen@mac.com> | 2008-08-17 18:44:35 +0000 |
|---|---|---|
| committer | Gordon Henriksen <gordonhenriksen@mac.com> | 2008-08-17 18:44:35 +0000 |
| commit | d930f913e6a7cef110d9b62e8218c8845fe8e026 (patch) | |
| tree | 9465331174179e091f38fc8bf159d3713e0b6114 /llvm/lib/CodeGen/OcamlGC.cpp | |
| parent | 954553c4ce4f9b220cbc279fbb2868bf10f66677 (diff) | |
| download | bcm5719-llvm-d930f913e6a7cef110d9b62e8218c8845fe8e026.tar.gz bcm5719-llvm-d930f913e6a7cef110d9b62e8218c8845fe8e026.zip | |
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.
llvm-svn: 54899
Diffstat (limited to 'llvm/lib/CodeGen/OcamlGC.cpp')
| -rw-r--r-- | llvm/lib/CodeGen/OcamlGC.cpp | 27 |
1 files changed, 9 insertions, 18 deletions
diff --git a/llvm/lib/CodeGen/OcamlGC.cpp b/llvm/lib/CodeGen/OcamlGC.cpp index 88499cbd668..0b90444406d 100644 --- a/llvm/lib/CodeGen/OcamlGC.cpp +++ b/llvm/lib/CodeGen/OcamlGC.cpp @@ -1,4 +1,4 @@ -//===-- OcamlCollector.cpp - Ocaml frametable emitter ---------------------===// +//===-- OcamlGC.cpp - Ocaml frametable GC strategy ------------------------===// // // The LLVM Compiler Infrastructure // @@ -9,38 +9,29 @@ // // This file implements lowering for the llvm.gc* intrinsics compatible with // Objective Caml 3.10.0, which uses a liveness-accurate static stack map. +// +// The frametable emitter is in OcamlGCPrinter.cpp. // //===----------------------------------------------------------------------===// #include "llvm/CodeGen/GCs.h" -#include "llvm/CodeGen/AsmPrinter.h" #include "llvm/CodeGen/GCStrategy.h" -#include "llvm/Module.h" -#include "llvm/Target/TargetAsmInfo.h" -#include "llvm/Target/TargetData.h" -#include "llvm/Target/TargetMachine.h" using namespace llvm; namespace { - - class VISIBILITY_HIDDEN OcamlCollector : public Collector { + class VISIBILITY_HIDDEN OcamlGC : public GCStrategy { public: - OcamlCollector(); + OcamlGC(); }; - } -static CollectorRegistry::Add<OcamlCollector> -X("ocaml", "ocaml 3.10-compatible collector"); - -// ----------------------------------------------------------------------------- +static GCRegistry::Add<OcamlGC> +X("ocaml", "ocaml 3.10-compatible GC"); -Collector *llvm::createOcamlCollector() { - return new OcamlCollector(); -} +void llvm::linkOcamlGC() { } -OcamlCollector::OcamlCollector() { +OcamlGC::OcamlGC() { NeededSafePoints = 1 << GC::PostCall; UsesMetadata = true; } |

