[Linker] Convert test to opaque pointers (NFC)
authorNikita Popov <npopov@redhat.com>
Wed, 14 Dec 2022 11:48:21 +0000 (12:48 +0100)
committerNikita Popov <npopov@redhat.com>
Wed, 14 Dec 2022 11:49:44 +0000 (12:49 +0100)
All the pointer-indirected cases are no longer relevant with
opaque pointers. To preserve at least some of the test intent,
switch to by value passing of the unnamed types. Otherwise we
wouldn't be testing anything at all.

llvm/test/Linker/intrinsics-with-unnamed-types.ll

index 76287f6..0772a76 100644 (file)
 %0 = type opaque
 
 ; CHECK-LABEL: @test01(
-; CHECK:       %cmp1 = icmp ne %0* %arg, null
-; CHECK-NEXT:  %c1 = call %0* @llvm.ssa.copy.p0s_s.0(%0* %arg)
-; CHECK-NEXT:  %c2 = call %1* @llvm.ssa.copy.p0s_s.1(%1* %tmp)
-; CHECK-NEXT:  %c3a = call %0** @llvm.ssa.copy.p0p0s_s.0(%0** %arg2)
-; CHECK-NEXT:  %c3b = call %0** @llvm.ssa.copy.p0p0s_s.0(%0** %arg2)
-; CHECK-NEXT:  %c4a = call %1** @llvm.ssa.copy.p0p0s_s.1(%1** %tmp2)
-; CHECK-NEXT:  %c4ba = call %1** @llvm.ssa.copy.p0p0s_s.1(%1** %tmp2)
-; CHECK-NEXT:  %c5 = call %0*** @llvm.ssa.copy.p0p0p0s_s.0(%0*** %arg3)
-; CHECK-NEXT:  %c6 = call %1*** @llvm.ssa.copy.p0p0p0s_s.1(%1*** %tmp3)
+; CHECK:       %c1 = call %0 @llvm.ssa.copy.s_s.0(%0 %arg)
+; CHECK-NEXT:  %c2 = call %1 @llvm.ssa.copy.s_s.1(%1 %tmp)
 
-define void @test01(%0* %arg, %1* %tmp, %1** %tmp2, %0** %arg2, %1*** %tmp3, %0*** %arg3) {
+define void @test01(%0 %arg, %1 %tmp) {
 bb:
-  %cmp1 = icmp ne %0* %arg, null
-  %c1 = call %0* @llvm.ssa.copy.p0s_s.0(%0* %arg)
-  %c2 = call %1* @llvm.ssa.copy.p0s_s.1(%1* %tmp)
-  %c3a = call %0** @llvm.ssa.copy.p0p0s_s.1(%0** %arg2)
-  %c3b = call %0** @llvm.ssa.copy.p0p0s_s.1(%0** %arg2)
-  %c4a = call %1** @llvm.ssa.copy.p0p0s_s.0(%1** %tmp2)
-  %c4ba = call %1** @llvm.ssa.copy.p0p0s_s.0(%1** %tmp2)
-  %c5 = call %0*** @llvm.ssa.copy.p0p0p0s_s.1(%0*** %arg3)
-  %c6 = call %1*** @llvm.ssa.copy.p0p0p0s_s.0(%1*** %tmp3)
+  %c1 = call %0 @llvm.ssa.copy.s_s.0(%0 %arg)
+  %c2 = call %1 @llvm.ssa.copy.s_s.1(%1 %tmp)
   ret void
 }
 
-declare %0* @llvm.ssa.copy.p0s_s.0(%0* returned)
+declare %0 @llvm.ssa.copy.s_s.0(%0 returned)
 
-declare %1* @llvm.ssa.copy.p0s_s.1(%1* returned)
-
-declare %0** @llvm.ssa.copy.p0p0s_s.1(%0** returned)
-
-declare %1** @llvm.ssa.copy.p0p0s_s.0(%1** returned)
-
-declare %0*** @llvm.ssa.copy.p0p0p0s_s.1(%0*** returned)
-
-declare %1*** @llvm.ssa.copy.p0p0p0s_s.0(%1*** returned)
+declare %1 @llvm.ssa.copy.s_s.1(%1 returned)
 
 ; now with recycling of previous declarations:
 ; CHECK-LABEL: @test02(
-; CHECK:       %cmp1 = icmp ne %0* %arg, null
-; CHECK-NEXT:  %c4a = call %1** @llvm.ssa.copy.p0p0s_s.1(%1** %tmp2)
-; CHECK-NEXT:  %c6 = call %1*** @llvm.ssa.copy.p0p0p0s_s.1(%1*** %tmp3)
-; CHECK-NEXT:  %c1 = call %0* @llvm.ssa.copy.p0s_s.0(%0* %arg)
-; CHECK-NEXT:  %c2 = call %1* @llvm.ssa.copy.p0s_s.1(%1* %tmp)
-; CHECK-NEXT:  %c3b = call %0** @llvm.ssa.copy.p0p0s_s.0(%0** %arg2)
-; CHECK-NEXT:  %c4ba = call %1** @llvm.ssa.copy.p0p0s_s.1(%1** %tmp2)
-; CHECK-NEXT:  %c5 = call %0*** @llvm.ssa.copy.p0p0p0s_s.0(%0*** %arg3)
+; CHECK:       %c1 = call %0 @llvm.ssa.copy.s_s.0(%0 %arg)
+; CHECK-NEXT:  %c2 = call %1 @llvm.ssa.copy.s_s.1(%1 %tmp)
 
-define void @test02(%0* %arg, %1* %tmp, %1** %tmp2, %0** %arg2, %1*** %tmp3, %0*** %arg3) {
+define void @test02(%0 %arg, %1 %tmp) {
 bb:
-  %cmp1 = icmp ne %0* %arg, null
-  %c4a = call %1** @llvm.ssa.copy.p0p0s_s.0(%1** %tmp2)
-  %c6 = call %1*** @llvm.ssa.copy.p0p0p0s_s.0(%1*** %tmp3)
-  %c1 = call %0* @llvm.ssa.copy.p0s_s.0(%0* %arg)
-  %c2 = call %1* @llvm.ssa.copy.p0s_s.1(%1* %tmp)
-  %c3b = call %0** @llvm.ssa.copy.p0p0s_s.1(%0** %arg2)
-  %c4ba = call %1** @llvm.ssa.copy.p0p0s_s.0(%1** %tmp2)
-  %c5 = call %0*** @llvm.ssa.copy.p0p0p0s_s.1(%0*** %arg3)
+  %c1 = call %0 @llvm.ssa.copy.s_s.0(%0 %arg)
+  %c2 = call %1 @llvm.ssa.copy.s_s.1(%1 %tmp)
   ret void
 }
 
@@ -76,26 +42,16 @@ bb:
 %2 = type opaque
 
 ; CHECK-LABEL: @test03(
-; CHECK:      %cmp1 = icmp ne %3* %arg, null
-; CHECK-NEXT: %c1 = call %3* @llvm.ssa.copy.p0s_s.2(%3* %arg)
-; CHECK-NEXT: %c2 = call %2* @llvm.ssa.copy.p0s_s.3(%2* %tmp)
-; CHECK-NEXT: %c3 = call %3** @llvm.ssa.copy.p0p0s_s.2(%3** %arg2)
-; CHECK-NEXT: %c4 = call %2** @llvm.ssa.copy.p0p0s_s.3(%2** %tmp2)
+; CHECK:      %c1 = call %3 @llvm.ssa.copy.s_s.2(%3 %arg)
+; CHECK-NEXT: %c2 = call %2 @llvm.ssa.copy.s_s.3(%2 %tmp)
 
-define void @test03(%1* %tmp, %2* %arg, %1** %tmp2, %2** %arg2) {
+define void @test03(%1 %tmp, %2 %arg) {
 bb:
-  %cmp1 = icmp ne %2* %arg, null
-  %c1 = call %2* @llvm.ssa.copy.p0s_s.0(%2* %arg)
-  %c2 = call %1* @llvm.ssa.copy.p0s_s.1(%1* %tmp)
-  %c3 = call %2** @llvm.ssa.copy.p0p0s_s.1(%2** %arg2)
-  %c4 = call %1** @llvm.ssa.copy.p0p0s_s.0(%1** %tmp2)
+  %c1 = call %2 @llvm.ssa.copy.s_s.0(%2 %arg)
+  %c2 = call %1 @llvm.ssa.copy.s_s.1(%1 %tmp)
   ret void
 }
 
-declare %2* @llvm.ssa.copy.p0s_s.0(%2* returned)
-
-declare %1* @llvm.ssa.copy.p0s_s.1(%1* returned)
-
-declare %2** @llvm.ssa.copy.p0p0s_s.1(%2** returned)
+declare %2 @llvm.ssa.copy.s_s.0(%2 returned)
 
-declare %1** @llvm.ssa.copy.p0p0s_s.0(%1** returned)
+declare %1 @llvm.ssa.copy.s_s.1(%1 returned)