[Mlir-commits] [mlir] [mlir][SPIRV] Support Alignment and FuncParamAttr on parameters (PR #231069)

Kazu Hirata llvmlistbot at llvm.org
Sun Oct 11 23:09:48 PDT 2026


================
@@ -485,13 +508,18 @@ LogicalResult spirv::Deserializer::processMemberName(ArrayRef<uint32_t> words) {
 
 LogicalResult spirv::Deserializer::setFunctionArgAttrs(
     uint32_t argID, SmallVectorImpl<Attribute> &argAttrs, size_t argIndex) {
-  if (!decorations.contains(argID)) {
-    argAttrs[argIndex] = DictionaryAttr::get(context, {});
-    return success();
-  }
-
   spirv::DecorationAttr foundDecorationAttr;
+  NamedAttrList attributes;
+  if (auto attrs = functionParameterAttrs.lookup(argID)) {
+    attributes.set("spirv.func_param_attr", attrs);
+    functionParameterAttrs.erase(argID);
----------------
kazutakahirata wrote:

Could we avoid duplicate hash lookups here?
```suggestion
  if (auto it = functionParameterAttrs.find(argID);
      it != functionParameterAttrs.end()) {
    attributes.set("spirv.func_param_attr", it->second);
    functionParameterAttrs.erase(it);
```

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


More information about the Mlir-commits mailing list