tools/go
Alan Donovan 98ed3d3c76 go.tools/go/pointer: node renumbering
This change renumbers nodes so that addressable ones
  (that may appear in a points-to set) all have lower
  numbers than non-addressable ones----initially at least:
  reflection, SetFinalizer, etc add new nodes during
  solving.

  This improves the efficiency of sparse PTS
  representations (to be added later).  The largest int in
  a PTS is now about 20% of the previous max.

  Overview:
  - move constraint stuff into constraint.go.
  - add two methods to constraint:
    (1) renumber(): renumbers all nodeids.  The
        implementations are very repetitive but simple.  I
        thought hard about other ways (mixins, reflection)
        but decided this one was fine.
	(2) indirect(): report the set of nodeids whose
        points-to relations depend on the solver, not just
        the initial constraint graph.
        (This method is currently unused and is logically
        part of a forthcoming change to implement PE/LE
        presolver optimizations. (Perhaps I should comment
        it out/remove it for now.)
  - split up the population of the intrinsics map by file.
  - delete analysis.probes (unused field)
  - remove state="..." from panic message; unnecessary.

LGTM=crawshaw
R=crawshaw
CC=golang-codereviews
https://golang.org/cl/73320043
2014-03-11 18:37:19 -04:00
..
callgraph go.tools: various comments + doc tweaks. 2014-03-11 18:24:39 -04:00
exact go.tools/go/types: report correctly rounded constant values 2014-03-05 10:23:33 -08:00
gccgoimporter go.tools/go/*: fix breakage caused by removal of types.NewPackage parameter. 2014-02-20 20:11:00 -05:00
gcimporter go.tools/go/types: internal cleanups 2014-02-20 14:52:21 -08:00
importer go.tools/go/types: report correctly rounded constant values 2014-03-05 10:23:33 -08:00
loader go.tools/go/loader: fix broken test. 2014-03-11 17:04:45 -04:00
pointer go.tools/go/pointer: node renumbering 2014-03-11 18:37:19 -04:00
ssa go.tools: various comments + doc tweaks. 2014-03-11 18:24:39 -04:00
types go.tools/go/types: short var decls require new variables 2014-03-11 15:31:12 -07:00
vcs go.tools/vcs: allow compilation with go 1.0 2013-10-04 11:46:57 +10:00