Functions
Init
function
#
func Init(arch *ssagen.ArchInfo)
ginsnop
function
#
func ginsnop(pp *objw.Progs) *obj.Prog
isFPreg
function
#
isFPreg reports whether r is an FP register.
func isFPreg(r int16) bool
largestMove
function
#
largestMove returns the largest move instruction possible and its size,
given the alignment of the total size of the move.
e.g., a 16-byte move may use MOVV, but an 11-byte move must use MOVB.
Note that the moves may not be on naturally aligned addresses depending on
the source and destination.
This matches the calculation in ssa.moveSize.
func largestMove(alignment int64) (obj.As, int64)
loadByType
function
#
loadByType returns the load instruction of the given type.
func loadByType(t *types.Type, r int16) obj.As
loadRegResult
function
#
func loadRegResult(s *ssagen.State, f *ssa.Func, t *types.Type, reg int16, n *ir.Name, off int64) *obj.Prog
spillArgReg
function
#
func spillArgReg(pp *objw.Progs, p *obj.Prog, f *ssa.Func, t *types.Type, reg int16, n *ir.Name, off int64) *obj.Prog
ssaGenBlock
function
#
func ssaGenBlock(s *ssagen.State, b *ssa.Block, next *ssa.Block)
ssaGenValue
function
#
func ssaGenValue(s *ssagen.State, v *ssa.Value)
storeByType
function
#
storeByType returns the store instruction of the given type.
func storeByType(t *types.Type, r int16) obj.As
zerorange
function
#
func zerorange(pp *objw.Progs, p *obj.Prog, off int64, cnt int64, _ *uint32) *obj.Prog