OSDN Git Service

* gcse.c (struct bb_data): Add new fields, old_pressure, live_in
authoramker <amker@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 12 Nov 2012 02:17:38 +0000 (02:17 +0000)
committeramker <amker@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 12 Nov 2012 02:17:38 +0000 (02:17 +0000)
commitded170661957208bb923bc4e06dbeb6b730a4236
tree40b643468baab7f01d4d0c42584076eb891615cd
parent37beb7445dfb31a0f160ed07460320ecbc7327ac
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193425 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/gcse.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/hoist-register-pressure-3.c [new file with mode: 0644]