tools/go
Alan Donovan 219e654bb7 go/ssa: eliminate dead φ-nodes in cycles
The previous "dead φ" check was simple and naive but left cycles of
dead φ-nodes.  This confused some downstream static analysis tools.
This change makes the φ-nodes liveness check transitive.

+ Test.

Also, number phi nodes so they're not all called t0 during debugging.

Reduces memory consumption by  1%.
Increases execution time   by <1%.

Change-Id: I2908662c1478d455fdf4a179f4a12d6184a456c0
Reviewed-on: https://go-review.googlesource.com/37157
Reviewed-by: Robert Griesemer <gri@golang.org>
2017-02-22 01:23:56 +00:00
..
ast/astutil imports, go/ast/astutil: do not make grouped imports non-grouped when removing 2017-02-13 18:56:44 +00:00
buildutil go/buildutil, cmd/guru: resolve symlinks in filenames through build.Context 2016-12-06 21:45:43 +00:00
callgraph tools: updates for minimum Go version 1.6 2017-02-07 21:06:19 +00:00
gccgoexportdata go/gccgoexportdata: correctly handle archive files containing string tables 2016-11-09 21:28:38 +00:00
gcexportdata go/gcexportdata: better error when reading exportdata directly from archive 2016-11-30 19:52:27 +00:00
gcimporter15 go/gcimporter15: update import/export to handle type aliases 2017-01-11 20:35:34 +00:00
internal/gccgoimporter go/internal/gccgoimporter: add missing testfile (fix 1.9 build) 2017-02-01 22:16:26 +00:00
loader go/loader: only run examples on 1.8 2017-02-17 19:31:53 +00:00
pointer x/tools/go: gofmt -s -w 2017-02-15 21:43:35 +00:00
ssa go/ssa: eliminate dead φ-nodes in cycles 2017-02-22 01:23:56 +00:00
types/typeutil tools: updates for minimum Go version 1.6 2017-02-07 21:06:19 +00:00
vcs go/vcs: accept plain file for .vcs (instead of directory) 2016-10-13 13:57:49 +00:00