diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 2 | ||||
-rw-r--r-- | gcc/tree-ssa.c | 6 |
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 |