Skip to content

Commit

Permalink
cmd/compile: remove traces of old register allocator
Browse files Browse the repository at this point in the history
Only added lines are moving amd64 and x86's ginsnop functions from
gsubr.go to ggen.go to match other architectures, so all of the
gsubr.go files can go away.

Change-Id: Ib2292460c155ae6d9dcf5c9801f178031d8eea7a
Reviewed-on: https://go-review.googlesource.com/29240
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Dave Cheney <dave@cheney.net>
  • Loading branch information
mdempsky committed Sep 16, 2016
1 parent ae7e0ad commit 1f2930c
Show file tree
Hide file tree
Showing 17 changed files with 22 additions and 408 deletions.
14 changes: 0 additions & 14 deletions src/cmd/compile/internal/amd64/galign.go
Expand Up @@ -18,13 +18,6 @@ func betypeinit() {
if obj.GOARCH == "amd64p32" {
leaptr = x86.ALEAL
}
if gc.Ctxt.Flag_dynlink || obj.GOOS == "nacl" {
resvd = append(resvd, x86.REG_R15)
}
if gc.Ctxt.Framepointer_enabled || obj.GOOS == "nacl" {
resvd = append(resvd, x86.REG_BP)
}
gc.Thearch.ReservedRegs = resvd
}

func Main() {
Expand All @@ -34,13 +27,6 @@ func Main() {
}
gc.Thearch.REGSP = x86.REGSP
gc.Thearch.REGCTXT = x86.REGCTXT
gc.Thearch.REGCALLX = x86.REG_BX
gc.Thearch.REGCALLX2 = x86.REG_AX
gc.Thearch.REGRETURN = x86.REG_AX
gc.Thearch.REGMIN = x86.REG_AX
gc.Thearch.REGMAX = x86.REG_R15
gc.Thearch.FREGMIN = x86.REG_X0
gc.Thearch.FREGMAX = x86.REG_X15
gc.Thearch.MAXWIDTH = 1 << 50

gc.Thearch.Betypeinit = betypeinit
Expand Down
11 changes: 11 additions & 0 deletions src/cmd/compile/internal/amd64/ggen.go
Expand Up @@ -165,3 +165,14 @@ func zerorange(p *obj.Prog, frame int64, lo int64, hi int64, ax *uint32, x0 *uin

return p
}

func ginsnop() {
// This is actually not the x86 NOP anymore,
// but at the point where it gets used, AX is dead
// so it's okay if we lose the high bits.
p := gc.Prog(x86.AXCHGL)
p.From.Type = obj.TYPE_REG
p.From.Reg = x86.REG_AX
p.To.Type = obj.TYPE_REG
p.To.Reg = x86.REG_AX
}
58 changes: 0 additions & 58 deletions src/cmd/compile/internal/amd64/gsubr.go

This file was deleted.

8 changes: 0 additions & 8 deletions src/cmd/compile/internal/arm/galign.go
Expand Up @@ -17,15 +17,7 @@ func Main() {
gc.Thearch.LinkArch = &arm.Linkarm
gc.Thearch.REGSP = arm.REGSP
gc.Thearch.REGCTXT = arm.REGCTXT
gc.Thearch.REGCALLX = arm.REG_R1
gc.Thearch.REGCALLX2 = arm.REG_R2
gc.Thearch.REGRETURN = arm.REG_R0
gc.Thearch.REGMIN = arm.REG_R0
gc.Thearch.REGMAX = arm.REGEXT
gc.Thearch.FREGMIN = arm.REG_F0
gc.Thearch.FREGMAX = arm.FREGEXT
gc.Thearch.MAXWIDTH = (1 << 32) - 1
gc.Thearch.ReservedRegs = resvd

gc.Thearch.Betypeinit = betypeinit
gc.Thearch.Defframe = defframe
Expand Down
38 changes: 0 additions & 38 deletions src/cmd/compile/internal/arm/gsubr.go

This file was deleted.

9 changes: 0 additions & 9 deletions src/cmd/compile/internal/arm64/galign.go
Expand Up @@ -17,16 +17,7 @@ func Main() {
gc.Thearch.LinkArch = &arm64.Linkarm64
gc.Thearch.REGSP = arm64.REGSP
gc.Thearch.REGCTXT = arm64.REGCTXT
gc.Thearch.REGCALLX = arm64.REGRT1
gc.Thearch.REGCALLX2 = arm64.REGRT2
gc.Thearch.REGRETURN = arm64.REG_R0
gc.Thearch.REGMIN = arm64.REG_R0
gc.Thearch.REGMAX = arm64.REG_R31
gc.Thearch.REGZERO = arm64.REGZERO
gc.Thearch.FREGMIN = arm64.REG_F0
gc.Thearch.FREGMAX = arm64.REG_F31
gc.Thearch.MAXWIDTH = 1 << 50
gc.Thearch.ReservedRegs = resvd

gc.Thearch.Betypeinit = betypeinit
gc.Thearch.Defframe = defframe
Expand Down
41 changes: 0 additions & 41 deletions src/cmd/compile/internal/arm64/gsubr.go

This file was deleted.

15 changes: 3 additions & 12 deletions src/cmd/compile/internal/gc/go.go
Expand Up @@ -355,18 +355,9 @@ const (
type Arch struct {
LinkArch *obj.LinkArch

REGSP int
REGCTXT int
REGCALLX int // BX
REGCALLX2 int // AX
REGRETURN int // AX
REGMIN int
REGMAX int
REGZERO int // architectural zero register, if available
FREGMIN int
FREGMAX int
MAXWIDTH int64
ReservedRegs []int
REGSP int
REGCTXT int
MAXWIDTH int64

Betypeinit func()
Defframe func(*obj.Prog)
Expand Down
8 changes: 0 additions & 8 deletions src/cmd/compile/internal/mips64/galign.go
Expand Up @@ -21,15 +21,7 @@ func Main() {
}
gc.Thearch.REGSP = mips.REGSP
gc.Thearch.REGCTXT = mips.REGCTXT
gc.Thearch.REGCALLX = mips.REG_R1
gc.Thearch.REGCALLX2 = mips.REG_R2
gc.Thearch.REGRETURN = mips.REGRET
gc.Thearch.REGMIN = mips.REG_R0
gc.Thearch.REGMAX = mips.REG_R31
gc.Thearch.FREGMIN = mips.REG_F0
gc.Thearch.FREGMAX = mips.REG_F31
gc.Thearch.MAXWIDTH = 1 << 50
gc.Thearch.ReservedRegs = resvd

gc.Thearch.Betypeinit = betypeinit
gc.Thearch.Defframe = defframe
Expand Down
44 changes: 0 additions & 44 deletions src/cmd/compile/internal/mips64/gsubr.go

This file was deleted.

12 changes: 0 additions & 12 deletions src/cmd/compile/internal/ppc64/galign.go
Expand Up @@ -11,10 +11,6 @@ import (
)

func betypeinit() {
if gc.Ctxt.Flag_shared {
gc.Thearch.ReservedRegs = append(gc.Thearch.ReservedRegs, ppc64.REG_R2)
gc.Thearch.ReservedRegs = append(gc.Thearch.ReservedRegs, ppc64.REG_R12)
}
}

func Main() {
Expand All @@ -24,15 +20,7 @@ func Main() {
}
gc.Thearch.REGSP = ppc64.REGSP
gc.Thearch.REGCTXT = ppc64.REGCTXT
gc.Thearch.REGCALLX = ppc64.REG_R3
gc.Thearch.REGCALLX2 = ppc64.REG_R4
gc.Thearch.REGRETURN = ppc64.REG_R3
gc.Thearch.REGMIN = ppc64.REG_R0
gc.Thearch.REGMAX = ppc64.REG_R31
gc.Thearch.FREGMIN = ppc64.REG_F0
gc.Thearch.FREGMAX = ppc64.REG_F31
gc.Thearch.MAXWIDTH = 1 << 50
gc.Thearch.ReservedRegs = resvd

gc.Thearch.Betypeinit = betypeinit
gc.Thearch.Defframe = defframe
Expand Down
48 changes: 0 additions & 48 deletions src/cmd/compile/internal/ppc64/gsubr.go

This file was deleted.

8 changes: 0 additions & 8 deletions src/cmd/compile/internal/s390x/galign.go
Expand Up @@ -16,15 +16,7 @@ func Main() {
gc.Thearch.LinkArch = &s390x.Links390x
gc.Thearch.REGSP = s390x.REGSP
gc.Thearch.REGCTXT = s390x.REGCTXT
gc.Thearch.REGCALLX = s390x.REG_R3
gc.Thearch.REGCALLX2 = s390x.REG_R4
gc.Thearch.REGRETURN = s390x.REG_R3
gc.Thearch.REGMIN = s390x.REG_R0
gc.Thearch.REGMAX = s390x.REG_R15
gc.Thearch.FREGMIN = s390x.REG_F0
gc.Thearch.FREGMAX = s390x.REG_F15
gc.Thearch.MAXWIDTH = 1 << 50
gc.Thearch.ReservedRegs = resvd

gc.Thearch.Betypeinit = betypeinit
gc.Thearch.Defframe = defframe
Expand Down

0 comments on commit 1f2930c

Please sign in to comment.