aboutsummaryrefslogtreecommitdiff
path: root/libcpp
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2024-03-12 14:00:05 +0100
committerRichard Biener <rguenther@suse.de>2024-03-12 15:16:05 +0100
commit73dac51b32575f980289c073969c6d825963d076 (patch)
tree8f8c177e6ec6ecad21c83e601c75a9836d4673f9 /libcpp
parent4aa87b856067d4911de8fb66b3a27659dc75ca6d (diff)
downloadgcc-73dac51b32575f980289c073969c6d825963d076.zip
gcc-73dac51b32575f980289c073969c6d825963d076.tar.gz
gcc-73dac51b32575f980289c073969c6d825963d076.tar.bz2
tree-optimization/114121 - chrec_fold_{plus,multiply} and recursion
The following addresses endless recursion in the chrec_fold_{plus,multiply} functions when handling sign-conversions. We only need to apply tricks when we'd fail (there's a chrec in the converted operand) and we need to make sure to not turn the other operand into something worse (for the chrec-vs-chrec case). PR tree-optimization/114121 * tree-chrec.cc (chrec_fold_plus_1): Guard recursion with converted operand properly. (chrec_fold_multiply): Likewise. Handle missed recursion. * gcc.dg/torture/pr114312.c: New testcase.
Diffstat (limited to 'libcpp')
0 files changed, 0 insertions, 0 deletions