[PATCH] Use schedule trees to perform post-scheduling transformations

Tobias Grosser tobias at grosser.es
Thu Mar 19 02:00:54 PDT 2015


Hi sebpop, simbuerg, jdoerfert, zinob,

Replacing the old band_tree based code with code that is based on the new
schedule tree [1] interface makes applying complex schedule transformations a lot
more straightforward. We now do not need to reason about the meaning of flat
schedules, but can use a more straightforward tree structure. We do not yet
exploit this a lot in the current code, but hopefully we will be able to do so
soon.

This change also allows us to drop some code, as isl now provides some higher
level interfaces to apply loop transformations such as tiling.

This change causes some small test case changes as isl uses a slightly different
way to perform loop tiling, but no significant functional changes are intended.

[1] http://impact.gforge.inria.fr/impact2014/papers/impact2014-verdoolaege.pdf

http://reviews.llvm.org/D8434

Files:
  lib/Transform/ScheduleOptimizer.cpp
  test/ScheduleOptimizer/line-tiling-2.ll
  test/ScheduleOptimizer/line-tiling.ll
  test/ScheduleOptimizer/one-dimensional-band.ll
  test/ScheduleOptimizer/prevectorization.ll
  test/ScheduleOptimizer/rectangular-tiling.ll

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D8434.22244.patch
Type: text/x-patch
Size: 20751 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150319/f693deab/attachment.bin>


More information about the llvm-commits mailing list