Enrico: eygreen at andrew.cmu.edu

Jonny: jsr2 at andrew.cmu.edu

Proposal

Milestone Report

Milestone Report

Below 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.

"simple.bc"

Before:

After:

"arrless.bc"

(The name is a bit of a misnomer. The code was changed slightly since creation.)

Before:

After:

"no-mem-ref.bc"

Before:

After:

Final Report

Final Report