From 38e8f66392205d315970363059813572a89f1b8f Mon Sep 17 00:00:00 2001 From: Yvan Roux Date: Thu, 26 Sep 2013 09:09:30 +0000 Subject: [PATCH] aarch64.opt (mlra): New option. 2013-09-26 Yvan Roux * 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 | 6 ++++++ gcc/config/aarch64/aarch64.c | 11 +++++++++++ gcc/config/aarch64/aarch64.opt | 4 ++++ 3 files changed, 21 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 549fb9f46fe..f5162aabb75 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2013-09-26 Yvan Roux + + * 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 * expr.c (expand_assignment): Remove obsolete comment. diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index 6f4fe36e011..1558183a08f 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 8ff6ca12592..3b3e6c3b94d 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 (transitional) + Enum Name(aarch64_abi) Type(int) Known AArch64 ABIs (for use with the -mabi= option): -- 2.30.2