From: Richard Biener Date: Wed, 14 Apr 2021 08:26:33 +0000 (+0200) Subject: VEC_COND_EXPR verification adjustment X-Git-Tag: basepoints/gcc-12~87 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3330e673959d44e5c7663956803e1e7a703dd626;p=thirdparty%2Fgcc.git VEC_COND_EXPR verification adjustment This adjusts GIMPLE verification with respect to the VEC_COND_EXPR changes forcing a split out condition. 2021-04-14 Richard Biener * tree-cfg.c (verify_gimple_assign_ternary): Verify that VEC_COND_EXPRs have a gimple_val condition. * tree-ssa-propagate.c (valid_gimple_rhs_p): VEC_COND_EXPR can no longer have a GENERIC condition. --- diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index 7e3aae5f9c28..4f63aa69ba88 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -4246,6 +4246,8 @@ verify_gimple_assign_ternary (gassign *stmt) debug_generic_expr (rhs1_type); return true; } + if (!is_gimple_val (rhs1)) + return true; /* Fallthrough. */ case COND_EXPR: if (!is_gimple_val (rhs1) diff --git a/gcc/tree-ssa-propagate.c b/gcc/tree-ssa-propagate.c index def16c036ab9..17dd1efd81df 100644 --- a/gcc/tree-ssa-propagate.c +++ b/gcc/tree-ssa-propagate.c @@ -515,7 +515,7 @@ valid_gimple_rhs_p (tree expr) default: if (get_gimple_rhs_class (code) == GIMPLE_TERNARY_RHS) { - if (((code == VEC_COND_EXPR || code == COND_EXPR) + if ((code == COND_EXPR ? !is_gimple_condexpr (TREE_OPERAND (expr, 0)) : !is_gimple_val (TREE_OPERAND (expr, 0))) || !is_gimple_val (TREE_OPERAND (expr, 1))