LLVM API Documentation

LowerGC.cpp File Reference

#include "llvm/Transforms/Scalar.h"
#include "llvm/Constants.h"
#include "llvm/DerivedTypes.h"
#include "llvm/Instructions.h"
#include "llvm/Module.h"
#include "llvm/Pass.h"

Include dependency graph for LowerGC.cpp:

Go to the source code of this file.

Defines

#define DEBUG_TYPE   "lowergc"

Functions

FunctionPassllvm::createLowerGCPass ()
static void Coerce (Instruction *I, unsigned OpNum, Type *Ty)

Variables

FunctionGCRootInt
FunctionGCReadInt
FunctionGCWriteInt
FunctionGCRead
FunctionGCWrite
GlobalVariableRootChain
const TypeMainRootRecordType
RegisterOpt< LowerGC > X ("lowergc","Lower GC intrinsics, for GCless code generators")


Define Documentation

#define DEBUG_TYPE   "lowergc"

Definition at line 22 of file LowerGC.cpp.


Function Documentation

static void Coerce ( Instruction I,
unsigned  OpNum,
Type Ty 
) [static]

Coerce - If the specified operand number of the specified instruction does not have the specified type, insert a cast.

Definition at line 142 of file LowerGC.cpp.

References llvm::CallingConv::C, llvm::User::getOperand(), llvm::Value::getType(), llvm::User::setOperand(), and Ty.


Variable Documentation

Function* GCRead

GCRead/GCWrite - These are the functions provided by the garbage collector for read/write barriers.

Definition at line 39 of file LowerGC.cpp.

Function * GCReadInt

Definition at line 35 of file LowerGC.cpp.

Function* GCRootInt

GCRootInt, GCReadInt, GCWriteInt - The function prototypes for the llvm.gcread/llvm.gcwrite/llvm.gcroot intrinsics.

Definition at line 35 of file LowerGC.cpp.

Function * GCWrite

Definition at line 39 of file LowerGC.cpp.

Function * GCWriteInt

Definition at line 35 of file LowerGC.cpp.

const Type* MainRootRecordType

MainRootRecordType - This is the type for a function root entry if it had zero roots.

Definition at line 47 of file LowerGC.cpp.

GlobalVariable* RootChain

RootChain - This is the global linked-list that contains the chain of GC roots.

Definition at line 43 of file LowerGC.cpp.

RegisterOpt<LowerGC> X("lowergc","Lower GC intrinsics, for GCless code generators") [static]