aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/error.cc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2024-08-28 14:06:48 +0200
committerRichard Biener <rguenth@gcc.gnu.org>2024-09-09 15:02:26 +0200
commite7d5b9aa021f6fc32810670b18ffabe543262775 (patch)
treef3340ad130b425003e3cc5f5d4f67c724c3eeafe /gcc/fortran/error.cc
parent898e3e95a6acf542baf03be95ce5bf7b3ad04276 (diff)
downloadgcc-e7d5b9aa021f6fc32810670b18ffabe543262775.zip
gcc-e7d5b9aa021f6fc32810670b18ffabe543262775.tar.gz
gcc-e7d5b9aa021f6fc32810670b18ffabe543262775.tar.bz2
tree-optimization/116514 - handle pointer difference in bit-CCP
When evaluating the difference of two aligned pointers in CCP we fail to handle the EXACT_DIV_EXPR by the element size that occurs. The testcase then also exercises modulo to test alignment but modulo by a power-of-two isn't handled either. PR tree-optimization/116514 * tree-ssa-ccp.cc (bit_value_binop): Handle EXACT_DIV_EXPR like TRUNC_DIV_EXPR. Handle exact division of a signed value by a power-of-two like a shift. Handle unsigned division by a power-of-two like a shift. Handle unsigned TRUNC_MOD_EXPR by power-of-two, handle signed TRUNC_MOD_EXPR by power-of-two if the result is zero. * gcc.dg/tree-ssa/ssa-ccp-44.c: New testcase.
Diffstat (limited to 'gcc/fortran/error.cc')
0 files changed, 0 insertions, 0 deletions