@@ -33,43 +33,43 @@ void foo() {
33
33
int a=123 ;
34
34
myInt myA = 321 ;
35
35
int b = __builtin_intel_fpga_reg (a);
36
- // CHECK: %[[V_A1:[0-9]+]] = load i32, i32* %a, align 4, !tbaa !9
36
+ // CHECK: %[[V_A1:[0-9]+]] = load i32, i32* %a, align 4, !tbaa [[ONE:![0-9]*]]
37
37
// CHECK-NEXT: %[[V_A2:[0-9]+]] = call i32 @llvm.annotation.i32(i32 %[[V_A1]], [[BIFR_STR:i8\* getelementptr inbounds \(\[25 x i8\], \[25 x i8\]\* @.str, i32 0, i32 0\),]]
38
- // CHECK-NEXT: store i32 %[[V_A2]], i32* %b, align 4, !tbaa !9
38
+ // CHECK-NEXT: store i32 %[[V_A2]], i32* %b, align 4, !tbaa [[ONE]]
39
39
int myB = __builtin_intel_fpga_reg (myA);
40
40
// CHECK: %[[V_MYA1:[0-9]+]] = load i32, i32* %myA
41
41
// CHECK-NEXT: %[[V_MYA2:[0-9]+]] = call i32 @llvm.annotation.i32(i32 %[[V_MYA1]], [[BIFR_STR]]
42
- // CHECK-NEXT: store i32 %[[V_MYA2]], i32* %myB, align 4, !tbaa !9
42
+ // CHECK-NEXT: store i32 %[[V_MYA2]], i32* %myB, align 4, !tbaa [[ONE]]
43
43
int c = __builtin_intel_fpga_reg (2 .0f );
44
44
// CHECK: %[[V_CF1:[0-9]+]] = call i32 @llvm.annotation.i32(i32 1073741824, [[BIFR_STR]]
45
45
// CHECK-NEXT: %[[V_FBITCAST:[0-9]+]] = bitcast i32 %[[V_CF1]] to float
46
46
// CHECK-NEXT: %[[V_CF2:conv]] = fptosi float %[[V_FBITCAST]] to i32
47
- // CHECK-NEXT: store i32 %[[V_CF2]], i32* %c, align 4, !tbaa !9
47
+ // CHECK-NEXT: store i32 %[[V_CF2]], i32* %c, align 4, !tbaa [[ONE]]
48
48
int d = __builtin_intel_fpga_reg ( __builtin_intel_fpga_reg ( b+12 ));
49
49
// CHECK: %[[V_B1:[0-9]+]] = load i32, i32* %b
50
50
// CHECK-NEXT: %[[V_B2:add]] = add nsw i32 %[[V_B1]], 12
51
51
// CHECK-NEXT: %[[V_B3:[0-9]+]] = call i32 @llvm.annotation.i32(i32 %[[V_B2]], [[BIFR_STR]]
52
52
// CHECK-NEXT: %[[V_B4:[0-9]+]] = call i32 @llvm.annotation.i32(i32 %[[V_B3]], [[BIFR_STR]]
53
- // CHECK-NEXT: store i32 %[[V_B4]], i32* %d, align 4, !tbaa !9
53
+ // CHECK-NEXT: store i32 %[[V_B4]], i32* %d, align 4, !tbaa [[ONE]]
54
54
int e = __builtin_intel_fpga_reg ( __builtin_intel_fpga_reg ( a+b ));
55
55
// CHECK: %[[V_AB1:[0-9]+]] = load i32, i32* %a
56
56
// CHECK-NEXT: %[[V_AB2:[0-9]+]] = load i32, i32* %b
57
57
// CHECK-NEXT: %[[V_AB3:add[0-9]+]] = add nsw i32 %[[V_AB1]], %[[V_AB2]]
58
58
// CHECK-NEXT: %[[V_AB4:[0-9]+]] = call i32 @llvm.annotation.i32(i32 %[[V_AB3]], [[BIFR_STR]]
59
59
// CHECK-NEXT: %[[V_AB5:[0-9]+]] = call i32 @llvm.annotation.i32(i32 %[[V_AB4]], [[BIFR_STR]]
60
- // CHECK-NEXT: store i32 %[[V_AB5]], i32* %e, align 4, !tbaa !9
60
+ // CHECK-NEXT: store i32 %[[V_AB5]], i32* %e, align 4, !tbaa [[ONE]]
61
61
int f;
62
62
f = __builtin_intel_fpga_reg (a);
63
63
// CHECK: %[[V_F1:[0-9]+]] = load i32, i32* %a
64
64
// CHECK-NEXT: %[[V_F2:[0-9]+]] = call i32 @llvm.annotation.i32(i32 %[[V_F1]], [[BIFR_STR]]
65
- // CHECK-NEXT: store i32 %[[V_F2]], i32* %f, align 4, !tbaa !9
65
+ // CHECK-NEXT: store i32 %[[V_F2]], i32* %f, align 4, !tbaa [[ONE]]
66
66
67
67
struct st i = {1 , 5 .0f };
68
68
struct st i2 = i;
69
69
struct st ii = __builtin_intel_fpga_reg (i);
70
70
// CHECK: %[[V_TI1:[0-9]+]] = bitcast %[[T_ST]]* %agg-temp to i8*
71
71
// CHECK-NEXT: %[[V_I:[0-9]+]] = bitcast %[[T_ST]]* %i to i8*
72
- // CHECK-NEXT: call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %[[V_TI1]], i8* align 4 %[[V_I]], i64 8, i1 false), !tbaa.struct !11
72
+ // CHECK-NEXT: call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %[[V_TI1]], i8* align 4 %[[V_I]], i64 8, i1 false), !tbaa.struct [[TWO:![0-9]*]]
73
73
// CHECK-NEXT: %[[V_TI2:[0-9]+]] = bitcast %[[T_ST]]* %agg-temp to i8*
74
74
// CHECK-NEXT: %[[V_TI3:[0-9]+]] = call i8* @llvm.ptr.annotation.p0i8(i8* %[[V_TI2]], [[BIFR_STR]]
75
75
// CHECK-NEXT: %[[V_TI4:[0-9]+]] = bitcast i8* %[[V_TI3]] to %[[T_ST]]*
@@ -80,7 +80,7 @@ void foo() {
80
80
iii = __builtin_intel_fpga_reg (ii);
81
81
// CHECK: %[[V_TII1:[0-9]+]] = bitcast %[[T_ST]]* %agg-temp2 to i8*
82
82
// CHECK-NEXT: %[[V_II:[0-9]+]] = bitcast %[[T_ST]]* %ii to i8*
83
- // CHECK-NEXT: call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %[[V_TII1]], i8* align 4 %[[V_II]], i64 8, i1 false), !tbaa.struct !11
83
+ // CHECK-NEXT: call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %[[V_TII1]], i8* align 4 %[[V_II]], i64 8, i1 false), !tbaa.struct [[TWO]]
84
84
// CHECK-NEXT: %[[V_TII2:[0-9]+]] = bitcast %[[T_ST]]* %agg-temp2 to i8*
85
85
// CHECK-NEXT: %[[V_TII3:[0-9]+]] = call i8* @llvm.ptr.annotation.p0i8(i8* %[[V_TII2]], [[BIFR_STR]]
86
86
// CHECK-NEXT: %[[V_TII4:[0-9]+]] = bitcast i8* %[[V_TII3]] to %[[T_ST]]*
@@ -89,21 +89,21 @@ void foo() {
89
89
// CHECK-NEXT: call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %[[V_TII5]], i8* align 4 %[[V_TII6]], i64 8, i1 false)
90
90
// CHECK-NEXT: %[[V_TIII:[0-9]+]] = bitcast %[[T_ST]]* %iii to i8*
91
91
// CHECK-NEXT: %[[V_TII7:[0-9]+]] = bitcast %[[T_ST]]* %ref.tmp to i8*
92
- // CHECK-NEXT: call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %[[V_TIII]], i8* align 4 %[[V_TII7]], i64 8, i1 false), !tbaa.struct !11
92
+ // CHECK-NEXT: call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %[[V_TIII]], i8* align 4 %[[V_TII7]], i64 8, i1 false), !tbaa.struct [[TWO]]
93
93
94
94
struct st *iiii = __builtin_intel_fpga_reg (&iii);
95
95
// CHECK: %[[V_T3I0:[0-9]+]] = ptrtoint %[[T_ST]]* %iii to i64
96
96
// CHECK-NEXT: %[[V_T3I1:[0-9]+]] = call i64 @llvm.annotation.i64(i64 %[[V_T3I0]], [[BIFR_STR]]
97
97
// CHECK-NEXT: %[[V_T3I2:[0-9]+]] = inttoptr i64 %[[V_T3I1]] to %[[T_ST]]*
98
98
// CHECK-NEXT: %[[V_T3I3:[0-9]+]] = addrspacecast %[[T_ST]]* %[[V_T3I2]] to %[[T_ST]] addrspace(4)*
99
- // CHECK-NEXT: store %[[T_ST]] addrspace(4)* %[[V_T3I3]], %[[T_ST]] addrspace(4)** %iiii, align 8, !tbaa !5
99
+ // CHECK-NEXT: store %[[T_ST]] addrspace(4)* %[[V_T3I3]], %[[T_ST]] addrspace(4)** %iiii, align 8, !tbaa [[THREE:![0-9]*]]
100
100
101
101
union un u1 = {1 };
102
102
union un u2, *u3;
103
103
u2 = __builtin_intel_fpga_reg (u1);
104
104
// CHECK: %[[V_TU1:[0-9]+]] = bitcast %[[T_UN]]* %agg-temp4 to i8*
105
105
// CHECK-NEXT: %[[V_TU2:[0-9]+]] = bitcast %[[T_UN]]* %u1 to i8*
106
- // CHECK-NEXT: call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %[[V_TU1]], i8* align 4 %[[V_TU2]], i64 4, i1 false), !tbaa.struct !14
106
+ // CHECK-NEXT: call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %[[V_TU1]], i8* align 4 %[[V_TU2]], i64 4, i1 false), !tbaa.struct [[FOUR:![0-9]*]]
107
107
// CHECK-NEXT: %[[V_TU3:[0-9]+]] = bitcast %[[T_UN]]* %agg-temp4 to i8*
108
108
// CHECK-NEXT: %[[V_TU4:[0-9]+]] = call i8* @llvm.ptr.annotation.p0i8(i8* %[[V_TU3]], [[BIFR_STR]]
109
109
// CHECK-NEXT: %[[V_TU5:[0-9]+]] = bitcast i8* %[[V_TU4]] to %[[T_UN]]*
@@ -112,20 +112,20 @@ void foo() {
112
112
// CHECK-NEXT: call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %[[V_TU6]], i8* align 4 %[[V_TU7]], i64 8, i1 false)
113
113
// CHECK-NEXT: %[[V_TU8:[0-9]+]] = bitcast %[[T_UN]]* %u2 to i8*
114
114
// CHECK-NEXT: %[[V_TU9:[0-9]+]] = bitcast %[[T_UN]]* %ref.tmp3 to i8*
115
- // CHECK-NEXT: call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %[[V_TU8]], i8* align 4 %[[V_TU9]], i64 4, i1 false), !tbaa.struct !14
115
+ // CHECK-NEXT: call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %[[V_TU8]], i8* align 4 %[[V_TU9]], i64 4, i1 false), !tbaa.struct [[FOUR]]
116
116
117
117
u3 = __builtin_intel_fpga_reg (&u2);
118
118
// CHECK: %[[V_TPU1:[0-9]+]] = ptrtoint %[[T_UN]]* %u2 to i64
119
119
// CHECK-NEXT: %[[V_TPU2:[0-9]+]] = call i64 @llvm.annotation.i64(i64 %[[V_TPU1]], [[BIFR_STR]]
120
120
// CHECK-NEXT: %[[V_TPU3:[0-9]+]] = inttoptr i64 %[[V_TPU2]] to %[[T_UN]]*
121
121
// CHECK-NEXT: %[[V_TPU4:[0-9]+]] = addrspacecast %[[T_UN]]* %[[V_TPU3]] to %[[T_UN]] addrspace(4)*
122
- // CHECK-NEXT: store %[[T_UN]] addrspace(4)* %[[V_TPU4]], %[[T_UN]] addrspace(4)** %u3, align 8, !tbaa !5
122
+ // CHECK-NEXT: store %[[T_UN]] addrspace(4)* %[[V_TPU4]], %[[T_UN]] addrspace(4)** %u3, align 8, !tbaa [[THREE]]
123
123
124
124
A ca (213 );
125
125
A cb = __builtin_intel_fpga_reg (ca);
126
126
// CHECK: %[[V_TCA1:[0-9]+]] = bitcast %[[T_CL]]* %agg-temp5 to i8*
127
127
// CHECK-NEXT: %[[V_CA:[0-9]+]] = bitcast %[[T_CL]]* %ca to i8*
128
- // CHECK-NEXT: call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %[[V_TCA1]], i8* align 4 %[[V_CA]], i64 4, i1 false), !tbaa.struct !16
128
+ // CHECK-NEXT: call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %[[V_TCA1]], i8* align 4 %[[V_CA]], i64 4, i1 false), !tbaa.struct [[FIVE:![0-9]*]]
129
129
// CHECK-NEXT: %[[V_TCA2:[0-9]+]] = bitcast %[[T_CL]]* %agg-temp5 to i8*
130
130
// CHECK-NEXT: %[[V_TCA3:[0-9]+]] = call i8* @llvm.ptr.annotation.p0i8(i8* %[[V_TCA2]], [[BIFR_STR]]
131
131
// CHECK-NEXT: %[[V_TCA4:[0-9]+]] = bitcast i8* %[[V_TCA3]] to %[[T_CL]]*
@@ -135,11 +135,11 @@ void foo() {
135
135
136
136
int *ap = &a;
137
137
int *bp = __builtin_intel_fpga_reg (ap);
138
- // CHECK: %[[V_AP0:[0-9]+]] = load i32 addrspace(4)*, i32 addrspace(4)** %ap, align 8, !tbaa !5
138
+ // CHECK: %[[V_AP0:[0-9]+]] = load i32 addrspace(4)*, i32 addrspace(4)** %ap, align 8, !tbaa [[THREE]]
139
139
// CHECK-NEXT: %[[V_AP1:[0-9]+]] = ptrtoint i32 addrspace(4)* %[[V_AP0]] to i64
140
140
// CHECK-NEXT: %[[V_AP2:[0-9]+]] = call i64 @llvm.annotation.i64(i64 %[[V_AP1]], [[BIFR_STR]]
141
141
// CHECK-NEXT: %[[V_AP3:[0-9]+]] = inttoptr i64 %[[V_AP2]] to i32 addrspace(4)*
142
- // CHECK-NEXT: store i32 addrspace(4)* %[[V_AP3]], i32 addrspace(4)** %bp, align 8, !tbaa !5
142
+ // CHECK-NEXT: store i32 addrspace(4)* %[[V_AP3]], i32 addrspace(4)** %bp, align 8, !tbaa [[THREE]]
143
143
}
144
144
145
145
template <typename name, typename Func>
0 commit comments