diff options
author | David Chase <drchase@google.com> | 2021-03-12 13:37:24 -0500 |
---|---|---|
committer | David Chase <drchase@google.com> | 2021-03-22 18:42:15 +0000 |
commit | 196c33e92d86eb21fe1cb7d244ea61209b4a554e (patch) | |
tree | 4e45e3c3de287b7e46f63822c3ec55f258be2473 /src/cmd/compile/internal/gc | |
parent | ba6b8e75ed16b3e9ecb305399e5ec2e29778e299 (diff) | |
download | go-196c33e92d86eb21fe1cb7d244ea61209b4a554e.tar.gz go-196c33e92d86eb21fe1cb7d244ea61209b4a554e.zip |
cmd/compile: fix WriteFuncMap for new ABI.
replaced old type-based logic with new abi-based logic;
earlier versions of this CL compared them for equality.
For not-in-a-register, they match everywhere tested.
also modified GetFrameOffset to make it more like the one it replaces;
the LocalsOffset is subtracted.
Change-Id: I65ce7f0646c493c277df6b6f46e4839a0d886ac9
Reviewed-on: https://go-review.googlesource.com/c/go/+/302072
Trust: David Chase <drchase@google.com>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Diffstat (limited to 'src/cmd/compile/internal/gc')
-rw-r--r-- | src/cmd/compile/internal/gc/compile.go | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/cmd/compile/internal/gc/compile.go b/src/cmd/compile/internal/gc/compile.go index 83cfceb2c8..e066d3345e 100644 --- a/src/cmd/compile/internal/gc/compile.go +++ b/src/cmd/compile/internal/gc/compile.go @@ -45,8 +45,8 @@ func enqueueFunc(fn *ir.Func) { ssagen.InitLSym(fn, false) types.CalcSize(fn.Type()) // TODO register args; remove this once all is done by abiutils a := ssagen.AbiForFunc(fn) - a.ABIAnalyze(fn.Type(), true) // will set parameter spill/home locations correctly - liveness.WriteFuncMap(fn) + abiInfo := a.ABIAnalyze(fn.Type(), true) // will set parameter spill/home locations correctly + liveness.WriteFuncMap(fn, abiInfo) return } |