@@ -6,9 +6,9 @@ define void @replace_int_memcpy_test() #0 {
6
6
; CHECK-SAME: ) #[[ATTR0:[0-9]+]] {
7
7
; CHECK-NEXT: [[TMP1:%.*]] = alloca [1 x i32], align 4
8
8
; CHECK-NEXT: [[TMP2:%.*]] = alloca [1 x i32], align 4
9
- ; CHECK-NEXT: [[GEP:%.*]] = getelementptr inbounds i32, ptr [[TMP1]], i32 0
9
+ ; CHECK-NEXT: [[GEP:%.*]] = getelementptr inbounds [1 x i32] , ptr [[TMP1]], i32 0 , i32 0
10
10
; CHECK-NEXT: [[TMP3:%.*]] = load i32, ptr [[GEP]], align 4
11
- ; CHECK-NEXT: [[GEP1:%.*]] = getelementptr inbounds i32, ptr [[TMP2]], i32 0
11
+ ; CHECK-NEXT: [[GEP1:%.*]] = getelementptr inbounds [1 x i32] , ptr [[TMP2]], i32 0 , i32 0
12
12
; CHECK-NEXT: store i32 [[TMP3]], ptr [[GEP1]], align 4
13
13
; CHECK-NEXT: ret void
14
14
;
@@ -23,17 +23,17 @@ define void @replace_3int_memcpy_test() #0 {
23
23
; CHECK-SAME: ) #[[ATTR0]] {
24
24
; CHECK-NEXT: [[TMP1:%.*]] = alloca [3 x i32], align 4
25
25
; CHECK-NEXT: [[TMP2:%.*]] = alloca [3 x i32], align 4
26
- ; CHECK-NEXT: [[GEP:%.*]] = getelementptr inbounds i32, ptr [[TMP1]], i32 0
26
+ ; CHECK-NEXT: [[GEP:%.*]] = getelementptr inbounds [3 x i32] , ptr [[TMP1]], i32 0 , i32 0
27
27
; CHECK-NEXT: [[TMP3:%.*]] = load i32, ptr [[GEP]], align 4
28
- ; CHECK-NEXT: [[GEP1:%.*]] = getelementptr inbounds i32, ptr [[TMP2]], i32 0
28
+ ; CHECK-NEXT: [[GEP1:%.*]] = getelementptr inbounds [3 x i32] , ptr [[TMP2]], i32 0 , i32 0
29
29
; CHECK-NEXT: store i32 [[TMP3]], ptr [[GEP1]], align 4
30
- ; CHECK-NEXT: [[GEP2:%.*]] = getelementptr inbounds i32, ptr [[TMP1]], i32 1
30
+ ; CHECK-NEXT: [[GEP2:%.*]] = getelementptr inbounds [3 x i32] , ptr [[TMP1]], i32 0 , i32 1
31
31
; CHECK-NEXT: [[TMP4:%.*]] = load i32, ptr [[GEP2]], align 4
32
- ; CHECK-NEXT: [[GEP3:%.*]] = getelementptr inbounds i32, ptr [[TMP2]], i32 1
32
+ ; CHECK-NEXT: [[GEP3:%.*]] = getelementptr inbounds [3 x i32] , ptr [[TMP2]], i32 0 , i32 1
33
33
; CHECK-NEXT: store i32 [[TMP4]], ptr [[GEP3]], align 4
34
- ; CHECK-NEXT: [[GEP4:%.*]] = getelementptr inbounds i32, ptr [[TMP1]], i32 2
34
+ ; CHECK-NEXT: [[GEP4:%.*]] = getelementptr inbounds [3 x i32] , ptr [[TMP1]], i32 0 , i32 2
35
35
; CHECK-NEXT: [[TMP5:%.*]] = load i32, ptr [[GEP4]], align 4
36
- ; CHECK-NEXT: [[GEP5:%.*]] = getelementptr inbounds i32, ptr [[TMP2]], i32 2
36
+ ; CHECK-NEXT: [[GEP5:%.*]] = getelementptr inbounds [3 x i32] , ptr [[TMP2]], i32 0 , i32 2
37
37
; CHECK-NEXT: store i32 [[TMP5]], ptr [[GEP5]], align 4
38
38
; CHECK-NEXT: ret void
39
39
;
@@ -48,13 +48,13 @@ define void @replace_mismatched_size_int_memcpy_test() #0 {
48
48
; CHECK-SAME: ) #[[ATTR0]] {
49
49
; CHECK-NEXT: [[TMP1:%.*]] = alloca [2 x i32], align 4
50
50
; CHECK-NEXT: [[TMP2:%.*]] = alloca [3 x i32], align 4
51
- ; CHECK-NEXT: [[GEP:%.*]] = getelementptr inbounds i32, ptr [[TMP1]], i32 0
51
+ ; CHECK-NEXT: [[GEP:%.*]] = getelementptr inbounds [2 x i32] , ptr [[TMP1]], i32 0 , i32 0
52
52
; CHECK-NEXT: [[TMP3:%.*]] = load i32, ptr [[GEP]], align 4
53
- ; CHECK-NEXT: [[GEP1:%.*]] = getelementptr inbounds i32, ptr [[TMP2]], i32 0
53
+ ; CHECK-NEXT: [[GEP1:%.*]] = getelementptr inbounds [3 x i32] , ptr [[TMP2]], i32 0 , i32 0
54
54
; CHECK-NEXT: store i32 [[TMP3]], ptr [[GEP1]], align 4
55
- ; CHECK-NEXT: [[GEP2:%.*]] = getelementptr inbounds i32, ptr [[TMP1]], i32 1
55
+ ; CHECK-NEXT: [[GEP2:%.*]] = getelementptr inbounds [2 x i32] , ptr [[TMP1]], i32 0 , i32 1
56
56
; CHECK-NEXT: [[TMP4:%.*]] = load i32, ptr [[GEP2]], align 4
57
- ; CHECK-NEXT: [[GEP3:%.*]] = getelementptr inbounds i32, ptr [[TMP2]], i32 1
57
+ ; CHECK-NEXT: [[GEP3:%.*]] = getelementptr inbounds [3 x i32] , ptr [[TMP2]], i32 0 , i32 1
58
58
; CHECK-NEXT: store i32 [[TMP4]], ptr [[GEP3]], align 4
59
59
; CHECK-NEXT: ret void
60
60
;
@@ -69,13 +69,13 @@ define void @replace_int16_memcpy_test() #0 {
69
69
; CHECK-SAME: ) #[[ATTR0]] {
70
70
; CHECK-NEXT: [[TMP1:%.*]] = alloca [2 x i16], align 2
71
71
; CHECK-NEXT: [[TMP2:%.*]] = alloca [2 x i16], align 2
72
- ; CHECK-NEXT: [[GEP:%.*]] = getelementptr inbounds i16, ptr [[TMP1]], i32 0
72
+ ; CHECK-NEXT: [[GEP:%.*]] = getelementptr inbounds [2 x i16] , ptr [[TMP1]], i32 0 , i32 0
73
73
; CHECK-NEXT: [[TMP3:%.*]] = load i16, ptr [[GEP]], align 2
74
- ; CHECK-NEXT: [[GEP1:%.*]] = getelementptr inbounds i16, ptr [[TMP2]], i32 0
74
+ ; CHECK-NEXT: [[GEP1:%.*]] = getelementptr inbounds [2 x i16] , ptr [[TMP2]], i32 0 , i32 0
75
75
; CHECK-NEXT: store i16 [[TMP3]], ptr [[GEP1]], align 2
76
- ; CHECK-NEXT: [[GEP2:%.*]] = getelementptr inbounds i16, ptr [[TMP1]], i32 1
76
+ ; CHECK-NEXT: [[GEP2:%.*]] = getelementptr inbounds [2 x i16] , ptr [[TMP1]], i32 0 , i32 1
77
77
; CHECK-NEXT: [[TMP4:%.*]] = load i16, ptr [[GEP2]], align 2
78
- ; CHECK-NEXT: [[GEP3:%.*]] = getelementptr inbounds i16, ptr [[TMP2]], i32 1
78
+ ; CHECK-NEXT: [[GEP3:%.*]] = getelementptr inbounds [2 x i16] , ptr [[TMP2]], i32 0 , i32 1
79
79
; CHECK-NEXT: store i16 [[TMP4]], ptr [[GEP3]], align 2
80
80
; CHECK-NEXT: ret void
81
81
;
@@ -90,13 +90,13 @@ define void @replace_float_memcpy_test() #0 {
90
90
; CHECK-SAME: ) #[[ATTR0]] {
91
91
; CHECK-NEXT: [[TMP1:%.*]] = alloca [2 x float], align 4
92
92
; CHECK-NEXT: [[TMP2:%.*]] = alloca [2 x float], align 4
93
- ; CHECK-NEXT: [[GEP:%.*]] = getelementptr inbounds float, ptr [[TMP1]], i32 0
93
+ ; CHECK-NEXT: [[GEP:%.*]] = getelementptr inbounds [2 x float] , ptr [[TMP1]], i32 0 , i32 0
94
94
; CHECK-NEXT: [[TMP3:%.*]] = load float, ptr [[GEP]], align 4
95
- ; CHECK-NEXT: [[GEP1:%.*]] = getelementptr inbounds float, ptr [[TMP2]], i32 0
95
+ ; CHECK-NEXT: [[GEP1:%.*]] = getelementptr inbounds [2 x float] , ptr [[TMP2]], i32 0 , i32 0
96
96
; CHECK-NEXT: store float [[TMP3]], ptr [[GEP1]], align 4
97
- ; CHECK-NEXT: [[GEP2:%.*]] = getelementptr inbounds float, ptr [[TMP1]], i32 1
97
+ ; CHECK-NEXT: [[GEP2:%.*]] = getelementptr inbounds [2 x float] , ptr [[TMP1]], i32 0 , i32 1
98
98
; CHECK-NEXT: [[TMP4:%.*]] = load float, ptr [[GEP2]], align 4
99
- ; CHECK-NEXT: [[GEP3:%.*]] = getelementptr inbounds float, ptr [[TMP2]], i32 1
99
+ ; CHECK-NEXT: [[GEP3:%.*]] = getelementptr inbounds [2 x float] , ptr [[TMP2]], i32 0 , i32 1
100
100
; CHECK-NEXT: store float [[TMP4]], ptr [[GEP3]], align 4
101
101
; CHECK-NEXT: ret void
102
102
;
@@ -111,13 +111,13 @@ define void @replace_double_memcpy_test() #0 {
111
111
; CHECK-SAME: ) #[[ATTR0]] {
112
112
; CHECK-NEXT: [[TMP1:%.*]] = alloca [2 x double], align 4
113
113
; CHECK-NEXT: [[TMP2:%.*]] = alloca [2 x double], align 4
114
- ; CHECK-NEXT: [[GEP:%.*]] = getelementptr inbounds double, ptr [[TMP1]], i32 0
114
+ ; CHECK-NEXT: [[GEP:%.*]] = getelementptr inbounds [2 x double] , ptr [[TMP1]], i32 0 , i32 0
115
115
; CHECK-NEXT: [[TMP3:%.*]] = load double, ptr [[GEP]], align 8
116
- ; CHECK-NEXT: [[GEP1:%.*]] = getelementptr inbounds double, ptr [[TMP2]], i32 0
116
+ ; CHECK-NEXT: [[GEP1:%.*]] = getelementptr inbounds [2 x double] , ptr [[TMP2]], i32 0 , i32 0
117
117
; CHECK-NEXT: store double [[TMP3]], ptr [[GEP1]], align 8
118
- ; CHECK-NEXT: [[GEP2:%.*]] = getelementptr inbounds double, ptr [[TMP1]], i32 1
118
+ ; CHECK-NEXT: [[GEP2:%.*]] = getelementptr inbounds [2 x double] , ptr [[TMP1]], i32 0 , i32 1
119
119
; CHECK-NEXT: [[TMP4:%.*]] = load double, ptr [[GEP2]], align 8
120
- ; CHECK-NEXT: [[GEP3:%.*]] = getelementptr inbounds double, ptr [[TMP2]], i32 1
120
+ ; CHECK-NEXT: [[GEP3:%.*]] = getelementptr inbounds [2 x double] , ptr [[TMP2]], i32 0 , i32 1
121
121
; CHECK-NEXT: store double [[TMP4]], ptr [[GEP3]], align 8
122
122
; CHECK-NEXT: ret void
123
123
;
@@ -132,13 +132,13 @@ define void @replace_half_memcpy_test() #0 {
132
132
; CHECK-SAME: ) #[[ATTR0]] {
133
133
; CHECK-NEXT: [[TMP1:%.*]] = alloca [2 x half], align 2
134
134
; CHECK-NEXT: [[TMP2:%.*]] = alloca [2 x half], align 2
135
- ; CHECK-NEXT: [[GEP:%.*]] = getelementptr inbounds half, ptr [[TMP1]], i32 0
135
+ ; CHECK-NEXT: [[GEP:%.*]] = getelementptr inbounds [2 x half] , ptr [[TMP1]], i32 0 , i32 0
136
136
; CHECK-NEXT: [[TMP3:%.*]] = load half, ptr [[GEP]], align 2
137
- ; CHECK-NEXT: [[GEP1:%.*]] = getelementptr inbounds half, ptr [[TMP2]], i32 0
137
+ ; CHECK-NEXT: [[GEP1:%.*]] = getelementptr inbounds [2 x half] , ptr [[TMP2]], i32 0 , i32 0
138
138
; CHECK-NEXT: store half [[TMP3]], ptr [[GEP1]], align 2
139
- ; CHECK-NEXT: [[GEP2:%.*]] = getelementptr inbounds half, ptr [[TMP1]], i32 1
139
+ ; CHECK-NEXT: [[GEP2:%.*]] = getelementptr inbounds [2 x half] , ptr [[TMP1]], i32 0 , i32 1
140
140
; CHECK-NEXT: [[TMP4:%.*]] = load half, ptr [[GEP2]], align 2
141
- ; CHECK-NEXT: [[GEP3:%.*]] = getelementptr inbounds half, ptr [[TMP2]], i32 1
141
+ ; CHECK-NEXT: [[GEP3:%.*]] = getelementptr inbounds [2 x half] , ptr [[TMP2]], i32 0 , i32 1
142
142
; CHECK-NEXT: store half [[TMP4]], ptr [[GEP3]], align 2
143
143
; CHECK-NEXT: ret void
144
144
;
0 commit comments