Skip to content

Conversation

@boomanaiden154
Copy link
Contributor

This makes them compliant with the behavior from prior to the internal
shell. A future PR will fix the behavior with the internal shell so that
it behaves properly.

@llvmbot
Copy link
Member

llvmbot commented Jan 3, 2026

@llvm/pr-subscribers-backend-spir-v

Author: Aiden Grossman (boomanaiden154)

Changes

This makes them compliant with the behavior from prior to the internal
shell. A future PR will fix the behavior with the internal shell so that
it behaves properly.


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

5 Files Affected:

  • (modified) llvm/test/CodeGen/SPIRV/ga-interp-func-interp.ll (+2-1)
  • (modified) llvm/test/CodeGen/SPIRV/ga-interp-func-noninterp.ll (+2-1)
  • (modified) llvm/test/CodeGen/SPIRV/ga-inttoptr.ll (+1-1)
  • (modified) llvm/test/CodeGen/SPIRV/ga-noninterp-func-interp.ll (+2-1)
  • (modified) llvm/test/CodeGen/SPIRV/hlsl-resources/UniqueImplicitBindingNumber.ll (+2-1)
diff --git a/llvm/test/CodeGen/SPIRV/ga-interp-func-interp.ll b/llvm/test/CodeGen/SPIRV/ga-interp-func-interp.ll
index 6903cf9f87881..525c7dabf5f4a 100644
--- a/llvm/test/CodeGen/SPIRV/ga-interp-func-interp.ll
+++ b/llvm/test/CodeGen/SPIRV/ga-interp-func-interp.ll
@@ -1,4 +1,5 @@
-; RUN: not llc -O0 -mtriple=spirv64-unknown-unknown < %s 2>&1 | FileCheck %s
+; REQUIRES: asserts
+; RUN: not --crash llc -O0 -mtriple=spirv64-unknown-unknown < %s 2>&1 | FileCheck %s
 ; CHECK: unable to translate instruction: call (in function: kernel)
 
 ; Interposable aliases are not yet supported.
diff --git a/llvm/test/CodeGen/SPIRV/ga-interp-func-noninterp.ll b/llvm/test/CodeGen/SPIRV/ga-interp-func-noninterp.ll
index a7b5c061a6c4f..9487b0a551904 100644
--- a/llvm/test/CodeGen/SPIRV/ga-interp-func-noninterp.ll
+++ b/llvm/test/CodeGen/SPIRV/ga-interp-func-noninterp.ll
@@ -1,4 +1,5 @@
-; RUN: not llc -O0 -mtriple=spirv64-unknown-unknown < %s 2>&1 | FileCheck %s
+; REQUIRES: asserts
+; RUN: not --crash llc -O0 -mtriple=spirv64-unknown-unknown < %s 2>&1 | FileCheck %s
 ; CHECK: unable to translate instruction: call (in function: kernel)
 
 ; Interposable aliases are not yet supported.
diff --git a/llvm/test/CodeGen/SPIRV/ga-inttoptr.ll b/llvm/test/CodeGen/SPIRV/ga-inttoptr.ll
index c8cb82c2460fc..d3aa054512985 100644
--- a/llvm/test/CodeGen/SPIRV/ga-inttoptr.ll
+++ b/llvm/test/CodeGen/SPIRV/ga-inttoptr.ll
@@ -1,5 +1,5 @@
 ; REQUIRES: asserts
-; RUN: not llc -O0 -mtriple=spirv64-unknown-unknown < %s 2>&1 | FileCheck %s
+; RUN: not --crash llc -O0 -mtriple=spirv64-unknown-unknown < %s 2>&1 | FileCheck %s
 ; CHECK: argument of incompatible type!
 
 ; The BE does not support non-global-object aliases
diff --git a/llvm/test/CodeGen/SPIRV/ga-noninterp-func-interp.ll b/llvm/test/CodeGen/SPIRV/ga-noninterp-func-interp.ll
index 744f58b707a3a..17403806b19af 100644
--- a/llvm/test/CodeGen/SPIRV/ga-noninterp-func-interp.ll
+++ b/llvm/test/CodeGen/SPIRV/ga-noninterp-func-interp.ll
@@ -1,4 +1,5 @@
-; RUN: not llc -O0 -mtriple=spirv64-unknown-unknown < %s 2>&1 | FileCheck %s
+; REQUIRES: asserts
+; RUN: not --crash llc -O0 -mtriple=spirv64-unknown-unknown < %s 2>&1 | FileCheck %s
 ; CHECK: unable to translate instruction: call (in function: kernel)
 
 @bar_alias = alias void (), ptr addrspace(4) @bar
