[llvm] 970fcba - [LoopVersioningLICM] Convert tests to opaque pointers (NFC)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 4 08:17:34 PST 2023


Author: Nikita Popov
Date: 2023-01-04T17:17:17+01:00
New Revision: 970fcba0740852511f7c2c7d28259592fd3e7729

URL: https://github.com/llvm/llvm-project/commit/970fcba0740852511f7c2c7d28259592fd3e7729
DIFF: https://github.com/llvm/llvm-project/commit/970fcba0740852511f7c2c7d28259592fd3e7729.diff

LOG: [LoopVersioningLICM] Convert tests to opaque pointers (NFC)

Added: 
    

Modified: 
    llvm/test/Transforms/LoopVersioningLICM/convergent.ll
    llvm/test/Transforms/LoopVersioningLICM/loopversioningLICM1.ll
    llvm/test/Transforms/LoopVersioningLICM/loopversioningLICM2.ll
    llvm/test/Transforms/LoopVersioningLICM/loopversioningLICM3.ll
    llvm/test/Transforms/LoopVersioningLICM/metadata.ll

Removed: 
    


################################################################################
diff  --git a/llvm/test/Transforms/LoopVersioningLICM/convergent.ll b/llvm/test/Transforms/LoopVersioningLICM/convergent.ll
index f9caf098ba03c..9a4a9e8daff2d 100644
--- a/llvm/test/Transforms/LoopVersioningLICM/convergent.ll
+++ b/llvm/test/Transforms/LoopVersioningLICM/convergent.ll
@@ -6,7 +6,7 @@
 ; CHECK-LABEL: @test_convergent(
 ; CHECK: call void @llvm.convergent()
 ; CHECK-NOT: call void @llvm.convergent()
-define i32 @test_convergent(i32* nocapture %var1, i32* nocapture readnone %var2, i32* nocapture %var3, i32 %itr) #1 {
+define i32 @test_convergent(ptr nocapture %var1, ptr nocapture readnone %var2, ptr nocapture %var3, i32 %itr) #1 {
 entry:
   %cmp14 = icmp eq i32 %itr, 0
   br i1 %cmp14, label %for.end13, label %for.cond1.preheader
@@ -20,18 +20,18 @@ for.cond1.preheader:                              ; preds = %entry, %for.inc11
 for.body3.lr.ph:                                  ; preds = %for.cond1.preheader
   %add = add i32 %i.015, %itr
   %idxprom6 = zext i32 %i.015 to i64
-  %arrayidx7 = getelementptr inbounds i32, i32* %var3, i64 %idxprom6
+  %arrayidx7 = getelementptr inbounds i32, ptr %var3, i64 %idxprom6
   br label %for.body3
 
 for.body3:                                        ; preds = %for.body3, %for.body3.lr.ph
   %j.113 = phi i32 [ %j.016, %for.body3.lr.ph ], [ %inc, %for.body3 ]
   %idxprom = zext i32 %j.113 to i64
-  %arrayidx = getelementptr inbounds i32, i32* %var1, i64 %idxprom
-  store i32 %add, i32* %arrayidx, align 4
-  %load.arrayidx7 = load i32, i32* %arrayidx7, align 4
+  %arrayidx = getelementptr inbounds i32, ptr %var1, i64 %idxprom
+  store i32 %add, ptr %arrayidx, align 4
+  %load.arrayidx7 = load i32, ptr %arrayidx7, align 4
   call void @llvm.convergent()
   %add8 = add nsw i32 %load.arrayidx7, %add
-  store i32 %add8, i32* %arrayidx7, align 4
+  store i32 %add8, ptr %arrayidx7, align 4
   %inc = add nuw i32 %j.113, 1
   %cmp2 = icmp ult i32 %inc, %itr
   br i1 %cmp2, label %for.body3, label %for.inc11
@@ -49,7 +49,7 @@ for.end13:                                        ; preds = %for.inc11, %entry
 ; CHECK-LABEL: @test_noduplicate(
 ; CHECK: call void @llvm.noduplicate()
 ; CHECK-NOT: call void @llvm.noduplicate()
-define i32 @test_noduplicate(i32* nocapture %var1, i32* nocapture readnone %var2, i32* nocapture %var3, i32 %itr) #2 {
+define i32 @test_noduplicate(ptr nocapture %var1, ptr nocapture readnone %var2, ptr nocapture %var3, i32 %itr) #2 {
 entry:
   %cmp14 = icmp eq i32 %itr, 0
   br i1 %cmp14, label %for.end13, label %for.cond1.preheader
@@ -63,18 +63,18 @@ for.cond1.preheader:                              ; preds = %entry, %for.inc11
 for.body3.lr.ph:                                  ; preds = %for.cond1.preheader
   %add = add i32 %i.015, %itr
   %idxprom6 = zext i32 %i.015 to i64
-  %arrayidx7 = getelementptr inbounds i32, i32* %var3, i64 %idxprom6
+  %arrayidx7 = getelementptr inbounds i32, ptr %var3, i64 %idxprom6
   br label %for.body3
 
 for.body3:                                        ; preds = %for.body3, %for.body3.lr.ph
   %j.113 = phi i32 [ %j.016, %for.body3.lr.ph ], [ %inc, %for.body3 ]
   %idxprom = zext i32 %j.113 to i64
-  %arrayidx = getelementptr inbounds i32, i32* %var1, i64 %idxprom
-  store i32 %add, i32* %arrayidx, align 4
-  %load.arrayidx7 = load i32, i32* %arrayidx7, align 4
+  %arrayidx = getelementptr inbounds i32, ptr %var1, i64 %idxprom
+  store i32 %add, ptr %arrayidx, align 4
+  %load.arrayidx7 = load i32, ptr %arrayidx7, align 4
   call void @llvm.noduplicate()
   %add8 = add nsw i32 %load.arrayidx7, %add
-  store i32 %add8, i32* %arrayidx7, align 4
+  store i32 %add8, ptr %arrayidx7, align 4
   %inc = add nuw i32 %j.113, 1
   %cmp2 = icmp ult i32 %inc, %itr
   br i1 %cmp2, label %for.body3, label %for.inc11

diff  --git a/llvm/test/Transforms/LoopVersioningLICM/loopversioningLICM1.ll b/llvm/test/Transforms/LoopVersioningLICM/loopversioningLICM1.ll
index 69cc1fde9220e..eec772c52bbb6 100644
--- a/llvm/test/Transforms/LoopVersioningLICM/loopversioningLICM1.ll
+++ b/llvm/test/Transforms/LoopVersioningLICM/loopversioningLICM1.ll
@@ -8,40 +8,39 @@
 ; CHECK: Loop: Loop at depth 2 containing: %for.body3<header><latch><exiting>
 ; CHECK-NEXT:   Loop Versioning found to be beneficial
 
-define i32 @foo(i32* nocapture %var1, i32* nocapture readnone %var2, i32* nocapture %var3, i32 %itr) #0 {
+define i32 @foo(ptr nocapture %var1, ptr nocapture readnone %var2, ptr nocapture %var3, i32 %itr) #0 {
 ; CHECK-LABEL: @foo(
 ; CHECK-NEXT:  entry:
 ; CHECK-NEXT:    [[CMP14:%.*]] = icmp eq i32 [[ITR:%.*]], 0
 ; CHECK-NEXT:    br i1 [[CMP14]], label [[FOR_END13:%.*]], label [[FOR_COND1_PREHEADER_PREHEADER:%.*]]
 ; CHECK:       for.cond1.preheader.preheader:
-; CHECK-NEXT:    [[SCEVGEP2:%.*]] = getelementptr i32, i32* [[VAR1:%.*]], i64 1
+; CHECK-NEXT:    [[UGLYGEP1:%.*]] = getelementptr i8, ptr [[VAR1:%.*]], i64 4
 ; CHECK-NEXT:    [[TMP0:%.*]] = add i32 [[ITR]], -1
 ; CHECK-NEXT:    br label [[FOR_COND1_PREHEADER:%.*]]
 ; CHECK:       for.cond1.preheader:
 ; CHECK-NEXT:    [[INDVAR:%.*]] = phi i64 [ 0, [[FOR_COND1_PREHEADER_PREHEADER]] ], [ [[INDVAR_NEXT:%.*]], [[FOR_INC11:%.*]] ]
 ; CHECK-NEXT:    [[J_016:%.*]] = phi i32 [ [[J_1_LCSSA:%.*]], [[FOR_INC11]] ], [ 0, [[FOR_COND1_PREHEADER_PREHEADER]] ]
 ; CHECK-NEXT:    [[I_015:%.*]] = phi i32 [ [[INC12:%.*]], [[FOR_INC11]] ], [ 0, [[FOR_COND1_PREHEADER_PREHEADER]] ]
-; CHECK-NEXT:    [[SCEVGEP5:%.*]] = getelementptr i32, i32* [[VAR3:%.*]], i64 [[INDVAR]]
-; CHECK-NEXT:    [[SCEVGEP56:%.*]] = bitcast i32* [[SCEVGEP5]] to i8*
-; CHECK-NEXT:    [[TMP1:%.*]] = add i64 [[INDVAR]], 1
-; CHECK-NEXT:    [[SCEVGEP7:%.*]] = getelementptr i32, i32* [[VAR3]], i64 [[TMP1]]
-; CHECK-NEXT:    [[SCEVGEP78:%.*]] = bitcast i32* [[SCEVGEP7]] to i8*
+; CHECK-NEXT:    [[TMP1:%.*]] = shl nuw nsw i64 [[INDVAR]], 2
+; CHECK-NEXT:    [[UGLYGEP3:%.*]] = getelementptr i8, ptr [[VAR3:%.*]], i64 [[TMP1]]
+; CHECK-NEXT:    [[TMP2:%.*]] = add i64 [[TMP1]], 4
+; CHECK-NEXT:    [[UGLYGEP4:%.*]] = getelementptr i8, ptr [[VAR3]], i64 [[TMP2]]
 ; CHECK-NEXT:    [[CMP212:%.*]] = icmp ult i32 [[J_016]], [[ITR]]
 ; CHECK-NEXT:    br i1 [[CMP212]], label [[FOR_BODY3_LVER_CHECK:%.*]], label [[FOR_INC11]]
 ; CHECK:       for.body3.lver.check:
 ; CHECK-NEXT:    [[ADD:%.*]] = add i32 [[I_015]], [[ITR]]
 ; CHECK-NEXT:    [[IDXPROM6:%.*]] = zext i32 [[I_015]] to i64
-; CHECK-NEXT:    [[ARRAYIDX7:%.*]] = getelementptr inbounds i32, i32* [[VAR3]], i64 [[IDXPROM6]]
-; CHECK-NEXT:    [[TMP2:%.*]] = zext i32 [[J_016]] to i64
-; CHECK-NEXT:    [[SCEVGEP:%.*]] = getelementptr i32, i32* [[VAR1]], i64 [[TMP2]]
-; CHECK-NEXT:    [[SCEVGEP1:%.*]] = bitcast i32* [[SCEVGEP]] to i8*
-; CHECK-NEXT:    [[TMP3:%.*]] = sub i32 [[TMP0]], [[J_016]]
-; CHECK-NEXT:    [[TMP4:%.*]] = zext i32 [[TMP3]] to i64
-; CHECK-NEXT:    [[TMP5:%.*]] = add i64 [[TMP2]], [[TMP4]]
-; CHECK-NEXT:    [[SCEVGEP3:%.*]] = getelementptr i32, i32* [[SCEVGEP2]], i64 [[TMP5]]
-; CHECK-NEXT:    [[SCEVGEP34:%.*]] = bitcast i32* [[SCEVGEP3]] to i8*
-; CHECK-NEXT:    [[BOUND0:%.*]] = icmp ult i8* [[SCEVGEP1]], [[SCEVGEP78]]
-; CHECK-NEXT:    [[BOUND1:%.*]] = icmp ult i8* [[SCEVGEP56]], [[SCEVGEP34]]
+; CHECK-NEXT:    [[ARRAYIDX7:%.*]] = getelementptr inbounds i32, ptr [[VAR3]], i64 [[IDXPROM6]]
+; CHECK-NEXT:    [[TMP3:%.*]] = zext i32 [[J_016]] to i64
+; CHECK-NEXT:    [[TMP4:%.*]] = shl nuw nsw i64 [[TMP3]], 2
+; CHECK-NEXT:    [[UGLYGEP:%.*]] = getelementptr i8, ptr [[VAR1]], i64 [[TMP4]]
+; CHECK-NEXT:    [[TMP5:%.*]] = sub i32 [[TMP0]], [[J_016]]
+; CHECK-NEXT:    [[TMP6:%.*]] = zext i32 [[TMP5]] to i64
+; CHECK-NEXT:    [[TMP7:%.*]] = shl nuw nsw i64 [[TMP6]], 2
+; CHECK-NEXT:    [[TMP8:%.*]] = add i64 [[TMP4]], [[TMP7]]
+; CHECK-NEXT:    [[UGLYGEP2:%.*]] = getelementptr i8, ptr [[UGLYGEP1]], i64 [[TMP8]]
+; CHECK-NEXT:    [[BOUND0:%.*]] = icmp ult ptr [[UGLYGEP]], [[UGLYGEP4]]
+; CHECK-NEXT:    [[BOUND1:%.*]] = icmp ult ptr [[UGLYGEP3]], [[UGLYGEP2]]
 ; CHECK-NEXT:    [[FOUND_CONFLICT:%.*]] = and i1 [[BOUND0]], [[BOUND1]]
 ; CHECK-NEXT:    br i1 [[FOUND_CONFLICT]], label [[FOR_BODY3_PH_LVER_ORIG:%.*]], label [[FOR_BODY3_PH:%.*]]
 ; CHECK:       for.body3.ph.lver.orig:
@@ -49,32 +48,32 @@ define i32 @foo(i32* nocapture %var1, i32* nocapture readnone %var2, i32* nocapt
 ; CHECK:       for.body3.lver.orig:
 ; CHECK-NEXT:    [[J_113_LVER_ORIG:%.*]] = phi i32 [ [[J_016]], [[FOR_BODY3_PH_LVER_ORIG]] ], [ [[INC_LVER_ORIG:%.*]], [[FOR_BODY3_LVER_ORIG]] ]
 ; CHECK-NEXT:    [[IDXPROM_LVER_ORIG:%.*]] = zext i32 [[J_113_LVER_ORIG]] to i64
-; CHECK-NEXT:    [[ARRAYIDX_LVER_ORIG:%.*]] = getelementptr inbounds i32, i32* [[VAR1]], i64 [[IDXPROM_LVER_ORIG]]
-; CHECK-NEXT:    store i32 [[ADD]], i32* [[ARRAYIDX_LVER_ORIG]], align 4
-; CHECK-NEXT:    [[TMP6:%.*]] = load i32, i32* [[ARRAYIDX7]], align 4
-; CHECK-NEXT:    [[ADD8_LVER_ORIG:%.*]] = add nsw i32 [[TMP6]], [[ADD]]
-; CHECK-NEXT:    store i32 [[ADD8_LVER_ORIG]], i32* [[ARRAYIDX7]], align 4
+; CHECK-NEXT:    [[ARRAYIDX_LVER_ORIG:%.*]] = getelementptr inbounds i32, ptr [[VAR1]], i64 [[IDXPROM_LVER_ORIG]]
+; CHECK-NEXT:    store i32 [[ADD]], ptr [[ARRAYIDX_LVER_ORIG]], align 4
+; CHECK-NEXT:    [[TMP9:%.*]] = load i32, ptr [[ARRAYIDX7]], align 4
+; CHECK-NEXT:    [[ADD8_LVER_ORIG:%.*]] = add nsw i32 [[TMP9]], [[ADD]]
+; CHECK-NEXT:    store i32 [[ADD8_LVER_ORIG]], ptr [[ARRAYIDX7]], align 4
 ; CHECK-NEXT:    [[INC_LVER_ORIG]] = add nuw i32 [[J_113_LVER_ORIG]], 1
 ; CHECK-NEXT:    [[CMP2_LVER_ORIG:%.*]] = icmp ult i32 [[INC_LVER_ORIG]], [[ITR]]
 ; CHECK-NEXT:    br i1 [[CMP2_LVER_ORIG]], label [[FOR_BODY3_LVER_ORIG]], label [[FOR_INC11_LOOPEXIT_LOOPEXIT:%.*]], !llvm.loop [[LOOP0:![0-9]+]]
 ; CHECK:       for.body3.ph:
-; CHECK-NEXT:    [[ARRAYIDX7_PROMOTED:%.*]] = load i32, i32* [[ARRAYIDX7]], align 4, !alias.scope !2, !noalias !2
+; CHECK-NEXT:    [[ARRAYIDX7_PROMOTED:%.*]] = load i32, ptr [[ARRAYIDX7]], align 4, !alias.scope !2, !noalias !2
 ; CHECK-NEXT:    br label [[FOR_BODY3:%.*]]
 ; CHECK:       for.body3:
-; CHECK-NEXT:    [[ADD810:%.*]] = phi i32 [ [[ARRAYIDX7_PROMOTED]], [[FOR_BODY3_PH]] ], [ [[ADD8:%.*]], [[FOR_BODY3]] ]
+; CHECK-NEXT:    [[ADD86:%.*]] = phi i32 [ [[ARRAYIDX7_PROMOTED]], [[FOR_BODY3_PH]] ], [ [[ADD8:%.*]], [[FOR_BODY3]] ]
 ; CHECK-NEXT:    [[J_113:%.*]] = phi i32 [ [[J_016]], [[FOR_BODY3_PH]] ], [ [[INC:%.*]], [[FOR_BODY3]] ]
 ; CHECK-NEXT:    [[IDXPROM:%.*]] = zext i32 [[J_113]] to i64
-; CHECK-NEXT:    [[ARRAYIDX:%.*]] = getelementptr inbounds i32, i32* [[VAR1]], i64 [[IDXPROM]]
-; CHECK-NEXT:    store i32 [[ADD]], i32* [[ARRAYIDX]], align 4, !alias.scope !2, !noalias !2
-; CHECK-NEXT:    [[ADD8]] = add nsw i32 [[ADD810]], [[ADD]]
+; CHECK-NEXT:    [[ARRAYIDX:%.*]] = getelementptr inbounds i32, ptr [[VAR1]], i64 [[IDXPROM]]
+; CHECK-NEXT:    store i32 [[ADD]], ptr [[ARRAYIDX]], align 4, !alias.scope !2, !noalias !2
+; CHECK-NEXT:    [[ADD8]] = add nsw i32 [[ADD86]], [[ADD]]
 ; CHECK-NEXT:    [[INC]] = add nuw i32 [[J_113]], 1
 ; CHECK-NEXT:    [[CMP2:%.*]] = icmp ult i32 [[INC]], [[ITR]]
-; CHECK-NEXT:    br i1 [[CMP2]], label [[FOR_BODY3]], label [[FOR_INC11_LOOPEXIT_LOOPEXIT9:%.*]], !llvm.loop [[LOOP5:![0-9]+]]
+; CHECK-NEXT:    br i1 [[CMP2]], label [[FOR_BODY3]], label [[FOR_INC11_LOOPEXIT_LOOPEXIT5:%.*]], !llvm.loop [[LOOP5:![0-9]+]]
 ; CHECK:       for.inc11.loopexit.loopexit:
 ; CHECK-NEXT:    br label [[FOR_INC11_LOOPEXIT:%.*]]
-; CHECK:       for.inc11.loopexit.loopexit9:
+; CHECK:       for.inc11.loopexit.loopexit5:
 ; CHECK-NEXT:    [[ADD8_LCSSA:%.*]] = phi i32 [ [[ADD8]], [[FOR_BODY3]] ]
-; CHECK-NEXT:    store i32 [[ADD8_LCSSA]], i32* [[ARRAYIDX7]], align 4, !alias.scope !2, !noalias !2
+; CHECK-NEXT:    store i32 [[ADD8_LCSSA]], ptr [[ARRAYIDX7]], align 4, !alias.scope !2, !noalias !2
 ; CHECK-NEXT:    br label [[FOR_INC11_LOOPEXIT]]
 ; CHECK:       for.inc11.loopexit:
 ; CHECK-NEXT:    br label [[FOR_INC11]]
@@ -105,17 +104,17 @@ for.cond1.preheader:                              ; preds = %for.cond1.preheader
 for.body3.lr.ph:                                  ; preds = %for.cond1.preheader
   %add = add i32 %i.015, %itr
   %idxprom6 = zext i32 %i.015 to i64
-  %arrayidx7 = getelementptr inbounds i32, i32* %var3, i64 %idxprom6
+  %arrayidx7 = getelementptr inbounds i32, ptr %var3, i64 %idxprom6
   br label %for.body3
 
 for.body3:                                        ; preds = %for.body3.lr.ph, %for.body3
   %j.113 = phi i32 [ %j.016, %for.body3.lr.ph ], [ %inc, %for.body3 ]
   %idxprom = zext i32 %j.113 to i64
-  %arrayidx = getelementptr inbounds i32, i32* %var1, i64 %idxprom
-  store i32 %add, i32* %arrayidx, align 4
-  %0 = load i32, i32* %arrayidx7, align 4
+  %arrayidx = getelementptr inbounds i32, ptr %var1, i64 %idxprom
+  store i32 %add, ptr %arrayidx, align 4
+  %0 = load i32, ptr %arrayidx7, align 4
   %add8 = add nsw i32 %0, %add
-  store i32 %add8, i32* %arrayidx7, align 4
+  store i32 %add8, ptr %arrayidx7, align 4
   %inc = add nuw i32 %j.113, 1
   %cmp2 = icmp ult i32 %inc, %itr
   br i1 %cmp2, label %for.body3, label %for.inc11.loopexit

diff  --git a/llvm/test/Transforms/LoopVersioningLICM/loopversioningLICM2.ll b/llvm/test/Transforms/LoopVersioningLICM/loopversioningLICM2.ll
index a7181f5cc00ff..22ca534be7ae0 100644
--- a/llvm/test/Transforms/LoopVersioningLICM/loopversioningLICM2.ll
+++ b/llvm/test/Transforms/LoopVersioningLICM/loopversioningLICM2.ll
@@ -7,12 +7,12 @@
 ; CHECK: Loop: Loop at depth 2 containing: %for.body3.us<header><latch><exiting>
 ; CHECK-NEXT:     Loop Versioning found to be beneficial
 ;
-; CHECK: for.cond1.for.inc17_crit_edge.us.loopexit9:       ; preds = %for.body3.us
+; CHECK: for.cond1.for.inc17_crit_edge.us.loopexit5:       ; preds = %for.body3.us
 ; CHECK-NEXT: %add14.us.lcssa = phi float [ %add14.us, %for.body3.us ]
-; CHECK-NEXT: store float %add14.us.lcssa, float* %arrayidx.us, align 4, !alias.scope !0, !noalias !0
+; CHECK-NEXT: store float %add14.us.lcssa, ptr %arrayidx.us, align 4, !alias.scope !0, !noalias !0
 ; CHECK-NEXT: br label %for.cond1.for.inc17_crit_edge.us
 ;
-define i32 @foo(float* nocapture %var2, float** nocapture readonly %var3, i32 %itr) #0 {
+define i32 @foo(ptr nocapture %var2, ptr nocapture readonly %var3, i32 %itr) #0 {
 entry:
   %cmp38 = icmp sgt i32 %itr, 1
   br i1 %cmp38, label %for.body3.lr.ph.us, label %for.end19
@@ -23,11 +23,11 @@ for.body3.us:                                     ; preds = %for.body3.us, %for.
   %1 = trunc i64 %indvars.iv to i32
   %conv.us = sitofp i32 %1 to float
   %add.us = fadd float %conv.us, %0
-  %arrayidx7.us = getelementptr inbounds float, float* %3, i64 %indvars.iv
-  store float %add.us, float* %arrayidx7.us, align 4
-  %2 = load float, float* %arrayidx.us, align 4
+  %arrayidx7.us = getelementptr inbounds float, ptr %3, i64 %indvars.iv
+  store float %add.us, ptr %arrayidx7.us, align 4
+  %2 = load float, ptr %arrayidx.us, align 4
   %add14.us = fadd float %2, %add.us
-  store float %add14.us, float* %arrayidx.us, align 4
+  store float %add14.us, ptr %arrayidx.us, align 4
   %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
   %lftr.wideiv = trunc i64 %indvars.iv.next to i32
   %exitcond = icmp eq i32 %lftr.wideiv, %itr
@@ -35,10 +35,10 @@ for.body3.us:                                     ; preds = %for.body3.us, %for.
 
 for.body3.lr.ph.us:                               ; preds = %entry, %for.cond1.for.inc17_crit_edge.us
   %indvars.iv40 = phi i64 [ %indvars.iv.next41, %for.cond1.for.inc17_crit_edge.us ], [ 1, %entry ]
-  %arrayidx.us = getelementptr inbounds float, float* %var2, i64 %indvars.iv40
-  %arrayidx6.us = getelementptr inbounds float*, float** %var3, i64 %indvars.iv40
-  %3 = load float*, float** %arrayidx6.us, align 8
-  %.pre = load float, float* %arrayidx.us, align 4
+  %arrayidx.us = getelementptr inbounds float, ptr %var2, i64 %indvars.iv40
+  %arrayidx6.us = getelementptr inbounds ptr, ptr %var3, i64 %indvars.iv40
+  %3 = load ptr, ptr %arrayidx6.us, align 8
+  %.pre = load float, ptr %arrayidx.us, align 4
   br label %for.body3.us
 
 for.cond1.for.inc17_crit_edge.us:                 ; preds = %for.body3.us

diff  --git a/llvm/test/Transforms/LoopVersioningLICM/loopversioningLICM3.ll b/llvm/test/Transforms/LoopVersioningLICM/loopversioningLICM3.ll
index 0db07edf0d0c9..ee7ba493c1d6a 100644
--- a/llvm/test/Transforms/LoopVersioningLICM/loopversioningLICM3.ll
+++ b/llvm/test/Transforms/LoopVersioningLICM/loopversioningLICM3.ll
@@ -8,7 +8,7 @@
 ; CHECK-NEXT:    LAA: Runtime check not found !!
 ; CHECK-NEXT:    Loop instructions not suitable for LoopVersioningLICM
 
-define i32 @foo(i32* nocapture %var1, i32 %itr) #0 {
+define i32 @foo(ptr nocapture %var1, i32 %itr) #0 {
 entry:
   %cmp18 = icmp eq i32 %itr, 0
   br i1 %cmp18, label %for.end8, label %for.cond1.preheader
@@ -25,10 +25,10 @@ for.body3.lr.ph:                                  ; preds = %for.cond1.preheader
 
 for.body3:                                        ; preds = %for.body3, %for.body3.lr.ph
   %indvars.iv = phi i64 [ %0, %for.body3.lr.ph ], [ %indvars.iv.next, %for.body3 ]
-  %arrayidx = getelementptr inbounds i32, i32* %var1, i64 %indvars.iv
-  %1 = load i32, i32* %arrayidx, align 4
+  %arrayidx = getelementptr inbounds i32, ptr %var1, i64 %indvars.iv
+  %1 = load i32, ptr %arrayidx, align 4
   %add = add nsw i32 %1, %itr
-  store i32 %add, i32* %arrayidx, align 4
+  store i32 %add, ptr %arrayidx, align 4
   %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
   %lftr.wideiv = trunc i64 %indvars.iv.next to i32
   %exitcond = icmp eq i32 %lftr.wideiv, %itr

diff  --git a/llvm/test/Transforms/LoopVersioningLICM/metadata.ll b/llvm/test/Transforms/LoopVersioningLICM/metadata.ll
index 3656218ac63c0..1b0faed7e75df 100644
--- a/llvm/test/Transforms/LoopVersioningLICM/metadata.ll
+++ b/llvm/test/Transforms/LoopVersioningLICM/metadata.ll
@@ -1,7 +1,7 @@
 ; RUN: opt < %s  -S -passes='function(loop-versioning-licm,loop-mssa(licm))' 2>&1 | FileCheck %s
 
 ; CHECK-LABEL: @without_metadata(
-define i32 @without_metadata(i32* nocapture %var1, i32* nocapture readnone %var2, i32* nocapture %var3, i32 %itr) #0 {
+define i32 @without_metadata(ptr nocapture %var1, ptr nocapture readnone %var2, ptr nocapture %var3, i32 %itr) #0 {
 entry:
   %cmp14 = icmp eq i32 %itr, 0
   br i1 %cmp14, label %for.end13, label %for.cond1.preheader.preheader
@@ -18,18 +18,18 @@ for.cond1.preheader:                              ; preds = %for.cond1.preheader
 for.body3.lr.ph:                                  ; preds = %for.cond1.preheader
   %add = add i32 %i.015, %itr
   %idxprom6 = zext i32 %i.015 to i64
-  %arrayidx7 = getelementptr inbounds i32, i32* %var3, i64 %idxprom6
+  %arrayidx7 = getelementptr inbounds i32, ptr %var3, i64 %idxprom6
   br label %for.body3
 
 for.body3:                                        ; preds = %for.body3.lr.ph, %for.body3
   %j.113 = phi i32 [ %j.016, %for.body3.lr.ph ], [ %inc, %for.body3 ]
   %idxprom = zext i32 %j.113 to i64
-  %arrayidx = getelementptr inbounds i32, i32* %var1, i64 %idxprom
-; CHECK: store i32 %add, i32* %arrayidx, align 4, !alias.scope {{.*}}, !noalias {{.*}}
-  store i32 %add, i32* %arrayidx, align 4
-  %0 = load i32, i32* %arrayidx7, align 4
+  %arrayidx = getelementptr inbounds i32, ptr %var1, i64 %idxprom
+; CHECK: store i32 %add, ptr %arrayidx, align 4, !alias.scope {{.*}}, !noalias {{.*}}
+  store i32 %add, ptr %arrayidx, align 4
+  %0 = load i32, ptr %arrayidx7, align 4
   %add8 = add nsw i32 %0, %add
-  store i32 %add8, i32* %arrayidx7, align 4
+  store i32 %add8, ptr %arrayidx7, align 4
   %inc = add nuw i32 %j.113, 1
   %cmp2 = icmp ult i32 %inc, %itr
   br i1 %cmp2, label %for.body3, label %for.inc11.loopexit
@@ -51,7 +51,7 @@ for.end13:                                        ; preds = %for.end13.loopexit,
 }
 
 ; CHECK-LABEL: @with_metadata(
-define i32 @with_metadata(i32* nocapture %var1, i32* nocapture readnone %var2, i32* nocapture %var3, i32 %itr) #0 {
+define i32 @with_metadata(ptr nocapture %var1, ptr nocapture readnone %var2, ptr nocapture %var3, i32 %itr) #0 {
 entry:
   %cmp14 = icmp eq i32 %itr, 0
   br i1 %cmp14, label %for.end13, label %for.cond1.preheader.preheader
@@ -68,18 +68,18 @@ for.cond1.preheader:                              ; preds = %for.cond1.preheader
 for.body3.lr.ph:                                  ; preds = %for.cond1.preheader
   %add = add i32 %i.015, %itr
   %idxprom6 = zext i32 %i.015 to i64
-  %arrayidx7 = getelementptr inbounds i32, i32* %var3, i64 %idxprom6
+  %arrayidx7 = getelementptr inbounds i32, ptr %var3, i64 %idxprom6
   br label %for.body3
 
 for.body3:                                        ; preds = %for.body3.lr.ph, %for.body3
   %j.113 = phi i32 [ %j.016, %for.body3.lr.ph ], [ %inc, %for.body3 ]
   %idxprom = zext i32 %j.113 to i64
-  %arrayidx = getelementptr inbounds i32, i32* %var1, i64 %idxprom
-; CHECK-NOT: store i32 %add, i32* %arrayidx, align 4, !alias.scope {{.*}}, !noalias {{.*}}
-  store i32 %add, i32* %arrayidx, align 4
-  %0 = load i32, i32* %arrayidx7, align 4
+  %arrayidx = getelementptr inbounds i32, ptr %var1, i64 %idxprom
+; CHECK-NOT: store i32 %add, ptr %arrayidx, align 4, !alias.scope {{.*}}, !noalias {{.*}}
+  store i32 %add, ptr %arrayidx, align 4
+  %0 = load i32, ptr %arrayidx7, align 4
   %add8 = add nsw i32 %0, %add
-  store i32 %add8, i32* %arrayidx7, align 4
+  store i32 %add8, ptr %arrayidx7, align 4
   %inc = add nuw i32 %j.113, 1
   %cmp2 = icmp ult i32 %inc, %itr
   br i1 %cmp2, label %for.body3, label %for.inc11.loopexit, !llvm.loop !0


        


More information about the llvm-commits mailing list