RFR: 8325589: C2 SuperWord refactoring: create VLoopAnalyzer with Submodules [v5]
Emanuel Peter
epeter at openjdk.org
Thu Feb 15 18:30:12 UTC 2024
> Subtask of https://github.com/openjdk/jdk/pull/16620
>
> **Goals**:
> - **modularity**: SuperWord is a nasty large class, and it is difficult to know what impacts what.
> - **code reuse**: In the future, we may want to reuse some components of SuperWord in other Vectorizers. For example the post-loop-vectorizer ([JDK-8308994](https://bugs.openjdk.org/browse/JDK-8308994)).
>
> Hence, I pull some parts out of SuperWord, and put them in a new class `VLoopAnalyzer`, with submodules:
>
> VLoopAnalyzer
> VLoopReductions
> VLoopMemorySlices
> VLoopBody
> VLoopTypes
>
>
> **Future Work**
> In my draft for https://github.com/openjdk/jdk/pull/16620, I also created a submodule `VLoopDependenceGraph`.
> But that is also a lot of code change.
> I decided to do this in a separate RFE, to keep this patch here reasonably short.
>
> I also left many functions in `superword.cpp`, even though their classes are in `vectorization.hpp`.
> I think it is easier to review them in their old palces, with minor changes, for now.
> In a future RFE, I can then cleanly copy them, without any changes to them.
Emanuel Peter has updated the pull request incrementally with one additional commit since the last revision:
remove accessors, use fields instead
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/17800/files
- new: https://git.openjdk.org/jdk/pull/17800/files/ba07a799..1d771fdd
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=17800&range=04
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=17800&range=03-04
Stats: 124 lines in 4 files changed: 2 ins; 13 del; 109 mod
Patch: https://git.openjdk.org/jdk/pull/17800.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/17800/head:pull/17800
PR: https://git.openjdk.org/jdk/pull/17800
More information about the hotspot-compiler-dev
mailing list