It is currently in InputSectionBase. Only InputSections are used in ICF, so Repl should be move to InputSection to clear the class hierarchy or like this patch does to SectionBase for convenience.
The convenience of having it on the base class is that we can just access the replacement without having to first check if it is an InputSection. It is a bit less code and a bit faster as some of this code is very hot.
I got up to 1.77% improvement in clang-gdb-index and no regressions according to lnt.