mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/compile: eliminate direct uses of gc.Thearch in backends
This CL changes the GOARCH.Init functions to take gc.Thearch as a parameter, which gc.Main supplies. Additionally, the x86 backend is refactored to decide within Init whether to use the 387 or SSE2 instruction generators, rather than for each individual SSA Value/Block. Passes toolstash-check -all. Change-Id: Ie6305a6cd6f6ab4e89ecbb3cbbaf5ffd57057a24 Reviewed-on: https://go-review.googlesource.com/38301 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
This commit is contained in:
parent
aea44109cf
commit
3e2f980e27
20 changed files with 129 additions and 160 deletions
|
|
@ -107,11 +107,13 @@ var benchfile string
|
|||
// Main parses flags and Go source files specified in the command-line
|
||||
// arguments, type-checks the parsed Go package, compiles functions to machine
|
||||
// code, and finally writes the compiled package definition to disk.
|
||||
func Main() {
|
||||
func Main(archInit func(*Arch)) {
|
||||
timings.Start("fe", "init")
|
||||
|
||||
defer hidePanic()
|
||||
|
||||
archInit(&Thearch)
|
||||
|
||||
Ctxt = obj.Linknew(Thearch.LinkArch)
|
||||
Ctxt.DebugInfo = debuginfo
|
||||
Ctxt.DiagFunc = yyerror
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue