[Mlir-commits] [mlir] [mlir][spirv] Add support for SPV_ARM_graph extension (PR #147937)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Thu Jul 10 04:09:03 PDT 2025


github-actions[bot] wrote:

<!--LLVM CODE FORMAT COMMENT: {clang-format}-->


:warning: C/C++ code formatter, clang-format found issues in your code. :warning:

<details>
<summary>
You can test this locally with the following command:
</summary>

``````````bash
git-clang-format --diff HEAD~1 HEAD --extensions h,cpp -- mlir/include/mlir/IR/Builders.h mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp mlir/lib/Dialect/SPIRV/IR/SPIRVOpDefinition.cpp mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp mlir/lib/Dialect/SPIRV/Transforms/LowerABIAttributesPass.cpp mlir/lib/Dialect/SPIRV/Transforms/UpdateVCEPass.cpp mlir/lib/IR/AsmPrinter.cpp mlir/lib/IR/Builders.cpp mlir/lib/IR/BuiltinTypes.cpp mlir/lib/Target/SPIRV/Deserialization/DeserializeOps.cpp mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp mlir/lib/Target/SPIRV/Deserialization/Deserializer.h mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp mlir/lib/Target/SPIRV/Serialization/Serializer.cpp mlir/lib/Target/SPIRV/Serialization/Serializer.h mlir/test/lib/Dialect/SPIRV/TestAvailability.cpp
``````````

</details>

<details>
<summary>
View the diff from clang-format here.
</summary>

``````````diff
diff --git a/mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp b/mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
index e66d4b0ff..4b8ed0824 100644
--- a/mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
+++ b/mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
@@ -1019,14 +1019,15 @@ LogicalResult SPIRVDialect::verifyRegionArgAttribute(Operation *op,
   return verifyRegionAttribute(op->getLoc(), argType, attribute);
 }
 
-LogicalResult SPIRVDialect::verifyRegionResultAttribute(Operation *op,
-                                                        unsigned regionIndex,
-                                                        unsigned resultIndex,
-                                                        NamedAttribute attribute) {
+LogicalResult
+SPIRVDialect::verifyRegionResultAttribute(Operation *op, unsigned regionIndex,
+                                          unsigned resultIndex,
+                                          NamedAttribute attribute) {
   auto funcOp = dyn_cast<FunctionOpInterface>(op);
   if (!funcOp)
-    return op->emitError("cannot attach SPIR-V attributes to region result which is "
-                         "not a FunctionOpInterface type");
-  return verifyRegionAttribute(
-      op->getLoc(), funcOp.getResultTypes()[resultIndex], attribute);
+    return op->emitError(
+        "cannot attach SPIR-V attributes to region result which is "
+        "not a FunctionOpInterface type");
+  return verifyRegionAttribute(op->getLoc(),
+                               funcOp.getResultTypes()[resultIndex], attribute);
 }
diff --git a/mlir/lib/IR/BuiltinTypes.cpp b/mlir/lib/IR/BuiltinTypes.cpp
index 0ed2549bc..ce47c60c9 100644
--- a/mlir/lib/IR/BuiltinTypes.cpp
+++ b/mlir/lib/IR/BuiltinTypes.cpp
@@ -185,15 +185,11 @@ FunctionType::getWithoutArgsAndResults(const BitVector &argIndices,
 
 unsigned GraphType::getNumInputs() const { return getImpl()->numInputs; }
 
-ArrayRef<Type> GraphType::getInputs() const {
-  return getImpl()->getInputs();
-}
+ArrayRef<Type> GraphType::getInputs() const { return getImpl()->getInputs(); }
 
 unsigned GraphType::getNumResults() const { return getImpl()->numResults; }
 
-ArrayRef<Type> GraphType::getResults() const {
-  return getImpl()->getResults();
-}
+ArrayRef<Type> GraphType::getResults() const { return getImpl()->getResults(); }
 
 GraphType GraphType::clone(TypeRange inputs, TypeRange results) const {
   return get(getContext(), inputs, results);
@@ -215,7 +211,7 @@ GraphType GraphType::getWithArgsAndResults(ArrayRef<unsigned> argIndices,
 
 /// Returns a new function type without the specified arguments and results.
 GraphType GraphType::getWithoutArgsAndResults(const BitVector &argIndices,
-                                            const BitVector &resultIndices) {
+                                              const BitVector &resultIndices) {
   SmallVector<Type> argStorage, resultStorage;
   TypeRange newArgTypes = filterTypesOut(getInputs(), argIndices, argStorage);
   TypeRange newResultTypes =
diff --git a/mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp b/mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp
index ffed7ad7e..4a8b10001 100644
--- a/mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp
+++ b/mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp
@@ -429,7 +429,8 @@ Serializer::processGraphEntryPointARMOp(spirv::GraphEntryPointARMOp op) {
   return success();
 }
 
-LogicalResult Serializer::processGraphOutputsARMOp(spirv::GraphOutputsARMOp op) {
+LogicalResult
+Serializer::processGraphOutputsARMOp(spirv::GraphOutputsARMOp op) {
   for (auto [idx, value] : llvm::enumerate(op->getOperands())) {
     SmallVector<uint32_t, 2> outputOperands;
 
diff --git a/mlir/lib/Target/SPIRV/Serialization/Serializer.cpp b/mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
index cbbfdc247..b5ba5c918 100644
--- a/mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
+++ b/mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
@@ -1402,8 +1402,9 @@ LogicalResult Serializer::processOperation(Operation *opInst) {
       .Case([&](spirv::GraphEntryPointARMOp op) {
         return processGraphEntryPointARMOp(op);
       })
-      .Case(
-          [&](spirv::GraphOutputsARMOp op) { return processGraphOutputsARMOp(op); })
+      .Case([&](spirv::GraphOutputsARMOp op) {
+        return processGraphOutputsARMOp(op);
+      })
       .Case([&](spirv::GlobalVariableOp op) {
         return processGlobalVariableOp(op);
       })

``````````

</details>


https://github.com/llvm/llvm-project/pull/147937


More information about the Mlir-commits mailing list