summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2014-01-02 21:09:05 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2014-01-02 21:09:05 +0000
commitdaf7c149e4ee76e9be777b5a6fba06f25cbb0203 (patch)
tree33140e6ebd0fe9ab96e7c1c6159cb3208c3da8b2 /test
parente151788aae061cc4ec3a7bb76a7cb5b72edc046e (diff)
downloadllvm-daf7c149e4ee76e9be777b5a6fba06f25cbb0203.tar.gz
llvm-daf7c149e4ee76e9be777b5a6fba06f25cbb0203.tar.bz2
llvm-daf7c149e4ee76e9be777b5a6fba06f25cbb0203.tar.xz
Fix all the verifier tests I added for address spaces.
I originally had these using opt -verify, and I never removed the -verify when converting them to use llvm-as instead, so these were failing because of using the -verify argument which llvm-as doesn't have instead of what it's actually supposed to be testing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198352 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/Verifier/bitcast-address-space-nested-global-cycle.ll4
-rw-r--r--test/Verifier/bitcast-address-space-nested-global.ll4
-rw-r--r--test/Verifier/bitcast-address-space-through-constant-inttoptr-inside-gep-instruction.ll5
-rw-r--r--test/Verifier/bitcast-address-space-through-constant-inttoptr.ll4
-rw-r--r--test/Verifier/bitcast-address-space-through-gep-2.ll4
-rw-r--r--test/Verifier/bitcast-address-space-through-gep.ll4
-rw-r--r--test/Verifier/bitcast-address-space-through-inttoptr.ll3
-rw-r--r--test/Verifier/bitcast-address-spaces.ll3
-rw-r--r--test/Verifier/bitcast-alias-address-space.ll4
-rw-r--r--test/Verifier/bitcast-vector-pointer-as.ll4
10 files changed, 29 insertions, 10 deletions
diff --git a/test/Verifier/bitcast-address-space-nested-global-cycle.ll b/test/Verifier/bitcast-address-space-nested-global-cycle.ll
index 0cee726a95..3c67aa9e7f 100644
--- a/test/Verifier/bitcast-address-space-nested-global-cycle.ll
+++ b/test/Verifier/bitcast-address-space-nested-global-cycle.ll
@@ -1,4 +1,6 @@
-; RUN: not llvm-as -verify -disable-output %s
+; RUN: not llvm-as -disable-output %s 2>&1 | FileCheck %s
+
+; CHECK: error: invalid cast opcode for cast from '%struct.Self1*' to '%struct.Self1 addrspace(1)*'
target datalayout = "e-p:32:32:32-p1:16:16:16-p2:8:8:8-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n8:16:32"
diff --git a/test/Verifier/bitcast-address-space-nested-global.ll b/test/Verifier/bitcast-address-space-nested-global.ll
index abe9d947f7..a79669058e 100644
--- a/test/Verifier/bitcast-address-space-nested-global.ll
+++ b/test/Verifier/bitcast-address-space-nested-global.ll
@@ -1,4 +1,6 @@
-; RUN: not llvm-as -verify -disable-output %s
+; RUN: not llvm-as -disable-output %s 2>&1 | FileCheck %s
+
+; CHECK: error: invalid cast opcode for cast from '%struct.Self1*' to '%struct.Self1 addrspace(1)*'
target datalayout = "e-p:32:32:32-p1:16:16:16-p2:8:8:8-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n8:16:32"
diff --git a/test/Verifier/bitcast-address-space-through-constant-inttoptr-inside-gep-instruction.ll b/test/Verifier/bitcast-address-space-through-constant-inttoptr-inside-gep-instruction.ll
index ed71afaef9..ef38d37068 100644
--- a/test/Verifier/bitcast-address-space-through-constant-inttoptr-inside-gep-instruction.ll
+++ b/test/Verifier/bitcast-address-space-through-constant-inttoptr-inside-gep-instruction.ll
@@ -1,6 +1,9 @@
-; RUN: not llvm-as -verify -disable-output < %s
+; RUN: not llvm-as -disable-output %s 2>&1 | FileCheck %s
+
target datalayout = "e-p:32:32:32-p1:16:16:16-p2:8:8:8-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n8:16:32"
+; CHECK: error: invalid cast opcode for cast from 'i32 addrspace(1)*' to 'i32 addrspace(2)*'
+
; Check that we can find inttoptr -> illegal bitcasts when hidden
; inside constantexpr pointer operands
define i32 addrspace(2)* @illegal_bitcast_inttoptr_as_1_to_2_inside_gep() {
diff --git a/test/Verifier/bitcast-address-space-through-constant-inttoptr.ll b/test/Verifier/bitcast-address-space-through-constant-inttoptr.ll
index e65c71e8be..1affda418a 100644
--- a/test/Verifier/bitcast-address-space-through-constant-inttoptr.ll
+++ b/test/Verifier/bitcast-address-space-through-constant-inttoptr.ll
@@ -1,10 +1,12 @@
-; RUN: not llvm-as -verify -disable-output %s
+; RUN: not llvm-as -disable-output %s 2>&1 | FileCheck %s
target datalayout = "e-p:32:32:32-p1:16:16:16-p2:8:8:8-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n8:16:32"
%struct.Foo = type { i32 addrspace(1)* }
+; CHECK: error: invalid cast opcode for cast from 'i32 addrspace(2)*' to 'i32 addrspace(1)*'
+
; Make sure we still reject the bitcast when the source is a inttoptr (constant int) in a global initializer
@bitcast_after_constant_inttoptr_initializer = global %struct.Foo { i32 addrspace(1)* bitcast (i32 addrspace(2)* inttoptr (i8 7 to i32 addrspace(2)*) to i32 addrspace(1)*) }
diff --git a/test/Verifier/bitcast-address-space-through-gep-2.ll b/test/Verifier/bitcast-address-space-through-gep-2.ll
index 3b77d9a302..2ee394206a 100644
--- a/test/Verifier/bitcast-address-space-through-gep-2.ll
+++ b/test/Verifier/bitcast-address-space-through-gep-2.ll
@@ -1,4 +1,6 @@
-; RUN: not llvm-as -verify -disable-output %s
+; RUN: not llvm-as -disable-output %s 2>&1 | FileCheck %s
+
+; CHECK: error: invalid cast opcode for cast from 'i32 addrspace(2)*' to 'i32 addrspace(3)*'
target datalayout = "e-p:32:32:32-p1:16:16:16-p2:8:8:8-p3:8:8:8-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n8:16:32"
diff --git a/test/Verifier/bitcast-address-space-through-gep.ll b/test/Verifier/bitcast-address-space-through-gep.ll
index 8e950dc1e6..9494420841 100644
--- a/test/Verifier/bitcast-address-space-through-gep.ll
+++ b/test/Verifier/bitcast-address-space-through-gep.ll
@@ -1,4 +1,4 @@
-; RUN: not llvm-as -verify -disable-output %s
+; RUN: not llvm-as -disable-output %s 2>&1 | FileCheck %s
target datalayout = "e-p:32:32:32-p1:16:16:16-p2:8:8:8-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n8:16:32"
@@ -7,6 +7,8 @@ target datalayout = "e-p:32:32:32-p1:16:16:16-p2:8:8:8-i1:8:32-i8:8:32-i16:16:32
@as2_array = addrspace(2) global [32 x i32] zeroinitializer
+; CHECK: error: invalid cast opcode for cast from 'i32 addrspace(2)*' to 'i32 addrspace(1)*'
+
; Make sure we still reject the bitcast after the value is accessed through a GEP
@bitcast_after_gep = global %struct.Foo { i32 addrspace(1)* bitcast (i32 addrspace(2)* getelementptr ([32 x i32] addrspace(2)* @as2_array, i32 0, i32 8) to i32 addrspace(1)*) }
diff --git a/test/Verifier/bitcast-address-space-through-inttoptr.ll b/test/Verifier/bitcast-address-space-through-inttoptr.ll
index bec40488a1..5e7b66feca 100644
--- a/test/Verifier/bitcast-address-space-through-inttoptr.ll
+++ b/test/Verifier/bitcast-address-space-through-inttoptr.ll
@@ -1,7 +1,8 @@
-; RUN: not llvm-as -verify -disable-output %s
+; RUN: not llvm-as -disable-output %s 2>&1 | FileCheck %s
target datalayout = "e-p:32:32:32-p1:16:16:16-p2:8:8:8-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n8:16:32"
+; CHECK: error: invalid cast opcode for cast from 'i32 addrspace(1)*' to 'i32 addrspace(2)*'
define i32 addrspace(2)* @illegal_bitcast_as_1_to_2_inttoptr() {
%cast = bitcast i32 addrspace(1)* inttoptr (i32 5 to i32 addrspace(1)*) to i32 addrspace(2)*
ret i32 addrspace(2)* %cast
diff --git a/test/Verifier/bitcast-address-spaces.ll b/test/Verifier/bitcast-address-spaces.ll
index 450841740b..7f37df66b3 100644
--- a/test/Verifier/bitcast-address-spaces.ll
+++ b/test/Verifier/bitcast-address-spaces.ll
@@ -1,7 +1,8 @@
-; RUN: not llvm-as -verify -disable-output %s
+; RUN: not llvm-as -disable-output %s 2>&1 | FileCheck %s
target datalayout = "e-p:32:32:32-p1:16:16:16-p2:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n8:16:32"
+; CHECK: error: invalid cast opcode for cast from 'i32*' to 'i32 addrspace(1)*'
define i32 addrspace(1)* @illegal_bitcast_as_0_to_1(i32 addrspace(0) *%p) {
%cast = bitcast i32 addrspace(0)* %p to i32 addrspace(1)*
ret i32 addrspace(1)* %cast
diff --git a/test/Verifier/bitcast-alias-address-space.ll b/test/Verifier/bitcast-alias-address-space.ll
index 9cad8ab377..d9794d9e33 100644
--- a/test/Verifier/bitcast-alias-address-space.ll
+++ b/test/Verifier/bitcast-alias-address-space.ll
@@ -1,4 +1,6 @@
-; RUN: not llvm-as -verify -disable-output %s
+; RUN: not llvm-as -disable-output %s 2>&1 | FileCheck %s
+
+; CHECK: error: invalid cast opcode for cast from 'i32 addrspace(2)*' to 'i32 addrspace(1)*'
target datalayout = "e-p:32:32:32-p1:16:16:16-p2:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n8:16:32"
diff --git a/test/Verifier/bitcast-vector-pointer-as.ll b/test/Verifier/bitcast-vector-pointer-as.ll
index 89070e5a89..bbf6ace4e7 100644
--- a/test/Verifier/bitcast-vector-pointer-as.ll
+++ b/test/Verifier/bitcast-vector-pointer-as.ll
@@ -1,7 +1,9 @@
-; RUN: not llvm-as -verify -disable-output %s
+; RUN: not llvm-as -disable-output %s 2>&1 | FileCheck %s
target datalayout = "e-p:32:32:32-p1:16:16:16-p2:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n8:16:32"
+; CHECK: error: invalid cast opcode for cast from '<4 x i32*>' to '<4 x i32 addrspace(1)*>'
+
define <4 x i32 addrspace(1)*> @vector_illegal_bitcast_as_0_to_1(<4 x i32 addrspace(0)*> %p) {
%cast = bitcast <4 x i32 addrspace(0)*> %p to <4 x i32 addrspace(1)*>
ret <4 x i32 addrspace(1)*> %cast