summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mlir/include/mlir/IR/Builders.h12
-rw-r--r--mlir/lib/IR/Builders.cpp10
-rw-r--r--mlir/lib/StandardOps/StandardOps.cpp2
-rw-r--r--mlir/lib/Transforms/PipelineDataTransfer.cpp2
4 files changed, 15 insertions, 11 deletions
diff --git a/mlir/include/mlir/IR/Builders.h b/mlir/include/mlir/IR/Builders.h
index 3525c31e099..fe6e1fffff1 100644
--- a/mlir/include/mlir/IR/Builders.h
+++ b/mlir/include/mlir/IR/Builders.h
@@ -96,17 +96,11 @@ public:
UnrankedTensorType getTensorType(Type elementType);
// Attributes.
-
BoolAttr getBoolAttr(bool value);
IntegerAttr getIntegerAttr(Type type, int64_t value);
IntegerAttr getIntegerAttr(Type type, const APInt &value);
FloatAttr getFloatAttr(Type type, double value);
FloatAttr getFloatAttr(Type type, const APFloat &value);
- // Convenience methods that assumes fixed type.
- // TODO(jpienaar): remove these.
- IntegerAttr getIntegerAttr(int64_t value);
- FloatAttr getFloatAttr(double value);
- FloatAttr getFloatAttr(float value);
StringAttr getStringAttr(StringRef bytes);
ArrayAttr getArrayAttr(ArrayRef<Attribute> value);
AffineMapAttr getAffineMapAttr(AffineMap map);
@@ -121,6 +115,12 @@ public:
DenseElementsAttr values);
ElementsAttr getOpaqueElementsAttr(VectorOrTensorType type, StringRef bytes);
+ // Convenience methods for fixed types.
+ FloatAttr getF32FloatAttr(float value);
+ FloatAttr getF64FloatAttr(double value);
+ IntegerAttr getI32IntegerAttr(int32_t value);
+ IntegerAttr getI64IntegerAttr(int64_t value);
+
// Affine expressions and affine maps.
AffineExpr getAffineDimExpr(unsigned position);
AffineExpr getAffineSymbolExpr(unsigned position);
diff --git a/mlir/lib/IR/Builders.cpp b/mlir/lib/IR/Builders.cpp
index 7ecc5e9f090..67b09c5aa6e 100644
--- a/mlir/lib/IR/Builders.cpp
+++ b/mlir/lib/IR/Builders.cpp
@@ -121,10 +121,14 @@ BoolAttr Builder::getBoolAttr(bool value) {
return BoolAttr::get(value, context);
}
-IntegerAttr Builder::getIntegerAttr(int64_t value) {
+IntegerAttr Builder::getI64IntegerAttr(int64_t value) {
return IntegerAttr::get(getIntegerType(64), APInt(64, value));
}
+IntegerAttr Builder::getI32IntegerAttr(int32_t value) {
+ return IntegerAttr::get(getIntegerType(32), APInt(32, value));
+}
+
IntegerAttr Builder::getIntegerAttr(Type type, int64_t value) {
if (type.isIndex())
return IntegerAttr::get(type, APInt(64, value));
@@ -135,11 +139,11 @@ IntegerAttr Builder::getIntegerAttr(Type type, const APInt &value) {
return IntegerAttr::get(type, value);
}
-FloatAttr Builder::getFloatAttr(double value) {
+FloatAttr Builder::getF64FloatAttr(double value) {
return FloatAttr::get(getF64Type(), APFloat(value));
}
-FloatAttr Builder::getFloatAttr(float value) {
+FloatAttr Builder::getF32FloatAttr(float value) {
return FloatAttr::get(getF32Type(), APFloat(value));
}
diff --git a/mlir/lib/StandardOps/StandardOps.cpp b/mlir/lib/StandardOps/StandardOps.cpp
index c1ad9763518..9613c56daf0 100644
--- a/mlir/lib/StandardOps/StandardOps.cpp
+++ b/mlir/lib/StandardOps/StandardOps.cpp
@@ -535,7 +535,7 @@ bool CmpIOp::parse(OpAsmParser *parser, OperationState *result) {
"unknown comparison predicate \"" +
Twine(predicateName.getValue()) + "\"");
auto builder = parser->getBuilder();
- attrs[0].second = builder.getIntegerAttr(static_cast<int64_t>(predicate));
+ attrs[0].second = builder.getI64IntegerAttr(static_cast<int64_t>(predicate));
result->attributes = attrs;
result->addTypes({getI1SameShape(&builder, type)});
diff --git a/mlir/lib/Transforms/PipelineDataTransfer.cpp b/mlir/lib/Transforms/PipelineDataTransfer.cpp
index 8d75bfbd7ae..13d3ea92307 100644
--- a/mlir/lib/Transforms/PipelineDataTransfer.cpp
+++ b/mlir/lib/Transforms/PipelineDataTransfer.cpp
@@ -357,7 +357,7 @@ PassResult PipelineDataTransfer::runOnForStmt(ForStmt *forStmt) {
if (auto *opStmt = dyn_cast<OperationStmt>(&stmt)) {
MLFuncBuilder b(opStmt);
opStmt->setAttr(b.getIdentifier("shift"),
- b.getIntegerAttr(shifts[s - 1]));
+ b.getI64IntegerAttr(shifts[s - 1]));
});
}
OpenPOWER on IntegriCloud