[SingleSource/Vectorizer] Add unit tests for conditional scalar assignment pattern #155
+410
−4
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Dedicated unit tests for loops which contain a conditional assignment inside the loop body.
An earlier version of this patch was posted as https://reviews.llvm.org/D144909. Some updates have been made to cover more test cases.
I tested this patch with the CSA vectorization patch applied (I will add a link once the CSA patch is posted) using the following options:
I also ran it with
-mllvm -force-tail-folding-style=data-with-evl
appended to the previous option set as well as-mllvm -force-tail-folding-style=none
.I also verified that vector code was generated for functions that we are currently able to vectorize using objdump. This patch contains some examples that we are not able to vectorize today but should be able to in the future.
An RFC that describes the class of problems being tested can be found here.
llvm/llvm-project#106560 is the patch that implements CSA vectorization.