summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authordnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4>2004-09-28 17:29:32 +0000
committerdnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4>2004-09-28 17:29:32 +0000
commitb926fe9ee88d1a9df43d5d190443c1c24b12174d (patch)
tree450b4c7ffee3bcaac4b1ef675287d4a77bee6500 /gcc
parented0ba13964a7af79ebb362d47a86ffe4b0133d71 (diff)
downloadgcc-b926fe9ee88d1a9df43d5d190443c1c24b12174d.tar.gz
* tree-ssa-loop-im.c (single_reachable_address) <PHI_NODE>:
Skip constant arguments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88237 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree-ssa-loop-im.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5f482cce104..e2f76bec4a2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
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
volatile type, mark the tag volatile.
(get_tmt_for): If TAG_TYPE is a volatile type, mark the tag
diff --git a/gcc/tree-ssa-loop-im.c b/gcc/tree-ssa-loop-im.c
index c7a60768ee9..e6b507ef27a 100644
--- a/gcc/tree-ssa-loop-im.c
+++ b/gcc/tree-ssa-loop-im.c
@@ -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: