|
LLVM
4.0.0
|
#include "llvm/Transforms/Scalar/LoopInstSimplify.h"#include "llvm/ADT/STLExtras.h"#include "llvm/ADT/Statistic.h"#include "llvm/Analysis/AssumptionCache.h"#include "llvm/Analysis/InstructionSimplify.h"#include "llvm/Analysis/LoopInfo.h"#include "llvm/Analysis/LoopPass.h"#include "llvm/Analysis/ScalarEvolution.h"#include "llvm/Analysis/TargetLibraryInfo.h"#include "llvm/IR/DataLayout.h"#include "llvm/IR/Dominators.h"#include "llvm/IR/Instructions.h"#include "llvm/Support/Debug.h"#include "llvm/Transforms/Scalar.h"#include "llvm/Transforms/Scalar/LoopPassManager.h"#include "llvm/Transforms/Utils/Local.h"#include "llvm/Transforms/Utils/LoopUtils.h"Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "loop-instsimplify" |
Functions | |
| STATISTIC (NumSimplified,"Number of redundant instructions simplified") | |
| static bool | SimplifyLoopInst (Loop *L, DominatorTree *DT, LoopInfo *LI, AssumptionCache *AC, const TargetLibraryInfo *TLI) |
| INITIALIZE_PASS_BEGIN (LoopInstSimplifyLegacyPass,"loop-instsimplify","Simplify instructions in loops", false, false) INITIALIZE_PASS_END(LoopInstSimplifyLegacyPass | |
Variables | |
| loop | instsimplify |
| loop Simplify instructions in | loops |
| loop Simplify instructions in | false |
| #define DEBUG_TYPE "loop-instsimplify" |
Definition at line 33 of file LoopInstSimplify.cpp.
| INITIALIZE_PASS_BEGIN | ( | LoopInstSimplifyLegacyPass | , |
| "loop-instsimplify" | , | ||
| "Simplify instructions in loops" | , | ||
| false | , | ||
| false | |||
| ) |
|
static |
Definition at line 37 of file LoopInstSimplify.cpp.
References llvm::array_pod_sort(), llvm::SmallVectorTemplateCommon< T >::begin(), llvm::BasicBlock::begin(), llvm::SmallPtrSetImplBase::clear(), llvm::SmallVectorImpl< T >::clear(), llvm::LoopBase< N, M >::contains(), llvm::SmallVectorBase::empty(), llvm::SmallVectorTemplateCommon< T >::end(), llvm::BasicBlock::end(), llvm::LoopBase< N, M >::getExitBlocks(), llvm::LoopBase< N, M >::getHeader(), llvm::LoopInfoBase< N, M >::getLoopFor(), llvm::Loop::getUniqueExitBlocks(), I, i, llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::SmallVectorImpl< T >::pop_back_val(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::RecursivelyDeleteTriviallyDeadInstructions(), llvm::Value::replaceAllUsesWith(), llvm::LoopInfo::replacementPreservesLCSSAForm(), SI, llvm::SimplifyInstruction(), llvm::SmallVectorTemplateCommon< T >::size(), llvm::succ_begin(), llvm::succ_end(), std::swap(), llvm::Value::use_empty(), and llvm::Value::users().
Referenced by llvm::LoopInstSimplifyPass::run().
| STATISTIC | ( | NumSimplified | , |
| "Number of redundant instructions simplified" | |||
| ) |
| loop Simplify instructions in false |
Definition at line 201 of file LoopInstSimplify.cpp.
| loop instsimplify |
Definition at line 201 of file LoopInstSimplify.cpp.
| loop Simplify instructions in loops |
Definition at line 201 of file LoopInstSimplify.cpp.
1.8.6