diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2019-02-15 15:24:31 +0000 |
---|---|---|
committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2019-02-15 15:24:31 +0000 |
commit | 4673fdc5311334da6bd1d0638e2cdb3e1424b0b5 (patch) | |
tree | 4498a5dee6c3a672709db2d06190ffd325b45e09 /llvm/test/Verifier | |
parent | fb4df68f48702377845a471fddcd1f67a3889ae4 (diff) | |
download | bcm5719-llvm-4673fdc5311334da6bd1d0638e2cdb3e1424b0b5.tar.gz bcm5719-llvm-4673fdc5311334da6bd1d0638e2cdb3e1424b0b5.zip |
Try to organize MachineVerifier tests
The Verifier is separate from the MachineVerifier, so move it to a
different directory. Some other verifier tests were scattered in
target codegen tests as well (although I'm sure I missed some). Work
towards using a more consistent naming scheme to make it clearer where
the gaps still are for generic instructions.
llvm-svn: 354138
Diffstat (limited to 'llvm/test/Verifier')
24 files changed, 0 insertions, 912 deletions
diff --git a/llvm/test/Verifier/gisel-g_build_vector.mir b/llvm/test/Verifier/gisel-g_build_vector.mir deleted file mode 100644 index a40942ef47b..00000000000 --- a/llvm/test/Verifier/gisel-g_build_vector.mir +++ /dev/null @@ -1,27 +0,0 @@ -#RUN: not llc -o - -global-isel -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s -# REQUIRES: global-isel, aarch64-registered-target ---- | - target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128" - target triple = "aarch64-unknown-unknown" - - define i32 @g_build_vector() { - ret i32 0 - } - -... ---- -name: g_build_vector -legalized: true -regBankSelected: false -selected: false -tracksRegLiveness: true -registers: - - { id: 0, class: _, preferred-register: '' } -liveins: -body: | - bb.0: - ; CHECK: Bad machine code: G_BUILD_VECTOR src operands total size don't match dest size - - %0(s32) = IMPLICIT_DEF - %1:_(<2 x s32>) = G_BUILD_VECTOR %0, %0, %0, %0 -... diff --git a/llvm/test/Verifier/gisel-g_build_vector_trunc.mir b/llvm/test/Verifier/gisel-g_build_vector_trunc.mir deleted file mode 100644 index 3b9b304b667..00000000000 --- a/llvm/test/Verifier/gisel-g_build_vector_trunc.mir +++ /dev/null @@ -1,27 +0,0 @@ -#RUN: not llc -o - -global-isel -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s -# REQUIRES: global-isel, aarch64-registered-target ---- | - target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128" - target triple = "aarch64-unknown-unknown" - - define i32 @g_build_vector_trunc() { - ret i32 0 - } - -... ---- -name: g_build_vector_trunc -legalized: true -regBankSelected: false -selected: false -tracksRegLiveness: true -registers: - - { id: 0, class: _, preferred-register: '' } -liveins: -body: | - bb.0: - ; CHECK: Bad machine code: G_BUILD_VECTOR_TRUNC source operand types are not larger than dest elt type - - %0(s32) = IMPLICIT_DEF - %1:_(<2 x s32>) = G_BUILD_VECTOR_TRUNC %0, %0 -... diff --git a/llvm/test/Verifier/gisel-g_concat_vector.mir b/llvm/test/Verifier/gisel-g_concat_vector.mir deleted file mode 100644 index 640c4a4ceed..00000000000 --- a/llvm/test/Verifier/gisel-g_concat_vector.mir +++ /dev/null @@ -1,29 +0,0 @@ -#RUN: not llc -o - -global-isel -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s -# REQUIRES: global-isel, aarch64-registered-target ---- | - target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128" - target triple = "aarch64-unknown-unknown" - - define i32 @g_concat_vectors() { - ret i32 0 - } - -... ---- -name: g_concat_vectors -legalized: true -regBankSelected: false -selected: false -tracksRegLiveness: true -registers: - - { id: 0, class: _, preferred-register: '' } - - { id: 1, class: _, preferred-register: '' } -liveins: -body: | - bb.0: - ; CHECK: Bad machine code: G_CONCAT_VECTOR num dest and source elements should match - - %0(<2 x s32>) = IMPLICIT_DEF - %1(<2 x s32>) = IMPLICIT_DEF - %2:_(<2 x s32>) = G_CONCAT_VECTORS %0, %1 -... diff --git a/llvm/test/Verifier/test_copy.mir b/llvm/test/Verifier/test_copy.mir deleted file mode 100644 index e234f45287e..00000000000 --- a/llvm/test/Verifier/test_copy.mir +++ /dev/null @@ -1,33 +0,0 @@ -#RUN: not llc -o - -global-isel -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s -# REQUIRES: global-isel, aarch64-registered-target ---- | - ; ModuleID = 'test.ll' - source_filename = "test.ll" - target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128" - target triple = "aarch64-unknown-unknown" - - define i32 @test_copy(i32 %argc) { - ret i32 0 - } - define i32 @test_copy_type_mismatch(i32 %argc) { - ret i32 0 - } - -... ---- -name: test_copy -legalized: true -regBankSelected: false -selected: false -tracksRegLiveness: true -registers: - - { id: 0, class: _, preferred-register: '' } -liveins: -body: | - bb.0: - liveins: $w0 - ; This test is used to catch verifier errors with copys having mismatching sizes - ; CHECK: Bad machine code: Copy Instruction is illegal with mismatching sizes - - %0(s8) = COPY $w0 -... diff --git a/llvm/test/Verifier/test_copy_mismatch_types.mir b/llvm/test/Verifier/test_copy_mismatch_types.mir deleted file mode 100644 index 905977938d5..00000000000 --- a/llvm/test/Verifier/test_copy_mismatch_types.mir +++ /dev/null @@ -1,31 +0,0 @@ -#RUN: not llc -o - -global-isel -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s -# REQUIRES: global-isel, aarch64-registered-target ---- | - ; ModuleID = 'test.ll' - source_filename = "test.ll" - target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128" - target triple = "aarch64-unknown-unknown" - - define i32 @test_copy(i32 %argc) { - ret i32 0 - } - -... ---- -name: test_copy -legalized: true -regBankSelected: false -selected: false -tracksRegLiveness: true -registers: - - { id: 0, class: _, preferred-register: '' } -liveins: -body: | - bb.0: - liveins: $w0 - ; This test is used to catch verifier errors with copys having mismatching sizes - ; CHECK: Bad machine code: Copy Instruction is illegal with mismatching types - - %0(s32) = COPY $w0 - %1:_(<2 x s16>) = COPY %0 -... diff --git a/llvm/test/Verifier/test_g_add.mir b/llvm/test/Verifier/test_g_add.mir deleted file mode 100644 index 9cd990bb8cc..00000000000 --- a/llvm/test/Verifier/test_g_add.mir +++ /dev/null @@ -1,37 +0,0 @@ -#RUN: not llc -march=aarch64 -o - -global-isel -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s -# REQUIRES: global-isel, aarch64-registered-target - ---- -name: test_add -legalized: true -regBankSelected: false -selected: false -tracksRegLiveness: true -liveins: -body: | - bb.0: - - %0:_(s32) = G_CONSTANT i32 0 - %1:_(s32) = G_CONSTANT i32 1 - - ; CHECK: Bad machine code: Too few operands - %2:_(s32) = G_ADD - - ; CHECK: Bad machine code: Too few operands - %3:_(s32) = G_ADD %0 - %4:_(s32) = G_ADD %0, %1 - - ; CHECK: Bad machine code: Too few operands - ; CHECK: Bad machine code: Explicit definition marked as use - G_ADD %0, %1 - - ; CHECK: Bad machine code: generic instruction must use register operands - %5:_(s32) = G_ADD %0, 1 - - %6:_(s64) = G_CONSTANT i64 0 - - ; CHECK: Bad machine code: Type mismatch in generic instruction - ; CHECK: Bad machine code: Generic virtual register does not allow subregister index - %8:_(s32) = G_ADD %6.sub_32:_(s64), %0 - -... diff --git a/llvm/test/Verifier/test_g_addrspacecast.mir b/llvm/test/Verifier/test_g_addrspacecast.mir deleted file mode 100644 index 44504108132..00000000000 --- a/llvm/test/Verifier/test_g_addrspacecast.mir +++ /dev/null @@ -1,57 +0,0 @@ -#RUN: not llc -o - -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s -# REQUIRES: global-isel, aarch64-registered-target - ---- -name: test_addrspacecast -legalized: true -regBankSelected: false -selected: false -tracksRegLiveness: true -liveins: -body: | - bb.0: - - %0:_(s64) = G_IMPLICIT_DEF - %1:_(p0) = G_IMPLICIT_DEF - %2:_(<2 x s64>) = G_IMPLICIT_DEF - %3:_(<2 x p0>) = G_IMPLICIT_DEF - - ; CHECK: Bad machine code: Too few operands - %4:_(s64) = G_ADDRSPACE_CAST - - ; CHECK: Bad machine code: Too few operands - ; CHECK: Bad machine code: Explicit definition marked as use - G_ADDRSPACE_CAST %1 - - ; CHECK: Bad machine code: addrspacecast types must be pointers - %5:_(p0) = G_ADDRSPACE_CAST %0 - - ; CHECK: Bad machine code: addrspacecast types must be pointers - %6:_(s64) = G_ADDRSPACE_CAST %1 - - ; CHECK: Bad machine code: addrspacecast types must be pointers - %7:_(<2 x s64>) = G_ADDRSPACE_CAST %1 - - ; CHECK: Bad machine code: addrspacecast types must be pointers - %8:_(<2 x p0>) = G_ADDRSPACE_CAST %2 - - ; CHECK: Bad machine code: operand types must be all-vector or all-scalar - %9:_(<2 x p1>) = G_ADDRSPACE_CAST %1 - - ; CHECK: Bad machine code: operand types must be all-vector or all-scalar - %10:_(p1) = G_ADDRSPACE_CAST %3 - - ; CHECK: Bad machine code: operand types must preserve number of vector elements - %11:_(<4 x p1>) = G_ADDRSPACE_CAST %3 - - ; CHECK: Bad machine code: operand types must preserve number of vector elements - %12:_(<4 x p1>) = G_IMPLICIT_DEF - %13:_(<2 x p0>) = G_ADDRSPACE_CAST %12 - - ; CHECK: Bad machine code: addrspacecast must convert different address spaces - %14:_(p0) = G_ADDRSPACE_CAST %1 - - ; CHECK: Bad machine code: addrspacecast must convert different address spaces - %15:_(<2 x p0>) = G_ADDRSPACE_CAST %3 - -... diff --git a/llvm/test/Verifier/test_g_bitcast.mir b/llvm/test/Verifier/test_g_bitcast.mir deleted file mode 100644 index 3446d5fc86e..00000000000 --- a/llvm/test/Verifier/test_g_bitcast.mir +++ /dev/null @@ -1,37 +0,0 @@ -#RUN: not llc -mtriple=amdgcn-amd-amdhsa -o - -global-isel -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s -# REQUIRES: global-isel, amdgpu-registered-target - ---- -name: test_bitcast -legalized: true -regBankSelected: false -selected: false -tracksRegLiveness: true -liveins: -body: | - bb.0: - ; CHECK: Bad machine code: bitcast cannot convert between pointers and other types - %0:_(s64) = G_IMPLICIT_DEF - %1:_(p0) = G_BITCAST %0 - - ; CHECK: Bad machine code: bitcast cannot convert between pointers and other - %2:_(p0) = G_IMPLICIT_DEF - %3:_(s64) = G_BITCAST %2 - - ; CHECK: Bad machine code: bitcast sizes must match - %4:_(s32) = G_IMPLICIT_DEF - %5:_(s64) = G_BITCAST %4 - - ; CHECK: Bad machine code: bitcast sizes must match - %6:_(s32) = G_IMPLICIT_DEF - %7:_(<3 x s8>) = G_BITCAST %6 - - ; CHECK: Bad machine code: bitcast sizes must match - %8:_(p1) = G_IMPLICIT_DEF - %9:_(p3) = G_BITCAST %8 - - ; CHECK: Bad machine code: bitcast sizes must match - %10:_(p1) = G_IMPLICIT_DEF - %11:_(p3) = G_BITCAST %8 - -... diff --git a/llvm/test/Verifier/test_g_constant.mir b/llvm/test/Verifier/test_g_constant.mir deleted file mode 100644 index fa5daff870b..00000000000 --- a/llvm/test/Verifier/test_g_constant.mir +++ /dev/null @@ -1,42 +0,0 @@ -#RUN: not llc -march=aarch64 -o /dev/null -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s -# REQUIRES: global-isel, aarch64-registered-target - ---- -name: test_constant -legalized: true -regBankSelected: false -selected: false -tracksRegLiveness: true -liveins: -body: | - bb.0: - ; CHECK: Bad machine code: Instruction cannot use a vector result type - ; CHECK: Bad machine code: inconsistent constant size - %0:_(<2 x s32>) = G_CONSTANT i32 0 - - ; CHECK: Bad machine code: Too few operands - %1:_(s32) = G_CONSTANT - - ; Not a cimm - ; CHECK: Bad machine code: G_CONSTANT operand must be cimm - %2:_(s32) = G_CONSTANT 0 - - ; Not a cimm - ; CHECK: Bad machine code: G_CONSTANT operand must be cimm - %3:_(s32) = G_CONSTANT float 1.0 - - ; Size is bigger than result - ; CHECK: Bad machine code: inconsistent constant size - %4:_(s32) = G_CONSTANT i64 0 - - ; Size is smaller than result - ; CHECK: Bad machine code: inconsistent constant size - %4:_(s32) = G_CONSTANT i16 0 - - ; CHECK: Bad machine code: inconsistent constant size - %5:_(p0) = G_CONSTANT i32 0 - - ; CHECK: Bad machine code: inconsistent constant size - %6:_(p0) = G_CONSTANT i128 0 - -... diff --git a/llvm/test/Verifier/test_g_extract.mir b/llvm/test/Verifier/test_g_extract.mir deleted file mode 100644 index 62064ae8021..00000000000 --- a/llvm/test/Verifier/test_g_extract.mir +++ /dev/null @@ -1,35 +0,0 @@ -# RUN: not llc -march=aarch64 -o /dev/null -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s -# REQUIRES: global-isel, aarch64-registered-target - ---- -name: test_extract -legalized: true -regBankSelected: false -selected: false -tracksRegLiveness: true -liveins: -body: | - bb.0: - - ; CHECK: Bad machine code: Too few operands - %0:_(s32) = G_EXTRACT - - ; CHECK: Bad machine code: Too few operands - %1:_(s32) = G_EXTRACT 0 - - ; CHECK: Bad machine code: extract source must be a register - %2:_(s32) = G_EXTRACT 0, 1 - - ; CHECK: Bad machine code: extract offset must be a constant - %3:_(s32) = G_IMPLICIT_DEF - %4:_(s32) = G_CONSTANT i32 0 - %5:_(s16) = G_EXTRACT %3, %4 - - ; CHECK: Bad machine code: extract source must be larger than result - %6:_(s32) = G_IMPLICIT_DEF - %7:_(s32) = G_EXTRACT %6, 0 - - ; CHECK: Bad machine code: extract reads past end of register - %8:_(s1) = G_EXTRACT %6, 32 - -... diff --git a/llvm/test/Verifier/test_g_fcmp.mir b/llvm/test/Verifier/test_g_fcmp.mir deleted file mode 100644 index baaa2483536..00000000000 --- a/llvm/test/Verifier/test_g_fcmp.mir +++ /dev/null @@ -1,40 +0,0 @@ -#RUN: not llc -o - -global-isel -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s -# REQUIRES: global-isel, aarch64-registered-target - ---- -name: test_fcmp -legalized: true -regBankSelected: false -selected: false -tracksRegLiveness: true -liveins: -body: | - bb.0: - - %0:_(s32) = G_FCONSTANT float 0.0 - %1:_(s32) = G_FCONSTANT float 1.0 - - ; Vector result, scalar source - ; CHECK: Bad machine code: Generic vector icmp/fcmp must preserve number of lanes - %2:_(<2 x s1>) = G_FCMP floatpred(oeq), %0, %1 - - ; Scalar result, vector source - ; CHECK: Bad machine code: Generic vector icmp/fcmp must preserve number of lanes - %3:_(<2 x s32>) = G_IMPLICIT_DEF - %4:_(<2 x s32>) = G_IMPLICIT_DEF - %5:_(s1) = G_FCMP floatpred(oeq), %3, %4 - - ; mismatched element count - ; CHECK: Bad machine code: Generic vector icmp/fcmp must preserve number of - %6:_(<2 x s32>) = G_IMPLICIT_DEF - %7:_(<2 x s32>) = G_IMPLICIT_DEF - %8:_(<4 x s1>) = G_FCMP floatpred(oeq), %6, %7 - - - ; mismatched scalar element type - ; CHECK: *** Bad machine code: Type mismatch in generic instruction *** - %9:_(s32) = G_FCONSTANT float 0.0 - %10:_(s64) = G_FCONSTANT float 1.0 - %11:_(s1) = G_FCMP floatpred(oeq), %9, %10 - -... diff --git a/llvm/test/Verifier/test_g_fconstant.mir b/llvm/test/Verifier/test_g_fconstant.mir deleted file mode 100644 index d917d9c846f..00000000000 --- a/llvm/test/Verifier/test_g_fconstant.mir +++ /dev/null @@ -1,35 +0,0 @@ -#RUN: not llc -march=aarch64 -o /dev/null -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s -# REQUIRES: global-isel, aarch64-registered-target - ---- -name: test_fconstant -legalized: true -regBankSelected: false -selected: false -tracksRegLiveness: true -liveins: -body: | - bb.0: - ; CHECK: Bad machine code: Instruction cannot use a vector result type - %0:_(<2 x s32>) = G_FCONSTANT float 0.0 - - ; CHECK: Bad machine code: Too few operands - %1:_(s32) = G_FCONSTANT - - ; Not a cimm - ; CHECK: Bad machine code: G_FCONSTANT operand must be fpimm - %2:_(s32) = G_FCONSTANT 0 - - ; Not a cimm - ; CHECK: Bad machine code: G_FCONSTANT operand must be fpimm - %3:_(s32) = G_FCONSTANT i32 0 - - ; Size is bigger than result - ; CHECK: Bad machine code: inconsistent constant size - %4:_(s32) = G_FCONSTANT double 1.0 - - ; Size is smaller than result - ; CHECK: Bad machine code: inconsistent constant size - %4:_(s32) = G_FCONSTANT half 1.0 - -... diff --git a/llvm/test/Verifier/test_g_gep.mir b/llvm/test/Verifier/test_g_gep.mir deleted file mode 100644 index 5e34625d1e7..00000000000 --- a/llvm/test/Verifier/test_g_gep.mir +++ /dev/null @@ -1,32 +0,0 @@ -#RUN: not llc -o - -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s -# REQUIRES: global-isel, aarch64-registered-target - ---- -name: test_gep -legalized: true -regBankSelected: false -selected: false -tracksRegLiveness: true -liveins: -body: | - bb.0: - - %0:_(p0) = G_IMPLICIT_DEF - %1:_(s64) = G_IMPLICIT_DEF - - ; CHECK: Bad machine code: Type mismatch in generic instruction - %2:_(s64) = G_GEP %0, %1 - - ; CHECK: Bad machine code: Type mismatch in generic instruction - %3:_(p0) = G_GEP %1, %1 - - ; CHECK: Bad machine code: gep offset operand must not be a pointer - %4:_(p0) = G_GEP %0, %0 - - ; CHECK: Bad machine code: Type mismatch in generic instruction - %5:_(p1) = G_GEP %0, %1 - - ; CHECK: Bad machine code: gep first operand must be a pointer - %6:_(s64) = G_GEP %1, %1 - -... diff --git a/llvm/test/Verifier/test_g_icmp.mir b/llvm/test/Verifier/test_g_icmp.mir deleted file mode 100644 index e2d9d6419cc..00000000000 --- a/llvm/test/Verifier/test_g_icmp.mir +++ /dev/null @@ -1,40 +0,0 @@ -#RUN: not llc -o - -global-isel -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s -# REQUIRES: global-isel, aarch64-registered-target - ---- -name: test_icmp -legalized: true -regBankSelected: false -selected: false -tracksRegLiveness: true -liveins: -body: | - bb.0: - - %0:_(s32) = G_CONSTANT i32 0 - %1:_(s32) = G_CONSTANT i32 1 - - ; Vector result, scalar source - ; CHECK: Bad machine code: Generic vector icmp/fcmp must preserve number of lanes - %2:_(<2 x s1>) = G_ICMP intpred(eq), %0, %1 - - ; Scalar result, vector source - ; CHECK: Bad machine code: Generic vector icmp/fcmp must preserve number of lanes - %3:_(<2 x s32>) = G_IMPLICIT_DEF - %4:_(<2 x s32>) = G_IMPLICIT_DEF - %5:_(s1) = G_ICMP intpred(eq), %3, %4 - - ; mismatched element count - ; CHECK: Bad machine code: Generic vector icmp/fcmp must preserve number of - %6:_(<2 x s32>) = G_IMPLICIT_DEF - %7:_(<2 x s32>) = G_IMPLICIT_DEF - %8:_(<4 x s1>) = G_ICMP intpred(eq), %6, %7 - - - ; mismatched scalar element type - ; CHECK: *** Bad machine code: Type mismatch in generic instruction *** - %9:_(s32) = G_CONSTANT i32 0 - %10:_(s64) = G_CONSTANT i32 1 - %11:_(s1) = G_ICMP intpred(eq), %9, %10 - -... diff --git a/llvm/test/Verifier/test_g_inttoptr.mir b/llvm/test/Verifier/test_g_inttoptr.mir deleted file mode 100644 index f3a201147f1..00000000000 --- a/llvm/test/Verifier/test_g_inttoptr.mir +++ /dev/null @@ -1,45 +0,0 @@ -#RUN: not llc -o - -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s -# REQUIRES: global-isel, aarch64-registered-target - ---- -name: test_inttoptr -legalized: true -regBankSelected: false -selected: false -tracksRegLiveness: true -liveins: -body: | - bb.0: - - %0:_(s64) = G_IMPLICIT_DEF - %1:_(p0) = G_IMPLICIT_DEF - %2:_(<2 x s64>) = G_IMPLICIT_DEF - %3:_(<2 x p0>) = G_IMPLICIT_DEF - - ; CHECK: Bad machine code: Too few operands - %4:_(p0) = G_INTTOPTR - - ; CHECK: Bad machine code: Too few operands - ; CHECK: Bad machine code: Explicit definition marked as use - G_INTTOPTR %0 - - ; CHECK: Bad machine code: inttoptr result type must be a pointer - %5:_(s64) = G_INTTOPTR %0 - - ; CHECK: Bad machine code: inttoptr result type must be a pointer - %6:_(<2 x s64>) = G_INTTOPTR %2 - - ; CHECK: Bad machine code: operand types must be all-vector or all-scalar - %7:_(<2 x p0>) = G_INTTOPTR %0 - - ; CHECK: Bad machine code: operand types must be all-vector or all-scalar - %8:_(p0) = G_INTTOPTR %2 - - ; CHECK: Bad machine code: operand types must preserve number of vector elements - %9:_(<4 x p0>) = G_INTTOPTR %2 - - ; CHECK: Bad machine code: operand types must preserve number of vector elements - %10:_(<4 x s64>) = G_IMPLICIT_DEF - %11:_(<2 x p0>) = G_INTTOPTR %10 - -... diff --git a/llvm/test/Verifier/test_g_load.mir b/llvm/test/Verifier/test_g_load.mir deleted file mode 100644 index 4378e862f0e..00000000000 --- a/llvm/test/Verifier/test_g_load.mir +++ /dev/null @@ -1,23 +0,0 @@ -#RUN: not llc -o - -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s -# REQUIRES: global-isel, aarch64-registered-target - ---- -name: test_load -legalized: true -regBankSelected: false -selected: false -tracksRegLiveness: true -liveins: -body: | - bb.0: - - ; CHECK: Bad machine code: Generic memory instruction must access a pointer - %0:_(s64) = G_CONSTANT i32 0 - %1:_(s32) = G_LOAD %0 :: (load 4) - - %2:_(p0) = G_IMPLICIT_DEF - - ; CHECK: Bad machine code: load memory size cannot exceed result size - %3:_(s8) = G_LOAD %2 :: (load 2) - -... diff --git a/llvm/test/Verifier/test_g_phi.mir b/llvm/test/Verifier/test_g_phi.mir deleted file mode 100644 index c108ea61354..00000000000 --- a/llvm/test/Verifier/test_g_phi.mir +++ /dev/null @@ -1,79 +0,0 @@ -#RUN: not llc -o - -global-isel -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s -# REQUIRES: global-isel, aarch64-registered-target ---- | - ; ModuleID = 'test.ll' - source_filename = "test.ll" - target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128" - target triple = "aarch64-unknown-unknown" - - define i32 @test_phi(i32 %argc) { - entry: - %cmp = icmp ugt i32 %argc, 0 - br i1 %cmp, label %case1, label %case2 - - case1: ; preds = %entry - %tmp11 = add i32 %argc, 1 - br label %return - - case2: ; preds = %entry - %tmp22 = add i32 %argc, 2 - br label %return - - return: ; preds = %case2, %case1 - %res = phi i32 [ %tmp11, %case1 ], [ %tmp22, %case2 ] - ret i32 %res - } - -... ---- -name: test_phi -legalized: true -regBankSelected: false -selected: false -tracksRegLiveness: true -registers: - - { id: 0, class: _, preferred-register: '' } - - { id: 1, class: _, preferred-register: '' } - - { id: 2, class: _, preferred-register: '' } - - { id: 3, class: _, preferred-register: '' } - - { id: 4, class: _, preferred-register: '' } - - { id: 5, class: _, preferred-register: '' } - - { id: 6, class: _, preferred-register: '' } - - { id: 7, class: _, preferred-register: '' } - - { id: 8, class: _, preferred-register: '' } - - { id: 9, class: _, preferred-register: '' } -liveins: -body: | - bb.1.entry: - successors: %bb.2.case1(0x40000000), %bb.3.case2(0x40000000) - liveins: $w0 - ; This test makes sure that the Verifier catches G_PHI with mismatching types. - ; CHECK: Bad machine code: Generic Instruction G_PHI has operands with incompatible/missing types - - %0(s32) = COPY $w0 - %1(s32) = G_CONSTANT i32 0 - %3(s32) = G_CONSTANT i32 1 - %5(s32) = G_CONSTANT i32 2 - %8(s32) = G_ICMP intpred(ugt), %0(s32), %1 - %2(s1) = G_TRUNC %8(s32) - G_BRCOND %2(s1), %bb.2.case1 - G_BR %bb.3.case2 - - bb.2.case1: - successors: %bb.4.return(0x80000000) - - %4(s32) = G_ADD %0, %3 - %9(s16) = G_TRUNC %4(s32) - G_BR %bb.4.return - - bb.3.case2: - successors: %bb.4.return(0x80000000) - - %6(s32) = G_ADD %0, %5 - - bb.4.return: - %7(s32) = G_PHI %9(s16), %bb.2.case1, %6(s32), %bb.3.case2 - $w0 = COPY %7(s32) - RET_ReallyLR implicit $w0 - -... diff --git a/llvm/test/Verifier/test_g_ptrtoint.mir b/llvm/test/Verifier/test_g_ptrtoint.mir deleted file mode 100644 index c6a969a9c37..00000000000 --- a/llvm/test/Verifier/test_g_ptrtoint.mir +++ /dev/null @@ -1,45 +0,0 @@ -#RUN: not llc -o - -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s -# REQUIRES: global-isel, aarch64-registered-target - ---- -name: test_ptrtoint -legalized: true -regBankSelected: false -selected: false -tracksRegLiveness: true -liveins: -body: | - bb.0: - - %0:_(s64) = G_IMPLICIT_DEF - %1:_(p0) = G_IMPLICIT_DEF - %2:_(<2 x s64>) = G_IMPLICIT_DEF - %3:_(<2 x p0>) = G_IMPLICIT_DEF - - ; CHECK: Bad machine code: Too few operands - %4:_(s64) = G_PTRTOINT - - ; CHECK: Bad machine code: Too few operands - ; CHECK: Bad machine code: Explicit definition marked as use - G_PTRTOINT %1 - - ; CHECK: Bad machine code: ptrtoint result type must not be a pointer - %5:_(p0) = G_PTRTOINT %1 - - ; CHECK: Bad machine code: ptrtoint result type must not be a pointer - %6:_(<2 x p0>) = G_PTRTOINT %0 - - ; CHECK: Bad machine code: ptrtoint source type must be a pointer - %7:_(<2 x s64>) = G_PTRTOINT %2 - - ; CHECK: Bad machine code: operand types must be all-vector or all-scalar - %8:_(s64) = G_PTRTOINT %3 - - ; CHECK: Bad machine code: operand types must preserve number of vector elements - %9:_(<4 x s64>) = G_INTTOPTR %3 - - ; CHECK: Bad machine code: operand types must preserve number of vector elements - %10:_(<4 x p0>) = G_IMPLICIT_DEF - %11:_(<2 x s64>) = G_PTRTOINT %10 - -... diff --git a/llvm/test/Verifier/test_g_select.mir b/llvm/test/Verifier/test_g_select.mir deleted file mode 100644 index d40b276c9ba..00000000000 --- a/llvm/test/Verifier/test_g_select.mir +++ /dev/null @@ -1,31 +0,0 @@ -#RUN: not llc -march=aarch64 -run-pass=none -verify-machineinstrs -o /dev/null %s 2>&1 | FileCheck %s -# REQUIRES: global-isel, aarch64-registered-target - ---- -name: test_select -legalized: true -regBankSelected: false -selected: false -tracksRegLiveness: true -liveins: -body: | - bb.0: - - %0:_(s32) = G_CONSTANT i32 0 - %1:_(s32) = G_CONSTANT i32 1 - %2:_(s1) = G_CONSTANT i32 0 - %3:_(<2 x s32>) = G_IMPLICIT_DEF - %4:_(<4 x s32>) = G_IMPLICIT_DEF - %5:_(<2 x s1>) = G_IMPLICIT_DEF - %6:_(<4 x s1>) = G_IMPLICIT_DEF - - ; CHECK: Bad machine code: operand types must be all-vector or all-scalar - %7:_(s32) = G_SELECT %5, %0, %1 - - ; CHECK: Bad machine code: operand types must preserve number of vector elements - %8:_(<2 x s32>) = G_SELECT %6, %3, %3 - - ; CHECK: Bad machine code: operand types must preserve number of vector elements - %9:_(<4 x s32>) = G_SELECT %5, %4, %4 - -... diff --git a/llvm/test/Verifier/test_g_sextload.mir b/llvm/test/Verifier/test_g_sextload.mir deleted file mode 100644 index b195481d1e6..00000000000 --- a/llvm/test/Verifier/test_g_sextload.mir +++ /dev/null @@ -1,28 +0,0 @@ -# RUN: not llc -o - -global-isel -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s -# REQUIRES: global-isel, aarch64-registered-target - ---- -name: test_sextload -legalized: true -regBankSelected: false -selected: false -tracksRegLiveness: true -liveins: -body: | - bb.0: - - ; CHECK: Bad machine code: Generic memory instruction must access a pointer - %0:_(s64) = G_CONSTANT i32 0 - %1:_(s32) = G_SEXTLOAD %0 :: (load 1) - - ; CHECK: *** Bad machine code: Generic instruction accessing memory must have one mem operand *** - %2:_(p0) = G_IMPLICIT_DEF - %3:_(s64) = G_SEXTLOAD %2 - - ; CHECK: Bad machine code: Generic extload must have a narrower memory type - ; CHECK: Bad machine code: Generic extload must have a narrower memory type - - %4:_(s64) = G_SEXTLOAD %2 :: (load 8) - %5:_(s64) = G_SEXTLOAD %2 :: (load 16) - -... diff --git a/llvm/test/Verifier/test_g_store.mir b/llvm/test/Verifier/test_g_store.mir deleted file mode 100644 index 8cf144f1e31..00000000000 --- a/llvm/test/Verifier/test_g_store.mir +++ /dev/null @@ -1,24 +0,0 @@ -# RUN: not llc -o - -global-isel -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s -# REQUIRES: global-isel, aarch64-registered-target - ---- -name: test_store -legalized: true -regBankSelected: false -selected: false -tracksRegLiveness: true -liveins: -body: | - bb.0: - - ; CHECK: Bad machine code: Generic memory instruction must access a pointer - %0:_(s64) = G_CONSTANT i32 0 - %1:_(s32) = G_CONSTANT i32 1 - G_STORE %1, %0 :: (store 4) - - %2:_(p0) = G_IMPLICIT_DEF - %3:_(s8) = G_IMPLICIT_DEF - ; CHECK: Bad machine code: store memory size cannot exceed value size - G_STORE %3, %2 :: (store 2) - -... diff --git a/llvm/test/Verifier/test_g_trunc.mir b/llvm/test/Verifier/test_g_trunc.mir deleted file mode 100644 index 3a196bb7bbd..00000000000 --- a/llvm/test/Verifier/test_g_trunc.mir +++ /dev/null @@ -1,23 +0,0 @@ -# RUN: not llc -o - -global-isel -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s -# REQUIRES: global-isel, aarch64-registered-target - ---- -name: test_trunc -legalized: true -regBankSelected: false -selected: false -tracksRegLiveness: true -liveins: -body: | - bb.0: - - ; CHECK: Bad machine code: Too few operands - %0:_(s32) = G_TRUNC - - %1:_(s64) = G_IMPLICIT_DEF - - ; CHECK: Bad machine code: Too few operands - ; CHECK: Bad machine code: Explicit definition marked as use - G_TRUNC %1 - -... diff --git a/llvm/test/Verifier/test_g_zextload.mir b/llvm/test/Verifier/test_g_zextload.mir deleted file mode 100644 index a2bd321bfa3..00000000000 --- a/llvm/test/Verifier/test_g_zextload.mir +++ /dev/null @@ -1,28 +0,0 @@ -# RUN: not llc -o - -global-isel -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s -# REQUIRES: global-isel, aarch64-registered-target - ---- -name: test_zextload -legalized: true -regBankSelected: false -selected: false -tracksRegLiveness: true -liveins: -body: | - bb.0: - - ; CHECK: Bad machine code: Generic memory instruction must access a pointer - %0:_(s64) = G_CONSTANT i32 0 - %1:_(s32) = G_ZEXTLOAD %0 :: (load 1) - - ; CHECK: *** Bad machine code: Generic instruction accessing memory must have one mem operand *** - %2:_(p0) = G_IMPLICIT_DEF - %3:_(s64) = G_ZEXTLOAD %2 - - ; CHECK: Bad machine code: Generic extload must have a narrower memory type - ; CHECK: Bad machine code: Generic extload must have a narrower memory type - - %4:_(s64) = G_ZEXTLOAD %2 :: (load 8) - %5:_(s64) = G_ZEXTLOAD %2 :: (load 16) - -... diff --git a/llvm/test/Verifier/test_phis_precede_nonphis.mir b/llvm/test/Verifier/test_phis_precede_nonphis.mir deleted file mode 100644 index fa69b40fddf..00000000000 --- a/llvm/test/Verifier/test_phis_precede_nonphis.mir +++ /dev/null @@ -1,84 +0,0 @@ -# RUN: not llc -run-pass=machineverifier %s -o - 2>&1 | FileCheck %s -# REQUIRES: aarch64-registered-target - ---- | - target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" - target triple = "aarch64--" - define void @valid(i8* %addr) { - entry: - br i1 0, label %if, label %else - if: - br label %exit - else: - br label %exit - exit: - ret void - } - - define void @broken(i8* %addr) { - entry: - br i1 0, label %if, label %exit - if: - br label %exit - exit: - ret void - } -... - ---- -name: valid -tracksRegLiveness: true -body: | - bb.0.entry: - liveins: $w1 - successors: %bb.1(0x40000000), %bb.2(0x40000000); %bb.1(50.00%), %bb.2(50.00%) - %1:_(s32) = COPY $w1 - %2:_(s32) = G_CONSTANT i32 1 - %3:_(s1) = G_ICMP intpred(ne), %1:_(s32), %2:_ - G_BRCOND %3:_(s1), %bb.1 - G_BR %bb.2.else - bb.1.if: - successors: %bb.3(0x80000000) - %4:_(s32) = G_CONSTANT i32 1 - %5:_(s8) = G_TRUNC %4 - G_BR %bb.3.exit - bb.2.else: - successors: %bb.3(0x80000000) - %6:_(s32) = G_CONSTANT i32 1 - %7:_(s8) = G_TRUNC %6 - G_BR %bb.3.exit - bb.3.exit: - %8:_(s8) = G_PHI %5:_(s8), %bb.1, %7:_(s8), %bb.2 - %9:_(s32) = G_ZEXT %8 - $w1 = COPY %9 -... - ---- -name: broken -tracksRegLiveness: true -body: | - bb.0.entry: - liveins: $w1 - successors: %bb.1(0x40000000), %bb.2(0x40000000); %bb.1(50.00%), %bb.2(50.00%) - %1:_(s32) = COPY $w1 - %2:_(s32) = G_CONSTANT i32 1 - %3:_(s1) = G_ICMP intpred(ne), %1:_(s32), %2:_ - %4:_(s32) = G_CONSTANT i32 1 - %6:_(s8) = G_CONSTANT i8 2 - G_BRCOND %3:_(s1), %bb.1 - G_BR %bb.2.exit - bb.1.if: - successors: %bb.2(0x80000000) - G_BR %bb.2.exit - bb.2.exit: - %5:_(s8) = G_TRUNC %4 - %8:_(s8) = G_PHI %5:_(s8), %bb.0, %6:_(s8), %bb.1 - %9:_(s32) = G_ZEXT %8 - $w1 = COPY %9 -... -# CHECK-NOT: Bad machine code -# CHECK-LABEL: Bad machine code: Found PHI instruction after non-PHI -# CHECK-NEXT: - function: broken -# CHECK-NEXT: - basic block: %bb.2 exit -# CHECK-NEXT: - instruction: %6:_(s8) = G_PHI %5:_(s8), %bb.0, %4:_(s8), %bb.1 -# CHECK-NOT: Bad machine code |