On 2014-10-27 7:12 AM, Richard Sandiford wrote:
Two-patch IRA series to fix PR 63340:
https://gcc.gnu.org/ml/gcc-patches/2014-09/msg02636.html
"This significantly reduces the number of redundant classes in the
cost_classes structure, so it's also a minor compile-time improvement.
The time for -O0 fold-const.ii on x86_64 improved by ~0.5%.
(record_reg_classes was previously the hottest function in the
compilation, after the patch it goes down to number 2, though
it's still costly.)
I did a diff of the assembly output before and after the patch
on x86_64-linux-gnu, powerpc64-linux-gnu, s390x-linux-gnu and
aarch64-linux-gnu. There were some minor register allocation
changes in a handful files, but nothing major."
Thanks for checking the code and testing 4 platforms. The area is very
sensitive as some target-dependent hooks are not defined well for all
classes. That is a problem of targets and if something is broken by the
patch it probably should be fixed in target-dependent code.
The patch is ok. It would be ok to commit even if it did not solve the
problems as it speeds up one of the most time consuming code in RA.
https://gcc.gnu.org/ml/gcc-patches/2014-09/msg02637.html
The patch is also ok.
It also fixes PR 63403.
So you can commit the both of them.
Richard, thanks for working on this. As usually, your patches and
solutions are very high quality ones.