Skip to content

Commit 84a880e

Browse files
[mlir][SCF] NFC - Drop SCF EDSC usage
Drop the SCF dialect EDSC subdirectory and update all uses. Differential Revision: https://reviews.llvm.org/D102780
1 parent 9383e9c commit 84a880e

File tree

16 files changed

+999
-1482
lines changed

16 files changed

+999
-1482
lines changed

mlir/include/mlir/Dialect/Affine/EDSC/Builders.h

Lines changed: 0 additions & 126 deletions
Original file line numberDiff line numberDiff line change
@@ -89,132 +89,6 @@ Value uge(Value lhs, Value rhs);
8989

9090
} // namespace op
9191

92-
/// Arithmetic operator overloadings.
93-
template <typename Load, typename Store>
94-
Value TemplatedIndexedValue<Load, Store>::operator+(Value e) {
95-
using op::operator+;
96-
return static_cast<Value>(*this) + e;
97-
}
98-
template <typename Load, typename Store>
99-
Value TemplatedIndexedValue<Load, Store>::operator-(Value e) {
100-
using op::operator-;
101-
return static_cast<Value>(*this) - e;
102-
}
103-
template <typename Load, typename Store>
104-
Value TemplatedIndexedValue<Load, Store>::operator*(Value e) {
105-
using op::operator*;
106-
return static_cast<Value>(*this) * e;
107-
}
108-
template <typename Load, typename Store>
109-
Value TemplatedIndexedValue<Load, Store>::operator/(Value e) {
110-
using op::operator/;
111-
return static_cast<Value>(*this) / e;
112-
}
113-
template <typename Load, typename Store>
114-
Value TemplatedIndexedValue<Load, Store>::operator%(Value e) {
115-
using op::operator%;
116-
return static_cast<Value>(*this) % e;
117-
}
118-
template <typename Load, typename Store>
119-
Value TemplatedIndexedValue<Load, Store>::operator^(Value e) {
120-
using op::operator^;
121-
return static_cast<Value>(*this) ^ e;
122-
}
123-
124-
/// Assignment-arithmetic operator overloadings.
125-
template <typename Load, typename Store>
126-
Store TemplatedIndexedValue<Load, Store>::operator+=(Value e) {
127-
using op::operator+;
128-
return Store(*this + e, getBase(), indices);
129-
}
130-
template <typename Load, typename Store>
131-
Store TemplatedIndexedValue<Load, Store>::operator-=(Value e) {
132-
using op::operator-;
133-
return Store(*this - e, getBase(), indices);
134-
}
135-
template <typename Load, typename Store>
136-
Store TemplatedIndexedValue<Load, Store>::operator*=(Value e) {
137-
using op::operator*;
138-
return Store(*this * e, getBase(), indices);
139-
}
140-
template <typename Load, typename Store>
141-
Store TemplatedIndexedValue<Load, Store>::operator/=(Value e) {
142-
using op::operator/;
143-
return Store(*this / e, getBase(), indices);
144-
}
145-
template <typename Load, typename Store>
146-
Store TemplatedIndexedValue<Load, Store>::operator%=(Value e) {
147-
using op::operator%;
148-
return Store(*this % e, getBase(), indices);
149-
}
150-
template <typename Load, typename Store>
151-
Store TemplatedIndexedValue<Load, Store>::operator^=(Value e) {
152-
using op::operator^;
153-
return Store(*this ^ e, getBase(), indices);
154-
}
155-
156-
/// Logical operator overloadings.
157-
template <typename Load, typename Store>
158-
Value TemplatedIndexedValue<Load, Store>::operator&&(Value e) {
159-
using op::operator&&;
160-
return static_cast<Value>(*this) && e;
161-
}
162-
template <typename Load, typename Store>
163-
Value TemplatedIndexedValue<Load, Store>::operator||(Value e) {
164-
using op::operator||;
165-
return static_cast<Value>(*this) || e;
166-
}
167-
168-
/// Comparison operator overloadings.
169-
template <typename Load, typename Store>
170-
Value TemplatedIndexedValue<Load, Store>::eq(Value e) {
171-
return eq(value, e);
172-
}
173-
template <typename Load, typename Store>
174-
Value TemplatedIndexedValue<Load, Store>::ne(Value e) {
175-
return ne(value, e);
176-
}
177-
template <typename Load, typename Store>
178-
Value TemplatedIndexedValue<Load, Store>::slt(Value e) {
179-
using op::slt;
180-
return slt(static_cast<Value>(*this), e);
181-
}
182-
template <typename Load, typename Store>
183-
Value TemplatedIndexedValue<Load, Store>::sle(Value e) {
184-
using op::sle;
185-
return sle(static_cast<Value>(*this), e);
186-
}
187-
template <typename Load, typename Store>
188-
Value TemplatedIndexedValue<Load, Store>::sgt(Value e) {
189-
using op::sgt;
190-
return sgt(static_cast<Value>(*this), e);
191-
}
192-
template <typename Load, typename Store>
193-
Value TemplatedIndexedValue<Load, Store>::sge(Value e) {
194-
using op::sge;
195-
return sge(static_cast<Value>(*this), e);
196-
}
197-
template <typename Load, typename Store>
198-
Value TemplatedIndexedValue<Load, Store>::ult(Value e) {
199-
using op::ult;
200-
return ult(static_cast<Value>(*this), e);
201-
}
202-
template <typename Load, typename Store>
203-
Value TemplatedIndexedValue<Load, Store>::ule(Value e) {
204-
using op::ule;
205-
return ule(static_cast<Value>(*this), e);
206-
}
207-
template <typename Load, typename Store>
208-
Value TemplatedIndexedValue<Load, Store>::ugt(Value e) {
209-
using op::ugt;
210-
return ugt(static_cast<Value>(*this), e);
211-
}
212-
template <typename Load, typename Store>
213-
Value TemplatedIndexedValue<Load, Store>::uge(Value e) {
214-
using op::uge;
215-
return uge(static_cast<Value>(*this), e);
216-
}
217-
21892
} // namespace edsc
21993
} // namespace mlir
22094

mlir/include/mlir/Dialect/Affine/EDSC/Intrinsics.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,6 @@ using affine_min = ValueBuilder<AffineMinOp>;
2121
using affine_max = ValueBuilder<AffineMaxOp>;
2222
using affine_store = OperationBuilder<AffineStoreOp>;
2323

24-
/// Provide an index notation around affine_load and affine_store.
25-
using AffineIndexedValue = TemplatedIndexedValue<affine_load, affine_store>;
26-
2724
} // namespace intrinsics
2825
} // namespace edsc
2926
} // namespace mlir

mlir/include/mlir/Dialect/Linalg/Utils/Utils.h

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -244,19 +244,15 @@ struct RegionMatcher {
244244
/// Utility class used to generate nested loops with ranges described by
245245
/// `loopRanges` and loop type described by the `iteratorTypes`. `bodyBuilderFn`
246246
/// is used to generate the body of the innermost loop. It is passed a range
247-
/// of loop induction variables.
247+
/// of loop induction variables and a range of iterArgs.
248248
template <typename LoopTy>
249249
struct GenerateLoopNest {
250-
using IndexedValueTy =
251-
typename std::conditional<std::is_same<LoopTy, AffineForOp>::value,
252-
edsc::intrinsics::AffineIndexedValue,
253-
edsc::intrinsics::MemRefIndexedValue>::type;
254-
255-
static void
256-
doit(ArrayRef<Range> loopRanges, LinalgOp linalgOp,
257-
ArrayRef<Attribute> iteratorTypes,
258-
function_ref<scf::ValueVector(ValueRange, ValueRange)> bodyBuilderFn,
259-
Optional<LinalgLoopDistributionOptions> = None);
250+
static void doit(OpBuilder &b, Location loc, ArrayRef<Range> loopRanges,
251+
LinalgOp linalgOp, ArrayRef<Attribute> iteratorTypes,
252+
function_ref<scf::ValueVector(OpBuilder &, Location,
253+
ValueRange, ValueRange)>
254+
bodyBuilderFn,
255+
Optional<LinalgLoopDistributionOptions> = None);
260256
};
261257

262258
} // namespace linalg

mlir/include/mlir/Dialect/MemRef/EDSC/Intrinsics.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,6 @@ using memref_tensor_load = ValueBuilder<memref::TensorLoadOp>;
3131
using memref_tensor_store = OperationBuilder<memref::TensorStoreOp>;
3232
using memref_view = ValueBuilder<memref::ViewOp>;
3333

34-
/// Provide an index notation around memref_load and memref_store.
35-
using MemRefIndexedValue =
36-
TemplatedIndexedValue<intrinsics::memref_load, intrinsics::memref_store>;
3734
} // namespace intrinsics
3835
} // namespace edsc
3936
} // namespace mlir

mlir/include/mlir/Dialect/SCF/EDSC/Builders.h

Lines changed: 0 additions & 56 deletions
This file was deleted.

mlir/include/mlir/Dialect/SCF/EDSC/Intrinsics.h

Lines changed: 0 additions & 24 deletions
This file was deleted.

0 commit comments

Comments
 (0)