RFR: 8345485: C2 MergeLoads: merge adjacent array/native memory loads into larger load [v4]

kuaiwei duke at openjdk.org
Thu Mar 20 08:27:09 UTC 2025


On Tue, 18 Mar 2025 08:46:01 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 1853:
> 
>> 1851:  *             +---> Or2 <----+          |
>> 1852:  *                    |                  |
>> 1853:  *                    +-----> Or3 <------+
> 
> The code above has masking, the graph not. Can you add an explanatory comment, please ;)

Comment added.

> src/hotspot/share/opto/memnode.cpp line 1855:
> 
>> 1853:  *                    +-----> Or3 <------+
>> 1854:  *
>> 1855:  * It will be transformed as a merged LoadI and replace the Or3 node
> 
> Suggestion:
> 
>  * It is transformed as a merged LoadI, which replaces the Or3 node.

Changed.

> src/hotspot/share/opto/memnode.cpp line 1976:
> 
>> 1974: // Go through ConvI2L which is unique output of the load
>> 1975: Node* MergePrimitiveLoads::by_pass_i2l(const LoadNode* l) {
>> 1976:   if ( l != nullptr && l->outcnt() == 1 && l->unique_out()->Opcode() == Op_ConvI2L) {
> 
> Suggestion:
> 
>   if (l != nullptr && l->outcnt() == 1 && l->unique_out()->Opcode() == Op_ConvI2L) {

Fixed

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

PR Review Comment: https://git.openjdk.org/jdk/pull/24023#discussion_r2005041066
PR Review Comment: https://git.openjdk.org/jdk/pull/24023#discussion_r2005041520
PR Review Comment: https://git.openjdk.org/jdk/pull/24023#discussion_r2005040029


More information about the hotspot-compiler-dev mailing list