[Mlir-commits] [mlir] [MLIR][LLVM] Tail call support for inline asm op (PR #140826)

Tobias Gysi llvmlistbot at llvm.org
Tue May 20 22:57:42 PDT 2025


================
@@ -2298,13 +2298,18 @@ def LLVM_InlineAsmOp : LLVM_Op<"inline_asm", [DeclareOpInterfaceMethods<MemoryEf
     written, or referenced.
     Attempting to define or reference any symbol or any global behavior is
     considered undefined behavior at this time.
+    If `tail_call_kind` is used, the operation behaves like the specified
+    tail call kind. The `musttail` kind it's not available for this operation,
+    since it isn't supported by LLVM's inline asm.
   }];
   let arguments = (
     ins Variadic<LLVM_Type>:$operands,
         StrAttr:$asm_string,
         StrAttr:$constraints,
         UnitAttr:$has_side_effects,
         UnitAttr:$is_align_stack,
+        OptionalAttr<
+        DefaultValuedAttr<TailCallKind, "TailCallKind::None">>:$tail_call_kind,
----------------
gysit wrote:

```suggestion
          DefaultValuedAttr<TailCallKind, "TailCallKind::None">>:$tail_call_kind,
```
nit: same indent as below. Is the OptionalAttr needed? Couldn't we use TailCallKind::None as there is no tailcall kind defined?

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


More information about the Mlir-commits mailing list