RFR: 8325589: C2 SuperWord refactoring: create VLoopAnalyzer with Submodules
Emanuel Peter
epeter at openjdk.org
Sat Feb 10 22:37:23 UTC 2024
Subtask of https://github.com/openjdk/jdk/pull/16620
SuperWord is a nasty large class, and it is difficult to know what impacts what.
Plus, in the future, we may want to reuse some components of SuperWord in other Vectorizers.
Hence, I pull some parts out of SuperWord, and put it in a new class `VLoopAnalyzer`.
This has 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.
-------------
Commit messages:
- remove some comments
- VLoopTypes
- VLoopBody
- VLoopMemorySlices
- VLoopReductions
- 8325589
Changes: https://git.openjdk.org/jdk/pull/17800/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=17800&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8325589
Stats: 818 lines in 7 files changed: 439 ins; 204 del; 175 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