Commit graph

2 commits

Author SHA1 Message Date
Keith Randall
2c9b491e01 [dev.ssa] cmd/internal/ssa: SSA cleanups
Mostly suggested by Alan.
Convert Const* ops to just one Const op.
Use more of go/types.
Get rid of typers, all types must be specified explicitly.

Change-Id: Id4758f2b887d8a6888e88a7e047d97af55e34b62
Reviewed-on: https://go-review.googlesource.com/8110
Reviewed-by: Alan Donovan <adonovan@google.com>
2015-03-27 20:12:33 +00:00
Keith Randall
7b96284295 [dev.ssa] cmd/internal/ssa: implement more compiler passes
opt:      machine-independent optimization
fuse:     join basic blocks
lower:    convert to machine-dependent opcodes
critical: remove critical edges for register alloc
layout:   order basic blocks
schedule: order values in basic blocks
cgen:     generate assembly output

opt and lower use machine-generated matching rules using
the rule generator in rulegen/

cgen will probably change in the real compiler, as we want to
generate binary directly instead of ascii assembly.

Change-Id: Iedd7ca70f6f55a4cde30e27cfad6a7fa05691b83
Reviewed-on: https://go-review.googlesource.com/7981
Reviewed-by: Alan Donovan <adonovan@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
2015-03-24 22:26:45 +00:00