RFR: 8345485: C2 MergeLoads: merge adjacent array/native memory loads into larger load [v4]
kuaiwei
duke at openjdk.org
Tue Mar 18 09:21:08 UTC 2025
On Tue, 18 Mar 2025 09:00:42 GMT, Emanuel Peter <epeter at openjdk.org> wrote:
>> kuaiwei has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Revert extract value and add more tests
>
> src/hotspot/share/opto/memnode.cpp line 2522:
>
>> 2520: MergePrimitiveLoads merge(phase, this);
>> 2521: Node* merged = merge.run();
>> 2522: if (merged != nullptr) { return merged; }
>
> I'm a little confused here... So imagine we have a `LoadB` here. How can we now return a `LoadI` instead, and replace all uses of the `LoadB` with the `LoadI`? Should we not be replacing the `OrI` instead?
I'm not clear about it. I think we need replace OrI node here, but return the origin LoadB?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/24023#discussion_r2000560894
More information about the hotspot-compiler-dev
mailing list