[PATCH] D26053: [CodeGen] Break critical edge from RTC to original loop.

Eli Friedman via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 27 17:32:43 PDT 2016


efriedma created this revision.
efriedma added reviewers: grosser, Meinersbur.
efriedma added subscribers: llvm-commits, pollydev.
efriedma set the repository for this revision to rL LLVM.
Herald added subscribers: anna, sanjoy.

This makes polly generate a CFG which is closer to what we want in LLVM IR, with a loop preheader for the original loop.  This is just a cleanup, but it exposes some fragile assumptions.

I'm not completely happy with the changes related to expandCodeFor; RTCBB->getTerminator() is basically a random insertion point which happens to work due to the way we generate runtime checks.  I'm not sure what the right answer looks like, though.


Repository:
  rL LLVM

https://reviews.llvm.org/D26053

Files:
  include/polly/CodeGen/BlockGenerators.h
  include/polly/CodeGen/IslExprBuilder.h
  include/polly/CodeGen/IslNodeBuilder.h
  include/polly/Support/ScopHelper.h
  lib/CodeGen/BlockGenerators.cpp
  lib/CodeGen/CodeGeneration.cpp
  lib/CodeGen/IslExprBuilder.cpp
  lib/CodeGen/IslNodeBuilder.cpp
  lib/CodeGen/Utils.cpp
  lib/Support/ScopHelper.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D26053.76143.patch
Type: text/x-patch
Size: 13726 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161028/292ce178/attachment.bin>


More information about the llvm-commits mailing list