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