RFR: 8324775: C2 SuperWord: refactor visited sets
Vladimir Kozlov
kvn at openjdk.org
Fri Jan 26 19:42:35 UTC 2024
On Fri, 26 Jan 2024 16:53:46 GMT, Emanuel Peter <epeter at openjdk.org> wrote:
> Subtask of https://github.com/openjdk/jdk/pull/16620
>
> Currently, the visited set is a "global" set that is reused all through SuperWord:
> `_visited`, `_post_visited`, and also `_stk`.
>
> This makes other refactorings difficult. I am refactoring all related code to make the visited sets local, with use of ResourceMark.
>
> I am also refactoring the `independent` queries: from using recursive function calls to iterative. This is necessary, unless we want to pass the visited set around into the recursive calls (I think not!)
>
> At the same time, I wanted the code of `find_dependence` to become easier, and closer to `independent`, hence I re-defined it to `mutually_independent`, and had to slightly adapt also its usages.
Good refactoring. Thank you for replacing recursion in `independent_path()`.
src/hotspot/share/opto/superword.cpp line 1110:
> 1108: }
> 1109:
> 1110: // Are all nodes in nodes mutually independent?
// Are all nodes in nodes list
-------------
PR Review: https://git.openjdk.org/jdk/pull/17594#pullrequestreview-1846429616
PR Review Comment: https://git.openjdk.org/jdk/pull/17594#discussion_r1468074515
More information about the hotspot-compiler-dev
mailing list