[PATCH 1/3] RISC-V: Remove a loop in the ISA parser

Nelson Chu nelson.chu@sifive.com
Fri Feb 25 09:10:15 GMT 2022


On Wed, Feb 23, 2022 at 9:48 AM Tsukasa OI via Binutils
<binutils@sourceware.org> wrote:
>
> Since commit e601909a3287bf541c6a7d82214bb387d2c76d82 ("RISC-V: Support
> to parse the multi-letter prefix in the architecture string.") changed
> so that all prefixed extensions are parsed in single
> riscv_parse_prefixed_ext call, a "while" loop on riscv_parse_subset
> is no longer required.

Make sense!  LGTM, so committed.

Thanks
Nelson

> bfd/ChangeLog:
>
>         * elfxx-riscv.c (riscv_parse_subset): Remove unnecessary loop.
> ---
>  bfd/elfxx-riscv.c | 11 ++++-------
>  1 file changed, 4 insertions(+), 7 deletions(-)
>
> diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c
> index 27d06d2fa3d..329dcaed304 100644
> --- a/bfd/elfxx-riscv.c
> +++ b/bfd/elfxx-riscv.c
> @@ -2019,14 +2019,11 @@ riscv_parse_subset (riscv_parse_subset_t *rps,
>    if (p == NULL)
>      return false;
>
> -  /* Parse the different classes of extensions in the specified order.  */
> -  while (*p != '\0')
> -    {
> -      p = riscv_parse_prefixed_ext (rps, arch, p);
> +  /* Parse prefixed extensions.  */
> +  p = riscv_parse_prefixed_ext (rps, arch, p);
>
> -      if (p == NULL)
> -        return false;
> -    }
> +  if (p == NULL)
> +    return false;
>
>    /* Finally add implicit extensions according to the current
>       extensions.  */
> --
> 2.32.0
>


More information about the Binutils mailing list