[llvm] 3dc20f0 - Scalarizer: Convert tests to opaque pointers

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Sun Nov 27 18:41:20 PST 2022


Author: Matt Arsenault
Date: 2022-11-27T21:26:20-05:00
New Revision: 3dc20f0160f1d01bb207480f299591ba05bf05b8

URL: https://github.com/llvm/llvm-project/commit/3dc20f0160f1d01bb207480f299591ba05bf05b8
DIFF: https://github.com/llvm/llvm-project/commit/3dc20f0160f1d01bb207480f299591ba05bf05b8.diff

LOG: Scalarizer: Convert tests to opaque pointers

Added: 
    

Modified: 
    llvm/test/Transforms/Scalarizer/vector-gep.ll

Removed: 
    


################################################################################
diff  --git a/llvm/test/Transforms/Scalarizer/vector-gep.ll b/llvm/test/Transforms/Scalarizer/vector-gep.ll
index fa9f62ff876ee..b800dabfcc115 100644
--- a/llvm/test/Transforms/Scalarizer/vector-gep.ll
+++ b/llvm/test/Transforms/Scalarizer/vector-gep.ll
@@ -2,146 +2,146 @@
 
 ; Check that the scalarizer can handle vector GEPs with scalar indices
 
- at vec = global <4 x i16*> <i16* null, i16* null, i16* null, i16* null>
+ at vec = global <4 x ptr> <ptr null, ptr null, ptr null, ptr null>
 @index = global i16 1
 @ptr = global [4 x i16] [i16 1, i16 2, i16 3, i16 4]
- at ptrptr = global i16* null
+ at ptrptr = global ptr null
 
 ; constant index
 define void @test1() {
 bb:
-  %0 = load <4 x i16*>, <4 x i16*>* @vec
-  %1 = getelementptr i16, <4 x i16*> %0, i16 1
+  %0 = load <4 x ptr>, ptr @vec
+  %1 = getelementptr i16, <4 x ptr> %0, i16 1
 
   ret void
 }
 
 ;CHECK-LABEL: @test1
-;CHECK: %[[I0:.i[0-9]*]] = extractelement <4 x i16*> %0, i32 0
-;CHECK: getelementptr i16, i16* %[[I0]], i16 1
-;CHECK: %[[I1:.i[0-9]*]] = extractelement <4 x i16*> %0, i32 1
-;CHECK: getelementptr i16, i16* %[[I1]], i16 1
-;CHECK: %[[I2:.i[0-9]*]] = extractelement <4 x i16*> %0, i32 2
-;CHECK: getelementptr i16, i16* %[[I2]], i16 1
-;CHECK: %[[I3:.i[0-9]*]] = extractelement <4 x i16*> %0, i32 3
-;CHECK: getelementptr i16, i16* %[[I3]], i16 1
+;CHECK: %[[I0:.i[0-9]*]] = extractelement <4 x ptr> %0, i32 0
+;CHECK: getelementptr i16, ptr %[[I0]], i16 1
+;CHECK: %[[I1:.i[0-9]*]] = extractelement <4 x ptr> %0, i32 1
+;CHECK: getelementptr i16, ptr %[[I1]], i16 1
+;CHECK: %[[I2:.i[0-9]*]] = extractelement <4 x ptr> %0, i32 2
+;CHECK: getelementptr i16, ptr %[[I2]], i16 1
+;CHECK: %[[I3:.i[0-9]*]] = extractelement <4 x ptr> %0, i32 3
+;CHECK: getelementptr i16, ptr %[[I3]], i16 1
 
 ; non-constant index
 define void @test2() {
 bb:
-  %0 = load <4 x i16*>, <4 x i16*>* @vec
-  %index = load i16, i16* @index
-  %1 = getelementptr i16, <4 x i16*> %0, i16 %index
+  %0 = load <4 x ptr>, ptr @vec
+  %index = load i16, ptr @index
+  %1 = getelementptr i16, <4 x ptr> %0, i16 %index
 
   ret void
 }
 
 ;CHECK-LABEL: @test2
