[47/77] Make subroutines of nonzero_bits operate on scalar_int_mode
nonzero_bits1 assumed that all bits of a floating-point or vector mode were needed. It seems likely that fixed-point modes should have been handled in the same way. After excluding those, the only remaining modes that are likely to be useful are scalar integer ones. This patch moves the mode class check to nonzero_bits itself, along with the handling of mode == VOIDmode. The subroutines of nonzero_bits can then take scalar_int_modes. 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> gcc/ * rtlanal.c (nonzero_bits): Handle VOIDmode here rather than in subroutines. Return the mode mask for non-integer modes. (cached_nonzero_bits): Change the type of the mode parameter to scalar_int_mode. (nonzero_bits1): Likewise. Remove early exit for other mode classes. Handle CONST_INT_P first and then check whether X also has a scalar integer mode. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r251499
Showing
This diff is collapsed.
Click to expand it.
Please
register
or
sign in
to comment