Enrico: eygreen at andrew.cmu.edu
Jonny: jsr2 at andrew.cmu.edu
ProposalBelow we show the LLVM code of three different programs, compiled with -O0 and sent through a mem2reg pass, before and after sending it through the SLP transformation pass.
Note that these examples are not necessarily faster than their non-vectorized counterparts, due to the superfluous insertelement and extractelement instructions. These programs mostly serve as a demonstration of what instructions we can vectorize. In the future, we will focus more on improving performance.
Before:
After:
(The name is a bit of a misnomer. The code was changed slightly since creation.)
Before:
After:
Before:
After: