Skip to content

Conversation

@AlexMaclean
Copy link
Member

@AlexMaclean AlexMaclean commented Dec 19, 2025

Fixes an oversight in the PTX instruction names used in #172541.

@AlexMaclean AlexMaclean self-assigned this Dec 19, 2025
@llvmbot
Copy link
Member

llvmbot commented Dec 19, 2025

@llvm/pr-subscribers-backend-nvptx

Author: Alex MacLean (AlexMaclean)

Changes

Full diff: https://github.com/llvm/llvm-project/pull/172945.diff

2 Files Affected:

  • (modified) llvm/lib/Target/NVPTX/NVPTXIntrinsics.td (+13-13)
  • (modified) llvm/test/CodeGen/NVPTX/barrier.ll (+48-48)
diff --git a/llvm/lib/Target/NVPTX/NVPTXIntrinsics.td b/llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
index b145e1d53f46c..0303fd15a001a 100644
--- a/llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
+++ b/llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
@@ -151,19 +151,19 @@ defm BARRIER_CTA_SYNC_ALL : BARRIER_ALL<"barrier.sync", int_nvvm_barrier_cta_syn
 defm BARRIER_CTA_SYNC : BARRIER_COUNT<"barrier.sync", int_nvvm_barrier_cta_sync_count, [hasPTX<60>]>;
 defm BARRIER_CTA_ARRIVE : BARRIER_COUNT<"barrier.arrive", int_nvvm_barrier_cta_arrive_count, [hasPTX<60>]>;
 
-defm BARRIER_CTA_RED_POPC_ALIGNED_ALL : BARRIER_RED_ALL<"bar.red.popc", int_nvvm_barrier_cta_red_popc_aligned_all, I32RT>;
-defm BARRIER_CTA_RED_AND_ALIGNED_ALL : BARRIER_RED_ALL<"bar.red.and", int_nvvm_barrier_cta_red_and_aligned_all, I1RT>;
-defm BARRIER_CTA_RED_OR_ALIGNED_ALL : BARRIER_RED_ALL<"bar.red.or", int_nvvm_barrier_cta_red_or_aligned_all, I1RT>;
-defm BARRIER_CTA_RED_POPC_ALIGNED : BARRIER_RED_COUNT<"bar.red.popc", int_nvvm_barrier_cta_red_popc_aligned_count, I32RT>;
-defm BARRIER_CTA_RED_AND_ALIGNED : BARRIER_RED_COUNT<"bar.red.and", int_nvvm_barrier_cta_red_and_aligned_count, I1RT>;
-defm BARRIER_CTA_RED_OR_ALIGNED : BARRIER_RED_COUNT<"bar.red.or", int_nvvm_barrier_cta_red_or_aligned_count, I1RT>;
-
-defm BARRIER_CTA_RED_POPC_ALL : BARRIER_RED_ALL<"barrier.red.popc", int_nvvm_barrier_cta_red_popc_all, I32RT, [hasPTX<60>]>;
-defm BARRIER_CTA_RED_AND_ALL : BARRIER_RED_ALL<"barrier.red.and", int_nvvm_barrier_cta_red_and_all, I1RT, [hasPTX<60>]>;
-defm BARRIER_CTA_RED_OR_ALL : BARRIER_RED_ALL<"barrier.red.or", int_nvvm_barrier_cta_red_or_all, I1RT, [hasPTX<60>]>;
-defm BARRIER_CTA_RED_POPC_COUNT : BARRIER_RED_COUNT<"barrier.red.popc", int_nvvm_barrier_cta_red_popc_count, I32RT, [hasPTX<60>]>;
-defm BARRIER_CTA_RED_AND_COUNT : BARRIER_RED_COUNT<"barrier.red.and", int_nvvm_barrier_cta_red_and_count, I1RT, [hasPTX<60>]>;
-defm BARRIER_CTA_RED_OR_COUNT : BARRIER_RED_COUNT<"barrier.red.or", int_nvvm_barrier_cta_red_or_count, I1RT, [hasPTX<60>]>;
+defm BARRIER_CTA_RED_POPC_ALIGNED_ALL : BARRIER_RED_ALL<"bar.red.popc.u32", int_nvvm_barrier_cta_red_popc_aligned_all, I32RT>;
+defm BARRIER_CTA_RED_AND_ALIGNED_ALL : BARRIER_RED_ALL<"bar.red.and.pred", int_nvvm_barrier_cta_red_and_aligned_all, I1RT>;
+defm BARRIER_CTA_RED_OR_ALIGNED_ALL : BARRIER_RED_ALL<"bar.red.or.pred", int_nvvm_barrier_cta_red_or_aligned_all, I1RT>;
+defm BARRIER_CTA_RED_POPC_ALIGNED : BARRIER_RED_COUNT<"bar.red.popc.u32", int_nvvm_barrier_cta_red_popc_aligned_count, I32RT>;
+defm BARRIER_CTA_RED_AND_ALIGNED : BARRIER_RED_COUNT<"bar.red.and.pred", int_nvvm_barrier_cta_red_and_aligned_count, I1RT>;
+defm BARRIER_CTA_RED_OR_ALIGNED : BARRIER_RED_COUNT<"bar.red.or.pred", int_nvvm_barrier_cta_red_or_aligned_count, I1RT>;
+
+defm BARRIER_CTA_RED_POPC_ALL : BARRIER_RED_ALL<"barrier.red.popc.u32", int_nvvm_barrier_cta_red_popc_all, I32RT, [hasPTX<60>]>;
+defm BARRIER_CTA_RED_AND_ALL : BARRIER_RED_ALL<"barrier.red.and.pred", int_nvvm_barrier_cta_red_and_all, I1RT, [hasPTX<60>]>;
+defm BARRIER_CTA_RED_OR_ALL : BARRIER_RED_ALL<"barrier.red.or.pred", int_nvvm_barrier_cta_red_or_all, I1RT, [hasPTX<60>]>;
+defm BARRIER_CTA_RED_POPC_COUNT : BARRIER_RED_COUNT<"barrier.red.popc.u32", int_nvvm_barrier_cta_red_popc_count, I32RT, [hasPTX<60>]>;
+defm BARRIER_CTA_RED_AND_COUNT : BARRIER_RED_COUNT<"barrier.red.and.pred", int_nvvm_barrier_cta_red_and_count, I1RT, [hasPTX<60>]>;
+defm BARRIER_CTA_RED_OR_COUNT : BARRIER_RED_COUNT<"barrier.red.or.pred", int_nvvm_barrier_cta_red_or_count, I1RT, [hasPTX<60>]>;
 
 class INT_BARRIER_CLUSTER<string variant, Intrinsic Intr,
                           list<Predicate> Preds = [hasPTX<78>, hasSM<90>]>:
diff --git a/llvm/test/CodeGen/NVPTX/barrier.ll b/llvm/test/CodeGen/NVPTX/barrier.ll
index c785f09fcf87e..957a3ab59b591 100644
--- a/llvm/test/CodeGen/NVPTX/barrier.ll
+++ b/llvm/test/CodeGen/NVPTX/barrier.ll
@@ -147,10 +147,10 @@ define void @barrier_cta_red_popc_all(i32 %id, i1 %pred) {
 ; CHECK-NEXT:    and.b16 %rs2, %rs1, 1;
 ; CHECK-NEXT:    setp.ne.b16 %p1, %rs2, 0;
 ; CHECK-NEXT:    ld.param.b32 %r1, [barrier_cta_red_popc_all_param_0];
-; CHECK-NEXT:    bar.red.popc %r2, %r1, %p1;
-; CHECK-NEXT:    bar.red.popc %r3, 3, %p1;
-; CHECK-NEXT:    barrier.red.popc %r4, %r1, %p1;
-; CHECK-NEXT:    barrier.red.popc %r5, 3, %p1;
+; CHECK-NEXT:    bar.red.popc.u32 %r2, %r1, %p1;
+; CHECK-NEXT:    bar.red.popc.u32 %r3, 3, %p1;
+; CHECK-NEXT:    barrier.red.popc.u32 %r4, %r1, %p1;
+; CHECK-NEXT:    barrier.red.popc.u32 %r5, 3, %p1;
 ; CHECK-NEXT:    ret;
   %v1 = call i32 @llvm.nvvm.barrier.cta.red.popc.aligned.all(i32 %id, i1 %pred)
   %v2 = call i32 @llvm.nvvm.barrier.cta.red.popc.aligned.all(i32 3, i1 %pred)
@@ -172,24 +172,24 @@ define void @barrier_cta_red_popc_count(i32 %id, i32 %cnt, i1 %pred) {
 ; CHECK-NEXT:    setp.ne.b16 %p1, %rs2, 0;
 ; CHECK-NEXT:    ld.param.b32 %r1, [barrier_cta_red_popc_count_param_0];
 ; CHECK-NEXT:    ld.param.b32 %r2, [barrier_cta_red_popc_count_param_1];
-; CHECK-NEXT:    bar.red.popc %r3, %r1, %r2, %p1;
-; CHECK-NEXT:    bar.red.popc %r4, 3, %r2, %p1;
-; CHECK-NEXT:    barrier.red.popc %r5, %r1, %r2, %p1;
-; CHECK-NEXT:    barrier.red.popc %r6, 3, %r2, %p1;
-; CHECK-NEXT:    bar.red.popc %r7, %r1, 10, %p1;
-; CHECK-NEXT:    bar.red.popc %r8, 3, 11, %p1;
-; CHECK-NEXT:    barrier.red.popc %r9, %r1, 12, %p1;
-; CHECK-NEXT:    barrier.red.popc %r10, 3, 13, %p1;
+; CHECK-NEXT:    bar.red.popc.u32 %r3, %r1, %r2, %p1;
+; CHECK-NEXT:    bar.red.popc.u32 %r4, 3, %r2, %p1;
+; CHECK-NEXT:    barrier.red.popc.u32 %r5, %r1, %r2, %p1;
+; CHECK-NEXT:    barrier.red.popc.u32 %r6, 3, %r2, %p1;
+; CHECK-NEXT:    bar.red.popc.u32 %r7, %r1, 64, %p1;
+; CHECK-NEXT:    bar.red.popc.u32 %r8, 3, 64, %p1;
+; CHECK-NEXT:    barrier.red.popc.u32 %r9, %r1, 64, %p1;
+; CHECK-NEXT:    barrier.red.popc.u32 %r10, 3, 64, %p1;
 ; CHECK-NEXT:    ret;
   %v1 = call i32 @llvm.nvvm.barrier.cta.red.popc.aligned.count(i32 %id, i32 %cnt, i1 %pred)
   %v2 = call i32 @llvm.nvvm.barrier.cta.red.popc.aligned.count(i32 3, i32 %cnt, i1 %pred)
   %v3 = call i32 @llvm.nvvm.barrier.cta.red.popc.count(i32 %id, i32 %cnt, i1 %pred)
   %v4 = call i32 @llvm.nvvm.barrier.cta.red.popc.count(i32 3, i32 %cnt, i1 %pred)
 
-  %v5 = call i32 @llvm.nvvm.barrier.cta.red.popc.aligned.count(i32 %id, i32 10, i1 %pred)
-  %v6 = call i32 @llvm.nvvm.barrier.cta.red.popc.aligned.count(i32 3, i32 11, i1 %pred)
-  %v7 = call i32 @llvm.nvvm.barrier.cta.red.popc.count(i32 %id, i32 12, i1 %pred)
-  %v8 = call i32 @llvm.nvvm.barrier.cta.red.popc.count(i32 3, i32 13, i1 %pred)
+  %v5 = call i32 @llvm.nvvm.barrier.cta.red.popc.aligned.count(i32 %id, i32 64, i1 %pred)
+  %v6 = call i32 @llvm.nvvm.barrier.cta.red.popc.aligned.count(i32 3, i32 64, i1 %pred)
+  %v7 = call i32 @llvm.nvvm.barrier.cta.red.popc.count(i32 %id, i32 64, i1 %pred)
+  %v8 = call i32 @llvm.nvvm.barrier.cta.red.popc.count(i32 3, i32 64, i1 %pred)
   ret void
 }
 
@@ -205,10 +205,10 @@ define void @barrier_cta_red_and_all(i32 %id, i1 %pred) {
 ; CHECK-NEXT:    and.b16 %rs2, %rs1, 1;
 ; CHECK-NEXT:    setp.ne.b16 %p1, %rs2, 0;
 ; CHECK-NEXT:    ld.param.b32 %r1, [barrier_cta_red_and_all_param_0];
-; CHECK-NEXT:    bar.red.and %p2, %r1, %p1;
-; CHECK-NEXT:    bar.red.and %p3, 3, %p1;
-; CHECK-NEXT:    barrier.red.and %p4, %r1, %p1;
-; CHECK-NEXT:    barrier.red.and %p5, 3, %p1;
+; CHECK-NEXT:    bar.red.and.pred %p2, %r1, %p1;
+; CHECK-NEXT:    bar.red.and.pred %p3, 3, %p1;
+; CHECK-NEXT:    barrier.red.and.pred %p4, %r1, %p1;
+; CHECK-NEXT:    barrier.red.and.pred %p5, 3, %p1;
 ; CHECK-NEXT:    ret;
   %v1 = call i1 @llvm.nvvm.barrier.cta.red.and.aligned.all(i32 %id, i1 %pred)
   %v2 = call i1 @llvm.nvvm.barrier.cta.red.and.aligned.all(i32 3, i1 %pred)
@@ -230,24 +230,24 @@ define void @barrier_cta_red_and_count(i32 %id, i32 %cnt, i1 %pred) {
 ; CHECK-NEXT:    setp.ne.b16 %p1, %rs2, 0;
 ; CHECK-NEXT:    ld.param.b32 %r1, [barrier_cta_red_and_count_param_0];
 ; CHECK-NEXT:    ld.param.b32 %r2, [barrier_cta_red_and_count_param_1];
-; CHECK-NEXT:    bar.red.and %p2, %r1, %r2, %p1;
-; CHECK-NEXT:    bar.red.and %p3, 3, %r2, %p1;
-; CHECK-NEXT:    barrier.red.and %p4, %r1, %r2, %p1;
-; CHECK-NEXT:    barrier.red.and %p5, 3, %r2, %p1;
-; CHECK-NEXT:    bar.red.and %p6, %r1, 10, %p1;
-; CHECK-NEXT:    bar.red.and %p7, 3, 11, %p1;
-; CHECK-NEXT:    barrier.red.and %p8, %r1, 12, %p1;
-; CHECK-NEXT:    barrier.red.and %p9, 3, 13, %p1;
+; CHECK-NEXT:    bar.red.and.pred %p2, %r1, %r2, %p1;
+; CHECK-NEXT:    bar.red.and.pred %p3, 3, %r2, %p1;
+; CHECK-NEXT:    barrier.red.and.pred %p4, %r1, %r2, %p1;
+; CHECK-NEXT:    barrier.red.and.pred %p5, 3, %r2, %p1;
+; CHECK-NEXT:    bar.red.and.pred %p6, %r1, 64, %p1;
+; CHECK-NEXT:    bar.red.and.pred %p7, 3, 32, %p1;
+; CHECK-NEXT:    barrier.red.and.pred %p8, %r1, 64, %p1;
+; CHECK-NEXT:    barrier.red.and.pred %p9, 3, 64, %p1;
 ; CHECK-NEXT:    ret;
   %v1 = call i1 @llvm.nvvm.barrier.cta.red.and.aligned.count(i32 %id, i32 %cnt, i1 %pred)
   %v2 = call i1 @llvm.nvvm.barrier.cta.red.and.aligned.count(i32 3, i32 %cnt, i1 %pred)
   %v3 = call i1 @llvm.nvvm.barrier.cta.red.and.count(i32 %id, i32 %cnt, i1 %pred)
   %v4 = call i1 @llvm.nvvm.barrier.cta.red.and.count(i32 3, i32 %cnt, i1 %pred)
 
-  %v5 = call i1 @llvm.nvvm.barrier.cta.red.and.aligned.count(i32 %id, i32 10, i1 %pred)
-  %v6 = call i1 @llvm.nvvm.barrier.cta.red.and.aligned.count(i32 3, i32 11, i1 %pred)
-  %v7 = call i1 @llvm.nvvm.barrier.cta.red.and.count(i32 %id, i32 12, i1 %pred)
-  %v8 = call i1 @llvm.nvvm.barrier.cta.red.and.count(i32 3, i32 13, i1 %pred)
+  %v5 = call i1 @llvm.nvvm.barrier.cta.red.and.aligned.count(i32 %id, i32 64, i1 %pred)
+  %v6 = call i1 @llvm.nvvm.barrier.cta.red.and.aligned.count(i32 3, i32 32, i1 %pred)
+  %v7 = call i1 @llvm.nvvm.barrier.cta.red.and.count(i32 %id, i32 64, i1 %pred)
+  %v8 = call i1 @llvm.nvvm.barrier.cta.red.and.count(i32 3, i32 64, i1 %pred)
   ret void
 }
 
@@ -263,10 +263,10 @@ define void @barrier_cta_red_or_all(i32 %id, i1 %pred) {
 ; CHECK-NEXT:    and.b16 %rs2, %rs1, 1;
 ; CHECK-NEXT:    setp.ne.b16 %p1, %rs2, 0;
 ; CHECK-NEXT:    ld.param.b32 %r1, [barrier_cta_red_or_all_param_0];
-; CHECK-NEXT:    bar.red.or %p2, %r1, %p1;
-; CHECK-NEXT:    bar.red.or %p3, 3, %p1;
-; CHECK-NEXT:    barrier.red.or %p4, %r1, %p1;
-; CHECK-NEXT:    barrier.red.or %p5, 3, %p1;
+; CHECK-NEXT:    bar.red.or.pred %p2, %r1, %p1;
+; CHECK-NEXT:    bar.red.or.pred %p3, 3, %p1;
+; CHECK-NEXT:    barrier.red.or.pred %p4, %r1, %p1;
+; CHECK-NEXT:    barrier.red.or.pred %p5, 3, %p1;
 ; CHECK-NEXT:    ret;
   %v1 = call i1 @llvm.nvvm.barrier.cta.red.or.aligned.all(i32 %id, i1 %pred)
   %v2 = call i1 @llvm.nvvm.barrier.cta.red.or.aligned.all(i32 3, i1 %pred)
@@ -288,23 +288,23 @@ define void @barrier_cta_red_or_count(i32 %id, i32 %cnt, i1 %pred) {
 ; CHECK-NEXT:    setp.ne.b16 %p1, %rs2, 0;
 ; CHECK-NEXT:    ld.param.b32 %r1, [barrier_cta_red_or_count_param_0];
 ; CHECK-NEXT:    ld.param.b32 %r2, [barrier_cta_red_or_count_param_1];
-; CHECK-NEXT:    bar.red.or %p2, %r1, %r2, %p1;
-; CHECK-NEXT:    bar.red.or %p3, 3, %r2, %p1;
-; CHECK-NEXT:    barrier.red.or %p4, %r1, %r2, %p1;
-; CHECK-NEXT:    barrier.red.or %p5, 3, %r2, %p1;
-; CHECK-NEXT:    bar.red.or %p6, %r1, 10, %p1;
-; CHECK-NEXT:    bar.red.or %p7, 3, 11, %p1;
-; CHECK-NEXT:    barrier.red.or %p8, %r1, 12, %p1;
-; CHECK-NEXT:    barrier.red.or %p9, 3, 13, %p1;
+; CHECK-NEXT:    bar.red.or.pred %p2, %r1, %r2, %p1;
+; CHECK-NEXT:    bar.red.or.pred %p3, 3, %r2, %p1;
+; CHECK-NEXT:    barrier.red.or.pred %p4, %r1, %r2, %p1;
+; CHECK-NEXT:    barrier.red.or.pred %p5, 3, %r2, %p1;
+; CHECK-NEXT:    bar.red.or.pred %p6, %r1, 64, %p1;
+; CHECK-NEXT:    bar.red.or.pred %p7, 3, 32, %p1;
+; CHECK-NEXT:    barrier.red.or.pred %p8, %r1, 64, %p1;
+; CHECK-NEXT:    barrier.red.or.pred %p9, 3, 64, %p1;
 ; CHECK-NEXT:    ret;
   %v1 = call i1 @llvm.nvvm.barrier.cta.red.or.aligned.count(i32 %id, i32 %cnt, i1 %pred)
   %v2 = call i1 @llvm.nvvm.barrier.cta.red.or.aligned.count(i32 3, i32 %cnt, i1 %pred)
   %v3 = call i1 @llvm.nvvm.barrier.cta.red.or.count(i32 %id, i32 %cnt, i1 %pred)
   %v4 = call i1 @llvm.nvvm.barrier.cta.red.or.count(i32 3, i32 %cnt, i1 %pred)
 
-  %v5 = call i1 @llvm.nvvm.barrier.cta.red.or.aligned.count(i32 %id, i32 10, i1 %pred)
-  %v6 = call i1 @llvm.nvvm.barrier.cta.red.or.aligned.count(i32 3, i32 11, i1 %pred)
-  %v7 = call i1 @llvm.nvvm.barrier.cta.red.or.count(i32 %id, i32 12, i1 %pred)
-  %v8 = call i1 @llvm.nvvm.barrier.cta.red.or.count(i32 3, i32 13, i1 %pred)
+  %v5 = call i1 @llvm.nvvm.barrier.cta.red.or.aligned.count(i32 %id, i32 64, i1 %pred)
+  %v6 = call i1 @llvm.nvvm.barrier.cta.red.or.aligned.count(i32 3, i32 32, i1 %pred)
+  %v7 = call i1 @llvm.nvvm.barrier.cta.red.or.count(i32 %id, i32 64, i1 %pred)
+  %v8 = call i1 @llvm.nvvm.barrier.cta.red.or.count(i32 3, i32 64, i1 %pred)
   ret void
 }

Copy link
Contributor

@schwarzschild-radius schwarzschild-radius left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, Thanks!

Copy link
Contributor

@Wolfram70 Wolfram70 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@AlexMaclean AlexMaclean merged commit 61c6724 into llvm:main Dec 19, 2025
12 checks passed
@llvm-ci
Copy link
Collaborator

llvm-ci commented Dec 19, 2025

LLVM Buildbot has detected a new failure on builder sanitizer-aarch64-linux running on sanitizer-buildbot7 while building llvm at step 2 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/51/builds/28987

Here is the relevant piece of the build log for the reference
Step 2 (annotate) failure: 'python ../sanitizer_buildbot/sanitizers/zorg/buildbot/builders/sanitizers/buildbot_selector.py' (failure)
...
[182/186] Generating MSAN_INST_TEST_OBJECTS.msan_test.cpp.aarch64-with-call.o
[183/186] Generating Msan-aarch64-with-call-Test
[184/186] Generating MSAN_INST_TEST_OBJECTS.msan_test.cpp.aarch64.o
[185/186] Generating Msan-aarch64-Test
[185/186] Running compiler_rt regression tests
llvm-lit: /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/utils/lit/lit/discovery.py:273: warning: input '/home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/interception/Unit' contained no tests
llvm-lit: /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/utils/lit/lit/discovery.py:273: warning: input '/home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/sanitizer_common/Unit' contained no tests
llvm-lit: /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/utils/lit/lit/main.py:74: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds.
-- Testing: 2972 of 6117 tests, 72 workers --
Testing:  0.. 10.. 20
FAIL: MemorySanitizer-AARCH64 :: poison_in_signal.cpp (682 of 2972)
******************** TEST 'MemorySanitizer-AARCH64 :: poison_in_signal.cpp' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 3
/home/b/sanitizer-aarch64-linux/build/build_default/./bin/clang  --driver-mode=g++ -fsanitize=memory -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls   -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta   -gline-tables-only -std=c++11 -O2 /home/b/sanitizer-aarch64-linux/build/llvm-project/compiler-rt/test/msan/poison_in_signal.cpp -o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/msan/AARCH64/Output/poison_in_signal.cpp.tmp &&  /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/msan/AARCH64/Output/poison_in_signal.cpp.tmp
# executed command: /home/b/sanitizer-aarch64-linux/build/build_default/./bin/clang --driver-mode=g++ -fsanitize=memory -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta -gline-tables-only -std=c++11 -O2 /home/b/sanitizer-aarch64-linux/build/llvm-project/compiler-rt/test/msan/poison_in_signal.cpp -o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/msan/AARCH64/Output/poison_in_signal.cpp.tmp
# note: command had no output on stdout or stderr
# executed command: /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/msan/AARCH64/Output/poison_in_signal.cpp.tmp
# note: command had no output on stdout or stderr
# RUN: at line 4
/home/b/sanitizer-aarch64-linux/build/build_default/./bin/clang  --driver-mode=g++ -fsanitize=memory -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls   -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta   -gline-tables-only -fsanitize-memory-track-origins=2 -std=c++11 -O2 /home/b/sanitizer-aarch64-linux/build/llvm-project/compiler-rt/test/msan/poison_in_signal.cpp -o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/msan/AARCH64/Output/poison_in_signal.cpp.tmp &&  /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/msan/AARCH64/Output/poison_in_signal.cpp.tmp
# executed command: /home/b/sanitizer-aarch64-linux/build/build_default/./bin/clang --driver-mode=g++ -fsanitize=memory -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta -gline-tables-only -fsanitize-memory-track-origins=2 -std=c++11 -O2 /home/b/sanitizer-aarch64-linux/build/llvm-project/compiler-rt/test/msan/poison_in_signal.cpp -o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/msan/AARCH64/Output/poison_in_signal.cpp.tmp
# note: command had no output on stdout or stderr
# executed command: /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/msan/AARCH64/Output/poison_in_signal.cpp.tmp
# note: command had no output on stdout or stderr
# RUN: at line 5
/home/b/sanitizer-aarch64-linux/build/build_default/./bin/clang  --driver-mode=g++ -fsanitize=memory -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls   -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta   -gline-tables-only -fsanitize-memory-track-origins=2 -fsanitize-memory-use-after-dtor -std=c++11 -O2 /home/b/sanitizer-aarch64-linux/build/llvm-project/compiler-rt/test/msan/poison_in_signal.cpp -o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/msan/AARCH64/Output/poison_in_signal.cpp.tmp &&  /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/msan/AARCH64/Output/poison_in_signal.cpp.tmp
# executed command: /home/b/sanitizer-aarch64-linux/build/build_default/./bin/clang --driver-mode=g++ -fsanitize=memory -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta -gline-tables-only -fsanitize-memory-track-origins=2 -fsanitize-memory-use-after-dtor -std=c++11 -O2 /home/b/sanitizer-aarch64-linux/build/llvm-project/compiler-rt/test/msan/poison_in_signal.cpp -o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/msan/AARCH64/Output/poison_in_signal.cpp.tmp
# note: command had no output on stdout or stderr
# executed command: /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/msan/AARCH64/Output/poison_in_signal.cpp.tmp
# .---command stderr------------
# | MemorySanitizer:DEADLYSIGNAL
# | ==4097969==ERROR: MemorySanitizer: SEGV on unknown address 0x2cfffff7aa8440 (pc 0xfffff7c05f2c bp 0xfffff43e3140 sp 0xfffff43e3140 T4098014)
# | ==4097969==The signal is caused by a READ memory access.
# | MemorySanitizer:DEADLYSIGNAL
# | MemorySanitizer: nested bug in the same thread, aborting.
# `-----------------------------
# error: command failed with exit status: 1

--

********************
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. 

2 warning(s) in tests
Slowest Tests:
Step 11 (test compiler-rt debug) failure: test compiler-rt debug (failure)
...
[182/186] Generating MSAN_INST_TEST_OBJECTS.msan_test.cpp.aarch64-with-call.o
[183/186] Generating Msan-aarch64-with-call-Test
[184/186] Generating MSAN_INST_TEST_OBJECTS.msan_test.cpp.aarch64.o
[185/186] Generating Msan-aarch64-Test
[185/186] Running compiler_rt regression tests
llvm-lit: /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/utils/lit/lit/discovery.py:273: warning: input '/home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/interception/Unit' contained no tests
llvm-lit: /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/utils/lit/lit/discovery.py:273: warning: input '/home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/sanitizer_common/Unit' contained no tests
llvm-lit: /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/utils/lit/lit/main.py:74: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds.
-- Testing: 2972 of 6117 tests, 72 workers --
Testing:  0.. 10.. 20
FAIL: MemorySanitizer-AARCH64 :: poison_in_signal.cpp (682 of 2972)
******************** TEST 'MemorySanitizer-AARCH64 :: poison_in_signal.cpp' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 3
/home/b/sanitizer-aarch64-linux/build/build_default/./bin/clang  --driver-mode=g++ -fsanitize=memory -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls   -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta   -gline-tables-only -std=c++11 -O2 /home/b/sanitizer-aarch64-linux/build/llvm-project/compiler-rt/test/msan/poison_in_signal.cpp -o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/msan/AARCH64/Output/poison_in_signal.cpp.tmp &&  /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/msan/AARCH64/Output/poison_in_signal.cpp.tmp
# executed command: /home/b/sanitizer-aarch64-linux/build/build_default/./bin/clang --driver-mode=g++ -fsanitize=memory -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta -gline-tables-only -std=c++11 -O2 /home/b/sanitizer-aarch64-linux/build/llvm-project/compiler-rt/test/msan/poison_in_signal.cpp -o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/msan/AARCH64/Output/poison_in_signal.cpp.tmp
# note: command had no output on stdout or stderr
# executed command: /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/msan/AARCH64/Output/poison_in_signal.cpp.tmp
# note: command had no output on stdout or stderr
# RUN: at line 4
/home/b/sanitizer-aarch64-linux/build/build_default/./bin/clang  --driver-mode=g++ -fsanitize=memory -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls   -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta   -gline-tables-only -fsanitize-memory-track-origins=2 -std=c++11 -O2 /home/b/sanitizer-aarch64-linux/build/llvm-project/compiler-rt/test/msan/poison_in_signal.cpp -o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/msan/AARCH64/Output/poison_in_signal.cpp.tmp &&  /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/msan/AARCH64/Output/poison_in_signal.cpp.tmp
# executed command: /home/b/sanitizer-aarch64-linux/build/build_default/./bin/clang --driver-mode=g++ -fsanitize=memory -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta -gline-tables-only -fsanitize-memory-track-origins=2 -std=c++11 -O2 /home/b/sanitizer-aarch64-linux/build/llvm-project/compiler-rt/test/msan/poison_in_signal.cpp -o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/msan/AARCH64/Output/poison_in_signal.cpp.tmp
# note: command had no output on stdout or stderr
# executed command: /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/msan/AARCH64/Output/poison_in_signal.cpp.tmp
# note: command had no output on stdout or stderr
# RUN: at line 5
/home/b/sanitizer-aarch64-linux/build/build_default/./bin/clang  --driver-mode=g++ -fsanitize=memory -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls   -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta   -gline-tables-only -fsanitize-memory-track-origins=2 -fsanitize-memory-use-after-dtor -std=c++11 -O2 /home/b/sanitizer-aarch64-linux/build/llvm-project/compiler-rt/test/msan/poison_in_signal.cpp -o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/msan/AARCH64/Output/poison_in_signal.cpp.tmp &&  /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/msan/AARCH64/Output/poison_in_signal.cpp.tmp
# executed command: /home/b/sanitizer-aarch64-linux/build/build_default/./bin/clang --driver-mode=g++ -fsanitize=memory -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta -gline-tables-only -fsanitize-memory-track-origins=2 -fsanitize-memory-use-after-dtor -std=c++11 -O2 /home/b/sanitizer-aarch64-linux/build/llvm-project/compiler-rt/test/msan/poison_in_signal.cpp -o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/msan/AARCH64/Output/poison_in_signal.cpp.tmp
# note: command had no output on stdout or stderr
# executed command: /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/msan/AARCH64/Output/poison_in_signal.cpp.tmp
# .---command stderr------------
# | MemorySanitizer:DEADLYSIGNAL
# | ==4097969==ERROR: MemorySanitizer: SEGV on unknown address 0x2cfffff7aa8440 (pc 0xfffff7c05f2c bp 0xfffff43e3140 sp 0xfffff43e3140 T4098014)
# | ==4097969==The signal is caused by a READ memory access.
# | MemorySanitizer:DEADLYSIGNAL
# | MemorySanitizer: nested bug in the same thread, aborting.
# `-----------------------------
# error: command failed with exit status: 1

--

********************
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..

2 warning(s) in tests
Slowest Tests:

mahesh-attarde pushed a commit to mahesh-attarde/llvm-project that referenced this pull request Dec 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants