This is the mail archive of the gcc@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: postreload-gcse heuristics broken?





Ulrich Weigand/Germany/IBM wrote on 26/01/2005 17:47:22:

> Mostafa Hagog/Haifa/IBM wrote on 01/25/2005 11:10:50 PM:
>
> > Here is an updated patch, can you please test it?
>
> It does work.  But are you sure you wanted to keep this hunk:

No, this hunk shouldn't be kept.

>
> *************** eliminate_partially_redundant_load (basi
> *** 1030,1035 ****
> --- 1031,1040 ----
>     if (reg_set_or_used_since_bb_start (dest, bb, insn))
>       return;
>
> +     FOR_EACH_EDGE (pred, ei, bb->preds)
> +       if (EDGE_CRITICAL_P (pred))
> +       return;
> +
>     /* Check potential for replacing load with copy for predecessors.  */
>     FOR_EACH_EDGE (pred, ei, bb->preds)
>       {
>
> It would appear the later tests for EDGE_CRITICAL_P are quite
> pointless after this ...

Yes you are right.  This means that we didn't test the new change,
just the old one again.

Attached the new patch.

Thanks,
Mostafa.

(See attached file: postreload_gcse_nopdf3.patch)

Attachment: postreload_gcse_nopdf3.patch
Description: Binary data


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