|
LLVM
4.0.0
|
#include "llvm/Transforms/Utils/LCSSA.h"#include "llvm/ADT/STLExtras.h"#include "llvm/ADT/Statistic.h"#include "llvm/Analysis/AliasAnalysis.h"#include "llvm/Analysis/BasicAliasAnalysis.h"#include "llvm/Analysis/GlobalsModRef.h"#include "llvm/Analysis/LoopPass.h"#include "llvm/Analysis/ScalarEvolution.h"#include "llvm/Analysis/ScalarEvolutionAliasAnalysis.h"#include "llvm/IR/Constants.h"#include "llvm/IR/Dominators.h"#include "llvm/IR/Function.h"#include "llvm/IR/Instructions.h"#include "llvm/IR/PredIteratorCache.h"#include "llvm/Pass.h"#include "llvm/Transforms/Scalar.h"#include "llvm/Transforms/Utils/LoopUtils.h"#include "llvm/Transforms/Utils/SSAUpdater.h"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 | isExitBlock (BasicBlock *BB, const SmallVectorImpl< BasicBlock * > &ExitBlocks) |
| Return true if the specified block is in the list. More... | |
| static bool | blockDominatesAnExit (BasicBlock *BB, DominatorTree &DT, const SmallVectorImpl< BasicBlock * > &ExitBlocks) |
| Return true if the specified block dominates at least one of the blocks in the specified list. More... | |
| static bool | formLCSSAOnAllLoops (LoopInfo *LI, DominatorTree &DT, ScalarEvolution *SE) |
| Process all loops in the function, inner-most out. More... | |
| INITIALIZE_PASS_BEGIN (LCSSAWrapperPass,"lcssa","Loop-Closed SSA Form Pass", false, false) INITIALIZE_PASS_END(LCSSAWrapperPass | |
Variables | |
| static bool | VerifyLoopLCSSA = false |
| static cl::opt< bool, true > | VerifyLoopLCSSAFlag ("verify-loop-lcssa", cl::location(VerifyLoopLCSSA), cl::desc("Verify loop lcssa form (time consuming)")) |
| lcssa | |
| Loop Closed SSA Form | Pass |
| Loop Closed SSA Form | false |
|
static |
Return true if the specified block dominates at least one of the blocks in the specified list.
Definition at line 243 of file LCSSA.cpp.
References llvm::any_of(), llvm::DominatorTree::dominates(), and llvm::DominatorTreeBase< N >::getNode().
Referenced by llvm::formLCSSA().
|
static |
Process all loops in the function, inner-most out.
Definition at line 312 of file LCSSA.cpp.
References llvm::formLCSSARecursively(), and L.
Referenced by llvm::LCSSAPass::run().
|
static |
Return true if the specified block is in the list.
Definition at line 64 of file LCSSA.cpp.
References llvm::is_contained().
Referenced by llvm::formLCSSAForInstructions().
| STATISTIC | ( | NumLCSSA | , |
| "Number of live out of a loop variables" | |||
| ) |
1.8.6