Skip to content

Commit 54608b4

Browse files
committed
[test][Scalarizer] Convert test cases to opaque pointers. NFC
Test cases were converted using the script at https://gist.github.com/nikic/98357b71fd67756b0f064c9517b62a34
1 parent b9a0eb6 commit 54608b4

15 files changed

+529
-575
lines changed

llvm/test/Transforms/Scalarizer/basic-inseltpoison.ll

Lines changed: 201 additions & 218 deletions
Large diffs are not rendered by default.

llvm/test/Transforms/Scalarizer/basic.ll

Lines changed: 201 additions & 218 deletions
Large diffs are not rendered by default.

llvm/test/Transforms/Scalarizer/constant-extractelement.ll

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,14 @@
44
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
55

66
; Test that constant extracts are nicely scalarized
7-
define i32 @f1(<4 x i32> *%src, i32 %index) {
7+
define i32 @f1(ptr %src, i32 %index) {
88
; ALL-LABEL: @f1(
9-
; ALL-NEXT: [[SRC_I0:%.*]] = bitcast <4 x i32>* [[SRC:%.*]] to i32*
10-
; ALL-NEXT: [[SRC_I3:%.*]] = getelementptr i32, i32* [[SRC_I0]], i32 3
11-
; ALL-NEXT: [[VAL0_I3:%.*]] = load i32, i32* [[SRC_I3]], align 4
9+
; ALL-NEXT: [[SRC_I3:%.*]] = getelementptr i32, ptr [[SRC:%.*]], i32 3
10+
; ALL-NEXT: [[VAL0_I3:%.*]] = load i32, ptr [[SRC_I3]], align 4
1211
; ALL-NEXT: [[VAL2:%.*]] = shl i32 4, [[VAL0_I3]]
1312
; ALL-NEXT: ret i32 [[VAL2]]
1413
;
15-
%val0 = load <4 x i32> , <4 x i32> *%src
14+
%val0 = load <4 x i32> , ptr %src
1615
%val1 = shl <4 x i32> <i32 1, i32 2, i32 3, i32 4>, %val0
1716
%val2 = extractelement <4 x i32> %val1, i32 3
1817
ret i32 %val2

llvm/test/Transforms/Scalarizer/constant-insertelement.ll

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,13 @@
44
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
55

66
; Test that constant inserts are nicely scalarized
7-
define <4 x i32> @f1(<4 x i32> *%src, i32 %repl, i32 %index) {
7+
define <4 x i32> @f1(ptr %src, i32 %repl, i32 %index) {
88
; ALL-LABEL: @f1(
9-
; ALL-NEXT: [[SRC_I0:%.*]] = bitcast <4 x i32>* [[SRC:%.*]] to i32*
10-
; ALL-NEXT: [[VAL0_I0:%.*]] = load i32, i32* [[SRC_I0]], align 16
11-
; ALL-NEXT: [[SRC_I1:%.*]] = getelementptr i32, i32* [[SRC_I0]], i32 1
12-
; ALL-NEXT: [[VAL0_I1:%.*]] = load i32, i32* [[SRC_I1]], align 4
13-
; ALL-NEXT: [[SRC_I2:%.*]] = getelementptr i32, i32* [[SRC_I0]], i32 2
14-
; ALL-NEXT: [[VAL0_I2:%.*]] = load i32, i32* [[SRC_I2]], align 8
9+
; ALL-NEXT: [[VAL0_I0:%.*]] = load i32, ptr [[SRC:%.*]], align 16
10+
; ALL-NEXT: [[SRC_I1:%.*]] = getelementptr i32, ptr [[SRC:%.*]], i32 1
11+
; ALL-NEXT: [[VAL0_I1:%.*]] = load i32, ptr [[SRC_I1]], align 4
12+
; ALL-NEXT: [[SRC_I2:%.*]] = getelementptr i32, ptr [[SRC:%.*]], i32 2
13+
; ALL-NEXT: [[VAL0_I2:%.*]] = load i32, ptr [[SRC_I2]], align 8
1514
; ALL-NEXT: [[VAL2_I0:%.*]] = shl i32 1, [[VAL0_I0]]
1615
; ALL-NEXT: [[VAL2_I1:%.*]] = shl i32 2, [[VAL0_I1]]
1716
; ALL-NEXT: [[VAL2_I2:%.*]] = shl i32 3, [[VAL0_I2]]
@@ -22,7 +21,7 @@ define <4 x i32> @f1(<4 x i32> *%src, i32 %repl, i32 %index) {
2221
; ALL-NEXT: [[VAL2:%.*]] = insertelement <4 x i32> [[VAL2_UPTO2]], i32 [[VAL2_I3]], i32 3
2322
; ALL-NEXT: ret <4 x i32> [[VAL2]]
2423
;
25-
%val0 = load <4 x i32> , <4 x i32> *%src
24+
%val0 = load <4 x i32> , ptr %src
2625
%val1 = insertelement <4 x i32> %val0, i32 %repl, i32 3
2726
%val2 = shl <4 x i32> <i32 1, i32 2, i32 3, i32 4>, %val1
2827
ret <4 x i32> %val2

llvm/test/Transforms/Scalarizer/crash-bug.ll

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ bb3:
2222
}
2323

2424
; See https://reviews.llvm.org/D83101#2135945
25-
define void @f1_crash(<2 x i16> %base, i1 %c, <2 x i16>* %ptr) {
25+
define void @f1_crash(<2 x i16> %base, i1 %c, ptr %ptr) {
2626
; CHECK-LABEL: @f1_crash(
2727
; CHECK: vector.ph:
2828
; CHECK: %base.i0 = extractelement <2 x i16> %base, i32 0
@@ -31,7 +31,7 @@ define void @f1_crash(<2 x i16> %base, i1 %c, <2 x i16>* %ptr) {
3131
; CHECK: vector.body115: ; preds = %vector.body115, %vector.ph
3232
; CHECK: %vector.recur.i0 = phi i16 [ %base.i0, %vector.ph ], [ %wide.load125.i0, %vector.body115 ]
3333
; CHECK: %vector.recur.i1 = phi i16 [ %base.i1, %vector.ph ], [ %wide.load125.i1, %vector.body115 ]
34-
; CHECK: %wide.load125 = load <2 x i16>, <2 x i16>* %ptr, align 1
34+
; CHECK: %wide.load125 = load <2 x i16>, ptr %ptr, align 1
3535
; CHECK: %wide.load125.i0 = extractelement <2 x i16> %wide.load125, i32 0
3636
; CHECK: %wide.load125.i1 = extractelement <2 x i16> %wide.load125, i32 1
3737
; CHECK: br i1 %c, label %middle.block113, label %vector.body115
@@ -44,7 +44,7 @@ vector.ph:
4444

4545
vector.body115:
4646
%vector.recur = phi <2 x i16> [ %base, %vector.ph ], [ %wide.load125, %vector.body115 ]
47-
%wide.load125 = load <2 x i16>, <2 x i16>* %ptr, align 1
47+
%wide.load125 = load <2 x i16>, ptr %ptr, align 1
4848
br i1 %c, label %middle.block113, label %vector.body115
4949

5050
middle.block113:

llvm/test/Transforms/Scalarizer/dbg-invariant.ll

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@
2929
; Function Attrs: nofree norecurse nounwind
3030
define dso_local void @foo() local_unnamed_addr #0 !dbg !7 {
3131
entry:
32-
%0 = load <8 x i16>, <8 x i16>* bitcast ([8 x i16]* @d to <8 x i16>*), align 1
32+
%0 = load <8 x i16>, ptr @d, align 1
3333
call void @llvm.dbg.value(metadata i16 0, metadata !11, metadata !DIExpression()), !dbg !13
3434
%1 = add <8 x i16> %0, <i16 28690, i16 28690, i16 28690, i16 28690, i16 28690, i16 28690, i16 28690, i16 28690>, !dbg !13
35-
store <8 x i16> %1, <8 x i16>* bitcast ([8 x i16]* @d to <8 x i16>*), align 1, !dbg !13
35+
store <8 x i16> %1, ptr @d, align 1, !dbg !13
3636
%2 = extractelement <8 x i16> %1, i32 7, !dbg !13
37-
store i16 %2, i16* @e, align 1, !dbg !13
37+
store i16 %2, ptr @e, align 1, !dbg !13
3838
ret void
3939
}
4040

llvm/test/Transforms/Scalarizer/dbginfo.ll

Lines changed: 31 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -2,48 +2,45 @@
22
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
33

44
; Function Attrs: nounwind uwtable
5-
define void @f1(<4 x i32>* nocapture %a, <4 x i32>* nocapture readonly %b, <4 x i32>* nocapture readonly %c) #0 !dbg !4 {
5+
define void @f1(ptr nocapture %a, ptr nocapture readonly %b, ptr nocapture readonly %c) #0 !dbg !4 {
66
; CHECK: @f1(
7-
; CHECK: %a.i0 = bitcast <4 x i32>* %a to i32*
8-
; CHECK: %a.i1 = getelementptr i32, i32* %a.i0, i32 1
9-
; CHECK: %a.i2 = getelementptr i32, i32* %a.i0, i32 2
10-
; CHECK: %a.i3 = getelementptr i32, i32* %a.i0, i32 3
11-
; CHECK: %c.i0 = bitcast <4 x i32>* %c to i32*
12-
; CHECK: %c.i1 = getelementptr i32, i32* %c.i0, i32 1
13-
; CHECK: %c.i2 = getelementptr i32, i32* %c.i0, i32 2
14-
; CHECK: %c.i3 = getelementptr i32, i32* %c.i0, i32 3
15-
; CHECK: %b.i0 = bitcast <4 x i32>* %b to i32*
16-
; CHECK: %b.i1 = getelementptr i32, i32* %b.i0, i32 1
17-
; CHECK: %b.i2 = getelementptr i32, i32* %b.i0, i32 2
18-
; CHECK: %b.i3 = getelementptr i32, i32* %b.i0, i32 3
19-
; CHECK: tail call void @llvm.dbg.value(metadata <4 x i32>* %a, metadata !{{[0-9]+}}, metadata {{.*}}), !dbg !{{[0-9]+}}
20-
; CHECK: tail call void @llvm.dbg.value(metadata <4 x i32>* %b, metadata !{{[0-9]+}}, metadata {{.*}}), !dbg !{{[0-9]+}}
21-
; CHECK: tail call void @llvm.dbg.value(metadata <4 x i32>* %c, metadata !{{[0-9]+}}, metadata {{.*}}), !dbg !{{[0-9]+}}
22-
; CHECK: %bval.i0 = load i32, i32* %b.i0, align 16, !dbg ![[TAG1:[0-9]+]], !tbaa ![[TAG2:[0-9]+]]
23-
; CHECK: %bval.i1 = load i32, i32* %b.i1, align 4, !dbg ![[TAG1]], !tbaa ![[TAG2]]
24-
; CHECK: %bval.i2 = load i32, i32* %b.i2, align 8, !dbg ![[TAG1]], !tbaa ![[TAG2]]
25-
; CHECK: %bval.i3 = load i32, i32* %b.i3, align 4, !dbg ![[TAG1]], !tbaa ![[TAG2]]
26-
; CHECK: %cval.i0 = load i32, i32* %c.i0, align 16, !dbg ![[TAG1]], !tbaa ![[TAG2]]
27-
; CHECK: %cval.i1 = load i32, i32* %c.i1, align 4, !dbg ![[TAG1]], !tbaa ![[TAG2]]
28-
; CHECK: %cval.i2 = load i32, i32* %c.i2, align 8, !dbg ![[TAG1]], !tbaa ![[TAG2]]
29-
; CHECK: %cval.i3 = load i32, i32* %c.i3, align 4, !dbg ![[TAG1]], !tbaa ![[TAG2]]
7+
; CHECK: %a.i1 = getelementptr i32, ptr %a, i32 1
8+
; CHECK: %a.i2 = getelementptr i32, ptr %a, i32 2
9+
; CHECK: %a.i3 = getelementptr i32, ptr %a, i32 3
10+
; CHECK: %c.i1 = getelementptr i32, ptr %c, i32 1
11+
; CHECK: %c.i2 = getelementptr i32, ptr %c, i32 2
12+
; CHECK: %c.i3 = getelementptr i32, ptr %c, i32 3
13+
; CHECK: %b.i1 = getelementptr i32, ptr %b, i32 1
14+
; CHECK: %b.i2 = getelementptr i32, ptr %b, i32 2
15+
; CHECK: %b.i3 = getelementptr i32, ptr %b, i32 3
16+
; CHECK: tail call void @llvm.dbg.value(metadata ptr %a, metadata !{{[0-9]+}}, metadata {{.*}}), !dbg !{{[0-9]+}}
17+
; CHECK: tail call void @llvm.dbg.value(metadata ptr %b, metadata !{{[0-9]+}}, metadata {{.*}}), !dbg !{{[0-9]+}}
18+
; CHECK: tail call void @llvm.dbg.value(metadata ptr %c, metadata !{{[0-9]+}}, metadata {{.*}}), !dbg !{{[0-9]+}}
19+
; CHECK: %bval.i0 = load i32, ptr %b, align 16, !dbg ![[TAG1:[0-9]+]], !tbaa ![[TAG2:[0-9]+]]
20+
; CHECK: %bval.i1 = load i32, ptr %b.i1, align 4, !dbg ![[TAG1]], !tbaa ![[TAG2]]
21+
; CHECK: %bval.i2 = load i32, ptr %b.i2, align 8, !dbg ![[TAG1]], !tbaa ![[TAG2]]
22+
; CHECK: %bval.i3 = load i32, ptr %b.i3, align 4, !dbg ![[TAG1]], !tbaa ![[TAG2]]
23+
; CHECK: %cval.i0 = load i32, ptr %c, align 16, !dbg ![[TAG1]], !tbaa ![[TAG2]]
24+
; CHECK: %cval.i1 = load i32, ptr %c.i1, align 4, !dbg ![[TAG1]], !tbaa ![[TAG2]]
25+
; CHECK: %cval.i2 = load i32, ptr %c.i2, align 8, !dbg ![[TAG1]], !tbaa ![[TAG2]]
26+
; CHECK: %cval.i3 = load i32, ptr %c.i3, align 4, !dbg ![[TAG1]], !tbaa ![[TAG2]]
3027
; CHECK: %add.i0 = add i32 %bval.i0, %cval.i0, !dbg ![[TAG1]]
3128
; CHECK: %add.i1 = add i32 %bval.i1, %cval.i1, !dbg ![[TAG1]]
3229
; CHECK: %add.i2 = add i32 %bval.i2, %cval.i2, !dbg ![[TAG1]]
3330
; CHECK: %add.i3 = add i32 %bval.i3, %cval.i3, !dbg ![[TAG1]]
34-
; CHECK: store i32 %add.i0, i32* %a.i0, align 16, !dbg ![[TAG1]], !tbaa ![[TAG2]]
35-
; CHECK: store i32 %add.i1, i32* %a.i1, align 4, !dbg ![[TAG1]], !tbaa ![[TAG2]]
36-
; CHECK: store i32 %add.i2, i32* %a.i2, align 8, !dbg ![[TAG1]], !tbaa ![[TAG2]]
37-
; CHECK: store i32 %add.i3, i32* %a.i3, align 4, !dbg ![[TAG1]], !tbaa ![[TAG2]]
31+
; CHECK: store i32 %add.i0, ptr %a, align 16, !dbg ![[TAG1]], !tbaa ![[TAG2]]
32+
; CHECK: store i32 %add.i1, ptr %a.i1, align 4, !dbg ![[TAG1]], !tbaa ![[TAG2]]
33+
; CHECK: store i32 %add.i2, ptr %a.i2, align 8, !dbg ![[TAG1]], !tbaa ![[TAG2]]
34+
; CHECK: store i32 %add.i3, ptr %a.i3, align 4, !dbg ![[TAG1]], !tbaa ![[TAG2]]
3835
; CHECK: ret void
3936
entry:
40-
tail call void @llvm.dbg.value(metadata <4 x i32>* %a, metadata !15, metadata !DIExpression()), !dbg !20
41-
tail call void @llvm.dbg.value(metadata <4 x i32>* %b, metadata !16, metadata !DIExpression()), !dbg !20
42-
tail call void @llvm.dbg.value(metadata <4 x i32>* %c, metadata !17, metadata !DIExpression()), !dbg !20
43-
%bval = load <4 x i32>, <4 x i32>* %b, align 16, !dbg !21, !tbaa !22
44-
%cval = load <4 x i32>, <4 x i32>* %c, align 16, !dbg !21, !tbaa !22
37+
tail call void @llvm.dbg.value(metadata ptr %a, metadata !15, metadata !DIExpression()), !dbg !20
38+
tail call void @llvm.dbg.value(metadata ptr %b, metadata !16, metadata !DIExpression()), !dbg !20
39+
tail call void @llvm.dbg.value(metadata ptr %c, metadata !17, metadata !DIExpression()), !dbg !20
40+
%bval = load <4 x i32>, ptr %b, align 16, !dbg !21, !tbaa !22
41+
%cval = load <4 x i32>, ptr %c, align 16, !dbg !21, !tbaa !22
4542
%add = add <4 x i32> %bval, %cval, !dbg !21
46-
store <4 x i32> %add, <4 x i32>* %a, align 16, !dbg !21, !tbaa !22
43+
store <4 x i32> %add, ptr %a, align 16, !dbg !21, !tbaa !22
4744
ret void, !dbg !25
4845
}
4946

llvm/test/Transforms/Scalarizer/global-bug-2.ll

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ entry:
1212
br label %for.cond1
1313

1414
for.cond1: ; preds = %for.cond1, %entry
15-
%d.sroa.0.0 = phi <4 x i16*> [ <i16* @c.a, i16* @c.a, i16* @c.a, i16* @c.a>, %entry ], [ %d.sroa.0.1.vec.insert, %for.cond1 ]
16-
%d.sroa.0.0.vec.extract = extractelement <4 x i16*> %d.sroa.0.0, i32 0
17-
%d.sroa.0.1.vec.insert = shufflevector <4 x i16*> <i16* @c.a, i16* null, i16* undef, i16* undef>, <4 x i16*> %d.sroa.0.0, <4 x i32> <i32 0, i32 1, i32 6, i32 7>
15+
%d.sroa.0.0 = phi <4 x ptr> [ <ptr @c.a, ptr @c.a, ptr @c.a, ptr @c.a>, %entry ], [ %d.sroa.0.1.vec.insert, %for.cond1 ]
16+
%d.sroa.0.0.vec.extract = extractelement <4 x ptr> %d.sroa.0.0, i32 0
17+
%d.sroa.0.1.vec.insert = shufflevector <4 x ptr> <ptr @c.a, ptr null, ptr undef, ptr undef>, <4 x ptr> %d.sroa.0.0, <4 x i32> <i32 0, i32 1, i32 6, i32 7>
1818
br label %for.cond1
1919
}

llvm/test/Transforms/Scalarizer/global-bug.ll

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@
1111
define dso_local void @test1() local_unnamed_addr {
1212
; CHECK-LABEL: @test1(
1313
; CHECK-NEXT: entry:
14-
; CHECK-NEXT: [[T0:%.*]] = ptrtoint i16* @a to i16
15-
; CHECK-NEXT: store i16 [[T0]], i16* @b, align 1
14+
; CHECK-NEXT: [[T0:%.*]] = ptrtoint ptr @a to i16
15+
; CHECK-NEXT: store i16 [[T0]], ptr @b, align 1
1616
; CHECK-NEXT: ret void
1717
;
1818
entry:
19-
%extract = extractelement <4 x i16*> <i16* @a, i16* @a, i16* @a, i16* @a>, i32 1
20-
%t0 = ptrtoint i16* %extract to i16
21-
store i16 %t0, i16* @b, align 1
19+
%extract = extractelement <4 x ptr> <ptr @a, ptr @a, ptr @a, ptr @a>, i32 1
20+
%t0 = ptrtoint ptr %extract to i16
21+
store i16 %t0, ptr @b, align 1
2222
ret void
2323
}

llvm/test/Transforms/Scalarizer/phi-unreachable-pred.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ define i16 @f1() {
66
; CHECK-NEXT: entry:
77
; CHECK-NEXT: br label [[FOR_END:%.*]]
88
; CHECK: for.body:
9-
; CHECK-NEXT: [[INSERT:%.*]] = insertelement <4 x i16> [[INSERT]], i16 ptrtoint (i16 ()* @f1 to i16), i32 0
9+
; CHECK-NEXT: [[INSERT:%.*]] = insertelement <4 x i16> [[INSERT]], i16 ptrtoint (ptr @f1 to i16), i32 0
1010
; CHECK-NEXT: br label [[FOR_COND:%.*]]
1111
; CHECK: for.cond:
1212
; CHECK-NEXT: br i1 undef, label [[FOR_BODY:%.*]], label [[FOR_END]]
@@ -18,7 +18,7 @@ entry:
1818
br label %for.end
1919

2020
for.body:
21-
%insert = insertelement <4 x i16> %insert, i16 ptrtoint (i16 () * @f1 to i16), i32 0
21+
%insert = insertelement <4 x i16> %insert, i16 ptrtoint (ptr @f1 to i16), i32 0
2222
br label %for.cond
2323

2424
for.cond:

llvm/test/Transforms/Scalarizer/scatter-order.ll

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -59,17 +59,16 @@ define <2 x i32> @test3(<2 x i32> %i, <2 x i32> %j) {
5959
ret <2 x i32> %res
6060
}
6161

62-
define void @test4(<2 x i32>* %ptr, <2 x i32> %val) {
62+
define void @test4(ptr %ptr, <2 x i32> %val) {
6363
; CHECK-LABEL: @test4(
6464
; CHECK-NEXT: [[VAL_I0:%.*]] = extractelement <2 x i32> [[VAL:%.*]], i32 0
65-
; CHECK-NEXT: [[PTR_I0:%.*]] = bitcast <2 x i32>* [[PTR:%.*]] to i32*
66-
; CHECK-NEXT: store i32 [[VAL_I0]], i32* [[PTR_I0]], align 8
65+
; CHECK-NEXT: store i32 [[VAL_I0]], ptr [[PTR:%.*]], align 8
6766
; CHECK-NEXT: [[VAL_I1:%.*]] = extractelement <2 x i32> [[VAL]], i32 1
68-
; CHECK-NEXT: [[PTR_I1:%.*]] = getelementptr i32, i32* [[PTR_I0]], i32 1
69-
; CHECK-NEXT: store i32 [[VAL_I1]], i32* [[PTR_I1]], align 4
67+
; CHECK-NEXT: [[PTR_I1:%.*]] = getelementptr i32, ptr [[PTR:%.*]], i32 1
68+
; CHECK-NEXT: store i32 [[VAL_I1]], ptr [[PTR_I1]], align 4
7069
; CHECK-NEXT: ret void
7170
;
72-
store <2 x i32> %val, <2 x i32> *%ptr
71+
store <2 x i32> %val, ptr %ptr
7372
ret void
7473
}
7574

llvm/test/Transforms/Scalarizer/store-bug.ll

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,20 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3
66
;
77
; Any regressions should trigger an assert in the scalarizer.
88

9-
define void @func(<4 x float> %val, <4 x float> *%ptr) {
10-
store <4 x float> %val, <4 x float> *%ptr
9+
define void @func(<4 x float> %val, ptr %ptr) {
10+
store <4 x float> %val, ptr %ptr
1111
ret void
12-
; CHECK: store float %val.i0, float* %ptr.i0, align 16
13-
; CHECK: store float %val.i1, float* %ptr.i1, align 4
14-
; CHECK: store float %val.i2, float* %ptr.i2, align 8
15-
; CHECK: store float %val.i3, float* %ptr.i3, align 4
12+
; CHECK: store float %val.i0, ptr %ptr, align 16
13+
; CHECK: store float %val.i1, ptr %ptr.i1, align 4
14+
; CHECK: store float %val.i2, ptr %ptr.i2, align 8
15+
; CHECK: store float %val.i3, ptr %ptr.i3, align 4
1616
}
1717

18-
define void @func.copy(<4 x float> %val, <4 x float> *%ptr) {
19-
store <4 x float> %val, <4 x float> *%ptr
18+
define void @func.copy(<4 x float> %val, ptr %ptr) {
19+
store <4 x float> %val, ptr %ptr
2020
ret void
21-
; CHECK: store float %val.i0, float* %ptr.i0, align 16
22-
; CHECK: store float %val.i1, float* %ptr.i1, align 4
23-
; CHECK: store float %val.i2, float* %ptr.i2, align 8
24-
; CHECK: store float %val.i3, float* %ptr.i3, align 4
21+
; CHECK: store float %val.i0, ptr %ptr, align 16
22+
; CHECK: store float %val.i1, ptr %ptr.i1, align 4
23+
; CHECK: store float %val.i2, ptr %ptr.i2, align 8
24+
; CHECK: store float %val.i3, ptr %ptr.i3, align 4
2525
}

llvm/test/Transforms/Scalarizer/variable-extractelement.ll

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@ define i32 @f1(<4 x i32> %src, i32 %index) {
3030
ret i32 %res
3131
}
3232

33-
define i32 @f2(<4 x i32> *%src, i32 %index) {
33+
define i32 @f2(ptr %src, i32 %index) {
3434
; DEFAULT-LABEL: @f2(
35-
; DEFAULT-NEXT: [[VAL0:%.*]] = load <4 x i32>, <4 x i32>* [[SRC:%.*]], align 16
35+
; DEFAULT-NEXT: [[VAL0:%.*]] = load <4 x i32>, ptr [[SRC:%.*]], align 16
3636
; DEFAULT-NEXT: [[VAL0_I0:%.*]] = extractelement <4 x i32> [[VAL0]], i32 0
3737
; DEFAULT-NEXT: [[VAL1_I0:%.*]] = shl i32 1, [[VAL0_I0]]
3838
; DEFAULT-NEXT: [[VAL0_I1:%.*]] = extractelement <4 x i32> [[VAL0]], i32 1
@@ -52,7 +52,7 @@ define i32 @f2(<4 x i32> *%src, i32 %index) {
5252
; DEFAULT-NEXT: ret i32 [[VAL2]]
5353
;
5454
; OFF-LABEL: @f2(
55-
; OFF-NEXT: [[VAL0:%.*]] = load <4 x i32>, <4 x i32>* [[SRC:%.*]], align 16
55+
; OFF-NEXT: [[VAL0:%.*]] = load <4 x i32>, ptr [[SRC:%.*]], align 16
5656
; OFF-NEXT: [[VAL0_I0:%.*]] = extractelement <4 x i32> [[VAL0]], i32 0
5757
; OFF-NEXT: [[VAL1_I0:%.*]] = shl i32 1, [[VAL0_I0]]
5858
; OFF-NEXT: [[VAL0_I1:%.*]] = extractelement <4 x i32> [[VAL0]], i32 1
@@ -68,7 +68,7 @@ define i32 @f2(<4 x i32> *%src, i32 %index) {
6868
; OFF-NEXT: [[VAL2:%.*]] = extractelement <4 x i32> [[VAL1]], i32 [[INDEX:%.*]]
6969
; OFF-NEXT: ret i32 [[VAL2]]
7070
;
71-
%val0 = load <4 x i32> , <4 x i32> *%src
71+
%val0 = load <4 x i32> , ptr %src
7272
%val1 = shl <4 x i32> <i32 1, i32 2, i32 3, i32 4>, %val0
7373
%val2 = extractelement <4 x i32> %val1, i32 %index
7474
ret i32 %val2

llvm/test/Transforms/Scalarizer/variable-insertelement.ll

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@ define <4 x i32> @f1(<4 x i32> %src, i32 %val, i32 %index) {
3434
ret <4 x i32> %res
3535
}
3636

37-
define void @f2(<4 x i32> *%dest, <4 x i32> *%src, i32 %index) {
37+
define void @f2(ptr %dest, ptr %src, i32 %index) {
3838
; DEFAULT-LABEL: @f2(
39-
; DEFAULT-NEXT: [[VAL0:%.*]] = load <4 x i32>, <4 x i32>* [[SRC:%.*]], align 16
39+
; DEFAULT-NEXT: [[VAL0:%.*]] = load <4 x i32>, ptr [[SRC:%.*]], align 16
4040
; DEFAULT-NEXT: [[INDEX_IS_0:%.*]] = icmp eq i32 [[INDEX:%.*]], 0
4141
; DEFAULT-NEXT: [[VAL0_I0:%.*]] = extractelement <4 x i32> [[VAL0]], i32 0
4242
; DEFAULT-NEXT: [[VAL1_I0:%.*]] = select i1 [[INDEX_IS_0]], i32 1, i32 [[VAL0_I0]]
@@ -57,11 +57,11 @@ define void @f2(<4 x i32> *%dest, <4 x i32> *%src, i32 %index) {
5757
; DEFAULT-NEXT: [[VAL2_UPTO1:%.*]] = insertelement <4 x i32> [[VAL2_UPTO0]], i32 [[VAL2_I1]], i32 1
5858
; DEFAULT-NEXT: [[VAL2_UPTO2:%.*]] = insertelement <4 x i32> [[VAL2_UPTO1]], i32 [[VAL2_I2]], i32 2
5959
; DEFAULT-NEXT: [[VAL2:%.*]] = insertelement <4 x i32> [[VAL2_UPTO2]], i32 [[VAL2_I3]], i32 3
60-
; DEFAULT-NEXT: store <4 x i32> [[VAL2]], <4 x i32>* [[DEST:%.*]], align 16
60+
; DEFAULT-NEXT: store <4 x i32> [[VAL2]], ptr [[DEST:%.*]], align 16
6161
; DEFAULT-NEXT: ret void
6262
;
6363
; OFF-LABEL: @f2(
64-
; OFF-NEXT: [[VAL0:%.*]] = load <4 x i32>, <4 x i32>* [[SRC:%.*]], align 16
64+
; OFF-NEXT: [[VAL0:%.*]] = load <4 x i32>, ptr [[SRC:%.*]], align 16
6565
; OFF-NEXT: [[VAL1:%.*]] = insertelement <4 x i32> [[VAL0]], i32 1, i32 [[INDEX:%.*]]
6666
; OFF-NEXT: [[VAL1_I0:%.*]] = extractelement <4 x i32> [[VAL1]], i32 0
6767
; OFF-NEXT: [[VAL2_I0:%.*]] = shl i32 1, [[VAL1_I0]]
@@ -75,12 +75,12 @@ define void @f2(<4 x i32> *%dest, <4 x i32> *%src, i32 %index) {
7575
; OFF-NEXT: [[VAL2_UPTO1:%.*]] = insertelement <4 x i32> [[VAL2_UPTO0]], i32 [[VAL2_I1]], i32 1
7676
; OFF-NEXT: [[VAL2_UPTO2:%.*]] = insertelement <4 x i32> [[VAL2_UPTO1]], i32 [[VAL2_I2]], i32 2
7777
; OFF-NEXT: [[VAL2:%.*]] = insertelement <4 x i32> [[VAL2_UPTO2]], i32 [[VAL2_I3]], i32 3
78-
; OFF-NEXT: store <4 x i32> [[VAL2]], <4 x i32>* [[DEST:%.*]], align 16
78+
; OFF-NEXT: store <4 x i32> [[VAL2]], ptr [[DEST:%.*]], align 16
7979
; OFF-NEXT: ret void
8080
;
81-
%val0 = load <4 x i32> , <4 x i32> *%src
81+
%val0 = load <4 x i32> , ptr %src
8282
%val1 = insertelement <4 x i32> %val0, i32 1, i32 %index
8383
%val2 = shl <4 x i32> <i32 1, i32 2, i32 3, i32 4>, %val1
84-
store <4 x i32> %val2, <4 x i32> *%dest
84+
store <4 x i32> %val2, ptr %dest
8585
ret void
8686
}

0 commit comments

Comments
 (0)