[llvm] r354138 - Try to organize MachineVerifier tests
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 15 07:24:32 PST 2019
Author: arsenm
Date: Fri Feb 15 07:24:31 2019
New Revision: 354138
URL: http://llvm.org/viewvc/llvm-project?rev=354138&view=rev
Log:
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.
Added:
llvm/trunk/test/MachineVerifier/
llvm/trunk/test/MachineVerifier/test_copy.mir
- copied, changed from r354131, llvm/trunk/test/Verifier/test_copy.mir
llvm/trunk/test/MachineVerifier/test_copy_mismatch_types.mir
- copied, changed from r354131, llvm/trunk/test/Verifier/test_copy_mismatch_types.mir
llvm/trunk/test/MachineVerifier/test_g_add.mir
- copied, changed from r354131, llvm/trunk/test/Verifier/test_g_add.mir
llvm/trunk/test/MachineVerifier/test_g_addrspacecast.mir
- copied, changed from r354131, llvm/trunk/test/Verifier/test_g_addrspacecast.mir
llvm/trunk/test/MachineVerifier/test_g_bitcast.mir
- copied, changed from r354131, llvm/trunk/test/Verifier/test_g_bitcast.mir
llvm/trunk/test/MachineVerifier/test_g_build_vector.mir
- copied, changed from r354131, llvm/trunk/test/Verifier/gisel-g_build_vector.mir
llvm/trunk/test/MachineVerifier/test_g_build_vector_trunc.mir
- copied, changed from r354131, llvm/trunk/test/Verifier/gisel-g_build_vector_trunc.mir
llvm/trunk/test/MachineVerifier/test_g_concat_vectors.mir
- copied, changed from r354131, llvm/trunk/test/Verifier/gisel-g_concat_vector.mir
llvm/trunk/test/MachineVerifier/test_g_constant.mir
- copied, changed from r354131, llvm/trunk/test/Verifier/test_g_constant.mir
llvm/trunk/test/MachineVerifier/test_g_extract.mir
- copied, changed from r354131, llvm/trunk/test/Verifier/test_g_extract.mir
llvm/trunk/test/MachineVerifier/test_g_fcmp.mir
- copied, changed from r354131, llvm/trunk/test/Verifier/test_g_fcmp.mir
llvm/trunk/test/MachineVerifier/test_g_fconstant.mir
- copied, changed from r354131, llvm/trunk/test/Verifier/test_g_fconstant.mir
llvm/trunk/test/MachineVerifier/test_g_gep.mir
- copied, changed from r354131, llvm/trunk/test/Verifier/test_g_gep.mir
llvm/trunk/test/MachineVerifier/test_g_icmp.mir
- copied, changed from r354131, llvm/trunk/test/Verifier/test_g_icmp.mir
llvm/trunk/test/MachineVerifier/test_g_inttoptr.mir
- copied, changed from r354131, llvm/trunk/test/Verifier/test_g_inttoptr.mir
llvm/trunk/test/MachineVerifier/test_g_load.mir
- copied, changed from r354131, llvm/trunk/test/Verifier/test_g_load.mir
llvm/trunk/test/MachineVerifier/test_g_phi.mir
- copied, changed from r354131, llvm/trunk/test/Verifier/test_g_phi.mir
llvm/trunk/test/MachineVerifier/test_g_ptrtoint.mir
- copied, changed from r354131, llvm/trunk/test/Verifier/test_g_ptrtoint.mir
llvm/trunk/test/MachineVerifier/test_g_select.mir
- copied, changed from r354131, llvm/trunk/test/Verifier/test_g_select.mir
llvm/trunk/test/MachineVerifier/test_g_sextload.mir
- copied, changed from r354131, llvm/trunk/test/Verifier/test_g_sextload.mir
llvm/trunk/test/MachineVerifier/test_g_store.mir
- copied, changed from r354131, llvm/trunk/test/Verifier/test_g_store.mir
llvm/trunk/test/MachineVerifier/test_g_trunc.mir
- copied, changed from r354131, llvm/trunk/test/Verifier/test_g_trunc.mir
llvm/trunk/test/MachineVerifier/test_g_zextload.mir
- copied, changed from r354131, llvm/trunk/test/Verifier/test_g_zextload.mir
llvm/trunk/test/MachineVerifier/test_phis_precede_nonphis.mir
- copied, changed from r354131, llvm/trunk/test/Verifier/test_phis_precede_nonphis.mir
llvm/trunk/test/MachineVerifier/verifier-generic-extend-truncate.mir
- copied, changed from r354131, llvm/trunk/test/CodeGen/X86/verifier-generic-extend-truncate.mir
llvm/trunk/test/MachineVerifier/verifier-generic-types-1.mir
- copied, changed from r354131, llvm/trunk/test/CodeGen/X86/verifier-generic-types-1.mir
llvm/trunk/test/MachineVerifier/verifier-generic-types-2.mir
- copied, changed from r354131, llvm/trunk/test/CodeGen/X86/verifier-generic-types-2.mir
llvm/trunk/test/MachineVerifier/verifier-implicit-virtreg-invalid-physreg-liveness.mir
- copied, changed from r354131, llvm/trunk/test/CodeGen/AMDGPU/verifier-implicit-virtreg-invalid-physreg-liveness.mir
llvm/trunk/test/MachineVerifier/verifier-phi-fail0.mir
- copied, changed from r354131, llvm/trunk/test/CodeGen/X86/verifier-phi-fail0.mir
llvm/trunk/test/MachineVerifier/verifier-phi.mir
- copied, changed from r354131, llvm/trunk/test/CodeGen/X86/verifier-phi.mir
llvm/trunk/test/MachineVerifier/verifier-pseudo-terminators.mir
- copied, changed from r354131, llvm/trunk/test/CodeGen/AMDGPU/verifier-pseudo-terminators.mir
llvm/trunk/test/MachineVerifier/verify-regbankselected.mir
- copied, changed from r354131, llvm/trunk/test/CodeGen/AArch64/GlobalISel/verify-regbankselected.mir
llvm/trunk/test/MachineVerifier/verify-selected.mir
- copied, changed from r354131, llvm/trunk/test/CodeGen/AArch64/GlobalISel/verify-selected.mir
Removed:
llvm/trunk/test/CodeGen/AArch64/GlobalISel/verify-regbankselected.mir
llvm/trunk/test/CodeGen/AArch64/GlobalISel/verify-selected.mir
llvm/trunk/test/CodeGen/AMDGPU/verifier-implicit-virtreg-invalid-physreg-liveness.mir
llvm/trunk/test/CodeGen/AMDGPU/verifier-pseudo-terminators.mir
llvm/trunk/test/CodeGen/X86/verifier-generic-extend-truncate.mir
llvm/trunk/test/CodeGen/X86/verifier-generic-types-1.mir
llvm/trunk/test/CodeGen/X86/verifier-generic-types-2.mir
llvm/trunk/test/CodeGen/X86/verifier-phi-fail0.mir
llvm/trunk/test/CodeGen/X86/verifier-phi.mir
llvm/trunk/test/Verifier/gisel-g_build_vector.mir
llvm/trunk/test/Verifier/gisel-g_build_vector_trunc.mir
llvm/trunk/test/Verifier/gisel-g_concat_vector.mir
llvm/trunk/test/Verifier/test_copy.mir
llvm/trunk/test/Verifier/test_copy_mismatch_types.mir
llvm/trunk/test/Verifier/test_g_add.mir
llvm/trunk/test/Verifier/test_g_addrspacecast.mir
llvm/trunk/test/Verifier/test_g_bitcast.mir
llvm/trunk/test/Verifier/test_g_constant.mir
llvm/trunk/test/Verifier/test_g_extract.mir
llvm/trunk/test/Verifier/test_g_fcmp.mir
llvm/trunk/test/Verifier/test_g_fconstant.mir
llvm/trunk/test/Verifier/test_g_gep.mir
llvm/trunk/test/Verifier/test_g_icmp.mir
llvm/trunk/test/Verifier/test_g_inttoptr.mir
llvm/trunk/test/Verifier/test_g_load.mir
llvm/trunk/test/Verifier/test_g_phi.mir
llvm/trunk/test/Verifier/test_g_ptrtoint.mir
llvm/trunk/test/Verifier/test_g_select.mir
llvm/trunk/test/Verifier/test_g_sextload.mir
llvm/trunk/test/Verifier/test_g_store.mir
llvm/trunk/test/Verifier/test_g_trunc.mir
llvm/trunk/test/Verifier/test_g_zextload.mir
llvm/trunk/test/Verifier/test_phis_precede_nonphis.mir
Removed: llvm/trunk/test/CodeGen/AArch64/GlobalISel/verify-regbankselected.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/GlobalISel/verify-regbankselected.mir?rev=354137&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/GlobalISel/verify-regbankselected.mir (original)
+++ llvm/trunk/test/CodeGen/AArch64/GlobalISel/verify-regbankselected.mir (removed)
@@ -1,22 +0,0 @@
-# RUN: not llc -verify-machineinstrs -run-pass none -o /dev/null %s 2>&1 | FileCheck %s
-
---- |
-
- target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
- target triple = "aarch64--"
- define void @test() { ret void }
-
-...
----
-# CHECK: *** Bad machine code: Generic virtual register must have a bank in a RegBankSelected function ***
-# CHECK: instruction: %0:_(s64) = COPY
-# CHECK: operand 0: %0
-name: test
-regBankSelected: true
-registers:
- - { id: 0, class: _ }
-body: |
- bb.0:
- liveins: $x0
- %0(s64) = COPY $x0
-...
Removed: llvm/trunk/test/CodeGen/AArch64/GlobalISel/verify-selected.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/GlobalISel/verify-selected.mir?rev=354137&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/GlobalISel/verify-selected.mir (original)
+++ llvm/trunk/test/CodeGen/AArch64/GlobalISel/verify-selected.mir (removed)
@@ -1,32 +0,0 @@
-# RUN: not llc -verify-machineinstrs -run-pass none -o /dev/null %s 2>&1 | FileCheck %s
-
---- |
-
- target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
- target triple = "aarch64--"
- define void @test() { ret void }
-
-...
-
----
-name: test
-regBankSelected: true
-selected: true
-registers:
- - { id: 0, class: gpr64 }
- - { id: 1, class: gpr64 }
- - { id: 2, class: gpr }
-body: |
- bb.0:
- liveins: $x0
- %0 = COPY $x0
-
- ; CHECK: *** Bad machine code: Unexpected generic instruction in a Selected function ***
- ; CHECK: instruction: %1:gpr64 = G_ADD
- %1 = G_ADD %0, %0
-
- ; CHECK: *** Bad machine code: Generic virtual register invalid in a Selected function ***
- ; CHECK: instruction: %2:gpr(s64) = COPY
- ; CHECK: operand 0: %2
- %2(s64) = COPY $x0
-...
Removed: llvm/trunk/test/CodeGen/AMDGPU/verifier-implicit-virtreg-invalid-physreg-liveness.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AMDGPU/verifier-implicit-virtreg-invalid-physreg-liveness.mir?rev=354137&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/AMDGPU/verifier-implicit-virtreg-invalid-physreg-liveness.mir (original)
+++ llvm/trunk/test/CodeGen/AMDGPU/verifier-implicit-virtreg-invalid-physreg-liveness.mir (removed)
@@ -1,21 +0,0 @@
-# RUN: not llc -mtriple=amdgcn-amd-amdhsa -verify-machineinstrs -o /dev/null %s 2>&1 | FileCheck -check-prefix=ERROR %s
-
-# When the verifier was detecting the invalid liveness for vcc, it would assert when trying to iterate the subregisters of the implicit virtual register use.
-
-
-# ERROR: *** Bad machine code: Using an undefined physical register ***
-# ERROR: instruction: S_ENDPGM implicit %0:vgpr_32, implicit $vcc
-# ERROR: operand 1: implicit $vcc
-
-...
-
-name: invalid_implicit_physreg_use_with_implicit_virtreg
-tracksRegLiveness: true
-
-body: |
- bb.0:
- %0:vgpr_32 = IMPLICIT_DEF
- S_ENDPGM implicit %0, implicit $vcc
-
-...
-
Removed: llvm/trunk/test/CodeGen/AMDGPU/verifier-pseudo-terminators.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AMDGPU/verifier-pseudo-terminators.mir?rev=354137&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/AMDGPU/verifier-pseudo-terminators.mir (original)
+++ llvm/trunk/test/CodeGen/AMDGPU/verifier-pseudo-terminators.mir (removed)
@@ -1,23 +0,0 @@
-# RUN: not llc -march=amdgcn -run-pass=verify %s 2>&1 | FileCheck %s
-# Make sure that mismatched successors are caught when a _term
-# instruction is used
-
-# CHECK: *** Bad machine code: MBB exits via unconditional branch but the CFG successor doesn't match the actual successor! ***
-
----
-name: verifier_pseudo_terminators
-body: |
- bb.0:
- successors: %bb.1
-
- %0:sreg_64 = S_XOR_B64_term undef %1:sreg_64, undef %2:sreg_64, implicit-def $scc
- $exec = S_MOV_B64_term %0
- S_BRANCH %bb.2
-
- bb.1:
- S_SETPC_B64_return undef $sgpr30_sgpr31
-
- bb.2:
- S_SETPC_B64_return undef $sgpr30_sgpr31
-
-...
Removed: llvm/trunk/test/CodeGen/X86/verifier-generic-extend-truncate.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/verifier-generic-extend-truncate.mir?rev=354137&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/X86/verifier-generic-extend-truncate.mir (original)
+++ llvm/trunk/test/CodeGen/X86/verifier-generic-extend-truncate.mir (removed)
@@ -1,87 +0,0 @@
-# RUN: not llc -o - %s -mtriple=x86_64-- -verify-machineinstrs -run-pass=none 2>&1 | FileCheck %s
-
-# CHECK: Bad machine code: Generic extend/truncate can not operate on pointers
-# CHECK-NEXT: - function: bad_generic_extends_and_truncates
-# CHECK-NEXT: - basic block: %bb.1
-# CHECK-NEXT: - instruction: %t_p:_(s32) = G_TRUNC %p:_(p0)
-
-# CHECK: Bad machine code: operand types must be all-vector or all-scalar
-# CHECK-NEXT: - function: bad_generic_extends_and_truncates
-# CHECK-NEXT: - basic block: %bb.2
-# CHECK-NEXT: - instruction: %se_i32:_(<2 x s64>) = G_SEXT %i32:_(s32)
-
-# CHECK: Bad machine code: operand types must preserve number of vector elements
-# CHECK-NEXT: - function: bad_generic_extends_and_truncates
-# CHECK-NEXT: - basic block: %bb.3
-# CHECK-NEXT: - instruction: %ze_v2i32:_(<4 x s64>) = G_ZEXT %v2i32:_(<2 x s32>)
-
-# CHECK: Bad machine code: Generic extend has destination type no larger than source
-# CHECK-NEXT: - function: bad_generic_extends_and_truncates
-# CHECK-NEXT: - basic block: %bb.4
-# CHECK-NEXT: - instruction: %ae_i32:_(s32) = G_ANYEXT %i32:_(s32)
-
-# CHECK: Bad machine code: Generic truncate has destination type no smaller than source ***
-# CHECK-NEXT: - function: bad_generic_extends_and_truncates
-# CHECK-NEXT: - basic block: %bb.5
-# CHECK-NEXT: - instruction: %ft_f32:_(s64) = G_FPTRUNC %f32:_(s32)
-
-
-# CHECK: Bad machine code: Generic extend/truncate can not operate on pointers
-# CHECK-NEXT: - function: bad_generic_extends_and_truncates
-# CHECK-NEXT: - basic block: %bb.6
-# CHECK-NEXT: - instruction: %ze_v2i128:_(<4 x p0>) = G_ZEXT %v2i128:_(<2 x s128>)
-
-# CHECK: Bad machine code: operand types must preserve number of vector elements
-# CHECK-NEXT: - function: bad_generic_extends_and_truncates
-# CHECK-NEXT: - basic block: %bb.6
-# CHECK-NEXT: - instruction: %ze_v2i128:_(<4 x p0>) = G_ZEXT %v2i128:_(<2 x s128>)
-
-# CHECK: Bad machine code: Generic extend has destination type no larger than source
-# CHECK-NEXT: - function: bad_generic_extends_and_truncates
-# CHECK-NEXT: - basic block: %bb.6
-# CHECK-NEXT: - instruction: %ze_v2i128:_(<4 x p0>) = G_ZEXT %v2i128:_(<2 x s128>)
-
-
-# CHECK: Bad machine code: Generic extend/truncate can not operate on pointers
-# CHECK-NEXT: - function: bad_generic_extends_and_truncates
-# CHECK-NEXT: - basic block: %bb.6
-# CHECK-NEXT: - instruction: %fe_v2f128:_(p0) = G_FPEXT %v2f128:_(<2 x s128>)
-
-# CHECK: Bad machine code: operand types must be all-vector or all-scalar
-# CHECK-NEXT: - function: bad_generic_extends_and_truncates
-# CHECK-NEXT: - basic block: %bb.6
-# CHECK-NEXT: - instruction: %fe_v2f128:_(p0) = G_FPEXT %v2f128:_(<2 x s128>)
-
----
-name: bad_generic_extends_and_truncates
-tracksRegLiveness: true
-body: |
- bb.0:
- liveins: $rdi, $esi, $rdx, $xmm0, $ymm1, $ymm2
-
- %p:_(p0) = COPY $rdi
- %i32:_(s32) = COPY $esi
- %v2i32:_(<2 x s32>) = COPY $rdx
- %f32:_(s32) = COPY $xmm0
- %v2i128:_(<2 x s128>) = COPY $ymm1
- %v2f128:_(<2 x s128>) = COPY $ymm2
-
- bb.1:
- %t_p:_(s32) = G_TRUNC %p
-
- bb.2:
- %se_i32:_(<2 x s64>) = G_SEXT %i32
-
- bb.3:
- %ze_v2i32:_(<4 x s64>) = G_ZEXT %v2i32
-
- bb.4:
- %ae_i32:_(s32) = G_ANYEXT %i32
-
- bb.5:
- %ft_f32:_(s64) = G_FPTRUNC %f32
-
- bb.6:
- %ze_v2i128:_(<4 x p0>) = G_ZEXT %v2i128
- %fe_v2f128:_(p0) = G_FPEXT %v2f128
-...
Removed: llvm/trunk/test/CodeGen/X86/verifier-generic-types-1.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/verifier-generic-types-1.mir?rev=354137&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/X86/verifier-generic-types-1.mir (original)
+++ llvm/trunk/test/CodeGen/X86/verifier-generic-types-1.mir (removed)
@@ -1,24 +0,0 @@
-# RUN: not llc -o - %s -mtriple=x86_64-- -verify-machineinstrs -run-pass=none 2>&1 | FileCheck %s
-
-# CHECK-NOT: Type mismatch
-
-# CHECK: Bad machine code: Generic instruction is missing a virtual register type
-# CHECK-NEXT: - function: first_type_of_a_type_index_missing_and_no_mismatches
-# CHECK-NEXT: - basic block: %bb.0
-# CHECK-NEXT: - instruction: %2:gr64 = G_ADD %0:_(s64), %1:_
-# CHECK-NEXT: - operand 0: %2:gr64
-
-# CHECK-NOT: Type mismatch
-
----
-name: first_type_of_a_type_index_missing_and_no_mismatches
-tracksRegLiveness: true
-body: |
- bb.0:
- liveins: $rdi, $rsi
-
- %0:_(s64) = COPY $rdi
- %1:_(s64) = COPY $rsi
- %2:gr64 = G_ADD %0, %1
- $rax = COPY %2
-...
Removed: llvm/trunk/test/CodeGen/X86/verifier-generic-types-2.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/verifier-generic-types-2.mir?rev=354137&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/X86/verifier-generic-types-2.mir (original)
+++ llvm/trunk/test/CodeGen/X86/verifier-generic-types-2.mir (removed)
@@ -1,26 +0,0 @@
-# RUN: not llc -o - %s -mtriple=x86_64-- -verify-machineinstrs -run-pass=none 2>&1 | FileCheck %s
-
-# CHECK: Bad machine code: Generic instruction is missing a virtual register type
-# CHECK-NEXT: - function: first_type_of_a_type_index_missing_and_a_mismatch
-# CHECK-NEXT: - basic block: %bb.0
-# CHECK-NEXT: - instruction: %2:gr64 = G_ADD %0:_(s64), %1:_
-# CHECK-NEXT: - operand 0: %2:gr64
-
-# CHECK: Bad machine code: Type mismatch in generic instruction
-# CHECK-NEXT: - function: first_type_of_a_type_index_missing_and_a_mismatch
-# CHECK-NEXT: - basic block: %bb.0
-# CHECK-NEXT: - instruction: %2:gr64 = G_ADD %0:_(s64), %1:_
-# CHECK-NEXT: - operand 2: %1:_(s32)
-
----
-name: first_type_of_a_type_index_missing_and_a_mismatch
-tracksRegLiveness: true
-body: |
- bb.0:
- liveins: $rdi, $esi
-
- %0:_(s64) = COPY $rdi
- %1:_(s32)= COPY $esi
- %2:gr64 = G_ADD %0, %1
- $rax = COPY %2
-...
Removed: llvm/trunk/test/CodeGen/X86/verifier-phi-fail0.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/verifier-phi-fail0.mir?rev=354137&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/X86/verifier-phi-fail0.mir (original)
+++ llvm/trunk/test/CodeGen/X86/verifier-phi-fail0.mir (removed)
@@ -1,30 +0,0 @@
-# RUN: not llc -o - %s -mtriple=x86_64-- -verify-machineinstrs -run-pass=none 2>&1 | FileCheck %s
----
-# CHECK: Bad machine code: PHI operand is not live-out from predecessor
-# CHECK: - function: func0
-# CHECK: - basic block: %bb.3
-# CHECK: - instruction: %0:gr32 = PHI
-# CHECK: - operand 1: %1
-#
-# CHECK: Bad machine code: PHI operand is not live-out from predecessor
-# CHECK: - function: func0
-# CHECK: - basic block: %bb.3
-# CHECK: - instruction: %0:gr32 = PHI
-# CHECK: - operand 3: %0
-name: func0
-tracksRegLiveness: true
-body: |
- bb.0:
- JE_1 %bb.1, implicit undef $eflags
- JMP_1 %bb.2
-
- bb.1:
- %0:gr32 = IMPLICIT_DEF
- JMP_1 %bb.3
-
- bb.2:
- %1:gr32 = IMPLICIT_DEF
-
- bb.3:
- %0:gr32 = PHI %1, %bb.1, %0, %bb.2
-...
Removed: llvm/trunk/test/CodeGen/X86/verifier-phi.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/verifier-phi.mir?rev=354137&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/X86/verifier-phi.mir (original)
+++ llvm/trunk/test/CodeGen/X86/verifier-phi.mir (removed)
@@ -1,34 +0,0 @@
-# RUN: llc -o - %s -mtriple=x86_64-- -verify-machineinstrs -run-pass=none | FileCheck %s
-# This should cleanly pass the machine verifier
----
-# CHECK-LABEL: name: func0
-# CHECK: %0:gr32 = PHI undef %1:gr32, %bb.0, undef %1:gr32, %bb.1
-name: func0
-tracksRegLiveness: true
-body: |
- bb.0:
- JE_1 %bb.1, implicit undef $eflags
- JMP_1 %bb.2
-
- bb.1:
-
- bb.2:
- %0 : gr32 = PHI undef %1 : gr32, %bb.0, undef %1 : gr32, %bb.1
-...
----
-# CHECK-LABEL: name: func1
-# CHECK: %2:gr32 = PHI %0, %bb.0, %1, %bb.1
-name: func1
-tracksRegLiveness: true
-body: |
- bb.0:
- %0 : gr32 = IMPLICIT_DEF
- JE_1 %bb.1, implicit undef $eflags
- JMP_1 %bb.2
-
- bb.1:
- %1 : gr32 = IMPLICIT_DEF
-
- bb.2:
- %2 : gr32 = PHI %0, %bb.0, %1, %bb.1
-...
Copied: llvm/trunk/test/MachineVerifier/test_copy.mir (from r354131, llvm/trunk/test/Verifier/test_copy.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MachineVerifier/test_copy.mir?p2=llvm/trunk/test/MachineVerifier/test_copy.mir&p1=llvm/trunk/test/Verifier/test_copy.mir&r1=354131&r2=354138&rev=354138&view=diff
==============================================================================
(empty)
Copied: llvm/trunk/test/MachineVerifier/test_copy_mismatch_types.mir (from r354131, llvm/trunk/test/Verifier/test_copy_mismatch_types.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MachineVerifier/test_copy_mismatch_types.mir?p2=llvm/trunk/test/MachineVerifier/test_copy_mismatch_types.mir&p1=llvm/trunk/test/Verifier/test_copy_mismatch_types.mir&r1=354131&r2=354138&rev=354138&view=diff
==============================================================================
(empty)
Copied: llvm/trunk/test/MachineVerifier/test_g_add.mir (from r354131, llvm/trunk/test/Verifier/test_g_add.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MachineVerifier/test_g_add.mir?p2=llvm/trunk/test/MachineVerifier/test_g_add.mir&p1=llvm/trunk/test/Verifier/test_g_add.mir&r1=354131&r2=354138&rev=354138&view=diff
==============================================================================
(empty)
Copied: llvm/trunk/test/MachineVerifier/test_g_addrspacecast.mir (from r354131, llvm/trunk/test/Verifier/test_g_addrspacecast.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MachineVerifier/test_g_addrspacecast.mir?p2=llvm/trunk/test/MachineVerifier/test_g_addrspacecast.mir&p1=llvm/trunk/test/Verifier/test_g_addrspacecast.mir&r1=354131&r2=354138&rev=354138&view=diff
==============================================================================
(empty)
Copied: llvm/trunk/test/MachineVerifier/test_g_bitcast.mir (from r354131, llvm/trunk/test/Verifier/test_g_bitcast.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MachineVerifier/test_g_bitcast.mir?p2=llvm/trunk/test/MachineVerifier/test_g_bitcast.mir&p1=llvm/trunk/test/Verifier/test_g_bitcast.mir&r1=354131&r2=354138&rev=354138&view=diff
==============================================================================
(empty)
Copied: llvm/trunk/test/MachineVerifier/test_g_build_vector.mir (from r354131, llvm/trunk/test/Verifier/gisel-g_build_vector.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MachineVerifier/test_g_build_vector.mir?p2=llvm/trunk/test/MachineVerifier/test_g_build_vector.mir&p1=llvm/trunk/test/Verifier/gisel-g_build_vector.mir&r1=354131&r2=354138&rev=354138&view=diff
==============================================================================
--- llvm/trunk/test/Verifier/gisel-g_build_vector.mir (original)
+++ llvm/trunk/test/MachineVerifier/test_g_build_vector.mir Fri Feb 15 07:24:31 2019
@@ -1,9 +1,9 @@
#RUN: not llc -o - -global-isel -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s
-# REQUIRES: global-isel, aarch64-registered-target
+# REQUIRES: 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
}
@@ -15,9 +15,9 @@ legalized: true
regBankSelected: false
selected: false
tracksRegLiveness: true
-registers:
+registers:
- { id: 0, class: _, preferred-register: '' }
-liveins:
+liveins:
body: |
bb.0:
; CHECK: Bad machine code: G_BUILD_VECTOR src operands total size don't match dest size
Copied: llvm/trunk/test/MachineVerifier/test_g_build_vector_trunc.mir (from r354131, llvm/trunk/test/Verifier/gisel-g_build_vector_trunc.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MachineVerifier/test_g_build_vector_trunc.mir?p2=llvm/trunk/test/MachineVerifier/test_g_build_vector_trunc.mir&p1=llvm/trunk/test/Verifier/gisel-g_build_vector_trunc.mir&r1=354131&r2=354138&rev=354138&view=diff
==============================================================================
--- llvm/trunk/test/Verifier/gisel-g_build_vector_trunc.mir (original)
+++ llvm/trunk/test/MachineVerifier/test_g_build_vector_trunc.mir Fri Feb 15 07:24:31 2019
@@ -1,9 +1,9 @@
#RUN: not llc -o - -global-isel -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s
-# REQUIRES: global-isel, aarch64-registered-target
+# REQUIRES: 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
}
@@ -15,9 +15,9 @@ legalized: true
regBankSelected: false
selected: false
tracksRegLiveness: true
-registers:
+registers:
- { id: 0, class: _, preferred-register: '' }
-liveins:
+liveins:
body: |
bb.0:
; CHECK: Bad machine code: G_BUILD_VECTOR_TRUNC source operand types are not larger than dest elt type
Copied: llvm/trunk/test/MachineVerifier/test_g_concat_vectors.mir (from r354131, llvm/trunk/test/Verifier/gisel-g_concat_vector.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MachineVerifier/test_g_concat_vectors.mir?p2=llvm/trunk/test/MachineVerifier/test_g_concat_vectors.mir&p1=llvm/trunk/test/Verifier/gisel-g_concat_vector.mir&r1=354131&r2=354138&rev=354138&view=diff
==============================================================================
(empty)
Copied: llvm/trunk/test/MachineVerifier/test_g_constant.mir (from r354131, llvm/trunk/test/Verifier/test_g_constant.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MachineVerifier/test_g_constant.mir?p2=llvm/trunk/test/MachineVerifier/test_g_constant.mir&p1=llvm/trunk/test/Verifier/test_g_constant.mir&r1=354131&r2=354138&rev=354138&view=diff
==============================================================================
(empty)
Copied: llvm/trunk/test/MachineVerifier/test_g_extract.mir (from r354131, llvm/trunk/test/Verifier/test_g_extract.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MachineVerifier/test_g_extract.mir?p2=llvm/trunk/test/MachineVerifier/test_g_extract.mir&p1=llvm/trunk/test/Verifier/test_g_extract.mir&r1=354131&r2=354138&rev=354138&view=diff
==============================================================================
(empty)
Copied: llvm/trunk/test/MachineVerifier/test_g_fcmp.mir (from r354131, llvm/trunk/test/Verifier/test_g_fcmp.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MachineVerifier/test_g_fcmp.mir?p2=llvm/trunk/test/MachineVerifier/test_g_fcmp.mir&p1=llvm/trunk/test/Verifier/test_g_fcmp.mir&r1=354131&r2=354138&rev=354138&view=diff
==============================================================================
(empty)
Copied: llvm/trunk/test/MachineVerifier/test_g_fconstant.mir (from r354131, llvm/trunk/test/Verifier/test_g_fconstant.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MachineVerifier/test_g_fconstant.mir?p2=llvm/trunk/test/MachineVerifier/test_g_fconstant.mir&p1=llvm/trunk/test/Verifier/test_g_fconstant.mir&r1=354131&r2=354138&rev=354138&view=diff
==============================================================================
(empty)
Copied: llvm/trunk/test/MachineVerifier/test_g_gep.mir (from r354131, llvm/trunk/test/Verifier/test_g_gep.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MachineVerifier/test_g_gep.mir?p2=llvm/trunk/test/MachineVerifier/test_g_gep.mir&p1=llvm/trunk/test/Verifier/test_g_gep.mir&r1=354131&r2=354138&rev=354138&view=diff
==============================================================================
(empty)
Copied: llvm/trunk/test/MachineVerifier/test_g_icmp.mir (from r354131, llvm/trunk/test/Verifier/test_g_icmp.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MachineVerifier/test_g_icmp.mir?p2=llvm/trunk/test/MachineVerifier/test_g_icmp.mir&p1=llvm/trunk/test/Verifier/test_g_icmp.mir&r1=354131&r2=354138&rev=354138&view=diff
==============================================================================
(empty)
Copied: llvm/trunk/test/MachineVerifier/test_g_inttoptr.mir (from r354131, llvm/trunk/test/Verifier/test_g_inttoptr.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MachineVerifier/test_g_inttoptr.mir?p2=llvm/trunk/test/MachineVerifier/test_g_inttoptr.mir&p1=llvm/trunk/test/Verifier/test_g_inttoptr.mir&r1=354131&r2=354138&rev=354138&view=diff
==============================================================================
(empty)
Copied: llvm/trunk/test/MachineVerifier/test_g_load.mir (from r354131, llvm/trunk/test/Verifier/test_g_load.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MachineVerifier/test_g_load.mir?p2=llvm/trunk/test/MachineVerifier/test_g_load.mir&p1=llvm/trunk/test/Verifier/test_g_load.mir&r1=354131&r2=354138&rev=354138&view=diff
==============================================================================
(empty)
Copied: llvm/trunk/test/MachineVerifier/test_g_phi.mir (from r354131, llvm/trunk/test/Verifier/test_g_phi.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MachineVerifier/test_g_phi.mir?p2=llvm/trunk/test/MachineVerifier/test_g_phi.mir&p1=llvm/trunk/test/Verifier/test_g_phi.mir&r1=354131&r2=354138&rev=354138&view=diff
==============================================================================
(empty)
Copied: llvm/trunk/test/MachineVerifier/test_g_ptrtoint.mir (from r354131, llvm/trunk/test/Verifier/test_g_ptrtoint.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MachineVerifier/test_g_ptrtoint.mir?p2=llvm/trunk/test/MachineVerifier/test_g_ptrtoint.mir&p1=llvm/trunk/test/Verifier/test_g_ptrtoint.mir&r1=354131&r2=354138&rev=354138&view=diff
==============================================================================
(empty)
Copied: llvm/trunk/test/MachineVerifier/test_g_select.mir (from r354131, llvm/trunk/test/Verifier/test_g_select.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MachineVerifier/test_g_select.mir?p2=llvm/trunk/test/MachineVerifier/test_g_select.mir&p1=llvm/trunk/test/Verifier/test_g_select.mir&r1=354131&r2=354138&rev=354138&view=diff
==============================================================================
(empty)
Copied: llvm/trunk/test/MachineVerifier/test_g_sextload.mir (from r354131, llvm/trunk/test/Verifier/test_g_sextload.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MachineVerifier/test_g_sextload.mir?p2=llvm/trunk/test/MachineVerifier/test_g_sextload.mir&p1=llvm/trunk/test/Verifier/test_g_sextload.mir&r1=354131&r2=354138&rev=354138&view=diff
==============================================================================
(empty)
Copied: llvm/trunk/test/MachineVerifier/test_g_store.mir (from r354131, llvm/trunk/test/Verifier/test_g_store.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MachineVerifier/test_g_store.mir?p2=llvm/trunk/test/MachineVerifier/test_g_store.mir&p1=llvm/trunk/test/Verifier/test_g_store.mir&r1=354131&r2=354138&rev=354138&view=diff
==============================================================================
(empty)
Copied: llvm/trunk/test/MachineVerifier/test_g_trunc.mir (from r354131, llvm/trunk/test/Verifier/test_g_trunc.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MachineVerifier/test_g_trunc.mir?p2=llvm/trunk/test/MachineVerifier/test_g_trunc.mir&p1=llvm/trunk/test/Verifier/test_g_trunc.mir&r1=354131&r2=354138&rev=354138&view=diff
==============================================================================
(empty)
Copied: llvm/trunk/test/MachineVerifier/test_g_zextload.mir (from r354131, llvm/trunk/test/Verifier/test_g_zextload.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MachineVerifier/test_g_zextload.mir?p2=llvm/trunk/test/MachineVerifier/test_g_zextload.mir&p1=llvm/trunk/test/Verifier/test_g_zextload.mir&r1=354131&r2=354138&rev=354138&view=diff
==============================================================================
(empty)
Copied: llvm/trunk/test/MachineVerifier/test_phis_precede_nonphis.mir (from r354131, llvm/trunk/test/Verifier/test_phis_precede_nonphis.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MachineVerifier/test_phis_precede_nonphis.mir?p2=llvm/trunk/test/MachineVerifier/test_phis_precede_nonphis.mir&p1=llvm/trunk/test/Verifier/test_phis_precede_nonphis.mir&r1=354131&r2=354138&rev=354138&view=diff
==============================================================================
(empty)
Copied: llvm/trunk/test/MachineVerifier/verifier-generic-extend-truncate.mir (from r354131, llvm/trunk/test/CodeGen/X86/verifier-generic-extend-truncate.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MachineVerifier/verifier-generic-extend-truncate.mir?p2=llvm/trunk/test/MachineVerifier/verifier-generic-extend-truncate.mir&p1=llvm/trunk/test/CodeGen/X86/verifier-generic-extend-truncate.mir&r1=354131&r2=354138&rev=354138&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/verifier-generic-extend-truncate.mir (original)
+++ llvm/trunk/test/MachineVerifier/verifier-generic-extend-truncate.mir Fri Feb 15 07:24:31 2019
@@ -1,4 +1,5 @@
# RUN: not llc -o - %s -mtriple=x86_64-- -verify-machineinstrs -run-pass=none 2>&1 | FileCheck %s
+# REQUIRES: x86-registered-target
# CHECK: Bad machine code: Generic extend/truncate can not operate on pointers
# CHECK-NEXT: - function: bad_generic_extends_and_truncates
Copied: llvm/trunk/test/MachineVerifier/verifier-generic-types-1.mir (from r354131, llvm/trunk/test/CodeGen/X86/verifier-generic-types-1.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MachineVerifier/verifier-generic-types-1.mir?p2=llvm/trunk/test/MachineVerifier/verifier-generic-types-1.mir&p1=llvm/trunk/test/CodeGen/X86/verifier-generic-types-1.mir&r1=354131&r2=354138&rev=354138&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/verifier-generic-types-1.mir (original)
+++ llvm/trunk/test/MachineVerifier/verifier-generic-types-1.mir Fri Feb 15 07:24:31 2019
@@ -1,4 +1,5 @@
# RUN: not llc -o - %s -mtriple=x86_64-- -verify-machineinstrs -run-pass=none 2>&1 | FileCheck %s
+# REQUIRES: x86-registered-target
# CHECK-NOT: Type mismatch
Copied: llvm/trunk/test/MachineVerifier/verifier-generic-types-2.mir (from r354131, llvm/trunk/test/CodeGen/X86/verifier-generic-types-2.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MachineVerifier/verifier-generic-types-2.mir?p2=llvm/trunk/test/MachineVerifier/verifier-generic-types-2.mir&p1=llvm/trunk/test/CodeGen/X86/verifier-generic-types-2.mir&r1=354131&r2=354138&rev=354138&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/verifier-generic-types-2.mir (original)
+++ llvm/trunk/test/MachineVerifier/verifier-generic-types-2.mir Fri Feb 15 07:24:31 2019
@@ -1,4 +1,5 @@
# RUN: not llc -o - %s -mtriple=x86_64-- -verify-machineinstrs -run-pass=none 2>&1 | FileCheck %s
+# REQUIRES: x86-registered-target
# CHECK: Bad machine code: Generic instruction is missing a virtual register type
# CHECK-NEXT: - function: first_type_of_a_type_index_missing_and_a_mismatch
Copied: llvm/trunk/test/MachineVerifier/verifier-implicit-virtreg-invalid-physreg-liveness.mir (from r354131, llvm/trunk/test/CodeGen/AMDGPU/verifier-implicit-virtreg-invalid-physreg-liveness.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MachineVerifier/verifier-implicit-virtreg-invalid-physreg-liveness.mir?p2=llvm/trunk/test/MachineVerifier/verifier-implicit-virtreg-invalid-physreg-liveness.mir&p1=llvm/trunk/test/CodeGen/AMDGPU/verifier-implicit-virtreg-invalid-physreg-liveness.mir&r1=354131&r2=354138&rev=354138&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AMDGPU/verifier-implicit-virtreg-invalid-physreg-liveness.mir (original)
+++ llvm/trunk/test/MachineVerifier/verifier-implicit-virtreg-invalid-physreg-liveness.mir Fri Feb 15 07:24:31 2019
@@ -1,4 +1,5 @@
# RUN: not llc -mtriple=amdgcn-amd-amdhsa -verify-machineinstrs -o /dev/null %s 2>&1 | FileCheck -check-prefix=ERROR %s
+# REQUIRES: amdgpu-registered-target
# When the verifier was detecting the invalid liveness for vcc, it would assert when trying to iterate the subregisters of the implicit virtual register use.
Copied: llvm/trunk/test/MachineVerifier/verifier-phi-fail0.mir (from r354131, llvm/trunk/test/CodeGen/X86/verifier-phi-fail0.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MachineVerifier/verifier-phi-fail0.mir?p2=llvm/trunk/test/MachineVerifier/verifier-phi-fail0.mir&p1=llvm/trunk/test/CodeGen/X86/verifier-phi-fail0.mir&r1=354131&r2=354138&rev=354138&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/verifier-phi-fail0.mir (original)
+++ llvm/trunk/test/MachineVerifier/verifier-phi-fail0.mir Fri Feb 15 07:24:31 2019
@@ -1,4 +1,6 @@
# RUN: not llc -o - %s -mtriple=x86_64-- -verify-machineinstrs -run-pass=none 2>&1 | FileCheck %s
+# REQUIRES: x86-registered-target
+
---
# CHECK: Bad machine code: PHI operand is not live-out from predecessor
# CHECK: - function: func0
Copied: llvm/trunk/test/MachineVerifier/verifier-phi.mir (from r354131, llvm/trunk/test/CodeGen/X86/verifier-phi.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MachineVerifier/verifier-phi.mir?p2=llvm/trunk/test/MachineVerifier/verifier-phi.mir&p1=llvm/trunk/test/CodeGen/X86/verifier-phi.mir&r1=354131&r2=354138&rev=354138&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/verifier-phi.mir (original)
+++ llvm/trunk/test/MachineVerifier/verifier-phi.mir Fri Feb 15 07:24:31 2019
@@ -1,4 +1,6 @@
# RUN: llc -o - %s -mtriple=x86_64-- -verify-machineinstrs -run-pass=none | FileCheck %s
+# REQUIRES: x86-registered-target
+
# This should cleanly pass the machine verifier
---
# CHECK-LABEL: name: func0
Copied: llvm/trunk/test/MachineVerifier/verifier-pseudo-terminators.mir (from r354131, llvm/trunk/test/CodeGen/AMDGPU/verifier-pseudo-terminators.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MachineVerifier/verifier-pseudo-terminators.mir?p2=llvm/trunk/test/MachineVerifier/verifier-pseudo-terminators.mir&p1=llvm/trunk/test/CodeGen/AMDGPU/verifier-pseudo-terminators.mir&r1=354131&r2=354138&rev=354138&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AMDGPU/verifier-pseudo-terminators.mir (original)
+++ llvm/trunk/test/MachineVerifier/verifier-pseudo-terminators.mir Fri Feb 15 07:24:31 2019
@@ -1,4 +1,6 @@
# RUN: not llc -march=amdgcn -run-pass=verify %s 2>&1 | FileCheck %s
+# REQUIRES: amdgpu-registered-target
+
# Make sure that mismatched successors are caught when a _term
# instruction is used
Copied: llvm/trunk/test/MachineVerifier/verify-regbankselected.mir (from r354131, llvm/trunk/test/CodeGen/AArch64/GlobalISel/verify-regbankselected.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MachineVerifier/verify-regbankselected.mir?p2=llvm/trunk/test/MachineVerifier/verify-regbankselected.mir&p1=llvm/trunk/test/CodeGen/AArch64/GlobalISel/verify-regbankselected.mir&r1=354131&r2=354138&rev=354138&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/GlobalISel/verify-regbankselected.mir (original)
+++ llvm/trunk/test/MachineVerifier/verify-regbankselected.mir Fri Feb 15 07:24:31 2019
@@ -1,4 +1,5 @@
# RUN: not llc -verify-machineinstrs -run-pass none -o /dev/null %s 2>&1 | FileCheck %s
+# REQUIRES: aarch64-registered-target
--- |
Copied: llvm/trunk/test/MachineVerifier/verify-selected.mir (from r354131, llvm/trunk/test/CodeGen/AArch64/GlobalISel/verify-selected.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MachineVerifier/verify-selected.mir?p2=llvm/trunk/test/MachineVerifier/verify-selected.mir&p1=llvm/trunk/test/CodeGen/AArch64/GlobalISel/verify-selected.mir&r1=354131&r2=354138&rev=354138&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/GlobalISel/verify-selected.mir (original)
+++ llvm/trunk/test/MachineVerifier/verify-selected.mir Fri Feb 15 07:24:31 2019
@@ -1,4 +1,5 @@
# RUN: not llc -verify-machineinstrs -run-pass none -o /dev/null %s 2>&1 | FileCheck %s
+# REQUIRES: aarch64-registered-target
--- |
Removed: llvm/trunk/test/Verifier/gisel-g_build_vector.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Verifier/gisel-g_build_vector.mir?rev=354137&view=auto
==============================================================================
--- llvm/trunk/test/Verifier/gisel-g_build_vector.mir (original)
+++ llvm/trunk/test/Verifier/gisel-g_build_vector.mir (removed)
@@ -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
-...
Removed: llvm/trunk/test/Verifier/gisel-g_build_vector_trunc.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Verifier/gisel-g_build_vector_trunc.mir?rev=354137&view=auto
==============================================================================
--- llvm/trunk/test/Verifier/gisel-g_build_vector_trunc.mir (original)
+++ llvm/trunk/test/Verifier/gisel-g_build_vector_trunc.mir (removed)
@@ -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
-...
Removed: llvm/trunk/test/Verifier/gisel-g_concat_vector.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Verifier/gisel-g_concat_vector.mir?rev=354137&view=auto
==============================================================================
--- llvm/trunk/test/Verifier/gisel-g_concat_vector.mir (original)
+++ llvm/trunk/test/Verifier/gisel-g_concat_vector.mir (removed)
@@ -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
-...
Removed: llvm/trunk/test/Verifier/test_copy.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Verifier/test_copy.mir?rev=354137&view=auto
==============================================================================
--- llvm/trunk/test/Verifier/test_copy.mir (original)
+++ llvm/trunk/test/Verifier/test_copy.mir (removed)
@@ -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
-...
Removed: llvm/trunk/test/Verifier/test_copy_mismatch_types.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Verifier/test_copy_mismatch_types.mir?rev=354137&view=auto
==============================================================================
--- llvm/trunk/test/Verifier/test_copy_mismatch_types.mir (original)
+++ llvm/trunk/test/Verifier/test_copy_mismatch_types.mir (removed)
@@ -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
-...
Removed: llvm/trunk/test/Verifier/test_g_add.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Verifier/test_g_add.mir?rev=354137&view=auto
==============================================================================
--- llvm/trunk/test/Verifier/test_g_add.mir (original)
+++ llvm/trunk/test/Verifier/test_g_add.mir (removed)
@@ -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
-
-...
Removed: llvm/trunk/test/Verifier/test_g_addrspacecast.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Verifier/test_g_addrspacecast.mir?rev=354137&view=auto
==============================================================================
--- llvm/trunk/test/Verifier/test_g_addrspacecast.mir (original)
+++ llvm/trunk/test/Verifier/test_g_addrspacecast.mir (removed)
@@ -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
-
-...
Removed: llvm/trunk/test/Verifier/test_g_bitcast.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Verifier/test_g_bitcast.mir?rev=354137&view=auto
==============================================================================
--- llvm/trunk/test/Verifier/test_g_bitcast.mir (original)
+++ llvm/trunk/test/Verifier/test_g_bitcast.mir (removed)
@@ -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
-
-...
Removed: llvm/trunk/test/Verifier/test_g_constant.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Verifier/test_g_constant.mir?rev=354137&view=auto
==============================================================================
--- llvm/trunk/test/Verifier/test_g_constant.mir (original)
+++ llvm/trunk/test/Verifier/test_g_constant.mir (removed)
@@ -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
-
-...
Removed: llvm/trunk/test/Verifier/test_g_extract.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Verifier/test_g_extract.mir?rev=354137&view=auto
==============================================================================
--- llvm/trunk/test/Verifier/test_g_extract.mir (original)
+++ llvm/trunk/test/Verifier/test_g_extract.mir (removed)
@@ -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
-
-...
Removed: llvm/trunk/test/Verifier/test_g_fcmp.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Verifier/test_g_fcmp.mir?rev=354137&view=auto
==============================================================================
--- llvm/trunk/test/Verifier/test_g_fcmp.mir (original)
+++ llvm/trunk/test/Verifier/test_g_fcmp.mir (removed)
@@ -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
-
-...
Removed: llvm/trunk/test/Verifier/test_g_fconstant.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Verifier/test_g_fconstant.mir?rev=354137&view=auto
==============================================================================
--- llvm/trunk/test/Verifier/test_g_fconstant.mir (original)
+++ llvm/trunk/test/Verifier/test_g_fconstant.mir (removed)
@@ -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
-
-...
Removed: llvm/trunk/test/Verifier/test_g_gep.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Verifier/test_g_gep.mir?rev=354137&view=auto
==============================================================================
--- llvm/trunk/test/Verifier/test_g_gep.mir (original)
+++ llvm/trunk/test/Verifier/test_g_gep.mir (removed)
@@ -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
-
-...
Removed: llvm/trunk/test/Verifier/test_g_icmp.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Verifier/test_g_icmp.mir?rev=354137&view=auto
==============================================================================
--- llvm/trunk/test/Verifier/test_g_icmp.mir (original)
+++ llvm/trunk/test/Verifier/test_g_icmp.mir (removed)
@@ -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
-
-...
Removed: llvm/trunk/test/Verifier/test_g_inttoptr.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Verifier/test_g_inttoptr.mir?rev=354137&view=auto
==============================================================================
--- llvm/trunk/test/Verifier/test_g_inttoptr.mir (original)
+++ llvm/trunk/test/Verifier/test_g_inttoptr.mir (removed)
@@ -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
-
-...
Removed: llvm/trunk/test/Verifier/test_g_load.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Verifier/test_g_load.mir?rev=354137&view=auto
==============================================================================
--- llvm/trunk/test/Verifier/test_g_load.mir (original)
+++ llvm/trunk/test/Verifier/test_g_load.mir (removed)
@@ -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)
-
-...
Removed: llvm/trunk/test/Verifier/test_g_phi.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Verifier/test_g_phi.mir?rev=354137&view=auto
==============================================================================
--- llvm/trunk/test/Verifier/test_g_phi.mir (original)
+++ llvm/trunk/test/Verifier/test_g_phi.mir (removed)
@@ -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
-
-...
Removed: llvm/trunk/test/Verifier/test_g_ptrtoint.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Verifier/test_g_ptrtoint.mir?rev=354137&view=auto
==============================================================================
--- llvm/trunk/test/Verifier/test_g_ptrtoint.mir (original)
+++ llvm/trunk/test/Verifier/test_g_ptrtoint.mir (removed)
@@ -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
-
-...
Removed: llvm/trunk/test/Verifier/test_g_select.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Verifier/test_g_select.mir?rev=354137&view=auto
==============================================================================
--- llvm/trunk/test/Verifier/test_g_select.mir (original)
+++ llvm/trunk/test/Verifier/test_g_select.mir (removed)
@@ -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
-
-...
Removed: llvm/trunk/test/Verifier/test_g_sextload.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Verifier/test_g_sextload.mir?rev=354137&view=auto
==============================================================================
--- llvm/trunk/test/Verifier/test_g_sextload.mir (original)
+++ llvm/trunk/test/Verifier/test_g_sextload.mir (removed)
@@ -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)
-
-...
Removed: llvm/trunk/test/Verifier/test_g_store.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Verifier/test_g_store.mir?rev=354137&view=auto
==============================================================================
--- llvm/trunk/test/Verifier/test_g_store.mir (original)
+++ llvm/trunk/test/Verifier/test_g_store.mir (removed)
@@ -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)
-
-...
Removed: llvm/trunk/test/Verifier/test_g_trunc.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Verifier/test_g_trunc.mir?rev=354137&view=auto
==============================================================================
--- llvm/trunk/test/Verifier/test_g_trunc.mir (original)
+++ llvm/trunk/test/Verifier/test_g_trunc.mir (removed)
@@ -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
-
-...
Removed: llvm/trunk/test/Verifier/test_g_zextload.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Verifier/test_g_zextload.mir?rev=354137&view=auto
==============================================================================
--- llvm/trunk/test/Verifier/test_g_zextload.mir (original)
+++ llvm/trunk/test/Verifier/test_g_zextload.mir (removed)
@@ -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)
-
-...
Removed: llvm/trunk/test/Verifier/test_phis_precede_nonphis.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Verifier/test_phis_precede_nonphis.mir?rev=354137&view=auto
==============================================================================
--- llvm/trunk/test/Verifier/test_phis_precede_nonphis.mir (original)
+++ llvm/trunk/test/Verifier/test_phis_precede_nonphis.mir (removed)
@@ -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
More information about the llvm-commits
mailing list