1
0
mirror of https://github.com/golang/go synced 2024-10-01 16:38:34 -06:00
go/ssa
Alan Donovan 19dd02b670 go.tools/ssa: fix bug in SSA lifting (!)
The previous code introduced spurious loop-carried
dependencies for variables local to a loop body (for example).
The SSA renaming pass now treats an Alloc instruction like a
Store of the zero value.

Also:
- added regression test
- improved log messages
- made the Store/Load/Alloc cases look more similar.

R=gri, gri
CC=golang-dev
https://golang.org/cl/26750043
2013-11-14 17:33:07 -05:00
..
interp go.tools/ssa: fix bug in SSA lifting (!) 2013-11-14 17:33:07 -05:00
testdata go.tools/ssa: fix crash on (new)(T) due to missing unparen() call. 2013-10-29 11:07:09 -04:00
blockopt.go go.tools/ssa: populate Function.Referrers(), for anon functions. 2013-11-07 10:08:51 -05:00
builder_test.go go.tools/ssa: fix computation of set of types requiring method sets. 2013-10-23 17:07:52 -04:00
builder.go go.tools/ssa: populate Function.Referrers(), for anon functions. 2013-11-07 10:08:51 -05:00
const.go go.tools/go/types: nil is not a constant + misc. cleanups 2013-10-09 14:17:25 -07:00
create.go go.tools/ssa: simplify initialization of globals using go/types.Info.InitOrder. 2013-11-05 13:02:46 -05:00
doc.go go.tools/ssa: doc tweaks + a sanity check. 2013-10-09 12:47:30 -04:00
dom.go go.tools/ssa: implement correct control flow for recovered panic. 2013-10-14 15:38:56 -04:00
emit.go go.tools/ssa: fix crash on (new)(T) due to missing unparen() call. 2013-10-29 11:07:09 -04:00
example_test.go go.tools/ssa: don't print * on type of package-level vars (*ssa.Global) 2013-11-13 15:13:55 -05:00
func.go go.tools/ssa: populate Function.Referrers(), for anon functions. 2013-11-07 10:08:51 -05:00
lift.go go.tools/ssa: fix bug in SSA lifting (!) 2013-11-14 17:33:07 -05:00
lvalue.go go.tools/ssa: record lvalue/rvalue distinction precisely in DebugRef. 2013-10-24 18:31:50 -04:00
print.go go.tools/ssa: don't print * on type of package-level vars (*ssa.Global) 2013-11-13 15:13:55 -05:00
promote.go go.tools/ssa: fix computation of set of types requiring method sets. 2013-10-23 17:07:52 -04:00
sanity.go go.tools/ssa: populate Function.Referrers(), for anon functions. 2013-11-07 10:08:51 -05:00
source_test.go go.tools/ssa: record lvalue/rvalue distinction precisely in DebugRef. 2013-10-24 18:31:50 -04:00
source.go go.tools/ssa: new Function.Syntax() returns the declaring AST (debug mode) or just the Pos/End of the function's extent (otherwise). 2013-10-27 10:55:21 -04:00
ssa.go go.tools/ssa: populate Function.Referrers(), for anon functions. 2013-11-07 10:08:51 -05:00
stdlib_test.go go.tools/ssa: include line count in stdlib_test. 2013-11-01 14:32:44 -04:00
testmain.go go.tools/ssa: don't synthesize an empty "testmain" package. 2013-11-13 16:05:13 -05:00
util.go go.tools/ssa: implement correct control flow for recovered panic. 2013-10-14 15:38:56 -04:00
visit.go go.tools/ssa: fix computation of set of types requiring method sets. 2013-10-23 17:07:52 -04:00