[llvm] e1323aa - [AArch64] Convert some tests to opaque pointers (NFC)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 20 03:24:05 PST 2022


Author: Nikita Popov
Date: 2022-12-20T12:22:02+01:00
New Revision: e1323aa1d899652226b5fee3f05848a11169334f

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

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

Nothing interesting, but required some fixups to MIR.

Added: 
    

Modified: 
    llvm/test/CodeGen/AArch64/loop-sink-limit.mir
    llvm/test/CodeGen/AArch64/loop-sink.mir

Removed: 
    


################################################################################
diff  --git a/llvm/test/CodeGen/AArch64/loop-sink-limit.mir b/llvm/test/CodeGen/AArch64/loop-sink-limit.mir
index 0a886925ffab..3e18f95cab84 100644
--- a/llvm/test/CodeGen/AArch64/loop-sink-limit.mir
+++ b/llvm/test/CodeGen/AArch64/loop-sink-limit.mir
@@ -20,7 +20,7 @@
     br i1 %cmp63, label %for.body.preheader, label %for.cond.cleanup
 
   for.body.preheader:                               ; preds = %entry
-    %0 = load i32, i32* getelementptr inbounds ([100 x i32], [100 x i32]* @A, i64 0, i64 0), align 4
+    %0 = load i32, ptr @A, align 4
     br label %for.body
 
   for.cond.cleanup:                                 ; preds = %for.body, %entry
@@ -99,7 +99,7 @@ body:             |
   ; SINK1: bb.1.for.body.preheader:
   ; SINK1:   successors: %bb.3(0x80000000)
   ; SINK1:   [[ADRP:%[0-9]+]]:gpr64common = ADRP target-flags(aarch64-page) @A
-  ; SINK1:   [[LDRWui:%[0-9]+]]:gpr32 = LDRWui killed [[ADRP]], target-flags(aarch64-pageoff, aarch64-nc) @A :: (dereferenceable load (s32) from `i32* getelementptr inbounds ([100 x i32], [100 x i32]* @A, i64 0, i64 0)`)
+  ; SINK1:   [[LDRWui:%[0-9]+]]:gpr32 = LDRWui killed [[ADRP]], target-flags(aarch64-pageoff, aarch64-nc) @A :: (dereferenceable load (s32) from @A)
   ; SINK1:   B %bb.3
   ; SINK1: bb.2.for.cond.cleanup:
   ; SINK1:   [[PHI:%[0-9]+]]:gpr32all = PHI [[COPY]], %bb.0, %4, %bb.3
@@ -126,7 +126,7 @@ body:             |
   ; SINK2: bb.1.for.body.preheader:
   ; SINK2:   successors: %bb.3(0x80000000)
   ; SINK2:   [[ADRP:%[0-9]+]]:gpr64common = ADRP target-flags(aarch64-page) @A
-  ; SINK2:   [[LDRWui:%[0-9]+]]:gpr32 = LDRWui killed [[ADRP]], target-flags(aarch64-pageoff, aarch64-nc) @A :: (dereferenceable load (s32) from `i32* getelementptr inbounds ([100 x i32], [100 x i32]* @A, i64 0, i64 0)`)
+  ; SINK2:   [[LDRWui:%[0-9]+]]:gpr32 = LDRWui killed [[ADRP]], target-flags(aarch64-pageoff, aarch64-nc) @A :: (dereferenceable load (s32) from @A)
   ; SINK2:   B %bb.3
   ; SINK2: bb.2.for.cond.cleanup:
   ; SINK2:   [[PHI:%[0-9]+]]:gpr32all = PHI [[COPY]], %bb.0, %4, %bb.3
@@ -155,7 +155,7 @@ body:             |
     successors: %bb.3(0x80000000)
 
     %8:gpr64common = ADRP target-flags(aarch64-page) @A
-    %9:gpr32 = LDRWui killed %8, target-flags(aarch64-pageoff, aarch64-nc) @A :: (dereferenceable load (s32) from `i32* getelementptr inbounds ([100 x i32], [100 x i32]* @A, i64 0, i64 0)`)
+    %9:gpr32 = LDRWui killed %8, target-flags(aarch64-pageoff, aarch64-nc) @A :: (dereferenceable load (s32) from @A)
     B %bb.3
 
   bb.2.for.cond.cleanup:

