LLVM API Documentation

ShadowStackGC.cpp File Reference

#include "llvm/CodeGen/GCs.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/CodeGen/GCStrategy.h"
#include "llvm/IntrinsicInst.h"
#include "llvm/Module.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/IRBuilder.h"

Include dependency graph for ShadowStackGC.cpp:

Go to the source code of this file.

Defines

#define DEBUG_TYPE   "shadowstackgc"

Functions

void llvm::linkShadowStackGC ()

Variables

static GCRegistry::Add
< ShadowStackGC > 
X ("shadow-stack","Very portable GC for uncooperative code generators")


Define Documentation

#define DEBUG_TYPE   "shadowstackgc"

Definition at line 28 of file ShadowStackGC.cpp.


Variable Documentation

Definition at line 92 of file ShadowStackGC.cpp.

const char* CleanupBBName

Definition at line 87 of file ShadowStackGC.cpp.

Definition at line 86 of file ShadowStackGC.cpp.

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

Definition at line 44 of file ShadowStackGC.cpp.

Referenced by llvm::ImmutableListImpl< T >::getHead(), llvm::Registry< T, U >::node::node(), and llvm::ImmutableListImpl< T >::Profile().

std::vector<std::pair<CallInst*,AllocaInst*> > Roots

Roots - GC roots in the current function. Each is a pair of the intrinsic call and its corresponding alloca.

Definition at line 52 of file ShadowStackGC.cpp.

StackEntryTy - Abstract type of a link in the shadow stack.

Definition at line 48 of file ShadowStackGC.cpp.

int State

Definition at line 90 of file ShadowStackGC.cpp.

Function::iterator StateBB

Definition at line 91 of file ShadowStackGC.cpp.

Function::iterator StateE

Definition at line 91 of file ShadowStackGC.cpp.

GCRegistry::Add<ShadowStackGC> X("shadow-stack","Very portable GC for uncooperative code generators") [static]