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.