diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2014-01-02 21:09:05 +0000 |
---|---|---|
committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2014-01-02 21:09:05 +0000 |
commit | daf7c149e4ee76e9be777b5a6fba06f25cbb0203 (patch) | |
tree | 33140e6ebd0fe9ab96e7c1c6159cb3208c3da8b2 /test | |
parent | e151788aae061cc4ec3a7bb76a7cb5b72edc046e (diff) | |
download | llvm-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')
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 |