Home
last modified time | relevance | path

Searched refs:ValueLatticeElement (Results 1 – 6 of 6) sorted by relevance

/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DLazyValueInfo.cpp73 static bool hasSingleValue(const ValueLatticeElement &Val) { in hasSingleValue()
115 SmallDenseMap<AssertingVH<Value>, ValueLatticeElement, 4> LatticeElements;
151 const ValueLatticeElement &Result) { in insertResult()
164 std::optional<ValueLatticeElement> getCachedValueInfo(Value *V, in getCachedValueInfo()
171 return ValueLatticeElement::getOverdefined(); in getCachedValueInfo()
344 std::optional<ValueLatticeElement> getBlockValue(Value *Val, BasicBlock *BB,
346 std::optional<ValueLatticeElement> getEdgeValue(Value *V, BasicBlock *F,
354 std::optional<ValueLatticeElement> solveBlockValueImpl(Value *Val,
356 std::optional<ValueLatticeElement> solveBlockValueNonLocal(Value *Val,
358 std::optional<ValueLatticeElement> solveBlockValuePHINode(PHINode *PN,
[all …]
H A DValueLattice.cpp15 ValueLatticeElement::getCompare(CmpInst::Predicate Pred, Type *Ty, in getCompare()
16 const ValueLatticeElement &Other, in getCompare()
56 static bool hasSingleValue(const ValueLatticeElement &Val) { in hasSingleValue()
77 ValueLatticeElement
78 ValueLatticeElement::intersect(const ValueLatticeElement &Other) const { in intersect()
107 return ValueLatticeElement::getRange( in intersect()
112 raw_ostream &operator<<(raw_ostream &OS, const ValueLatticeElement &Val) { in operator <<()
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DValueLattice.h27 class ValueLatticeElement {
146 ValueLatticeElement() : Tag(unknown), NumRangeExtensions(0) {} in ValueLatticeElement() function
148 ~ValueLatticeElement() { destroy(); } in ~ValueLatticeElement()
150 ValueLatticeElement(const ValueLatticeElement &Other) in ValueLatticeElement() function
169 ValueLatticeElement(ValueLatticeElement &&Other) in ValueLatticeElement() function
189 ValueLatticeElement &operator=(const ValueLatticeElement &Other) {
191 new (this) ValueLatticeElement(Other);
195 ValueLatticeElement &operator=(ValueLatticeElement &&Other) {
197 new (this) ValueLatticeElement(std::move(Other));
201 static ValueLatticeElement get(Constant *C) { in get()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DSCCPSolver.cpp43 static ValueLatticeElement::MergeOptions getMaxWidenStepsOpts() { in getMaxWidenStepsOpts()
44 return ValueLatticeElement::MergeOptions().setMaxWidenSteps( in getMaxWidenStepsOpts()
50 bool SCCPSolver::isConstant(const ValueLatticeElement &LV) { in isConstant()
55 bool SCCPSolver::isOverdefined(const ValueLatticeElement &LV) { in isOverdefined()
383 const ValueLatticeElement &Val) { in inferAttribute()
433 DenseMap<Value *, ValueLatticeElement>
438 DenseMap<std::pair<Value *, unsigned>, ValueLatticeElement> StructValueState;
444 DenseMap<GlobalVariable *, ValueLatticeElement> TrackedGlobals;
449 MapVector<Function *, ValueLatticeElement> TrackedRetVals;
453 MapVector<std::pair<Function *, unsigned>, ValueLatticeElement>
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DSCCPSolver.h39 class ValueLatticeElement; variable
138 LLVM_ABI std::vector<ValueLatticeElement>
147 LLVM_ABI const ValueLatticeElement &getLatticeValueFor(Value *V) const;
150 LLVM_ABI const MapVector<Function *, ValueLatticeElement> &
155 LLVM_ABI const DenseMap<GlobalVariable *, ValueLatticeElement> &
177 LLVM_ABI Constant *getConstant(const ValueLatticeElement &LV, Type *Ty) const;
214 LLVM_ABI static bool isConstant(const ValueLatticeElement &LV);
220 LLVM_ABI static bool isOverdefined(const ValueLatticeElement &LV);
/freebsd/contrib/llvm-project/llvm/lib/Transforms/IPO/
H A DFunctionSpecialization.cpp490 const ValueLatticeElement &ConstLV = ValueLatticeElement::get(Const); in visitCmpInst()
491 const ValueLatticeElement &OtherLV = Solver.getLatticeValueFor(V); in visitCmpInst()