In case this patch has gotten over-looked, the three patches in the set plus the explanation are the rewrite of the PCREL_OPT patches. It has been rewritten to use the data flow machinery as well as validate_change and apply_change_group from the last patch.
The PCREL_OPT patches can go anywhere after register allocation. I have moved it to before sched2 because it seemed to generate more PCREL_OPTs than either immediately after register allocation or after sched2. The first patch does PCREL_OPT loads. The second patch does PCREL_OPT stores. The third patch adds the new tests. I have bootstraped compilers with these patches and run the test suite with no regressions. I have also built Spec 2017 for power10 with compilers built with these patches. Can I check these patches into the master branch? I do not anticipate needing to back port these changes to GCC 10, since this adds new functionality. https://gcc.gnu.org/pipermail/gcc-patches/2020-September/553312.html https://gcc.gnu.org/pipermail/gcc-patches/2020-September/553313.html https://gcc.gnu.org/pipermail/gcc-patches/2020-September/553314.html https://gcc.gnu.org/pipermail/gcc-patches/2020-September/553315.html -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meiss...@linux.ibm.com, phone: +1 (978) 899-4797