pass: first attempt at register allocation

This commit is contained in:
Michael McLoughlin
2018-12-05 00:05:57 -08:00
parent 9376a230cf
commit 022cbb7792
9 changed files with 394 additions and 24 deletions

View File

@@ -8,6 +8,23 @@ const (
Mask
)
var Families = []*Family{
GeneralPurpose,
SIMD,
}
var familiesByKind = map[Kind]*Family{}
func init() {
for _, f := range Families {
familiesByKind[f.Kind] = f
}
}
func FamilyOfKind(k Kind) *Family {
return familiesByKind[k]
}
// General purpose registers.
var (
GeneralPurpose = &Family{Kind: GP}