llvm-project/polly/lib/Analysis
Philip Pfaffe f43e7c2e97 [Polly][PM] Improve invalidation in the Scop-Pipeline
Summary:
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.

Reviewers: grosser, Meinersbur, bollu

Reviewed By: grosser

Subscribers: llvm-commits, pollydev

Differential Revision: https://reviews.llvm.org/D36524

llvm-svn: 310551
2017-08-10 07:43:46 +00:00
..
DependenceInfo.cpp [ScopInfo] Move Scop::getPwAffOnly to isl++ [NFC] 2017-08-06 21:42:38 +00:00
PolyhedralInfo.cpp [ScopInfo] Translate Scop::getParamSpace to isl++ [NFC] 2017-08-06 20:11:59 +00:00
PruneUnprofitable.cpp [PruneUnprofitable] Add -polly-prune-unprofitable pass. 2017-03-17 13:09:52 +00:00
ScopBuilder.cpp [ScopInfo] Move InvalidDomain to isl++ [NFC] 2017-08-06 15:36:48 +00:00
ScopDetection.cpp [PM] Make the new-pm passes behave more like the legacy passes 2017-08-04 11:28:51 +00:00
ScopDetectionDiagnostic.cpp [Polly] [OptDiag] Updating Polly Diagnostics Remarks 2017-07-17 23:58:33 +00:00
ScopGraphPrinter.cpp [Polly][NewPM] Port ScopDetection to the new PassManager 2017-05-12 14:37:29 +00:00
ScopInfo.cpp [Polly][PM] Improve invalidation in the Scop-Pipeline 2017-08-10 07:43:46 +00:00
ScopPass.cpp [Polly][PM] Improve invalidation in the Scop-Pipeline 2017-08-10 07:43:46 +00:00