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
|
||
|---|---|---|
| .. | ||
| serial | ||
| testdata/src | ||
| TODO | ||
| callees.go | ||
| callers.go | ||
| callgraph.go | ||
| callstack.go | ||
| definition.go | ||
| describe.go | ||
| freevars.go | ||
| implements.go | ||
| oracle.go | ||
| oracle_test.go | ||
| peers.go | ||
| pointsto.go | ||
| pos.go | ||
| referrers.go | ||
| what.go | ||