LLVM 20.0.0git
|
#include "llvm/Transforms/Scalar/LoopInstSimplify.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/Analysis/AssumptionCache.h"
#include "llvm/Analysis/InstructionSimplify.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/Analysis/LoopIterator.h"
#include "llvm/Analysis/LoopPass.h"
#include "llvm/Analysis/MemorySSA.h"
#include "llvm/Analysis/MemorySSAUpdater.h"
#include "llvm/Analysis/TargetLibraryInfo.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/Dominators.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/PassManager.h"
#include "llvm/Support/Casting.h"
#include "llvm/Transforms/Scalar.h"
#include "llvm/Transforms/Utils/Local.h"
#include "llvm/Transforms/Utils/LoopUtils.h"
#include <optional>
#include <utility>
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, MemorySSAUpdater *MSSAU) |
#define DEBUG_TYPE "loop-instsimplify" |
Definition at line 41 of file LoopInstSimplify.cpp.
|
static |
Definition at line 45 of file LoopInstSimplify.cpp.
References assert(), llvm::SmallPtrSetImplBase::clear(), llvm::SmallVectorImpl< T >::clear(), llvm::SmallPtrSetImpl< PtrType >::count(), DL, llvm::SmallVectorBase< Size_T >::empty(), llvm::MemorySSA::getMemoryAccess(), llvm::MemorySSAUpdater::getMemorySSA(), llvm::SimplifyQuery::getWithInstruction(), I, llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::isInstructionTriviallyDead(), llvm::DominatorTree::isReachableFromEntry(), llvm::make_early_inc_range(), llvm::LoopBlocksRPO::perform(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::RecursivelyDeleteTriviallyDeadInstructions(), llvm::LoopInfo::replacementPreservesLCSSAForm(), S1, llvm::simplifyInstruction(), std::swap(), ToSimplify, llvm::MemorySSA::verifyMemorySSA(), and llvm::VerifyMemorySSA.
Referenced by llvm::LoopInstSimplifyPass::run().
STATISTIC | ( | NumSimplified | , |
"Number of redundant instructions simplified" | |||
) |