diff  --git a/llvm/test/CodeGen/AArch64/loop-sink.mir b/llvm/test/CodeGen/AArch64/loop-sink.mir
index 5ab0951350b3..b571a3e95d27 100644
--- a/llvm/test/CodeGen/AArch64/loop-sink.mir
+++ b/llvm/test/CodeGen/AArch64/loop-sink.mir
@@ -8,19 +8,19 @@
 
   @A = external dso_local global [100 x i32], align 4
 
-  define void @cant_sink_adds_call_in_block(i8* nocapture readonly %input, %struct.A* %a) {
+  define void @cant_sink_adds_call_in_block(ptr nocapture readonly %input, ptr %a) {
   bb:
-    %i = getelementptr inbounds %struct.A, %struct.A* %a, i64 0, i32 1
-    %i1 = getelementptr inbounds %struct.A, %struct.A* %a, i64 0, i32 2
-    %i2 = getelementptr inbounds %struct.A, %struct.A* %a, i64 0, i32 3
-    %i3 = getelementptr inbounds %struct.A, %struct.A* %a, i64 0, i32 4
-    %i4 = getelementptr inbounds %struct.A, %struct.A* %a, i64 0, i32 5
-    %scevgep = getelementptr i8, i8* %input, i64 1
+    %i = getelementptr inbounds %struct.A, ptr %a, i64 0, i32 1
+    %i1 = getelementptr inbounds %struct.A, ptr %a, i64 0, i32 2
+    %i2 = getelementptr inbounds %struct.A, ptr %a, i64 0, i32 3
+    %i3 = getelementptr inbounds %struct.A, ptr %a, i64 0, i32 4
+    %i4 = getelementptr inbounds %struct.A, ptr %a, i64 0, i32 5
+    %scevgep = getelementptr i8, ptr %input, i64 1
     br label %.backedge
 
   .backedge:                                        ; preds = %.backedge.backedge, %bb
-    %lsr.iv = phi i8* [ %scevgep1, %.backedge.backedge ], [ %scevgep, %bb ]
-    %i5 = load i8, i8* %lsr.iv, align 1
+    %lsr.iv = phi ptr [ %scevgep1, %.backedge.backedge ], [ %scevgep, %bb ]
+    %i5 = load i8, ptr %lsr.iv, align 1
     %i6 = zext i8 %i5 to i32
     switch i32 %i6, label %.backedge.backedge [
       i32 0, label %bb7
@@ -32,32 +32,31 @@
     ]
 
   bb7:                                              ; preds = %.backedge
-    %i8 = bitcast %struct.A* %a to i32*
-    tail call void @_Z6assignPj(i32* %i8)
+    tail call void @_Z6assignPj(ptr %a)
     br label %.backedge.backedge
 
   bb9:                                              ; preds = %.backedge
-    tail call void @_Z6assignPj(i32* %i)
+    tail call void @_Z6assignPj(ptr %i)
     br label %.backedge.backedge
 
   bb10:                                             ; preds = %.backedge
-    tail call void @_Z6assignPj(i32* %i1)
+    tail call void @_Z6assignPj(ptr %i1)
     br label %.backedge.backedge
 
   bb11:                                             ; preds = %.backedge
-    tail call void @_Z6assignPj(i32* %i2)
+    tail call void @_Z6assignPj(ptr %i2)
     br label %.backedge.backedge
 
   bb12:                                             ; preds = %.backedge
-    tail call void @_Z6assignPj(i32* %i3)
+    tail call void @_Z6assignPj(ptr %i3)
     br label %.backedge.backedge
 
   bb13:                                             ; preds = %.backedge
-    tail call void @_Z6assignPj(i32* %i4)
+    tail call void @_Z6assignPj(ptr %i4)
     br label %.backedge.backedge
 
   .backedge.backedge:                               ; preds = %bb13, %bb12, %bb11, %bb10, %bb9, %bb7, %.backedge
-    %scevgep1 = getelementptr i8, i8* %lsr.iv, i64 1
+    %scevgep1 = getelementptr i8, ptr %lsr.iv, i64 1
     br label %.backedge
   }
 
@@ -67,7 +66,7 @@
     br i1 %cmp63, label %for.body.preheader, label %for.cond.cleanup
 
   for.body.preheader:                               ; preds = %entry
-    %i = load i32, i32* getelementptr inbounds ([100 x i32], [100 x i32]* @A, i64 0, i64 0), align 4
+    %i = load i32, ptr @A, align 4
     %call0 = tail call i32 @use(i32 %n)
     br label %for.body
 
@@ -90,7 +89,7 @@
     br i1 %cmp63, label %for.body.preheader, label %for.cond.cleanup
 
   for.body.preheader:                               ; preds = %entry
-    %i = load i32, i32* getelementptr inbounds ([100 x i32], [100 x i32]* @A, i64 0, i64 0), align 4
+    %i = load i32, ptr @A, align 4
     %call0 = tail call i32 @use(i32 %i)
     br label %for.body
 
@@ -113,7 +112,7 @@
     br i1 %cmp63, label %for.body.preheader, label %for.cond.cleanup
 
   for.body.preheader:                               ; preds = %entry
-    %i = load i32, i32* getelementptr inbounds ([100 x i32], [100 x i32]* @A, i64 0, i64 0), align 4
+    %i = load i32, ptr @A, align 4
     br label %for.body
 
   for.cond.cleanup:                                 ; preds = %for.body, %entry
@@ -137,7 +136,7 @@
     br i1 %cmp63, label %for.body.preheader, label %for.cond.cleanup
 
   for.body.preheader:                               ; preds = %entry
-    %i = load i32, i32* getelementptr inbounds ([100 x i32], [100 x i32]* @A, i64 0, i64 0), align 4
+    %i = load i32, ptr @A, align 4
     br label %for.body
 
   for.cond.cleanup:                                 ; preds = %for.body, %entry
@@ -153,9 +152,9 @@
     br i1 %exitcond.not, label %for.cond.cleanup, label %for.body
   }
 
