Searched refs:IntegerValueRange (Results 1 – 7 of 7) sorted by relevance
/llvm-project/mlir/include/mlir/Interfaces/ |
H A D | InferIntRangeInterface.h | 109 class IntegerValueRange { 114 static IntegerValueRange getMaxRange(Value value); 117 IntegerValueRange(ConstantIntRanges value) : value(std::move(value)) {} in IntegerValueRange() function 120 IntegerValueRange(std::optional<ConstantIntRanges> value = std::nullopt) 134 bool operator==(const IntegerValueRange &rhs) const { 139 static IntegerValueRange join(const IntegerValueRange &lhs, in join() 140 const IntegerValueRange &rhs) { in join() 145 return IntegerValueRange{lhs.getValue().rangeUnion(rhs.getValue())}; in join() 156 raw_ostream &operator<<(raw_ostream &, const IntegerValueRange &); 168 llvm::function_ref<void(Value, const IntegerValueRange &)>; [all …]
|
H A D | InferIntRangeInterface.td | 68 /*args=*/(ins "::llvm::ArrayRef<::mlir::IntegerValueRange>":$argRanges,
|
/llvm-project/mlir/lib/Interfaces/ |
H A D | InferIntRangeInterface.cpp | 132 IntegerValueRange IntegerValueRange::getMaxRange(Value value) { in getMaxRange() 141 return IntegerValueRange{ConstantIntRanges{umin, umax, smin, smax}}; 144 raw_ostream &mlir::operator<<(raw_ostream &os, const IntegerValueRange &range) { in operator <<() 150 InferIntRangeInterface interface, ArrayRef<IntegerValueRange> argRanges, in defaultInferResultRanges() 155 for (const IntegerValueRange &range : argRanges) { in defaultInferResultRanges() 164 setResultRanges(value, IntegerValueRange{argRanges}); in defaultInferResultRanges() 171 auto ranges = llvm::to_vector_of<IntegerValueRange>(argRanges); in defaultInferResultRangesFromOptional() 174 [&setResultRanges](Value value, const IntegerValueRange &argRanges) { in defaultInferResultRangesFromOptional()
|
/llvm-project/mlir/lib/Analysis/DataFlow/ |
H A D | IntegerRangeAnalysis.cpp | 78 auto joinCallback = [&](Value v, const IntegerValueRange &attrs) { in visitOperation() 86 IntegerValueRange oldRange = lattice->getValue(); in visitOperation() 100 changed |= lattice->join(IntegerValueRange::getMaxRange(v)); in visitOperation() 119 auto joinCallback = [&](Value v, const IntegerValueRange &attrs) { in visitNonControlFlowArguments() 128 IntegerValueRange oldRange = lattice->getValue(); in visitNonControlFlowArguments() 142 changed |= lattice->join(IntegerValueRange::getMaxRange(v)); in visitNonControlFlowArguments() 208 propagateIfChanged(ivEntry, ivEntry->join(IntegerValueRange{ivRange})); in visitNonControlFlowArguments()
|
/llvm-project/mlir/include/mlir/Analysis/DataFlow/ |
H A D | IntegerRangeAnalysis.h | 30 class IntegerValueRangeLattice : public Lattice<IntegerValueRange> { 52 propagateIfChanged(lattice, lattice->join(IntegerValueRange::getMaxRange( in setToEntryState()
|
/llvm-project/mlir/lib/Dialect/Arith/IR/ |
H A D | InferIntRangeInterfaceImpls.cpp | 317 ArrayRef<IntegerValueRange> argRanges, SetIntLatticeFn setResultRange) { 323 const IntegerValueRange &trueCase = argRanges[1]; in inferResultRanges() 324 const IntegerValueRange &falseCase = argRanges[2]; in inferResultRanges() 333 setResultRange(getResult(), IntegerValueRange::join(trueCase, falseCase)); in inferResultRanges()
|
/llvm-project/mlir/include/mlir/Interfaces/Utils/ |
H A D | InferIntRangeCommon.h | 32 std::function<IntegerValueRange(ArrayRef<IntegerValueRange>)>;
|