RFR: 8283699: Improve the peephole mechanism of hotspot [v4]

Dean Long dlong at openjdk.org
Fri Oct 7 20:10:45 UTC 2022


On Fri, 7 Oct 2022 15:09:05 GMT, Quan Anh Mai <qamai at openjdk.org> wrote:

>> How about including `peephole_<cpu>.hpp` only when "peepprocedure" is seen, and delete opto/peephole.hpp and empty `peephole_<cpu>.hpp` files?
>
> What do you think if I include `peephole_x86.hpp` in `x86_64.ad` in a source hpp block? This will result in the include appearing in `ad_x86.hpp`, which will be transitively included in `ad_x86_peephole.cpp`. Thanks a lot.

Yes, good idea.

>> How does it work when there is no peepprocedure?  I would expect that all the boiler-plate details are taken care of by peepreplace.
>
> The code produced by `peepreplace` is really limited, it cannot be applied in this case because both the `MachSpillCopy` and `MachProj` are not match rules. Also, I think a generated code is more powerful than a helper function, so achieving something general with a helper function would be hard. I think we can refactor it into a helper if there are similarities arise later instead. What do you think?

OK, agreed.

-------------

PR: https://git.openjdk.org/jdk/pull/8025


More information about the hotspot-compiler-dev mailing list