llvm-project/polly/lib/Support
Michael Kruse 58e4e71fc8 [Polly] Introduce caching for the isErrorBlock function. NFC.
Compilation of the file insn-attrtab.c of the SPEC CPU 2017 502.gcc_r
benchmark takes excessive time (> 30min) with Polly enabled. Most time
is spent in the isErrorBlock function querying the DominatorTree.
The isErrorBlock is invoked redundantly over the course of ScopDetection
and ScopBuilder. This patch introduces a caching mechanism for its
result.

Instead of a free function, isErrorBlock is moved to ScopDetection where
its cache map resides. This also means that many functions directly or
indirectly calling isErrorBlock are not "const" anymore. The
DetectionContextMap was marked as "mutable", but IMHO it never should
have been since it stores the detection result.

502.gcc_r only takes excessive time with the new pass manager. The
reason seeams to be that it invalidates the ScopDetection analysis more
often than the legacy pass manager, for unknown reasons.
2021-08-18 14:05:50 -05:00
..
DumpModulePass.cpp [Polly] Add support for -polly-dump-before(-file) with the NPM. 2021-05-17 20:58:37 -05:00
GICHelper.cpp [Polly][Isl] Move to the new-polly-generator branch version of isl-noexceptions.h. NFCI 2021-08-16 15:53:26 +02:00
ISLTools.cpp [Polly][Isl] Move to the new-polly-generator branch version of isl-noexceptions.h. NFCI 2021-08-16 15:53:26 +02:00
Mainpage.h
PollyPasses.def [Polly] Port DeadCodeElim to the NewPM. 2021-03-24 01:01:29 -05:00
RegisterPasses.cpp Take OptimizationLevel class out of Pass Builder 2021-07-29 21:57:23 -07:00
SCEVAffinator.cpp [Polly][Isl] Removing explicit operator bool() from isl C++ bindings. NFC. 2021-06-11 14:44:24 +02:00
SCEVValidator.cpp [Polly] Introduce caching for the isErrorBlock function. NFC. 2021-08-18 14:05:50 -05:00
ScopHelper.cpp [Polly] Introduce caching for the isErrorBlock function. NFC. 2021-08-18 14:05:50 -05:00
ScopLocation.cpp Fix polly build after StringRef change. 2020-01-28 19:44:20 -08:00
VirtualInstruction.cpp Apply include-what-you-use #include removal suggestions. NFC. 2019-03-28 20:19:49 +00:00