aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Evans <dje@gnu.org>1994-01-08 19:56:03 +0000
committerDoug Evans <dje@gnu.org>1994-01-08 19:56:03 +0000
commit9e9b48a4a2f611d7714ccb494b3072ae6a2a2b00 (patch)
tree291345501a40229cb55434c08f17c62573fdb698
parent919ea6a5c3b1ba02bd0c41bcfacafbfaf83a4fae (diff)
downloadgcc-9e9b48a4a2f611d7714ccb494b3072ae6a2a2b00.zip
gcc-9e9b48a4a2f611d7714ccb494b3072ae6a2a2b00.tar.gz
gcc-9e9b48a4a2f611d7714ccb494b3072ae6a2a2b00.tar.bz2
(rest_of_compilation): jump_optimize can change max_reg_num so rerun reg_scan
before calling cse_main. From-SVN: r6360
-rw-r--r--gcc/toplev.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c
index e98e548..569e069 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -2561,10 +2561,13 @@ rest_of_compilation (decl)
{
/* Running another jump optimization pass before the second
cse pass sometimes simplifies the RTL enough to allow
- the second CSE pass to do a better job. */
- TIMEVAR (cse2_time, reg_scan (insns, max_reg_num (), 0));
+ the second CSE pass to do a better job. Jump_optimize can change
+ max_reg_num so we must rerun reg_scan afterwards.
+ ??? Rework to not call reg_scan so often. */
+ TIMEVAR (jump_time, reg_scan (insns, max_reg_num (), 0));
TIMEVAR (jump_time, jump_optimize (insns, 0, 0, 1));
+ TIMEVAR (cse2_time, reg_scan (insns, max_reg_num (), 0));
TIMEVAR (cse2_time, tem = cse_main (insns, max_reg_num (),
1, cse2_dump_file));
if (tem)