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 "llvm/Support/Visibility.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

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 143 of file LowerGC.cpp.

References 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 40 of file LowerGC.cpp.

Function * GCReadInt

Definition at line 36 of file LowerGC.cpp.

Function* GCRootInt

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

Definition at line 36 of file LowerGC.cpp.

Function * GCWrite

Definition at line 40 of file LowerGC.cpp.

Function * GCWriteInt

Definition at line 36 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 48 of file LowerGC.cpp.

GlobalVariable* RootChain

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

Definition at line 44 of file LowerGC.cpp.

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