mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/compile/internal/gc: refactor ACALL Prog creation
This abstracts creation of ACALL Progs into package gc. The main benefit of this today is we can refactor away a lot of common boilerplate code. Later, once liveness analysis happens on the SSA graph, this will also provide an easy insertion point for emitting the PCDATA Progs immediately before call instructions. Passes toolstash-check -all. Change-Id: Ia15108ace97201cd84314f1ca916dfeb4f09d61c Reviewed-on: https://go-review.googlesource.com/38081 Reviewed-by: Keith Randall <khr@golang.org>
This commit is contained in:
parent
2e7c3b3f55
commit
118b3fe7bb
19 changed files with 88 additions and 285 deletions
|
|
@ -365,10 +365,11 @@ type Arch struct {
|
|||
|
||||
REGSP int
|
||||
MAXWIDTH int64
|
||||
Use387 bool // should 386 backend use 387 FP instructions instead of sse2.
|
||||
|
||||
Defframe func(*obj.Prog)
|
||||
Ginsnop func()
|
||||
Proginfo func(*obj.Prog) ProgInfo
|
||||
Use387 bool // should 8g use 387 FP instructions instead of sse2.
|
||||
|
||||
// SSAMarkMoves marks any MOVXconst ops that need to avoid clobbering flags.
|
||||
SSAMarkMoves func(*SSAGenState, *ssa.Block)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue