summaryrefslogtreecommitdiffstats
path: root/llvm/test/Verifier
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2019-02-15 15:24:31 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2019-02-15 15:24:31 +0000
commit4673fdc5311334da6bd1d0638e2cdb3e1424b0b5 (patch)
tree4498a5dee6c3a672709db2d06190ffd325b45e09 /llvm/test/Verifier
parentfb4df68f48702377845a471fddcd1f67a3889ae4 (diff)
downloadbcm5719-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')
-rw-r--r--llvm/test/Verifier/gisel-g_build_vector.mir27
-rw-r--r--llvm/test/Verifier/gisel-g_build_vector_trunc.mir27
-rw-r--r--llvm/test/Verifier/gisel-g_concat_vector.mir29
-rw-r--r--llvm/test/Verifier/test_copy.mir33
-rw-r--r--llvm/test/Verifier/test_copy_mismatch_types.mir31
-rw-r--r--llvm/test/Verifier/test_g_add.mir37
-rw-r--r--llvm/test/Verifier/test_g_addrspacecast.mir57
-rw-r--r--llvm/test/Verifier/test_g_bitcast.mir37
-rw-r--r--llvm/test/Verifier/test_g_constant.mir42
-rw-r--r--llvm/test/Verifier/test_g_extract.mir35
-rw-r--r--llvm/test/Verifier/test_g_fcmp.mir40
-rw-r--r--llvm/test/Verifier/test_g_fconstant.mir35
-rw-r--r--llvm/test/Verifier/test_g_gep.mir32
-rw-r--r--llvm/test/Verifier/test_g_icmp.mir40
-rw-r--r--llvm/test/Verifier/test_g_inttoptr.mir45
-rw-r--r--llvm/test/Verifier/test_g_load.mir23
-rw-r--r--llvm/test/Verifier/test_g_phi.mir79
-rw-r--r--llvm/test/Verifier/test_g_ptrtoint.mir45
-rw-r--r--llvm/test/Verifier/test_g_select.mir31
-rw-r--r--llvm/test/Verifier/test_g_sextload.mir28
-rw-r--r--llvm/test/Verifier/test_g_store.mir24
-rw-r--r--llvm/test/Verifier/test_g_trunc.mir23
-rw-r--r--llvm/test/Verifier/test_g_zextload.mir28
-rw-r--r--llvm/test/Verifier/test_phis_precede_nonphis.mir84
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
OpenPOWER on IntegriCloud