]> gcc.gnu.org Git - gcc.git/commit
tree-optimization/115599 - reassoc qsort comparator issue
authorRichard Biener <rguenther@suse.de>
Sun, 23 Jun 2024 12:37:53 +0000 (14:37 +0200)
committerRichard Biener <rguenther@suse.de>
Mon, 24 Jun 2024 07:18:02 +0000 (09:18 +0200)
commitae13af26060eb686418ea9c9d455cd665049402d
treec7366b7af35eebf636a1ad6b81c15f2343445db7
parent6274f10318d05311f31147c895f76a01aec37830
tree-optimization/115599 - reassoc qsort comparator issue

The compare_repeat_factors comparator fails qsort checking eventually
because it uses rf2->rank - rf1->rank to compare unsigned numbers
which causes issues for ranks that interpret negative as signed.

Fixed by re-writing the obvious way.  I've also fixed the count
comparison which suffers from truncation as count is 64bit signed
while the comparator result is 32bit int (that's a lot less likely
to hit in practice though).

The testcase from the PR is too large to include.

PR tree-optimization/115599
* tree-ssa-reassoc.cc (compare_repeat_factors): Use explicit
compares to avoid truncations.
gcc/tree-ssa-reassoc.cc
This page took 0.055546 seconds and 5 git commands to generate.