From: Yvan Roux Date: Thu, 26 Sep 2013 09:09:30 +0000 (+0000) Subject: aarch64.opt (mlra): New option. X-Git-Tag: releases/gcc-4.9.0~3866 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=38e8f66392205d315970363059813572a89f1b8f;p=thirdparty%2Fgcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 549fb9f46fef..f5162aabb759 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 6f4fe36e0117..1558183a08f3 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 8ff6ca12592d..3b3e6c3b94d9 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):