summaryrefslogtreecommitdiff
path: root/gcc/graph.c
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2013-10-30 14:22:01 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2013-10-30 14:22:01 +0000
commitf484312fbab6135dc4ac30fbc504ae02848794e3 (patch)
tree457fdcb67b1c577c541ea2d0bca4de7a96d2ed55 /gcc/graph.c
parent06cfe8053727d82556cf0d37e53dd6e09ef2d6e6 (diff)
downloadgcc-f484312fbab6135dc4ac30fbc504ae02848794e3.tar.gz
2013-10-30 Richard Biener <rguenther@suse.de>
PR middle-end/57100 * basic-block.h (pre_and_rev_post_order_compute_fn): New function. * cfganal.c (pre_and_rev_post_order_compute_fn): New function as worker for ... (pre_and_rev_post_order_compute): ... which now wraps it. * graph.c (draw_cfg_nodes_no_loops): Use pre_and_rev_post_order_compute_fn to avoid ICEing and dependence on cfun. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204211 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/graph.c')
-rw-r--r--gcc/graph.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/graph.c b/gcc/graph.c
index 0ec279d86a9..5c890e5956c 100644
--- a/gcc/graph.c
+++ b/gcc/graph.c
@@ -160,9 +160,9 @@ draw_cfg_nodes_no_loops (pretty_printer *pp, struct function *fun)
visited = sbitmap_alloc (last_basic_block);
bitmap_clear (visited);
- /* FIXME: pre_and_rev_post_order_compute only works if fun == cfun. */
- n = pre_and_rev_post_order_compute (NULL, rpo, true);
- for (i = 0; i < n; i++)
+ n = pre_and_rev_post_order_compute_fn (fun, NULL, rpo, true);
+ for (i = n_basic_blocks_for_function (fun) - n;
+ i < n_basic_blocks_for_function (fun); i++)
{
basic_block bb = BASIC_BLOCK (rpo[i]);
draw_cfg_node (pp, fun->funcdef_no, bb);