LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Macros | Functions
LCSSA.cpp File Reference
#include "llvm/Transforms/Scalar.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/Analysis/Dominators.h"
#include "llvm/Analysis/LoopPass.h"
#include "llvm/Analysis/ScalarEvolution.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/Instructions.h"
#include "llvm/Pass.h"
#include "llvm/Support/PredIteratorCache.h"
#include "llvm/Transforms/Utils/SSAUpdater.h"
Include dependency graph for LCSSA.cpp:

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "lcssa"
 

Functions

 STATISTIC (NumLCSSA,"Number of live out of a loop variables")
 
static bool BlockDominatesAnExit (BasicBlock *BB, const SmallVectorImpl< BasicBlock * > &ExitBlocks, DominatorTree *DT)
 
static bool isExitBlock (BasicBlock *BB, const SmallVectorImpl< BasicBlock * > &ExitBlocks)
 isExitBlock - Return true if the specified block is in the list. More...
 

Macro Definition Documentation

#define DEBUG_TYPE   "lcssa"

Definition at line 30 of file LCSSA.cpp.

Function Documentation

static bool BlockDominatesAnExit ( BasicBlock BB,
const SmallVectorImpl< BasicBlock * > &  ExitBlocks,
DominatorTree DT 
)
static

BlockDominatesAnExit - Return true if the specified block dominates at least one of the blocks in the specified list.

Definition at line 99 of file LCSSA.cpp.

References llvm::DominatorTree::dominates(), llvm::DominatorTree::getNode(), and llvm::SmallVectorTemplateCommon< T >::size().

static bool isExitBlock ( BasicBlock BB,
const SmallVectorImpl< BasicBlock * > &  ExitBlocks 
)
static

isExitBlock - Return true if the specified block is in the list.

Definition at line 166 of file LCSSA.cpp.

References llvm::SmallVectorTemplateCommon< T >::size().

STATISTIC ( NumLCSSA  ,
"Number of live out of a loop variables"   
)