diff options
Diffstat (limited to 'gcc/tree-sra.cc')
-rw-r--r-- | gcc/tree-sra.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/tree-sra.cc b/gcc/tree-sra.cc index 302b73e..23236fc 100644 --- a/gcc/tree-sra.cc +++ b/gcc/tree-sra.cc @@ -3760,7 +3760,7 @@ sra_get_max_scalarization_size (void) /* If the user didn't set PARAM_SRA_MAX_SCALARIZATION_SIZE_<...>, fall back to a target default. */ unsigned HOST_WIDE_INT max_scalarization_size - = get_move_ratio (optimize_speed_p) * UNITS_PER_WORD; + = get_move_ratio (optimize_speed_p) * MOVE_MAX; if (optimize_speed_p) { @@ -4205,8 +4205,10 @@ sra_modify_expr (tree *expr, bool write, gimple_stmt_iterator *stmt_gsi, } else { - gassign *stmt; + if (TREE_READONLY (access->base)) + return false; + gassign *stmt; if (access->grp_partial_lhs) repl = force_gimple_operand_gsi (stmt_gsi, repl, true, NULL_TREE, true, |