aboutsummaryrefslogtreecommitdiff
path: root/gcc/common
diff options
context:
space:
mode:
authorJeff Law <jeffreyalaw@gmail.com>2022-10-17 19:28:00 -0400
committerJeff Law <jeffreyalaw@gmail.com>2022-10-17 19:30:30 -0400
commit566c5f1aaae120d2283103e68ecf1c1a83dd4459 (patch)
treee453f0fc93f4483704d93dfd7fef27b66ff6d33f /gcc/common
parent43ee3f64cb519f2675fa1771007d4aa3baba944f (diff)
downloadgcc-566c5f1aaae120d2283103e68ecf1c1a83dd4459.zip
gcc-566c5f1aaae120d2283103e68ecf1c1a83dd4459.tar.gz
gcc-566c5f1aaae120d2283103e68ecf1c1a83dd4459.tar.bz2
Enable REE for H8
I was looking at H8 assembly code recently and noticed we had unnecessary extensions. As it turns out we never enabled redundant extension elimination on the H8. This patch fixes that oversight (and was the trigger for the failure fixed my the prior patch). gcc/common * common/config/h8300/h8300-common.cc (h8300_option_optimization_table): Enable redundant extension elimination at -O2 and above.
Diffstat (limited to 'gcc/common')
-rw-r--r--gcc/common/config/h8300/h8300-common.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/common/config/h8300/h8300-common.cc b/gcc/common/config/h8300/h8300-common.cc
index bfbda22..22e2cfc 100644
--- a/gcc/common/config/h8300/h8300-common.cc
+++ b/gcc/common/config/h8300/h8300-common.cc
@@ -32,6 +32,8 @@ static const struct default_options h8300_option_optimization_table[] =
and/or variable-cycle branches where (cycle count taken !=
cycle count not taken). */
{ OPT_LEVELS_ALL, OPT_freorder_blocks, NULL, 0 },
+ /* Enable redundant extension instructions removal at -O2 and higher. */
+ { OPT_LEVELS_2_PLUS, OPT_free, NULL, 1 },
{ OPT_LEVELS_NONE, 0, NULL, 0 }
};