go/src/cmd/compile/internal/ssa
David Chase 378a863682 [dev.ssa] cmd/compile: enhance command line option processing for SSA
The -d compiler flag can also specify ssa phase and flag,
for example -d=ssa/generic_cse/time,ssa/generic_cse/stats

Spaces in the phase names can be specified with an
underscore.  Flags currently parsed (not necessarily
recognized by the phases yet) are:

   on, off, mem, time, debug, stats, and test

On, off and time are handled in the harness,
debug, stats, and test are interpreted by the phase itself.

The pass is now attached to the Func being compiled, and a
new method logStats(key, ...value) on *Func to encourage a
semi-standardized format for that output.  Output fields
are separated by tabs to ease digestion by awk and
spreadsheets.  For example,
	if f.pass.stats > 0 {
		f.logStat("CSE REWRITES", rewrites)
	}

Change-Id: I16db2b5af64c50ca9a47efeb51d961147a903abc
Reviewed-on: https://go-review.googlesource.com/19885
Reviewed-by: Keith Randall <khr@golang.org>
Reviewed-by: Todd Neal <todd@tneal.org>
2016-02-25 20:32:15 +00:00
..
gen [dev.ssa] cmd/compile: small improvements 2016-02-25 07:10:07 +00:00
TODO [dev.ssa] cmd/compile: small improvements 2016-02-25 07:10:07 +00:00
block.go [dev.ssa] cmd/compile: exposed do-log boolean to reduce allocations 2016-01-29 21:30:29 +00:00
check.go [dev.ssa] cmd/compile: use sparsetree in checkFunc 2016-02-04 12:03:33 +00:00
compile.go [dev.ssa] cmd/compile: enhance command line option processing for SSA 2016-02-25 20:32:15 +00:00
config.go [dev.ssa] cmd/compile: enhance command line option processing for SSA 2016-02-25 20:32:15 +00:00
copyelim.go [dev.ssa] cmd/compile/internal/ssa: factor out copyelimValue and phielimValue 2016-02-16 21:02:56 +00:00
critical.go [dev.ssa] cmd/compile: leave JMPs in when using -N 2016-02-24 16:53:00 +00:00
cse.go [dev.ssa] cmd/compile: enhance command line option processing for SSA 2016-02-25 20:32:15 +00:00
cse_test.go [dev.ssa] cmd/compile: add a zero arg cse pass 2016-02-22 13:06:18 +00:00
deadcode.go [dev.ssa] cmd/compile/internal/ssa: eliminate phis during deadcode removal 2016-02-23 18:52:15 +00:00
deadcode_test.go [dev.ssa] cmd/compile: add aux typing, flags to ops 2016-02-02 02:55:13 +00:00
deadstore.go [dev.ssa] cmd/compile: reuse sparse sets across compiler passes 2016-01-30 13:57:39 +00:00
deadstore_test.go [dev.ssa] cmd/compile: add aux typing, flags to ops 2016-02-02 02:55:13 +00:00
decompose.go [dev.ssa] cmd/compile: split decompose pass in two 2016-02-09 02:18:31 +00:00
dom.go [dev.ssa] cmd/compile: memory allocation tweaks to regalloc and dom 2016-02-22 15:32:58 +00:00
dom_test.go [dev.ssa] cmd/compile: add aux typing, flags to ops 2016-02-02 02:55:13 +00:00
export_test.go [dev.ssa] cmd/compile: exposed do-log boolean to reduce allocations 2016-01-29 21:30:29 +00:00
flagalloc.go [dev.ssa] cmd/compile: remove redundant compare ops 2016-02-11 21:01:17 +00:00
func.go [dev.ssa] cmd/compile: enhance command line option processing for SSA 2016-02-25 20:32:15 +00:00
func_test.go [dev.ssa] cmd/compile: enhance command line option processing for SSA 2016-02-25 20:32:15 +00:00
fuse.go [dev.ssa] cmd/compile/internal/ssa: handle phis in fuse. 2016-02-19 22:44:29 +00:00
fuse_test.go [dev.ssa] cmd/compile/internal/ssa: handle phis in fuse. 2016-02-19 22:44:29 +00:00
html.go
id.go [dev.ssa] cmd/compile: preallocate small-numbered values and blocks 2016-01-28 22:52:42 +00:00
layout.go [dev.ssa] cmd/compile: reuse sparse sets across compiler passes 2016-01-30 13:57:39 +00:00
location.go
lower.go
magic.go [dev.ssa] cmd/compile: strength-reduce 64-bit constant divides 2016-02-06 16:52:57 +00:00
nilcheck.go
nilcheck_test.go [dev.ssa] cmd/compile/internal/ssa: transform degenerate control blocks 2016-02-17 10:43:48 +00:00
op.go [dev.ssa] cmd/compile/internal/ssa: handle commutative operations in cse 2016-02-22 16:52:05 +00:00
opGen.go [dev.ssa] cmd/compile/internal/ssa: handle commutative operations in cse 2016-02-22 16:52:05 +00:00
opt.go
passbm_test.go [dev.ssa] cmd/compile: add aux typing, flags to ops 2016-02-02 02:55:13 +00:00
phielim.go [dev.ssa] cmd/compile/internal/ssa: eliminate phis during deadcode removal 2016-02-23 18:52:15 +00:00
print.go
regalloc.go [dev.ssa] cmd/compile: reduce line number churn in generated code 2016-02-24 16:57:36 +00:00
regalloc_test.go [dev.ssa] cmd/compile: add aux typing, flags to ops 2016-02-02 02:55:13 +00:00
rewrite.go [dev.ssa] cmd/compile: identical values are the same pointer 2016-02-24 22:21:01 +00:00
rewriteAMD64.go [dev.ssa] cmd/compile: small improvements 2016-02-25 07:10:07 +00:00
rewrite_test.go [dev.ssa] cmd/compiler: rewrite AND x const as a shift if possible 2016-02-16 16:53:16 +00:00
rewritegeneric.go [dev.ssa] cmd/compile: fix @ rewrite rules 2016-02-24 22:20:24 +00:00
schedule.go
schedule_test.go [dev.ssa] cmd/compile: add aux typing, flags to ops 2016-02-02 02:55:13 +00:00
shift_test.go [dev.ssa] cmd/compile: add aux typing, flags to ops 2016-02-02 02:55:13 +00:00
shortcircuit.go [dev.ssa] cmd/compile: optimization for && and || expressions 2016-01-29 17:49:45 +00:00
shortcircuit_test.go [dev.ssa] cmd/compile: add aux typing, flags to ops 2016-02-02 02:55:13 +00:00
sparsemap.go
sparseset.go [dev.ssa] cmd/compile: reuse sparse sets across compiler passes 2016-01-30 13:57:39 +00:00
sparsetree.go
stackalloc.go [dev.ssa] cmd/compile: reuse sparse sets across compiler passes 2016-01-30 13:57:39 +00:00
tighten.go [dev.ssa] cmd/compile: reduce line number churn in generated code 2016-02-24 16:57:36 +00:00
trim.go [dev.ssa] cmd/compile: short-circuit empty blocks 2016-01-22 22:12:12 +00:00
type.go [dev.ssa] cmd/compile: speed up cse 2016-02-24 16:57:05 +00:00
type_test.go [dev.ssa] cmd/compile: double speed of CSE phase 2016-02-22 17:15:41 +00:00
value.go [dev.ssa] cmd/compile: truncate auxint when constructing Prog 2016-02-23 03:52:08 +00:00
zcse.go [dev.ssa] cmd/compile: add a zero arg cse pass 2016-02-22 13:06:18 +00:00