[PATCH] [ARC] Disable compact casesi patterns for arcv2
Andrew Burgess
andrew.burgess@embecosm.com
Thu Oct 6 23:08:00 GMT 2016
* Claudiu Zissulescu <Claudiu.Zissulescu@synopsys.com> [2016-09-30 15:52:03 +0200]:
> Please find the updated patch,
> 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.
> * doc/invoke.texi (mcompact-casesi): Update text.
Looks good to me.
Thanks,
Andrew
> ---
> gcc/common/config/arc/arc-common.c | 1 -
> gcc/config/arc/arc.c | 11 +++++++++++
> gcc/doc/invoke.texi | 4 ++--
> 3 files changed, 13 insertions(+), 3 deletions(-)
>
> 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..5e8d6b4 100644
> --- a/gcc/config/arc/arc.c
> +++ b/gcc/config/arc/arc.c
> @@ -858,6 +858,17 @@ arc_override_options (void)
> if (arc_size_opt_level == 3)
> optimize_size = 1;
>
> + /* Compact casesi is not a valid option for ARCv2 family. */
> + if (TARGET_V2
> + && TARGET_COMPACT_CASESI)
> + {
> + warning (0, "compact-casesi is not applicable to ARCv2");
> + TARGET_COMPACT_CASESI = 0;
> + }
> + else if (optimize_size == 1
> + && !global_options_set.x_TARGET_COMPACT_CASESI)
> + TARGET_COMPACT_CASESI = 1;
> +
> if (flag_pic)
> target_flags |= MASK_NO_SDATA_SET;
>
> diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
> index 6767462..05f565d 100644
> --- a/gcc/doc/invoke.texi
> +++ b/gcc/doc/invoke.texi
> @@ -14255,8 +14255,8 @@ This is the default for @option{-Os}.
>
> @item -mcompact-casesi
> @opindex mcompact-casesi
> -Enable compact casesi pattern.
> -This is the default for @option{-Os}.
> +Enable compact casesi pattern. This is the default for @option{-Os},
> +and only available for ARCv1 cores.
>
> @item -mno-cond-exec
> @opindex mno-cond-exec
> --
> 1.9.1
>
More information about the Gcc-patches
mailing list