1// Code generated by mkbuiltin.go. DO NOT EDIT.
2
3package typecheck
4
5import (
6	"cmd/compile/internal/types"
7	"cmd/internal/src"
8)
9
10// Not inlining this function removes a significant chunk of init code.
11//
12//go:noinline
13func newSig(params, results []*types.Field) *types.Type {
14	return types.NewSignature(nil, params, results)
15}
16
17func params(tlist ...*types.Type) []*types.Field {
18	flist := make([]*types.Field, len(tlist))
19	for i, typ := range tlist {
20		flist[i] = types.NewField(src.NoXPos, nil, typ)
21	}
22	return flist
23}
24
25var runtimeDecls = [...]struct {
26	name string
27	tag  int
28	typ  int
29}{
30	{"newobject", funcTag, 4},
31	{"mallocgc", funcTag, 8},
32	{"panicdivide", funcTag, 9},
33	{"panicshift", funcTag, 9},
34	{"panicmakeslicelen", funcTag, 9},
35	{"panicmakeslicecap", funcTag, 9},
36	{"throwinit", funcTag, 9},
37	{"panicwrap", funcTag, 9},
38	{"gopanic", funcTag, 11},
39	{"gorecover", funcTag, 14},
40	{"goschedguarded", funcTag, 9},
41	{"goPanicIndex", funcTag, 16},
42	{"goPanicIndexU", funcTag, 18},
43	{"goPanicSliceAlen", funcTag, 16},
44	{"goPanicSliceAlenU", funcTag, 18},
45	{"goPanicSliceAcap", funcTag, 16},
46	{"goPanicSliceAcapU", funcTag, 18},
47	{"goPanicSliceB", funcTag, 16},
48	{"goPanicSliceBU", funcTag, 18},
49	{"goPanicSlice3Alen", funcTag, 16},
50	{"goPanicSlice3AlenU", funcTag, 18},
51	{"goPanicSlice3Acap", funcTag, 16},
52	{"goPanicSlice3AcapU", funcTag, 18},
53	{"goPanicSlice3B", funcTag, 16},
54	{"goPanicSlice3BU", funcTag, 18},
55	{"goPanicSlice3C", funcTag, 16},
56	{"goPanicSlice3CU", funcTag, 18},
57	{"goPanicSliceConvert", funcTag, 16},
58	{"printbool", funcTag, 19},
59	{"printfloat", funcTag, 21},
60	{"printint", funcTag, 23},
61	{"printhex", funcTag, 25},
62	{"printuint", funcTag, 25},
63	{"printcomplex", funcTag, 27},
64	{"printstring", funcTag, 29},
65	{"printpointer", funcTag, 30},
66	{"printuintptr", funcTag, 31},
67	{"printiface", funcTag, 30},
68	{"printeface", funcTag, 30},
69	{"printslice", funcTag, 30},
70	{"printnl", funcTag, 9},
71	{"printsp", funcTag, 9},
72	{"printlock", funcTag, 9},
73	{"printunlock", funcTag, 9},
74	{"concatstring2", funcTag, 34},
75	{"concatstring3", funcTag, 35},
76	{"concatstring4", funcTag, 36},
77	{"concatstring5", funcTag, 37},
78	{"concatstrings", funcTag, 39},
79	{"cmpstring", funcTag, 40},
80	{"intstring", funcTag, 43},
81	{"slicebytetostring", funcTag, 44},
82	{"slicebytetostringtmp", funcTag, 45},
83	{"slicerunetostring", funcTag, 48},
84	{"stringtoslicebyte", funcTag, 50},
85	{"stringtoslicerune", funcTag, 53},
86	{"slicecopy", funcTag, 54},
87	{"decoderune", funcTag, 55},
88	{"countrunes", funcTag, 56},
89	{"convT", funcTag, 57},
90	{"convTnoptr", funcTag, 57},
91	{"convT16", funcTag, 59},
92	{"convT32", funcTag, 61},
93	{"convT64", funcTag, 62},
94	{"convTstring", funcTag, 63},
95	{"convTslice", funcTag, 66},
96	{"assertE2I", funcTag, 67},
97	{"assertE2I2", funcTag, 67},
98	{"panicdottypeE", funcTag, 68},
99	{"panicdottypeI", funcTag, 68},
100	{"panicnildottype", funcTag, 69},
101	{"typeAssert", funcTag, 67},
102	{"interfaceSwitch", funcTag, 70},
103	{"ifaceeq", funcTag, 72},
104	{"efaceeq", funcTag, 72},
105	{"panicrangestate", funcTag, 73},
106	{"deferrangefunc", funcTag, 74},
107	{"rand32", funcTag, 75},
108	{"makemap64", funcTag, 77},
109	{"makemap", funcTag, 78},
110	{"makemap_small", funcTag, 79},
111	{"mapaccess1", funcTag, 80},
112	{"mapaccess1_fast32", funcTag, 81},
113	{"mapaccess1_fast64", funcTag, 82},
114	{"mapaccess1_faststr", funcTag, 83},
115	{"mapaccess1_fat", funcTag, 84},
116	{"mapaccess2", funcTag, 85},
117	{"mapaccess2_fast32", funcTag, 86},
118	{"mapaccess2_fast64", funcTag, 87},
119	{"mapaccess2_faststr", funcTag, 88},
120	{"mapaccess2_fat", funcTag, 89},
121	{"mapassign", funcTag, 80},
122	{"mapassign_fast32", funcTag, 81},
123	{"mapassign_fast32ptr", funcTag, 90},
124	{"mapassign_fast64", funcTag, 82},
125	{"mapassign_fast64ptr", funcTag, 90},
126	{"mapassign_faststr", funcTag, 83},
127	{"mapiterinit", funcTag, 91},
128	{"mapdelete", funcTag, 91},
129	{"mapdelete_fast32", funcTag, 92},
130	{"mapdelete_fast64", funcTag, 93},
131	{"mapdelete_faststr", funcTag, 94},
132	{"mapiternext", funcTag, 95},
133	{"mapclear", funcTag, 96},
134	{"makechan64", funcTag, 98},
135	{"makechan", funcTag, 99},
136	{"chanrecv1", funcTag, 101},
137	{"chanrecv2", funcTag, 102},
138	{"chansend1", funcTag, 104},
139	{"closechan", funcTag, 105},
140	{"chanlen", funcTag, 106},
141	{"chancap", funcTag, 106},
142	{"writeBarrier", varTag, 108},
143	{"typedmemmove", funcTag, 109},
144	{"typedmemclr", funcTag, 110},
145	{"typedslicecopy", funcTag, 111},
146	{"selectnbsend", funcTag, 112},
147	{"selectnbrecv", funcTag, 113},
148	{"selectsetpc", funcTag, 114},
149	{"selectgo", funcTag, 115},
150	{"block", funcTag, 9},
151	{"makeslice", funcTag, 116},
152	{"makeslice64", funcTag, 117},
153	{"makeslicecopy", funcTag, 118},
154	{"growslice", funcTag, 120},
155	{"unsafeslicecheckptr", funcTag, 121},
156	{"panicunsafeslicelen", funcTag, 9},
157	{"panicunsafeslicenilptr", funcTag, 9},
158	{"unsafestringcheckptr", funcTag, 122},
159	{"panicunsafestringlen", funcTag, 9},
160	{"panicunsafestringnilptr", funcTag, 9},
161	{"memmove", funcTag, 123},
162	{"memclrNoHeapPointers", funcTag, 124},
163	{"memclrHasPointers", funcTag, 124},
164	{"memequal", funcTag, 125},
165	{"memequal0", funcTag, 126},
166	{"memequal8", funcTag, 126},
167	{"memequal16", funcTag, 126},
168	{"memequal32", funcTag, 126},
169	{"memequal64", funcTag, 126},
170	{"memequal128", funcTag, 126},
171	{"f32equal", funcTag, 127},
172	{"f64equal", funcTag, 127},
173	{"c64equal", funcTag, 127},
174	{"c128equal", funcTag, 127},
175	{"strequal", funcTag, 127},
176	{"interequal", funcTag, 127},
177	{"nilinterequal", funcTag, 127},
178	{"memhash", funcTag, 128},
179	{"memhash0", funcTag, 129},
180	{"memhash8", funcTag, 129},
181	{"memhash16", funcTag, 129},
182	{"memhash32", funcTag, 129},
183	{"memhash64", funcTag, 129},
184	{"memhash128", funcTag, 129},
185	{"f32hash", funcTag, 130},
186	{"f64hash", funcTag, 130},
187	{"c64hash", funcTag, 130},
188	{"c128hash", funcTag, 130},
189	{"strhash", funcTag, 130},
190	{"interhash", funcTag, 130},
191	{"nilinterhash", funcTag, 130},
192	{"int64div", funcTag, 131},
193	{"uint64div", funcTag, 132},
194	{"int64mod", funcTag, 131},
195	{"uint64mod", funcTag, 132},
196	{"float64toint64", funcTag, 133},
197	{"float64touint64", funcTag, 134},
198	{"float64touint32", funcTag, 135},
199	{"int64tofloat64", funcTag, 136},
200	{"int64tofloat32", funcTag, 138},
201	{"uint64tofloat64", funcTag, 139},
202	{"uint64tofloat32", funcTag, 140},
203	{"uint32tofloat64", funcTag, 141},
204	{"complex128div", funcTag, 142},
205	{"getcallerpc", funcTag, 143},
206	{"getcallersp", funcTag, 143},
207	{"racefuncenter", funcTag, 31},
208	{"racefuncexit", funcTag, 9},
209	{"raceread", funcTag, 31},
210	{"racewrite", funcTag, 31},
211	{"racereadrange", funcTag, 144},
212	{"racewriterange", funcTag, 144},
213	{"msanread", funcTag, 144},
214	{"msanwrite", funcTag, 144},
215	{"msanmove", funcTag, 145},
216	{"asanread", funcTag, 144},
217	{"asanwrite", funcTag, 144},
218	{"checkptrAlignment", funcTag, 146},
219	{"checkptrArithmetic", funcTag, 148},
220	{"libfuzzerTraceCmp1", funcTag, 149},
221	{"libfuzzerTraceCmp2", funcTag, 150},
222	{"libfuzzerTraceCmp4", funcTag, 151},
223	{"libfuzzerTraceCmp8", funcTag, 152},
224	{"libfuzzerTraceConstCmp1", funcTag, 149},
225	{"libfuzzerTraceConstCmp2", funcTag, 150},
226	{"libfuzzerTraceConstCmp4", funcTag, 151},
227	{"libfuzzerTraceConstCmp8", funcTag, 152},
228	{"libfuzzerHookStrCmp", funcTag, 153},
229	{"libfuzzerHookEqualFold", funcTag, 153},
230	{"addCovMeta", funcTag, 155},
231	{"x86HasPOPCNT", varTag, 6},
232	{"x86HasSSE41", varTag, 6},
233	{"x86HasFMA", varTag, 6},
234	{"armHasVFPv4", varTag, 6},
235	{"arm64HasATOMICS", varTag, 6},
236	{"asanregisterglobals", funcTag, 124},
237}
238
239func runtimeTypes() []*types.Type {
240	var typs [156]*types.Type
241	typs[0] = types.ByteType
242	typs[1] = types.NewPtr(typs[0])
243	typs[2] = types.Types[types.TANY]
244	typs[3] = types.NewPtr(typs[2])
245	typs[4] = newSig(params(typs[1]), params(typs[3]))
246	typs[5] = types.Types[types.TUINTPTR]
247	typs[6] = types.Types[types.TBOOL]
248	typs[7] = types.Types[types.TUNSAFEPTR]
249	typs[8] = newSig(params(typs[5], typs[1], typs[6]), params(typs[7]))
250	typs[9] = newSig(nil, nil)
251	typs[10] = types.Types[types.TINTER]
252	typs[11] = newSig(params(typs[10]), nil)
253	typs[12] = types.Types[types.TINT32]
254	typs[13] = types.NewPtr(typs[12])
255	typs[14] = newSig(params(typs[13]), params(typs[10]))
256	typs[15] = types.Types[types.TINT]
257	typs[16] = newSig(params(typs[15], typs[15]), nil)
258	typs[17] = types.Types[types.TUINT]
259	typs[18] = newSig(params(typs[17], typs[15]), nil)
260	typs[19] = newSig(params(typs[6]), nil)
261	typs[20] = types.Types[types.TFLOAT64]
262	typs[21] = newSig(params(typs[20]), nil)
263	typs[22] = types.Types[types.TINT64]
264	typs[23] = newSig(params(typs[22]), nil)
265	typs[24] = types.Types[types.TUINT64]
266	typs[25] = newSig(params(typs[24]), nil)
267	typs[26] = types.Types[types.TCOMPLEX128]
268	typs[27] = newSig(params(typs[26]), nil)
269	typs[28] = types.Types[types.TSTRING]
270	typs[29] = newSig(params(typs[28]), nil)
271	typs[30] = newSig(params(typs[2]), nil)
272	typs[31] = newSig(params(typs[5]), nil)
273	typs[32] = types.NewArray(typs[0], 32)
274	typs[33] = types.NewPtr(typs[32])
275	typs[34] = newSig(params(typs[33], typs[28], typs[28]), params(typs[28]))
276	typs[35] = newSig(params(typs[33], typs[28], typs[28], typs[28]), params(typs[28]))
277	typs[36] = newSig(params(typs[33], typs[28], typs[28], typs[28], typs[28]), params(typs[28]))
278	typs[37] = newSig(params(typs[33], typs[28], typs[28], typs[28], typs[28], typs[28]), params(typs[28]))
279	typs[38] = types.NewSlice(typs[28])
280	typs[39] = newSig(params(typs[33], typs[38]), params(typs[28]))
281	typs[40] = newSig(params(typs[28], typs[28]), params(typs[15]))
282	typs[41] = types.NewArray(typs[0], 4)
283	typs[42] = types.NewPtr(typs[41])
284	typs[43] = newSig(params(typs[42], typs[22]), params(typs[28]))
285	typs[44] = newSig(params(typs[33], typs[1], typs[15]), params(typs[28]))
286	typs[45] = newSig(params(typs[1], typs[15]), params(typs[28]))
287	typs[46] = types.RuneType
288	typs[47] = types.NewSlice(typs[46])
289	typs[48] = newSig(params(typs[33], typs[47]), params(typs[28]))
290	typs[49] = types.NewSlice(typs[0])
291	typs[50] = newSig(params(typs[33], typs[28]), params(typs[49]))
292	typs[51] = types.NewArray(typs[46], 32)
293	typs[52] = types.NewPtr(typs[51])
294	typs[53] = newSig(params(typs[52], typs[28]), params(typs[47]))
295	typs[54] = newSig(params(typs[3], typs[15], typs[3], typs[15], typs[5]), params(typs[15]))
296	typs[55] = newSig(params(typs[28], typs[15]), params(typs[46], typs[15]))
297	typs[56] = newSig(params(typs[28]), params(typs[15]))
298	typs[57] = newSig(params(typs[1], typs[3]), params(typs[7]))
299	typs[58] = types.Types[types.TUINT16]
300	typs[59] = newSig(params(typs[58]), params(typs[7]))
301	typs[60] = types.Types[types.TUINT32]
302	typs[61] = newSig(params(typs[60]), params(typs[7]))
303	typs[62] = newSig(params(typs[24]), params(typs[7]))
304	typs[63] = newSig(params(typs[28]), params(typs[7]))
305	typs[64] = types.Types[types.TUINT8]
306	typs[65] = types.NewSlice(typs[64])
307	typs[66] = newSig(params(typs[65]), params(typs[7]))
308	typs[67] = newSig(params(typs[1], typs[1]), params(typs[1]))
309	typs[68] = newSig(params(typs[1], typs[1], typs[1]), nil)
310	typs[69] = newSig(params(typs[1]), nil)
311	typs[70] = newSig(params(typs[1], typs[1]), params(typs[15], typs[1]))
312	typs[71] = types.NewPtr(typs[5])
313	typs[72] = newSig(params(typs[71], typs[7], typs[7]), params(typs[6]))
314	typs[73] = newSig(params(typs[15]), nil)
315	typs[74] = newSig(nil, params(typs[10]))
316	typs[75] = newSig(nil, params(typs[60]))
317	typs[76] = types.NewMap(typs[2], typs[2])
318	typs[77] = newSig(params(typs[1], typs[22], typs[3]), params(typs[76]))
319	typs[78] = newSig(params(typs[1], typs[15], typs[3]), params(typs[76]))
320	typs[79] = newSig(nil, params(typs[76]))
321	typs[80] = newSig(params(typs[1], typs[76], typs[3]), params(typs[3]))
322	typs[81] = newSig(params(typs[1], typs[76], typs[60]), params(typs[3]))
323	typs[82] = newSig(params(typs[1], typs[76], typs[24]), params(typs[3]))
324	typs[83] = newSig(params(typs[1], typs[76], typs[28]), params(typs[3]))
325	typs[84] = newSig(params(typs[1], typs[76], typs[3], typs[1]), params(typs[3]))
326	typs[85] = newSig(params(typs[1], typs[76], typs[3]), params(typs[3], typs[6]))
327	typs[86] = newSig(params(typs[1], typs[76], typs[60]), params(typs[3], typs[6]))
328	typs[87] = newSig(params(typs[1], typs[76], typs[24]), params(typs[3], typs[6]))
329	typs[88] = newSig(params(typs[1], typs[76], typs[28]), params(typs[3], typs[6]))
330	typs[89] = newSig(params(typs[1], typs[76], typs[3], typs[1]), params(typs[3], typs[6]))
331	typs[90] = newSig(params(typs[1], typs[76], typs[7]), params(typs[3]))
332	typs[91] = newSig(params(typs[1], typs[76], typs[3]), nil)
333	typs[92] = newSig(params(typs[1], typs[76], typs[60]), nil)
334	typs[93] = newSig(params(typs[1], typs[76], typs[24]), nil)
335	typs[94] = newSig(params(typs[1], typs[76], typs[28]), nil)
336	typs[95] = newSig(params(typs[3]), nil)
337	typs[96] = newSig(params(typs[1], typs[76]), nil)
338	typs[97] = types.NewChan(typs[2], types.Cboth)
339	typs[98] = newSig(params(typs[1], typs[22]), params(typs[97]))
340	typs[99] = newSig(params(typs[1], typs[15]), params(typs[97]))
341	typs[100] = types.NewChan(typs[2], types.Crecv)
342	typs[101] = newSig(params(typs[100], typs[3]), nil)
343	typs[102] = newSig(params(typs[100], typs[3]), params(typs[6]))
344	typs[103] = types.NewChan(typs[2], types.Csend)
345	typs[104] = newSig(params(typs[103], typs[3]), nil)
346	typs[105] = newSig(params(typs[103]), nil)
347	typs[106] = newSig(params(typs[2]), params(typs[15]))
348	typs[107] = types.NewArray(typs[0], 3)
349	typs[108] = types.NewStruct([]*types.Field{types.NewField(src.NoXPos, Lookup("enabled"), typs[6]), types.NewField(src.NoXPos, Lookup("pad"), typs[107]), types.NewField(src.NoXPos, Lookup("cgo"), typs[6]), types.NewField(src.NoXPos, Lookup("alignme"), typs[24])})
350	typs[109] = newSig(params(typs[1], typs[3], typs[3]), nil)
351	typs[110] = newSig(params(typs[1], typs[3]), nil)
352	typs[111] = newSig(params(typs[1], typs[3], typs[15], typs[3], typs[15]), params(typs[15]))
353	typs[112] = newSig(params(typs[103], typs[3]), params(typs[6]))
354	typs[113] = newSig(params(typs[3], typs[100]), params(typs[6], typs[6]))
355	typs[114] = newSig(params(typs[71]), nil)
356	typs[115] = newSig(params(typs[1], typs[1], typs[71], typs[15], typs[15], typs[6]), params(typs[15], typs[6]))
357	typs[116] = newSig(params(typs[1], typs[15], typs[15]), params(typs[7]))
358	typs[117] = newSig(params(typs[1], typs[22], typs[22]), params(typs[7]))
359	typs[118] = newSig(params(typs[1], typs[15], typs[15], typs[7]), params(typs[7]))
360	typs[119] = types.NewSlice(typs[2])
361	typs[120] = newSig(params(typs[3], typs[15], typs[15], typs[15], typs[1]), params(typs[119]))
362	typs[121] = newSig(params(typs[1], typs[7], typs[22]), nil)
363	typs[122] = newSig(params(typs[7], typs[22]), nil)
364	typs[123] = newSig(params(typs[3], typs[3], typs[5]), nil)
365	typs[124] = newSig(params(typs[7], typs[5]), nil)
366	typs[125] = newSig(params(typs[3], typs[3], typs[5]), params(typs[6]))
367	typs[126] = newSig(params(typs[3], typs[3]), params(typs[6]))
368	typs[127] = newSig(params(typs[7], typs[7]), params(typs[6]))
369	typs[128] = newSig(params(typs[3], typs[5], typs[5]), params(typs[5]))
370	typs[129] = newSig(params(typs[7], typs[5]), params(typs[5]))
371	typs[130] = newSig(params(typs[3], typs[5]), params(typs[5]))
372	typs[131] = newSig(params(typs[22], typs[22]), params(typs[22]))
373	typs[132] = newSig(params(typs[24], typs[24]), params(typs[24]))
374	typs[133] = newSig(params(typs[20]), params(typs[22]))
375	typs[134] = newSig(params(typs[20]), params(typs[24]))
376	typs[135] = newSig(params(typs[20]), params(typs[60]))
377	typs[136] = newSig(params(typs[22]), params(typs[20]))
378	typs[137] = types.Types[types.TFLOAT32]
379	typs[138] = newSig(params(typs[22]), params(typs[137]))
380	typs[139] = newSig(params(typs[24]), params(typs[20]))
381	typs[140] = newSig(params(typs[24]), params(typs[137]))
382	typs[141] = newSig(params(typs[60]), params(typs[20]))
383	typs[142] = newSig(params(typs[26], typs[26]), params(typs[26]))
384	typs[143] = newSig(nil, params(typs[5]))
385	typs[144] = newSig(params(typs[5], typs[5]), nil)
386	typs[145] = newSig(params(typs[5], typs[5], typs[5]), nil)
387	typs[146] = newSig(params(typs[7], typs[1], typs[5]), nil)
388	typs[147] = types.NewSlice(typs[7])
389	typs[148] = newSig(params(typs[7], typs[147]), nil)
390	typs[149] = newSig(params(typs[64], typs[64], typs[17]), nil)
391	typs[150] = newSig(params(typs[58], typs[58], typs[17]), nil)
392	typs[151] = newSig(params(typs[60], typs[60], typs[17]), nil)
393	typs[152] = newSig(params(typs[24], typs[24], typs[17]), nil)
394	typs[153] = newSig(params(typs[28], typs[28], typs[17]), nil)
395	typs[154] = types.NewArray(typs[0], 16)
396	typs[155] = newSig(params(typs[7], typs[60], typs[154], typs[28], typs[15], typs[64], typs[64]), params(typs[60]))
397	return typs[:]
398}
399
400var coverageDecls = [...]struct {
401	name string
402	tag  int
403	typ  int
404}{
405	{"initHook", funcTag, 1},
406}
407
408func coverageTypes() []*types.Type {
409	var typs [2]*types.Type
410	typs[0] = types.Types[types.TBOOL]
411	typs[1] = newSig(params(typs[0]), nil)
412	return typs[:]
413}
414