RFR: 8303466: C2: failed: malformed control flow. Limit type made precise with MaxL/MinL [v3]

Emanuel Peter epeter at openjdk.org
Tue Apr 11 08:00:38 UTC 2023


On Mon, 10 Apr 2023 18:25:43 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:

>> Emanuel Peter has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   stride_l should be longcon
>
> src/hotspot/share/opto/loopTransform.cpp line 2296:
> 
>> 2294:       register_new_node(limit_l, get_ctrl(limit));
>> 2295:       Node* stride_l = new ConvI2LNode(stride);
>> 2296:       register_new_node(stride_l, get_ctrl(limit));
> 
> Can we make Long constant (`_igvn.longcon(stride)`) instead since `stride` is constant? Similar to `underflow_clamp_l`. My concern is you set control to constant which is not `Root`.

Good point, will replace it with constant. Yes, I had the ctrl wrong, it should be root.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/13269#discussion_r1162432158


More information about the hotspot-compiler-dev mailing list