https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112444
Sam James <sjames at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rguenth at gcc dot gnu.org Summary|[14 regression] ICE when |[14 regression] ICE when |buliding libqmi with -O3 |buliding libqmi with -O3 |-ftrivial-auto-var-init=zer |-ftrivial-auto-var-init=zer |o (internal compiler error: |o (internal compiler error: |tree check: expected class |tree check: expected class |‘type’, have ‘exceptional’ |‘type’, have ‘exceptional’ |(error_mark) in |(error_mark) in |useless_type_conversion_p, |useless_type_conversion_p, |at gimple-expr.cc:85) |at gimple-expr.cc:85) since | |r14-4405-gb583a2940af90d --- Comment #6 from Sam James <sjames at gcc dot gnu.org> --- b583a2940af90d03f535648fef111cb158933f7d is the first bad commit commit b583a2940af90d03f535648fef111cb158933f7d Author: Richard Biener <rguent...@suse.de> Date: Wed Oct 4 15:25:33 2023 +0200 Avoid left around copies when value-numbering BBs The following makes sure to treat values whose definition we didn't visit as available since those by definition must dominate the entry of the region. That avoids unpropagated copies after if-conversion and resulting SLP discovery fails (which doesn't handle plain copies). * tree-ssa-sccvn.cc (rpo_elim::eliminate_avail): Not visited value numbers are available itself. gcc/tree-ssa-sccvn.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) bisect found first bad commit i.e. r14-4405-gb583a2940af90d