diff options
author | Richard Guenther <rguenther@suse.de> | 2011-12-14 15:34:35 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2011-12-14 15:34:35 +0000 |
commit | ef0d4c4d9937276c8ff818ecb0b92925d322d3bd (patch) | |
tree | f1e1680473d735f3d53da37b6a1510233f373133 | |
parent | 23ee14a5e62b15cfe437062e0368b9d2aad806c3 (diff) | |
download | gcc-ef0d4c4d9937276c8ff818ecb0b92925d322d3bd.zip gcc-ef0d4c4d9937276c8ff818ecb0b92925d322d3bd.tar.gz gcc-ef0d4c4d9937276c8ff818ecb0b92925d322d3bd.tar.bz2 |
tree-cfg.c (replace_uses_by): Fixup TREE_CONSTANT for propagating all kinds of constants.
2011-12-14 Richard Guenther <rguenther@suse.de>
* tree-cfg.c (replace_uses_by): Fixup TREE_CONSTANT for
propagating all kinds of constants.
From-SVN: r182337
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/tree-cfg.c | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0aee51f..a297cce 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2011-12-14 Richard Guenther <rguenther@suse.de> + * tree-cfg.c (replace_uses_by): Fixup TREE_CONSTANT for + propagating all kinds of constants. + +2011-12-14 Richard Guenther <rguenther@suse.de> + PR lto/51497 * lto-streamer-in.c (lto_read_body): Fixup local types TYPE_CANONICAL and variant chain. diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index 3d1b775..4c5982d 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); |