diff options
author | Richard Biener <rguenther@suse.de> | 2023-10-20 14:08:46 +0200 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2023-10-20 15:15:25 +0200 |
commit | 44e7e4498c3cdc27e087ab80aa76dac41819702f (patch) | |
tree | 2be66de4baf22f4ae5d32daf147f5ee9a1e771e4 /gcc/rust/backend | |
parent | d70575f542f575133eb4c49eda89ab61eedf83b8 (diff) | |
download | gcc-44e7e4498c3cdc27e087ab80aa76dac41819702f.zip gcc-44e7e4498c3cdc27e087ab80aa76dac41819702f.tar.gz gcc-44e7e4498c3cdc27e087ab80aa76dac41819702f.tar.bz2 |
tree-optimization/110243 - IVOPTs introducing undefined overflow
The following addresses IVOPTs rewriting expressions in its
strip_offset without caring for definedness of overflow. Rather
than the earlier attempt of just using the proper
split_constant_offset from data-ref analysis the following adjusts
IVOPTs helper trying to minimize changes from this fix, possibly
easing backports.
PR tree-optimization/110243
PR tree-optimization/111336
* tree-ssa-loop-ivopts.cc (strip_offset_1): Rewrite
operations with undefined behavior on overflow to
unsigned arithmetic.
* gcc.dg/torture/pr110243.c: New testcase.
* gcc.dg/torture/pr111336.c: Likewise.
Diffstat (limited to 'gcc/rust/backend')
0 files changed, 0 insertions, 0 deletions