[committed] Enable REE for H8

Message ID 0ac60d36-8412-b8fe-44e3-0be5836717df@gmail.com
State Committed
Headers
Series [committed] Enable REE for H8 |

Commit Message

Jeff Law Oct. 17, 2022, 11:38 p.m. UTC
  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).


Regression tested along with a bit of other in-progress work. Committing 
to the trunk.


Jeff
commit 566c5f1aaae120d2283103e68ecf1c1a83dd4459
Author: Jeff Law <jeffreyalaw@gmail.com>
Date:   Mon Oct 17 19:28:00 2022 -0400

    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.
  

Patch

diff --git a/gcc/common/config/h8300/h8300-common.cc b/gcc/common/config/h8300/h8300-common.cc
index bfbda22006b..22e2cfcb7b2 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 }
   };