[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