This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch AArch64 3/4] De-const-ify struct tune_params


On 23 June 2015 at 09:49, James Greenhalgh <james.greenhalgh@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.greenhalgh@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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]