-  define dso_local void @sink_add(i32* noalias nocapture readonly %read, i32* noalias nocapture %write, i32 %n) local_unnamed_addr {
+  define dso_local void @sink_add(ptr noalias nocapture readonly %read, ptr noalias nocapture %write, i32 %n) local_unnamed_addr {
   entry:
-    %i = load i32, i32* %read, align 4, !tbaa !0
+    %i = load i32, ptr %read, align 4, !tbaa !0
     %cmp10 = icmp sgt i32 %n, 0
     br i1 %cmp10, label %for.body.preheader, label %for.cond.cleanup
 
@@ -165,7 +164,7 @@
 
   for.cond.cleanup:                                 ; preds = %for.body, %entry
     %sum.0.lcssa = phi i32 [ %n, %entry ], [ %div, %for.body ]
-    store i32 %sum.0.lcssa, i32* %write, align 4, !tbaa !0
+    store i32 %sum.0.lcssa, ptr %write, align 4, !tbaa !0
     ret void
 
   for.body:                                         ; preds = %for.body, %for.body.preheader
@@ -179,20 +178,20 @@
     br i1 %exitcond.not, label %for.cond.cleanup, label %for.body
   }
 
-  define dso_local void @store_after_add(i32* noalias nocapture readonly %read, i32* noalias nocapture %write, i32* nocapture %store, i32 %n) local_unnamed_addr {
+  define dso_local void @store_after_add(ptr noalias nocapture readonly %read, ptr noalias nocapture %write, ptr nocapture %store, i32 %n) local_unnamed_addr {
   entry:
-    %i = load i32, i32* %read, align 4, !tbaa !0
+    %i = load i32, ptr %read, align 4, !tbaa !0
     %cmp10 = icmp sgt i32 %n, 0
     br i1 %cmp10, label %for.body.preheader, label %for.cond.cleanup
 
   for.body.preheader:                               ; preds = %entry
     %i1 = add i32 %i, 42
-    store i32 43, i32* %store, align 4, !tbaa !0
+    store i32 43, ptr %store, align 4, !tbaa !0
     br label %for.body
 
   for.cond.cleanup:                                 ; preds = %for.body, %entry
     %sum.0.lcssa = phi i32 [ %n, %entry ], [ %div, %for.body ]
-    store i32 %sum.0.lcssa, i32* %write, align 4, !tbaa !0
+    store i32 %sum.0.lcssa, ptr %write, align 4, !tbaa !0
     ret void
 
   for.body:                                         ; preds = %for.body, %for.body.preheader
@@ -206,20 +205,20 @@
     br i1 %exitcond.not, label %for.cond.cleanup, label %for.body, !llvm.loop !4
   }
 
-  define dso_local void @aliased_store_after_add(i32* noalias nocapture readonly %read, i32* noalias nocapture %write, i32* nocapture %store, i32 %n) local_unnamed_addr {
+  define dso_local void @aliased_store_after_add(ptr noalias nocapture readonly %read, ptr noalias nocapture %write, ptr nocapture %store, i32 %n) local_unnamed_addr {
   entry:
-    %i = load i32, i32* %read, align 4, !tbaa !0
+    %i = load i32, ptr %read, align 4, !tbaa !0
     %cmp10 = icmp sgt i32 %n, 0
     br i1 %cmp10, label %for.body.preheader, label %for.cond.cleanup
 
   for.body.preheader:                               ; preds = %entry
     %i1 = add i32 %i, 42
-    store i32 43, i32* %read, align 4, !tbaa !0
+    store i32 43, ptr %read, align 4, !tbaa !0
     br label %for.body
 
   for.cond.cleanup:                                 ; preds = %for.body, %entry
     %sum.0.lcssa = phi i32 [ %n, %entry ], [ %div, %for.body ]
-    store i32 %sum.0.lcssa, i32* %write, align 4, !tbaa !0
+    store i32 %sum.0.lcssa, ptr %write, align 4, !tbaa !0
     ret void
 
   for.body:                                         ; preds = %for.body, %for.body.preheader
@@ -235,7 +234,7 @@
 
   declare i32 @use(i32)
 
-  declare void @_Z6assignPj(i32*)
+  declare void @_Z6assignPj(ptr)
 
   !0 = !{!1, !1, i64 0}
   !1 = !{!"int", !2, i64 0}
@@ -581,7 +580,7 @@ body:             |
   ; CHECK-NEXT:   successors: %bb.3(0x80000000)
   ; CHECK-NEXT: {{  $}}
   ; CHECK-NEXT:   [[ADRP:%[0-9]+]]:gpr64common = ADRP target-flags(aarch64-page) @A
-  ; CHECK-NEXT:   [[LDRWui:%[0-9]+]]:gpr32 = LDRWui killed [[ADRP]], target-flags(aarch64-pageoff, aarch64-nc) @A :: (dereferenceable load (s32) from `i32* getelementptr inbounds ([100 x i32], [100 x i32]* @A, i64 0, i64 0)`)
+  ; CHECK-NEXT:   [[LDRWui:%[0-9]+]]:gpr32 = LDRWui killed [[ADRP]], target-flags(aarch64-pageoff, aarch64-nc) @A :: (dereferenceable load (s32) from @A)
   ; CHECK-NEXT:   ADJCALLSTACKDOWN 0, 0, implicit-def dead $sp, implicit $sp
   ; CHECK-NEXT:   $w0 = COPY [[COPY]]
   ; CHECK-NEXT:   BL @use, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit $w0, implicit-def $sp, implicit-def $w0
@@ -617,7 +616,7 @@ body:             |
     successors: %bb.3(0x80000000)
 
     %8:gpr64common = ADRP target-flags(aarch64-page) @A
-    %9:gpr32 = LDRWui killed %8, target-flags(aarch64-pageoff, aarch64-nc) @A :: (dereferenceable load (s32) from `i32* getelementptr inbounds ([100 x i32], [100 x i32]* @A, i64 0, i64 0)`)
+    %9:gpr32 = LDRWui killed %8, target-flags(aarch64-pageoff, aarch64-nc) @A :: (dereferenceable load (s32) from @A)
     ADJCALLSTACKDOWN 0, 0, implicit-def dead $sp, implicit $sp
     $w0 = COPY %6
     BL @use, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit $w0, implicit-def $sp, implicit-def $w0
@@ -708,7 +707,7 @@ body:             |
   ; CHECK-NEXT:   successors: %bb.3(0x80000000)
   ; CHECK-NEXT: {{  $}}
   ; CHECK-NEXT:   [[ADRP:%[0-9]+]]:gpr64common = ADRP target-flags(aarch64-page) @A
-  ; CHECK-NEXT:   [[LDRWui:%[0-9]+]]:gpr32 = LDRWui killed [[ADRP]], target-flags(aarch64-pageoff, aarch64-nc) @A :: (dereferenceable load (s32) from `i32* getelementptr inbounds ([100 x i32], [100 x i32]* @A, i64 0, i64 0)`)
+  ; CHECK-NEXT:   [[LDRWui:%[0-9]+]]:gpr32 = LDRWui killed [[ADRP]], target-flags(aarch64-pageoff, aarch64-nc) @A :: (dereferenceable load (s32) from @A)
   ; CHECK-NEXT:   ADJCALLSTACKDOWN 0, 0, implicit-def dead $sp, implicit $sp
   ; CHECK-NEXT:   $w0 = COPY [[LDRWui]]
   ; CHECK-NEXT:   BL @use, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit $w0, implicit-def $sp, implicit-def $w0
@@ -744,7 +743,7 @@ body:             |
     successors: %bb.3(0x80000000)
 
     %8:gpr64common = ADRP target-flags(aarch64-page) @A
-    %9:gpr32 = LDRWui killed %8, target-flags(aarch64-pageoff, aarch64-nc) @A :: (dereferenceable load (s32) from `i32* getelementptr inbounds ([100 x i32], [100 x i32]* @A, i64 0, i64 0)`)
+    %9:gpr32 = LDRWui killed %8, target-flags(aarch64-pageoff, aarch64-nc) @A :: (dereferenceable load (s32) from @A)
     ADJCALLSTACKDOWN 0, 0, implicit-def dead $sp, implicit $sp
     $w0 = COPY %9
     BL @use, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit $w0, implicit-def $sp, implicit-def $w0
@@ -844,7 +843,7 @@ body:             |
   ; CHECK-NEXT:   successors: %bb.3(0x80000000)
   ; CHECK-NEXT: {{  $}}
   ; CHECK-NEXT:   [[ADRP:%[0-9]+]]:gpr64common = ADRP target-flags(aarch64-page) @A
-  ; CHECK-NEXT:   [[LDRWui:%[0-9]+]]:gpr32 = LDRWui killed [[ADRP]], target-flags(aarch64-pageoff, aarch64-nc) @A :: (dereferenceable load (s32) from `i32* getelementptr inbounds ([100 x i32], [100 x i32]* @A, i64 0, i64 0)`)
+  ; CHECK-NEXT:   [[LDRWui:%[0-9]+]]:gpr32 = LDRWui killed [[ADRP]], target-flags(aarch64-pageoff, aarch64-nc) @A :: (dereferenceable load (s32) from @A)
   ; CHECK-NEXT:   [[COPY3:%[0-9]+]]:gpr32all = COPY [[LDRWui]]
   ; CHECK-NEXT:   B %bb.3
   ; CHECK-NEXT: {{  $}}
@@ -887,7 +886,7 @@ body:             |
     successors: %bb.3(0x80000000)
 
     %11:gpr64common = ADRP target-flags(aarch64-page) @A
-    %12:gpr32 = LDRWui killed %11, target-flags(aarch64-pageoff, aarch64-nc) @A :: (dereferenceable load (s32) from `i32* getelementptr inbounds ([100 x i32], [100 x i32]* @A, i64 0, i64 0)`)
+    %12:gpr32 = LDRWui killed %11, target-flags(aarch64-pageoff, aarch64-nc) @A :: (dereferenceable load (s32) from @A)
     %0:gpr32all = COPY %12
     B %bb.3
 
@@ -978,7 +977,7 @@ body:             |
   ; CHECK-NEXT:   successors: %bb.3(0x80000000)
   ; CHECK-NEXT: {{  $}}
   ; CHECK-NEXT:   [[ADRP:%[0-9]+]]:gpr64common = ADRP target-flags(aarch64-page) @A
-  ; CHECK-NEXT:   [[LDRWui:%[0-9]+]]:gpr32 = LDRWui killed [[ADRP]], target-flags(aarch64-pageoff, aarch64-nc) @A :: (dereferenceable load (s32) from `i32* getelementptr inbounds ([100 x i32], [100 x i32]* @A, i64 0, i64 0)`)
+  ; CHECK-NEXT:   [[LDRWui:%[0-9]+]]:gpr32 = LDRWui killed [[ADRP]], target-flags(aarch64-pageoff, aarch64-nc) @A :: (dereferenceable load (s32) from @A)
   ; CHECK-NEXT:   B %bb.3
   ; CHECK-NEXT: {{  $}}
   ; CHECK-NEXT: bb.2.for.cond.cleanup:
@@ -1010,7 +1009,7 @@ body:             |
     successors: %bb.3(0x80000000)
 
     %8:gpr64common = ADRP target-flags(aarch64-page) @A
-    %9:gpr32 = LDRWui killed %8, target-flags(aarch64-pageoff, aarch64-nc) @A :: (dereferenceable load (s32) from `i32* getelementptr inbounds ([100 x i32], [100 x i32]* @A, i64 0, i64 0)`)
+    %9:gpr32 = LDRWui killed %8, target-flags(aarch64-pageoff, aarch64-nc) @A :: (dereferenceable load (s32) from @A)
     B %bb.3
 
   bb.2.for.cond.cleanup:


        


More information about the llvm-commits mailing list