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