gcse.c (struct bb_data): Add new fields, old_pressure, live_in and backup.
authorBin Cheng <bin.cheng@arm.com>
Mon, 12 Nov 2012 02:17:38 +0000 (02:17 +0000)
committerBin Cheng <amker@gcc.gnu.org>
Mon, 12 Nov 2012 02:17:38 +0000 (02:17 +0000)
commit4b8181c5877bf2732c983b63342f40bd88171c2d
tree40b643468baab7f01d4d0c42584076eb891615cd
parent6ba9e4013545a8af604d49f59a33fd53848e94a0
gcse.c (struct bb_data): Add new fields, old_pressure, live_in and backup.

* gcse.c (struct bb_data): Add new fields, old_pressure, live_in
and backup.
(get_regno_pressure_class): Add prototype.
(update_bb_reg_pressure): New.
(should_hoist_expr_to_dom): Add new parameter from.
Monitor the change of reg pressure and use it to drive hoisting.
(hoist_code): Update LIVE and reg pressure information.
(calculate_bb_reg_pressure): Initialize live_in and backup.

* gcc.dg/hoist-register-pressure-3.c: New test.

From-SVN: r193425
gcc/ChangeLog
gcc/gcse.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/hoist-register-pressure-3.c [new file with mode: 0644]