public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH][ARM][1/2] Use generic_extra_costs in all remaining tuning structs
@ 2016-11-01 17:12 Kyrill Tkachov
  2016-11-08  9:27 ` Kyrill Tkachov
  2016-11-08 11:24 ` Richard Earnshaw (lists)
  0 siblings, 2 replies; 3+ messages in thread
From: Kyrill Tkachov @ 2016-11-01 17:12 UTC (permalink / raw)
  To: GCC Patches; +Cc: Ramana Radhakrishnan, Richard Earnshaw

[-- Attachment #1: Type: text/plain, Size: 936 bytes --]

Hi all,

This is the first of two patches to do away with the transitional -mold-rtx-costs option and finalise
the transition to the table-based RTX costs approach.

This first patch switches the remaining tuning structs to use generic_extra_costs so that the 2nd
patch can remove the rtx_costs function pointer in tune_params. This essentially makes the transitional
option -mnew-generic-costs the default (though it will be removed in the second patch).

Bootstrapped and tested on arm-none-linux-gnueabihf.

Ok for trunk?

Thanks,
Kyrill

2016-11-01  Kyrylo Tkachov  kyrylo.tkachov@arm.com

     * config/arm/arm.c (arm_slowmul_tune): Use generic_extra_costs.
     (arm_fastmul_tune): Likewise.
     (arm_strongarm_tune): Likewise.
     (arm_xscale_tune): Likewise.
     (arm_9e_tune): Likewise.
     (arm_marvell_pj4_tune): Likewise.
     (arm_v6t2_tune): Likewise.
     (arm_v6m_tune): Likewise.
     (arm_fa726te_tune): Likewise.

[-- Attachment #2: arm-costs-1.patch --]
[-- Type: text/x-patch, Size: 3090 bytes --]

diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 74c4041a5f5173714dec36a3ad37b8b63cd5cc49..6bc588f7993979659ffe69646d8606f0f72cf608 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -1682,7 +1682,7 @@ const struct cpu_cost_table v7m_extra_costs =
 const struct tune_params arm_slowmul_tune =
 {
   arm_slowmul_rtx_costs,
-  NULL,					/* Insn extra costs.  */
+  &generic_extra_costs,			/* Insn extra costs.  */
   NULL,					/* Sched adj cost.  */
   arm_default_branch_cost,
   &arm_default_vec_cost,
@@ -1705,7 +1705,7 @@ const struct tune_params arm_slowmul_tune =
 const struct tune_params arm_fastmul_tune =
 {
   arm_fastmul_rtx_costs,
-  NULL,					/* Insn extra costs.  */
+  &generic_extra_costs,			/* Insn extra costs.  */
   NULL,					/* Sched adj cost.  */
   arm_default_branch_cost,
   &arm_default_vec_cost,
@@ -1731,7 +1731,7 @@ const struct tune_params arm_fastmul_tune =
 const struct tune_params arm_strongarm_tune =
 {
   arm_fastmul_rtx_costs,
-  NULL,					/* Insn extra costs.  */
+  &generic_extra_costs,			/* Insn extra costs.  */
   NULL,					/* Sched adj cost.  */
   arm_default_branch_cost,
   &arm_default_vec_cost,
@@ -1754,7 +1754,7 @@ const struct tune_params arm_strongarm_tune =
 const struct tune_params arm_xscale_tune =
 {
   arm_xscale_rtx_costs,
-  NULL,					/* Insn extra costs.  */
+  &generic_extra_costs,			/* Insn extra costs.  */
   xscale_sched_adjust_cost,
   arm_default_branch_cost,
   &arm_default_vec_cost,
@@ -1777,7 +1777,7 @@ const struct tune_params arm_xscale_tune =
 const struct tune_params arm_9e_tune =
 {
   arm_9e_rtx_costs,
-  NULL,					/* Insn extra costs.  */
+  &generic_extra_costs,			/* Insn extra costs.  */
   NULL,					/* Sched adj cost.  */
   arm_default_branch_cost,
   &arm_default_vec_cost,
@@ -1800,7 +1800,7 @@ const struct tune_params arm_9e_tune =
 const struct tune_params arm_marvell_pj4_tune =
 {
   arm_9e_rtx_costs,
-  NULL,					/* Insn extra costs.  */
+  &generic_extra_costs,			/* Insn extra costs.  */
   NULL,					/* Sched adj cost.  */
   arm_default_branch_cost,
   &arm_default_vec_cost,
@@ -1823,7 +1823,7 @@ const struct tune_params arm_marvell_pj4_tune =
 const struct tune_params arm_v6t2_tune =
 {
   arm_9e_rtx_costs,
-  NULL,					/* Insn extra costs.  */
+  &generic_extra_costs,			/* Insn extra costs.  */
   NULL,					/* Sched adj cost.  */
   arm_default_branch_cost,
   &arm_default_vec_cost,
@@ -2230,7 +2230,7 @@ const struct tune_params arm_cortex_m7_tune =
 const struct tune_params arm_v6m_tune =
 {
   arm_9e_rtx_costs,
-  NULL,					/* Insn extra costs.  */
+  &generic_extra_costs,			/* Insn extra costs.  */
   NULL,					/* Sched adj cost.  */
   arm_default_branch_cost,
   &arm_default_vec_cost,                        /* Vectorizer costs.  */
@@ -2253,7 +2253,7 @@ const struct tune_params arm_v6m_tune =
 const struct tune_params arm_fa726te_tune =
 {
   arm_9e_rtx_costs,
-  NULL,					/* Insn extra costs.  */
+  &generic_extra_costs,				/* Insn extra costs.  */
   fa726te_sched_adjust_cost,
   arm_default_branch_cost,
   &arm_default_vec_cost,

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH][ARM][1/2] Use generic_extra_costs in all remaining tuning structs
  2016-11-01 17:12 [PATCH][ARM][1/2] Use generic_extra_costs in all remaining tuning structs Kyrill Tkachov
@ 2016-11-08  9:27 ` Kyrill Tkachov
  2016-11-08 11:24 ` Richard Earnshaw (lists)
  1 sibling, 0 replies; 3+ messages in thread
From: Kyrill Tkachov @ 2016-11-08  9:27 UTC (permalink / raw)
  To: GCC Patches; +Cc: Ramana Radhakrishnan, Richard Earnshaw

Ping.
https://gcc.gnu.org/ml/gcc-patches/2016-11/msg00063.html

Thanks,
Kyrill
On 01/11/16 17:12, Kyrill Tkachov wrote:
> Hi all,
>
> This is the first of two patches to do away with the transitional -mold-rtx-costs option and finalise
> the transition to the table-based RTX costs approach.
>
> This first patch switches the remaining tuning structs to use generic_extra_costs so that the 2nd
> patch can remove the rtx_costs function pointer in tune_params. This essentially makes the transitional
> option -mnew-generic-costs the default (though it will be removed in the second patch).
>
> Bootstrapped and tested on arm-none-linux-gnueabihf.
>
> Ok for trunk?
>
> Thanks,
> Kyrill
>
> 2016-11-01  Kyrylo Tkachov  kyrylo.tkachov@arm.com
>
>     * config/arm/arm.c (arm_slowmul_tune): Use generic_extra_costs.
>     (arm_fastmul_tune): Likewise.
>     (arm_strongarm_tune): Likewise.
>     (arm_xscale_tune): Likewise.
>     (arm_9e_tune): Likewise.
>     (arm_marvell_pj4_tune): Likewise.
>     (arm_v6t2_tune): Likewise.
>     (arm_v6m_tune): Likewise.
>     (arm_fa726te_tune): Likewise.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH][ARM][1/2] Use generic_extra_costs in all remaining tuning structs
  2016-11-01 17:12 [PATCH][ARM][1/2] Use generic_extra_costs in all remaining tuning structs Kyrill Tkachov
  2016-11-08  9:27 ` Kyrill Tkachov
@ 2016-11-08 11:24 ` Richard Earnshaw (lists)
  1 sibling, 0 replies; 3+ messages in thread
From: Richard Earnshaw (lists) @ 2016-11-08 11:24 UTC (permalink / raw)
  To: Kyrill Tkachov, GCC Patches; +Cc: Ramana Radhakrishnan

On 01/11/16 17:12, Kyrill Tkachov wrote:
> Hi all,
> 
> This is the first of two patches to do away with the transitional
> -mold-rtx-costs option and finalise
> the transition to the table-based RTX costs approach.
> 
> This first patch switches the remaining tuning structs to use
> generic_extra_costs so that the 2nd
> patch can remove the rtx_costs function pointer in tune_params. This
> essentially makes the transitional
> option -mnew-generic-costs the default (though it will be removed in the
> second patch).
> 
> Bootstrapped and tested on arm-none-linux-gnueabihf.
> 
> Ok for trunk?
> 
> Thanks,
> Kyrill
> 
> 2016-11-01  Kyrylo Tkachov  kyrylo.tkachov@arm.com
> 
>     * config/arm/arm.c (arm_slowmul_tune): Use generic_extra_costs.
>     (arm_fastmul_tune): Likewise.
>     (arm_strongarm_tune): Likewise.
>     (arm_xscale_tune): Likewise.
>     (arm_9e_tune): Likewise.
>     (arm_marvell_pj4_tune): Likewise.
>     (arm_v6t2_tune): Likewise.
>     (arm_v6m_tune): Likewise.
>     (arm_fa726te_tune): Likewise.

OK.

R.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-11-08 11:24 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-11-01 17:12 [PATCH][ARM][1/2] Use generic_extra_costs in all remaining tuning structs Kyrill Tkachov
2016-11-08  9:27 ` Kyrill Tkachov
2016-11-08 11:24 ` Richard Earnshaw (lists)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).