15 auto InsertAffected = [&Affected](
Value *V) { Affected.
push_back(V); };
23 for (
Value *V : Affected) {
24 auto &AV = AffectedValues[V];
static void findAffectedValues(CallBase *CI, TargetTransformInfo *TTI, SmallVectorImpl< AssumptionCache::ResultElem > &Affected)
static void findAffectedValues(Value *Cond, SmallVectorImpl< Value * > &Affected)
const SmallVectorImpl< MachineOperand > & Cond
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
Conditional or Unconditional Branch instruction.
bool isConditional() const
Value * getCondition() const
void registerBranch(BranchInst *BI)
Add a branch condition to the cache.
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.
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.