[llvm-branch-commits] [llvm] [mlir] [mlir][LLVM] add argument and result attributes to llvm.call (PR #123177)

Tobias Gysi via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Sat Feb 1 11:41:29 PST 2025


================
@@ -265,6 +265,27 @@ convertOperationImpl(Operation &opInst, llvm::IRBuilderBase &builder,
     if (callOp.getWillReturnAttr())
       call->addFnAttr(llvm::Attribute::WillReturn);
 
+    if (ArrayAttr argAttrsArray = callOp.getArgAttrsAttr())
+      for (auto [argIdx, argAttrsAttr] : llvm::enumerate(argAttrsArray)) {
+        if (auto argAttrs = llvm::cast<DictionaryAttr>(argAttrsAttr)) {
+          FailureOr<llvm::AttrBuilder> attrBuilder =
+              moduleTranslation.convertParameterAttrs(callOp, argIdx, argAttrs);
+          if (failed(attrBuilder))
+            return failure();
+          call->addParamAttrs(argIdx, *attrBuilder);
+        }
+      }
+
+    ArrayAttr resAttrsArray = callOp.getResAttrsAttr();
+    if (resAttrsArray && resAttrsArray.size() == 1)
+      if (auto resAttrs = llvm::cast<DictionaryAttr>(resAttrsArray[0])) {
----------------
gysit wrote:

```suggestion
    if (resAttrsArray && resAttrsArray.size() == 1) {
      if (auto resAttrs = llvm::cast<DictionaryAttr>(resAttrsArray[0])) {
```
nit: missing braces

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


More information about the llvm-branch-commits mailing list