https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117123
Davide Italiano <dccitaliano at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |pheeck at gcc dot gnu.org,
| |rguenth at gcc dot gnu.org
--- Comment #2 from Davide Italiano <dccitaliano at gmail dot com> ---
This points to:
commit cd794c3961017703a4d2ca0e854ea23b3d4b6373
Author: Filip Kastl <[email protected]>
Date: Thu Dec 14 11:29:31 2023 +0100
A new copy propagation and PHI elimination pass
This patch adds the strongly-connected copy propagation (SCCOPY) pass.
It is a lightweight GIMPLE copy propagation pass that also removes some
redundant PHI statements. It handles degenerate PHIs, e.g.:
_5 = PHI <_1>;
_6 = PHI <_6, _6, _1, _1>;
_7 = PHI <16, _7>;
// Replaces occurences of _5 and _6 by _1 and _7 by 16
It also handles more complicated situations, e.g.:
_8 = PHI <_9, _10>;
_9 = PHI <_8, _10>;
_10 = PHI <_8, _9, _1>;
// Replaces occurences of _8, _9 and _10 by _1
gcc/ChangeLog:
* Makefile.in: Added sccopy pass.
* passes.def: Added sccopy pass before LTO streaming and before
RTL expansion.
* tree-pass.h (make_pass_sccopy): Added sccopy pass.
* gimple-ssa-sccopy.cc: New file.
gcc/testsuite/ChangeLog:
* gcc.dg/sccopy-1.c: New test.
Signed-off-by: Filip Kastl <[email protected]>
gcc/Makefile.in | 1 +
gcc/gimple-ssa-sccopy.cc | 680 ++++++++++++++++++++++++++++++++++++++++
gcc/passes.def | 2 +
gcc/testsuite/gcc.dg/sccopy-1.c | 78 +++++
gcc/tree-pass.h | 1 +
5 files changed, 762 insertions(+)
create mode 100644 gcc/gimple-ssa-sccopy.cc
create mode 100644 gcc/testsuite/gcc.dg/sccopy-1.c
bisect found first bad commit