Add support for vectors of pointers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145801 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Nadav Rotem
2011-12-05 06:29:09 +00:00
parent 8e1b12ae68
commit 1608769abe
26 changed files with 631 additions and 71 deletions

8
test/Feature/const_pv.ll Normal file
View File

@@ -0,0 +1,8 @@
; RUN: llvm-as %s -disable-output
@G = constant <3 x i64> ptrtoint (<3 x i8*> <i8* null, i8* null, i8* null> to <3 x i64>)
@G1 = global i8 zeroinitializer
@g = constant <2 x i8*> getelementptr (<2 x i8*> <i8* @G1, i8* @G1>, <2 x i32> <i32 0, i32 0>)
@t = constant <2 x i1> icmp ((<2 x i32> ptrtoint (<2 x i8*> zeroinitializer to <2 x i32>), <2 x i32> zeroinitializer )

14
test/Feature/global_pv.ll Normal file
View File

@@ -0,0 +1,14 @@
; RUN: opt -instcombine -S -o - %s | llvm-as
; RUN: opt -instcombine -globalopt -S -o - %s | llvm-as
@G1 = global i32 zeroinitializer
@G2 = global i32 zeroinitializer
@g = global <2 x i32*> zeroinitializer
%0 = type { i32, void ()* }
@llvm.global_ctors = appending global [1 x %0] [%0 { i32 65535, void ()* @test }]
define internal void @test() {
%A = insertelement <2 x i32*> undef, i32* @G1, i32 0
%B = insertelement <2 x i32*> %A, i32* @G2, i32 1
store <2 x i32*> %B, <2 x i32*>* @g
ret void
}