Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SingleSource/Vectorizer] Add unit tests for conditional scalar assignment pattern #155

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

michaelmaitland
Copy link

@michaelmaitland michaelmaitland commented Aug 29, 2024

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:

-O3 -mllvm -enable-csa-vectorization -mcpu=sifive-x280

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.

…nment pattern.

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 patch applied (I will add a link once the CSA
patch is posted) using the following options:
```
-O3 -mllvm -enable-csa-vectorization -mcpu=sifive-x280
```
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant