diff options
author | Richard Sandiford <richard.sandiford@linaro.org> | 2017-12-21 06:57:18 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2017-12-21 06:57:18 +0000 |
commit | 39bb8924559d0487fb7cb6d4dc33d6b1e9c41004 (patch) | |
tree | 9887f91a47e5c46de73b822b210ba630c6b62cf2 /gcc/expr.h | |
parent | a97d8b982793ba5bf1e54a41d9bb110182b8baf8 (diff) | |
download | gcc-39bb8924559d0487fb7cb6d4dc33d6b1e9c41004.zip gcc-39bb8924559d0487fb7cb6d4dc33d6b1e9c41004.tar.gz gcc-39bb8924559d0487fb7cb6d4dc33d6b1e9c41004.tar.bz2 |
poly_int: get_bit_range
This patch makes get_bit_range return the range and position as poly_ints.
2017-12-21 Richard Sandiford <richard.sandiford@linaro.org>
Alan Hayward <alan.hayward@arm.com>
David Sherwood <david.sherwood@arm.com>
gcc/
* expr.h (get_bit_range): Return the bitstart and bitend as
poly_uint64s rather than unsigned HOST_WIDE_INTs. Return the bitpos
as a poly_int64 rather than a HOST_WIDE_INT.
* expr.c (get_bit_range): Likewise.
(expand_assignment): Update call accordingly.
* fold-const.c (optimize_bit_field_compare): Likewise.
Co-Authored-By: Alan Hayward <alan.hayward@arm.com>
Co-Authored-By: David Sherwood <david.sherwood@arm.com>
From-SVN: r255912
Diffstat (limited to 'gcc/expr.h')
-rw-r--r-- | gcc/expr.h | 13 |
1 files changed, 2 insertions, 11 deletions
@@ -240,17 +240,8 @@ extern bool emit_push_insn (rtx, machine_mode, tree, rtx, unsigned int, int, rtx, int, rtx, rtx, int, rtx, bool); /* Extract the accessible bit-range from a COMPONENT_REF. */ -extern void get_bit_range (unsigned HOST_WIDE_INT *, unsigned HOST_WIDE_INT *, - tree, HOST_WIDE_INT *, tree *); - -/* Temporary. */ -inline void -get_bit_range (poly_uint64_pod *bitstart, poly_uint64_pod *bitend, tree exp, - poly_int64_pod *bitpos, tree *offset) -{ - get_bit_range (&bitstart->coeffs[0], &bitend->coeffs[0], exp, - &bitpos->coeffs[0], offset); -} +extern void get_bit_range (poly_uint64_pod *, poly_uint64_pod *, tree, + poly_int64_pod *, tree *); /* Expand an assignment that stores the value of FROM into TO. */ extern void expand_assignment (tree, tree, bool); |