forked from OSchip/llvm-project
Revert "[MLIR] Expose `getAsValues` in `StaticValueUtils.h` (NFC)"
This reverts commit 730ae80d3e
.
It fails with a linking errors: `undefined reference to
`mlir::getValueOrCreateConstantIndexOp` in `libMLIRDialectUtils`.
This commit is contained in:
parent
939c5cf6a7
commit
941d122370
|
@ -80,13 +80,6 @@ bool isConstantIntValue(OpFoldResult ofr, int64_t value);
|
|||
/// no IndexAttr and that IndexType have no bitwidth.
|
||||
bool isEqualConstantIntOrValue(OpFoldResult ofr1, OpFoldResult ofr2);
|
||||
|
||||
/// Helper function to convert a vector of `OpFoldResult`s into a vector of
|
||||
/// `Value`s. For each `OpFoldResult` in `valueOrAttrVec` return the fold result
|
||||
/// if it casts to a `Value` or create an index-type constant if it casts to
|
||||
/// `IntegerAttr`. No other attribute types are supported.
|
||||
SmallVector<Value> getAsValues(OpBuilder &b, Location loc,
|
||||
ArrayRef<OpFoldResult> valueOrAttrVec);
|
||||
|
||||
} // namespace mlir
|
||||
|
||||
#endif // MLIR_DIALECT_UTILS_STATICVALUEUTILS_H
|
||||
|
|
|
@ -8,8 +8,8 @@
|
|||
|
||||
#include "mlir/Dialect/Tensor/IR/TensorInferTypeOpInterfaceImpl.h"
|
||||
#include "mlir/Dialect/Affine/IR/AffineOps.h"
|
||||
#include "mlir/Dialect/Arithmetic/Utils/Utils.h"
|
||||
#include "mlir/Dialect/Tensor/IR/Tensor.h"
|
||||
#include "mlir/Dialect/Utils/StaticValueUtils.h"
|
||||
#include "mlir/Interfaces/InferTypeOpInterface.h"
|
||||
|
||||
using namespace mlir;
|
||||
|
@ -134,6 +134,16 @@ getReshapeOutputShapeFromInputShape(OpBuilder &builder, Location loc, Value src,
|
|||
builder, loc, src, dstStaticShape, reassocation);
|
||||
}
|
||||
|
||||
/// Helper function to convert a vector of `OpFoldResult`s into a vector of
|
||||
/// `Value`s.
|
||||
static SmallVector<Value> getAsValues(OpBuilder &b, Location loc,
|
||||
ArrayRef<OpFoldResult> valueOrAttrVec) {
|
||||
return llvm::to_vector<4>(
|
||||
llvm::map_range(valueOrAttrVec, [&](OpFoldResult value) -> Value {
|
||||
return getValueOrCreateConstantIndexOp(b, loc, value);
|
||||
}));
|
||||
}
|
||||
|
||||
template <typename OpTy>
|
||||
struct ReifyExpandOrCollapseShapeOp
|
||||
: public ReifyRankedShapedTypeOpInterface::ExternalModel<
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "mlir/Dialect/Utils/StaticValueUtils.h"
|
||||
#include "mlir/Dialect/Arithmetic/Utils/Utils.h"
|
||||
#include "mlir/IR/Matchers.h"
|
||||
#include "mlir/Support/LLVM.h"
|
||||
#include "llvm/ADT/APSInt.h"
|
||||
|
@ -125,16 +124,4 @@ bool isEqualConstantIntOrValue(OpFoldResult ofr1, OpFoldResult ofr2) {
|
|||
auto v1 = ofr1.dyn_cast<Value>(), v2 = ofr2.dyn_cast<Value>();
|
||||
return v1 && v1 == v2;
|
||||
}
|
||||
|
||||
/// Helper function to convert a vector of `OpFoldResult`s into a vector of
|
||||
/// `Value`s. For each `OpFoldResult` in `valueOrAttrVec` return the fold result
|
||||
/// if it casts to a `Value` or create an index-type constant if it casts to
|
||||
/// `IntegerAttr`. No other attribute types are supported.
|
||||
SmallVector<Value> getAsValues(OpBuilder &b, Location loc,
|
||||
ArrayRef<OpFoldResult> valueOrAttrVec) {
|
||||
return llvm::to_vector<4>(
|
||||
llvm::map_range(valueOrAttrVec, [&](OpFoldResult value) -> Value {
|
||||
return getValueOrCreateConstantIndexOp(b, loc, value);
|
||||
}));
|
||||
}
|
||||
} // namespace mlir
|
||||
|
|
Loading…
Reference in New Issue