On 10/18/2016 01:47 PM, Pat Haugen wrote:
The patch here, https://gcc.gnu.org/ml/gcc-patches/2014-10/msg01872.html,
attempted to scale down the register limit used by -fsched-pressure for the
case where the block in question executes as frequently as the entry block to
just the call_clobbered (i.e. call_used) regs. But the code is actually scaling
toward call_saved registers. The following patch corrects the following two
issues:
1) Computes and then removes the FIXED_REGS for the pressure class.
2) Computes CALL_SAVED regs per class and subtracts out some scaled portion of
that.
Bootstrap/regtest on powerpc64le in progress. Ok for trunk if no new failures?
-Pat
2016-10-18 Pat Haugen <pthau...@us.ibm.com>
* haifa-sched.c (call_used_regs_num): Rename to...
(call_saved_regs_num): ...this.
(fixed_regs_num): New variable.
(sched_pressure_start_bb): Subtract out fixed_regs. Scale call_saved
regs not call_used.
(alloc_global_sched_pressure_data): Compute call_saved and fixed regs.
OK.
jeff