From c281bf268eb88e26a4d1e7e55f012296c44c9fea Mon Sep 17 00:00:00 2001 From: Yvan Roux Date: Wed, 16 Oct 2013 11:36:18 +0000 Subject: [PATCH] arm.opt (mlra): New option. 2013-10-16 Yvan Roux * config/arm/arm.opt (mlra): New option. * config/arm/arm.c (arm_lra_p): New function. (TARGET_LRA_P): Define. From-SVN: r203698 --- gcc/ChangeLog | 6 ++++++ gcc/config/arm/arm.c | 10 ++++++++++ gcc/config/arm/arm.opt | 4 ++++ 3 files changed, 20 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8fcc0b9f571..ebaa3e0d4eb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2013-10-16 Yvan Roux + + * 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 * tree-core.h (tree_code_name): Remove. diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 1247854d69c..4cdac60fd8a 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 66e128ecbd4..9b740386ca3 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 -- 2.30.2