tools/go/pointer
Alan Donovan 94d1589bd2 go.tools/go/pointer: fix objectNode() bug causing it to return nil spuriously.
It was making the unsound assumption that cgn==nil => v is one
of {Global,Function,Const,Capture} to avoid checking v's type,
which is what it now does.  This caused more expensive
constraints to be generated, which is suboptimal though not
wrong exactly.

In one benchmark, this change reduces the number of complex
constraints by about 23% of loads and 53% of stores, and
increases the number of (simple) copy constraints by about 5%.

LGTM=crawshaw
R=crawshaw
CC=golang-codereviews
https://golang.org/cl/106940043
2014-06-11 13:19:52 -04:00
..
testdata go.tools/ssa: create thunks for method expressions T.f. 2014-06-11 13:10:26 -04:00
TODO go/pointer: use sparse bit vectors to represent points-to sets in solver. 2014-06-11 13:12:15 -04:00
analysis.go go/pointer: use sparse bit vectors to represent points-to sets in solver. 2014-06-11 13:12:15 -04:00
api.go go/pointer: use sparse bit vectors to represent points-to sets in solver. 2014-06-11 13:12:15 -04:00
callgraph.go go.tools/go/callgraph: simplifications to API. 2014-02-20 11:57:48 -05:00
constraint.go go/pointer: use sparse bit vectors to represent points-to sets in solver. 2014-06-11 13:12:15 -04:00
doc.go go.tools: fix various typos 2014-05-02 14:38:08 -07:00
example_test.go go.tools/go/loader: add Config.ParserMode configuration parameter. 2014-03-27 12:50:26 -04:00
gen.go go.tools/go/pointer: fix objectNode() bug causing it to return nil spuriously. 2014-06-11 13:19:52 -04:00
intrinsics.go go/pointer: use sparse bit vectors to represent points-to sets in solver. 2014-06-11 13:12:15 -04:00
labels.go go.tools: fix various typos 2014-05-02 14:38:08 -07:00
opt.go go/pointer: use sparse bit vectors to represent points-to sets in solver. 2014-06-11 13:12:15 -04:00
pointer_test.go go.tools/ssa: create thunks for method expressions T.f. 2014-06-11 13:10:26 -04:00
print.go go.tools: rename packages. 2014-01-16 09:33:58 -05:00
reflect.go go/pointer: use sparse bit vectors to represent points-to sets in solver. 2014-06-11 13:12:15 -04:00
solve.go go/pointer: use sparse bit vectors to represent points-to sets in solver. 2014-06-11 13:12:15 -04:00
util.go go/pointer: use sparse bit vectors to represent points-to sets in solver. 2014-06-11 13:12:15 -04:00