public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH, LRA, AARCH64] Switching LRA on for AArch64
@ 2013-09-24  9:32 Yvan Roux
  2013-09-25 19:18 ` Yvan Roux
  2013-09-26  9:39 ` Richard Earnshaw
  0 siblings, 2 replies; 3+ messages in thread
From: Yvan Roux @ 2013-09-24  9:32 UTC (permalink / raw)
  To: gcc-patches, Vladimir Makarov, Marcus Shawcroft, Richard Earnshaw
  Cc: Patch Tracking

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

Hi,

The following patch switch LRA on for AArch64.  The patch introduces
an undocumented option -mlra to use LRA instead of  reload, for a
testing purpose.  Please notice that this patch is dependent on the
one submitted in the thread below:

http://gcc.gnu.org/ml/gcc-patches/2013-09/msg00805.html

Thanks,
Yvan

2013-09-24  Yvan Roux  <yvan.roux@linaro.org>

        * config/aarch64/aarch64.opt (mlra): New option.
        * config/aarch64/aarch64.c (aarch64_lra_p): New function.
        (TARGET_LRA_P): Define.

[-- Attachment #2: aarch64-lra.diff --]
[-- Type: application/octet-stream, Size: 1804 bytes --]

diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index 6f4fe36..1558183 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -109,6 +109,7 @@ enum aarch64_code_model aarch64_cmodel;
 #define TARGET_HAVE_TLS 1
 #endif
 
+static bool aarch64_lra_p (void);
 static bool aarch64_composite_type_p (const_tree, enum machine_mode);
 static bool aarch64_vfp_is_call_or_return_candidate (enum machine_mode,
 						     const_tree,
@@ -6092,6 +6093,13 @@ aapcs_vfp_sub_candidate (const_tree type, enum machine_mode *modep)
   return -1;
 }
 
+/* Return true if we use LRA instead of reload pass.  */
+static bool
+aarch64_lra_p (void)
+{
+  return aarch64_lra_flag;
+}
+
 /* Return TRUE if the type, as described by TYPE and MODE, is a composite
    type as described in AAPCS64 \S 4.3.  This includes aggregate, union and
    array types.  The C99 floating-point complex types are also considered
@@ -8268,6 +8276,9 @@ aarch64_vectorize_vec_perm_const_ok (enum machine_mode vmode,
 #undef TARGET_LIBGCC_CMP_RETURN_MODE
 #define TARGET_LIBGCC_CMP_RETURN_MODE aarch64_libgcc_cmp_return_mode
 
+#undef TARGET_LRA_P
+#define TARGET_LRA_P aarch64_lra_p
+
 #undef TARGET_MANGLE_TYPE
 #define TARGET_MANGLE_TYPE aarch64_mangle_type
 
diff --git a/gcc/config/aarch64/aarch64.opt b/gcc/config/aarch64/aarch64.opt
index 8ff6ca1..0c31312 100644
--- a/gcc/config/aarch64/aarch64.opt
+++ b/gcc/config/aarch64/aarch64.opt
@@ -103,6 +103,10 @@ mabi=
 Target RejectNegative Joined Enum(aarch64_abi) Var(aarch64_abi) Init(AARCH64_ABI_DEFAULT)
 -mabi=ABI	Generate code that conforms to the specified ABI
 
+mlra
+Target Report Var(aarch64_lra_flag) Init(1) Save
+Use LRA instead of reload
+
 Enum
 Name(aarch64_abi) Type(int)
 Known AArch64 ABIs (for use with the -mabi= option):

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

* Re: [PATCH, LRA, AARCH64] Switching LRA on for AArch64
  2013-09-24  9:32 [PATCH, LRA, AARCH64] Switching LRA on for AArch64 Yvan Roux
@ 2013-09-25 19:18 ` Yvan Roux
  2013-09-26  9:39 ` Richard Earnshaw
  1 sibling, 0 replies; 3+ messages in thread
From: Yvan Roux @ 2013-09-25 19:18 UTC (permalink / raw)
  To: gcc-patches, Vladimir Makarov, Marcus Shawcroft, Richard Earnshaw
  Cc: Patch Tracking

Hi,

the needed lra analyser patch was commited as r202914.

Thanks,
Yvan

On 24 September 2013 11:03, Yvan Roux <yvan.roux@linaro.org> wrote:
> Hi,
>
> The following patch switch LRA on for AArch64.  The patch introduces
> an undocumented option -mlra to use LRA instead of  reload, for a
> testing purpose.  Please notice that this patch is dependent on the
> one submitted in the thread below:
>
> http://gcc.gnu.org/ml/gcc-patches/2013-09/msg00805.html
>
> Thanks,
> Yvan
>
> 2013-09-24  Yvan Roux  <yvan.roux@linaro.org>
>
>         * config/aarch64/aarch64.opt (mlra): New option.
>         * config/aarch64/aarch64.c (aarch64_lra_p): New function.
>         (TARGET_LRA_P): Define.

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

* Re: [PATCH, LRA, AARCH64] Switching LRA on for AArch64
  2013-09-24  9:32 [PATCH, LRA, AARCH64] Switching LRA on for AArch64 Yvan Roux
  2013-09-25 19:18 ` Yvan Roux
@ 2013-09-26  9:39 ` Richard Earnshaw
  1 sibling, 0 replies; 3+ messages in thread
From: Richard Earnshaw @ 2013-09-26  9:39 UTC (permalink / raw)
  To: Yvan Roux; +Cc: gcc-patches, Vladimir Makarov, Marcus Shawcroft, Patch Tracking

On 24/09/13 10:03, Yvan Roux wrote:
> Hi,
> 
> The following patch switch LRA on for AArch64.  The patch introduces
> an undocumented option -mlra to use LRA instead of  reload, for a
> testing purpose.  Please notice that this patch is dependent on the
> one submitted in the thread below:
> 
> http://gcc.gnu.org/ml/gcc-patches/2013-09/msg00805.html
> 
> Thanks,
> Yvan
> 
> 2013-09-24  Yvan Roux  <yvan.roux@linaro.org>
> 
>         * config/aarch64/aarch64.opt (mlra): New option.
>         * config/aarch64/aarch64.c (aarch64_lra_p): New function.
>         (TARGET_LRA_P): Define.=
> 
> 

+mlra
+Target Report Var(aarch64_lra_flag) Init(1) Save
+Use LRA instead of reload

Please mark this "(transitional)" in the doc string.

Otherwise OK.

R.


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

end of thread, other threads:[~2013-09-26  8:44 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-09-24  9:32 [PATCH, LRA, AARCH64] Switching LRA on for AArch64 Yvan Roux
2013-09-25 19:18 ` Yvan Roux
2013-09-26  9:39 ` Richard Earnshaw

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).