[PATCH] Disable compact casesi patterns for arcv2
Claudiu Zissulescu
Claudiu.Zissulescu@synopsys.com
Thu Sep 29 09:00:00 GMT 2016
Here it is. The previous version had more mods which should be in a different patch.
Please let me know if you still have issues with it,
Claudiu
gcc/
2016-05-09 Claudiu Zissulescu <claziss@synopsys.com>
* common/config/arc/arc-common.c (arc_option_optimization_table):
Remove compact casesi option.
* config/arc/arc.c (arc_override_options): Use compact casesi
option only for pre-ARCv2 cores.
---
gcc/common/config/arc/arc-common.c | 1 -
gcc/config/arc/arc.c | 7 +++++++
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/gcc/common/config/arc/arc-common.c b/gcc/common/config/arc/arc-common.c
index f5b9c6d..5b687fb 100644
--- a/gcc/common/config/arc/arc-common.c
+++ b/gcc/common/config/arc/arc-common.c
@@ -56,7 +56,6 @@ static const struct default_options arc_option_optimization_table[] =
{ OPT_LEVELS_ALL, OPT_mbbit_peephole, NULL, 1 },
{ OPT_LEVELS_SIZE, OPT_mq_class, NULL, 1 },
{ OPT_LEVELS_SIZE, OPT_mcase_vector_pcrel, NULL, 1 },
- { OPT_LEVELS_SIZE, OPT_mcompact_casesi, NULL, 1 },
{ OPT_LEVELS_NONE, 0, NULL, 0 }
};
diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c
index 2b25b0b..825bccf 100644
--- a/gcc/config/arc/arc.c
+++ b/gcc/config/arc/arc.c
@@ -858,6 +858,13 @@ arc_override_options (void)
if (arc_size_opt_level == 3)
optimize_size = 1;
+ /* Compact casesi is not a valid option for ARCv2 family, disable
+ it. */
+ if (TARGET_V2)
+ TARGET_COMPACT_CASESI = 0;
+ else if (optimize_size == 1)
+ TARGET_COMPACT_CASESI = 1;
+
if (flag_pic)
target_flags |= MASK_NO_SDATA_SET;
--
1.9.1
More information about the Gcc-patches
mailing list