[PATCH] D37219: [Polly][ZoneAlgo] More fine-grained bail-out.

Michael Kruse via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 28 09:36:08 PDT 2017


Meinersbur created this revision.
Herald added a subscriber: mehdi_amini.
Herald added a reviewer: bollu.

ZoneAlgo used to bail out for the complete SCoP if it encountered something violating its assumption. This meant the neither OpTree can forward any load nor DeLICM do anything in such cases, even if their transformations are unrelated to the violations.

This patch adds a list of compatible elements (currently with the granularity of entire arrays) that can be used for analysis. OpTree and DeLICM can then check whether their transformations only concern compatible elements, and skip non-compatible ones.

This will be useful for e.g. Polybench's benchmarks covariance, correlation, bicg, doitgen, durbin, gramschmidt, adi that have assumption violation, but which are not necessarily relevant for all transformations.


https://reviews.llvm.org/D37219

Files:
  include/polly/Support/ISLTools.h
  include/polly/ZoneAlgo.h
  lib/Support/ISLTools.cpp
  lib/Transform/DeLICM.cpp
  lib/Transform/ForwardOpTree.cpp
  lib/Transform/ZoneAlgo.cpp
  test/DeLICM/reduction_unrelatedunusual.ll
  test/ForwardOpTree/forward_load_unrelatedunusual.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D37219.112909.patch
Type: text/x-patch
Size: 18220 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170828/3e734a79/attachment.bin>


More information about the llvm-commits mailing list