[Mlir-commits] [mlir] 44fbeb3 - [mlir][vector] Use `llvm::Align` when constructing vector load and stores. (#152207)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Thu Aug 7 08:12:20 PDT 2025
Author: Erick Ochoa Lopez
Date: 2025-08-07T11:12:16-04:00
New Revision: 44fbeb3215f31ace95ea2a7e88121920e813db5d
URL: https://github.com/llvm/llvm-project/commit/44fbeb3215f31ace95ea2a7e88121920e813db5d
DIFF: https://github.com/llvm/llvm-project/commit/44fbeb3215f31ace95ea2a7e88121920e813db5d.diff
LOG: [mlir][vector] Use `llvm::Align` when constructing vector load and stores. (#152207)
This patchset uses `llvm::Align` when constructing `vector.{load,store}`
operations. The use of `llvm::Align` allows us to specify the unit of
alignment and strongly type alignment as opposed to having just unsigned
integers.
Added:
Modified:
mlir/include/mlir/Dialect/Vector/IR/VectorOps.h
mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
Removed:
################################################################################
diff --git a/mlir/include/mlir/Dialect/Vector/IR/VectorOps.h b/mlir/include/mlir/Dialect/Vector/IR/VectorOps.h
index 364c1728715e8..63410b8bea747 100644
--- a/mlir/include/mlir/Dialect/Vector/IR/VectorOps.h
+++ b/mlir/include/mlir/Dialect/Vector/IR/VectorOps.h
@@ -32,6 +32,7 @@
#include "mlir/Interfaces/ViewLikeInterface.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/StringExtras.h"
+#include "llvm/Support/Alignment.h"
// Pull in all enum type definitions and utility function declarations.
#include "mlir/Dialect/Vector/IR/VectorEnums.h.inc"
diff --git a/mlir/include/mlir/Dialect/Vector/IR/VectorOps.td b/mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
index dc55704c36183..eeedf68a1df7c 100644
--- a/mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
+++ b/mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
@@ -1729,18 +1729,18 @@ def Vector_LoadOp : Vector_Op<"load", [
"Value":$base,
"ValueRange":$indices,
CArg<"bool", "false">:$nontemporal,
- CArg<"uint64_t", "0">:$alignment), [{
+ CArg<"llvm::Align", "llvm::Align()">:$alignment), [{
return build($_builder, $_state, resultType, base, indices, nontemporal,
- alignment != 0 ? $_builder.getI64IntegerAttr(alignment) :
+ alignment != llvm::Align() ? $_builder.getI64IntegerAttr(alignment.value()) :
nullptr);
}]>,
OpBuilder<(ins "TypeRange":$resultTypes,
"Value":$base,
"ValueRange":$indices,
CArg<"bool", "false">:$nontemporal,
- CArg<"uint64_t", "0">:$alignment), [{
+ CArg<"llvm::Align", "llvm::Align()">:$alignment), [{
return build($_builder, $_state, resultTypes, base, indices, nontemporal,
- alignment != 0 ? $_builder.getI64IntegerAttr(alignment) :
+ alignment != llvm::Align() ? $_builder.getI64IntegerAttr(alignment.value()) :
nullptr);
}]>
];
@@ -1847,9 +1847,9 @@ def Vector_StoreOp : Vector_Op<"store", [
"Value":$base,
"ValueRange":$indices,
CArg<"bool", "false">:$nontemporal,
- CArg<"uint64_t", "0">:$alignment), [{
+ CArg<"llvm::Align", "llvm::Align()">:$alignment), [{
return build($_builder, $_state, valueToStore, base, indices, nontemporal,
- alignment != 0 ? $_builder.getI64IntegerAttr(alignment) :
+ alignment != llvm::Align() ? $_builder.getI64IntegerAttr(alignment.value()) :
nullptr);
}]>
];
More information about the Mlir-commits
mailing list