mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
[dev.regabi] cmd/compile: first pass at abstracting Type
Passes toolstash/buildall.
[git-generate]
cd src/cmd/compile/internal/ssa
rf '
ex . ../ir ../gc {
import "cmd/compile/internal/types"
var t *types.Type
t.Etype -> t.Kind()
t.Sym -> t.GetSym()
t.Orig -> t.Underlying()
}
'
cd ../types
rf '
mv EType Kind
mv IRNode Object
mv Type.Etype Type.kind
mv Type.Sym Type.sym
mv Type.Orig Type.underlying
mv Type.Cache Type.cache
mv Type.GetSym Type.Sym
mv Bytetype ByteType
mv Runetype RuneType
mv Errortype ErrorType
'
cd ../gc
sed -i 's/Bytetype/ByteType/; s/Runetype/RuneType/' mkbuiltin.go
git codereview gofmt
go install cmd/compile/internal/...
go test cmd/compile -u || go test cmd/compile
Change-Id: Ibecb2d7100d3318a49238eb4a78d70acb49eedca
Reviewed-on: https://go-review.googlesource.com/c/go/+/274437
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Russ Cox <rsc@golang.org>
Trust: Matthew Dempsky <mdempsky@google.com>
This commit is contained in:
parent
6ca23a45fe
commit
5ffa275f3c
36 changed files with 398 additions and 398 deletions
|
|
@ -783,9 +783,9 @@ func (s *regAllocState) compatRegs(t *types.Type) regMask {
|
|||
return 0
|
||||
}
|
||||
if t.IsFloat() || t == types.TypeInt128 {
|
||||
if t.Etype == types.TFLOAT32 && s.f.Config.fp32RegMask != 0 {
|
||||
if t.Kind() == types.TFLOAT32 && s.f.Config.fp32RegMask != 0 {
|
||||
m = s.f.Config.fp32RegMask
|
||||
} else if t.Etype == types.TFLOAT64 && s.f.Config.fp64RegMask != 0 {
|
||||
} else if t.Kind() == types.TFLOAT64 && s.f.Config.fp64RegMask != 0 {
|
||||
m = s.f.Config.fp64RegMask
|
||||
} else {
|
||||
m = s.f.Config.fpRegMask
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue