LLVM: lib/Analysis/DomConditionCache.cpp Source File (original) (raw)
Go to the documentation of this file.
1
2
3
4
5
6
7
8
11using namespace llvm;
12
15 auto InsertAffected = [&Affected](Value *V) { Affected.push_back(V); };
17}
18
23 for (Value *V : Affected) {
24 auto &AV = AffectedValues[V];
26 AV.push_back(BI);
27 }
28}
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
static void findAffectedValues(CallBase *CI, TargetTransformInfo *TTI, SmallVectorImpl< AssumptionCache::ResultElem > &Affected)
static void findAffectedValues(Value *Cond, SmallVectorImpl< Value * > &Affected)
Definition DomConditionCache.cpp:13
const SmallVectorImpl< MachineOperand > & Cond
Conditional or Unconditional Branch instruction.
bool isConditional() const
Value * getCondition() const
void registerBranch(BranchInst *BI)
Add a branch condition to the cache.
Definition DomConditionCache.cpp:19
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
void push_back(const T &Elt)
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
LLVM Value Representation.
This is an optimization pass for GlobalISel generic memory operations.
bool is_contained(R &&Range, const E &Element)
Returns true if Element is found in Range.
LLVM_ABI void findValuesAffectedByCondition(Value *Cond, bool IsAssume, function_ref< void(Value *)> InsertAffected)
Call InsertAffected on all Values whose known bits / value may be affected by the condition Cond.