On 03/06/2017 01:27 AM, Xi Ruoyao wrote:
Hi,
After Bernd fixed PR44281 (r235809), the registers fixed only because
they are global can be selected by IRA. However, since they are not
in ok_regs, the move cost estimation about them are wrong. Then an
assertion in ira.c failed and then ICE.
To fix this, add these registers into ok_regs.
Bootstrapped/regtested on x86_64-linux-gnu. Is this ok for trunk?
2017-03-06 Xi Ruoyao <r...@stu.xidian.edu.cn>
PR rtl-optimization/79728
* reginfo.c (init_reg_sets_1): Use fixed_nonglobal_reg_set
(instead of fixed_regs) to deduce ok_regs.
* gcc.target/i386/pr79728.c: New test.
I think I prefer Bernd's patch, mostly because it preserves the old
meaning of the code for reload.
jeff