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

Vladimir Kozlov kvn at openjdk.org
Tue Apr 11 16:20:36 UTC 2023


On Tue, 11 Apr 2023 07:36:58 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

> I think in many cases, the type does not underflow, and the `MaxL/MinL` can be removed completely.

I would disagree. In many cases `limit` is variable. At least I want you to check generated code for such case and add it to your test. Even if additional latency of several CMov (to which you convert Max/Min nodes) vs one node is negligible the bigger size of generated code may affect inlining.

> TLDR: @vnkozlov is it ok if I investingate & test `MaxL/MinL` and `ConvI2L / ConvL2I` folding in a follow-up RFE?

Depending on result of investigation of generated code.

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

PR Comment: https://git.openjdk.org/jdk/pull/13269#issuecomment-1503701465


More information about the hotspot-compiler-dev mailing list