RFR: 8265132 : C2 compilation fails with assert "missing precedence edge" [v4]
Jamsheed Mohammed C M
jcm at openjdk.java.net
Fri Jun 18 01:20:31 UTC 2021
On Thu, 17 Jun 2021 19:06:07 GMT, Dean Long <dlong at openjdk.org> wrote:
>> it is refactoring. both issue has same property in terms of the load being used only in null block most probably by uncommon trap. gcm late scheduling schedule it in null block, later implicit null check moves another store which is unrelated to the load in null block to null check block. we don't rerun insert_anti_dependence for null_block after these move as it is not required, so we never put an anti-dependence edge load to store here. verification phase cribs about this.
>>
>> as issues are same, now i check whether the load is in null block of the store.
>
> You seem to have replaced LCA == store_null_block with the equivalent of store_null_block->dominates(get_block_for_node(load)). Please explain.
LCA was schedule late location for the load after gcm schedule late and that is null block for the store.I tried improving the fix
saying if null block for the store dominates load block then ignore the case.
-------------
PR: https://git.openjdk.java.net/jdk/pull/4200
More information about the hotspot-compiler-dev
mailing list