On Mon, Aug 6, 2012 at 8:27 AM, Marc Glisse <marc.gli...@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.gli...@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