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

Reply via email to