"git@repo.hca.bsc.es:rferrer/llvm-epi-0.8.git" did not exist on "07b2da5d67c37f84eb11b6460fd9c747dbaa9c40"
Newer
Older
//===-- OcamlGC.cpp - Ocaml frametable GC strategy ------------------------===//
Gordon Henriksen
committed
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// 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.
Gordon Henriksen
committed
//
//===----------------------------------------------------------------------===//
Gordon Henriksen
committed
#include "llvm/CodeGen/GCs.h"
#include "llvm/CodeGen/GCStrategy.h"
using namespace llvm;
namespace {
class VISIBILITY_HIDDEN OcamlGC : public GCStrategy {
Gordon Henriksen
committed
public:
OcamlGC();
Gordon Henriksen
committed
};
}
static GCRegistry::Add<OcamlGC>
X("ocaml", "ocaml 3.10-compatible GC");
Gordon Henriksen
committed
void llvm::linkOcamlGC() { }
Gordon Henriksen
committed
OcamlGC::OcamlGC() {
Gordon Henriksen
committed
NeededSafePoints = 1 << GC::PostCall;
UsesMetadata = true;
}