diff options
Diffstat (limited to 'gcc/tree-ssa-propagate.c')
| -rw-r--r-- | gcc/tree-ssa-propagate.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/tree-ssa-propagate.c b/gcc/tree-ssa-propagate.c index 9f9fef100fa..c83d2cdff9d 100644 --- a/gcc/tree-ssa-propagate.c +++ b/gcc/tree-ssa-propagate.c @@ -576,6 +576,12 @@ set_rhs (tree *stmt_p, tree expr) if (!is_gimple_val (TREE_OPERAND (expr, 0))) return false; } + else if (code == ADDR_EXPR) + { + if (TREE_CODE (TREE_OPERAND (expr, 0)) == ARRAY_REF + && !is_gimple_val (TREE_OPERAND (TREE_OPERAND (expr, 0), 1))) + return false; + } else if (code == COMPOUND_EXPR) return false; |

