OSDN Git Service

2011-12-14 Richard Guenther <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 14 Dec 2011 15:34:35 +0000 (15:34 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 14 Dec 2011 15:34:35 +0000 (15:34 +0000)
* tree-cfg.c (replace_uses_by): Fixup TREE_CONSTANT for
propagating all kinds of constants.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182337 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/tree-cfg.c

index 0aee51f..a297cce 100644 (file)
@@ -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.
index 3d1b775..4c5982d 100644 (file)
@@ -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);