aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Donovan <adonovan@google.com>2015-05-29 12:33:10 -0400
committerAlan Donovan <adonovan@google.com>2015-05-29 17:21:31 +0000
commit8ccf558e8ad400746c297c66f6493427d382cfe4 (patch)
tree5f98bf6bdbd45552e72d6f589caf19c519a31c70
parent9c7ccd869cbf3b407e50f8ed03190c333c9bd896 (diff)
downloadtools-8ccf558e8ad400746c297c66f6493427d382cfe4.tar.gz
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>
-rw-r--r--cmd/callgraph/main.go2
-rw-r--r--go/callgraph/static/static.go2
2 files changed, 3 insertions, 1 deletions
diff --git a/cmd/callgraph/main.go b/cmd/callgraph/main.go
index 2aa9739..29179dd 100644
--- a/cmd/callgraph/main.go
+++ b/cmd/callgraph/main.go
@@ -42,7 +42,7 @@ import (
)
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,
"Loads test code (*_test.go) for imported packages")
diff --git a/go/callgraph/static/static.go b/go/callgraph/static/static.go
index ebb183b..709bb7b 100644
--- a/go/callgraph/static/static.go
+++ b/go/callgraph/static/static.go
@@ -15,6 +15,8 @@ func CallGraph(prog *ssa.Program) *callgraph.Graph {
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: this is slower than RTA (perhaps because
+ // the lower precision means so many edges are allocated)!
for f := range ssautil.AllFunctions(prog) {
fnode := cg.CreateNode(f)
for _, b := range f.Blocks {