The following fixes the pattern recognition code-gen for GIMPLE
[VEC_]COND_EXPR which can have either a SSA name condition or
an embedded GENERIC expression (ugh).

Bootstrapped on x86_64-unknown-linux-gnu, testing in progress (we
don't have any pattern matching the condition part).

Richard.

2016-03-02  Richard Biener  <rguent...@suse.de>

        * genmatch.c (dt_node::gen_kids): Fix match code-gen for embedded
        GENERIC expressions in GIMPLE.

Index: gcc/genmatch.c
===================================================================
--- gcc/genmatch.c      (revision 233897)
+++ gcc/genmatch.c      (working copy)
@@ -2615,7 +2615,7 @@ dt_node::gen_kids (FILE *f, int indent,
                preds.safe_push (op);
              else
                {
-                 if (gimple)
+                 if (gimple && !e->is_generic)
                    gimple_exprs.safe_push (op);
                  else
                    generic_exprs.safe_push (op);

Reply via email to