arc: Don't use if-conversion when optimizing for size.
authorClaudiu Zissulescu <claziss@gmail.com>
Thu, 13 Feb 2020 10:32:05 +0000 (12:32 +0200)
committerClaudiu Zissulescu <claziss@gmail.com>
Thu, 13 Feb 2020 10:49:12 +0000 (12:49 +0200)
For ARC, predicated instructions are not very friendly with size
optimizations, leading to increased object size. Disable if-conversion
step when optimized for size.

gcc/
xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>

* common/config/arc/arc-common.c (arc_option_optimization_table):
Disable if-conversion step when optimized for size.

Signed-off-by: Claudiu Zissulescu <claziss@gmail.com>
gcc/ChangeLog
gcc/common/config/arc/arc-common.c

index dc5e403637b48d390017011d8f8c2275b55915b5..41498390c21e0e130247c59898c5155938ebd323 100644 (file)
@@ -1,3 +1,8 @@
+2020-02-13  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * common/config/arc/arc-common.c (arc_option_optimization_table):
+       Disable if-conversion step when optimized for size.
+
 2020-02-13  Claudiu Zissulescu  <claziss@synopsys.com>
 
        * config/arc/arc.c (arc_conditional_register_usage): R0-R3 and
index 082aa09283df62ae4abbe74b1d886d3825c2e5e5..14c20123c708edc313b5de416b678a338cd1ed53 100644 (file)
@@ -59,6 +59,7 @@ static const struct default_options arc_option_optimization_table[] =
     { OPT_LEVELS_SIZE, OPT_mcase_vector_pcrel, NULL, 1 },
     { OPT_LEVELS_SIZE, OPT_msize_level_, NULL, 3 },
     { OPT_LEVELS_SIZE, OPT_mmillicode, NULL, 1 },
+    { OPT_LEVELS_SIZE, OPT_fif_conversion, NULL, 0 },
     { OPT_LEVELS_1_PLUS, OPT_fomit_frame_pointer, NULL, 1 },
     { OPT_LEVELS_3_PLUS_SPEED_ONLY, OPT_msize_level_, NULL, 0 },
     { OPT_LEVELS_3_PLUS_SPEED_ONLY, OPT_malign_call, NULL, 1 },