[polly][PATCH 00/11] DiagnosticRemark support & Bugfixes

Andreas Simbuerger simbuerg at googlemail.com
Sun Jun 8 17:42:22 PDT 2014


This pile of patches introduces support for DiagnosticRemarks in
the ScopDetection. All bugfixes & small additions came during implementing
them.

Pass remarks will be emitted for the parent region of every valid scop.
The amount of remarks is determined by the error tracking level that is
used during the detection process. The best results can be obtained by
 -polly-detect-track-failures -polly-detect-keep-going
Usage info for the remarks can be found in the patch that introduces them.

The rest of the patchset fixes bugs when using the diagnostics:
  * The diagnostic info for aliasing was invalid as soon as the ScopDetection
    finished the region.
  * Keep-Going resulted in modelling hasErrors in ScopInfo due to
    the expansion of valid Scops.
  * Polly's LinkAllPasses.h used the polly namespace which results in
    a bad time when combining it with llvm's Transforms/Scalar.h headers.
  * A typo ;-).
  * Bug #19976 - Segfault when we try to print the first error of the log
    after not having logged any.

Andreas Simbuerger (11):
  Move getDebugLocation to ScopDetectionDiagnostic
  Support the new DiagnosticRemarks
  Record a pointer to the AliasSet
  Support for LLVM-RTTI
  Use own class for storing the RejectLogs
  Implement hasErrors() for a single RejectLog
  Fix keep-going mode in ScopDetection
  Do not use namespace polly inside a header.
  Fix typo
  Check for an empty error log.
  Add a print method for RejectLogs

 include/polly/LinkAllPasses.h            |  52 +++--
 include/polly/ScopDetection.h            |  19 +-
 include/polly/ScopDetectionDiagnostic.h  | 278 ++++++++++++++++++++----
 lib/Analysis/ScopDetection.cpp           | 121 +++++------
 lib/Analysis/ScopDetectionDiagnostic.cpp | 354 ++++++++++++++++++++++++++++++-
 lib/Support/RegisterPasses.cpp           |   3 +-
 6 files changed, 677 insertions(+), 150 deletions(-)

-- 
2.0.0




More information about the llvm-commits mailing list