1// Copyright 2009 The Go Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5package ir
6
7import (
8	"cmd/compile/internal/types"
9	"cmd/internal/obj"
10)
11
12// Syms holds known symbols.
13var Syms symsStruct
14
15type symsStruct struct {
16	AssertE2I         *obj.LSym
17	AssertE2I2        *obj.LSym
18	AssertI2I         *obj.LSym
19	AssertI2I2        *obj.LSym
20	Asanread          *obj.LSym
21	Asanwrite         *obj.LSym
22	CgoCheckMemmove   *obj.LSym
23	CgoCheckPtrWrite  *obj.LSym
24	CheckPtrAlignment *obj.LSym
25	Deferproc         *obj.LSym
26	Deferprocat       *obj.LSym
27	DeferprocStack    *obj.LSym
28	Deferreturn       *obj.LSym
29	Duffcopy          *obj.LSym
30	Duffzero          *obj.LSym
31	GCWriteBarrier    [8]*obj.LSym
32	Goschedguarded    *obj.LSym
33	Growslice         *obj.LSym
34	InterfaceSwitch   *obj.LSym
35	Memmove           *obj.LSym
36	Msanread          *obj.LSym
37	Msanwrite         *obj.LSym
38	Msanmove          *obj.LSym
39	Newobject         *obj.LSym
40	Newproc           *obj.LSym
41	Panicdivide       *obj.LSym
42	Panicshift        *obj.LSym
43	PanicdottypeE     *obj.LSym
44	PanicdottypeI     *obj.LSym
45	Panicnildottype   *obj.LSym
46	Panicoverflow     *obj.LSym
47	Racefuncenter     *obj.LSym
48	Racefuncexit      *obj.LSym
49	Raceread          *obj.LSym
50	Racereadrange     *obj.LSym
51	Racewrite         *obj.LSym
52	Racewriterange    *obj.LSym
53	TypeAssert        *obj.LSym
54	WBZero            *obj.LSym
55	WBMove            *obj.LSym
56	// Wasm
57	SigPanic        *obj.LSym
58	Staticuint64s   *obj.LSym
59	Typedmemmove    *obj.LSym
60	Udiv            *obj.LSym
61	WriteBarrier    *obj.LSym
62	Zerobase        *obj.LSym
63	ARM64HasATOMICS *obj.LSym
64	ARMHasVFPv4     *obj.LSym
65	X86HasFMA       *obj.LSym
66	X86HasPOPCNT    *obj.LSym
67	X86HasSSE41     *obj.LSym
68	// Wasm
69	WasmDiv *obj.LSym
70	// Wasm
71	WasmTruncS *obj.LSym
72	// Wasm
73	WasmTruncU *obj.LSym
74}
75
76// Pkgs holds known packages.
77var Pkgs struct {
78	Go       *types.Pkg
79	Itab     *types.Pkg
80	Runtime  *types.Pkg
81	Coverage *types.Pkg
82}
83