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
This commit is contained in:
Matt Arsenault 2014-01-02 21:09:05 +00:00
parent e151788aae
commit daf7c149e4
10 changed files with 29 additions and 10 deletions

View File

@ -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"

View File

@ -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"

View File

@ -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() {

View File

@ -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)*) }

View File

@ -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"

View File

@ -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)*) }

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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