Hello.
It's going to be almost a year Richard advised me to utilize IPA ICF
infrastructure in tree-ssa-tail-merge, currently using value numbering which
is quite hard to maintain.
Following small patch set is kick-off and I am opened for advices. Meanwhile,
I'm going to send statistics about merged basic blocks before/after the patch
set.
Patch set can bootstrap on x86_64-linux-pc and survives regression tests.
Thanks,
Martin
mliska (3):
tree-ssa-tail-merge: add IPA ICF infrastructure.
Fully remove legacy tree-ssa-tail-merge value numbering
infrastructure.
Fix ubsan tests by disabling of an optimization.
gcc/dbgcnt.def | 1 +
gcc/ipa-icf-gimple.c | 272 ++++++++++++++++++++++++++++++++----
gcc/ipa-icf-gimple.h | 78 ++++++++++-
gcc/ipa-icf.c | 67 +--------
gcc/ipa-icf.h | 14 +-
gcc/testsuite/g++.dg/ubsan/vptr-1.C | 2 +-
gcc/testsuite/g++.dg/ubsan/vptr-2.C | 2 +-
gcc/testsuite/g++.dg/ubsan/vptr-3.C | 2 +-
gcc/tree-ssa-tail-merge.c | 212 ++++++----------------------
9 files changed, 377 insertions(+), 273 deletions(-)
--
2.4.5