[llvm] a198d20 - Sink: Convert tests to opaque pointers

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 28 05:55:15 PST 2022


Author: Matt Arsenault
Date: 2022-11-28T08:42:52-05:00
New Revision: a198d2041e8a5c9520d3df59887ca3c744b15d82

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

LOG: Sink: Convert tests to opaque pointers

Added: 
    

Modified: 
    llvm/test/Transforms/Sink/badloadsink.ll
    llvm/test/Transforms/Sink/basic.ll
    llvm/test/Transforms/Sink/call.ll
    llvm/test/Transforms/Sink/catchswitch.ll
    llvm/test/Transforms/Sink/fence.ll
    llvm/test/Transforms/Sink/invariant-load.ll
    llvm/test/Transforms/Sink/landingpad.ll

Removed: 
    


################################################################################
diff  --git a/llvm/test/Transforms/Sink/badloadsink.ll b/llvm/test/Transforms/Sink/badloadsink.ll
index a502170e77c45..230fc142aab20 100644
--- a/llvm/test/Transforms/Sink/badloadsink.ll
+++ b/llvm/test/Transforms/Sink/badloadsink.ll
@@ -1,25 +1,25 @@
 ; RUN: opt < %s -passes=sink -S | FileCheck %s
-declare void @foo(i64 *)
-declare i8* @llvm.load.relative.i32(i8* %ptr, i32 %offset) argmemonly nounwind readonly
-define i64 @sinkload(i1 %cmp, i8* %ptr, i32 %off) {
+declare void @foo(ptr)
+declare ptr @llvm.load.relative.i32(ptr %ptr, i32 %offset) argmemonly nounwind readonly
+define i64 @sinkload(i1 %cmp, ptr %ptr, i32 %off) {
 ; CHECK-LABEL: @sinkload
 top:
     %a = alloca i64
-; CHECK: call void @foo(i64* %a)
-; CHECK-NEXT: %x = load i64, i64* %a
-; CHECK-NEXT: %y = call i8* @llvm.load.relative.i32(i8* %ptr, i32 %off)
-    call void @foo(i64* %a)
-    %x = load i64, i64* %a
-    %y = call i8* @llvm.load.relative.i32(i8* %ptr, i32 %off)
+; CHECK: call void @foo(ptr %a)
+; CHECK-NEXT: %x = load i64, ptr %a
+; CHECK-NEXT: %y = call ptr @llvm.load.relative.i32(ptr %ptr, i32 %off)
+    call void @foo(ptr %a)
+    %x = load i64, ptr %a
+    %y = call ptr @llvm.load.relative.i32(ptr %ptr, i32 %off)
     br i1 %cmp, label %A, label %B
 A:
-    store i64 0, i64 *%a
-    store i8 0, i8 *%ptr
+    store i64 0, ptr %a
+    store i8 0, ptr %ptr
     br label %B
 B:
-; CHECK-NOT: load i64, i64 *%a
-; CHECK-NOT: call i8* @llvm.load.relative(i8* %ptr, i32 off)
-    %y2 = ptrtoint i8* %y to i64
+; CHECK-NOT: load i64, ptr %a
+; CHECK-NOT: call ptr @llvm.load.relative(ptr %ptr, i32 off)
+    %y2 = ptrtoint ptr %y to i64
     %retval = add i64 %y2, %x
     ret i64 %retval
 }

diff  --git a/llvm/test/Transforms/Sink/basic.ll b/llvm/test/Transforms/Sink/basic.ll
index 790e38624969c..3094d982d8377 100644
--- a/llvm/test/Transforms/Sink/basic.ll
+++ b/llvm/test/Transforms/Sink/basic.ll
@@ -9,12 +9,12 @@
 
 ;      CHECK-LABEL: @foo(
 ;      CHECK: true:
-; CHECK-NEXT: %l = load i32, i32* @A
+; CHECK-NEXT: %l = load i32, ptr @A
 ; CHECK-NEXT: ret i32 %l
 
 define i32 @foo(i1 %z) {
-  %l = load i32, i32* @A
-  store i32 0, i32* @B
+  %l = load i32, ptr @A
+  store i32 0, ptr @B
   br i1 %z, label %true, label %false
 true:
   ret i32 %l
@@ -29,8 +29,8 @@ false:
 ; CHECK-NEXT: store i32
 
 define i32 @foo2(i1 %z) {
-  %l = load volatile i32, i32* @A
-  store i32 0, i32* @B
+  %l = load volatile i32, ptr @A
+  store i32 0, ptr @B
   br i1 %z, label %true, label %false
 true:
   ret i32 %l
@@ -76,11 +76,11 @@ entry:
   br i1 %1, label %if, label %endif
 
 if:
-  %2 = getelementptr i32, i32* %0, i32 1
-  store i32 0, i32* %0
-  store i32 1, i32* %2
-  %3 = getelementptr i32, i32* %0, i32 %b
-  %4 = load i32, i32* %3
+  %2 = getelementptr i32, ptr %0, i32 1
+  store i32 0, ptr %0
+  store i32 1, ptr %2
+  %3 = getelementptr i32, ptr %0, i32 %b
+  %4 = load i32, ptr %3
   ret i32 %4
 
 endif:
@@ -101,11 +101,11 @@ entry:
   br i1 %1, label %if, label %endif
 
 if:
-  %2 = getelementptr i32, i32* %0, i32 1
-  store i32 0, i32* %0
-  store i32 1, i32* %2
-  %3 = getelementptr i32, i32* %0, i32 %b
-  %4 = load i32, i32* %3
+  %2 = getelementptr i32, ptr %0, i32 1
+  store i32 0, ptr %0
+  store i32 1, ptr %2
+  %3 = getelementptr i32, ptr %0, i32 %b
+  %4 = load i32, ptr %3
   ret i32 %4
 
 endif:
@@ -132,11 +132,11 @@ if0:
   br i1 %1, label %if, label %endif
 
 if:
-  %2 = getelementptr i32, i32* %0, i32 1
-  store i32 0, i32* %0
-  store i32 1, i32* %2
-  %3 = getelementptr i32, i32* %0, i32 %b
-  %4 = load i32, i32* %3
+  %2 = getelementptr i32, ptr %0, i32 1
+  store i32 0, ptr %0
+  store i32 1, ptr %2
+  %3 = getelementptr i32, ptr %0, i32 %b
+  %4 = load i32, ptr %3
   ret i32 %4
 
 endif:

diff  --git a/llvm/test/Transforms/Sink/call.ll b/llvm/test/Transforms/Sink/call.ll
index c0940673aaafc..ffa892cc71e2b 100644
--- a/llvm/test/Transforms/Sink/call.ll
+++ b/llvm/test/Transforms/Sink/call.ll
@@ -4,10 +4,10 @@
 declare i32 @f_load_global() nounwind willreturn readonly
 declare i32 @f_load_global_throwable() willreturn readonly
 declare i32 @f_load_global_may_not_return() nounwind readonly
-declare i32 @f_load_arg(i32*) nounwind willreturn readonly argmemonly
+declare i32 @f_load_arg(ptr) nounwind willreturn readonly argmemonly
 declare void @f_store_global(i32) nounwind willreturn
-declare void @f_store_arg(i32*) nounwind willreturn argmemonly
-declare void @f_readonly_arg(i32* readonly, i32*) nounwind willreturn argmemonly
+declare void @f_store_arg(ptr) nounwind willreturn argmemonly
+declare void @f_readonly_arg(ptr readonly, ptr) nounwind willreturn argmemonly
 declare i32 @f_readnone(i32) nounwind willreturn readnone
 
 @A = external global i32
@@ -68,16 +68,16 @@ false:
 
 define i32 @test_sink_argmem_store(i1 %z) {
 ; CHECK-LABEL: @test_sink_argmem_store(
-; CHECK-NEXT:    store i32 0, i32* @B, align 4
+; CHECK-NEXT:    store i32 0, ptr @B, align 4
 ; CHECK-NEXT:    br i1 [[Z:%.*]], label [[TRUE:%.*]], label [[FALSE:%.*]]
 ; CHECK:       true:
-; CHECK-NEXT:    [[L:%.*]] = call i32 @f_load_arg(i32* @A)
+; CHECK-NEXT:    [[L:%.*]] = call i32 @f_load_arg(ptr @A)
 ; CHECK-NEXT:    ret i32 [[L]]
 ; CHECK:       false:
 ; CHECK-NEXT:    ret i32 0
 ;
-  %l = call i32 @f_load_arg(i32* @A)
-  store i32 0, i32* @B
+  %l = call i32 @f_load_arg(ptr @A)
+  store i32 0, ptr @B
   br i1 %z, label %true, label %false
 true:
   ret i32 %l
@@ -87,16 +87,16 @@ false:
 
 define i32 @test_sink_argmem_call(i1 %z) {
 ; CHECK-LABEL: @test_sink_argmem_call(
-; CHECK-NEXT:    call void @f_store_arg(i32* @B)
+; CHECK-NEXT:    call void @f_store_arg(ptr @B)
 ; CHECK-NEXT:    br i1 [[Z:%.*]], label [[TRUE:%.*]], label [[FALSE:%.*]]
 ; CHECK:       true:
-; CHECK-NEXT:    [[L:%.*]] = call i32 @f_load_arg(i32* @A)
+; CHECK-NEXT:    [[L:%.*]] = call i32 @f_load_arg(ptr @A)
 ; CHECK-NEXT:    ret i32 [[L]]
 ; CHECK:       false:
 ; CHECK-NEXT:    ret i32 0
 ;
-  %l = call i32 @f_load_arg(i32* @A)
-  call void @f_store_arg(i32* @B)
+  %l = call i32 @f_load_arg(ptr @A)
+  call void @f_store_arg(ptr @B)
   br i1 %z, label %true, label %false
 true:
   ret i32 %l
@@ -106,16 +106,16 @@ false:
 
 define i32 @test_sink_argmem_multiple(i1 %z) {
 ; CHECK-LABEL: @test_sink_argmem_multiple(
-; CHECK-NEXT:    call void @f_readonly_arg(i32* @A, i32* @B)
+; CHECK-NEXT:    call void @f_readonly_arg(ptr @A, ptr @B)
 ; CHECK-NEXT:    br i1 [[Z:%.*]], label [[TRUE:%.*]], label [[FALSE:%.*]]
 ; CHECK:       true:
-; CHECK-NEXT:    [[L:%.*]] = call i32 @f_load_arg(i32* @A)
+; CHECK-NEXT:    [[L:%.*]] = call i32 @f_load_arg(ptr @A)
 ; CHECK-NEXT:    ret i32 [[L]]
 ; CHECK:       false:
 ; CHECK-NEXT:    ret i32 0
 ;
-  %l = call i32 @f_load_arg(i32* @A)
-  call void @f_readonly_arg(i32* @A, i32* @B)
+  %l = call i32 @f_load_arg(ptr @A)
+  call void @f_readonly_arg(ptr @A, ptr @B)
   br i1 %z, label %true, label %false
 true:
   ret i32 %l
@@ -127,7 +127,7 @@ false:
 define i32 @test_nosink_store(i1 %z) {
 ; CHECK-LABEL: @test_nosink_store(
 ; CHECK-NEXT:    [[L:%.*]] = call i32 @f_load_global()
-; CHECK-NEXT:    store i32 0, i32* @A, align 4
+; CHECK-NEXT:    store i32 0, ptr @A, align 4
 ; CHECK-NEXT:    br i1 [[Z:%.*]], label [[TRUE:%.*]], label [[FALSE:%.*]]
 ; CHECK:       true:
 ; CHECK-NEXT:    ret i32 [[L]]
@@ -135,7 +135,7 @@ define i32 @test_nosink_store(i1 %z) {
 ; CHECK-NEXT:    ret i32 0
 ;
   %l = call i32 @f_load_global()
-  store i32 0, i32* @A
+  store i32 0, ptr @A
   br i1 %z, label %true, label %false
 true:
   ret i32 %l
@@ -165,7 +165,7 @@ false:
 ; readnone calls are sunk across stores.
 define i32 @test_sink_readnone(i1 %z) {
 ; CHECK-LABEL: @test_sink_readnone(
-; CHECK-NEXT:    store i32 0, i32* @A, align 4
+; CHECK-NEXT:    store i32 0, ptr @A, align 4
 ; CHECK-NEXT:    br i1 [[Z:%.*]], label [[TRUE:%.*]], label [[FALSE:%.*]]
 ; CHECK:       true:
 ; CHECK-NEXT:    [[L:%.*]] = call i32 @f_readnone(i32 0)
@@ -174,7 +174,7 @@ define i32 @test_sink_readnone(i1 %z) {
 ; CHECK-NEXT:    ret i32 0
 ;
   %l = call i32 @f_readnone(i32 0)
-  store i32 0, i32* @A
+  store i32 0, ptr @A
   br i1 %z, label %true, label %false
 true:
   ret i32 %l

diff  --git a/llvm/test/Transforms/Sink/catchswitch.ll b/llvm/test/Transforms/Sink/catchswitch.ll
index 1da1e86ad5850..3693099816427 100644
--- a/llvm/test/Transforms/Sink/catchswitch.ll
+++ b/llvm/test/Transforms/Sink/catchswitch.ll
@@ -3,17 +3,17 @@
 target datalayout = "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32"
 target triple = "i686-pc-windows-msvc"
 
-define void @h() personality i32 (...)* @__CxxFrameHandler3 {
+define void @h() personality ptr @__CxxFrameHandler3 {
 entry:
   %call = call i32 @g(i32 1) readnone
-  invoke void @_CxxThrowException(i8* null, i8* null) noreturn
+  invoke void @_CxxThrowException(ptr null, ptr null) noreturn
           to label %unreachable unwind label %catch.dispatch
 
 catch.dispatch:                                   ; preds = %entry
   %cs = catchswitch within none [label %catch] unwind to caller
 
 catch:                                            ; preds = %catch.dispatch
-  %cp = catchpad within %cs [i8* null, i32 64, i8* null]
+  %cp = catchpad within %cs [ptr null, i32 64, ptr null]
   catchret from %cp to label %try.cont
 
 try.cont:                                         ; preds = %catch
@@ -24,7 +24,7 @@ unreachable:                                      ; preds = %entry
   unreachable
 }
 
-declare x86_stdcallcc void @_CxxThrowException(i8*, i8*)
+declare x86_stdcallcc void @_CxxThrowException(ptr, ptr)
 
 declare i32 @__CxxFrameHandler3(...)
 

diff  --git a/llvm/test/Transforms/Sink/fence.ll b/llvm/test/Transforms/Sink/fence.ll
index 21f6fb6a94887..6f52474e05288 100644
--- a/llvm/test/Transforms/Sink/fence.ll
+++ b/llvm/test/Transforms/Sink/fence.ll
@@ -2,11 +2,11 @@
 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
 target triple = "x86_64-unknown-linux-gnu"
 
-define void @test1(i32* ()*) {
+define void @test1(ptr) {
 entry:
-  %1 = call i32* %0() #0
+  %1 = call ptr %0() #0
   fence syncscope("singlethread") seq_cst
-  %2 = load i32, i32* %1, align 4
+  %2 = load i32, ptr %1, align 4
   fence syncscope("singlethread") seq_cst
   %3 = icmp eq i32 %2, 0
   br i1 %3, label %fail, label %pass
@@ -19,9 +19,9 @@ pass:                                             ; preds = %fail, %top
 }
 
 ; CHECK-LABEL: @test1(
-; CHECK:  %[[call:.*]] = call i32* %0()
+; CHECK:  %[[call:.*]] = call ptr %0()
 ; CHECK:  fence syncscope("singlethread") seq_cst
-; CHECK:  load i32, i32* %[[call]], align 4
+; CHECK:  load i32, ptr %[[call]], align 4
 ; CHECK:  fence syncscope("singlethread") seq_cst
 
 

diff  --git a/llvm/test/Transforms/Sink/invariant-load.ll b/llvm/test/Transforms/Sink/invariant-load.ll
index c3bce49f56c7b..1aab4a9696323 100644
--- a/llvm/test/Transforms/Sink/invariant-load.ll
+++ b/llvm/test/Transforms/Sink/invariant-load.ll
@@ -3,7 +3,7 @@
 
 ; Loads marked invariant can be sunk across critical edges
 
-define <4 x float> @invariant_load(<4 x float> *%in, i32 %s) {
+define <4 x float> @invariant_load(ptr %in, i32 %s) {
 ; CHECK-LABEL: @invariant_load(
 ; CHECK-NEXT:  main_body:
 ; CHECK-NEXT:    [[C:%.*]] = icmp eq i32 [[S:%.*]], 0
@@ -12,11 +12,11 @@ define <4 x float> @invariant_load(<4 x float> *%in, i32 %s) {
 ; CHECK-NEXT:    [[Z:%.*]] = add i32 [[S]], 1
 ; CHECK-NEXT:    br label [[END]]
 ; CHECK:       end:
-; CHECK-NEXT:    [[V:%.*]] = load <4 x float>, <4 x float>* [[IN:%.*]], align 16, !invariant.load !0
+; CHECK-NEXT:    [[V:%.*]] = load <4 x float>, ptr [[IN:%.*]], align 16, !invariant.load !0
 ; CHECK-NEXT:    ret <4 x float> [[V]]
 ;
 main_body:
-  %v = load <4 x float>, <4 x float> *%in, !invariant.load !0
+  %v = load <4 x float>, ptr %in, !invariant.load !0
   %c = icmp eq i32 %s, 0
   br i1 %c, label %block, label %end
 block:

diff  --git a/llvm/test/Transforms/Sink/landingpad.ll b/llvm/test/Transforms/Sink/landingpad.ll
index b90ef610fff4d..9415e0b933bbf 100644
--- a/llvm/test/Transforms/Sink/landingpad.ll
+++ b/llvm/test/Transforms/Sink/landingpad.ll
@@ -5,7 +5,7 @@ declare hidden void @g()
 declare void @h()
 declare i32 @__gxx_personality_v0(...)
 
-define void @f() personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) {
+define void @f() personality ptr @__gxx_personality_v0 {
 entry:
   invoke void @g()
           to label %invoke.cont.15 unwind label %lpad
@@ -14,20 +14,20 @@ invoke.cont.15:
   unreachable
 
 ; CHECK: lpad:
-; CHECK: %0 = landingpad { i8*, i32 }
+; CHECK: %0 = landingpad { ptr, i32 }
 lpad:
-  %0 = landingpad { i8*, i32 }
-          catch i8* null
+  %0 = landingpad { ptr, i32 }
+          catch ptr null
   invoke void @h()
           to label %invoke.cont unwind label %lpad.1
 
 ; CHECK: invoke.cont
-; CHECK-NOT: %0 = landingpad { i8*, i32 }
+; CHECK-NOT: %0 = landingpad { ptr, i32 }
 invoke.cont:
   ret void
 
 lpad.1:
-  %1 = landingpad { i8*, i32 }
+  %1 = landingpad { ptr, i32 }
           cleanup
-  resume { i8*, i32 } %1
+  resume { ptr, i32 } %1
 }


        


More information about the llvm-commits mailing list