This optimization reduces solve time (typically >90% of the total) by about 78% when analysing real programs. It also makes the solver 100% deterministic since all iterations are ordered. Also: - remove unnecessary nodeid parameter to solve() method. - don't add a fieldInfo for singleton tuples (cosmetic fix). - inline+simplify "worklist" type. - replace "constraintset" type by a slice. LGTM=crawshaw R=crawshaw CC=golang-codereviews https://golang.org/cl/95240043 |
||
|---|---|---|
| .. | ||
| testdata | ||
| TODO | ||
| analysis.go | ||
| api.go | ||
| callgraph.go | ||
| constraint.go | ||
| doc.go | ||
| example_test.go | ||
| gen.go | ||
| intrinsics.go | ||
| labels.go | ||
| opt.go | ||
| pointer_test.go | ||
| print.go | ||
| reflect.go | ||
| solve.go | ||
| util.go | ||