]> Cypherpunks repositories - gostls13.git/commit
cmd/compile/internal/ssa: generate code via a //go:generate directive
authorDmitri Shuralyov <dmitshur@golang.org>
Sun, 15 May 2022 02:45:05 +0000 (22:45 -0400)
committerGopher Robot <gobot@golang.org>
Thu, 19 Jan 2023 22:42:34 +0000 (22:42 +0000)
commit47a0d467161c10f80bc3fcf7b0385b80d1194c7a
tree07c9ad922004cdc130af9e80da5c4328ef01171d
parent213495a4a67c318a1fab6e76093e6690c2141c0e
cmd/compile/internal/ssa: generate code via a //go:generate directive

The standard way to generate code in a Go package is via //go:generate
directives, which are invoked by the developer explicitly running:

go generate import/path/of/said/package

Switch to using that approach here.

This way, developers don't need to learn and remember a custom way that
each particular Go package may choose to implement its code generation.
It also enables conveniences such as 'go generate -n' to discover how
code is generated without running anything (this works on all packages
that rely on //go:generate directives), being able to generate multiple
packages at once and from any directory, and so on.

Change-Id: I0e5b6a1edeff670a8e588befeef0c445613803c7
Reviewed-on: https://go-review.googlesource.com/c/go/+/460135
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Keith Randall <khr@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
28 files changed:
src/cmd/compile/internal/ssa/README.md
src/cmd/compile/internal/ssa/_gen/README
src/cmd/compile/internal/ssa/_gen/allocators.go
src/cmd/compile/internal/ssa/_gen/main.go
src/cmd/compile/internal/ssa/_gen/rulegen.go
src/cmd/compile/internal/ssa/allocators.go
src/cmd/compile/internal/ssa/generate.go [new file with mode: 0644]
src/cmd/compile/internal/ssa/opGen.go
src/cmd/compile/internal/ssa/rewrite386.go
src/cmd/compile/internal/ssa/rewrite386splitload.go
src/cmd/compile/internal/ssa/rewriteAMD64.go
src/cmd/compile/internal/ssa/rewriteAMD64latelower.go
src/cmd/compile/internal/ssa/rewriteAMD64splitload.go
src/cmd/compile/internal/ssa/rewriteARM.go
src/cmd/compile/internal/ssa/rewriteARM64.go
src/cmd/compile/internal/ssa/rewriteARM64latelower.go
src/cmd/compile/internal/ssa/rewriteLOONG64.go
src/cmd/compile/internal/ssa/rewriteMIPS.go
src/cmd/compile/internal/ssa/rewriteMIPS64.go
src/cmd/compile/internal/ssa/rewritePPC64.go
src/cmd/compile/internal/ssa/rewritePPC64latelower.go
src/cmd/compile/internal/ssa/rewriteRISCV64.go
src/cmd/compile/internal/ssa/rewriteRISCV64latelower.go
src/cmd/compile/internal/ssa/rewriteS390X.go
src/cmd/compile/internal/ssa/rewriteWasm.go
src/cmd/compile/internal/ssa/rewritedec.go
src/cmd/compile/internal/ssa/rewritedec64.go
src/cmd/compile/internal/ssa/rewritegeneric.go