RFR: 8265784: [C2] Hoisting of DecodeN leaves MachTemp inputs behind
goetz at openjdk.java.net
Fri Apr 30 09:50:21 UTC 2021
On Thu, 22 Apr 2021 18:58:28 GMT, Martin Doerr <mdoerr at openjdk.org> wrote:
> PPC64 and s390 have DecodeN implementations which use a MachTemp input. When LCM hoists the DecodeN, the MachTemp nodes reside in the old block, but should get hoisted together with the DecodeN node.
> Same is true for load Base input which exists on s390 for example. Unfortunately, that's just a platform specific MachNode which is not nicely recognizable in LCM.
I think the loop must go before the block->add_inst(val); .
Else you get a cycle within the block.
The MachTemp must be before the node that uses them in the list.
More information about the hotspot-compiler-dev