diff options
author | Yvan Roux <yvan.roux@linaro.org> | 2013-10-16 11:36:18 +0000 |
---|---|---|
committer | Yvan Roux <yroux@gcc.gnu.org> | 2013-10-16 11:36:18 +0000 |
commit | c281bf268eb88e26a4d1e7e55f012296c44c9fea (patch) | |
tree | 21ec4a926acaa3a67ce1618caca52f61184d6c91 | |
parent | 32a8974d80a82799233167395b5567978875881d (diff) | |
download | gcc-c281bf268eb88e26a4d1e7e55f012296c44c9fea.zip gcc-c281bf268eb88e26a4d1e7e55f012296c44c9fea.tar.gz gcc-c281bf268eb88e26a4d1e7e55f012296c44c9fea.tar.bz2 |
arm.opt (mlra): New option.
2013-10-16 Yvan Roux <yvan.roux@linaro.org>
* config/arm/arm.opt (mlra): New option.
* config/arm/arm.c (arm_lra_p): New function.
(TARGET_LRA_P): Define.
From-SVN: r203698
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/arm/arm.c | 10 | ||||
-rw-r--r-- | gcc/config/arm/arm.opt | 4 |
3 files changed, 20 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8fcc0b9..ebaa3e0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2013-10-16 Yvan Roux <yvan.roux@linaro.org> + + * config/arm/arm.opt (mlra): New option. + * config/arm/arm.c (arm_lra_p): New function. + (TARGET_LRA_P): Define. + 2013-10-16 Paulo Matos <pmatos@broadcom.com> * tree-core.h (tree_code_name): Remove. diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 1247854..4cdac60 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -68,6 +68,7 @@ struct four_ints }; /* Forward function declarations. */ +static bool arm_lra_p (void); static bool arm_needs_doubleword_align (enum machine_mode, const_tree); static int arm_compute_static_chain_stack_bytes (void); static arm_stack_offsets *arm_get_frame_offsets (void); @@ -338,6 +339,9 @@ static const struct attribute_spec arm_attribute_table[] = #undef TARGET_LEGITIMIZE_ADDRESS #define TARGET_LEGITIMIZE_ADDRESS arm_legitimize_address +#undef TARGET_LRA_P +#define TARGET_LRA_P arm_lra_p + #undef TARGET_ATTRIBUTE_TABLE #define TARGET_ATTRIBUTE_TABLE arm_attribute_table @@ -5184,6 +5188,12 @@ arm_init_cumulative_args (CUMULATIVE_ARGS *pcum, tree fntype, } } +/* Return true if we use LRA instead of reload pass. */ +static bool +arm_lra_p (void) +{ + return arm_lra_flag; +} /* Return true if mode/type need doubleword alignment. */ static bool diff --git a/gcc/config/arm/arm.opt b/gcc/config/arm/arm.opt index 66e128e..9b74038 100644 --- a/gcc/config/arm/arm.opt +++ b/gcc/config/arm/arm.opt @@ -143,6 +143,10 @@ mfpu= Target RejectNegative Joined Enum(arm_fpu) Var(arm_fpu_index) Specify the name of the target floating point hardware/format +mlra +Target Report Var(arm_lra_flag) Init(0) Save +Use LRA instead of reload (transitional) + mhard-float Target RejectNegative Alias(mfloat-abi=, hard) Undocumented |