cmd/callgraph: update flag docstring
And add a TODO. Change-Id: I51c63b32e9ac4309cdfb8228348a5d528f36a919 Reviewed-on: https://go-review.googlesource.com/10489 Reviewed-by: Robert Griesemer <gri@golang.org>
This commit is contained in:
parent
9c7ccd869c
commit
8ccf558e8a
|
@ -42,7 +42,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
var algoFlag = flag.String("algo", "rta",
|
var algoFlag = flag.String("algo", "rta",
|
||||||
`Call graph construction algorithm, one of "rta" or "pta"`)
|
`Call graph construction algorithm (static, cha, rta, pta)`)
|
||||||
|
|
||||||
var testFlag = flag.Bool("test", false,
|
var testFlag = flag.Bool("test", false,
|
||||||
"Loads test code (*_test.go) for imported packages")
|
"Loads test code (*_test.go) for imported packages")
|
||||||
|
|
|
@ -15,6 +15,8 @@ func CallGraph(prog *ssa.Program) *callgraph.Graph {
|
||||||
cg := callgraph.New(nil) // TODO(adonovan) eliminate concept of rooted callgraph
|
cg := callgraph.New(nil) // TODO(adonovan) eliminate concept of rooted callgraph
|
||||||
|
|
||||||
// TODO(adonovan): opt: use only a single pass over the ssa.Program.
|
// TODO(adonovan): opt: use only a single pass over the ssa.Program.
|
||||||
|
// TODO(adonovan): opt: this is slower than RTA (perhaps because
|
||||||
|
// the lower precision means so many edges are allocated)!
|
||||||
for f := range ssautil.AllFunctions(prog) {
|
for f := range ssautil.AllFunctions(prog) {
|
||||||
fnode := cg.CreateNode(f)
|
fnode := cg.CreateNode(f)
|
||||||
for _, b := range f.Blocks {
|
for _, b := range f.Blocks {
|
||||||
|
|
Loading…
Reference in New Issue