[llvm] [X86] Make WinEH crash test reliable under ASan (PR #212820)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 29 09:50:15 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-x86
Author: compilersutra
<details>
<summary>Changes</summary>
---
Full diff: https://github.com/llvm/llvm-project/pull/212820.diff
1 Files Affected:
- (modified) llvm/test/CodeGen/X86/win64-eh-unwindv2-errors.mir (+28-28)
``````````diff
diff --git a/llvm/test/CodeGen/X86/win64-eh-unwindv2-errors.mir b/llvm/test/CodeGen/X86/win64-eh-unwindv2-errors.mir
index c8eee80bd7265..32023d1d85f25 100644
--- a/llvm/test/CodeGen/X86/win64-eh-unwindv2-errors.mir
+++ b/llvm/test/CodeGen/X86/win64-eh-unwindv2-errors.mir
@@ -6,10 +6,10 @@
# BESTEFFORT-NOT: SEH_UnwindV2Start
;--- alloc_no_dealloc.mir
-# RUN: not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
+# RUN: env ASAN_OPTIONS=abort_on_error=1 not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
# RUN: %t/alloc_no_dealloc.mir -run-pass=x86-wineh-unwindv2 2>&1 | \
# RUN: FileCheck %s --check-prefix=ALLOC-NO-DEALLOC
-# RUN: not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
+# RUN: env ASAN_OPTIONS=abort_on_error=1 not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
# RUN: %t/alloc_no_dealloc.mir -passes=x86-wineh-unwindv2 2>&1 | \
# RUN: FileCheck %s --check-prefix=ALLOC-NO-DEALLOC
# RUN: llc -mtriple=x86_64-pc-windows-msvc -o - %t/alloc_no_dealloc.mir \
@@ -42,10 +42,10 @@ body: |
...
;--- missed_push.mir
-# RUN: not --crash llc -mtriple=x86_64-pc-windows-msvc -o - %t/missed_push.mir \
+# RUN: env ASAN_OPTIONS=abort_on_error=1 not --crash llc -mtriple=x86_64-pc-windows-msvc -o - %t/missed_push.mir \
# RUN: -run-pass=x86-wineh-unwindv2 2>&1 | FileCheck %s \
# RUN: --check-prefix=MISSED-PUSH
-# RUN: not --crash llc -mtriple=x86_64-pc-windows-msvc -o - %t/missed_push.mir \
+# RUN: env ASAN_OPTIONS=abort_on_error=1 not --crash llc -mtriple=x86_64-pc-windows-msvc -o - %t/missed_push.mir \
# RUN: -passes=x86-wineh-unwindv2 2>&1 | FileCheck %s \
# RUN: --check-prefix=MISSED-PUSH
# RUN: llc -mtriple=x86_64-pc-windows-msvc -o - %t/missed_push.mir \
@@ -81,10 +81,10 @@ body: |
...
;--- dealloc_no_alloc.mir
-# RUN: not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
+# RUN: env ASAN_OPTIONS=abort_on_error=1 not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
# RUN: %t/dealloc_no_alloc.mir -run-pass=x86-wineh-unwindv2 2>&1 | \
# RUN: FileCheck %s --check-prefix=DEALLOC-NO-ALLOC
-# RUN: not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
+# RUN: env ASAN_OPTIONS=abort_on_error=1 not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
# RUN: %t/dealloc_no_alloc.mir -passes=x86-wineh-unwindv2 2>&1 | \
# RUN: FileCheck %s --check-prefix=DEALLOC-NO-ALLOC
# RUN: llc -mtriple=x86_64-pc-windows-msvc -o - %t/dealloc_no_alloc.mir \
@@ -116,10 +116,10 @@ body: |
...
;--- dealloc_after_epilog.mir
-# RUN: not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
+# RUN: env ASAN_OPTIONS=abort_on_error=1 not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
# RUN: %t/dealloc_after_epilog.mir -run-pass=x86-wineh-unwindv2 2>&1 | \
# RUN: FileCheck %s --check-prefix=DEALLOC-AFTER-EPILOG
-# RUN: not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
+# RUN: env ASAN_OPTIONS=abort_on_error=1 not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
# RUN: %t/dealloc_after_epilog.mir -passes=x86-wineh-unwindv2 2>&1 | \
# RUN: FileCheck %s --check-prefix=DEALLOC-AFTER-EPILOG
# RUN: llc -mtriple=x86_64-pc-windows-msvc -o - \
@@ -153,10 +153,10 @@ body: |
...
;--- pop_before_dealloc.mir
-# RUN: not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
+# RUN: env ASAN_OPTIONS=abort_on_error=1 not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
# RUN: %t/pop_before_dealloc.mir -run-pass=x86-wineh-unwindv2 2>&1 | \
# RUN: FileCheck %s --check-prefix=POP-BEFORE-DEALLOC
-# RUN: not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
+# RUN: env ASAN_OPTIONS=abort_on_error=1 not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
# RUN: %t/pop_before_dealloc.mir -passes=x86-wineh-unwindv2 2>&1 | \
# RUN: FileCheck %s --check-prefix=POP-BEFORE-DEALLOC
# RUN: llc -mtriple=x86_64-pc-windows-msvc -o - %t/pop_before_dealloc.mir \
@@ -193,10 +193,10 @@ body: |
...
;--- mov_no_setframe.mir
-# RUN: not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
+# RUN: env ASAN_OPTIONS=abort_on_error=1 not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
# RUN: %t/mov_no_setframe.mir -run-pass=x86-wineh-unwindv2 2>&1 | \
# RUN: FileCheck %s --check-prefix=MOV-NO-SETFRAME
-# RUN: not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
+# RUN: env ASAN_OPTIONS=abort_on_error=1 not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
# RUN: %t/mov_no_setframe.mir -passes=x86-wineh-unwindv2 2>&1 | \
# RUN: FileCheck %s --check-prefix=MOV-NO-SETFRAME
# RUN: llc -mtriple=x86_64-pc-windows-msvc -o - %t/mov_no_setframe.mir \
@@ -228,10 +228,10 @@ body: |
...
;--- mov_after_epilog.mir
-# RUN: not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
+# RUN: env ASAN_OPTIONS=abort_on_error=1 not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
# RUN: %t/mov_after_epilog.mir -run-pass=x86-wineh-unwindv2 2>&1 | \
# RUN: FileCheck %s --check-prefix=MOV-AFTER-EPILOG
-# RUN: not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
+# RUN: env ASAN_OPTIONS=abort_on_error=1 not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
# RUN: %t/mov_after_epilog.mir -passes=x86-wineh-unwindv2 2>&1 | \
# RUN: FileCheck %s --check-prefix=MOV-AFTER-EPILOG
# RUN: llc -mtriple=x86_64-pc-windows-msvc -o - \
@@ -267,10 +267,10 @@ body: |
...
;--- pop_before_mov.mir
-# RUN: not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
+# RUN: env ASAN_OPTIONS=abort_on_error=1 not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
# RUN: %t/pop_before_mov.mir -run-pass=x86-wineh-unwindv2 2>&1 | \
# RUN: FileCheck %s --check-prefix=POP-BEFORE-MOV
-# RUN: not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
+# RUN: env ASAN_OPTIONS=abort_on_error=1 not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
# RUN: %t/pop_before_mov.mir -passes=x86-wineh-unwindv2 2>&1 | \
# RUN: FileCheck %s --check-prefix=POP-BEFORE-MOV
# RUN: llc -mtriple=x86_64-pc-windows-msvc -o - %t/pop_before_mov.mir \
@@ -307,10 +307,10 @@ body: |
...
;--- mov_after_dealloc.mir
-# RUN: not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
+# RUN: env ASAN_OPTIONS=abort_on_error=1 not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
# RUN: %t/mov_after_dealloc.mir -run-pass=x86-wineh-unwindv2 2>&1 | \
# RUN: FileCheck %s --check-prefix=MOV-AFTER-DEALLOC
-# RUN: not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
+# RUN: env ASAN_OPTIONS=abort_on_error=1 not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
# RUN: %t/mov_after_dealloc.mir -passes=x86-wineh-unwindv2 2>&1 | \
# RUN: FileCheck %s --check-prefix=MOV-AFTER-DEALLOC
# RUN: llc -mtriple=x86_64-pc-windows-msvc -o - %t/mov_after_dealloc.mir \
@@ -347,10 +347,10 @@ body: |
...
;--- too_many_pops.mir
-# RUN: not --crash llc -mtriple=x86_64-pc-windows-msvc -o - %t/too_many_pops.mir \
+# RUN: env ASAN_OPTIONS=abort_on_error=1 not --crash llc -mtriple=x86_64-pc-windows-msvc -o - %t/too_many_pops.mir \
# RUN: -run-pass=x86-wineh-unwindv2 2>&1 | FileCheck %s \
# RUN: --check-prefix=TOO-MANY-POPS
-# RUN: not --crash llc -mtriple=x86_64-pc-windows-msvc -o - %t/too_many_pops.mir \
+# RUN: env ASAN_OPTIONS=abort_on_error=1 not --crash llc -mtriple=x86_64-pc-windows-msvc -o - %t/too_many_pops.mir \
# RUN: -passes=x86-wineh-unwindv2 2>&1 | FileCheck %s \
# RUN: --check-prefix=TOO-MANY-POPS
# RUN: llc -mtriple=x86_64-pc-windows-msvc -o - %t/too_many_pops.mir \
@@ -385,10 +385,10 @@ body: |
...
;--- pop_in_wrong_order.mir
-# RUN: not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
+# RUN: env ASAN_OPTIONS=abort_on_error=1 not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
# RUN: %t/pop_in_wrong_order.mir -run-pass=x86-wineh-unwindv2 2>&1 | \
# RUN: FileCheck %s --check-prefix=POP-WRONG-ORDER
-# RUN: not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
+# RUN: env ASAN_OPTIONS=abort_on_error=1 not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
# RUN: %t/pop_in_wrong_order.mir -passes=x86-wineh-unwindv2 2>&1 | \
# RUN: FileCheck %s --check-prefix=POP-WRONG-ORDER
# RUN: llc -mtriple=x86_64-pc-windows-msvc -o - %t/pop_in_wrong_order.mir \
@@ -425,10 +425,10 @@ body: |
...
;--- pop_after_epilog.mir
-# RUN: not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
+# RUN: env ASAN_OPTIONS=abort_on_error=1 not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
# RUN: %t/pop_after_epilog.mir -run-pass=x86-wineh-unwindv2 2>&1 | \
# RUN: FileCheck %s --check-prefix=POP-AFTER-EPILOG
-# RUN: not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
+# RUN: env ASAN_OPTIONS=abort_on_error=1 not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
# RUN: %t/pop_after_epilog.mir -passes=x86-wineh-unwindv2 2>&1 | \
# RUN: FileCheck %s --check-prefix=POP-AFTER-EPILOG
# RUN: llc -mtriple=x86_64-pc-windows-msvc -o - %t/pop_after_epilog.mir \
@@ -460,10 +460,10 @@ body: |
...
;--- instr_after_epilog.mir
-# RUN: not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
+# RUN: env ASAN_OPTIONS=abort_on_error=1 not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
# RUN: %t/instr_after_epilog.mir -run-pass=x86-wineh-unwindv2 2>&1 | \
# RUN: FileCheck %s --check-prefix=INSTR-AFTER-END
-# RUN: not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
+# RUN: env ASAN_OPTIONS=abort_on_error=1 not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
# RUN: %t/instr_after_epilog.mir -passes=x86-wineh-unwindv2 2>&1 | \
# RUN: FileCheck %s --check-prefix=INSTR-AFTER-END
# RUN: llc -mtriple=x86_64-pc-windows-msvc -o - %t/instr_after_epilog.mir \
@@ -495,10 +495,10 @@ body: |
...
;--- dealloc_pop_dealloc.mir
-# RUN: not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
+# RUN: env ASAN_OPTIONS=abort_on_error=1 not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
# RUN: %t/dealloc_pop_dealloc.mir -run-pass=x86-wineh-unwindv2 2>&1 | \
# RUN: FileCheck %s --check-prefix=DEALLOC-POP-DEALLOC
-# RUN: not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
+# RUN: env ASAN_OPTIONS=abort_on_error=1 not --crash llc -mtriple=x86_64-pc-windows-msvc -o - \
# RUN: %t/dealloc_pop_dealloc.mir -passes=x86-wineh-unwindv2 2>&1 | \
# RUN: FileCheck %s --check-prefix=DEALLOC-POP-DEALLOC
# RUN: llc -mtriple=x86_64-pc-windows-msvc -o - %t/dealloc_pop_dealloc.mir \
``````````
</details>
https://github.com/llvm/llvm-project/pull/212820
More information about the llvm-commits
mailing list