aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>2004-09-01 22:06:20 +0000
committerRichard Kenner <kenner@gcc.gnu.org>2004-09-01 18:06:20 -0400
commit0705d60230a25db8478d23bbd037351bf78309dc (patch)
treedcd8483c0fb8322cbb4620bd7759a9f40d7dac4b /gcc
parent78ad8fbec4283d9e9603025dfa0929bf0700e26a (diff)
downloadgcc-0705d60230a25db8478d23bbd037351bf78309dc.zip
gcc-0705d60230a25db8478d23bbd037351bf78309dc.tar.gz
gcc-0705d60230a25db8478d23bbd037351bf78309dc.tar.bz2
* tree-ssa.c (propagate_into_addr): Properly test for LHR.
From-SVN: r86934
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog2
-rw-r--r--gcc/tree-ssa.c6
2 files changed, 5 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 653d137..1d0ebc9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,7 @@
2004-09-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+ * tree-ssa.c (propagate_into_addr): Properly test for LHR.
+
* doc/c-tree.texi: Document new operands for ARRAY_REF and
COMPONENT_REF.
diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c
index 46068e5..13104fd 100644
--- a/gcc/tree-ssa.c
+++ b/gcc/tree-ssa.c
@@ -871,9 +871,9 @@ propagate_into_addr (tree stmt, tree var, tree *x, tree repl)
return;
addr_var = TREE_OPERAND (repl, 0);
- while (TREE_CODE (*x) == ARRAY_REF
- || TREE_CODE (*x) == COMPONENT_REF
- || TREE_CODE (*x) == BIT_FIELD_REF)
+ while (handled_component_p (*x)
+ || TREE_CODE (*x) == REALPART_EXPR
+ || TREE_CODE (*x) == IMAGPART_EXPR)
x = &TREE_OPERAND (*x, 0);
if (TREE_CODE (*x) != INDIRECT_REF