aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSameer Sahasrabuddhe <sameer.sahasrabuddhe@amd.com>2023-08-10 12:37:10 +0530
committerSameer Sahasrabuddhe <sameer.sahasrabuddhe@amd.com>2023-08-10 13:27:25 +0530
commitff5cb1ec6209e939adef52b2f0ddde23c370afd6 (patch)
treeba36d0578cc21f4468c931bb2253d676434cd3bc
parent49e0495febec5b88dcbc3c0a8814441e207bd608 (diff)
downloadllvm-ff5cb1ec6209e939adef52b2f0ddde23c370afd6.zip
llvm-ff5cb1ec6209e939adef52b2f0ddde23c370afd6.tar.gz
llvm-ff5cb1ec6209e939adef52b2f0ddde23c370afd6.tar.bz2
[Verifier] add missing checks for convergence control intrinsics
-rw-r--r--llvm/test/Verifier/convergencectrl-invalid.ll11
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/test/Verifier/convergencectrl-invalid.ll b/llvm/test/Verifier/convergencectrl-invalid.ll
index 2067907..d488067 100644
--- a/llvm/test/Verifier/convergencectrl-invalid.ll
+++ b/llvm/test/Verifier/convergencectrl-invalid.ll
@@ -1,5 +1,16 @@
; RUN: not llvm-as < %s -o /dev/null 2>&1 | FileCheck %s
+; CHECK: Entry or anchor intrinsic must not have a convergencectrl bundle.
+; CHECK-NEXT: %t04_tok2 = call token
+; CHECK: Loop intrinsic must have a convergencectrl bundle.
+; CHECK-NEXT: %t04_tok3 = call token
+define void @basic_syntax() {
+ %t04_tok1 = call token @llvm.experimental.convergence.anchor()
+ %t04_tok2 = call token @llvm.experimental.convergence.anchor() [ "convergencectrl"(token %t04_tok1) ]
+ %t04_tok3 = call token @llvm.experimental.convergence.loop()
+ ret void
+}
+
; CHECK: Convergence control tokens can only be produced by calls to the convergence control intrinsics.
; CHECK-NEXT: %t04_tok1 = call token @produce_token()
; CHECK-NEXT: call void @f() [ "convergencectrl"(token %t04_tok1) ]