diff options
Diffstat (limited to 'gcc/tree-ssa-loop-ivopts.c')
-rw-r--r-- | gcc/tree-ssa-loop-ivopts.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/tree-ssa-loop-ivopts.c b/gcc/tree-ssa-loop-ivopts.c index 4121d82..02fe707f 100644 --- a/gcc/tree-ssa-loop-ivopts.c +++ b/gcc/tree-ssa-loop-ivopts.c @@ -1525,8 +1525,8 @@ may_be_nonaddressable_p (tree expr) and make them look addressable. After some processing the non-addressability may be uncovered again, causing ADDR_EXPRs of inappropriate objects to be built. */ - if (AGGREGATE_TYPE_P (TREE_TYPE (expr)) - && !AGGREGATE_TYPE_P (TREE_TYPE (TREE_OPERAND (expr, 0)))) + if (is_gimple_reg (TREE_OPERAND (expr, 0)) + || is_gimple_min_invariant (TREE_OPERAND (expr, 0))) return true; /* ... fall through ... */ |