diff options
author | Andrew MacLeod <amacleod@redhat.com> | 2025-05-08 20:28:11 -0400 |
---|---|---|
committer | Andrew MacLeod <amacleod@redhat.com> | 2025-05-12 20:10:34 -0400 |
commit | c40a4cc2d943d8572a62f21d3eb1d4171e51d5ac (patch) | |
tree | 74124f766b3db8ee9abb1d712cb5ad1e5739791f /libjava/classpath/vm/reference/java/util | |
parent | c273a1c1846207082b60fe10c18f5c86dbcfd413 (diff) | |
download | gcc-c40a4cc2d943d8572a62f21d3eb1d4171e51d5ac.zip gcc-c40a4cc2d943d8572a62f21d3eb1d4171e51d5ac.tar.gz gcc-c40a4cc2d943d8572a62f21d3eb1d4171e51d5ac.tar.bz2 |
Remove negative ranges using trailing zero masks.
When there are trailing 0's in the bitmask, set_range_from_bitmask () removes
the lower positive ranges which do not match the value. This reworks it to
provide the same functionailty for the negative ranges in signed types.
If the lower 4 bits are all 0:
int [-INF, +INF] MASK 0xfffffff0 VALUE 0x0
becomes:
int [-INF, -16][0, 0][16, 2147483632] MASK 0xfffffff0 VALUE 0x0
gcc/
* tree-ssanames.cc (set_bitmask): Use int_range_max for temps.
* value-range.cc (irange::set_range_from_bitmask): Handle all
trailing zero values.
gcc/testsuite/
* gcc.dg/tree-ssa/vrp124.c: New.
Diffstat (limited to 'libjava/classpath/vm/reference/java/util')
0 files changed, 0 insertions, 0 deletions