[PATCH] D14715: [Polly] Loop versioning after code generation (WIP)

Johannes Doerfert via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 16 12:27:53 PST 2015


On Mon, Nov 16, 2015, 12:46 Michael Kruse <llvm at meinersbur.de> wrote:

Meinersbur created this revision.
Meinersbur added subscribers: pollydev, llvm-commits.
Meinersbur added a project: Polly.

Loop versioning modifies the scop, especially the PHI nodes in the entry
and exit block. Code generation must take this into account and test for
multiple cases where the PHIs could have landed which can also depend on
the code surrounding the scop. Not considering all cases has been a source
of many bugs.

With this patch we generate code before modifying the scop region into a
region disconnected from the original code. Only after the code has been
created, it is connected as an alternative of the original scop region.

Going further with this idea, we could generate all SCoPs in a function
before connecting them in order to not require to verify whether other
detected SCoPs are still valid.

==> i don't think we want to involve another function here. Not verifying
other scops is a different matter. With/after the function pass patch we
have to figure that out


http://reviews.llvm.org/D14715

Files:
  include/polly/CodeGen/BlockGenerators.h
  include/polly/CodeGen/IRBuilder.h
  include/polly/CodeGen/IslNodeBuilder.h
  include/polly/ScopInfo.h
  include/polly/Support/ScopHelper.h
  lib/Analysis/ScopInfo.cpp
  lib/CodeGen/BlockGenerators.cpp
  lib/CodeGen/CodeGeneration.cpp
  lib/Support/ScopHelper.cpp

--
You received this message because you are subscribed to the Google Groups
"Polly Development" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to polly-dev <polly-dev%2Bunsubscribe at googlegroups.com>
+unsubscribe at googlegroups.com <polly-dev%2Bunsubscribe at googlegroups.com>.
For more options, visit https <https://groups.google.com/d/optout>://
<https://groups.google.com/d/optout>groups.google.com
<https://groups.google.com/d/optout>/d/ <https://groups.google.com/d/optout>
optout <https://groups.google.com/d/optout>.


-- 

/* ------------------------------------------------ */
/*        [ sent from my phone ]       */
/* ------------------------------------------------ */
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151116/e3d045d3/attachment.html>


More information about the llvm-commits mailing list