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: [PATCH] Improve ifcombine (PR 52005)


On Mon, Aug 6, 2012 at 8:27 AM, Marc Glisse <marc.glisse@inria.fr> wrote:
>
> Hello,
>
> do you have an opinion on this patch (available here:
> http://gcc.gnu.org/ml/gcc-patches/2012-07/msg01352.html
> ) ?

I like it.  Thus, the referenced patch is ok for trunk.

Thanks,
Richard.

> Or should we go back to my old patch, or Andrew's patch?
>
>
> On Thu, 26 Jul 2012, Marc Glisse wrote:
>
>> Hello,
>>
>> here is a new version of the ifcombine patch, which handles Andrew's
>> examples (though only with -O2 for one of them, same_phi_args_p returns
>> false otherwise).
>>
>> Note that the new patch never calls maybe_fold_or_comparisons, only
>> maybe_fold_and_comparisons. It would be possible to call
>> maybe_fold_or_comparisons, when maybe_fold_and_comparisons fails, but I
>> don't know if there are optimizations that one does and not the other,
>> except for the odd trapping-math case.
>>
>> Bootstrap and testsuite are fine.
>>
>> 2012-07-26 Marc Glisse <marc.glisse@inria.fr>
>>
>> gcc/
>>         PR tree-optimization/51938
>>         PR tree-optimization/52005
>>         * tree-ssa-ifcombine.c (ifcombine_ifandif): New parameters for
>>         inverted conditions.
>>         (ifcombine_iforif): Remove, merge code into ifcombine_ifandif.
>>         (tree_ssa_ifcombine_bb): Update calls to the above. Detect !a&&b
>>         and !a||b patterns.
>>
>>
>> gcc/testsuite/
>>         PR tree-optimization/51938
>>         PR tree-optimization/52005
>>         * gcc.dg/tree-ssa/ssa-ifcombine-8.c: New testcase.
>>         * gcc.dg/tree-ssa/ssa-ifcombine-9.c: Likewise.
>>         * gcc.dg/tree-ssa/ssa-ifcombine-10.c: Likewise.
>>         * gcc.dg/tree-ssa/ssa-ifcombine-11.c: Likewise.
>
>
> --
> Marc Glisse


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