Support FP16 in getZeroAttr.
authorMLIR Team <no-reply@google.com>
Thu, 6 Jun 2019 05:02:22 +0000 (22:02 -0700)
committerMehdi Amini <joker.eph@gmail.com>
Sun, 9 Jun 2019 23:20:47 +0000 (16:20 -0700)
PiperOrigin-RevId: 251783931

mlir/include/mlir/IR/Builders.h
mlir/lib/IR/Builders.cpp

index 52a78ed..c192806 100644 (file)
@@ -132,6 +132,7 @@ public:
   Attribute getZeroAttr(Type type);
 
   // Convenience methods for fixed types.
+  FloatAttr getF16FloatAttr(float value);
   FloatAttr getF32FloatAttr(float value);
   FloatAttr getF64FloatAttr(double value);
   IntegerAttr getI32IntegerAttr(int32_t value);
index ac06609..63efe47 100644 (file)
@@ -147,6 +147,10 @@ FloatAttr Builder::getF32FloatAttr(float value) {
   return FloatAttr::get(getF32Type(), APFloat(value));
 }
 
+FloatAttr Builder::getF16FloatAttr(float value) {
+  return FloatAttr::get(getF16Type(), value);
+}
+
 FloatAttr Builder::getFloatAttr(Type type, double value) {
   return FloatAttr::get(type, value);
 }
@@ -242,6 +246,8 @@ ArrayAttr Builder::getStrArrayAttr(ArrayRef<StringRef> values) {
 
 Attribute Builder::getZeroAttr(Type type) {
   switch (type.getKind()) {
+  case StandardTypes::F16:
+    return getF16FloatAttr(0);
   case StandardTypes::F32:
     return getF32FloatAttr(0);
   case StandardTypes::F64: