diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cfganal.c | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index deda8a4..7d48608 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2015-08-31 Michael Matz <matz@suse.de> + + * cfganal.c (pre_and_rev_post_order_compute_fn): Correctly + enter entry and exit blocks for reverse post order. + 2015-08-31 Richard Biener <rguenther@suse.de> * lto-streamer.h (lto_location_cache::cached_location::sysp): Add. diff --git a/gcc/cfganal.c b/gcc/cfganal.c index 7676bd8..3a9174c 100644 --- a/gcc/cfganal.c +++ b/gcc/cfganal.c @@ -925,7 +925,7 @@ pre_and_rev_post_order_compute_fn (struct function *fn, pre_order[pre_order_num] = ENTRY_BLOCK; pre_order_num++; if (rev_post_order) - rev_post_order[rev_post_order_num--] = ENTRY_BLOCK; + rev_post_order[rev_post_order_num--] = EXIT_BLOCK; } else rev_post_order_num -= NUM_FIXED_BLOCKS; @@ -996,7 +996,7 @@ pre_and_rev_post_order_compute_fn (struct function *fn, pre_order[pre_order_num] = EXIT_BLOCK; pre_order_num++; if (rev_post_order) - rev_post_order[rev_post_order_num--] = EXIT_BLOCK; + rev_post_order[rev_post_order_num--] = ENTRY_BLOCK; } return pre_order_num; |