Hello everyone,
I have revised this patch series, after some careful consideration.
As 1/3 from v2 has merged (and not included in this series),
I have switched up the order of patches, so 1/3 in v3 is 3/3 from v2.
Other two patches are been a rework of 2/3 from v2, split into two parts.
I've decided upon removing target_reg_cost from estimate
of register pressure, as it doesn't seem to benefit the overall
calculation (most likely because we cannot predict at this stage
how the moving between registers will occur).
The third patch is just scaling of the spill cost done to be closer
to what target_spill_cost actually is (cost of loading+storing from
stack).
Kind reminder for Alfie to run his benchmarks on ARM,
so that we have info if there is any change.
Warm regards,
Jovan
Jovan Dmitrović (3):
ivopts: Remove bias from calculating reg pressure cost.
ivopts: Remove target_reg_cost from reg pressure estimate.
ivopts: Adjust reg pressure estimate for spilling invariants compared
to iv cands.
gcc/tree-ssa-loop-ivopts.cc | 27 +++++++++++----------------
1 file changed, 11 insertions(+), 16 deletions(-)
--
2.34.1