#include "mlir/IR/BuiltinAttributes.h" #include "AttributeUtils.hpp" using namespace mlir; namespace onnx_mlir { int64_t getI64Attr(ArrayAttr attr, size_t index) { return cast(attr[index]).getInt(); } int64_t getOptionalI64Attr(std::optional attr, size_t index, int64_t defaultValue) { return attr ? getI64Attr(*attr, index) : defaultValue; } llvm::SmallVector getI64ArrayAttrValues(ArrayAttr attr) { llvm::SmallVector values; values.reserve(attr.size()); for (Attribute value : attr) values.push_back(cast(value).getInt()); return values; } } // namespace onnx_mlir