diff --git a/llvm/test/CodeGen/SPIRV/hlsl-resources/UniqueImplicitBindingNumber.ll b/llvm/test/CodeGen/SPIRV/hlsl-resources/UniqueImplicitBindingNumber.ll
index c968c99e4d58a..53211a7704cf4 100644
--- a/llvm/test/CodeGen/SPIRV/hlsl-resources/UniqueImplicitBindingNumber.ll
+++ b/llvm/test/CodeGen/SPIRV/hlsl-resources/UniqueImplicitBindingNumber.ll
@@ -1,4 +1,5 @@
-; RUN: not llc -O0 -mtriple=spirv32-unknown-unknown %s -o %t.spvt 2>&1 | FileCheck %s --check-prefix=CHECK-ERROR
+; REQUIRES: asserts
+; RUN: not --crash llc -O0 -mtriple=spirv32-unknown-unknown %s -o %t.spvt 2>&1 | FileCheck %s --check-prefix=CHECK-ERROR
 ; CHECK-ERROR: LLVM ERROR: Implicit binding calls with the same order ID must have the same descriptor set
 
 @.str = private unnamed_addr constant [2 x i8] c"b\00", align 1

Copy link
Contributor

@nikic nikic left a comment

Choose a reason for hiding this comment

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

Why do these REQUIRES: asserts now?

Created using spr 1.3.7
@boomanaiden154
Copy link
Contributor Author

Why do these REQUIRES: asserts now?

I was thinking these were similar to some verifier tests I was looking at earlier where the behavior was different between the configurations (throwing an error that didn't send a signal versus an assertion), but I've verified that's not the case here (and that the tests pass in a no-asserts build). Patch updated.

@boomanaiden154 boomanaiden154 requested a review from nikic January 3, 2026 22:58
boomanaiden154 added a commit to boomanaiden154/llvm-project that referenced this pull request Jan 3, 2026
This makes them compliant with the behavior from prior to the internal
shell. A future PR will fix the behavior with the internal shell so that
it behaves properly.

Pull Request: llvm#174297
Copy link
Member

@arichardson arichardson left a comment

Choose a reason for hiding this comment

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

Is the problem that internal shell not only checks for non zero exit but fails with signal exits?

Maybe that behaviour is actually better since we now need to use --crash for signal exits? But no strong opinion either way.

@boomanaiden154
Copy link
Contributor Author

Is the problem that internal shell not only checks for non zero exit but fails with signal exits?

Maybe that behaviour is actually better since we now need to use --crash for signal exits? But no strong opinion either way.

It's the opposite. The actual not command will still return a non-zero exit code if the program crashes unless --crash is specified. The internal shell version will return zero as long as the command does not return exit code zero. My thinking is similar to yours, that the old behavior is better since we need to specify --crash for signal exits.

@boomanaiden154 boomanaiden154 changed the base branch from users/boomanaiden154/main.llvm-make-crashing-tests-with-not-use-crash to main January 4, 2026 05:58
Created using spr 1.3.7
@boomanaiden154 boomanaiden154 merged commit 7fa36e6 into main Jan 4, 2026
6 of 10 checks passed
@boomanaiden154 boomanaiden154 deleted the users/boomanaiden154/llvm-make-crashing-tests-with-not-use-crash branch January 4, 2026 05:58
llvm-sync bot pushed a commit to arm/arm-toolchain that referenced this pull request Jan 4, 2026
This makes them compliant with the behavior from prior to the internal
shell. A future PR will fix the behavior with the internal shell so that
it behaves properly.

Reviewers: nikic, petrhosek, arichardson, ilovepi

Pull Request: llvm/llvm-project#174297
mahesh-attarde pushed a commit to mahesh-attarde/llvm-project that referenced this pull request Jan 6, 2026
This makes them compliant with the behavior from prior to the internal
shell. A future PR will fix the behavior with the internal shell so that
it behaves properly.

Reviewers: nikic, petrhosek, arichardson, ilovepi

Pull Request: llvm#174297
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.

5 participants