LLVM API Documentation

LowerSetJmp.cpp File Reference

#include "llvm/Transforms/IPO.h"
#include "llvm/Constants.h"
#include "llvm/DerivedTypes.h"
#include "llvm/Instructions.h"
#include "llvm/Intrinsics.h"
#include "llvm/Module.h"
#include "llvm/Pass.h"
#include "llvm/Support/CFG.h"
#include "llvm/Support/InstVisitor.h"
#include "llvm/Transforms/Utils/Local.h"
#include "llvm/ADT/DepthFirstIterator.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/VectorExtras.h"

Include dependency graph for LowerSetJmp.cpp:

Go to the source code of this file.

Typedefs

typedef std::pair< SwitchInst *,
CallInst * > 
SwitchValuePair

Functions

ModulePassllvm::createLowerSetJmpPass ()

Variables

Statistic LongJmpsTransformed ("lowersetjmp","Number of longjmps transformed")
Statistic SetJmpsTransformed ("lowersetjmp","Number of setjmps transformed")
Statistic CallsTransformed ("lowersetjmp","Number of calls invokified")
Statistic InvokesTransformed ("lowersetjmp","Number of invokes modified")
FunctionInitSJMap
FunctionDestroySJMap
FunctionAddSJToMap
FunctionThrowLongJmp
FunctionTryCatchLJ
FunctionIsLJException
FunctionGetLJValue
std::set< BasicBlock * > DFSBlocks
std::map< Function *, AllocaInst * > SJMap
std::map< const Function *,
BasicBlock * > 
RethrowBBMap
std::map< const Function *,
BasicBlock * > 
PrelimBBMap
std::map< const Function *,
SwitchValuePair
SwitchValMap
std::map< const Function *,
unsigned > 
SetJmpIDMap
RegisterOpt< LowerSetJmp > X ("lowersetjmp","Lower Set Jump")


Typedef Documentation

typedef std::pair<SwitchInst*, CallInst*> SwitchValuePair

Definition at line 75 of file LowerSetJmp.cpp.


Variable Documentation

Function* AddSJToMap

Definition at line 69 of file LowerSetJmp.cpp.

Statistic CallsTransformed("lowersetjmp","Number of calls invokified") [static]

Function* DestroySJMap

Definition at line 68 of file LowerSetJmp.cpp.

std::set<BasicBlock*> DFSBlocks

Definition at line 80 of file LowerSetJmp.cpp.

Function* GetLJValue

Definition at line 73 of file LowerSetJmp.cpp.

Function* InitSJMap

Definition at line 67 of file LowerSetJmp.cpp.

Statistic InvokesTransformed("lowersetjmp","Number of invokes modified") [static]

Function* IsLJException

Definition at line 72 of file LowerSetJmp.cpp.

Statistic LongJmpsTransformed("lowersetjmp","Number of longjmps transformed") [static]

std::map<const Function*, BasicBlock*> PrelimBBMap

Definition at line 94 of file LowerSetJmp.cpp.

std::map<const Function*, BasicBlock*> RethrowBBMap

Definition at line 90 of file LowerSetJmp.cpp.

std::map<const Function*, unsigned> SetJmpIDMap

Definition at line 103 of file LowerSetJmp.cpp.

Statistic SetJmpsTransformed("lowersetjmp","Number of setjmps transformed") [static]

std::map<Function*, AllocaInst*> SJMap

Definition at line 85 of file LowerSetJmp.cpp.

std::map<const Function*, SwitchValuePair> SwitchValMap

Definition at line 100 of file LowerSetJmp.cpp.

Function* ThrowLongJmp

Definition at line 70 of file LowerSetJmp.cpp.

Function* TryCatchLJ

Definition at line 71 of file LowerSetJmp.cpp.

RegisterOpt<LowerSetJmp> X("lowersetjmp","Lower Set Jump") [static]