forked from OSchip/llvm-project
Revert "Revert "Revert "Reland "[Support] make report_fatal_error `abort` instead of `exit`""""
This reverts commit bb51d24330
.
This commit is contained in:
parent
bb51d24330
commit
17122ec10a
|
@ -1,5 +1,5 @@
|
|||
// UNSUPPORTED: system-windows
|
||||
|
||||
// RUN: not --crash clang-tidy -p %S/Inputs/empty-database %s 2>&1 | FileCheck %s
|
||||
// RUN: not clang-tidy -p %S/Inputs/empty-database %s 2>&1 | FileCheck %s
|
||||
|
||||
// CHECK: LLVM ERROR: Cannot chdir into ""!
|
||||
|
|
|
@ -31,7 +31,7 @@ TEST_F(LibclangParseTest, UninstallAbortingLLVMFatalErrorHandler) {
|
|||
std::string Main = "main.h";
|
||||
WriteFile(Main, "#pragma clang __debug llvm_fatal_error");
|
||||
|
||||
EXPECT_DEATH(clang_parseTranslationUnit(Index, Main.c_str(), nullptr, 0,
|
||||
nullptr, 0, TUFlags),
|
||||
"ERROR");
|
||||
EXPECT_EXIT(clang_parseTranslationUnit(
|
||||
Index, Main.c_str(), nullptr, 0, nullptr, 0, TUFlags),
|
||||
::testing::ExitedWithCode(1), "ERROR");
|
||||
}
|
||||
|
|
|
@ -24,13 +24,13 @@ define void @barrier() {
|
|||
; ATOMIC-NEXT: ret void
|
||||
|
||||
; Check that invalid passes are rejected gracefully.
|
||||
; RUN: not --crash ld.lld -m elf_x86_64 %t.o -o /dev/null \
|
||||
; RUN: not ld.lld -m elf_x86_64 %t.o -o /dev/null \
|
||||
; RUN: --lto-newpm-passes=iamnotapass -shared 2>&1 | \
|
||||
; RUN: FileCheck %s --check-prefix=INVALID
|
||||
; INVALID: unable to parse pass pipeline description 'iamnotapass': unknown pass name 'iamnotapass'
|
||||
|
||||
; Check that invalid AA pipelines are rejected gracefully.
|
||||
; RUN: not --crash ld.lld -m elf_x86_64 %t.o -o /dev/null \
|
||||
; RUN: not ld.lld -m elf_x86_64 %t.o -o /dev/null \
|
||||
; RUN: --lto-newpm-passes=globaldce --lto-aa-pipeline=patatino \
|
||||
; RUN: -shared 2>&1 | \
|
||||
; RUN: FileCheck %s --check-prefix=INVALIDAA
|
||||
|
|
|
@ -453,8 +453,8 @@ recovery.
|
|||
LLVM, there are places where this hasn't been practical to apply. In
|
||||
situations where you absolutely must emit a non-programmatic error and
|
||||
the ``Error`` model isn't workable you can call ``report_fatal_error``,
|
||||
which will call installed error handlers, print a message, and abort the
|
||||
program. The use of `report_fatal_error` in this case is discouraged.
|
||||
which will call installed error handlers, print a message, and exit the
|
||||
program.
|
||||
|
||||
Recoverable errors are modeled using LLVM's ``Error`` scheme. This scheme
|
||||
represents errors using function return values, similar to classic C integer
|
||||
|
|
|
@ -66,7 +66,7 @@ class StringRef;
|
|||
///
|
||||
/// If no error handler is installed the default is to print the message to
|
||||
/// standard error, followed by a newline.
|
||||
/// After the error handler is called this function will call abort(), it
|
||||
/// After the error handler is called this function will call exit(1), it
|
||||
/// does not return.
|
||||
LLVM_ATTRIBUTE_NORETURN void report_fatal_error(const char *reason,
|
||||
bool gen_crash_diag = true);
|
||||
|
|
|
@ -123,7 +123,7 @@ void llvm::report_fatal_error(const Twine &Reason, bool GenCrashDiag) {
|
|||
// files registered with RemoveFileOnSignal.
|
||||
sys::RunInterruptHandlers();
|
||||
|
||||
abort();
|
||||
sys::Process::Exit(1);
|
||||
}
|
||||
|
||||
void llvm::install_bad_alloc_error_handler(fatal_error_handler_t handler,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; RUN: not --crash llvm-as %s 2>&1 | FileCheck %s
|
||||
; RUN: not llvm-as %s 2>&1 | FileCheck %s
|
||||
|
||||
; CHECK: LLVM ERROR: Alignment is neither 0 nor a power of 2
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; RUN: not --crash llvm-as %s 2>&1 | FileCheck %s
|
||||
; RUN: not llvm-as %s 2>&1 | FileCheck %s
|
||||
|
||||
; CHECK: LLVM ERROR: Alignment is neither 0 nor a power of 2
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
; RUN: not --crash opt < %s 2>&1 | grep 'not a number, or does not fit in an unsigned int'
|
||||
; RUN: not opt < %s 2>&1 | grep 'not a number, or does not fit in an unsigned int'
|
||||
|
||||
target datalayout = "p:4294967296:64:64"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llvm-as < %s 2>&1 | FileCheck %s
|
||||
|
||||
target datalayout = "A16777216"
|
||||
; CHECK: Invalid address space, must be a 24-bit integer
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llvm-as < %s 2>&1 | FileCheck %s
|
||||
|
||||
; CHECK: Invalid address space, must be a 24-bit integer
|
||||
target datalayout = "P16777216"
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llvm-as < %s 2>&1 | FileCheck %s
|
||||
target datalayout = "^"
|
||||
; CHECK: Unknown specifier in datalayout string
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llvm-as < %s 2>&1 | FileCheck %s
|
||||
target datalayout = "m"
|
||||
; CHECK: Expected mangling specifier in datalayout string
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llvm-as < %s 2>&1 | FileCheck %s
|
||||
target datalayout = "m."
|
||||
; CHECK: Unexpected trailing characters after mangling specifier in datalayout string
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llvm-as < %s 2>&1 | FileCheck %s
|
||||
target datalayout = "f"
|
||||
; CHECK: Missing alignment specification in datalayout string
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llvm-as < %s 2>&1 | FileCheck %s
|
||||
target datalayout = ":32"
|
||||
; CHECK: Expected token before separator in datalayout string
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llvm-as < %s 2>&1 | FileCheck %s
|
||||
target datalayout = "i64:64:16"
|
||||
; CHECK: Preferred alignment cannot be less than the ABI alignment
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llvm-as < %s 2>&1 | FileCheck %s
|
||||
target datalayout = "i64:16:16777216"
|
||||
; CHECK: Invalid preferred alignment, must be a 16bit integer
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llvm-as < %s 2>&1 | FileCheck %s
|
||||
target datalayout = "i64:16777216:16777216"
|
||||
; CHECK: Invalid ABI alignment, must be a 16bit integer
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llvm-as < %s 2>&1 | FileCheck %s
|
||||
target datalayout = "i16777216:16:16"
|
||||
; CHECK: Invalid bit width, must be a 24bit integer
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llvm-as < %s 2>&1 | FileCheck %s
|
||||
target datalayout = "p:32:32:16"
|
||||
; CHECK: Preferred alignment cannot be less than the ABI alignment
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llvm-as < %s 2>&1 | FileCheck %s
|
||||
|
||||
target datalayout = "p:0:32:32"
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llvm-as < %s 2>&1 | FileCheck %s
|
||||
target datalayout = "m:v"
|
||||
; CHECK: Unknown mangling in datalayout string
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llvm-as < %s 2>&1 | FileCheck %s
|
||||
|
||||
target datalayout = "p:64:24:64"
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llvm-as < %s 2>&1 | FileCheck %s
|
||||
|
||||
target datalayout = "p:64:64:24"
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llvm-as < %s 2>&1 | FileCheck %s
|
||||
|
||||
target datalayout = "v128:0:128"
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llvm-as < %s 2>&1 | FileCheck %s
|
||||
|
||||
target datalayout = "i32:24:32"
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llvm-as < %s 2>&1 | FileCheck %s
|
||||
|
||||
target datalayout = "i32:32:24"
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llvm-as < %s 2>&1 | FileCheck %s
|
||||
target datalayout = "n0"
|
||||
; CHECK: Zero width native integer type in datalayout string
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llvm-as < %s 2>&1 | FileCheck %s
|
||||
target datalayout = "p16777216:64:64:64"
|
||||
; CHECK: Invalid address space, must be a 24bit integer
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llvm-as < %s 2>&1 | FileCheck %s
|
||||
target datalayout = "a1:64"
|
||||
; CHECK: Sized aggregate specification in datalayout string
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llvm-as < %s 2>&1 | FileCheck %s
|
||||
target datalayout = "a:"
|
||||
; CHECK: Trailing separator in datalayout string
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llvm-as < %s 2>&1 | FileCheck %s
|
||||
target datalayout = "p:52"
|
||||
; CHECK: number of bits must be a byte width multiple
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llvm-as < %s 2>&1 | FileCheck %s
|
||||
target datalayout = "e-p"
|
||||
; CHECK: Missing size specification for pointer in datalayout string
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
; RUN: not --crash llvm-as < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llvm-as < %s 2>&1 | FileCheck %s
|
||||
target datalayout = "e-p:64"
|
||||
; CHECK: Missing alignment specification for pointer in datalayout string
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
; RUN: llvm-as %s -o - | llvm-dis - | FileCheck %s -check-prefixes CHECK,PROG-AS0
|
||||
; RUN: llvm-as -data-layout "P200" %s -o - | llvm-dis | FileCheck %s -check-prefixes CHECK,PROG-AS200
|
||||
; RUN: not --crash llvm-as -data-layout "P123456789" %s -o /dev/null 2>&1 | FileCheck %s -check-prefix BAD-DATALAYOUT
|
||||
; RUN: not llvm-as -data-layout "P123456789" %s -o /dev/null 2>&1 | FileCheck %s -check-prefix BAD-DATALAYOUT
|
||||
; BAD-DATALAYOUT: LLVM ERROR: Invalid address space, must be a 24-bit integer
|
||||
|
||||
; PROG-AS0-NOT: target datalayout
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
; Bitcode with invalid function pointer alignment.
|
||||
|
||||
; RUN: not --crash llvm-dis %s.bc -o - 2>&1 | FileCheck %s
|
||||
; RUN: not llvm-dis %s.bc -o - 2>&1 | FileCheck %s
|
||||
|
||||
CHECK: LLVM ERROR: Alignment is neither 0 nor a power of 2
|
||||
|
|
|
@ -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 --crash llvm-dis -disable-output %p/Inputs/invalid-pr20485.bc 2>&1 | \
|
||||
RUN: not 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
|
||||
|
@ -71,14 +71,14 @@ RUN: FileCheck --check-prefix=FP-SHIFT %s
|
|||
|
||||
FP-SHIFT: Invalid record
|
||||
|
||||
RUN: not --crash llvm-dis -disable-output %p/Inputs/invalid-abbrev-vbr-size-too-big.bc 2>&1 | \
|
||||
RUN: not 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 --crash llvm-dis -disable-output %p/Inputs/invalid-abbrev-fixed-size-too-big.bc 2>&1 | \
|
||||
RUN: not 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 --crash llvm-dis -disable-output %p/Inputs/invalid-array-type.bc 2>&1 | \
|
||||
RUN: not 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
|
||||
|
@ -116,7 +116,7 @@ RUN: FileCheck --check-prefix=INVALID-CAST %s
|
|||
|
||||
INVALID-CAST: Invalid cast
|
||||
|
||||
RUN: not --crash llvm-dis -disable-output %p/Inputs/invalid-array-op-not-2nd-to-last.bc 2>&1 | \
|
||||
RUN: not 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
|
||||
|
@ -176,7 +176,7 @@ RUN: FileCheck --check-prefix=INVALID-GVCOMDAT-ID %s
|
|||
|
||||
INVALID-GVCOMDAT-ID: Invalid global variable comdat ID
|
||||
|
||||
RUN: not --crash llvm-dis -disable-output %p/Inputs/invalid-abbrev-no-operands.bc 2>&1 | \
|
||||
RUN: not 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
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
; RUN: not --crash llc -O0 -global-isel -global-isel-abort=1 -verify-machineinstrs %s -o - 2>&1 | FileCheck %s --check-prefix=ERROR
|
||||
; RUN: not llc -O0 -global-isel -global-isel-abort=1 -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
|
||||
; RUN: FileCheck %s --check-prefix=FALLBACK-WITH-REPORT-ERR < %t.err
|
||||
; RUN: not --crash llc -global-isel -mtriple aarch64_be %s -o - 2>&1 | FileCheck %s --check-prefix=BIG-ENDIAN
|
||||
; RUN: not llc -global-isel -mtriple aarch64_be %s -o - 2>&1 | FileCheck %s --check-prefix=BIG-ENDIAN
|
||||
; This file checks that the fallback path to selection dag works.
|
||||
; The test is fragile in the sense that it must be updated to expose
|
||||
; something that fails with global-isel.
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; RUN: not --crash llc %s -mtriple aarch64-apple-darwin -debug-only=aarch64-call-lowering -global-isel -global-isel-abort=2 -o - 2>&1 | FileCheck %s
|
||||
; RUN: not llc %s -mtriple aarch64-apple-darwin -debug-only=aarch64-call-lowering -global-isel -global-isel-abort=2 -o - 2>&1 | FileCheck %s
|
||||
; REQUIRES: asserts
|
||||
|
||||
; Verify that we fall back to SelectionDAG, and error out when we can't tail call musttail functions
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
# RUN: not --crash llc -mtriple=aarch64-- -run-pass=legalizer %s -o - 2>&1 | FileCheck %s
|
||||
# RUN: not llc -mtriple=aarch64-- -run-pass=legalizer %s -o - 2>&1 | FileCheck %s
|
||||
# REQUIRES: asserts
|
||||
|
||||
# This is to demonstrate what kind of bugs we're missing w/o some kind
|
||||
# of validation for LegalizerInfo: G_INTTOPTR could only be legal /
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
# RUN: not --crash llc -mtriple=aarch64-- -run-pass=legalizer %s -o - 2>&1 | FileCheck %s
|
||||
# RUN: not llc -mtriple=aarch64-- -run-pass=legalizer %s -o - 2>&1 | FileCheck %s
|
||||
# REQUIRES: asserts
|
||||
|
||||
# This is to demonstrate what kind of bugs we're missing w/o some kind
|
||||
# of validation for LegalizerInfo: G_INTTOPTR could only be legal /
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; RUN: not --crash llc -o - -verify-machineinstrs -global-isel -global-isel-abort=1 -stop-after=legalizer %s 2>&1 | FileCheck %s
|
||||
; RUN: not llc -o - -verify-machineinstrs -global-isel -global-isel-abort=1 -stop-after=legalizer %s 2>&1 | FileCheck %s
|
||||
target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
|
||||
target triple = "aarch64-unknown-unknown"
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
; 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
|
||||
; RUN: not llc < %s -mtriple=arm64-apple-darwin 2>&1 | FileCheck %s
|
||||
; RUN: not llc < %s -mtriple=arm64-linux-gnueabi 2>&1 | FileCheck %s
|
||||
|
||||
define i32 @get_stack() nounwind {
|
||||
entry:
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
; 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
|
||||
; RUN: not llc < %s -mtriple=arm64-apple-darwin 2>&1 | FileCheck %s
|
||||
; RUN: not llc < %s -mtriple=arm64-linux-gnueabi 2>&1 | FileCheck %s
|
||||
|
||||
define i32 @get_stack() nounwind {
|
||||
entry:
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
; FIXME: We currently produce "small" code for the tiny model
|
||||
; RUN: llc -mtriple=arm64-none-linux-gnu -relocation-model=pic -aarch64-elf-ldtls-generation=1 -code-model=tiny -verify-machineinstrs < %s | FileCheck %s
|
||||
; FIXME: We currently error for the large code model
|
||||
; RUN: not --crash llc -mtriple=arm64-none-linux-gnu -relocation-model=pic -aarch64-elf-ldtls-generation=1 -code-model=large -verify-machineinstrs < %s 2>&1 | FileCheck %s --check-prefix=CHECK-LARGE
|
||||
; RUN: not llc -mtriple=arm64-none-linux-gnu -relocation-model=pic -aarch64-elf-ldtls-generation=1 -code-model=large -verify-machineinstrs < %s 2>&1 | FileCheck %s --check-prefix=CHECK-LARGE
|
||||
|
||||
; CHECK-LARGE: ELF TLS only supported in small memory model
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
; RUN: llc -mtriple=arm64-none-linux-gnu -verify-machineinstrs -show-mc-encoding -code-model=tiny < %s | FileCheck %s --check-prefix=CHECK-TINY
|
||||
; RUN: llc -mtriple=arm64-none-linux-gnu -filetype=obj < %s -code-model=tiny | llvm-objdump -r - | FileCheck --check-prefix=CHECK-TINY-RELOC %s
|
||||
; FIXME: We currently error for the large code model
|
||||
; RUN: not --crash llc -mtriple=arm64-none-linux-gnu -verify-machineinstrs -show-mc-encoding -code-model=large < %s 2>&1 | FileCheck %s --check-prefix=CHECK-LARGE
|
||||
; RUN: not llc -mtriple=arm64-none-linux-gnu -verify-machineinstrs -show-mc-encoding -code-model=large < %s 2>&1 | FileCheck %s --check-prefix=CHECK-LARGE
|
||||
|
||||
; CHECK-LARGE: ELF TLS only supported in small memory model
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
; RUN: llc -O0 -fast-isel -mtriple=aarch64-apple-ios -o - %s | FileCheck %s
|
||||
; RUN: not --crash llc -O0 -mtriple=aarch64-apple-ios -o /dev/null -fast-isel -fast-isel-abort=3 %s 2> %t
|
||||
; RUN: not llc -O0 -mtriple=aarch64-apple-ios -o /dev/null -fast-isel -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
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
; RUN: llc -verify-machineinstrs -o - -mtriple=aarch64-none-linux-gnu -code-model=tiny < %s 2>&1 | FileCheck %s
|
||||
; RUN: llc -verify-machineinstrs -o - -mtriple=aarch64-none-eabi -code-model=tiny < %s 2>&1 | FileCheck %s
|
||||
; RUN: not --crash llc -verify-machineinstrs -o - -mtriple=arm64-apple-darwin -code-model=tiny < %s 2>&1 | FileCheck %s --check-prefix=NOTINY
|
||||
; RUN: not --crash llc -verify-machineinstrs -o - -mtriple=arm64-apple-ios -code-model=tiny < %s 2>&1 | FileCheck %s --check-prefix=NOTINY
|
||||
; RUN: not --crash llc -verify-machineinstrs -o - -mtriple=aarch64-unknown-windows-msvc -code-model=tiny < %s 2>&1 | FileCheck %s --check-prefix=NOTINY
|
||||
; RUN: not llc -verify-machineinstrs -o - -mtriple=arm64-apple-darwin -code-model=tiny < %s 2>&1 | FileCheck %s --check-prefix=NOTINY
|
||||
; RUN: not llc -verify-machineinstrs -o - -mtriple=arm64-apple-ios -code-model=tiny < %s 2>&1 | FileCheck %s --check-prefix=NOTINY
|
||||
; RUN: not llc -verify-machineinstrs -o - -mtriple=aarch64-unknown-windows-msvc -code-model=tiny < %s 2>&1 | FileCheck %s --check-prefix=NOTINY
|
||||
|
||||
; CHECK-NOT: tiny code model is only supported on ELF
|
||||
; CHECK-LABEL: foo
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
|
||||
; RUN: llc -global-isel -mtriple=amdgcn-mesa-mesa3d -mcpu=gfx900 -verify-machineinstrs < %s | FileCheck -check-prefix=GPRIDX %s
|
||||
; RUN: llc -global-isel -mtriple=amdgcn-mesa-mesa3d -mcpu=gfx1010 -verify-machineinstrs < %s | FileCheck -check-prefix=MOVREL %s
|
||||
; RUN: not --crash llc -global-isel -mtriple=amdgcn-mesa-mesa3d -mcpu=fiji -verify-machineinstrs -o /dev/null %s 2>&1 | FileCheck -check-prefix=ERR %s
|
||||
; RUN: not llc -global-isel -mtriple=amdgcn-mesa-mesa3d -mcpu=fiji -verify-machineinstrs -o /dev/null %s 2>&1 | FileCheck -check-prefix=ERR %s
|
||||
|
||||
; FIXME: Need constant bus fixup pre-gfx10 for movrel
|
||||
; ERR: Bad machine code: VOP* instruction violates constant bus restriction
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# RUN: not --crash llc -march=amdgcn -mcpu=gfx900 -run-pass=instruction-select -verify-machineinstrs -o /dev/null %s 2>&1 | FileCheck -check-prefix=ERR %s
|
||||
# RUN: not llc -march=amdgcn -mcpu=gfx900 -run-pass=instruction-select -verify-machineinstrs -o /dev/null %s 2>&1 | FileCheck -check-prefix=ERR %s
|
||||
|
||||
# ERR: *** Bad machine code: VOP* instruction violates constant bus restriction ***
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
; RUN: not --crash llc -global-isel -march=amdgcn -mcpu=tonga < %S/../lds-zero-initializer.ll 2>&1 | FileCheck %s
|
||||
; RUN: not llc -global-isel -march=amdgcn -mcpu=tonga < %S/../lds-zero-initializer.ll 2>&1 | FileCheck %s
|
||||
|
||||
; CHECK: error: <unknown>:0:0: in function load_zeroinit_lds_global void (i32 addrspace(1)*, i1): unsupported initializer for address space
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# RUN: not --crash llc -mtriple=amdgcn-mesa-mesa3d -mcpu=tahiti -O0 -run-pass=legalizer -o - %s 2>&1| FileCheck -check-prefix=ERROR %s
|
||||
# RUN: not llc -mtriple=amdgcn-mesa-mesa3d -mcpu=tahiti -O0 -run-pass=legalizer -o - %s 2>&1| FileCheck -check-prefix=ERROR %s
|
||||
|
||||
# This needs to be expanded into a cmpxchg loop.
|
||||
# TODO: Will AtomicExpand still do this?
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
|
||||
# RUN: llc -mtriple=amdgcn-mesa-mesa3d -mcpu=bonaire -O0 -run-pass=legalizer -o - %s | FileCheck %s
|
||||
# RUN: not --crash llc -mtriple=amdgcn-mesa-mesa3d -mcpu=tahiti -O0 -run-pass=legalizer -o /dev/null %s 2>&1 | FileCheck -check-prefix=ERROR %s
|
||||
# RUN: not llc -mtriple=amdgcn-mesa-mesa3d -mcpu=tahiti -O0 -run-pass=legalizer -o /dev/null %s 2>&1 | FileCheck -check-prefix=ERROR %s
|
||||
|
||||
# ERROR: LLVM ERROR: unable to legalize instruction: %2:_(s32) = G_ATOMICRMW_XCHG %0:_(p0), %1:_ :: (load store seq_cst 4) (in function: atomicrmw_xchg_flat_i32)
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# RUN: not --crash llc -march=amdgcn -run-pass=legalizer -o /dev/null %s 2>&1 | FileCheck %s
|
||||
# RUN: not llc -march=amdgcn -run-pass=legalizer -o /dev/null %s 2>&1 | FileCheck %s
|
||||
|
||||
# CHECK: LLVM ERROR: unable to legalize instruction: %3:_(p0) = G_JUMP_TABLE %jump-table.0 (in function: jt_test)
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# RUN: not --crash llc -mtriple=amdgcn-- -O0 -run-pass=legalizer -o - %s 2>&1 | FileCheck %s
|
||||
# RUN: not llc -mtriple=amdgcn-- -O0 -run-pass=legalizer -o - %s 2>&1 | FileCheck %s
|
||||
|
||||
# CHECK: LLVM ERROR: unable to legalize instruction: %1:_(s1), %2:_(s1) = G_UNMERGE_VALUES %0:_(<2 x s1>) (in function: test_unmerge_v2s1)
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; RUN: not --crash llc -global-isel -mtriple=amdgcn-mesa-mesa3d -mcpu=tahiti -o - < %S/../llvm.amdgcn.ds.gws.sema.release.all.ll 2>&1 | FileCheck -enable-var-scope -check-prefix=GFX6ERR-GISEL %s
|
||||
; RUN: not llc -global-isel -mtriple=amdgcn-mesa-mesa3d -mcpu=tahiti -o - < %S/../llvm.amdgcn.ds.gws.sema.release.all.ll 2>&1 | FileCheck -enable-var-scope -check-prefix=GFX6ERR-GISEL %s
|
||||
; RUN: llc -global-isel -mtriple=amdgcn-mesa-mesa3d -mcpu=hawaii -o - -verify-machineinstrs < %S/../llvm.amdgcn.ds.gws.sema.release.all.ll | FileCheck -enable-var-scope -check-prefixes=GCN,LOOP %S/../llvm.amdgcn.ds.gws.sema.release.all.ll
|
||||
; RUN: llc -global-isel -mtriple=amdgcn-mesa-mesa3d -mcpu=fiji -o - -verify-machineinstrs < %S/../llvm.amdgcn.ds.gws.sema.release.all.ll | FileCheck -enable-var-scope -check-prefixes=GCN,LOOP,GFX8 %S/../llvm.amdgcn.ds.gws.sema.release.all.ll
|
||||
; RUN: llc -global-isel -mtriple=amdgcn-mesa-mesa3d -mcpu=gfx900 -o - -verify-machineinstrs < %S/../llvm.amdgcn.ds.gws.sema.release.all.ll | FileCheck -enable-var-scope -check-prefixes=GCN,NOLOOP %S/../llvm.amdgcn.ds.gws.sema.release.all.ll
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# RUN: not --crash llc -march=amdgcn -run-pass=regbankselect -regbankselect-fast %s -o /dev/null 2>&1 | FileCheck %s
|
||||
# RUN: not --crash llc -march=amdgcn -run-pass=regbankselect -regbankselect-greedy %s -o /dev/null 2>&1 | FileCheck %s
|
||||
# RUN: not llc -march=amdgcn -run-pass=regbankselect -regbankselect-fast %s -o /dev/null 2>&1 | FileCheck %s
|
||||
# RUN: not llc -march=amdgcn -run-pass=regbankselect -regbankselect-greedy %s -o /dev/null 2>&1 | FileCheck %s
|
||||
|
||||
# Check behavior for illegal copies.
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# RUN: not --crash llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx906 -verify-machineinstrs -run-pass=machine-scheduler -verify-misched -o /dev/null %s 2>&1 | FileCheck %s
|
||||
# RUN: not llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx906 -verify-machineinstrs -run-pass=machine-scheduler -verify-misched -o /dev/null %s 2>&1 | FileCheck %s
|
||||
|
||||
# CHECK: *** Bad machine code: No live subrange at use ***
|
||||
# CHECK-NEXT: - function: at_least_one_value_should_be_defined_by_this_mask
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; RUN: not --crash llc -march=amdgcn -mcpu=tahiti -verify-machineinstrs -amdgpu-s-branch-bits=4 < %s 2>&1 | FileCheck -check-prefix=FAIL %s
|
||||
; RUN: not llc -march=amdgcn -mcpu=tahiti -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.
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; RUN: not --crash llc -march=amdgcn -mcpu=tahiti -verify-machineinstrs -o /dev/null %s 2>&1 | FileCheck %s
|
||||
; RUN: not llc -march=amdgcn -mcpu=tahiti -verify-machineinstrs -o /dev/null %s 2>&1 | FileCheck %s
|
||||
|
||||
; FIXME: It should be invalid IR to have a call to a kernel, but this
|
||||
; is currently relied on, but should be eliminated before codegen.
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; RUN: not --crash llc -march=amdgcn -mcpu=tahiti -verify-machineinstrs -o /dev/null %s 2>&1 | FileCheck %s
|
||||
; RUN: not llc -march=amdgcn -mcpu=tahiti -verify-machineinstrs -o /dev/null %s 2>&1 | FileCheck %s
|
||||
|
||||
; FIXME: It should be invalid IR to have a call to a kernel, but this
|
||||
; is currently relied on, but should be eliminated before codegen.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
; RUN: not --crash llc -march=amdgcn -mcpu=verde -verify-machineinstrs -o /dev/null %s 2>&1 | FileCheck %s
|
||||
; RUN: not --crash llc -march=amdgcn -mcpu=tonga -verify-machineinstrs -o /dev/null %s 2>&1 | FileCheck %s
|
||||
; RUN: not --crash llc -march=amdgcn -mcpu=gfx900 -verify-machineinstrs -o /dev/null %s 2>&1 | FileCheck %s
|
||||
; RUN: not llc -march=amdgcn -mcpu=verde -verify-machineinstrs -o /dev/null %s 2>&1 | FileCheck %s
|
||||
; RUN: not llc -march=amdgcn -mcpu=tonga -verify-machineinstrs -o /dev/null %s 2>&1 | FileCheck %s
|
||||
; RUN: not llc -march=amdgcn -mcpu=gfx900 -verify-machineinstrs -o /dev/null %s 2>&1 | FileCheck %s
|
||||
|
||||
;CHECK: LLVM ERROR: unable to allocate function argument
|
||||
define amdgpu_gs { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 } @_amdgpu_gs_sgpr_i32 (i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg) {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; RUN: not --crash llc -mtriple=amdgcn-amd-amdhsa -verify-machineinstrs -o - %s 2>&1 | FileCheck %s
|
||||
; RUN: not llc -mtriple=amdgcn-amd-amdhsa -verify-machineinstrs -o - %s 2>&1 | FileCheck %s
|
||||
|
||||
; CHECK: LLVM ERROR: unsupported libcall legalization
|
||||
define i128 @v_sdiv_i128_vv(i128 %lhs, i128 %rhs) {
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
; RUN: not --crash llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx600 -filetype=obj -o /dev/null %s 2>&1 | FileCheck -check-prefix=ERROR %s
|
||||
; RUN: not --crash llc -mtriple=amdgcn-mesa-mesa3d -mcpu=gfx600 -filetype=obj -o /dev/null %s 2>&1 | FileCheck -check-prefix=ERROR %s
|
||||
; RUN: not llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx600 -filetype=obj -o /dev/null %s 2>&1 | FileCheck -check-prefix=ERROR %s
|
||||
; RUN: not llc -mtriple=amdgcn-mesa-mesa3d -mcpu=gfx600 -filetype=obj -o /dev/null %s 2>&1 | FileCheck -check-prefix=ERROR %s
|
||||
|
||||
; RUN: llc -mtriple=amdgcn-amd-amdhsa -o - %s | FileCheck -check-prefix=HSA-DEFAULT %s
|
||||
; RUN: not --crash llc -mtriple=amdgcn-mesa-mesa3d -mcpu=gfx600 -filetype=obj -o /dev/null %s 2>&1 | FileCheck -check-prefix=ERROR %s
|
||||
; RUN: not llc -mtriple=amdgcn-mesa-mesa3d -mcpu=gfx600 -filetype=obj -o /dev/null %s 2>&1 | FileCheck -check-prefix=ERROR %s
|
||||
|
||||
; Flat instructions should not select if the target device doesn't
|
||||
; support them. The default device should be able to select for HSA.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
; 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
|
||||
; RUN: not llc -march=amdgcn -mcpu=tahiti < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llc -march=amdgcn -mcpu=tonga < %s 2>&1 | FileCheck %s
|
||||
|
||||
; CHECK: lds: unsupported initializer for address space
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
; 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
|
||||
; RUN: not llc -march=amdgcn -mcpu=tahiti < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llc -march=amdgcn -mcpu=tonga < %s 2>&1 | FileCheck %s
|
||||
|
||||
; CHECK: lds: unsupported initializer for address space
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; RUN: not --crash llc -mtriple=amdgcn-mesa-mesa3d -mcpu=tahiti -o - < %s 2>&1 | FileCheck -enable-var-scope -check-prefix=GFX6ERR %s
|
||||
; RUN: not llc -mtriple=amdgcn-mesa-mesa3d -mcpu=tahiti -o - < %s 2>&1 | FileCheck -enable-var-scope -check-prefix=GFX6ERR %s
|
||||
; RUN: llc -mtriple=amdgcn-mesa-mesa3d -mcpu=hawaii -o - -verify-machineinstrs < %s | FileCheck -enable-var-scope -check-prefixes=GCN,LOOP %s
|
||||
; RUN: llc -mtriple=amdgcn-mesa-mesa3d -mcpu=fiji -o - -verify-machineinstrs < %s | FileCheck -enable-var-scope -check-prefixes=GCN,LOOP,GFX8 %s
|
||||
; RUN: llc -mtriple=amdgcn-mesa-mesa3d -mcpu=gfx900 -o - -verify-machineinstrs < %s | FileCheck -enable-var-scope -check-prefixes=GCN,NOLOOP %s
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; RUN: not --crash llc -march=amdgcn -mcpu=tahiti -verify-machineinstrs < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llc -march=amdgcn -mcpu=tahiti -verify-machineinstrs < %s 2>&1 | FileCheck %s
|
||||
|
||||
; CHECK: invalid register "flat_scratch_lo" for subtarget.
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; RUN: not --crash llc -march=amdgcn -verify-machineinstrs < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llc -march=amdgcn -verify-machineinstrs < %s 2>&1 | FileCheck %s
|
||||
|
||||
; CHECK: invalid type for register "exec".
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; RUN: not --crash llc -march=amdgcn -verify-machineinstrs < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llc -march=amdgcn -verify-machineinstrs < %s 2>&1 | FileCheck %s
|
||||
|
||||
; CHECK: invalid type for register "m0".
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; RUN: not --crash llc -march=amdgcn -mcpu=fiji -verify-machineinstrs -o /dev/null %s 2>&1 | FileCheck -check-prefix=ERR %s
|
||||
; RUN: not llc -march=amdgcn -mcpu=fiji -verify-machineinstrs -o /dev/null %s 2>&1 | FileCheck -check-prefix=ERR %s
|
||||
|
||||
; Make sure this doesn't assert on targets without the r128-16
|
||||
; feature, and instead generates a slection error.
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# RUN: not --crash llc -march=amdgcn -run-pass machineverifier %s -o - 2>&1 | FileCheck %s
|
||||
# RUN: not llc -march=amdgcn -run-pass machineverifier %s -o - 2>&1 | FileCheck %s
|
||||
|
||||
# CHECK: *** Bad machine code: SOP2/SOPC instruction requires too many immediate constants
|
||||
# CHECK: - instruction: %0:sreg_32_xm0 = S_ADD_I32
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
; RUN: not --crash llc -verify-machineinstrs -o - -mtriple=arm-none-eabi -code-model=tiny < %s 2>&1 | FileCheck %s --check-prefix=TINY
|
||||
; RUN: not --crash llc -verify-machineinstrs -o - -mtriple=arm-none-eabi -code-model=kernel < %s 2>&1 | FileCheck %s --check-prefix=KERNEL
|
||||
; RUN: not llc -verify-machineinstrs -o - -mtriple=arm-none-eabi -code-model=tiny < %s 2>&1 | FileCheck %s --check-prefix=TINY
|
||||
; RUN: not llc -verify-machineinstrs -o - -mtriple=arm-none-eabi -code-model=kernel < %s 2>&1 | FileCheck %s --check-prefix=KERNEL
|
||||
|
||||
; TINY: Target does not support the tiny CodeModel
|
||||
; KERNEL: Target does not support the kernel CodeModel
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
; RUN: not --crash llc < %s -mtriple=armv8-eabi 2>&1 | FileCheck %s
|
||||
; RUN: not --crash llc < %s -mtriple=thumbv8-eabi 2>&1 | FileCheck %s
|
||||
; RUN: not llc < %s -mtriple=armv8-eabi 2>&1 | FileCheck %s
|
||||
; RUN: not llc < %s -mtriple=thumbv8-eabi 2>&1 | FileCheck %s
|
||||
|
||||
; CHECK: LLVM ERROR: Cannot select: intrinsic %llvm.arm.ldc2l
|
||||
define void @ldc2l(i8* %i) nounwind {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# RUN: not --crash llc -mtriple=thumb -run-pass none -o /dev/null %s 2>&1 | FileCheck %s
|
||||
# RUN: not llc -mtriple=thumb -run-pass none -o /dev/null %s 2>&1 | FileCheck %s
|
||||
# This test ensures that the MIR parser runs the machine verifier after parsing.
|
||||
|
||||
--- |
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
; 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
|
||||
; RUN: not llc < %s -mtriple=arm-apple-darwin 2>&1 | FileCheck %s
|
||||
; RUN: not llc < %s -mtriple=arm-linux-gnueabi 2>&1 | FileCheck %s
|
||||
|
||||
define i32 @get_stack() nounwind {
|
||||
entry:
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
; 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
|
||||
; RUN: not llc < %s -mtriple=arm-apple-darwin 2>&1 | FileCheck %s
|
||||
; RUN: not llc < %s -mtriple=arm-linux-gnueabi 2>&1 | FileCheck %s
|
||||
|
||||
define i32 @get_stack() nounwind {
|
||||
entry:
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
; RUN: 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-m4 2>&1 | FileCheck %s --check-prefix=MCORE
|
||||
; RUN: not llc < %s -mtriple=thumb-none-eabi -mcpu=cortex-m4 2>&1 | FileCheck %s --check-prefix=MCORE
|
||||
|
||||
; MCORE: LLVM ERROR: Invalid register name "cpsr".
|
||||
|
||||
|
|
|
@ -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 --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
|
||||
; 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
|
||||
|
||||
; ACORE: LLVM ERROR: Invalid register name "control".
|
||||
; M3CORE: LLVM ERROR: Invalid register name "xpsr_nzcvqg".
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; RUN: not --crash llc < %s -mtriple=thumb-none-eabi -mcpu=cortex-m4 2>&1 | FileCheck %s --check-prefix=V7M
|
||||
; RUN: not 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".
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; RUN: not --crash llc < %s -mtriple=thumbv8m.base-none-eabi 2>&1 | FileCheck %s --check-prefix=BASELINE
|
||||
; RUN: not 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".
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
; 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
|
||||
; 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
|
||||
|
||||
; immediate argument < lower-bound
|
||||
; CHECK: LLVM ERROR: Cannot select: intrinsic %llvm.arm.ssat
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
; 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
|
||||
; 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
|
||||
|
||||
; immediate argument > upper-bound
|
||||
; CHECK: LLVM ERROR: Cannot select: intrinsic %llvm.arm.ssat
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; RUN: not --crash llc -O1 -mtriple=armv4t-none-none-eabi %s -o - 2>&1 | FileCheck %s
|
||||
; RUN: not llc -O1 -mtriple=armv4t-none-none-eabi %s -o - 2>&1 | FileCheck %s
|
||||
|
||||
; CHECK: Cannot select: intrinsic %llvm.arm.ssat
|
||||
define i32 @ssat() nounwind {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
; RUN: not --crash llc < %s -mtriple=armv8-eabi 2>&1 | FileCheck %s
|
||||
; RUN: not --crash llc < %s -mtriple=thumbv8-eabi 2>&1 | FileCheck %s
|
||||
; RUN: not llc < %s -mtriple=armv8-eabi 2>&1 | FileCheck %s
|
||||
; RUN: not llc < %s -mtriple=thumbv8-eabi 2>&1 | FileCheck %s
|
||||
|
||||
; CHECK: LLVM ERROR: Cannot select: intrinsic %llvm.arm.stc2
|
||||
define void @stc2(i8* %i) nounwind {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
; 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
|
||||
; 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
|
||||
|
||||
; immediate argument < lower-bound
|
||||
; CHECK: LLVM ERROR: Cannot select: intrinsic %llvm.arm.usat
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
; 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
|
||||
; 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
|
||||
|
||||
; immediate argument > upper-bound
|
||||
; CHECK: LLVM ERROR: Cannot select: intrinsic %llvm.arm.usat
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; RUN: not --crash llc -O1 -mtriple=armv4t-none-none-eabi %s -o - 2>&1 | FileCheck %s
|
||||
; RUN: not 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 {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; RUN: not --crash llc -march=bpf < %s 2> %t1
|
||||
; RUN: not llc -march=bpf < %s 2> %t1
|
||||
; RUN: FileCheck %s < %t1
|
||||
; CHECK: Unsupport signed division
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
; RUN: not --crash llc -march=bpfel < %s 2>&1 | FileCheck %s
|
||||
; RUN: not --crash llc -march=bpfeb < %s 2>&1 | FileCheck %s
|
||||
; RUN: not --crash llc -march=bpfel -mattr=+alu32 < %s 2>&1 | FileCheck %s
|
||||
; RUN: not --crash llc -march=bpfeb -mattr=+alu32 < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llc -march=bpfel < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llc -march=bpfeb < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llc -march=bpfel -mattr=+alu32 < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llc -march=bpfeb -mattr=+alu32 < %s 2>&1 | FileCheck %s
|
||||
|
||||
; This file is generated with the source command and source
|
||||
; $ clang -target bpf -O2 -g -S -emit-llvm t.c
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; RUN: not --crash llc -debug-pass=Structure -stop-after=dead-mi-elimination,arst %s -o /dev/null 2>&1 \
|
||||
; RUN: not llc -debug-pass=Structure -stop-after=dead-mi-elimination,arst %s -o /dev/null 2>&1 \
|
||||
; RUN: | FileCheck -check-prefix=NOT-NUM %s
|
||||
|
||||
; NOT-NUM: LLVM ERROR: invalid pass instance specifier dead-mi-elimination,arst
|
||||
|
|
|
@ -23,16 +23,16 @@
|
|||
; START-BEFORE: Loop Strength Reduction
|
||||
; START-BEFORE-NEXT: Basic Alias Analysis (stateless AA impl)
|
||||
|
||||
; 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
|
||||
; 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
|
||||
; 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 --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
|
||||
; 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
|
||||
; DOUBLE-START: start-before and start-after specified!
|
||||
; DOUBLE-STOP: stop-before and stop-after specified!
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
; RUN: not --crash opt %s -dwarfehprepare -o - 2>&1 | FileCheck %s
|
||||
; RUN: not 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?
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; RUN: not --crash llc -march=hexagon < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llc -march=hexagon < %s 2>&1 | FileCheck %s
|
||||
|
||||
; Check that the misaligned load is diagnosed.
|
||||
; CHECK: LLVM ERROR: Misaligned constant address: 0x00012345 has alignment 1, but the memory access requires 4, at misaligned-const-load.c:2:10
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; RUN: not --crash llc -march=hexagon < %s 2>&1 | FileCheck %s
|
||||
; RUN: not llc -march=hexagon < %s 2>&1 | FileCheck %s
|
||||
|
||||
; Check that the misaligned store is diagnosed.
|
||||
; CHECK: LLVM ERROR: Misaligned constant address: 0x00012345 has alignment 1, but the memory access requires 4, at misaligned-const-store.c:2:10
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# Using a trick to run simple-register-coalescing twice, that way
|
||||
# liveintervals should be preserved while running the machine verifier.
|
||||
#
|
||||
# RUN: not --crash llc -o - %s -march=hexagon -hexagon-subreg-liveness=false -run-pass simple-register-coalescing -verify-machineinstrs -run-pass simple-register-coalescing 2>&1 | FileCheck -check-prefix=CHECK-NOSUB %s
|
||||
# RUN: not --crash llc -o - %s -march=hexagon -hexagon-subreg-liveness=true -run-pass simple-register-coalescing -verify-machineinstrs -run-pass simple-register-coalescing 2>&1 | FileCheck -check-prefix=CHECK-SUB %s
|
||||
# RUN: not llc -o - %s -march=hexagon -hexagon-subreg-liveness=false -run-pass simple-register-coalescing -verify-machineinstrs -run-pass simple-register-coalescing 2>&1 | FileCheck -check-prefix=CHECK-NOSUB %s
|
||||
# RUN: not llc -o - %s -march=hexagon -hexagon-subreg-liveness=true -run-pass simple-register-coalescing -verify-machineinstrs -run-pass simple-register-coalescing 2>&1 | FileCheck -check-prefix=CHECK-SUB %s
|
||||
|
||||
---
|
||||
name: test_pass
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
; RUN: llc -march=lanai < %s | FileCheck %s
|
||||
; RUN: llc -march=lanai < %s -code-model=small | FileCheck -check-prefix CHECK-SMALL %s
|
||||
; RUN: not --crash llc -march=lanai < %s -code-model=tiny 2>&1 | FileCheck -check-prefix CHECK-TINY %s
|
||||
; RUN: not --crash llc -march=lanai < %s -code-model=kernel 2>&1 | FileCheck -check-prefix CHECK-KERNEL %s
|
||||
; RUN: not llc -march=lanai < %s -code-model=tiny 2>&1 | FileCheck -check-prefix CHECK-TINY %s
|
||||
; RUN: not llc -march=lanai < %s -code-model=kernel 2>&1 | FileCheck -check-prefix CHECK-KERNEL %s
|
||||
|
||||
; CHECK-TINY: Target does not support the tiny CodeModel
|
||||
; CHECK-KERNEL: Target does not support the kernel CodeModel
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# RUN: not --crash llc -march=x86-64 -run-pass none -o /dev/null %s 2>&1 | FileCheck %s
|
||||
# RUN: not 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.
|
||||
|
||||
--- |
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# RUN: not --crash llc -march=x86-64 -run-pass none -o /dev/null %s 2>&1 | FileCheck %s
|
||||
# RUN: not 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.
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue