This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
ARM: Enable scheduling for Thumb-2
- From: Daniel Jacobowitz <drow at false dot org>
- To: gcc-patches at gcc dot gnu dot org
- Cc: Richard Earnshaw <Richard dot Earnshaw at arm dot com>, Paul Brook <paul at codesourcery dot com>
- Date: Tue, 10 Nov 2009 16:11:29 -0500
- Subject: ARM: Enable scheduling for Thumb-2
I came across this ??? comment... in my testing, enabling scheduling
for Thumb-2 is size-neutral and has performance benefits ranging from
1% to 20%. A couple of performance tests regress, but they are
reasonable problems with non-clairvoyant register allocation
(something was spilled because scheduling increased lifetimes).
Tested on arm-none-eabi. OK to commit?
--
Daniel Jacobowitz
CodeSourcery
2009-11-10 Daniel Jacobowitz <dan@codesourcery.com>
* config/arm/arm.c (arm_override_options): Enable scheduling for
Thumb-2.
---
gcc/config/arm/arm.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
Index: gcc/config/arm/arm.c
===================================================================
--- gcc/config/arm/arm.c.orig 2009-11-10 06:40:14.000000000 -0800
+++ gcc/config/arm/arm.c 2009-11-10 06:46:28.000000000 -0800
@@ -1813,8 +1813,7 @@ arm_override_options (void)
fix_cm3_ldrd = 0;
}
- /* ??? We might want scheduling for thumb2. */
- if (TARGET_THUMB && flag_schedule_insns)
+ if (TARGET_THUMB1 && flag_schedule_insns)
{
/* Don't warn since it's on by default in -O2. */
flag_schedule_insns = 0;