1
0
mirror of https://github.com/golang/go synced 2024-11-18 18:54:42 -07:00
go/oracle
Alan Donovan 142566e529 go/ssa: avoid "premature optimization" of dead branch removal.
Blocks dominated by "if false" should be retained in the
initial SSA form so they remain visible to subsequent source
code analysis tools.

In any case, true compilers already need a stronger version of
this optimization so they can simplify CFGs such as this:
	const x, y = ...
        switch x {case y:...}
where a branch is constant but the comparison of constants
does not occur within an expression.

LGTM=gri
R=gri
CC=golang-codereviews, pcc
https://golang.org/cl/101250043
2014-06-12 11:31:41 -04:00
..
serial go.tools/oracle: implements: now shows whole-program implements relation for selected type. 2013-12-13 18:00:55 -05:00
testdata/src go/ssa: avoid "premature optimization" of dead branch removal. 2014-06-12 11:31:41 -04:00
callees.go go.tools/oracle: optionally restrict 'callgraph' query to a single package. 2014-02-21 10:46:02 -05:00
callers.go go.tools/oracle: optionally restrict 'callgraph' query to a single package. 2014-02-21 10:46:02 -05:00
callgraph.go go.tools/oracle: callgraph: fix crash caused by sparse node numbering. 2014-06-10 12:36:40 -04:00
callstack.go go.tools/oracle: optionally restrict 'callgraph' query to a single package. 2014-02-21 10:46:02 -05:00
definition.go go.tools/oracle: improvements to command set and performance. 2013-12-13 10:04:55 -05:00
describe.go go.tools/go/oracle: show import path (not just name) when describing an import. 2014-04-15 15:37:44 -04:00
freevars.go go.tools/oracle: improvements to command set and performance. 2013-12-13 10:04:55 -05:00
implements.go go.tools: various comments + doc tweaks. 2014-03-11 18:24:39 -04:00
oracle_test.go go.tools/oracle: don't discard /usr/bin/diff's stderr 2014-04-15 15:39:38 -04:00
oracle.go go.tools/oracle: fix bug in reduceScope on ad-hoc main packages. 2014-03-19 14:00:35 -04:00
peers.go go.tools: fix various typos 2014-05-02 14:38:08 -07:00
pointsto.go go.tools/ssa: create thunks for method expressions T.f. 2014-06-11 13:10:26 -04:00
pos.go go.tools/oracle: improvements to command set and performance. 2013-12-13 10:04:55 -05:00
referrers.go go.tools: fix various typos 2014-05-02 14:38:08 -07:00
TODO go.tools/oracle: implements: now shows whole-program implements relation for selected type. 2013-12-13 18:00:55 -05:00
what.go go.tools/oracle: implements: now shows whole-program implements relation for selected type. 2013-12-13 18:00:55 -05:00