aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2003-03-30 15:21:15 -0800
committerRichard Henderson <rth@gcc.gnu.org>2003-03-30 15:21:15 -0800
commit3d1f4922c3fc8c34a5c1a53e0f950609f4aaf948 (patch)
treefa6dd59f0f21e5065a194ae4f9b7510b449bb829
parent9311f3f613826baba9506671cfd94227108853a9 (diff)
downloadgcc-3d1f4922c3fc8c34a5c1a53e0f950609f4aaf948.zip
gcc-3d1f4922c3fc8c34a5c1a53e0f950609f4aaf948.tar.gz
gcc-3d1f4922c3fc8c34a5c1a53e0f950609f4aaf948.tar.bz2
toplev.c (rest_of_compilation): Run purge_builtin_constant_p before post-gcse cse pass.
* toplev.c (rest_of_compilation): Run purge_builtin_constant_p before post-gcse cse pass. From-SVN: r65061
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/toplev.c8
2 files changed, 10 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a51e143..9df9a0d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2003-03-30 Richard Henderson <rth@redhat.com>
+
+ PR opt/10011, opt/10252:
+ * toplev.c (rest_of_compilation): Run purge_builtin_constant_p
+ before post-gcse cse pass.
+
2003-03-30 Roger Sayle <roger@eyesopen.com>
* dojump.c (do_jump): Copy SUBREGs into a pseudo for comparison.
diff --git a/gcc/toplev.c b/gcc/toplev.c
index abcd0ad..67cd533 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -2929,6 +2929,10 @@ rest_of_compilation (decl)
save_cfj = flag_cse_follow_jumps;
flag_cse_skip_blocks = flag_cse_follow_jumps = 0;
+ /* Instantiate any remaining CONSTANT_P_RTX nodes. */
+ if (current_function_calls_constant_p)
+ purge_builtin_constant_p ();
+
/* If -fexpensive-optimizations, re-run CSE to clean up things done
by gcse. */
if (flag_expensive_optimizations)
@@ -2974,10 +2978,6 @@ rest_of_compilation (decl)
#endif
}
- /* Instantiate any remaining CONSTANT_P_RTX nodes. */
- if (optimize > 0 && flag_gcse && current_function_calls_constant_p)
- purge_builtin_constant_p ();
-
/* Move constant computations out of loops. */
if (optimize > 0 && flag_loop_optimize)