[GSoC 2016] Improvement of vectorization process in Polly - Mid term report

Dear LLVM contributors,

Over the last weeks, I have been working on implementation of tilings
and interchangings of specific loops based on the algorithm used to
optimize matrix multiplication and described in "Analytical Modeling
is Enough for High Performance BLIS" [1]. It corresponds to the
original timeline.

We outlined the following steps:

1. Determination of statements that contain matrix multiplication (a
corresponding patch [2] is accepted)

2. Creation of a micro-kernel (a corresponding patch [3] is accepted)

3. Creation of a macro-kernel (a corresponding patch [4] is under review)

For further details, please see my blog post
http://romangareev.blogspot.ru/2016/06/gsoc-2016-report-i.html

During the vacation stated in the timeline, I will work on completion
of the step 3. The next steps are implementation of the packing
transformation and implementation of a determination of vectorization
factors and profitability of vectorization based on the LLVM
vectorization cost model.

Refs.:

[1] - http://www.cs.utexas.edu/users/flame/pubs/TOMS-BLIS-Analytical.pdf
[2] - http://reviews.llvm.org/D21140
[3] - http://reviews.llvm.org/D21491
[4] - http://reviews.llvm.org/D20575

Thank you Roman for the update and the nice writeup. I am looking
forward to see progress on the packing transformation and the cost
model.

Best,
Tobias