On 11/19/20 8:34 PM, Maciej W. Rozycki wrote:
> Add wide integer aka 'w' rtx format support to int iterators so that
> machine description can iterate over `const_int' expressions.
>
> This is made by expanding standard integer aka 'i' format support,
> observing that any standard integer already present in any of our
> existing RTL code will also fit into HOST_WIDE_INT, so there is no need
> for a separate handler.  Any truncation of the number parsed is made by
> the caller.  An assumption is made however that no place relies on
> capping out of range values to INT_MAX.
>
> Now the 'p' format is handled explicitly rather than being implied by
> rtx being a SUBREG, so actually assert that it is, just to play safe.
>
>       gcc/
>       * read-rtl.c: Add a page-feed separator at the start of iterator
>       code.
>       (struct iterator_group): Change the return type to HOST_WIDE_INT
>       for the `find_builtin' member.  Likewise the second parameter
>       type for the `apply_iterator' member.
>       (atoll) [!HAVE_ATOQ]: Reorder.
>       (find_mode, find_code): Change the return type to HOST_WIDE_INT.
>       (apply_mode_iterator, apply_code_iterator)
>       (apply_subst_iterator): Change the second parameter type to
>       HOST_WIDE_INT.
>       (find_int): Handle input suitable for HOST_WIDE_INT output.
>       (apply_int_iterator): Rewrite in terms of explicit format
>       interpretation.
>       (rtx_reader::read_rtx_operand) <'w'>: Fold into...
>       <'i', 'n', 'p'>: ... this.
>       * doc/md.texi (Int Iterators): Document 'w' rtx format support.
OK
jeff

Reply via email to