diff options
author | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-10-09 08:14:45 +0000 |
---|---|---|
committer | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-10-09 08:14:45 +0000 |
commit | 32dedf8f97073ff511964dcb9e0554c19d219d1d (patch) | |
tree | 1599f2d75e2a457f0aed00567cfc9d802c798435 /gcc/tree-ssa-live.c | |
parent | ec6db6429b15ef5999d8108d3c803cc879ed7f38 (diff) | |
download | gcc-32dedf8f97073ff511964dcb9e0554c19d219d1d.tar.gz |
* tree-ssa-live.c (remove_unused_locals): Mark all edge's goto_block
as used.
* gimple-low.c (lower_function_body, lower_gimple_return,
lower_builtin_setjmp): Set gimple_block on the newly created stmts.
* tree-cfg.c (make_cond_expr_edges, make_goto_expr_edges): Only set
goto_block on edges if goto_locus is known.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141002 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-live.c')
-rw-r--r-- | gcc/tree-ssa-live.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/tree-ssa-live.c b/gcc/tree-ssa-live.c index 859c0c7427d..47315184f9a 100644 --- a/gcc/tree-ssa-live.c +++ b/gcc/tree-ssa-live.c @@ -600,6 +600,8 @@ remove_unused_locals (void) { gimple_stmt_iterator gsi; size_t i; + edge_iterator ei; + edge e; /* Walk the statements. */ for (gsi = gsi_start_bb (bb); !gsi_end_p (gsi); gsi_next (&gsi)) @@ -634,6 +636,10 @@ remove_unused_locals (void) mark_all_vars_used (&arg, NULL); } } + + FOR_EACH_EDGE (e, ei, bb->succs) + if (e->goto_locus) + TREE_USED (e->goto_block) = true; } /* Remove unmarked local vars from local_decls. */ |