-;CHECK: %0 = load <4 x i16*>, <4 x i16*>* @vec
-;CHECK: %[[I0:.i[0-9]*]] = extractelement <4 x i16*> %0, i32 0
-;CHECK: %[[I1:.i[0-9]*]] = extractelement <4 x i16*> %0, i32 1
-;CHECK: %[[I2:.i[0-9]*]] = extractelement <4 x i16*> %0, i32 2
-;CHECK: %[[I3:.i[0-9]*]] = extractelement <4 x i16*> %0, i32 3
-;CHECK: %index = load i16, i16* @index
+;CHECK: %0 = load <4 x ptr>, ptr @vec
+;CHECK: %[[I0:.i[0-9]*]] = extractelement <4 x ptr> %0, i32 0
+;CHECK: %[[I1:.i[0-9]*]] = extractelement <4 x ptr> %0, i32 1
+;CHECK: %[[I2:.i[0-9]*]] = extractelement <4 x ptr> %0, i32 2
+;CHECK: %[[I3:.i[0-9]*]] = extractelement <4 x ptr> %0, i32 3
+;CHECK: %index = load i16, ptr @index
 ;CHECK: %.splatinsert = insertelement <4 x i16> poison, i16 %index, i32 0
 ;CHECK: %.splat = shufflevector <4 x i16> %.splatinsert, <4 x i16> poison, <4 x i32> zeroinitializer
 ;CHECK: %.splat[[I0]] = extractelement <4 x i16> %.splat, i32 0
-;CHECK: getelementptr i16, i16* %[[I0]], i16 %.splat[[I0]]
+;CHECK: getelementptr i16, ptr %[[I0]], i16 %.splat[[I0]]
 ;CHECK: %.splat[[I1]] = extractelement <4 x i16> %.splat, i32 1
-;CHECK: getelementptr i16, i16* %[[I1]], i16 %.splat[[I1]]
+;CHECK: getelementptr i16, ptr %[[I1]], i16 %.splat[[I1]]
 ;CHECK: %.splat[[I2]] = extractelement <4 x i16> %.splat, i32 2
-;CHECK: getelementptr i16, i16* %[[I2]], i16 %.splat[[I2]]
+;CHECK: getelementptr i16, ptr %[[I2]], i16 %.splat[[I2]]
 ;CHECK: %.splat[[I3]] = extractelement <4 x i16> %.splat, i32 3
-;CHECK: getelementptr i16, i16* %[[I3]], i16 %.splat[[I3]]
+;CHECK: getelementptr i16, ptr %[[I3]], i16 %.splat[[I3]]
 
 
 ; Check that the scalarizer can handle vector GEPs with scalar pointer
 
 ; constant pointer
