aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@linaro.org>2017-08-30 11:16:42 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2017-08-30 11:16:42 +0000
commit22527b59dbb10204626aeb8660a8e262377ac354 (patch)
tree2ca4ddec1ff92a9f35161b220099f7c87ddd730f /gcc/expr.c
parentb4e6c85e3cfdd4e0863277c09461e3709c42981d (diff)
downloadgcc-22527b59dbb10204626aeb8660a8e262377ac354.zip
gcc-22527b59dbb10204626aeb8660a8e262377ac354.tar.gz
gcc-22527b59dbb10204626aeb8660a8e262377ac354.tar.bz2
[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
Diffstat (limited to 'gcc/expr.c')
0 files changed, 0 insertions, 0 deletions