RFR: JDK-8308994: C2: Re-implement experimental post loop vectorization
Emanuel Peter
epeter at openjdk.org
Fri Jun 23 11:18:08 UTC 2023
On Wed, 21 Jun 2023 08:24:19 GMT, Pengfei Li <pli at openjdk.org> wrote:
> ## TL;DR
>
> This patch completely re-implements C2's experimental post loop vectorization for better stability, maintainability and performance. Compared with the original implementation, this new implementation adds a standalone loop phase in C2's ideal loop phases and can vectorize more post loops. The original implementation and all code related to multi-versioned post loops are deleted in this patch. More details about this patch can be found in the document replied in this pull request.
src/hotspot/share/opto/superword.hpp line 666:
> 664: IdealLoopTree* lpt() const { return _lpt; }
> 665: PhiNode* iv() const {
> 666: return _slp ? _slp->iv() : _lpt->_head->as_CountedLoop()->phi()->as_Phi();
I'd suggest either cache it directly from `_lpt->_head->as_CountedLoop()->phi()->as_Phi()`, or just query it directly. Reduce dependence on `_slp`.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/14581#discussion_r1239693729
More information about the hotspot-dev
mailing list