-define <4 x i16*> @test3_constexpr() {
+define <4 x ptr> @test3_constexpr() {
 bb:
-  ret <4 x i16*> getelementptr (i16, i16* getelementptr inbounds ([4 x i16], [4 x i16]* @ptr, i64 0, i64 0), <4 x i64> <i64 0, i64 1, i64 2, i64 3>)
+  ret <4 x ptr> getelementptr (i16, ptr @ptr, <4 x i64> <i64 0, i64 1, i64 2, i64 3>)
 }
 
 ; CHECK-LABEL: @test3_constexpr
-; CHECK: ret <4 x i16*> getelementptr (i16, i16* getelementptr inbounds ([4 x i16], [4 x i16]* @ptr, i64 0, i64 0), <4 x i64> <i64 0, i64 1, i64 2, i64 3>)
+; CHECK: ret <4 x ptr> getelementptr (i16, ptr @ptr, <4 x i64> <i64 0, i64 1, i64 2, i64 3>)
 
 
-define <4 x i16*> @test3_constbase(i16 %idx) {
+define <4 x ptr> @test3_constbase(i16 %idx) {
 bb:
-  %offset = getelementptr [4 x i16], [4 x i16]* @ptr, i16 0, i16 %idx
-  %gep = getelementptr i16, i16* %offset, <4 x i16> <i16 0, i16 1, i16 2, i16 3>
-  ret <4 x i16*> %gep
+  %offset = getelementptr [4 x i16], ptr @ptr, i16 0, i16 %idx
+  %gep = getelementptr i16, ptr %offset, <4 x i16> <i16 0, i16 1, i16 2, i16 3>
+  ret <4 x ptr> %gep
 }
 
 ; CHECK-LABEL: @test3_constbase(
-; CHECK: %offset = getelementptr [4 x i16], [4 x i16]* @ptr, i16 0, i16 %idx
-; CHECK: %.splatinsert = insertelement <4 x i16*> poison, i16* %offset, i32 0
-; CHECK: %.splat = shufflevector <4 x i16*> %.splatinsert, <4 x i16*> poison, <4 x i32> zeroinitializer
-; CHECK: %.splat[[I0:.i[0-9]*]] = extractelement <4 x i16*> %.splat, i32 0
-; CHECK: getelementptr i16, i16* %.splat[[I0]], i16 0
-; CHECK: %.splat[[I1:.i[0-9]*]] = extractelement <4 x i16*> %.splat, i32 1
-; CHECK: getelementptr i16, i16* %.splat[[I1]], i16 1
-; CHECK: %.splat[[I2:.i[0-9]*]] = extractelement <4 x i16*> %.splat, i32 2
-; CHECK: getelementptr i16, i16* %.splat[[I2]], i16 2
-; CHECK: %.splat[[I3:.i[0-9]*]] = extractelement <4 x i16*> %.splat, i32 3
-; CHECK: getelementptr i16, i16* %.splat[[I3]], i16 3
+; CHECK: %offset = getelementptr [4 x i16], ptr @ptr, i16 0, i16 %idx
+; CHECK: %.splatinsert = insertelement <4 x ptr> poison, ptr %offset, i32 0
+; CHECK: %.splat = shufflevector <4 x ptr> %.splatinsert, <4 x ptr> poison, <4 x i32> zeroinitializer
+; CHECK: %.splat[[I0:.i[0-9]*]] = extractelement <4 x ptr> %.splat, i32 0
+; CHECK: getelementptr i16, ptr %.splat[[I0]], i16 0
+; CHECK: %.splat[[I1:.i[0-9]*]] = extractelement <4 x ptr> %.splat, i32 1
+; CHECK: getelementptr i16, ptr %.splat[[I1]], i16 1
+; CHECK: %.splat[[I2:.i[0-9]*]] = extractelement <4 x ptr> %.splat, i32 2
+; CHECK: getelementptr i16, ptr %.splat[[I2]], i16 2
+; CHECK: %.splat[[I3:.i[0-9]*]] = extractelement <4 x ptr> %.splat, i32 3
+; CHECK: getelementptr i16, ptr %.splat[[I3]], i16 3
 
 ; Constant pointer with a variable vector offset
-define <4 x i16*> @test3_varoffset(<4 x i16> %offset) {
+define <4 x ptr> @test3_varoffset(<4 x i16> %offset) {
 bb:
-  %gep = getelementptr i16, i16* getelementptr inbounds ([4 x i16], [4 x i16]* @ptr, i64 0, i64 0), <4 x i16> %offset
-  ret <4 x i16*> %gep
+  %gep = getelementptr i16, ptr @ptr, <4 x i16> %offset
+  ret <4 x ptr> %gep
 }
 
 ; CHECK-LABEL: @test3_varoffset
 ; CHECK: %offset.i0 = extractelement <4 x i16> %offset, i32 0
-; CHECK: %gep.i0 = getelementptr i16, i16* getelementptr inbounds ([4 x i16], [4 x i16]* @ptr, i64 0, i64 0), i16 %offset.i0
+; CHECK: %gep.i0 = getelementptr i16, ptr @ptr, i16 %offset.i0
 ; CHECK: %offset.i1 = extractelement <4 x i16> %offset, i32 1
-; CHECK: %gep.i1 = getelementptr i16, i16* getelementptr inbounds ([4 x i16], [4 x i16]* @ptr, i64 0, i64 0), i16 %offset.i1
+; CHECK: %gep.i1 = getelementptr i16, ptr @ptr, i16 %offset.i1
 ; CHECK: %offset.i2 = extractelement <4 x i16> %offset, i32 2
-; CHECK: %gep.i2 = getelementptr i16, i16* getelementptr inbounds ([4 x i16], [4 x i16]* @ptr, i64 0, i64 0), i16 %offset.i2
+; CHECK: %gep.i2 = getelementptr i16, ptr @ptr, i16 %offset.i2
 ; CHECK: %offset.i3 = extractelement <4 x i16> %offset, i32 3
-; CHECK: %gep.i3 = getelementptr i16, i16* getelementptr inbounds ([4 x i16], [4 x i16]* @ptr, i64 0, i64 0), i16 %offset.i3
+; CHECK: %gep.i3 = getelementptr i16, ptr @ptr, i16 %offset.i3
 
 ; non-constant pointer
 define void @test4() {
 bb:
-  %0 = load i16*, i16** @ptrptr
-  %1 = getelementptr i16, i16* %0, <4 x i16> <i16 0, i16 1, i16 2, i16 3>
+  %0 = load ptr, ptr @ptrptr
+  %1 = getelementptr i16, ptr %0, <4 x i16> <i16 0, i16 1, i16 2, i16 3>
 
   ret void
 }
 
 ;CHECK-LABEL: @test4
-;CHECK: %0 = load i16*, i16** @ptrptr
-;CHECK: %.splatinsert = insertelement <4 x i16*> poison, i16* %0, i32 0
-;CHECK: %.splat = shufflevector <4 x i16*> %.splatinsert, <4 x i16*> poison, <4 x i32> zeroinitializer
-;CHECK: %.splat[[I0:.i[0-9]*]] = extractelement <4 x i16*> %.splat, i32 0
-;CHECK: getelementptr i16, i16* %.splat[[I0]], i16 0
-;CHECK: %.splat[[I1:.i[0-9]*]] = extractelement <4 x i16*> %.splat, i32 1
-;CHECK: getelementptr i16, i16* %.splat[[I1]], i16 1
-;CHECK: %.splat[[I2:.i[0-9]*]] = extractelement <4 x i16*> %.splat, i32 2
-;CHECK: getelementptr i16, i16* %.splat[[I2]], i16 2
-;CHECK: %.splat[[I3:.i[0-9]*]] = extractelement <4 x i16*> %.splat, i32 3
-;CHECK: getelementptr i16, i16* %.splat[[I3]], i16 3
+;CHECK: %0 = load ptr, ptr @ptrptr
+;CHECK: %.splatinsert = insertelement <4 x ptr> poison, ptr %0, i32 0
+;CHECK: %.splat = shufflevector <4 x ptr> %.splatinsert, <4 x ptr> poison, <4 x i32> zeroinitializer
+;CHECK: %.splat[[I0:.i[0-9]*]] = extractelement <4 x ptr> %.splat, i32 0
+;CHECK: getelementptr i16, ptr %.splat[[I0]], i16 0
+;CHECK: %.splat[[I1:.i[0-9]*]] = extractelement <4 x ptr> %.splat, i32 1
+;CHECK: getelementptr i16, ptr %.splat[[I1]], i16 1
+;CHECK: %.splat[[I2:.i[0-9]*]] = extractelement <4 x ptr> %.splat, i32 2
+;CHECK: getelementptr i16, ptr %.splat[[I2]], i16 2
+;CHECK: %.splat[[I3:.i[0-9]*]] = extractelement <4 x ptr> %.splat, i32 3
+;CHECK: getelementptr i16, ptr %.splat[[I3]], i16 3
 
 ; constant index, inbounds
 define void @test5() {
 bb:
-  %0 = load <4 x i16*>, <4 x i16*>* @vec
-  %1 = getelementptr inbounds i16, <4 x i16*> %0, i16 1
+  %0 = load <4 x ptr>, ptr @vec
+  %1 = getelementptr inbounds i16, <4 x ptr> %0, i16 1
 
   ret void
 }
 
 ;CHECK-LABEL: @test5
-;CHECK: %[[I0:.i[0-9]*]] = extractelement <4 x i16*> %0, i32 0
-;CHECK: getelementptr inbounds i16, i16* %[[I0]], i16 1
-;CHECK: %[[I1:.i[0-9]*]] = extractelement <4 x i16*> %0, i32 1
-;CHECK: getelementptr inbounds i16, i16* %[[I1]], i16 1
-;CHECK: %[[I2:.i[0-9]*]] = extractelement <4 x i16*> %0, i32 2
-;CHECK: getelementptr inbounds i16, i16* %[[I2]], i16 1
-;CHECK: %[[I3:.i[0-9]*]] = extractelement <4 x i16*> %0, i32 3
-;CHECK: getelementptr inbounds i16, i16* %[[I3]], i16 1
+;CHECK: %[[I0:.i[0-9]*]] = extractelement <4 x ptr> %0, i32 0
+;CHECK: getelementptr inbounds i16, ptr %[[I0]], i16 1
+;CHECK: %[[I1:.i[0-9]*]] = extractelement <4 x ptr> %0, i32 1
+;CHECK: getelementptr inbounds i16, ptr %[[I1]], i16 1
+;CHECK: %[[I2:.i[0-9]*]] = extractelement <4 x ptr> %0, i32 2
+;CHECK: getelementptr inbounds i16, ptr %[[I2]], i16 1
+;CHECK: %[[I3:.i[0-9]*]] = extractelement <4 x ptr> %0, i32 3
+;CHECK: getelementptr inbounds i16, ptr %[[I3]], i16 1
 


        


More information about the llvm-commits mailing list