From ef0d4c4d9937276c8ff818ecb0b92925d322d3bd Mon Sep 17 00:00:00 2001 From: Richard Guenther Date: Wed, 14 Dec 2011 15:34:35 +0000 Subject: [PATCH] tree-cfg.c (replace_uses_by): Fixup TREE_CONSTANT for propagating all kinds of constants. 2011-12-14 Richard Guenther * tree-cfg.c (replace_uses_by): Fixup TREE_CONSTANT for propagating all kinds of constants. From-SVN: r182337 --- gcc/ChangeLog | 5 +++++ gcc/tree-cfg.c | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0aee51fbc75d..a297cce69e68 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2011-12-14 Richard Guenther + + * tree-cfg.c (replace_uses_by): Fixup TREE_CONSTANT for + propagating all kinds of constants. + 2011-12-14 Richard Guenther PR lto/51497 diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index 3d1b775c72e4..4c5982dcd8dd 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -1612,8 +1612,8 @@ replace_uses_by (tree name, tree val) /* FIXME. It shouldn't be required to keep TREE_CONSTANT on ADDR_EXPRs up-to-date on GIMPLE. Propagation will only change sth from non-invariant to invariant, and only - when propagating integer constants. */ - if (TREE_CODE (val) == INTEGER_CST) + when propagating constants. */ + if (is_gimple_min_invariant (val)) for (i = 0; i < gimple_num_ops (stmt); i++) { tree op = gimple_op (stmt, i);