LLVM
3.7.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
work
release_test
rc4
llvm.src
lib
CodeGen
ErlangGC.cpp
Go to the documentation of this file.
1
//===-- ErlangGC.cpp - Erlang/OTP GC strategy -------------------*- C++ -*-===//
2
//
3
// The LLVM Compiler Infrastructure
4
//
5
// This file is distributed under the University of Illinois Open Source
6
// License. See LICENSE.TXT for details.
7
//
8
//===----------------------------------------------------------------------===//
9
//
10
// This file implements the Erlang/OTP runtime-compatible garbage collector
11
// (e.g. defines safe points, root initialization etc.)
12
//
13
// The frametable emitter is in ErlangGCPrinter.cpp.
14
//
15
//===----------------------------------------------------------------------===//
16
17
#include "
llvm/CodeGen/GCs.h
"
18
#include "
llvm/CodeGen/GCStrategy.h
"
19
#include "
llvm/CodeGen/MachineInstrBuilder.h
"
20
#include "
llvm/MC/MCContext.h
"
21
#include "
llvm/MC/MCSymbol.h
"
22
#include "
llvm/Target/TargetInstrInfo.h
"
23
#include "
llvm/Target/TargetMachine.h
"
24
#include "
llvm/Target/TargetSubtargetInfo.h
"
25
26
using namespace
llvm;
27
28
namespace
{
29
30
class
ErlangGC :
public
GCStrategy
{
31
public
:
32
ErlangGC();
33
};
34
}
35
36
static
GCRegistry::Add<ErlangGC>
X
(
"erlang"
,
37
"erlang-compatible garbage collector"
);
38
39
void
llvm::linkErlangGC
() {}
40
41
ErlangGC::ErlangGC() {
42
InitRoots =
false
;
43
NeededSafePoints = 1 <<
GC::PostCall
;
44
UsesMetadata =
true
;
45
CustomRoots =
false
;
46
}
TargetSubtargetInfo.h
MCContext.h
TargetMachine.h
llvm::linkErlangGC
void linkErlangGC()
Creates an erlang-compatible garbage collector.
Definition:
ErlangGC.cpp:39
X
static GCRegistry::Add< ErlangGC > X("erlang","erlang-compatible garbage collector")
GCs.h
MachineInstrBuilder.h
GCStrategy.h
llvm::GC::PostCall
Instr is the return address of a call.
Definition:
GCStrategy.h:69
TargetInstrInfo.h
MCSymbol.h
llvm::GCStrategy
GCStrategy describes a garbage collector algorithm's code generation requirements, and provides overridable hooks for those needs which cannot be abstractly described.
Definition:
GCStrategy.h:78
llvm::Registry::Add
A static registration template.
Definition:
Registry.h:201
Generated on Mon Aug 31 2015 11:00:37 for LLVM by
1.8.6