|
LLVM 24.0.0git
|
#include "llvm/Analysis/AssumptionCache.h"#include "llvm/ADT/DenseSet.h"#include "llvm/ADT/STLExtras.h"#include "llvm/ADT/SmallPtrSet.h"#include "llvm/ADT/SmallVector.h"#include "llvm/ADT/StringExtras.h"#include "llvm/Analysis/AssumeBundleQueries.h"#include "llvm/Analysis/TargetTransformInfo.h"#include "llvm/Analysis/ValueTracking.h"#include "llvm/IR/BasicBlock.h"#include "llvm/IR/Function.h"#include "llvm/IR/InstrTypes.h"#include "llvm/IR/Instruction.h"#include "llvm/IR/Instructions.h"#include "llvm/IR/PassManager.h"#include "llvm/IR/PatternMatch.h"#include "llvm/InitializePasses.h"#include "llvm/Pass.h"#include "llvm/Support/Casting.h"#include "llvm/Support/CommandLine.h"#include "llvm/Support/ErrorHandling.h"#include "llvm/Support/raw_ostream.h"#include <cassert>#include <limits>Go to the source code of this file.
Functions | |
| static void | findAffectedValues (CallBase *CI, TargetTransformInfo *TTI, SmallVectorImpl< AssumptionCache::ResultElem > &Affected) |
| static const char * | findCacheViolation (const Function &F, ArrayRef< WeakVH > Assumptions, SmallPtrSetImpl< const CallInst * > &Cached) |
Check the assumptions cached for F, collecting them in Cached. | |
Variables | |
| static cl::opt< bool > | VerifyAssumptionCache ("verify-assumption-cache", cl::Hidden, cl::desc("Enable verification of assumption cache"), cl::init(false)) |
| static cl::opt< unsigned, true > | MaxAssumesPerValueOpt ("max-assumes-per-value", cl::Hidden, cl::location(MaxAssumesPerValue), cl::init(1024), cl::desc("Maximum number of assumptions affecting a single value that " "analyses will inspect")) |
|
static |
Definition at line 83 of file AssumptionCache.cpp.
References llvm::AssumptionCache::ExprResultIdx, llvm::AssumptionCache::findValuesAffectedByOperandBundle(), llvm::CallBase::getNumOperandBundles(), llvm::CallBase::getOperandBundleAt(), llvm::isa(), and llvm::SmallVectorTemplateBase< T, bool >::push_back().
Referenced by llvm::DomConditionCache::registerBranch(), and llvm::AssumptionCache::updateAffectedValues().
|
static |
Check the assumptions cached for F, collecting them in Cached.
Returns a description of the first invariant violated, or nullptr if there is none.
Definition at line 224 of file AssumptionCache.cpp.
References llvm::cast(), F, llvm::Instruction::getFunction(), llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::PatternMatch::m_Intrinsic(), and llvm::PatternMatch::match().
Referenced by llvm::AssumptionCache::registerAssumption(), and llvm::AssumptionCacheTracker::verifyAnalysis().
|
static |
|
static |
Referenced by llvm::AssumptionCacheTracker::verifyAnalysis().