[Mlir-commits] [mlir] [mlir] Added new attributes to the llvm.call op in llvmir target (PR #99663)
Victor Perez
llvmlistbot at llvm.org
Mon Jul 22 02:55:58 PDT 2024
================
@@ -0,0 +1,53 @@
+; RUN: mlir-translate -import-llvm -split-input-file %s | FileCheck %s
+
+; CHECK: llvm.func @f()
+declare void @f()
+
+; CHECK-LABEL: @call_convergent
+define void @call_convergent() {
+; CHECK: llvm.call @f() {convergent}
+ call void @f() convergent
+ ret void
+}
+
+// -----
+
+; CHECK: llvm.func @f()
+declare void @f()
+
+; CHECK-LABEL: @call_no_unwind
+define void @call_no_unwind() {
+; CHECK: llvm.call @f() {no_unwind}
+ call void @f() nounwind
+ ret void
+}
+
+// -----
+
+; CHECK: llvm.func @f()
+declare void @f()
+
+; CHECK-LABEL: @call_will_return
+define void @call_will_return() {
+; CHECK: llvm.call @f() {will_return}
+ call void @f() willreturn
+ ret void
+}
+
+// -----
+
+; CHECK: llvm.func @f()
+declare void @f()
+
+; CHECK-LABEL: @call_will_return
+define void @call_will_return() {
+; CHECK: llvm.call @f() {memory = #llvm.memory_effects<other = none, argMem = none, inaccessibleMem = none>}
+ call void @f() memory(none)
+; CHECK: llvm.call @f() {memory = #llvm.memory_effects<other = none, argMem = write, inaccessibleMem = read>}
+ call void @f() memory(none, inaccessiblemem: read, argmem: write)
----------------
victor-eds wrote:
Really a nit, but can we sort?
```suggestion
; CHECK: llvm.call @f() {memory = #llvm.memory_effects<other = none, argMem = write, inaccessibleMem = read>}
call void @f() memory(none, argmem: write, inaccessiblemem: read)
```
https://github.com/llvm/llvm-project/pull/99663
More information about the Mlir-commits
mailing list