diff options
author | Andrew Pinski <quic_apinski@quicinc.com> | 2025-01-19 16:07:10 -0800 |
---|---|---|
committer | Andrew Pinski <quic_apinski@quicinc.com> | 2025-01-20 08:20:00 -0800 |
commit | 0fe35e9b93a286de78dd5b80d8d58e9ef0591f03 (patch) | |
tree | 036c7a7c3a1c905a1de4c70211b7edd680be3da0 /gcc/fortran/trans-array.cc | |
parent | b342614139c0a981b369176980663941b9c27f39 (diff) | |
download | gcc-0fe35e9b93a286de78dd5b80d8d58e9ef0591f03.zip gcc-0fe35e9b93a286de78dd5b80d8d58e9ef0591f03.tar.gz gcc-0fe35e9b93a286de78dd5b80d8d58e9ef0591f03.tar.bz2 |
inline: Purge the abnormal edges as needed in fold_marked_statements [PR118077]
While fixing PR target/117665, I had noticed that fold_marked_statements
would not purge the abnormal edges which could not be taken any more due
to folding a call (devirtualization or simplification of a [target] builtin).
Devirutalization could also cause a call that used to be able to have an
abornal edge become one not needing one too so this was needed for GCC 15.
Bootstrapped and tested on x86_64-linux-gnu
PR tree-optimization/118077
PR tree-optimization/117668
gcc/ChangeLog:
* tree-inline.cc (fold_marked_statements): Purge abnormal edges
as needed.
gcc/testsuite/ChangeLog:
* g++.dg/opt/devirt6.C: New test.
Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com>
Diffstat (limited to 'gcc/fortran/trans-array.cc')
0 files changed, 0 insertions, 0 deletions