[llvm-dev] [GSoC 2016] Implementation of the packing transformation

Roman Gareev via llvm-dev llvm-dev at lists.llvm.org
Mon Jun 27 03:48:18 PDT 2016


Dear community,

the next step of the "Improvement of vectorization process in Polly"
project is to implement the packing transformation described in
http://www.cs.utexas.edu/users/flame/pubs/TOMS-BLIS-Analytical.pdf.

I had a discussion with Tobias and we decided that a packing
transformation is in many ways a data-layout transformation that will
require to introduce a new array, copy data to the array and change
memory access locations of the compute kernel to reference the array.

I think that it could be done in IslNodeBuilder::createMark during
generation of code for mark nodes, which are created in the
ScheduleTreeOptimizer and contain all necessary information about
memory access functions that should be changed.

Michael, if I'm not mistaken, an ability to change memory access
functions to change the arrays a memory access is referencing can be
useful for your DE-LICM work. I would be very grateful, if you or
someone else could share ideas and patches which can be used as a
starting point.

-- 

Thanks,
Roman Gareev


More information about the llvm-dev mailing list