[PATCH] D67572: [SVFS] The Search Vector Function System.

Francesco Petrogalli via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 6 14:15:01 PST 2019


fpetrogalli added a comment.

After the last rework, I think this patch deserves a bit of a summary.

The patch as it is should be split in at least the following components, that needs to be done one by one in sequence:

1. Methods in the VFABI namespace to read and set the `vector-function-abi-variant` attribute. In the current patch, this is done with the methods `[get|set]VectorVariantNames`.
2. An early pass to be run early in the `opt` pass sequence, at least before the LoopVectorize pass and any of the analysis passes needed for vectorization, that populates the module with the attribute that describes the TLI mappings. This is currently _hacked_ in this patch by invoking `addMappingsFromTLI` in `LoopVectorizer.cpp`.
3. Once we have the TLI mappings in the IR, we can add the `SearchVFSystem` and use it's search mechanism to perform vectorization (an example of how this works is already in this patch)

Now, once we have this first item in places, we can extend the `getVectorizedFunction` interface to be more clever, and ask questions also areound properties of the vector function like "linear" and "uniform" parameters.

I would like to ask to the reviewers if this implementation sequence I propose makes sense. Please le t me know if you have any question.

Also, I have added a couple of people that I know have opinion on the vectorizers. I am sure there are more out there, but the list of contributors to all the places in LLVM that this patch touches is quite extended and it is difficult for me to make a choice.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D67572/new/

https://reviews.llvm.org/D67572





More information about the llvm-commits mailing list