On 23 June 2015 at 09:49, James Greenhalgh <james.greenha...@arm.com> wrote: > > Hi, > > If we want to overwrite parts of this structure, we're going to need it > to be more malleable than it is presently. > > Run through and remove const from each of the members, create a non-const > tuning structure we can modify, and set aarch64_tune_params to always > point to this new structure. Change the -mtune parsing code to take a > copy of the tuning structure in use rather than just taking the > reference from within the processor struct. Change all the current > users of aarch64_tune_params which no longer need to dereference a > pointer. > > Checked on aarch64-none-linux-gnueabi with no issues. > > OK? > > Thanks, > James > > --- > 2015-06-23 James Greenhalgh <james.greenha...@arm.com> > > * config/aarch64/aarch64-protos.h (tune_params): Remove > const from members. > (aarch64_tune_params): Remove const, change to no longer be > a pointer. > * config/aarch64/aarch64.c (aarch64_tune_params): Remove const, > change to no longer be a pointer, initialize to generic_tunings. > (aarch64_min_divisions_for_recip_mul): Change dereference of > aarch64_tune_params to member access. > (aarch64_reassociation_width): Likewise. > (aarch64_rtx_mult_cost): Likewise. > (aarch64_address_cost): Likewise. > (aarch64_branch_cost): Likewise. > (aarch64_rtx_costs): Likewise. > (aarch64_register_move_cost): Likewise. > (aarch64_memory_move_cost): Likewise. > (aarch64_sched_issue_rate): Likewise. > (aarch64_builtin_vectorization_cost): Likewise. > (aarch64_override_options): Take a copy of the selected tuning > struct in to aarch64_tune_params, rather than just setting > a pointer, change dereferences of aarch64_tune_params to member > accesses. > (aarch64_override_options_after_change): Change dereferences of > aarch64_tune_params to member access. > (aarch64_macro_fusion_p): Likewise. > (aarch_macro_fusion_pair_p): Likewise. > * config/aarch64/cortex-a57-fma-steering.c (gate): Likewise. >
OK /Marcus