This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r192604 - in /trunk/gcc: ChangeLog common.opt d...
- From: amker at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Fri, 19 Oct 2012 05:42:25 -0000
- Subject: r192604 - in /trunk/gcc: ChangeLog common.opt d...
Author: amker
Date: Fri Oct 19 05:42:24 2012
New Revision: 192604
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=192604
Log:
gcc/ChangeLog
* common.opt (flag_ira_hoist_pressure): New.
* doc/invoke.texi (-fira-hoist-pressure): Describe.
* ira-costs.c (ira_set_pseudo_classes): New parameter.
* ira.h: Update copyright dates.
(ira_set_pseudo_classes): Update prototype.
* haifa-sched.c (sched_init): Update call.
* ira.c (ira): Update call.
* regmove.c: Update copyright dates.
(regmove_optimize): Update call.
* loop-invariant.c: Update copyright dates.
(move_loop_invariants): Update call.
* gcse.c: (struct bb_data): New structure.
(BB_DATA): New macro.
(curr_bb, curr_reg_pressure): New static variables.
(should_hoist_expr_to_dom): Rename from hoist_expr_reaches_here_p.
Change parameter expr_index to expr.
New parameters pressure_class, nregs and hoisted_bbs.
Use reg pressure to determine the distance expr can be hoisted.
(hoist_code): Use reg pressure to direct the hoist process.
(get_regno_pressure_class, get_pressure_class_and_nregs)
(change_pressure, calculate_bb_reg_pressure): New.
(one_code_hoisting_pass): Calculate register pressure. Allocate
and free data.
gcc/testsuite/ChangeLog
* testsuite/gcc.dg/hoist-register-pressure.c: New test.
Added:
trunk/gcc/testsuite/gcc.dg/hoist-register-pressure.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/common.opt
trunk/gcc/doc/invoke.texi
trunk/gcc/gcse.c
trunk/gcc/haifa-sched.c
trunk/gcc/ira-costs.c
trunk/gcc/ira.c
trunk/gcc/ira.h
trunk/gcc/loop-invariant.c
trunk/gcc/regmove.c
trunk/gcc/testsuite/ChangeLog