RFR: 8369435: C2: transform (LShiftX (SubX con0 a), con1) into (SubX con0<<con1 (LShiftX a con1)) [v2]

Roland Westrelin roland at openjdk.org
Thu Oct 16 13:18:03 UTC 2025


On Thu, 16 Oct 2025 12:10:59 GMT, Quan Anh Mai <qamai at openjdk.org> wrote:

>> Roland Westrelin has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   review
>
> src/hotspot/share/opto/mulnode.cpp line 1096:
> 
>> 1094:     // Left input is a sub from a constant?
>> 1095:     const TypeInteger* t11 = phase->type(add1->in(1))->isa_integer(bt);
>> 1096:     if (t11 && t11->is_con()) {
> 
> `t11 != nullptr`

Done in new commit.

> src/hotspot/share/opto/mulnode.cpp line 1098:
> 
>> 1096:     if (t11 && t11->is_con()) {
>> 1097:       // Compute X << con0
>> 1098:       Node *lsh = phase->transform(LShiftNode::make(add1->in(2), in(2), bt));
> 
> `Node* lsh`

Done in new commit.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/27842#discussion_r2435868061
PR Review Comment: https://git.openjdk.org/jdk/pull/27842#discussion_r2435867489


More information about the hotspot-compiler-dev mailing list