X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FCodeGen%2FOcamlGC.cpp;h=48db200c513cd2a54d6767d017848e97d5e03897;hb=50e7ba14ca8ec3a3f4bd6ca0b15dfacfda58ec06;hp=88499cbd66827c175053f7e993a4d248b1320544;hpb=5a29c9eed157af51a8d338b5a225b146881819e8;p=oota-llvm.git diff --git a/lib/CodeGen/OcamlGC.cpp b/lib/CodeGen/OcamlGC.cpp index 88499cbd668..48db200c513 100644 --- a/lib/CodeGen/OcamlGC.cpp +++ b/lib/CodeGen/OcamlGC.cpp @@ -1,4 +1,4 @@ -//===-- OcamlCollector.cpp - Ocaml frametable emitter ---------------------===// +//===-- OcamlGC.cpp - Ocaml frametable GC strategy ------------------------===// // // The LLVM Compiler Infrastructure // @@ -10,37 +10,28 @@ // 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 OcamlGC : public GCStrategy { public: - OcamlCollector(); + OcamlGC(); }; - } -static CollectorRegistry::Add -X("ocaml", "ocaml 3.10-compatible collector"); +static GCRegistry::Add +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; }