[llvm-dev] RV: A Unified Region Vectorizer for LLVM - now on github
Simon Moll via llvm-dev
llvm-dev at lists.llvm.org
Mon Nov 21 00:35:50 PST 2016
Hi LLVM developers,
The Region Vectorizer (RV) is now available on github
https://github.com/simoll/rv
RV is a general-purpose vectorization framework for LLVM. It provides a
unified interface to vectorize code regions, such as inner and outer
loops, up to whole functions. Being a vectorization framework, RV is not
another vectorization pass but rather enables users to vectorize IR
directly from their own code.
I had a poster [1] and a lightning talk on RV at this year's US LLVM
Developers' Meeting.
We are hoping to upstream (parts of) RV eventually. As a first step I
propose to optimize the if-conversion phase in LLVM's LoopVectorizer. RV
features a capable vectorization analysis that finds out which branches
in a vectorized region can stay despite the surrounding loop being
vectorized. Those uniform branches do not need to be folded giving an
immediate benefit over the complete if conversion LoopVectorizer is
doing right now.
We will submit patches that integrate a stripped-down version of RV into
the LoopVectorizer to make minimal if conversion work.
Get in touch with me if you are interested in RV. We want to learn about
new use cases and how RV could be improved. Finally, we welcome new
developers to the project to work on new features or improve the
existing codebase.
Regards,
Simon
[1] "RV: A Unified Region Vectorizer for LLVM", Moll, S. (LLVM US DevMtg
'16) (docs/poster_rv.pdf in the github repository)
--
Simon Moll
Researcher / PhD Student
Compiler Design Lab (Prof. Hack)
Saarland University, Computer Science
Building E1.3, Room 4.31
Tel. +49 (0)681 302-57521 : moll at cs.uni-saarland.de
Fax. +49 (0)681 302-3065 : http://compilers.cs.uni-saarland.de/people/moll
More information about the llvm-dev
mailing list