* Claudiu Zissulescu <claz...@gmail.com> [2018-11-12 13:25:12 +0200]:

> Avoid emitting lp instruction when in its ZOL body we find a jump table data
> in text section.
> 
> gcc/
> xxxx-xx-xx  Claudiu Zissulescu  <claz...@synopsys.com>
> 
>       * config/arc/arc.c (hwloop_optimize): Bailout when detecting a
>       jump table data in the text section.

This looks good from a code point of view, but there's no explanation
for _why_ this change was made.... might be worth mentioning.

Thanks,
Andrew



> ---
>  gcc/config/arc/arc.c | 12 +++++++++++-
>  1 file changed, 11 insertions(+), 1 deletion(-)
> 
> diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c
> index a92456b457d..9eab4c27284 100644
> --- a/gcc/config/arc/arc.c
> +++ b/gcc/config/arc/arc.c
> @@ -7791,7 +7791,17 @@ hwloop_optimize (hwloop_info loop)
>    for (insn = loop->start_label;
>         insn && insn != loop->loop_end;
>         insn = NEXT_INSN (insn))
> -    length += NONDEBUG_INSN_P (insn) ? get_attr_length (insn) : 0;
> +    {
> +      length += NONDEBUG_INSN_P (insn) ? get_attr_length (insn) : 0;
> +      if (JUMP_TABLES_IN_TEXT_SECTION
> +       && JUMP_TABLE_DATA_P (insn))
> +     {
> +       if (dump_file)
> +         fprintf (dump_file, ";; loop %d has a jump table\n",
> +                  loop->loop_no);
> +       return false;
> +     }
> +    }
>  
>    if (!insn)
>      {
> -- 
> 2.19.1
> 

Reply via email to