summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormatz <matz@138bc75d-0d04-0410-961f-82ee72b054a4>2015-08-31 13:45:48 +0000
committermatz <matz@138bc75d-0d04-0410-961f-82ee72b054a4>2015-08-31 13:45:48 +0000
commitf0d48a749664e71188790264c4ae1c931d3b6444 (patch)
tree8c3f014966062369e25573ad21c1646386f137b5
parenta4e1a24dd9c1ecc668780f572fa335f9e0972b64 (diff)
downloadgcc-f0d48a749664e71188790264c4ae1c931d3b6444.tar.gz
* cfganal.c (pre_and_rev_post_order_compute_fn): Correctly
enter entry and exit blocks for reverse post order. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227341 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/cfganal.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index deda8a42906..7d48608e3e4 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 7676bd8d6cc..3a9174c60bb 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;