diff options
author | Bin Cheng <bin.cheng@arm.com> | 2012-10-19 05:42:24 +0000 |
---|---|---|
committer | Bin Cheng <amker@gcc.gnu.org> | 2012-10-19 05:42:24 +0000 |
commit | b11f0116d6e5e89dca5b1bfd56ba54fda3e05bf7 (patch) | |
tree | 9423fd10c44761618c568365bb200032573cfdf9 /gcc/ira.h | |
parent | 8cba9a053644b2bfcbe64d644d01cf697b51b9c2 (diff) | |
download | gcc-b11f0116d6e5e89dca5b1bfd56ba54fda3e05bf7.zip gcc-b11f0116d6e5e89dca5b1bfd56ba54fda3e05bf7.tar.gz gcc-b11f0116d6e5e89dca5b1bfd56ba54fda3e05bf7.tar.bz2 |
common.opt (flag_ira_hoist_pressure): New.
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.
From-SVN: r192604
Diffstat (limited to 'gcc/ira.h')
-rw-r--r-- | gcc/ira.h | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -1,6 +1,6 @@ /* Communication between the Integrated Register Allocator (IRA) and the rest of the compiler. - Copyright (C) 2006, 2007, 2008, 2009, 2010 + Copyright (C) 2006, 2007, 2008, 2009, 2010, 2012 Free Software Foundation, Inc. Contributed by Vladimir Makarov <vmakarov@redhat.com>. @@ -131,7 +131,7 @@ extern void ira_init (void); extern void ira_finish_once (void); extern void ira_setup_eliminable_regset (void); extern rtx ira_eliminate_regs (rtx, enum machine_mode); -extern void ira_set_pseudo_classes (FILE *); +extern void ira_set_pseudo_classes (bool, FILE *); extern void ira_implicitly_set_insn_hard_regs (HARD_REG_SET *); extern void ira_sort_regnos_for_alter_reg (int *, int, unsigned int *); |