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 }
};