aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linearize.c
diff options
authorDan Sheridan <djs@postman.org.uk>2007-05-15 12:26:53 +0100
committerJosh Triplett <josh@freedesktop.org>2007-05-22 14:51:30 -0700
commitbb7ff206a0a1afca8eefbf3fedd7b5962cdec6f1 (patch)
treebb4becf132b9023b86c11d6ee0836d2e75b71d01 /linearize.c
parent1906791681c6f058ffa7bcec20d79aec18414f34 (diff)
downloadsparse-dev-bb7ff206a0a1afca8eefbf3fedd7b5962cdec6f1.tar.gz
Improved graph generation using subgraph clusters for functions
Improve the dot files generated by graph.c to put the basic blocks for each function into their own labelled subgraph cluster and to distinguish between branches and function calls using different edge types. Requires a change to struct symbol to keep track of the entrypoint associated with a given function identifier. Currently, no attempt is made to handle indirect function calls -- they are just ignored. Signed-off-by: Dan Sheridan <djs@adelard.com>
Diffstat (limited to 'linearize.c')
-rw-r--r--linearize.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/linearize.c b/linearize.c
index c38dd7d5..3a078237 100644
--- a/linearize.c
+++ b/linearize.c
@@ -2107,6 +2107,7 @@ static struct entrypoint *linearize_fn(struct symbol *sym, struct symbol *base_t
bb = alloc_basic_block(ep, sym->pos);
ep->name = sym;
+ sym->ep = ep;
set_activeblock(ep, bb);
entry = alloc_instruction(OP_ENTRY, 0);