aarch64.opt (mlra): New option.
authorYvan Roux <yvan.roux@linaro.org>
Thu, 26 Sep 2013 09:09:30 +0000 (09:09 +0000)
committerYvan Roux <yroux@gcc.gnu.org>
Thu, 26 Sep 2013 09:09:30 +0000 (09:09 +0000)
2013-09-26  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.

From-SVN: r202940

gcc/ChangeLog
gcc/config/aarch64/aarch64.c
gcc/config/aarch64/aarch64.opt

index 549fb9f..f5162aa 100644 (file)
@@ -1,3 +1,9 @@
+2013-09-26  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.
+
 2013-09-26  Eric Botcazou  <ebotcazou@adacore.com>
 
        * expr.c (expand_assignment): Remove obsolete comment.
index 6f4fe36..1558183 100644 (file)
@@ -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
 
index 8ff6ca1..3b3e6c3 100644 (file)
@@ -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 (transitional)
+
 Enum
 Name(aarch64_abi) Type(int)
 Known AArch64 ABIs (for use with the -mabi= option):