RFR: 8341831: PhaseCFG::insert_anti_dependences asserts with "no loads" [v3]

Dean Long dlong at openjdk.org
Fri Oct 11 19:12:13 UTC 2024


On Thu, 10 Oct 2024 17:26:25 GMT, Igor Veresov <iveresov at openjdk.org> wrote:

>> `CacheWB` nodes are peculiar in a sense that they both are anti-dependent and produce memory. I think it's reasonable to relax the assert in `insert_anti_dependences()` to work around their properties.
>
> Igor Veresov has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Add comment

src/hotspot/share/opto/gcm.cpp line 773:

> 771:     if (use_mem_state->is_Mach()) {
> 772:       int ideal_op = use_mem_state->as_Mach()->ideal_Opcode();
> 773:       is_cache_wb = (ideal_op == Op_CacheWB || ideal_op == Op_CacheWBPostSync || ideal_op == Op_CacheWBPreSync);

The match rules for CacheWBPostSync and CacheWBPreSync don't have memory operands.  Is needs_anti_dependence_check() really returning true for them?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/21455#discussion_r1797333904


More information about the hotspot-compiler-dev mailing list