1
2
3
4
5 package ssagen
6
7 import (
8 "cmd/compile/internal/ir"
9 "cmd/compile/internal/objw"
10 "cmd/compile/internal/ssa"
11 "cmd/compile/internal/types"
12 "cmd/internal/obj"
13 )
14
15 var Arch ArchInfo
16
17
18
19 type ArchInfo struct {
20 LinkArch *obj.LinkArch
21
22 REGSP int
23 MAXWIDTH int64
24 SoftFloat bool
25
26 PadFrame func(int64) int64
27
28
29
30 ZeroRange func(*objw.Progs, *obj.Prog, int64, int64, *uint32) *obj.Prog
31
32 Ginsnop func(*objw.Progs) *obj.Prog
33
34
35 SSAMarkMoves func(*State, *ssa.Block)
36
37
38 SSAGenValue func(*State, *ssa.Value)
39
40
41
42 SSAGenBlock func(s *State, b, next *ssa.Block)
43
44
45
46
47 LoadRegResult func(s *State, f *ssa.Func, t *types.Type, reg int16, n *ir.Name, off int64) *obj.Prog
48
49
50 SpillArgReg func(pp *objw.Progs, p *obj.Prog, f *ssa.Func, t *types.Type, reg int16, n *ir.Name, off int64) *obj.Prog
51 }
52
View as plain text