arm.opt (mlra): New option.
authorYvan Roux <yvan.roux@linaro.org>
Wed, 16 Oct 2013 11:36:18 +0000 (11:36 +0000)
committerYvan Roux <yroux@gcc.gnu.org>
Wed, 16 Oct 2013 11:36:18 +0000 (11:36 +0000)
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

gcc/ChangeLog
gcc/config/arm/arm.c
gcc/config/arm/arm.opt

index 8fcc0b9f57169fe29abfad292edbe3a50c6f4eac..ebaa3e0d4eb0b52bfc877c4b4e7812a31e92ae9e 100644 (file)
@@ -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.
index 1247854d69c667ae0b735146c3212356ea3d67d2..4cdac60fd8a71bc17e37d2a664f65f8416b9bab5 100644 (file)
@@ -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
index 66e128ecbd45a61f97d7ad521594248c9316d319..9b740386ca337a400dccb4c5ba5aad3b8a0afe55 100644 (file)
@@ -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