[PATCH] D36524: [Polly][PM] Improve invalidation in the Scop-Pipeline

Philip Pfaffe via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 9 08:07:26 PDT 2017


philip.pfaffe created this revision.
Herald added a reviewer: bollu.

During code generation for a Scop we modify the IR of a function.
While this shouldn't affect a Scop in the formal sense, the implementation
caches various information about the IR such as SCEV expressions for bounds or
parameters. This cached information needs to be updated or invalidated. To this
end, SPMUpdater allows passes to report when they've invalidated a Scop to the
PassManager, which will then flush and recompute all Scops. This in turn
invalidates all iterators, so references to Scops shouldn't be held.


https://reviews.llvm.org/D36524

Files:
  include/polly/ScopInfo.h
  include/polly/ScopPass.h
  lib/Analysis/ScopInfo.cpp
  lib/Analysis/ScopPass.cpp
  lib/CodeGen/CodeGeneration.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D36524.110396.patch
Type: text/x-patch
Size: 7068 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170809/bdfb87b7/attachment.bin>


More information about the llvm-commits mailing list