[PATCH 1/4][AArch64] Add scheduling and cost models for Exynos M1
James Greenhalgh
james.greenhalgh@arm.com
Thu Nov 12 14:47:00 GMT 2015
On Thu, Nov 05, 2015 at 11:31:33AM -0600, Evandro Menezes wrote:
> James,
>
> Since other members of the "tune_params" structure were signed
> integers, even though negative numbers would make no sense for most
> either, I followed the same pattern.
>
> Regardless, here's a patch with unsigned integers as you requested:
>
> [AArch64] Add extra tuning parameters for target processors
>
> 2015-11-05 Evandro Menezes <e.menezes@samsung.com>
>
> gcc/
>
> * config/aarch64/aarch64-protos.h (tune_params): Add new members
> "max_case_values" and "cache_line_size".
> * config/aarch64/aarch64.c (aarch64_case_values_threshold): New
> function.
> (aarch64_override_options_internal): Tune heuristics based on new
> members in "tune_params".
> (TARGET_CASE_VALUES_THRESHOLD): Define macro.
>
> Please, commit if it's alright.
Hi Evandro,
This is OK with a few nits.
> diff --git a/gcc/config/aarch64/aarch64-protos.h b/gcc/config/aarch64/aarch64-protos.h
> index 81792bc..ecf4685 100644
> --- a/gcc/config/aarch64/aarch64-protos.h
> +++ b/gcc/config/aarch64/aarch64-protos.h
> @@ -195,6 +195,9 @@ struct tune_params
> int vec_reassoc_width;
> int min_div_recip_mul_sf;
> int min_div_recip_mul_df;
> + unsigned int max_case_values; /* Case values threshold; or 0 for the default. */
> +
> + unsigned int cache_line_size; /* Cache line size; or 0 for the default. */
>
> /* An enum specifying how to take into account CPU autoprefetch capabilities
> during instruction scheduling:
I'd put the comments above the field, and make them slightly more
descriptive:
+ /* Value for aarch64_case_values_threshold; or 0 for the default. */
+ unsigned int max_case_values;
+ /* Value for PARAM_L1_CACHE_LINE_SIZE; or 0 to use the default. */
+ unsigned int cache_line_size;
> diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
> index 5c8604f..e7f1c07 100644
> --- a/gcc/config/aarch64/aarch64.c
> +++ b/gcc/config/aarch64/aarch64.c
> @@ -13385,6 +13418,7 @@ aarch64_promoted_type (const_tree t)
> return float_type_node;
> return NULL_TREE;
> }
> +
> #undef TARGET_ADDRESS_COST
> #define TARGET_ADDRESS_COST aarch64_address_cost
>
Drop this hunk.
I've applied the patch with those changes as revision 230261 on your behalf.
Thanks,
James
More information about the Gcc-patches
mailing list