]> Cypherpunks repositories - gostls13.git/commit
cmd/compile,cmd/asm: simplify recording of branch targets, take 2
authorKeith Randall <khr@golang.org>
Fri, 28 Aug 2020 17:10:32 +0000 (17:10 +0000)
committerKeith Randall <khr@golang.org>
Mon, 31 Aug 2020 17:36:08 +0000 (17:36 +0000)
commit9e70564f639252aade60369b51a121f3325e9d6c
tree61ada3ce0f0d3bed08f9f1014bd271ea980df516
parentba0fab3cb731fe9a383bd61c3480cccfe32bb1f4
cmd/compile,cmd/asm: simplify recording of branch targets, take 2

We currently use two fields to store the targets of branches.
Some phases use p.To.Val, some use p.Pcond. Rewrite so that
every branch instruction uses p.To.Val.
p.From.Val is also used in rare instances.
Introduce a Pool link for use by arm/arm64, instead of
repurposing Pcond.

This is a cleanup CL in preparation for some stack frame CLs.

Change-Id: If8239177e4b1ea2bccd0608eb39553d23210d405
Reviewed-on: https://go-review.googlesource.com/c/go/+/251437
Run-TryBot: Keith Randall <khr@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
21 files changed:
src/cmd/compile/internal/amd64/ssa.go
src/cmd/compile/internal/gc/gsubr.go
src/cmd/compile/internal/gc/ssa.go
src/cmd/compile/internal/s390x/ssa.go
src/cmd/compile/internal/x86/ssa.go
src/cmd/internal/obj/arm/asm5.go
src/cmd/internal/obj/arm/obj5.go
src/cmd/internal/obj/arm64/asm7.go
src/cmd/internal/obj/arm64/obj7.go
src/cmd/internal/obj/link.go
src/cmd/internal/obj/mips/asm0.go
src/cmd/internal/obj/mips/obj0.go
src/cmd/internal/obj/pass.go
src/cmd/internal/obj/ppc64/asm9.go
src/cmd/internal/obj/ppc64/obj9.go
src/cmd/internal/obj/riscv/obj.go
src/cmd/internal/obj/s390x/asmz.go
src/cmd/internal/obj/s390x/objz.go
src/cmd/internal/obj/util.go
src/cmd/internal/obj/x86/asm6.go
src/cmd/internal/obj/x86/obj6.go