go/src/cmd/compile/internal
Matthew Dempsky 2f2d4b4e68 [dev.regabi] cmd/compile: remove {Ptr,Set}Init from Node interface
This CL separates out PtrInit and SetInit into a new InitNode
extension interface, and adds a new TakeInit helper function for
taking and clearing the Init list (if any) from a Node.

This allows removing miniNode.SetInit and miniNode.PtrInit, which in
turn allow getting rid of immutableEmptyNodes, and will allow
simplification of the Nodes API.

It would be nice to get rid of the default Init method too, but
there's way more code that expects to be able to call that at the
moment, so that'll have to wait.

Passes toolstash -cmp.

Change-Id: Ia8c18fab9555b774376f7f43eeecfde4f07b5946
Reviewed-on: https://go-review.googlesource.com/c/go/+/281001
Trust: Matthew Dempsky <mdempsky@google.com>
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
2021-01-02 10:57:23 +00:00
..
amd64 [dev.regabi] cmd/compile: split out package ssagen [generated] 2020-12-23 06:39:29 +00:00
arm [dev.regabi] cmd/compile: split out package ssagen [generated] 2020-12-23 06:39:29 +00:00
arm64 [dev.regabi] cmd/compile: split out package ssagen [generated] 2020-12-23 06:39:29 +00:00
base [dev.regabi] cmd/compile: move helpers into package base [generated] 2020-12-23 06:37:55 +00:00
bitvec [dev.regabi] cmd/compile: split out package objw [generated] 2020-12-23 06:38:47 +00:00
deadcode [dev.regabi] cmd/compile: remove {Ptr,Set}Init from Node interface 2021-01-02 10:57:23 +00:00
devirtualize [dev.regabi] cmd/compile: cleanup devirtualization docs 2020-12-25 00:39:43 +00:00
dwarfgen [dev.regabi] cmd/compile: simplify dwarfgen.declPos 2021-01-01 11:30:20 +00:00
escape [dev.regabi] cmd/compile: split escape analysis state 2021-01-01 13:44:35 +00:00
gc [dev.regabi] cmd/compile: earlier deadcode removal 2021-01-01 10:52:39 +00:00
inline [dev.regabi] cmd/compile: remove {Ptr,Set}Init from Node interface 2021-01-02 10:57:23 +00:00
ir [dev.regabi] cmd/compile: remove {Ptr,Set}Init from Node interface 2021-01-02 10:57:23 +00:00
liveness [dev.regabi] cmd/compile: remove idempotent Name() calls [generated] 2021-01-01 03:02:29 +00:00
logopt Merge branch 'master' into dev.regabi 2020-12-14 11:42:42 -05:00
mips [dev.regabi] cmd/compile: split out package ssagen [generated] 2020-12-23 06:39:29 +00:00
mips64 [dev.regabi] cmd/compile: split out package ssagen [generated] 2020-12-23 06:39:29 +00:00
noder [dev.regabi] cmd/compile: remove {Ptr,Set}Init from Node interface 2021-01-02 10:57:23 +00:00
objw [dev.regabi] cmd/compile: flatten dependency graph [generated] 2020-12-28 08:06:26 +00:00
pkginit [dev.regabi] cmd/compile: fix package-initialization order 2021-01-01 10:52:33 +00:00
ppc64 [dev.regabi] cmd/compile: split out package ssagen [generated] 2020-12-23 06:39:29 +00:00
reflectdata [dev.regabi] cmd/compile: more Linksym cleanup 2020-12-29 07:55:00 +00:00
riscv64 [dev.regabi] cmd/compile: split out package ssagen [generated] 2020-12-23 06:39:29 +00:00
s390x [dev.regabi] cmd/compile: split out package ssagen [generated] 2020-12-23 06:39:29 +00:00
ssa [dev.regabi] cmd/compile: remove unneeded indirection 2020-12-29 09:57:31 +00:00
ssagen [dev.regabi] cmd/compile: remove idempotent Name() calls [generated] 2021-01-01 03:02:29 +00:00
staticdata [dev.regabi] cmd/compile: more Linksym cleanup 2020-12-29 07:55:00 +00:00
staticinit [dev.regabi] cmd/compile: fix package-initialization order 2021-01-01 10:52:33 +00:00
syntax [dev.regabi] cmd/compile: cleanup //go:generate directives 2020-12-29 02:28:24 +00:00
test [dev.regabi] cmd/compile: split out package test [generated] 2020-12-23 06:40:04 +00:00
typebits [dev.regabi] cmd/compile: flatten dependency graph [generated] 2020-12-28 08:06:26 +00:00
typecheck [dev.regabi] cmd/compile: remove {Ptr,Set}Init from Node interface 2021-01-02 10:57:23 +00:00
types [dev.regabi] cmd/compile: remove unneeded indirection 2020-12-29 09:57:31 +00:00
walk [dev.regabi] cmd/compile: remove {Ptr,Set}Init from Node interface 2021-01-02 10:57:23 +00:00
wasm [dev.regabi] cmd/compile: split out package ssagen [generated] 2020-12-23 06:39:29 +00:00
x86 [dev.regabi] cmd/compile: split out package ssagen [generated] 2020-12-23 06:39:29 +00:00