1 //===-- Collectors.h - Garbage collector registry -------------------------===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // This file declares the CollectorRegistry class, which is used to discover
11 // pluggable garbage collectors.
13 //===----------------------------------------------------------------------===//
15 #ifndef LLVM_CODEGEN_COLLECTORS_H
16 #define LLVM_CODEGEN_COLLECTORS_H
18 #include "llvm/Support/Registry.h"
24 /// The collector registry uses all the defaults from Registry.
26 typedef Registry<Collector> CollectorRegistry;
28 /// FIXME: Collector instances are not useful on their own. These no longer
29 /// serve any purpose except to link in the plugins.
31 /// Creates an ocaml-compatible garbage collector.
32 Collector *createOcamlCollector();
34 /// Creates a shadow stack garbage collector. This collector requires no code
35 /// generator support.
36 Collector *createShadowStackCollector();