1
0
mirror of https://github.com/golang/go synced 2024-10-05 18:31:28 -06:00
go/src/cmd
Josh Bleecher Snyder 6b41665039 [dev.ssa] cmd/compile: implement static data generation
The existing backend recognizes special
assignment statements as being implementable
with static data rather than code.
Unfortunately, it assumes that it is in the middle
of codegen; it emits data and modifies the AST.

This does not play well with SSA's two-phase
bootstrapping approach, in which we attempt to
compile code but fall back to the existing backend
if something goes wrong.

To work around this:

* Add the ability to inquire about static data
without side-effects.
* Save the static data required for a function.
* Emit that static data during SSA codegen.

Change-Id: I2e8a506c866ea3e27dffb597095833c87f62d87e
Reviewed-on: https://go-review.googlesource.com/12790
Reviewed-by: Keith Randall <khr@golang.org>
2015-07-28 19:43:31 +00:00
..
addr2line cmd/addr2line: simplify windows test 2015-06-17 14:23:20 +00:00
api
asm cmd/asm: add tests for erroneous expressions 2015-06-26 23:33:39 +00:00
cgo cmd/cgo: fix a problem with 'go build -compiler gccgo' 2015-06-29 15:15:59 +00:00
compile [dev.ssa] cmd/compile: implement static data generation 2015-07-28 19:43:31 +00:00
cover all: extract "can I exec?" check from tests into internal/testenv 2015-06-16 18:07:36 +00:00
dist [dev.ssa] Merge remote-tracking branch 'origin/master' into ssamerge 2015-06-30 21:11:33 -07:00
doc cmd/doc: fix copy/paste error in test 2015-06-22 22:29:35 +00:00
fix
go cmd/go: use GOOS and GOARCH from build context for "go generate" 2015-06-30 06:52:47 +00:00
gofmt
internal [dev.ssa] Merge remote-tracking branch 'origin/master' into ssamerge 2015-06-30 21:11:33 -07:00
link cmd/link: reject data size > 2 GB 2015-06-30 19:40:39 +00:00
newlink
nm all: extract "can I exec?" check from tests into internal/testenv 2015-06-16 18:07:36 +00:00
objdump all: extract "can I exec?" check from tests into internal/testenv 2015-06-16 18:07:36 +00:00
old5a
old6a
old8a
old9a
pack all: extract "can I exec?" check from tests into internal/testenv 2015-06-16 18:07:36 +00:00
pprof all: fix misprints in comments 2015-06-11 14:18:57 +00:00
trace cmd/trace: sort procs 2015-06-30 16:50:57 +00:00
vet cmd/vet: refer info about -printfuncs to the -printf flag 2015-06-22 20:42:01 +00:00
yacc all: fix misprints in comments 2015-06-11 14:18:57 +00:00