diff options
author | Richard Biener <rguenther@suse.de> | 2014-11-09 11:27:00 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2014-11-09 11:27:00 +0000 |
commit | 1e51d0a29dbfebe6c0df58739562644c1a50f3c3 (patch) | |
tree | 7253af53d7de307a8f840ca8e90e5e0acc5fa293 /gcc/genmatch.c | |
parent | 8dcd07febcafc7fd8a62d86f88aca1f6724f8a24 (diff) | |
download | gcc-1e51d0a29dbfebe6c0df58739562644c1a50f3c3.zip gcc-1e51d0a29dbfebe6c0df58739562644c1a50f3c3.tar.gz gcc-1e51d0a29dbfebe6c0df58739562644c1a50f3c3.tar.bz2 |
match.pd: Add patterns convering two conversions in a row from fold-const.c.
2014-11-09 Richard Biener <rguenther@suse.de>
* match.pd: Add patterns convering two conversions in a row
from fold-const.c.
* fold-const.c (fold_unary_loc): Remove them here.
* tree-ssa-forwprop.c (combine_conversions): Likewise.
* genmatch.c (dt_node::gen_kids): Check whether we may
follow SSA use-def chains.
* g++.dg/cpp0x/constexpr-reinterpret1.C: XFAIL.
* gcc.dg/tree-ssa/pr21031.c: XFAIL.
From-SVN: r217260
Diffstat (limited to 'gcc/genmatch.c')
-rw-r--r-- | gcc/genmatch.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/genmatch.c b/gcc/genmatch.c index e01f7b3..723de19 100644 --- a/gcc/genmatch.c +++ b/gcc/genmatch.c @@ -1615,7 +1615,7 @@ dt_operand::gen_gimple_expr (FILE *f) else fprintf (f, "tree %s = gimple_call_arg (def_stmt, %u);\n", child_opname, i); - fprintf (f, "if ((%s = do_valueize (valueize, %s)) != 0)\n", + fprintf (f, "if ((%s = do_valueize (valueize, %s)))\n", child_opname, child_opname); fprintf (f, "{\n"); } @@ -1726,6 +1726,7 @@ dt_node::gen_kids (FILE *f, bool gimple) if (exprs_len || fns_len) { fprintf (f, "case SSA_NAME:\n"); + fprintf (f, "if (do_valueize (valueize, %s) != NULL_TREE)\n", kid_opname); fprintf (f, "{\n"); fprintf (f, "gimple def_stmt = SSA_NAME_DEF_STMT (%s);\n", kid_opname); |