This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [dataflow][PATCH] Compute dominance information in ce2 pass.


On 5/14/07, Seongbae Park <seongbae.park@gmail.com> wrote:
Hi,

The attached patch fixes the performance regression on SPEC CPU2000 wupwise.
The mainline computes the dominance information in all ifconvert passes
except ce1, but  df doesn't compute it at all.

Bootstrap and regtest are still running.

2007-05-14 Seongbae Park <seongbae.park@gmail.com>

        * ifcvt.c (if_convert): New parameter RECOMPUTE_DOMINANCE.
        (rest_of_handle_if_conversion, rest_of_handle_if_after_combine,
        rest_of_handle_if_after_reload): New parameter to if_convert.

The previous patch caused a bootstrap failure, primarily because some of the if conversion routines were not executed at all before my patch. Enclosed is the new patch which passed the bootstrap and regression tests.

I think we probably want to add
df-based routines that do equivalent to
propagate_one_insn() so that people can compute
live sets at arbitrary points in the instruction stream
(without directly using df infrastructure).
I'll try to do that sometime.

The updated changelog is:
2007-05-16  Seongbae Park <seongbae.park@gmail.com>

        * ifcvt.c (dead_or_predicable): Compute the live set at EARLIEST.
        (if_convert): New parameter RECOMPUTE_DOMINANCE.
        (rest_of_handle_if_conversion, rest_of_handle_if_after_combine,
        rest_of_handle_if_after_reload): New parameter to if_convert.


OK for the branch ? -- #pragma ident "Seongbae Park, compiler, http://seongbae.blogspot.com";

Attachment: df-ifcvt-dominance2.diff.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]