On 03/24/2011 06:50 AM, Andrey Belevantsev wrote:
Hello,

As noted in the PR audit trail, this is a case when we fail to find a transformed insn due to incomplete transformation history attached to it. The earlier fixes of this issue worked only for bookkeeping copies, but now we need a more general mechanism. Fixed by simply picking up additional transformation history from the av sets of basic blocks on the way. The problem can only happen on the bookkeeping blocks which have somewhat newer av sets available.

Bootstrapping and testing on x86-64 and ia64 is in progress, ok if it succeeds?


Ok, thanks.

2011-03-24  Andrey Belevantsev <a...@ispras.ru>

    gcc/
    PR rtl-optimization/48144
    * sel-sched-ir.c (merge_history_vect): Factor out from ...
    (merge_expr_data): ... here.
    (av_set_intersect): Rename to av_set_code_motion_filter.
    Update all callers.  Call merge_history_vect when an expression
    is found in both sets.
    * sel-sched-ir.h (av_set_code_motion_filter): Add prototype.

    gcc/testsuite
    PR rtl-optimization/48144
    * gcc.dg/pr48144.c: New test.




Reply via email to