This patch enables Redundant Extension Elimination pass for AArch64.

Testing shows no regressions on linux and bare-metal.

In terms of performance impact, it reduces code-size for some benchmarks
and makes no difference on others.

OK to commit to trunk?

Cheers,
Ian


2013-04-24  Ian Bolton  <ian.bol...@arm.com>

        * common/config/aarch64/aarch64-common.c: Enable REE pass at O2 or
higher
        by default.
Index: gcc/common/config/aarch64/aarch64-common.c
===================================================================
--- gcc/common/config/aarch64/aarch64-common.c  (revision 198231)
+++ gcc/common/config/aarch64/aarch64-common.c  (working copy)
@@ -44,6 +44,8 @@ static const struct default_options aarc
   {
     /* Enable section anchors by default at -O1 or higher.  */
     { OPT_LEVELS_1_PLUS, OPT_fsection_anchors, NULL, 1 },
+    /* Enable redundant extension instructions removal at -O2 and higher.  */
+    { OPT_LEVELS_2_PLUS, OPT_free, NULL, 1 },
     { OPT_LEVELS_NONE, 0, NULL, 0 }
   };
 

Reply via email to