diff options
author | Richard Guenther <rguenther@suse.de> | 2006-03-14 12:50:10 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2006-03-14 12:50:10 +0000 |
commit | b5564e87d4237cd8fd1d926dcee6df27707e87f7 (patch) | |
tree | 19e4dea139dd060d0cd57bb423461e38b906afee /gcc/tree-ssa-propagate.c | |
parent | 6971d714fe697f099327fcfac909497e1a7e906d (diff) | |
download | gcc-b5564e87d4237cd8fd1d926dcee6df27707e87f7.zip gcc-b5564e87d4237cd8fd1d926dcee6df27707e87f7.tar.gz gcc-b5564e87d4237cd8fd1d926dcee6df27707e87f7.tar.bz2 |
re PR tree-optimization/26672 (ICE in op_iter_init, triggered by printf->puts optimization)
2006-03-14 Richard Guenther <rguenther@suse.de>
PR tree-optimization/26672
* tree-ssa-propagate.c (set_rhs): Don't walk DEFs if not in
SSA form.
* gcc.dg/torture/pr26672.c: New testcase.
From-SVN: r112050
Diffstat (limited to 'gcc/tree-ssa-propagate.c')
-rw-r--r-- | gcc/tree-ssa-propagate.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-ssa-propagate.c b/gcc/tree-ssa-propagate.c index dcdc6ad..00d5a94 100644 --- a/gcc/tree-ssa-propagate.c +++ b/gcc/tree-ssa-propagate.c @@ -632,7 +632,8 @@ set_rhs (tree *stmt_p, tree expr) *stmt_p = TREE_SIDE_EFFECTS (expr) ? expr : build_empty_stmt (); (*stmt_p)->common.ann = (tree_ann_t) ann; - if (TREE_SIDE_EFFECTS (expr)) + if (in_ssa_p + && TREE_SIDE_EFFECTS (expr)) { /* Fix all the SSA_NAMEs created by *STMT_P to point to its new replacement. */ |