https://github.com/arsenm created https://github.com/llvm/llvm-project/pull/133857
Seems to work correctly but wasn't tested. >From 4182da49f37add4eff4c2e3acd32a609ef985338 Mon Sep 17 00:00:00 2001 From: Matt Arsenault <matthew.arsena...@amd.com> Date: Tue, 1 Apr 2025 11:48:22 +0700 Subject: [PATCH] llvm-reduce: Add test for token handling in operands-skip Seems to work correctly but wasn't tested. --- .../llvm-reduce/reduce-operands-skip-token.ll | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 llvm/test/tools/llvm-reduce/reduce-operands-skip-token.ll diff --git a/llvm/test/tools/llvm-reduce/reduce-operands-skip-token.ll b/llvm/test/tools/llvm-reduce/reduce-operands-skip-token.ll new file mode 100644 index 0000000000000..1202974333b5b --- /dev/null +++ b/llvm/test/tools/llvm-reduce/reduce-operands-skip-token.ll @@ -0,0 +1,27 @@ +; Check token values are correctly handled by operands-skip + +; RUN: llvm-reduce --abort-on-invalid-reduction --delta-passes=operands-skip --test FileCheck --test-arg --check-prefix=INTERESTING --test-arg %s --test-arg --input-file %s -o %t +; RUN: FileCheck -check-prefix=RESULT %s < %t + +; INTERESTING-LABEL: define void @tokens( +; INTERESTING: call void @llvm.token.consumer + +; RESULT-LABEL: define void @tokens(ptr %ptr) { +; RESULT-NEXT: %token = call token @llvm.token.producer() +; RESULT-NEXT:store i32 0, ptr %ptr, align 4 +; RESULT-NEXT:%chain = call token @llvm.token.chain(token %token) +; RESULT-NEXT:call void @llvm.token.consumer(token %token) +; RESULT-NEXT:store i32 1, ptr %ptr, align 4 +; RESULT-NEXT:ret void +define void @tokens(ptr %ptr) { + %token = call token @llvm.token.producer() + store i32 0, ptr %ptr + %chain = call token @llvm.token.chain(token %token) + call void @llvm.token.consumer(token %chain) ; -> rewrite to use %token directly + store i32 1, ptr %ptr + ret void +} + +declare token @llvm.token.producer() +declare token @llvm.token.chain(token) +declare void @llvm.token.consumer(token) _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits