https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56541
--- Comment #3 from amker at gcc dot gnu.org --- Author: amker Date: Tue May 3 09:04:46 2016 New Revision: 235808 URL: https://gcc.gnu.org/viewcvs?rev=235808&root=gcc&view=rev Log: PR tree-optimization/56541 * doc/invoke.texi (@item max-tree-if-conversion-phi-args): New item. * params.def (PARAM_MAX_TREE_IF_CONVERSION_PHI_ARGS): new param. * tree-if-conv.c (MAX_PHI_ARG_NUM): new macro. (any_complicated_phi): new static variable. (aggressive_if_conv): delete. (if_convertible_phi_p): support phis with more than two arguments. (if_convertible_bb_p): remvoe check on aggressive_if_conv and critical pred edges. (ifcvt_split_critical_edges): support phis with more than two arguments by checking new parameter. only split critical edges if needed. (tree_if_conversion): handle simd pragma marked loop using new local variable aggressive_if_conv. check any_complicated_phi. gcc/testsuite PR tree-optimization/56541 * gcc.dg/tree-ssa/ifc-pr56541.c: new test. * gcc.dg/vect/pr56541.c: new test. Added: trunk/gcc/testsuite/gcc.dg/tree-ssa/ifc-pr56541.c trunk/gcc/testsuite/gcc.dg/vect/pr56541.c Modified: trunk/gcc/ChangeLog trunk/gcc/doc/invoke.texi trunk/gcc/params.def trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-if-conv.c