tree-optimization/111445 - simple_iv simplification fault
commit9692309ed6b625f0fb358c0e230404b5603f69a6
authorRichard Biener <rguenther@suse.de>
Fri, 20 Oct 2023 13:08:49 +0000 (20 15:08 +0200)
committerRichard Biener <rguenther@suse.de>
Fri, 20 Oct 2023 13:45:37 +0000 (20 15:45 +0200)
treee7a5414571f19cd919d1753c471d133d8d0a7aa5
parent44e7e4498c3cdc27e087ab80aa76dac41819702f
tree-optimization/111445 - simple_iv simplification fault

The following fixes a missed check in the simple_iv attempt
to simplify (signed T)((unsigned T) base + step) where it
allows a truncating inner conversion leading to wrong code.

PR tree-optimization/111445
* tree-scalar-evolution.cc (simple_iv_with_niters):
Add missing check for a sign-conversion.

* gcc.dg/torture/pr111445.c: New testcase.
gcc/testsuite/gcc.dg/torture/pr111445.c [new file with mode: 0644]
gcc/tree-scalar-evolution.cc