[NFC] Use variable GEP index in vec_demanded_elts tests
authorDavid Sherwood <david.sherwood@arm.com>
Wed, 12 May 2021 13:49:04 +0000 (14:49 +0100)
committerDavid Sherwood <david.sherwood@arm.com>
Wed, 12 May 2021 13:56:04 +0000 (14:56 +0100)
I've changed a test in each of these files:

  Transforms/InstCombine/vec_demanded_elts.ll
  Transforms/InstCombine/vec_demanded_elts-inseltpoison.ll

to use a variable GEP index instead of a constant value so that
we're testing the more general case.

llvm/test/Transforms/InstCombine/vec_demanded_elts-inseltpoison.ll
llvm/test/Transforms/InstCombine/vec_demanded_elts.ll

index 8bcdf01..afa9d9c 100644 (file)
@@ -21,7 +21,7 @@ define i32 @test2(float %f) {
 define void @get_image() nounwind {
 ; CHECK-LABEL: @get_image(
 ; CHECK-NEXT:  entry:
-; CHECK-NEXT:    [[TMP0:%.*]] = call i32 @fgetc(i8* null) [[ATTR0:#.*]]
+; CHECK-NEXT:    [[TMP0:%.*]] = call i32 @fgetc(i8* null) #[[ATTR0:[0-9]+]]
 ; CHECK-NEXT:    br i1 false, label [[BB2:%.*]], label [[BB3:%.*]]
 ; CHECK:       bb2:
 ; CHECK-NEXT:    br label [[BB3]]
@@ -502,13 +502,13 @@ define <3 x float> @shuf_frem_const_op1(<3 x float> %x) {
 ;; TODO: getelementptr tests below show missing simplifications for
 ;; vector demanded elements on vector geps.
 
-define i32* @gep_vbase_w_s_idx(<2 x i32*> %base) {
+define i32* @gep_vbase_w_s_idx(<2 x i32*> %base, i64 %index) {
 ; CHECK-LABEL: @gep_vbase_w_s_idx(
-; CHECK-NEXT:    [[GEP:%.*]] = getelementptr i32, <2 x i32*> [[BASE:%.*]], i64 1
+; CHECK-NEXT:    [[GEP:%.*]] = getelementptr i32, <2 x i32*> [[BASE:%.*]], i64 [[INDEX:%.*]]
 ; CHECK-NEXT:    [[EE:%.*]] = extractelement <2 x i32*> [[GEP]], i32 1
 ; CHECK-NEXT:    ret i32* [[EE]]
 ;
-  %gep = getelementptr i32, <2 x i32*> %base, i64 1
+  %gep = getelementptr i32, <2 x i32*> %base, i64 %index
   %ee = extractelement <2 x i32*> %gep, i32 1
   ret i32* %ee
 }
index 685b8ed..f0c4658 100644 (file)
@@ -21,7 +21,7 @@ define i32 @test2(float %f) {
 define void @get_image() nounwind {
 ; CHECK-LABEL: @get_image(
 ; CHECK-NEXT:  entry:
-; CHECK-NEXT:    [[TMP0:%.*]] = call i32 @fgetc(i8* null) [[ATTR0:#.*]]
+; CHECK-NEXT:    [[TMP0:%.*]] = call i32 @fgetc(i8* null) #[[ATTR0:[0-9]+]]
 ; CHECK-NEXT:    br i1 false, label [[BB2:%.*]], label [[BB3:%.*]]
 ; CHECK:       bb2:
 ; CHECK-NEXT:    br label [[BB3]]
@@ -502,13 +502,13 @@ define <3 x float> @shuf_frem_const_op1(<3 x float> %x) {
 ;; TODO: getelementptr tests below show missing simplifications for
 ;; vector demanded elements on vector geps.
 
-define i32* @gep_vbase_w_s_idx(<2 x i32*> %base) {
+define i32* @gep_vbase_w_s_idx(<2 x i32*> %base, i64 %index) {
 ; CHECK-LABEL: @gep_vbase_w_s_idx(
-; CHECK-NEXT:    [[GEP:%.*]] = getelementptr i32, <2 x i32*> [[BASE:%.*]], i64 1
+; CHECK-NEXT:    [[GEP:%.*]] = getelementptr i32, <2 x i32*> [[BASE:%.*]], i64 [[INDEX:%.*]]
 ; CHECK-NEXT:    [[EE:%.*]] = extractelement <2 x i32*> [[GEP]], i32 1
 ; CHECK-NEXT:    ret i32* [[EE]]
 ;
-  %gep = getelementptr i32, <2 x i32*> %base, i64 1
+  %gep = getelementptr i32, <2 x i32*> %base, i64 %index
   %ee = extractelement <2 x i32*> %gep, i32 1
   ret i32* %ee
 }