RFR: 8325064: C2 SuperWord: refactor construct_bb

Emanuel Peter epeter at openjdk.org
Wed Jan 31 17:13:30 UTC 2024


Subtask of https://github.com/openjdk/jdk/pull/16620

The goal is to further disentangle different "components" in Superword.

In this refactoring, I disentangle the `bb`, `reduction` and `memory_slice` "components" which were all intertwined in `construct_bb`.

1. Move memory slice code -> `analyze_memory_slices`.
2. Remove reduction checking code -> simply use the `is_marked_reduction_loop` condition outside.
3. `_data_entry`: was used for non-CFG nodes in the loop that have no input node that is also inside the loop. But that actually never happens! I removed that array, and replaced the code with verification.

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

Commit messages:
 - small improvements
 - 8325064

Changes: https://git.openjdk.org/jdk/pull/17657/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=17657&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8325064
  Stats: 182 lines in 2 files changed: 70 ins; 84 del; 28 mod
  Patch: https://git.openjdk.org/jdk/pull/17657.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/17657/head:pull/17657

PR: https://git.openjdk.org/jdk/pull/17657


More information about the hotspot-compiler-dev mailing list