LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Macros | Functions | Variables
LowerInvoke.cpp File Reference
#include "llvm/Transforms/Scalar.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/Module.h"
#include "llvm/Pass.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Target/TargetLowering.h"
#include "llvm/Transforms/Utils/BasicBlockUtils.h"
#include "llvm/Transforms/Utils/Local.h"
#include <csetjmp>
#include <set>
Include dependency graph for LowerInvoke.cpp:

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "lowerinvoke"
 

Functions

 STATISTIC (NumInvokes,"Number of invokes replaced")
 
 STATISTIC (NumSpilled,"Number of registers live across unwind edges")
 
static void MarkBlocksLiveIn (BasicBlock *BB, std::set< BasicBlock * > &LiveBBs)
 

Variables

static cl::opt< boolExpensiveEHSupport ("enable-correct-eh-support", cl::desc("Make the -lowerinvoke pass insert expensive, but correct, EH code"))
 

Macro Definition Documentation

#define DEBUG_TYPE   "lowerinvoke"

Definition at line 37 of file LowerInvoke.cpp.

Function Documentation

static void MarkBlocksLiveIn ( BasicBlock BB,
std::set< BasicBlock * > &  LiveBBs 
)
static

MarkBlocksLiveIn - Insert BB and all of its predescessors into LiveBBs until we reach blocks we've already seen.

Definition at line 255 of file LowerInvoke.cpp.

References llvm::pred_begin(), and llvm::pred_end().

STATISTIC ( NumInvokes  ,
"Number of invokes replaced"   
)
STATISTIC ( NumSpilled  ,
"Number of registers live across unwind edges"   
)

Variable Documentation

cl::opt<bool> ExpensiveEHSupport("enable-correct-eh-support", cl::desc("Make the -lowerinvoke pass insert expensive, but correct, EH code"))
static