RFR: 8317572: C2 SuperWord: refactor/improve TraceSuperWord, replace VectorizeDebugOption with TraceAutoVectorization [v5]
Emanuel Peter
epeter at openjdk.org
Fri Jan 26 16:19:56 UTC 2024
> Subtask of https://github.com/openjdk/jdk/pull/16620
>
> I got approval to remove VectorizeDebugOption: [JDK-8320668](https://bugs.openjdk.org/browse/JDK-8320668)
>
> I want a more general flag for AutoVectorization, that can trace different components of AutoVectorization.
> It should be a CompileCommand, so that it can select which methods it traces for.
>
> TraceSuperWord should still look similar, and select a subset of the TraceAutoVectorization components (those for SuperWord), but still apply to all classes/methods.
>
> With more refactoring later in [JDK-8315361](https://bugs.openjdk.org/browse/JDK-8315361), this flag should become more usable and interpretable. Especially, the idea is that different components of the `VLoop / VLoopAnalyzer` can have tracing enabled / disabled.
>
> **How to use the flag:**
> Get "help", i.e. see all available tags:
> `./java -Xcomp -XX:CompileCommand=TraceAutoVectorization,*::*,help --version`
>
> See "rejections" (i.e. failures where we don't vectorize) and successes (using TraceNewVectors):
> `./java -Xcomp -XX:CompileCommand=TraceAutoVectorization,*::*,SW_REJECTIONS -XX:+TraceNewVectors --version`
> The results are currently underwhealming. I will have to track many more failures, and I will do that with the bigger refactoring, when I move around the code and require error code returning everywhere, and then I can use that error code for printing.
Emanuel Peter has updated the pull request incrementally with one additional commit since the last revision:
fix a test
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/17586/files
- new: https://git.openjdk.org/jdk/pull/17586/files/fc59b6bb..c9ac4344
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=17586&range=04
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=17586&range=03-04
Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod
Patch: https://git.openjdk.org/jdk/pull/17586.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/17586/head:pull/17586
PR: https://git.openjdk.org/jdk/pull/17586
More information about the hotspot-compiler-dev
mailing list