]> git.ipfire.org Git - thirdparty/gcc.git/commit
Fix SSA corruption due to widening_mul opt on conflict across an abnormal edge [PR111407]
authorQing Zhao <qing.zhao@oracle.com>
Thu, 29 Feb 2024 15:07:49 +0000 (15:07 +0000)
committerQing Zhao <qing.zhao@oracle.com>
Tue, 2 Apr 2024 13:34:18 +0000 (13:34 +0000)
commit2d9a9488e26233eb9497722fa9ccb88258f7402c
tree6d4d33bbfefd336c9d3b85944f15fbd7f0103d28
parent11f37868bb5812c4f0ac023909f5421595f68a43
Fix SSA corruption due to widening_mul opt on conflict across an abnormal edge [PR111407]

This is a bug in tree-ssa-math-opts.cc, when applying the widening mul
optimization, the compiler needs to check whether the operand is in a
ABNORMAL PHI, if YES, we should avoid the transformation.

PR tree-optimization/111407

gcc/ChangeLog:

* tree-ssa-math-opts.cc (convert_mult_to_widen): Avoid the transform
when one of the operands is subject to abnormal coalescing.

gcc/testsuite/ChangeLog:

* gcc.dg/pr111407.c: New test.

(cherry picked from commit 4aca1cfd6235090e48a53dab734437740671bbf3)
gcc/testsuite/gcc.dg/pr111407.c [new file with mode: 0644]
gcc/tree-ssa-math-opts.cc