RFR: 8333393: PhaseCFG::insert_anti_dependences can fail to raise LCAs and to add necessary anti-dependence edges [v2]

Emanuel Peter epeter at openjdk.org
Thu Jan 9 12:58:57 UTC 2025


On Thu, 9 Jan 2025 12:44:30 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

>> src/hotspot/share/opto/gcm.cpp line 793:
>> 
>>> 791:       if (b == initial_mem_block && !initial_mem->is_Phi()) {
>>> 792:         // If we are in the initial memory block, and initial_mem is not itself
>>> 793:         // a Phi, no Phis in the block can be initial memory states.
>> 
>> I'm confused when I read this. As said above, we need a clear definition of `initial`.
>
> Can you explain why `no Phis in the block can be initial memory states.`? I'm probably missing something obvious.

Is it that Phi's could exist for aliasing memory, but it would be "above" `initial_mem`, and therefore irrelevant?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/22852#discussion_r1908738281


More information about the hotspot-compiler-dev mailing list