RFR: 8265784: [C2] Hoisting of DecodeN leaves MachTemp inputs behind

Goetz Lindenmaier 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.

Hi Martin, 
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.
Best regards,


PR: https://git.openjdk.java.net/jdk/pull/3637

More information about the hotspot-compiler-dev mailing list