tree-ssa-loop-im.c (single_reachable_address): Skip constant arguments.
authorDiego Novillo <dnovillo@redhat.com>
Tue, 28 Sep 2004 17:29:32 +0000 (17:29 +0000)
committerDiego Novillo <dnovillo@gcc.gnu.org>
Tue, 28 Sep 2004 17:29:32 +0000 (13:29 -0400)
* tree-ssa-loop-im.c (single_reachable_address) <PHI_NODE>:
Skip constant arguments.

From-SVN: r88237

gcc/ChangeLog
gcc/tree-ssa-loop-im.c

index 5f482cce1046981d25fe2081bd7b333ef3885cb7..e2f76bec4a2c2ed72b468b194aaa6d6dbfe626ce 100644 (file)
@@ -1,3 +1,8 @@
+2004-09-28  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-ssa-loop-im.c (single_reachable_address) <PHI_NODE>:
+       Skip constant arguments.
+
 2004-09-28  Diego Novillo  <dnovillo@redhat.com>
 
        * tree-ssa-alias.c (create_name_tags): If PTR points to a
index c7a60768ee9a6c5f467a2bb0cd67b27ebcd2b14e..e6b507ef27afa9f17b05560574c0fdec12e65f7d 100644 (file)
@@ -982,8 +982,9 @@ single_reachable_address (struct loop *loop, tree stmt,
 
        case PHI_NODE:
          for (i = 0; i < (unsigned) PHI_NUM_ARGS (stmt); i++)
-           maybe_queue_var (PHI_ARG_DEF (stmt, i), loop,
-                            seen, queue, &in_queue);
+           if (TREE_CODE (PHI_ARG_DEF (stmt, i)) == SSA_NAME)
+             maybe_queue_var (PHI_ARG_DEF (stmt, i), loop,
+                              seen, queue, &in_queue);
          break;
 
        default: