[PATCH] D62997: [LV] Share the LV illegality reporting with LoopVectorize. NFC.

Pavel Samolysov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 18 08:07:39 PDT 2019


psamolysov added a comment.

@rengolin  I think the pass name is not the problem. Before the method was used and the method just asks "Always Print":

  const char *LoopVectorizeHints::vectorizeAnalysisPassName() const {
    if (getWidth() == 1)
      return LV_NAME;
    if (getForce() == LoopVectorizeHints::FK_Disabled)
      return LV_NAME;
    if (getForce() == LoopVectorizeHints::FK_Undefined && getWidth() == 0)
      return LV_NAME;
    return OptimizationRemarkAnalysis::AlwaysPrint;
  }

For example,

  ; CHECK: remark: source.cpp:5:9: loop not vectorized: loop control flow is not understood by vectorizer

works on the master branch  even without -pass-remarks-missed/-pass-remarks-analysis options.  Writing into the `OptimizationRemarkMissed` (for example, `loop not vectorized (Force=true, Vector Width=4)` requires -pass-remarks-missed even on the master branch. New behavior: reasons reported only when the -pass-remarks-analysis parameter is used.

The code was introduced by Tyler Nowicki in 2015:

commit e0f400feaa6b0f830cbbc288d0858c506046357b <https://reviews.llvm.org/rGe0f400feaa6b0f830cbbc288d0858c506046357b>
Author: Tyler Nowicki <tyler.nowicki at gmail.com>
Date:   Thu Aug 27 01:02:04 2015 +0000

  Improved printing of analysis diagnostics in the loop vectorizer.
  
  This patch ensures that every analysis diagnostic produced by the vectorizer
  will be printed if the loop has a vectorization hint on it. The condition has
  also been improved to prevent printing when a disabling hint is specified.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62997/new/

https://reviews.llvm.org/D62997





More information about the llvm-commits mailing list