diff options
author | Richard Sandiford <richard.sandiford@linaro.org> | 2018-01-04 18:05:10 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2018-01-04 18:05:10 +0000 |
commit | 1de1073520a877b46a0b93c5b0eb4c0b29b97e84 (patch) | |
tree | 00a25a55d43f38ef6035f5a5034d458d1e0973de /gcc/tree-vrp.c | |
parent | 88654ce63de73fc51a47e7d54070c2c0b6b2f34b (diff) | |
download | gcc-1de1073520a877b46a0b93c5b0eb4c0b29b97e84.zip gcc-1de1073520a877b46a0b93c5b0eb4c0b29b97e84.tar.gz gcc-1de1073520a877b46a0b93c5b0eb4c0b29b97e84.tar.bz2 |
Add tree_fits_uhwi_p tests to BIT_FIELD_REF folder
The first BIT_FIELD_REF folding pattern assumed without checking that
operands satisfy tree_fits_uhwi_p. The second pattern does check this:
/* On constants we can use native encode/interpret to constant
fold (nearly) all BIT_FIELD_REFs. */
if (CONSTANT_CLASS_P (arg0)
&& can_native_interpret_type_p (type)
&& BITS_PER_UNIT == 8
&& tree_fits_uhwi_p (op1)
&& tree_fits_uhwi_p (op2))
so this patch adds the checks to the first pattern too. This is needed
for POLY_INT_CST bit positions.
2018-01-04 Richard Sandiford <richard.sandiford@linaro.org>
gcc/
* fold-const.c (fold_ternary_loc): Check tree_fits_uhwi_p before
using tree_to_uhwi.
From-SVN: r256258
Diffstat (limited to 'gcc/tree-vrp.c')
0 files changed, 0 insertions, 0 deletions