Home
last modified time | relevance | path

Searched refs:IntegerValueRange (Results 1 – 7 of 7) sorted by relevance

/llvm-project/mlir/include/mlir/Interfaces/
H A DInferIntRangeInterface.h109 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 DInferIntRangeInterface.td68 /*args=*/(ins "::llvm::ArrayRef<::mlir::IntegerValueRange>":$argRanges,
/llvm-project/mlir/lib/Interfaces/
H A DInferIntRangeInterface.cpp132 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 DIntegerRangeAnalysis.cpp78 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 DIntegerRangeAnalysis.h30 class IntegerValueRangeLattice : public Lattice<IntegerValueRange> {
52 propagateIfChanged(lattice, lattice->join(IntegerValueRange::getMaxRange( in setToEntryState()
/llvm-project/mlir/lib/Dialect/Arith/IR/
H A DInferIntRangeInterfaceImpls.cpp317 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 DInferIntRangeCommon.h32 std::function<IntegerValueRange(ArrayRef<IntegerValueRange>)>;