Index: lib/Support/ErrorHandling.cpp =================================================================== --- lib/Support/ErrorHandling.cpp +++ lib/Support/ErrorHandling.cpp @@ -123,7 +123,9 @@ // files registered with RemoveFileOnSignal. sys::RunInterruptHandlers(); - exit(1); + // Call abort() instead of exit() so debugger and crashdumps show where inside + // the compiler the fatal error happened. + abort(); } void llvm::install_bad_alloc_error_handler(fatal_error_handler_t handler, Index: test/Assembler/getInt.ll =================================================================== --- test/Assembler/getInt.ll +++ test/Assembler/getInt.ll @@ -1,3 +1,3 @@ -; RUN: not opt < %s 2>&1 | grep 'not a number, or does not fit in an unsigned int' +; RUN: not --crash opt < %s 2>&1 | grep 'not a number, or does not fit in an unsigned int' target datalayout = "p:4294967296:64:64" Index: test/Assembler/invalid-datalayout-alloca-addrspace.ll =================================================================== --- test/Assembler/invalid-datalayout-alloca-addrspace.ll +++ test/Assembler/invalid-datalayout-alloca-addrspace.ll @@ -1,4 +1,4 @@ -; RUN: not llvm-as < %s 2>&1 | FileCheck %s +; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s target datalayout = "A16777216" ; CHECK: Invalid address space, must be a 24bit integer Index: test/Assembler/invalid-datalayout1.ll =================================================================== --- test/Assembler/invalid-datalayout1.ll +++ test/Assembler/invalid-datalayout1.ll @@ -1,3 +1,3 @@ -; RUN: not llvm-as < %s 2>&1 | FileCheck %s +; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s target datalayout = "^" ; CHECK: Unknown specifier in datalayout string Index: test/Assembler/invalid-datalayout10.ll =================================================================== --- test/Assembler/invalid-datalayout10.ll +++ test/Assembler/invalid-datalayout10.ll @@ -1,3 +1,3 @@ -; RUN: not llvm-as < %s 2>&1 | FileCheck %s +; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s target datalayout = "m" ; CHECK: Expected mangling specifier in datalayout string Index: test/Assembler/invalid-datalayout11.ll =================================================================== --- test/Assembler/invalid-datalayout11.ll +++ test/Assembler/invalid-datalayout11.ll @@ -1,3 +1,3 @@ -; RUN: not llvm-as < %s 2>&1 | FileCheck %s +; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s target datalayout = "m." ; CHECK: Unexpected trailing characters after mangling specifier in datalayout string Index: test/Assembler/invalid-datalayout12.ll =================================================================== --- test/Assembler/invalid-datalayout12.ll +++ test/Assembler/invalid-datalayout12.ll @@ -1,3 +1,3 @@ -; RUN: not llvm-as < %s 2>&1 | FileCheck %s +; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s target datalayout = "f" ; CHECK: Missing alignment specification in datalayout string Index: test/Assembler/invalid-datalayout13.ll =================================================================== --- test/Assembler/invalid-datalayout13.ll +++ test/Assembler/invalid-datalayout13.ll @@ -1,3 +1,3 @@ -; RUN: not llvm-as < %s 2>&1 | FileCheck %s +; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s target datalayout = ":32" ; CHECK: Expected token before separator in datalayout string Index: test/Assembler/invalid-datalayout14.ll =================================================================== --- test/Assembler/invalid-datalayout14.ll +++ test/Assembler/invalid-datalayout14.ll @@ -1,3 +1,3 @@ -; RUN: not llvm-as < %s 2>&1 | FileCheck %s +; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s target datalayout = "i64:64:16" ; CHECK: Preferred alignment cannot be less than the ABI alignment Index: test/Assembler/invalid-datalayout15.ll =================================================================== --- test/Assembler/invalid-datalayout15.ll +++ test/Assembler/invalid-datalayout15.ll @@ -1,3 +1,3 @@ -; RUN: not llvm-as < %s 2>&1 | FileCheck %s +; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s target datalayout = "i64:16:16777216" ; CHECK: Invalid preferred alignment, must be a 16bit integer Index: test/Assembler/invalid-datalayout16.ll =================================================================== --- test/Assembler/invalid-datalayout16.ll +++ test/Assembler/invalid-datalayout16.ll @@ -1,3 +1,3 @@ -; RUN: not llvm-as < %s 2>&1 | FileCheck %s +; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s target datalayout = "i64:16777216:16777216" ; CHECK: Invalid ABI alignment, must be a 16bit integer Index: test/Assembler/invalid-datalayout17.ll =================================================================== --- test/Assembler/invalid-datalayout17.ll +++ test/Assembler/invalid-datalayout17.ll @@ -1,3 +1,3 @@ -; RUN: not llvm-as < %s 2>&1 | FileCheck %s +; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s target datalayout = "i16777216:16:16" ; CHECK: Invalid bit width, must be a 24bit integer Index: test/Assembler/invalid-datalayout18.ll =================================================================== --- test/Assembler/invalid-datalayout18.ll +++ test/Assembler/invalid-datalayout18.ll @@ -1,3 +1,3 @@ -; RUN: not llvm-as < %s 2>&1 | FileCheck %s +; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s target datalayout = "p:32:32:16" ; CHECK: Preferred alignment cannot be less than the ABI alignment Index: test/Assembler/invalid-datalayout19.ll =================================================================== --- test/Assembler/invalid-datalayout19.ll +++ test/Assembler/invalid-datalayout19.ll @@ -1,4 +1,4 @@ -; RUN: not llvm-as < %s 2>&1 | FileCheck %s +; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s target datalayout = "p:0:32:32" Index: test/Assembler/invalid-datalayout2.ll =================================================================== --- test/Assembler/invalid-datalayout2.ll +++ test/Assembler/invalid-datalayout2.ll @@ -1,3 +1,3 @@ -; RUN: not llvm-as < %s 2>&1 | FileCheck %s +; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s target datalayout = "m:v" ; CHECK: Unknown mangling in datalayout string Index: test/Assembler/invalid-datalayout20.ll =================================================================== --- test/Assembler/invalid-datalayout20.ll +++ test/Assembler/invalid-datalayout20.ll @@ -1,4 +1,4 @@ -; RUN: not llvm-as < %s 2>&1 | FileCheck %s +; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s target datalayout = "p:64:24:64" Index: test/Assembler/invalid-datalayout21.ll =================================================================== --- test/Assembler/invalid-datalayout21.ll +++ test/Assembler/invalid-datalayout21.ll @@ -1,4 +1,4 @@ -; RUN: not llvm-as < %s 2>&1 | FileCheck %s +; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s target datalayout = "p:64:64:24" Index: test/Assembler/invalid-datalayout22.ll =================================================================== --- test/Assembler/invalid-datalayout22.ll +++ test/Assembler/invalid-datalayout22.ll @@ -1,4 +1,4 @@ -; RUN: not llvm-as < %s 2>&1 | FileCheck %s +; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s target datalayout = "v128:0:128" Index: test/Assembler/invalid-datalayout23.ll =================================================================== --- test/Assembler/invalid-datalayout23.ll +++ test/Assembler/invalid-datalayout23.ll @@ -1,4 +1,4 @@ -; RUN: not llvm-as < %s 2>&1 | FileCheck %s +; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s target datalayout = "i32:24:32" Index: test/Assembler/invalid-datalayout24.ll =================================================================== --- test/Assembler/invalid-datalayout24.ll +++ test/Assembler/invalid-datalayout24.ll @@ -1,4 +1,4 @@ -; RUN: not llvm-as < %s 2>&1 | FileCheck %s +; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s target datalayout = "i32:32:24" Index: test/Assembler/invalid-datalayout3.ll =================================================================== --- test/Assembler/invalid-datalayout3.ll +++ test/Assembler/invalid-datalayout3.ll @@ -1,3 +1,3 @@ -; RUN: not llvm-as < %s 2>&1 | FileCheck %s +; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s target datalayout = "n0" ; CHECK: Zero width native integer type in datalayout string Index: test/Assembler/invalid-datalayout4.ll =================================================================== --- test/Assembler/invalid-datalayout4.ll +++ test/Assembler/invalid-datalayout4.ll @@ -1,3 +1,3 @@ -; RUN: not llvm-as < %s 2>&1 | FileCheck %s +; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s target datalayout = "p16777216:64:64:64" ; CHECK: Invalid address space, must be a 24bit integer Index: test/Assembler/invalid-datalayout5.ll =================================================================== --- test/Assembler/invalid-datalayout5.ll +++ test/Assembler/invalid-datalayout5.ll @@ -1,3 +1,3 @@ -; RUN: not llvm-as < %s 2>&1 | FileCheck %s +; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s target datalayout = "a1:64" ; CHECK: Sized aggregate specification in datalayout string Index: test/Assembler/invalid-datalayout6.ll =================================================================== --- test/Assembler/invalid-datalayout6.ll +++ test/Assembler/invalid-datalayout6.ll @@ -1,3 +1,3 @@ -; RUN: not llvm-as < %s 2>&1 | FileCheck %s +; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s target datalayout = "a:" ; CHECK: Trailing separator in datalayout string Index: test/Assembler/invalid-datalayout7.ll =================================================================== --- test/Assembler/invalid-datalayout7.ll +++ test/Assembler/invalid-datalayout7.ll @@ -1,3 +1,3 @@ -; RUN: not llvm-as < %s 2>&1 | FileCheck %s +; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s target datalayout = "p:52" ; CHECK: number of bits must be a byte width multiple Index: test/Assembler/invalid-datalayout8.ll =================================================================== --- test/Assembler/invalid-datalayout8.ll +++ test/Assembler/invalid-datalayout8.ll @@ -1,3 +1,3 @@ -; RUN: not llvm-as < %s 2>&1 | FileCheck %s +; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s target datalayout = "e-p" ; CHECK: Missing size specification for pointer in datalayout string Index: test/Assembler/invalid-datalayout9.ll =================================================================== --- test/Assembler/invalid-datalayout9.ll +++ test/Assembler/invalid-datalayout9.ll @@ -1,3 +1,3 @@ -; RUN: not llvm-as < %s 2>&1 | FileCheck %s +; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s target datalayout = "e-p:64" ; CHECK: Missing alignment specification for pointer in datalayout string Index: test/Bitcode/invalid.test =================================================================== --- test/Bitcode/invalid.test +++ test/Bitcode/invalid.test @@ -1,6 +1,6 @@ RUN: not llvm-dis -disable-output %p/Inputs/invalid-empty.bc 2>&1 | \ RUN: FileCheck --check-prefix=INVALID-EMPTY %s -RUN: not llvm-dis -disable-output %p/Inputs/invalid-pr20485.bc 2>&1 | \ +RUN: not --crash llvm-dis -disable-output %p/Inputs/invalid-pr20485.bc 2>&1 | \ RUN: FileCheck --check-prefix=INVALID-ENCODING %s RUN: not llvm-dis -disable-output %p/Inputs/invalid-abbrev.bc 2>&1 | \ RUN: FileCheck --check-prefix=BAD-ABBREV %s @@ -76,14 +76,14 @@ FP-SHIFT: Invalid record -RUN: not llvm-dis -disable-output %p/Inputs/invalid-abbrev-vbr-size-too-big.bc 2>&1 | \ +RUN: not --crash llvm-dis -disable-output %p/Inputs/invalid-abbrev-vbr-size-too-big.bc 2>&1 | \ RUN: FileCheck --check-prefix=HUGE-ABBREV-OP %s -RUN: not llvm-dis -disable-output %p/Inputs/invalid-abbrev-fixed-size-too-big.bc 2>&1 | \ +RUN: not --crash llvm-dis -disable-output %p/Inputs/invalid-abbrev-fixed-size-too-big.bc 2>&1 | \ RUN: FileCheck --check-prefix=HUGE-ABBREV-OP %s HUGE-ABBREV-OP: Fixed or VBR abbrev record with size > MaxChunkData -RUN: not llvm-dis -disable-output %p/Inputs/invalid-array-type.bc 2>&1 | \ +RUN: not --crash llvm-dis -disable-output %p/Inputs/invalid-array-type.bc 2>&1 | \ RUN: FileCheck --check-prefix=ARRAY-TYPE %s ARRAY-TYPE: Array element type can't be an Array or a Blob @@ -121,7 +121,7 @@ INVALID-CAST: Invalid cast -RUN: not llvm-dis -disable-output %p/Inputs/invalid-array-op-not-2nd-to-last.bc 2>&1 | \ +RUN: not --crash llvm-dis -disable-output %p/Inputs/invalid-array-op-not-2nd-to-last.bc 2>&1 | \ RUN: FileCheck --check-prefix=ARRAY-NOT-2LAST %s ARRAY-NOT-2LAST: Array op not second to last @@ -181,7 +181,7 @@ INVALID-GVCOMDAT-ID: Invalid global variable comdat ID -RUN: not llvm-dis -disable-output %p/Inputs/invalid-abbrev-no-operands.bc 2>&1 | \ +RUN: not --crash llvm-dis -disable-output %p/Inputs/invalid-abbrev-no-operands.bc 2>&1 | \ RUN: FileCheck --check-prefix=ABBREV-NO-OPS %s ABBREV-NO-OPS: Abbrev record with no operands Index: test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll =================================================================== --- test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll +++ test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll @@ -1,4 +1,4 @@ -; RUN: not llc -O0 -global-isel -verify-machineinstrs %s -o - 2>&1 | FileCheck %s --check-prefix=ERROR +; RUN: not --crash llc -O0 -global-isel -verify-machineinstrs %s -o - 2>&1 | FileCheck %s --check-prefix=ERROR ; RUN: llc -O0 -global-isel -global-isel-abort=0 -verify-machineinstrs %s -o - 2>&1 | FileCheck %s --check-prefix=FALLBACK ; RUN: llc -O0 -global-isel -global-isel-abort=2 -pass-remarks-missed='gisel*' -verify-machineinstrs %s -o %t.out 2> %t.err ; RUN: FileCheck %s --check-prefix=FALLBACK-WITH-REPORT-OUT < %t.out Index: test/CodeGen/AArch64/GlobalISel/verify-regbankselected.mir =================================================================== --- test/CodeGen/AArch64/GlobalISel/verify-regbankselected.mir +++ test/CodeGen/AArch64/GlobalISel/verify-regbankselected.mir @@ -1,4 +1,4 @@ -# RUN: not llc -verify-machineinstrs -run-pass none -o /dev/null %s 2>&1 | FileCheck %s +# RUN: not --crash llc -verify-machineinstrs -run-pass none -o /dev/null %s 2>&1 | FileCheck %s --- | Index: test/CodeGen/AArch64/GlobalISel/verify-selected.mir =================================================================== --- test/CodeGen/AArch64/GlobalISel/verify-selected.mir +++ test/CodeGen/AArch64/GlobalISel/verify-selected.mir @@ -1,4 +1,4 @@ -# RUN: not llc -verify-machineinstrs -run-pass none -o /dev/null %s 2>&1 | FileCheck %s +# RUN: not --crash llc -verify-machineinstrs -run-pass none -o /dev/null %s 2>&1 | FileCheck %s --- | Index: test/CodeGen/AArch64/aarch64-named-reg-w18.ll =================================================================== --- test/CodeGen/AArch64/aarch64-named-reg-w18.ll +++ test/CodeGen/AArch64/aarch64-named-reg-w18.ll @@ -1,4 +1,4 @@ -; RUN: not llc -mtriple=aarch64-fuchsia -o - %s 2>&1 | FileCheck %s --check-prefix=ERROR +; RUN: not --crash llc -mtriple=aarch64-fuchsia -o - %s 2>&1 | FileCheck %s --check-prefix=ERROR ; RUN: llc -mtriple=aarch64-fuchsia -mattr=+reserve-x18 -o - %s define void @set_w18(i32 %x) { Index: test/CodeGen/AArch64/aarch64-named-reg-x18.ll =================================================================== --- test/CodeGen/AArch64/aarch64-named-reg-x18.ll +++ test/CodeGen/AArch64/aarch64-named-reg-x18.ll @@ -1,4 +1,4 @@ -; RUN: not llc -mtriple=aarch64-fuchsia -o - %s 2>&1 | FileCheck %s --check-prefix=ERROR +; RUN: not --crash llc -mtriple=aarch64-fuchsia -o - %s 2>&1 | FileCheck %s --check-prefix=ERROR ; RUN: llc -mtriple=aarch64-fuchsia -mattr=+reserve-x18 -o - %s define void @set_x18(i64 %x) { Index: test/CodeGen/AArch64/arm64-anyregcc-crash.ll =================================================================== --- test/CodeGen/AArch64/arm64-anyregcc-crash.ll +++ test/CodeGen/AArch64/arm64-anyregcc-crash.ll @@ -1,4 +1,4 @@ -; RUN: not llc < %s -mtriple=arm64-apple-darwin 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=arm64-apple-darwin 2>&1 | FileCheck %s ; ; Check that misuse of anyregcc results in a compile time error. Index: test/CodeGen/AArch64/arm64-named-reg-alloc.ll =================================================================== --- test/CodeGen/AArch64/arm64-named-reg-alloc.ll +++ test/CodeGen/AArch64/arm64-named-reg-alloc.ll @@ -1,5 +1,5 @@ -; RUN: not llc < %s -mtriple=arm64-apple-darwin 2>&1 | FileCheck %s -; RUN: not llc < %s -mtriple=arm64-linux-gnueabi 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=arm64-apple-darwin 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=arm64-linux-gnueabi 2>&1 | FileCheck %s define i32 @get_stack() nounwind { entry: Index: test/CodeGen/AArch64/arm64-named-reg-notareg.ll =================================================================== --- test/CodeGen/AArch64/arm64-named-reg-notareg.ll +++ test/CodeGen/AArch64/arm64-named-reg-notareg.ll @@ -1,5 +1,5 @@ -; RUN: not llc < %s -mtriple=arm64-apple-darwin 2>&1 | FileCheck %s -; RUN: not llc < %s -mtriple=arm64-linux-gnueabi 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=arm64-apple-darwin 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=arm64-linux-gnueabi 2>&1 | FileCheck %s define i32 @get_stack() nounwind { entry: Index: test/CodeGen/AArch64/fast-isel-sp-adjust.ll =================================================================== --- test/CodeGen/AArch64/fast-isel-sp-adjust.ll +++ test/CodeGen/AArch64/fast-isel-sp-adjust.ll @@ -1,5 +1,5 @@ ; RUN: llc -O0 -mtriple=aarch64-apple-ios -o - %s | FileCheck %s -; RUN: not llc -O0 -mtriple=aarch64-apple-ios -o /dev/null -fast-isel-abort=3 %s 2> %t +; RUN: not --crash llc -O0 -mtriple=aarch64-apple-ios -o /dev/null -fast-isel-abort=3 %s 2> %t ; RUN: FileCheck %s --check-prefix=CHECK-ERRORS < %t ; The issue here is that FastISel cannot emit an ADDrr where one of the inputs Index: test/CodeGen/AMDGPU/branch-relax-spill.ll =================================================================== --- test/CodeGen/AMDGPU/branch-relax-spill.ll +++ test/CodeGen/AMDGPU/branch-relax-spill.ll @@ -1,4 +1,4 @@ -; RUN: not llc -march=amdgcn -verify-machineinstrs -amdgpu-s-branch-bits=4 < %s 2>&1 | FileCheck -check-prefix=FAIL %s +; RUN: not --crash llc -march=amdgcn -verify-machineinstrs -amdgpu-s-branch-bits=4 < %s 2>&1 | FileCheck -check-prefix=FAIL %s ; FIXME: This should be able to compile, but requires inserting an ; extra block to restore the scavenged register. Index: test/CodeGen/AMDGPU/lds-initializer.ll =================================================================== --- test/CodeGen/AMDGPU/lds-initializer.ll +++ test/CodeGen/AMDGPU/lds-initializer.ll @@ -1,5 +1,5 @@ -; RUN: not llc -march=amdgcn -mcpu=tahiti < %s 2>&1 | FileCheck %s -; RUN: not llc -march=amdgcn -mcpu=tonga < %s 2>&1 | FileCheck %s +; RUN: not --crash llc -march=amdgcn -mcpu=tahiti < %s 2>&1 | FileCheck %s +; RUN: not --crash llc -march=amdgcn -mcpu=tonga < %s 2>&1 | FileCheck %s ; CHECK: in function load_init_lds_global{{.*}}: unsupported initializer for address space Index: test/CodeGen/AMDGPU/lds-zero-initializer.ll =================================================================== --- test/CodeGen/AMDGPU/lds-zero-initializer.ll +++ test/CodeGen/AMDGPU/lds-zero-initializer.ll @@ -1,5 +1,5 @@ -; RUN: not llc -march=amdgcn -mcpu=tahiti < %s 2>&1 | FileCheck %s -; RUN: not llc -march=amdgcn -mcpu=tonga < %s 2>&1 | FileCheck %s +; RUN: not --crash llc -march=amdgcn -mcpu=tahiti < %s 2>&1 | FileCheck %s +; RUN: not --crash llc -march=amdgcn -mcpu=tonga < %s 2>&1 | FileCheck %s ; CHECK: in function load_zeroinit_lds_global{{.*}}: unsupported initializer for address space Index: test/CodeGen/AMDGPU/read-register-invalid-subtarget.ll =================================================================== --- test/CodeGen/AMDGPU/read-register-invalid-subtarget.ll +++ test/CodeGen/AMDGPU/read-register-invalid-subtarget.ll @@ -1,4 +1,4 @@ -; RUN: not llc -march=amdgcn -mcpu=tahiti -verify-machineinstrs < %s 2>&1 | FileCheck %s +; RUN: not --crash llc -march=amdgcn -mcpu=tahiti -verify-machineinstrs < %s 2>&1 | FileCheck %s ; CHECK: invalid register "flat_scratch_lo" for subtarget. Index: test/CodeGen/AMDGPU/read-register-invalid-type-i32.ll =================================================================== --- test/CodeGen/AMDGPU/read-register-invalid-type-i32.ll +++ test/CodeGen/AMDGPU/read-register-invalid-type-i32.ll @@ -1,4 +1,4 @@ -; RUN: not llc -march=amdgcn -verify-machineinstrs < %s 2>&1 | FileCheck %s +; RUN: not --crash llc -march=amdgcn -verify-machineinstrs < %s 2>&1 | FileCheck %s ; CHECK: invalid type for register "exec". Index: test/CodeGen/AMDGPU/read-register-invalid-type-i64.ll =================================================================== --- test/CodeGen/AMDGPU/read-register-invalid-type-i64.ll +++ test/CodeGen/AMDGPU/read-register-invalid-type-i64.ll @@ -1,4 +1,4 @@ -; RUN: not llc -march=amdgcn -verify-machineinstrs < %s 2>&1 | FileCheck %s +; RUN: not --crash llc -march=amdgcn -verify-machineinstrs < %s 2>&1 | FileCheck %s ; CHECK: invalid type for register "m0". Index: test/CodeGen/ARM/cdp.ll =================================================================== --- test/CodeGen/ARM/cdp.ll +++ test/CodeGen/ARM/cdp.ll @@ -1,5 +1,5 @@ -; RUN: not llc < %s -mtriple=armv7-eabi -mcpu=cortex-a8 2>&1 | FileCheck %s -; RUN: not llc < %s -mtriple=thumbv7-eabi -mcpu=cortex-a8 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=armv7-eabi -mcpu=cortex-a8 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=thumbv7-eabi -mcpu=cortex-a8 2>&1 | FileCheck %s ; CHECK: LLVM ERROR: Cannot select: intrinsic %llvm.arm.cdp define void @cdp(i32 %a) #0 { Index: test/CodeGen/ARM/cdp2.ll =================================================================== --- test/CodeGen/ARM/cdp2.ll +++ test/CodeGen/ARM/cdp2.ll @@ -1,5 +1,5 @@ -; RUN: not llc < %s -mtriple=armv7-eabi -mcpu=cortex-a8 2>&1 | FileCheck %s -; RUN: not llc < %s -mtriple=thumbv7-eabi -mcpu=cortex-a8 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=armv7-eabi -mcpu=cortex-a8 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=thumbv7-eabi -mcpu=cortex-a8 2>&1 | FileCheck %s ; CHECK: LLVM ERROR: Cannot select: intrinsic %llvm.arm.cdp2 define void @cdp2(i32 %a) #0 { Index: test/CodeGen/ARM/ldc2l.ll =================================================================== --- test/CodeGen/ARM/ldc2l.ll +++ test/CodeGen/ARM/ldc2l.ll @@ -1,5 +1,5 @@ -; RUN: not llc < %s -mtriple=armv8-eabi 2>&1 | FileCheck %s -; RUN: not llc < %s -mtriple=thumbv8-eabi 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=armv8-eabi 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=thumbv8-eabi 2>&1 | FileCheck %s ; CHECK: LLVM ERROR: Cannot select: intrinsic %llvm.arm.ldc2l define void @ldc2l(i8* %i) nounwind { Index: test/CodeGen/ARM/named-reg-alloc.ll =================================================================== --- test/CodeGen/ARM/named-reg-alloc.ll +++ test/CodeGen/ARM/named-reg-alloc.ll @@ -1,5 +1,5 @@ -; RUN: not llc < %s -mtriple=arm-apple-darwin 2>&1 | FileCheck %s -; RUN: not llc < %s -mtriple=arm-linux-gnueabi 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=arm-apple-darwin 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=arm-linux-gnueabi 2>&1 | FileCheck %s define i32 @get_stack() nounwind { entry: Index: test/CodeGen/ARM/named-reg-notareg.ll =================================================================== --- test/CodeGen/ARM/named-reg-notareg.ll +++ test/CodeGen/ARM/named-reg-notareg.ll @@ -1,5 +1,5 @@ -; RUN: not llc < %s -mtriple=arm-apple-darwin 2>&1 | FileCheck %s -; RUN: not llc < %s -mtriple=arm-linux-gnueabi 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=arm-apple-darwin 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=arm-linux-gnueabi 2>&1 | FileCheck %s define i32 @get_stack() nounwind { entry: Index: test/CodeGen/ARM/special-reg-acore.ll =================================================================== --- test/CodeGen/ARM/special-reg-acore.ll +++ test/CodeGen/ARM/special-reg-acore.ll @@ -1,5 +1,5 @@ ; RUN: llc < %s -mtriple=arm-none-eabi -mcpu=cortex-a8 2>&1 | FileCheck %s --check-prefix=ACORE -; RUN: not llc < %s -mtriple=thumb-none-eabi -mcpu=cortex-m4 2>&1 | FileCheck %s --check-prefix=MCORE +; RUN: not --crash llc < %s -mtriple=thumb-none-eabi -mcpu=cortex-m4 2>&1 | FileCheck %s --check-prefix=MCORE ; MCORE: LLVM ERROR: Invalid register name "cpsr". Index: test/CodeGen/ARM/special-reg-mcore.ll =================================================================== --- test/CodeGen/ARM/special-reg-mcore.ll +++ test/CodeGen/ARM/special-reg-mcore.ll @@ -1,6 +1,6 @@ ; RUN: llc < %s -mtriple=thumb-none-eabi -mcpu=cortex-m4 --show-mc-encoding 2>&1 | FileCheck %s --check-prefix=MCORE -; RUN: not llc < %s -mtriple=thumb-none-eabi -mcpu=cortex-m3 2>&1 | FileCheck %s --check-prefix=M3CORE -; RUN: not llc < %s -mtriple=arm-none-eabi -mcpu=cortex-a8 2>&1 | FileCheck %s --check-prefix=ACORE +; RUN: not --crash llc < %s -mtriple=thumb-none-eabi -mcpu=cortex-m3 2>&1 | FileCheck %s --check-prefix=M3CORE +; RUN: not --crash llc < %s -mtriple=arm-none-eabi -mcpu=cortex-a8 2>&1 | FileCheck %s --check-prefix=ACORE ; ACORE: LLVM ERROR: Invalid register name "control". ; M3CORE: LLVM ERROR: Invalid register name "xpsr_nzcvqg". Index: test/CodeGen/ARM/special-reg-v8m-base.ll =================================================================== --- test/CodeGen/ARM/special-reg-v8m-base.ll +++ test/CodeGen/ARM/special-reg-v8m-base.ll @@ -1,4 +1,4 @@ -; RUN: not llc < %s -mtriple=thumb-none-eabi -mcpu=cortex-m4 2>&1 | FileCheck %s --check-prefix=V7M +; RUN: not --crash llc < %s -mtriple=thumb-none-eabi -mcpu=cortex-m4 2>&1 | FileCheck %s --check-prefix=V7M ; RUN: llc < %s -mtriple=thumbv8m.base-none-eabi 2>&1 | FileCheck %s ; V7M: LLVM ERROR: Invalid register name "sp_ns". Index: test/CodeGen/ARM/special-reg-v8m-main.ll =================================================================== --- test/CodeGen/ARM/special-reg-v8m-main.ll +++ test/CodeGen/ARM/special-reg-v8m-main.ll @@ -1,4 +1,4 @@ -; RUN: not llc < %s -mtriple=thumbv8m.base-none-eabi 2>&1 | FileCheck %s --check-prefix=BASELINE +; RUN: not --crash llc < %s -mtriple=thumbv8m.base-none-eabi 2>&1 | FileCheck %s --check-prefix=BASELINE ; RUN: llc < %s -mtriple=thumbv8m.main-none-eabi -mattr=+dsp 2>&1 | FileCheck %s --check-prefix=MAINLINE ; BASELINE: LLVM ERROR: Invalid register name "faultmask_ns". Index: test/CodeGen/ARM/ssat-lower.ll =================================================================== --- test/CodeGen/ARM/ssat-lower.ll +++ test/CodeGen/ARM/ssat-lower.ll @@ -1,5 +1,5 @@ -; RUN: not llc < %s -O1 -mtriple=armv6-none-none-eabi 2>&1 | FileCheck %s -; RUN: not llc < %s -O1 -mtriple=thumbv7-none-none-eabi 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -O1 -mtriple=armv6-none-none-eabi 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -O1 -mtriple=thumbv7-none-none-eabi 2>&1 | FileCheck %s ; immediate argument < lower-bound ; CHECK: LLVM ERROR: Cannot select: intrinsic %llvm.arm.ssat Index: test/CodeGen/ARM/ssat-upper.ll =================================================================== --- test/CodeGen/ARM/ssat-upper.ll +++ test/CodeGen/ARM/ssat-upper.ll @@ -1,5 +1,5 @@ -; RUN: not llc < %s -O1 -mtriple=armv6-none-none-eabi 2>&1 | FileCheck %s -; RUN: not llc < %s -O1 -mtriple=thumbv7-none-none-eabi 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -O1 -mtriple=armv6-none-none-eabi 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -O1 -mtriple=thumbv7-none-none-eabi 2>&1 | FileCheck %s ; immediate argument > upper-bound ; CHECK: LLVM ERROR: Cannot select: intrinsic %llvm.arm.ssat Index: test/CodeGen/ARM/ssat-v4t.ll =================================================================== --- test/CodeGen/ARM/ssat-v4t.ll +++ test/CodeGen/ARM/ssat-v4t.ll @@ -1,4 +1,4 @@ -; RUN: not llc -O1 -mtriple=armv4t-none-none-eabi %s -o - 2>&1 | FileCheck %s +; RUN: not --crash llc -O1 -mtriple=armv4t-none-none-eabi %s -o - 2>&1 | FileCheck %s ; CHECK: Cannot select: intrinsic %llvm.arm.ssat define i32 @ssat() nounwind { Index: test/CodeGen/ARM/stc2.ll =================================================================== --- test/CodeGen/ARM/stc2.ll +++ test/CodeGen/ARM/stc2.ll @@ -1,5 +1,5 @@ -; RUN: not llc < %s -mtriple=armv8-eabi 2>&1 | FileCheck %s -; RUN: not llc < %s -mtriple=thumbv8-eabi 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=armv8-eabi 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=thumbv8-eabi 2>&1 | FileCheck %s ; CHECK: LLVM ERROR: Cannot select: intrinsic %llvm.arm.stc2 define void @stc2(i8* %i) nounwind { Index: test/CodeGen/ARM/usat-lower.ll =================================================================== --- test/CodeGen/ARM/usat-lower.ll +++ test/CodeGen/ARM/usat-lower.ll @@ -1,5 +1,5 @@ -; RUN: not llc < %s -O1 -mtriple=armv6-none-none-eabi 2>&1 | FileCheck %s -; RUN: not llc < %s -O1 -mtriple=thumbv7-none-none-eabi 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -O1 -mtriple=armv6-none-none-eabi 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -O1 -mtriple=thumbv7-none-none-eabi 2>&1 | FileCheck %s ; immediate argument < lower-bound ; CHECK: LLVM ERROR: Cannot select: intrinsic %llvm.arm.usat Index: test/CodeGen/ARM/usat-upper.ll =================================================================== --- test/CodeGen/ARM/usat-upper.ll +++ test/CodeGen/ARM/usat-upper.ll @@ -1,5 +1,5 @@ -; RUN: not llc < %s -O1 -mtriple=armv6-none-none-eabi 2>&1 | FileCheck %s -; RUN: not llc < %s -O1 -mtriple=thumbv7-none-none-eabi 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -O1 -mtriple=armv6-none-none-eabi 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -O1 -mtriple=thumbv7-none-none-eabi 2>&1 | FileCheck %s ; immediate argument > upper-bound ; CHECK: LLVM ERROR: Cannot select: intrinsic %llvm.arm.usat Index: test/CodeGen/ARM/usat-v4t.ll =================================================================== --- test/CodeGen/ARM/usat-v4t.ll +++ test/CodeGen/ARM/usat-v4t.ll @@ -1,4 +1,4 @@ -; RUN: not llc -O1 -mtriple=armv4t-none-none-eabi %s -o - 2>&1 | FileCheck %s +; RUN: not --crash llc -O1 -mtriple=armv4t-none-none-eabi %s -o - 2>&1 | FileCheck %s ; CHECK: LLVM ERROR: Cannot select: intrinsic %llvm.arm.usat define i32 @usat1() nounwind { Index: test/CodeGen/BPF/sdiv_error.ll =================================================================== --- test/CodeGen/BPF/sdiv_error.ll +++ test/CodeGen/BPF/sdiv_error.ll @@ -1,4 +1,4 @@ -; RUN: not llc -march=bpf < %s 2> %t1 +; RUN: not --crash llc -march=bpf < %s 2> %t1 ; RUN: FileCheck %s < %t1 ; CHECK: Unsupport signed division Index: test/CodeGen/Generic/llc-start-stop.ll =================================================================== --- test/CodeGen/Generic/llc-start-stop.ll +++ test/CodeGen/Generic/llc-start-stop.ll @@ -23,16 +23,16 @@ ; START-BEFORE: Loop Strength Reduction ; START-BEFORE-NEXT: Lower Garbage Collection Instructions -; RUN: not llc < %s -start-before=nonexistent -o /dev/null 2>&1 | FileCheck %s -check-prefix=NONEXISTENT-START-BEFORE -; RUN: not llc < %s -stop-before=nonexistent -o /dev/null 2>&1 | FileCheck %s -check-prefix=NONEXISTENT-STOP-BEFORE -; RUN: not llc < %s -start-after=nonexistent -o /dev/null 2>&1 | FileCheck %s -check-prefix=NONEXISTENT-START-AFTER -; RUN: not llc < %s -stop-after=nonexistent -o /dev/null 2>&1 | FileCheck %s -check-prefix=NONEXISTENT-STOP-AFTER +; RUN: not --crash llc < %s -start-before=nonexistent -o /dev/null 2>&1 | FileCheck %s -check-prefix=NONEXISTENT-START-BEFORE +; RUN: not --crash llc < %s -stop-before=nonexistent -o /dev/null 2>&1 | FileCheck %s -check-prefix=NONEXISTENT-STOP-BEFORE +; RUN: not --crash llc < %s -start-after=nonexistent -o /dev/null 2>&1 | FileCheck %s -check-prefix=NONEXISTENT-START-AFTER +; RUN: not --crash llc < %s -stop-after=nonexistent -o /dev/null 2>&1 | FileCheck %s -check-prefix=NONEXISTENT-STOP-AFTER ; NONEXISTENT-START-BEFORE: "nonexistent" pass is not registered. ; NONEXISTENT-STOP-BEFORE: "nonexistent" pass is not registered. ; NONEXISTENT-START-AFTER: "nonexistent" pass is not registered. ; NONEXISTENT-STOP-AFTER: "nonexistent" pass is not registered. -; RUN: not llc < %s -start-before=loop-reduce -start-after=loop-reduce -o /dev/null 2>&1 | FileCheck %s -check-prefix=DOUBLE-START -; RUN: not llc < %s -stop-before=loop-reduce -stop-after=loop-reduce -o /dev/null 2>&1 | FileCheck %s -check-prefix=DOUBLE-STOP +; RUN: not --crash llc < %s -start-before=loop-reduce -start-after=loop-reduce -o /dev/null 2>&1 | FileCheck %s -check-prefix=DOUBLE-START +; RUN: not --crash llc < %s -stop-before=loop-reduce -stop-after=loop-reduce -o /dev/null 2>&1 | FileCheck %s -check-prefix=DOUBLE-STOP ; DOUBLE-START: start-before and start-after specified! ; DOUBLE-STOP: stop-before and stop-after specified! Index: test/CodeGen/Generic/opt-codegen-no-target-machine.ll =================================================================== --- test/CodeGen/Generic/opt-codegen-no-target-machine.ll +++ test/CodeGen/Generic/opt-codegen-no-target-machine.ll @@ -1,3 +1,3 @@ -; RUN: not opt %s -dwarfehprepare -o - 2>&1 | FileCheck %s +; RUN: not --crash opt %s -dwarfehprepare -o - 2>&1 | FileCheck %s ; CHECK: Trying to construct TargetPassConfig without a target machine. Scheduling a CodeGen pass without a target triple set? Index: test/CodeGen/MIR/X86/machine-verifier.mir =================================================================== --- test/CodeGen/MIR/X86/machine-verifier.mir +++ test/CodeGen/MIR/X86/machine-verifier.mir @@ -1,4 +1,4 @@ -# RUN: not llc -march=x86-64 -run-pass none -o /dev/null %s 2>&1 | FileCheck %s +# RUN: not --crash llc -march=x86-64 -run-pass none -o /dev/null %s 2>&1 | FileCheck %s # This test ensures that the MIR parser runs the machine verifier after parsing. --- | Index: test/CodeGen/MIR/X86/tied-physical-regs-match.mir =================================================================== --- test/CodeGen/MIR/X86/tied-physical-regs-match.mir +++ test/CodeGen/MIR/X86/tied-physical-regs-match.mir @@ -1,4 +1,4 @@ -# RUN: not llc -march=x86-64 -run-pass none -o /dev/null %s 2>&1 | FileCheck %s +# RUN: not --crash llc -march=x86-64 -run-pass none -o /dev/null %s 2>&1 | FileCheck %s # This test ensures that the Machine Verifier detects tied physical registers # that doesn't match. Index: test/CodeGen/Mips/Fast-ISel/double-arg.ll =================================================================== --- test/CodeGen/Mips/Fast-ISel/double-arg.ll +++ test/CodeGen/Mips/Fast-ISel/double-arg.ll @@ -1,4 +1,4 @@ -; RUN: not llc -march=mipsel -mcpu=mips32r2 -mattr=+fp64 \ +; RUN: not --crash llc -march=mipsel -mcpu=mips32r2 -mattr=+fp64 \ ; RUN: -O0 -relocation-model=pic -fast-isel-abort=3 < %s ; Check that FastISel aborts when we have 64bit FPU registers. FastISel currently Index: test/CodeGen/Mips/Fast-ISel/fast-isel-softfloat-lower-args.ll =================================================================== --- test/CodeGen/Mips/Fast-ISel/fast-isel-softfloat-lower-args.ll +++ test/CodeGen/Mips/Fast-ISel/fast-isel-softfloat-lower-args.ll @@ -1,4 +1,4 @@ -; RUN: not llc -march=mipsel -mcpu=mips32r2 -mattr=+soft-float \ +; RUN: not --crash llc -march=mipsel -mcpu=mips32r2 -mattr=+soft-float \ ; RUN: -O0 -fast-isel-abort=3 -relocation-model=pic < %s ; Test that FastISel aborts instead of trying to lower arguments for soft-float. Index: test/CodeGen/Mips/fp64a.ll =================================================================== --- test/CodeGen/Mips/fp64a.ll +++ test/CodeGen/Mips/fp64a.ll @@ -17,9 +17,9 @@ ; RUN: llc -march=mipsel -mcpu=mips32r2 -mattr=fp64,nooddspreg < %s | FileCheck %s -check-prefixes=ALL,32R2-FP64A ; RUN: llc -march=mips64 -mcpu=mips64 -mattr=fp64 < %s | FileCheck %s -check-prefixes=ALL,64-NO-FP64A -; RUN: not llc -march=mips64 -mcpu=mips64 -mattr=fp64,nooddspreg < %s 2>&1 | FileCheck %s -check-prefix=64-FP64A +; RUN: not --crash llc -march=mips64 -mcpu=mips64 -mattr=fp64,nooddspreg < %s 2>&1 | FileCheck %s -check-prefix=64-FP64A ; RUN: llc -march=mips64el -mcpu=mips64 -mattr=fp64 < %s | FileCheck %s -check-prefixes=ALL,64-NO-FP64A -; RUN: not llc -march=mips64el -mcpu=mips64 -mattr=fp64,nooddspreg < %s 2>&1 | FileCheck %s -check-prefix=64-FP64A +; RUN: not --crash llc -march=mips64el -mcpu=mips64 -mattr=fp64,nooddspreg < %s 2>&1 | FileCheck %s -check-prefix=64-FP64A ; 64-FP64A: LLVM ERROR: -mattr=+nooddspreg requires the O32 ABI. Index: test/CodeGen/Mips/fpxx.ll =================================================================== --- test/CodeGen/Mips/fpxx.ll +++ test/CodeGen/Mips/fpxx.ll @@ -5,10 +5,10 @@ ; RUN: llc -march=mipsel -mcpu=mips32r2 -mattr=fpxx < %s | FileCheck %s -check-prefixes=ALL,32R2-FPXX ; RUN: llc -march=mips64 -mcpu=mips4 < %s | FileCheck %s -check-prefixes=ALL,4-NOFPXX -; RUN: not llc -march=mips64 -mcpu=mips4 -mattr=fpxx < %s 2>&1 | FileCheck %s -check-prefix=4-FPXX +; RUN: not --crash llc -march=mips64 -mcpu=mips4 -mattr=fpxx < %s 2>&1 | FileCheck %s -check-prefix=4-FPXX ; RUN: llc -march=mips64 -mcpu=mips64 < %s | FileCheck %s -check-prefixes=ALL,64-NOFPXX -; RUN: not llc -march=mips64 -mcpu=mips64 -mattr=fpxx < %s 2>&1 | FileCheck %s -check-prefix=64-FPXX +; RUN: not --crash llc -march=mips64 -mcpu=mips64 -mattr=fpxx < %s 2>&1 | FileCheck %s -check-prefix=64-FPXX ; RUN-TODO: llc -march=mips64 -mcpu=mips4 -target-abi o32 < %s | FileCheck %s -check-prefixes=ALL,4-O32-NOFPXX ; RUN-TODO: llc -march=mips64 -mcpu=mips4 -target-abi o32 -mattr=fpxx < %s | FileCheck %s -check-prefixes=ALL,4-O32-FPXX Index: test/CodeGen/Mips/interrupt-attr-64-error.ll =================================================================== --- test/CodeGen/Mips/interrupt-attr-64-error.ll +++ test/CodeGen/Mips/interrupt-attr-64-error.ll @@ -1,4 +1,4 @@ -; RUN: not llc -mcpu=mips64r6 -march=mipsel -target-abi n64 -relocation-model=static < %s 2>%t +; RUN: not --crash llc -mcpu=mips64r6 -march=mipsel -target-abi n64 -relocation-model=static < %s 2>%t ; RUN: FileCheck %s < %t ; CHECK: LLVM ERROR: "interrupt" attribute is only supported for the O32 ABI on MIPS32R2+ at the present time. Index: test/CodeGen/Mips/interrupt-attr-args-error.ll =================================================================== --- test/CodeGen/Mips/interrupt-attr-args-error.ll +++ test/CodeGen/Mips/interrupt-attr-args-error.ll @@ -1,4 +1,4 @@ -; RUN: not llc -mcpu=mips32r2 -march=mipsel -relocation-model=static < %s 2> %t +; RUN: not --crash llc -mcpu=mips32r2 -march=mipsel -relocation-model=static < %s 2> %t ; RUN: FileCheck %s < %t ; CHECK: LLVM ERROR: Functions with the interrupt attribute cannot have arguments! Index: test/CodeGen/Mips/interrupt-attr-error.ll =================================================================== --- test/CodeGen/Mips/interrupt-attr-error.ll +++ test/CodeGen/Mips/interrupt-attr-error.ll @@ -1,4 +1,4 @@ -; RUN: not llc -mcpu=mips32 -march=mipsel -relocation-model=static < %s 2>%t +; RUN: not --crash llc -mcpu=mips32 -march=mipsel -relocation-model=static < %s 2>%t ; RUN: FileCheck %s < %t ; CHECK: LLVM ERROR: "interrupt" attribute is not supported on pre-MIPS32R2 or MIPS16 targets. Index: test/CodeGen/Mips/mips32r6/compatibility.ll =================================================================== --- test/CodeGen/Mips/mips32r6/compatibility.ll +++ test/CodeGen/Mips/mips32r6/compatibility.ll @@ -1,5 +1,5 @@ ; RUN: llc -march=mipsel -mcpu=mips32r6 < %s | FileCheck %s -; RUN: not llc -march=mipsel -mcpu=mips32r6 -mattr=+dsp < %s 2>&1 | FileCheck --check-prefix=DSP %s +; RUN: not --crash llc -march=mipsel -mcpu=mips32r6 -mattr=+dsp < %s 2>&1 | FileCheck --check-prefix=DSP %s ; CHECK: foo: ; DSP: MIPS32r6 is not compatible with the DSP ASE Index: test/CodeGen/Mips/mips64r6/compatibility.ll =================================================================== --- test/CodeGen/Mips/mips64r6/compatibility.ll +++ test/CodeGen/Mips/mips64r6/compatibility.ll @@ -1,5 +1,5 @@ ; RUN: llc -march=mipsel -mcpu=mips64r6 -target-abi n64 < %s | FileCheck %s -; RUN: not llc -march=mipsel -mcpu=mips64r6 -target-abi n64 -mattr=+dsp < %s 2>&1 | FileCheck --check-prefix=DSP %s +; RUN: not --crash llc -march=mipsel -mcpu=mips64r6 -target-abi n64 -mattr=+dsp < %s 2>&1 | FileCheck --check-prefix=DSP %s ; CHECK: foo: ; DSP: MIPS64r6 is not compatible with the DSP ASE Index: test/CodeGen/Mips/msa/3r-a.ll =================================================================== --- test/CodeGen/Mips/msa/3r-a.ll +++ test/CodeGen/Mips/msa/3r-a.ll @@ -5,7 +5,7 @@ ; RUN: llc -march=mipsel -mattr=+msa,+fp64 -relocation-model=pic < %s | FileCheck %s ; It should fail to compile without fp64. -; RUN: not llc -march=mips -mattr=+msa < %s 2>&1 | \ +; RUN: not --crash llc -march=mips -mattr=+msa < %s 2>&1 | \ ; RUN: FileCheck -check-prefix=FP32ERROR %s ; FP32ERROR: LLVM ERROR: MSA requires a 64-bit FPU register file (FR=1 mode). Index: test/CodeGen/Mips/msa/immediates-bad.ll =================================================================== --- test/CodeGen/Mips/msa/immediates-bad.ll +++ test/CodeGen/Mips/msa/immediates-bad.ll @@ -1,4 +1,4 @@ -; RUN: not llc -march=mips -mattr=+msa,+fp64 -relocation-model=pic < %s 2> %t1 +; RUN: not --crash llc -march=mips -mattr=+msa,+fp64 -relocation-model=pic < %s 2> %t1 ; RUN: FileCheck %s < %t1 ; Test that the immediate intrinsics with out of range values trigger an error. Index: test/CodeGen/NVPTX/alias.ll =================================================================== --- test/CodeGen/NVPTX/alias.ll +++ test/CodeGen/NVPTX/alias.ll @@ -1,4 +1,4 @@ -; RUN: not llc < %s -march=nvptx -mcpu=sm_20 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -march=nvptx -mcpu=sm_20 2>&1 | FileCheck %s ; Check that llc dies gracefully when given an alias. Index: test/CodeGen/NVPTX/fcos-no-fast-math.ll =================================================================== --- test/CodeGen/NVPTX/fcos-no-fast-math.ll +++ test/CodeGen/NVPTX/fcos-no-fast-math.ll @@ -1,4 +1,4 @@ -; RUN: not llc < %s -march=nvptx -mcpu=sm_20 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -march=nvptx -mcpu=sm_20 2>&1 | FileCheck %s ; Check that we fail to select fcos without fast-math enabled Index: test/CodeGen/NVPTX/fsin-no-fast-math.ll =================================================================== --- test/CodeGen/NVPTX/fsin-no-fast-math.ll +++ test/CodeGen/NVPTX/fsin-no-fast-math.ll @@ -1,4 +1,4 @@ -; RUN: not llc < %s -march=nvptx -mcpu=sm_20 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -march=nvptx -mcpu=sm_20 2>&1 | FileCheck %s ; Check that we fail to select fsin without fast-math enabled Index: test/CodeGen/NVPTX/global-ctor.ll =================================================================== --- test/CodeGen/NVPTX/global-ctor.ll +++ test/CodeGen/NVPTX/global-ctor.ll @@ -1,4 +1,4 @@ -; RUN: not llc < %s -march=nvptx -mcpu=sm_20 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -march=nvptx -mcpu=sm_20 2>&1 | FileCheck %s ; Check that llc dies when given a nonempty global ctor. @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @foo, i8* null }] Index: test/CodeGen/NVPTX/global-dtor.ll =================================================================== --- test/CodeGen/NVPTX/global-dtor.ll +++ test/CodeGen/NVPTX/global-dtor.ll @@ -1,4 +1,4 @@ -; RUN: not llc < %s -march=nvptx -mcpu=sm_20 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -march=nvptx -mcpu=sm_20 2>&1 | FileCheck %s ; Check that llc dies when given a nonempty global dtor. @llvm.global_dtors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @foo, i8* null }] Index: test/CodeGen/NVPTX/zero-cs.ll =================================================================== --- test/CodeGen/NVPTX/zero-cs.ll +++ test/CodeGen/NVPTX/zero-cs.ll @@ -1,4 +1,4 @@ -; RUN: not llc < %s -march=nvptx 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -march=nvptx 2>&1 | FileCheck %s ; used to seqfault and now fails with a "Cannot select" ; CHECK: LLVM ERROR: Cannot select: {{t7|0x[0-9a-f]+}}: i32 = ExternalSymbol'__powidf2' Index: test/CodeGen/PowerPC/named-reg-alloc-r0.ll =================================================================== --- test/CodeGen/PowerPC/named-reg-alloc-r0.ll +++ test/CodeGen/PowerPC/named-reg-alloc-r0.ll @@ -1,6 +1,6 @@ -; RUN: not llc < %s -mtriple=powerpc-apple-darwin 2>&1 | FileCheck %s -; RUN: not llc < %s -mtriple=powerpc-unknown-linux-gnu 2>&1 | FileCheck %s -; RUN: not llc < %s -mtriple=powerpc64-unknown-linux-gnu 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=powerpc-apple-darwin 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=powerpc-unknown-linux-gnu 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=powerpc64-unknown-linux-gnu 2>&1 | FileCheck %s define i32 @get_reg() nounwind { entry: Index: test/CodeGen/PowerPC/named-reg-alloc-r13.ll =================================================================== --- test/CodeGen/PowerPC/named-reg-alloc-r13.ll +++ test/CodeGen/PowerPC/named-reg-alloc-r13.ll @@ -1,4 +1,4 @@ -; RUN: not llc < %s -mtriple=powerpc-apple-darwin 2>&1 | FileCheck %s --check-prefix=CHECK-DARWIN +; RUN: not --crash llc < %s -mtriple=powerpc-apple-darwin 2>&1 | FileCheck %s --check-prefix=CHECK-DARWIN ; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc-unknown-linux-gnu 2>&1 | FileCheck %s ; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc64-unknown-linux-gnu 2>&1 | FileCheck %s Index: test/CodeGen/PowerPC/named-reg-alloc-r2-64.ll =================================================================== --- test/CodeGen/PowerPC/named-reg-alloc-r2-64.ll +++ test/CodeGen/PowerPC/named-reg-alloc-r2-64.ll @@ -1,5 +1,5 @@ -; RUN: not llc < %s -mtriple=powerpc64-apple-darwin 2>&1 | FileCheck %s -; RUN: not llc < %s -mtriple=powerpc64-unknown-linux-gnu 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=powerpc64-apple-darwin 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=powerpc64-unknown-linux-gnu 2>&1 | FileCheck %s define i64 @get_reg() nounwind { entry: Index: test/CodeGen/PowerPC/named-reg-alloc-r2.ll =================================================================== --- test/CodeGen/PowerPC/named-reg-alloc-r2.ll +++ test/CodeGen/PowerPC/named-reg-alloc-r2.ll @@ -1,6 +1,6 @@ -; RUN: not llc < %s -mtriple=powerpc-apple-darwin 2>&1 | FileCheck %s --check-prefix=CHECK-NOTPPC32 +; RUN: not --crash llc < %s -mtriple=powerpc-apple-darwin 2>&1 | FileCheck %s --check-prefix=CHECK-NOTPPC32 ; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc-unknown-linux-gnu 2>&1 | FileCheck %s -; RUN: not llc < %s -mtriple=powerpc64-unknown-linux-gnu 2>&1 | FileCheck %s --check-prefix=CHECK-NOTPPC32 +; RUN: not --crash llc < %s -mtriple=powerpc64-unknown-linux-gnu 2>&1 | FileCheck %s --check-prefix=CHECK-NOTPPC32 define i32 @get_reg() nounwind { entry: Index: test/CodeGen/PowerPC/ppc64-anyregcc-crash.ll =================================================================== --- test/CodeGen/PowerPC/ppc64-anyregcc-crash.ll +++ test/CodeGen/PowerPC/ppc64-anyregcc-crash.ll @@ -1,4 +1,4 @@ -; RUN: not llc < %s -mtriple=powerpc64-unknown-linux-gnu 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=powerpc64-unknown-linux-gnu 2>&1 | FileCheck %s ; ; Check that misuse of anyregcc results in a compile time error. Index: test/CodeGen/PowerPC/ppc64-icbt-pwr7.ll =================================================================== --- test/CodeGen/PowerPC/ppc64-icbt-pwr7.ll +++ test/CodeGen/PowerPC/ppc64-icbt-pwr7.ll @@ -1,6 +1,6 @@ ; Test the ICBT instruction is not emitted on POWER7 ; Based on the ppc64-prefetch.ll test -; RUN: not llc -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 < %s 2>&1 | FileCheck %s +; RUN: not --crash llc -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 < %s 2>&1 | FileCheck %s declare void @llvm.prefetch(i8*, i32, i32, i32) Index: test/CodeGen/SPARC/fail-alloca-align.ll =================================================================== --- test/CodeGen/SPARC/fail-alloca-align.ll +++ test/CodeGen/SPARC/fail-alloca-align.ll @@ -2,8 +2,8 @@ ;; alignment greater than the stack alignment. This code ought to ;; compile, but doesn't currently. -;; RUN: not llc -march=sparc < %s 2>&1 | FileCheck %s -;; RUN: not llc -march=sparcv9 < %s 2>&1 | FileCheck %s +;; RUN: not --crash llc -march=sparc < %s 2>&1 | FileCheck %s +;; RUN: not --crash llc -march=sparcv9 < %s 2>&1 | FileCheck %s ;; CHECK: ERROR: Function {{.*}} required stack re-alignment define void @variable_alloca_with_overalignment(i32 %num) { Index: test/CodeGen/SPARC/sret-secondary.ll =================================================================== --- test/CodeGen/SPARC/sret-secondary.ll +++ test/CodeGen/SPARC/sret-secondary.ll @@ -1,4 +1,4 @@ -; RUN: not llc -march=sparc < %s -o /dev/null 2>&1 | FileCheck %s +; RUN: not --crash llc -march=sparc < %s -o /dev/null 2>&1 | FileCheck %s ; CHECK: sparc only supports sret on the first parameter Index: test/CodeGen/SystemZ/vec-args-error-01.ll =================================================================== --- test/CodeGen/SystemZ/vec-args-error-01.ll +++ test/CodeGen/SystemZ/vec-args-error-01.ll @@ -1,6 +1,6 @@ ; Verify that we detect unsupported single-element vector types. -; RUN: not llc < %s -mtriple=s390x-linux-gnu -mcpu=z13 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=s390x-linux-gnu -mcpu=z13 2>&1 | FileCheck %s define void @foo(<1 x i128>) { ret void Index: test/CodeGen/SystemZ/vec-args-error-02.ll =================================================================== --- test/CodeGen/SystemZ/vec-args-error-02.ll +++ test/CodeGen/SystemZ/vec-args-error-02.ll @@ -1,6 +1,6 @@ ; Verify that we detect unsupported single-element vector types. -; RUN: not llc < %s -mtriple=s390x-linux-gnu -mcpu=z13 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=s390x-linux-gnu -mcpu=z13 2>&1 | FileCheck %s define <1 x i128> @foo() { ret <1 x i128> Index: test/CodeGen/SystemZ/vec-args-error-03.ll =================================================================== --- test/CodeGen/SystemZ/vec-args-error-03.ll +++ test/CodeGen/SystemZ/vec-args-error-03.ll @@ -1,6 +1,6 @@ ; Verify that we detect unsupported single-element vector types. -; RUN: not llc < %s -mtriple=s390x-linux-gnu -mcpu=z13 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=s390x-linux-gnu -mcpu=z13 2>&1 | FileCheck %s declare void @bar(<1 x i128>) Index: test/CodeGen/SystemZ/vec-args-error-04.ll =================================================================== --- test/CodeGen/SystemZ/vec-args-error-04.ll +++ test/CodeGen/SystemZ/vec-args-error-04.ll @@ -1,6 +1,6 @@ ; Verify that we detect unsupported single-element vector types. -; RUN: not llc < %s -mtriple=s390x-linux-gnu -mcpu=z13 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=s390x-linux-gnu -mcpu=z13 2>&1 | FileCheck %s declare <1 x i128> @bar() Index: test/CodeGen/SystemZ/vec-args-error-05.ll =================================================================== --- test/CodeGen/SystemZ/vec-args-error-05.ll +++ test/CodeGen/SystemZ/vec-args-error-05.ll @@ -1,6 +1,6 @@ ; Verify that we detect unsupported single-element vector types. -; RUN: not llc < %s -mtriple=s390x-linux-gnu -mcpu=z13 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=s390x-linux-gnu -mcpu=z13 2>&1 | FileCheck %s define void @foo(<1 x fp128>) { ret void Index: test/CodeGen/SystemZ/vec-args-error-06.ll =================================================================== --- test/CodeGen/SystemZ/vec-args-error-06.ll +++ test/CodeGen/SystemZ/vec-args-error-06.ll @@ -1,6 +1,6 @@ ; Verify that we detect unsupported single-element vector types. -; RUN: not llc < %s -mtriple=s390x-linux-gnu -mcpu=z13 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=s390x-linux-gnu -mcpu=z13 2>&1 | FileCheck %s define <1 x fp128> @foo() { ret <1 x fp128> Index: test/CodeGen/SystemZ/vec-args-error-07.ll =================================================================== --- test/CodeGen/SystemZ/vec-args-error-07.ll +++ test/CodeGen/SystemZ/vec-args-error-07.ll @@ -1,6 +1,6 @@ ; Verify that we detect unsupported single-element vector types. -; RUN: not llc < %s -mtriple=s390x-linux-gnu -mcpu=z13 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=s390x-linux-gnu -mcpu=z13 2>&1 | FileCheck %s declare void @bar(<1 x fp128>) Index: test/CodeGen/SystemZ/vec-args-error-08.ll =================================================================== --- test/CodeGen/SystemZ/vec-args-error-08.ll +++ test/CodeGen/SystemZ/vec-args-error-08.ll @@ -1,6 +1,6 @@ ; Verify that we detect unsupported single-element vector types. -; RUN: not llc < %s -mtriple=s390x-linux-gnu -mcpu=z13 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=s390x-linux-gnu -mcpu=z13 2>&1 | FileCheck %s declare <1 x fp128> @bar() Index: test/CodeGen/X86/AppendingLinkage.ll =================================================================== --- test/CodeGen/X86/AppendingLinkage.ll +++ test/CodeGen/X86/AppendingLinkage.ll @@ -1,4 +1,4 @@ -; RUN: not llc < %s -mtriple=i686-- 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=i686-- 2>&1 | FileCheck %s ; CHECK: unknown special variable @foo = appending constant [1 x i32 ]zeroinitializer Index: test/CodeGen/X86/anyregcc-crash.ll =================================================================== --- test/CodeGen/X86/anyregcc-crash.ll +++ test/CodeGen/X86/anyregcc-crash.ll @@ -1,4 +1,4 @@ -; RUN: not llc < %s -mtriple=x86_64-apple-darwin 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=x86_64-apple-darwin 2>&1 | FileCheck %s ; ; Check that misuse of anyregcc results in a compile time error. Index: test/CodeGen/X86/coff-comdat2.ll =================================================================== --- test/CodeGen/X86/coff-comdat2.ll +++ test/CodeGen/X86/coff-comdat2.ll @@ -1,4 +1,4 @@ -; RUN: not llc %s -o /dev/null 2>&1 | FileCheck %s +; RUN: not --crash llc %s -o /dev/null 2>&1 | FileCheck %s target datalayout = "e-m:w-p:32:32-i64:64-f80:32-n8:16:32-S32" target triple = "i686-pc-windows-msvc" Index: test/CodeGen/X86/coff-comdat3.ll =================================================================== --- test/CodeGen/X86/coff-comdat3.ll +++ test/CodeGen/X86/coff-comdat3.ll @@ -1,4 +1,4 @@ -; RUN: not llc %s -o /dev/null 2>&1 | FileCheck %s +; RUN: not --crash llc %s -o /dev/null 2>&1 | FileCheck %s target datalayout = "e-m:w-p:32:32-i64:64-f80:32-n8:16:32-S32" target triple = "i686-pc-windows-msvc" Index: test/CodeGen/X86/equiv_with_fndef.ll =================================================================== --- test/CodeGen/X86/equiv_with_fndef.ll +++ test/CodeGen/X86/equiv_with_fndef.ll @@ -1,4 +1,4 @@ -; RUN: not llc < %s 2>&1 | FileCheck %s +; RUN: not --crash llc < %s 2>&1 | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" Index: test/CodeGen/X86/equiv_with_vardef.ll =================================================================== --- test/CodeGen/X86/equiv_with_vardef.ll +++ test/CodeGen/X86/equiv_with_vardef.ll @@ -1,4 +1,4 @@ -; RUN: not llc < %s 2>&1 | FileCheck %s +; RUN: not --crash llc < %s 2>&1 | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" Index: test/CodeGen/X86/fast-isel-args-fail2.ll =================================================================== --- test/CodeGen/X86/fast-isel-args-fail2.ll +++ test/CodeGen/X86/fast-isel-args-fail2.ll @@ -1,4 +1,4 @@ -; RUN: not llc < %s -fast-isel -fast-isel-abort=2 -mtriple=x86_64-apple-darwin10 +; RUN: not --crash llc < %s -fast-isel -fast-isel-abort=2 -mtriple=x86_64-apple-darwin10 ; REQUIRES: asserts %struct.s0 = type { x86_fp80, x86_fp80 } Index: test/CodeGen/X86/inalloca-regparm.ll =================================================================== --- test/CodeGen/X86/inalloca-regparm.ll +++ test/CodeGen/X86/inalloca-regparm.ll @@ -1,5 +1,5 @@ ; RUN: llc -mtriple=i686-windows-msvc < %s -o /dev/null -; RUN: not llc -mtriple=x86_64-windows-msvc %s -o /dev/null 2>&1 | FileCheck %s +; RUN: not --crash llc -mtriple=x86_64-windows-msvc %s -o /dev/null 2>&1 | FileCheck %s ; This will compile successfully on x86 but not x86_64, because %b will become a ; register parameter. Index: test/CodeGen/X86/invalid-liveness.mir =================================================================== --- test/CodeGen/X86/invalid-liveness.mir +++ test/CodeGen/X86/invalid-liveness.mir @@ -1,4 +1,4 @@ -# RUN: not llc -mtriple=i686-- -run-pass liveintervals -o - %s 2>&1 | FileCheck %s +# RUN: not --crash llc -mtriple=i686-- -run-pass liveintervals -o - %s 2>&1 | FileCheck %s # REQUIRES: asserts --- | Index: test/CodeGen/X86/label-redefinition.ll =================================================================== --- test/CodeGen/X86/label-redefinition.ll +++ test/CodeGen/X86/label-redefinition.ll @@ -1,5 +1,5 @@ ; PR7054 -; RUN: not llc %s -o - 2>&1 | grep "'_foo' label emitted multiple times to assembly" +; RUN: not --crash llc %s -o - 2>&1 | grep "'_foo' label emitted multiple times to assembly" target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128-n8:16:32" target triple = "i386-apple-darwin10.0.0" Index: test/CodeGen/X86/macho-comdat.ll =================================================================== --- test/CodeGen/X86/macho-comdat.ll +++ test/CodeGen/X86/macho-comdat.ll @@ -1,4 +1,4 @@ -; RUN: not llc -mtriple x86_64-apple-darwin < %s 2> %t +; RUN: not --crash llc -mtriple x86_64-apple-darwin < %s 2> %t ; RUN: FileCheck < %t %s $f = comdat any Index: test/CodeGen/X86/named-reg-alloc.ll =================================================================== --- test/CodeGen/X86/named-reg-alloc.ll +++ test/CodeGen/X86/named-reg-alloc.ll @@ -1,5 +1,5 @@ -; RUN: not llc < %s -mtriple=x86_64-apple-darwin 2>&1 | FileCheck %s -; RUN: not llc < %s -mtriple=x86_64-linux-gnueabi 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=x86_64-apple-darwin 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=x86_64-linux-gnueabi 2>&1 | FileCheck %s define i32 @get_stack() nounwind { entry: Index: test/CodeGen/X86/named-reg-notareg.ll =================================================================== --- test/CodeGen/X86/named-reg-notareg.ll +++ test/CodeGen/X86/named-reg-notareg.ll @@ -1,5 +1,5 @@ -; RUN: not llc < %s -mtriple=x86_64-apple-darwin 2>&1 | FileCheck %s -; RUN: not llc < %s -mtriple=x86_64-linux-gnueabi 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=x86_64-apple-darwin 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=x86_64-linux-gnueabi 2>&1 | FileCheck %s define i32 @get_stack() nounwind { entry: Index: test/CodeGen/X86/nonconst-static-ev.ll =================================================================== --- test/CodeGen/X86/nonconst-static-ev.ll +++ test/CodeGen/X86/nonconst-static-ev.ll @@ -1,4 +1,4 @@ -; RUN: not llc -mtriple=i686-linux-gnu < %s 2> %t +; RUN: not --crash llc -mtriple=i686-linux-gnu < %s 2> %t ; RUN: FileCheck --check-prefix=CHECK-ERRORS < %t %s @0 = global i8 extractvalue ([1 x i8] select (i1 ptrtoint (i32* @1 to i1), [1 x i8] [ i8 1 ], [1 x i8] [ i8 2 ]), 0) Index: test/CodeGen/X86/nonconst-static-iv.ll =================================================================== --- test/CodeGen/X86/nonconst-static-iv.ll +++ test/CodeGen/X86/nonconst-static-iv.ll @@ -1,4 +1,4 @@ -; RUN: not llc -mtriple=i686-linux-gnu < %s 2> %t +; RUN: not --crash llc -mtriple=i686-linux-gnu < %s 2> %t ; RUN: FileCheck --check-prefix=CHECK-ERRORS < %t %s @0 = global i8 insertvalue( { i8 } select (i1 ptrtoint (i32* @1 to i1), { i8 } { i8 1 }, { i8 } { i8 2 }), i8 0, 0) Index: test/CodeGen/X86/pr33772.ll =================================================================== --- test/CodeGen/X86/pr33772.ll +++ test/CodeGen/X86/pr33772.ll @@ -1,4 +1,4 @@ -; RUN: not llc < %s -mcpu=skylake-avx512 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mcpu=skylake-avx512 2>&1 | FileCheck %s target triple = "x86_64-unknown-linux-gnu" Index: test/CodeGen/X86/read-fp-no-frame-pointer.ll =================================================================== --- test/CodeGen/X86/read-fp-no-frame-pointer.ll +++ test/CodeGen/X86/read-fp-no-frame-pointer.ll @@ -1,4 +1,4 @@ -; RUN: not llc < %s -mtriple=x86_64-linux-gnueabi 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -mtriple=x86_64-linux-gnueabi 2>&1 | FileCheck %s define i32 @get_frame() nounwind { entry: Index: test/CodeGen/X86/segmented-stacks.ll =================================================================== --- test/CodeGen/X86/segmented-stacks.ll +++ test/CodeGen/X86/segmented-stacks.ll @@ -22,9 +22,9 @@ ; RUN: llc < %s -mcpu=generic -mtriple=x86_64-dragonfly -filetype=obj -o /dev/null ; RUN: llc < %s -mcpu=generic -mtriple=x86_64-mingw32 -filetype=obj -o /dev/null -; RUN: not llc < %s -mcpu=generic -mtriple=x86_64-solaris 2> %t.log +; RUN: not --crash llc < %s -mcpu=generic -mtriple=x86_64-solaris 2> %t.log ; RUN: FileCheck %s -input-file=%t.log -check-prefix=X64-Solaris -; RUN: not llc < %s -mcpu=generic -mtriple=i686-freebsd 2> %t.log +; RUN: not --crash llc < %s -mcpu=generic -mtriple=i686-freebsd 2> %t.log ; RUN: FileCheck %s -input-file=%t.log -check-prefix=X32-FreeBSD ; X64-Solaris: Segmented stacks not supported on this platform Index: test/CodeGen/X86/sha.ll =================================================================== --- test/CodeGen/X86/sha.ll +++ test/CodeGen/X86/sha.ll @@ -1,5 +1,5 @@ ; RUN: llc < %s -mattr=+sha -mtriple=x86_64-unknown-unknown | FileCheck %s -; RUN: not llc < %s -mtriple=x86_64-unknown-unknown +; RUN: not --crash llc < %s -mtriple=x86_64-unknown-unknown declare <4 x i32> @llvm.x86.sha1rnds4(<4 x i32>, <4 x i32>, i8) nounwind readnone Index: test/CodeGen/XCore/alignment.ll =================================================================== --- test/CodeGen/XCore/alignment.ll +++ test/CodeGen/XCore/alignment.ll @@ -1,4 +1,4 @@ -; RUN: not llc < %s -march=xcore 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -march=xcore 2>&1 | FileCheck %s ; CHECK: emitPrologue unsupported alignment: 8 define void @f() nounwind { Index: test/CodeGen/XCore/codemodel.ll =================================================================== --- test/CodeGen/XCore/codemodel.ll +++ test/CodeGen/XCore/codemodel.ll @@ -1,6 +1,6 @@ -; RUN: not llc < %s -march=xcore -code-model=medium 2>&1 | FileCheck %s -check-prefix=BAD_CM -; RUN: not llc < %s -march=xcore -code-model=kernel 2>&1 | FileCheck %s -check-prefix=BAD_CM +; RUN: not --crash llc < %s -march=xcore -code-model=medium 2>&1 | FileCheck %s -check-prefix=BAD_CM +; RUN: not --crash llc < %s -march=xcore -code-model=kernel 2>&1 | FileCheck %s -check-prefix=BAD_CM ; BAD_CM: Target only supports CodeModel Small or Large Index: test/CodeGen/XCore/section-name.ll =================================================================== --- test/CodeGen/XCore/section-name.ll +++ test/CodeGen/XCore/section-name.ll @@ -1,4 +1,4 @@ -; RUN: not llc < %s -march=xcore 2>&1 | FileCheck %s +; RUN: not --crash llc < %s -march=xcore 2>&1 | FileCheck %s @bar = internal global i32 zeroinitializer Index: test/LTO/X86/attrs.ll =================================================================== --- test/LTO/X86/attrs.ll +++ test/LTO/X86/attrs.ll @@ -1,7 +1,7 @@ ; RUN: llvm-as < %s >%t1 ; RUN: llvm-lto -exported-symbol=test_x86_aesni_aeskeygenassist -mattr=+aes -o %t2 %t1 ; RUN: llvm-objdump -d %t2 | FileCheck -check-prefix=WITH_AES %s -; RUN: not llvm-lto -exported-symbol=test_x86_aesni_aeskeygenassist -mattr=-aes -o %t3 %t1 2>&1 | FileCheck -check-prefix=WITHOUT_AES %s +; RUN: not --crash llvm-lto -exported-symbol=test_x86_aesni_aeskeygenassist -mattr=-aes -o %t3 %t1 2>&1 | FileCheck -check-prefix=WITHOUT_AES %s target triple = "x86_64-unknown-linux-gnu" declare <2 x i64> @llvm.x86.aesni.aeskeygenassist(<2 x i64>, i8) Index: test/LTO/X86/strip-debug-info.ll =================================================================== --- test/LTO/X86/strip-debug-info.ll +++ test/LTO/X86/strip-debug-info.ll @@ -1,6 +1,6 @@ ; RUN: llvm-as -disable-verify %s -o %t.bc ; ---- Full LTO --------------------------------------------- -; RUN: not llvm-lto -lto-strip-invalid-debug-info=false \ +; RUN: not --crash llvm-lto -lto-strip-invalid-debug-info=false \ ; RUN: -o %t.o %t.bc 2>&1 | \ ; RUN: FileCheck %s -allow-empty -check-prefix=CHECK-ERR ; RUN: llvm-lto -lto-strip-invalid-debug-info=true \ @@ -9,7 +9,7 @@ ; RUN: FileCheck %s -allow-empty -check-prefix=CHECK-WARN ; RUN: llvm-nm %t.o | FileCheck %s ; ---- Thin LTO (codegen only) ------------------------------ -; RUN: not llvm-lto -thinlto -thinlto-action=codegen \ +; RUN: not --crash llvm-lto -thinlto -thinlto-action=codegen \ ; RUN: -lto-strip-invalid-debug-info=false \ ; RUN: %t.bc -disable-verify 2>&1 | \ ; RUN: FileCheck %s -allow-empty -check-prefix=CHECK-ERR @@ -21,7 +21,7 @@ ; RUN: opt -disable-verify -module-summary %s -o %t.bc ; RUN: opt -disable-verify -module-summary %S/Inputs/strip-debug-info-bar.ll \ ; RUN: -o %t2.bc -; RUN: not llvm-lto -thinlto -thinlto-action=run \ +; RUN: not --crash llvm-lto -thinlto -thinlto-action=run \ ; RUN: -lto-strip-invalid-debug-info=false \ ; RUN: %t.bc -disable-verify 2>&1 | \ ; RUN: FileCheck %s -allow-empty -check-prefix=CHECK-ERR @@ -32,7 +32,7 @@ ; ---- Thin LTO (optimize, strip imported file) ------------- ; RUN: opt -disable-verify -strip-debug -module-summary %t.bc -o %t-stripped.bc ; RUN: llvm-lto -thinlto-action=thinlink -o %t.index.bc %t-stripped.bc %t2.bc -; RUN: not llvm-lto -thinlto -thinlto-action=import \ +; RUN: not --crash llvm-lto -thinlto -thinlto-action=import \ ; RUN: -thinlto-index=%t.index.bc \ ; RUN: -lto-strip-invalid-debug-info=false \ ; RUN: -exported-symbol foo -exported-symbol _foo \ Index: test/MC/ARM/Windows/invalid-relocation.s =================================================================== --- test/MC/ARM/Windows/invalid-relocation.s +++ test/MC/ARM/Windows/invalid-relocation.s @@ -1,4 +1,4 @@ -# RUN: not llvm-mc -triple thumbv7-windows -incremental-linker-compatible -filetype obj -o /dev/null 2>&1 %s \ +# RUN: not --crash llvm-mc -triple thumbv7-windows -incremental-linker-compatible -filetype obj -o /dev/null 2>&1 %s \ # RUN: | FileCheck %s .def invalid_relocation Index: test/MC/AsmParser/cfi-unfinished-frame.s =================================================================== --- test/MC/AsmParser/cfi-unfinished-frame.s +++ test/MC/AsmParser/cfi-unfinished-frame.s @@ -1,4 +1,4 @@ -// RUN: not llvm-mc -filetype=asm -triple x86_64-pc-linux-gnu %s -o %t 2>%t.out +// RUN: not --crash llvm-mc -filetype=asm -triple x86_64-pc-linux-gnu %s -o %t 2>%t.out // RUN: FileCheck -input-file=%t.out %s .cfi_startproc Index: test/MC/COFF/section-comdat-conflict.s =================================================================== --- test/MC/COFF/section-comdat-conflict.s +++ test/MC/COFF/section-comdat-conflict.s @@ -1,4 +1,4 @@ -// RUN: not llvm-mc -triple i386-pc-win32 -filetype=obj < %s 2>&1 | FileCheck %s +// RUN: not --crash llvm-mc -triple i386-pc-win32 -filetype=obj < %s 2>&1 | FileCheck %s // CHECK: conflicting sections for symbol Index: test/MC/COFF/section-comdat-conflict2.s =================================================================== --- test/MC/COFF/section-comdat-conflict2.s +++ test/MC/COFF/section-comdat-conflict2.s @@ -1,4 +1,4 @@ -// RUN: not llvm-mc -triple i386-pc-win32 -filetype=obj < %s 2>&1 | FileCheck %s +// RUN: not --crash llvm-mc -triple i386-pc-win32 -filetype=obj < %s 2>&1 | FileCheck %s // CHECK: two sections have the same comdat Index: test/MC/COFF/seh-stackalloc-zero.s =================================================================== --- test/MC/COFF/seh-stackalloc-zero.s +++ test/MC/COFF/seh-stackalloc-zero.s @@ -1,4 +1,4 @@ -// RUN: not llvm-mc -triple x86_64-pc-win32 -filetype=obj %s -o %t.o 2>&1 | FileCheck %s +// RUN: not --crash llvm-mc -triple x86_64-pc-win32 -filetype=obj %s -o %t.o 2>&1 | FileCheck %s // CHECK: Allocation size must be non-zero! Index: test/MC/Disassembler/AMDGPU/si-support.txt =================================================================== --- test/MC/Disassembler/AMDGPU/si-support.txt +++ test/MC/Disassembler/AMDGPU/si-support.txt @@ -1,4 +1,4 @@ -# RUN: not llvm-mc -arch=amdgcn -mcpu=tahiti -disassemble < %s 2>&1 | FileCheck %s +# RUN: not --crash llvm-mc -arch=amdgcn -mcpu=tahiti -disassemble < %s 2>&1 | FileCheck %s # CHECK: LLVM ERROR: Disassembly not yet supported for subtarget 0x00 0x00 0x00 0x7e Index: test/MC/ELF/ARM/bss-non-zero-value.s =================================================================== --- test/MC/ELF/ARM/bss-non-zero-value.s +++ test/MC/ELF/ARM/bss-non-zero-value.s @@ -1,4 +1,4 @@ -// RUN: not llvm-mc -filetype=obj -triple arm-linux-gnu %s -o %t 2>%t.out +// RUN: not --crash llvm-mc -filetype=obj -triple arm-linux-gnu %s -o %t 2>%t.out // RUN: FileCheck --input-file=%t.out %s // CHECK: non-zero initializer found in section '.bss' .bss Index: test/MC/ELF/common-error3.s =================================================================== --- test/MC/ELF/common-error3.s +++ test/MC/ELF/common-error3.s @@ -1,5 +1,5 @@ -# RUN: not llvm-mc -filetype=obj -triple x86_64-pc-linux %s 2>&1 | FileCheck %s +# RUN: not --crash llvm-mc -filetype=obj -triple x86_64-pc-linux %s 2>&1 | FileCheck %s # CHECK: Symbol: C redeclared as different type .comm C,4,4 - .comm C,8,4 \ No newline at end of file + .comm C,8,4 Index: test/MC/ELF/invalid-symver.s =================================================================== --- test/MC/ELF/invalid-symver.s +++ test/MC/ELF/invalid-symver.s @@ -1,4 +1,4 @@ -// RUN: not llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o %t 2> %t.out +// RUN: not --crash llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o %t 2> %t.out // RUN: FileCheck --input-file=%t.out %s // CHECK: A @@ version cannot be undefined Index: test/MC/ELF/section-numeric-invalid-type.s =================================================================== --- test/MC/ELF/section-numeric-invalid-type.s +++ test/MC/ELF/section-numeric-invalid-type.s @@ -1,7 +1,7 @@ // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux-gnu %s -o - \ // RUN: | llvm-readobj -s -t | FileCheck --check-prefix=OBJ %s -// RUN: not llvm-mc -filetype=asm -triple=x86_64-pc-linux-gnu %s -o - 2>&1 \ +// RUN: not --crash llvm-mc -filetype=asm -triple=x86_64-pc-linux-gnu %s -o - 2>&1 \ // RUN: | FileCheck --check-prefix=ASM %s .section .sec,"a",@0x7fffffff Index: test/MC/MachO/variable-errors.s =================================================================== --- test/MC/MachO/variable-errors.s +++ test/MC/MachO/variable-errors.s @@ -1,4 +1,4 @@ -// RUN: not llvm-mc -triple x86_64-apple-darwin10 %s -filetype=obj -o %t.o 2> %t.err +// RUN: not --crash llvm-mc -triple x86_64-apple-darwin10 %s -filetype=obj -o %t.o 2> %t.err // RUN: FileCheck < %t.err %s .data Index: test/MC/Mips/nooddspreg-cmdarg.s =================================================================== --- test/MC/Mips/nooddspreg-cmdarg.s +++ test/MC/Mips/nooddspreg-cmdarg.s @@ -5,10 +5,10 @@ # RUN: llvm-readobj -sections -section-data -section-relocations - | \ # RUN: FileCheck %s -check-prefix=CHECK-OBJ -# RUN: not llvm-mc %s -arch=mips -mcpu=mips64 -target-abi n32 -mattr=+nooddspreg 2> %t0 +# RUN: not --crash llvm-mc %s -arch=mips -mcpu=mips64 -target-abi n32 -mattr=+nooddspreg 2> %t0 # RUN: FileCheck %s -check-prefix=INVALID < %t0 # -# RUN: not llvm-mc %s -arch=mips -mcpu=mips64 -target-abi n64 -mattr=+nooddspreg 2> %t0 +# RUN: not --crash llvm-mc %s -arch=mips -mcpu=mips64 -target-abi n64 -mattr=+nooddspreg 2> %t0 # RUN: FileCheck %s -check-prefix=INVALID < %t0 # # CHECK-ASM-NOT: .module nooddspreg Index: test/MC/PowerPC/ppc64-localentry-error1.s =================================================================== --- test/MC/PowerPC/ppc64-localentry-error1.s +++ test/MC/PowerPC/ppc64-localentry-error1.s @@ -1,7 +1,7 @@ -# RUN: not llvm-mc -triple powerpc64-unknown-unknown -filetype=obj < %s 2> %t +# RUN: not --crash llvm-mc -triple powerpc64-unknown-unknown -filetype=obj < %s 2> %t # RUN: FileCheck < %t %s -# RUN: not llvm-mc -triple powerpc64le-unknown-unknown -filetype=obj < %s 2> %t +# RUN: not --crash llvm-mc -triple powerpc64le-unknown-unknown -filetype=obj < %s 2> %t # RUN: FileCheck < %t %s sym: Index: test/MC/PowerPC/ppc64-localentry-error2.s =================================================================== --- test/MC/PowerPC/ppc64-localentry-error2.s +++ test/MC/PowerPC/ppc64-localentry-error2.s @@ -1,7 +1,7 @@ -# RUN: not llvm-mc -triple powerpc64-unknown-unknown -filetype=obj < %s 2> %t +# RUN: not --crash llvm-mc -triple powerpc64-unknown-unknown -filetype=obj < %s 2> %t # RUN: FileCheck < %t %s -# RUN: not llvm-mc -triple powerpc64le-unknown-unknown -filetype=obj < %s 2> %t +# RUN: not --crash llvm-mc -triple powerpc64le-unknown-unknown -filetype=obj < %s 2> %t # RUN: FileCheck < %t %s .globl remote_sym Index: test/MC/PowerPC/pr24686.s =================================================================== --- test/MC/PowerPC/pr24686.s +++ test/MC/PowerPC/pr24686.s @@ -1,4 +1,4 @@ -# RUN: not llvm-mc -triple=powerpc64le-unknown-linux-gnu -filetype=obj %s \ +# RUN: not --crash llvm-mc -triple=powerpc64le-unknown-linux-gnu -filetype=obj %s \ # RUN: 2>&1 | FileCheck %s _stext: Index: test/MC/X86/AlignedBundling/bundle-group-too-large-error.s =================================================================== --- test/MC/X86/AlignedBundling/bundle-group-too-large-error.s +++ test/MC/X86/AlignedBundling/bundle-group-too-large-error.s @@ -1,5 +1,5 @@ -# RUN: not llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - 2>&1 | FileCheck %s -# RUN: not llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu -mc-relax-all %s -o - 2>&1 | FileCheck %s +# RUN: not --crash llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - 2>&1 | FileCheck %s +# RUN: not --crash llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu -mc-relax-all %s -o - 2>&1 | FileCheck %s # CHECK: ERROR: Fragment can't be larger than a bundle size Index: test/MC/X86/AlignedBundling/bundle-lock-option-error.s =================================================================== --- test/MC/X86/AlignedBundling/bundle-lock-option-error.s +++ test/MC/X86/AlignedBundling/bundle-lock-option-error.s @@ -1,4 +1,4 @@ -# RUN: not llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - 2>&1 | FileCheck %s +# RUN: not --crash llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - 2>&1 | FileCheck %s # Missing .bundle_align_mode argument # CHECK: error: invalid option Index: test/MC/X86/AlignedBundling/lock-without-bundle-mode-error.s =================================================================== --- test/MC/X86/AlignedBundling/lock-without-bundle-mode-error.s +++ test/MC/X86/AlignedBundling/lock-without-bundle-mode-error.s @@ -1,4 +1,4 @@ -# RUN: not llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - 2>&1 | FileCheck %s +# RUN: not --crash llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - 2>&1 | FileCheck %s # .bundle_lock can't come without a .bundle_align_mode before it Index: test/MC/X86/AlignedBundling/switch-section-locked-error.s =================================================================== --- test/MC/X86/AlignedBundling/switch-section-locked-error.s +++ test/MC/X86/AlignedBundling/switch-section-locked-error.s @@ -1,4 +1,4 @@ -# RUN: not llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - 2>&1 | FileCheck %s +# RUN: not --crash llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - 2>&1 | FileCheck %s # This test invokes .bundle_lock and then switches to a different section # w/o the appropriate unlock. Index: test/MC/X86/AlignedBundling/unlock-without-lock-error.s =================================================================== --- test/MC/X86/AlignedBundling/unlock-without-lock-error.s +++ test/MC/X86/AlignedBundling/unlock-without-lock-error.s @@ -1,4 +1,4 @@ -# RUN: not llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - 2>&1 | FileCheck %s +# RUN: not --crash llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - 2>&1 | FileCheck %s # .bundle_unlock can't come without a .bundle_lock before it Index: test/MC/X86/encoder-fail.s =================================================================== --- test/MC/X86/encoder-fail.s +++ test/MC/X86/encoder-fail.s @@ -1,3 +1,3 @@ -// RUN: not llvm-mc -triple x86_64-unknown-unknown --show-encoding %s 2>&1 | FileCheck %s +// RUN: not --crash llvm-mc -triple x86_64-unknown-unknown --show-encoding %s 2>&1 | FileCheck %s // CHECK: LLVM ERROR: Cannot encode high byte register in REX-prefixed instruction movzx %dh, %rsi Index: test/MC/X86/invalid-sleb.s =================================================================== --- test/MC/X86/invalid-sleb.s +++ test/MC/X86/invalid-sleb.s @@ -1,4 +1,4 @@ -// RUN: not llvm-mc -filetype=obj -triple x86_64-pc-linux %s -o %t 2>&1 | FileCheck %s +// RUN: not --crash llvm-mc -filetype=obj -triple x86_64-pc-linux %s -o %t 2>&1 | FileCheck %s // CHECK: sleb128 and uleb128 expressions must be absolute Index: test/MC/X86/reloc-bss.s =================================================================== --- test/MC/X86/reloc-bss.s +++ test/MC/X86/reloc-bss.s @@ -1,4 +1,4 @@ -# RUN: not llvm-mc -filetype=obj -triple=x86_64-linux-gnu %s 2>&1 | FileCheck %s +# RUN: not --crash llvm-mc -filetype=obj -triple=x86_64-linux-gnu %s 2>&1 | FileCheck %s # CHECK: LLVM ERROR: cannot have fixups in virtual section! .section .init_array,"awT",@nobits Index: test/Object/coff-invalid.test =================================================================== --- test/Object/coff-invalid.test +++ test/Object/coff-invalid.test @@ -7,7 +7,7 @@ SECTIONS-NEXT: VirtualSize: 0x0 SECTIONS-NEXT: VirtualAddress: 0x1000000 -RUN: not llvm-readobj -r %p/Inputs/invalid-bad-section-address.coff 2>&1 | \ +RUN: not --crash llvm-readobj -r %p/Inputs/invalid-bad-section-address.coff 2>&1 | \ RUN: FileCheck %s CHECK: Sections with relocations should have an address of 0 Index: test/Object/corrupt.test =================================================================== --- test/Object/corrupt.test +++ test/Object/corrupt.test @@ -38,7 +38,7 @@ PHENTSIZE: invalid e_phentsize -RUN: not llvm-readobj -dynamic-table \ +RUN: not --crash llvm-readobj -dynamic-table \ RUN: %p/Inputs/corrupt-invalid-virtual-addr.elf.x86-64 2>&1 | \ RUN: FileCheck --check-prefix=VIRTADDR %s Index: test/Object/invalid.test =================================================================== --- test/Object/invalid.test +++ test/Object/invalid.test @@ -1,4 +1,4 @@ -RUN: not llvm-dwarfdump %p/Inputs/invalid-bad-rel-type.elf 2>&1 | FileCheck %s +RUN: not --crash llvm-dwarfdump %p/Inputs/invalid-bad-rel-type.elf 2>&1 | FileCheck %s RUN: not llvm-objdump -s %p/Inputs/invalid-strtab-type.elf 2>&1 | FileCheck %s RUN: not llvm-objdump -s %p/Inputs/invalid-strtab-size.elf 2>&1 | FileCheck %s RUN: not llvm-objdump -s %p/Inputs/invalid-strtab-zero-size.elf 2>&1 | FileCheck %s Index: test/Other/close-stderr.ll =================================================================== --- test/Other/close-stderr.ll +++ /dev/null @@ -1,13 +0,0 @@ -; RUN: sh -c 'opt --reject-this-option 2>&-; echo $?; opt -o /dev/null /dev/null 2>&-; echo $?;' \ -; RUN: | FileCheck %s - -; CHECK: {{^1$}} -; On valgrind, we got 127 here. -; XFAIL: valgrind - -; CHECK: {{^0$}} -; XFAIL: vg_leak -; REQUIRES: shell - -; Test that the error handling when writing to stderr fails exits the -; program cleanly rather than aborting. Index: test/Other/optimization-remarks-inline.ll =================================================================== --- test/Other/optimization-remarks-inline.ll +++ test/Other/optimization-remarks-inline.ll @@ -10,7 +10,7 @@ ; RUN: opt < %s -inline -pass-remarks='inl' -pass-remarks='vector' -S 2>&1 | FileCheck --check-prefix=REMARKS %s ; RUN: opt < %s -inline -S 2>&1 | FileCheck --check-prefix=REMARKS %s -; RUN: not opt < %s -pass-remarks='(' 2>&1 | FileCheck --check-prefix=BAD-REGEXP %s +; RUN: not --crash opt < %s -pass-remarks='(' 2>&1 | FileCheck --check-prefix=BAD-REGEXP %s define i32 @foo(i32 %x, i32 %y) #0 { entry: Index: test/Transforms/GCOVProfiling/version.ll =================================================================== --- test/Transforms/GCOVProfiling/version.ll +++ test/Transforms/GCOVProfiling/version.ll @@ -4,7 +4,7 @@ ; RUN: opt -insert-gcov-profiling -disable-output < %t/2 ; RUN: head -c8 %t/version.gcno | grep '^oncg.204' ; RUN: rm %t/version.gcno -; RUN: not opt -insert-gcov-profiling -default-gcov-version=asdfasdf -disable-output < %t/2 +; RUN: not --crash opt -insert-gcov-profiling -default-gcov-version=asdfasdf -disable-output < %t/2 ; RUN: opt -insert-gcov-profiling -default-gcov-version=407* -disable-output < %t/2 ; RUN: head -c8 %t/version.gcno | grep '^oncg.704' ; RUN: rm %t/version.gcno @@ -12,7 +12,7 @@ ; RUN: opt -passes=insert-gcov-profiling -disable-output < %t/2 ; RUN: head -c8 %t/version.gcno | grep '^oncg.204' ; RUN: rm %t/version.gcno -; RUN: not opt -passes=insert-gcov-profiling -default-gcov-version=asdfasdf -disable-output < %t/2 +; RUN: not --crash opt -passes=insert-gcov-profiling -default-gcov-version=asdfasdf -disable-output < %t/2 ; RUN: opt -passes=insert-gcov-profiling -default-gcov-version=407* -disable-output < %t/2 ; RUN: head -c8 %t/version.gcno | grep '^oncg.704' ; RUN: rm %t/version.gcno Index: test/Verifier/test_g_phi.mir =================================================================== --- test/Verifier/test_g_phi.mir +++ test/Verifier/test_g_phi.mir @@ -1,4 +1,4 @@ -#RUN: not llc -o - -global-isel -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s +#RUN: not --crash llc -o - -global-isel -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s # REQUIRES: global-isel, aarch64-registered-target --- | ; ModuleID = 'test.ll' Index: test/tools/llvm-lto2/X86/pipeline.ll =================================================================== --- test/tools/llvm-lto2/X86/pipeline.ll +++ test/tools/llvm-lto2/X86/pipeline.ll @@ -28,13 +28,13 @@ ; CUSTOM-NEXT: } ; Check that invalid pipelines are caught as errors. -; RUN: not llvm-lto2 run %t1.bc -o %t.o \ +; RUN: not --crash llvm-lto2 run %t1.bc -o %t.o \ ; RUN: -r %t1.bc,patatino,px -opt-pipeline foogoo 2>&1 | \ ; RUN: FileCheck %s --check-prefix=ERR ; ERR: LLVM ERROR: unable to parse pass pipeline description: foogoo -; RUN: not llvm-lto2 run %t1.bc -o %t.o \ +; RUN: not --crash llvm-lto2 run %t1.bc -o %t.o \ ; RUN: -r %t1.bc,patatino,px -aa-pipeline patatino \ ; RUN: -opt-pipeline loweratomic 2>&1 | \ ; RUN: FileCheck %s --check-prefix=AAERR