From a198d2041e8a5c9520d3df59887ca3c744b15d82 Mon Sep 17 00:00:00 2001 From: Matt Arsenault Date: Sat, 26 Nov 2022 16:16:47 -0500 Subject: [PATCH] Sink: Convert tests to opaque pointers --- llvm/test/Transforms/Sink/badloadsink.ll | 28 +++++++-------- llvm/test/Transforms/Sink/basic.ll | 40 ++++++++++----------- llvm/test/Transforms/Sink/call.ll | 38 ++++++++++---------- llvm/test/Transforms/Sink/catchswitch.ll | 8 ++--- llvm/test/Transforms/Sink/fence.ll | 10 +++--- llvm/test/Transforms/Sink/invariant-load.ll | 6 ++-- llvm/test/Transforms/Sink/landingpad.ll | 14 ++++---- 7 files changed, 72 insertions(+), 72 deletions(-) diff --git a/llvm/test/Transforms/Sink/badloadsink.ll b/llvm/test/Transforms/Sink/badloadsink.ll index a502170e77c4..230fc142aab2 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 790e38624969..3094d982d837 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 c0940673aaaf..ffa892cc71e2 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 1da1e86ad585..369309981642 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 21f6fb6a9488..6f52474e0528 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 c3bce49f56c7..1aab4a969632 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 b90ef610fff4..9415e0b933bb 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 }