RFR: 8326438: C2: assert(ld->in(1)->Opcode() == Op_LoadN) failed: Assumption invalid: input to DecodeN is not LoadN [v2]

Daniel Lundén dlunden at openjdk.org
Fri Mar 22 08:19:29 UTC 2024


On Fri, 22 Mar 2024 07:45:31 GMT, Roberto Castañeda Lozano <rcastanedalo at openjdk.org> wrote:

>> Daniel Lundén has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Elaborate in LoadN comment
>
> src/hotspot/share/opto/graphKit.cpp line 1566:
> 
>> 1564:     record_for_igvn(ld);
>> 1565:     if (ld->is_DecodeN()) {
>> 1566:       // Also record the actual load (LoadN) in case ld is DecodeN
> 
> This comment still reads as if we expect that `ld->in(1)` is necessarily a `LoadN`, which might mislead the reader. Could you extend it with a note that clarifies that in some corner cases `ld->in(1)` might be something else, e.g. a `Phi` like in this issue, but that is OK because it only means we might do unnecessary work during IGVN?

Good suggestion, updated now.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/18434#discussion_r1535198041


More information about the hotspot-compiler-dev mailing list