[LV] Stop saying "use -Rpass-analysis=loop-vectorize"
authorAdam Nemet <anemet@apple.com>
Fri, 11 Nov 2016 22:51:46 +0000 (22:51 +0000)
committerAdam Nemet <anemet@apple.com>
Fri, 11 Nov 2016 22:51:46 +0000 (22:51 +0000)
This is PR28376.

Unfortunately given the current structure of optimization diagnostics we
lack the capability to tell whether the user has
passed -Rpass-analysis=loop-vectorize since this is local to the
front-end (BackendConsumer::OptimizationRemarkHandler).

So rather than printing this even if the user has already
passed -Rpass-analysis, this patch just punts and stops recommending
this option.  I don't think that getting this right is worth the
complexity.

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

llvm-svn: 286662

llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
llvm/test/Transforms/LoopVectorize/X86/no_fpmath.ll
llvm/test/Transforms/LoopVectorize/X86/no_fpmath_with_hotness.ll
llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll
llvm/test/Transforms/LoopVectorize/control-flow.ll
llvm/test/Transforms/LoopVectorize/diag-with-hotness-info.ll
llvm/test/Transforms/LoopVectorize/no_switch.ll

index 2c43a5679e47f2416859224624305dfd58ebba1d..abbe416179c9ecda12fa927e6524d2f7bdc6f7c9 100644 (file)
@@ -1319,8 +1319,7 @@ public:
     else {
       OptimizationRemarkMissed R(LV_NAME, "MissedDetails",
                                  TheLoop->getStartLoc(), TheLoop->getHeader());
-      R << "loop not vectorized: use -Rpass-analysis=loop-vectorize for more "
-           "info";
+      R << "loop not vectorized";
       if (Force.Value == LoopVectorizeHints::FK_Enabled) {
         R << " (Force=" << NV("Force", true);
         if (Width.Value != 0)
index 055d81a390b0b11be86e52f8b7dca062a0463e2f..2efe928f0f464c4beed92110174435a0133dc7d7 100644 (file)
@@ -1,7 +1,7 @@
 ; RUN: opt < %s -loop-vectorize -mtriple=x86_64-unknown-linux -S -pass-remarks='loop-vectorize' -pass-remarks-missed='loop-vectorize' -pass-remarks-analysis='loop-vectorize' 2>&1 | FileCheck %s
 
 ; CHECK: remark: no_fpmath.c:6:11: loop not vectorized: cannot prove it is safe to reorder floating-point operations
-; CHECK: remark: no_fpmath.c:6:14: loop not vectorized:
+; CHECK: remark: no_fpmath.c:6:14: loop not vectorized
 ; CHECK: remark: no_fpmath.c:17:14: vectorized loop (vectorization width: 2, interleaved count: 2)
 
 target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
index f86ea525737088c60371b8d762afeb3ac8ad825f..86b40dc613bb34fe0c967f9848ce69568242b98c 100644 (file)
@@ -2,7 +2,7 @@
 ; RUN: opt < %s -passes=loop-vectorize -mtriple=x86_64-unknown-linux -S -pass-remarks=loop-vectorize -pass-remarks-missed=loop-vectorize -pass-remarks-analysis=loop-vectorize -pass-remarks-with-hotness 2>&1 | FileCheck %s
 
 ; CHECK: remark: no_fpmath.c:6:11: loop not vectorized: cannot prove it is safe to reorder floating-point operations (hotness: 300)
-; CHECK: remark: no_fpmath.c:6:14: loop not vectorized:
+; CHECK: remark: no_fpmath.c:6:14: loop not vectorized
 ; CHECK: remark: no_fpmath.c:17:14: vectorized loop (vectorization width: 2, interleaved count: 2) (hotness: 300)
 
 target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
index 419f2e02456bea78294bd2c914fe7c4d25245ce9..f28e6be235299beef80188162f77a8de63b53e1a 100644 (file)
 
 ; File, line, and column should match those specified in the metadata
 ; CHECK: remark: source.cpp:4:5: loop not vectorized: could not determine number of loop iterations
-; CHECK: remark: source.cpp:4:5: loop not vectorized: use -Rpass-analysis=loop-vectorize for more info
+; CHECK: remark: source.cpp:4:5: loop not vectorized
 ; CHECK: remark: source.cpp:13:5: loop not vectorized: vectorization and interleaving are explicitly disabled, or vectorize width and interleave count are both set to 1
 ; CHECK: remark: source.cpp:19:5: loop not vectorized: cannot identify array bounds
-; CHECK: remark: source.cpp:19:5: loop not vectorized: use -Rpass-analysis=loop-vectorize for more info
+; CHECK: remark: source.cpp:19:5: loop not vectorized
 ; CHECK: warning: source.cpp:19:5: loop not vectorized: failed explicitly specified loop vectorization
 
 ; CHECK: _Z4testPii
index 78ce29eff52753bf8b5ef0b5c09938351e6bfadb..991f330cb10fcb0efac4e85af35dcd6e4fd83a86 100644 (file)
@@ -11,7 +11,7 @@
 ; }
 
 ; CHECK: remark: source.cpp:5:9: loop not vectorized: loop control flow is not understood by vectorizer
-; CHECK: remark: source.cpp:5:9: loop not vectorized: use -Rpass-analysis=loop-vectorize for more info
+; CHECK: remark: source.cpp:5:9: loop not vectorized
 
 ; CHECK: _Z4testPii
 ; CHECK-NOT: x i32>
index 871dbad08098412c3ae78441675226f16f731301..04bd5df2465ed42bd68a230b7d0f801b8a90a751 100644 (file)
 ;  19    }
 ;  20  }
 
-; HOTNESS: remark: /tmp/s.c:2:3: loop not vectorized: use -Rpass-analysis=loop-vectorize for more info (hotness: 300)
-; NO_HOTNESS: remark: /tmp/s.c:2:3: loop not vectorized: use -Rpass-analysis=loop-vectorize for more info{{$}}
-; HOTNESS: remark: /tmp/s.c:9:3: loop not vectorized: use -Rpass-analysis=loop-vectorize for more info (hotness: 5000)
-; NO_HOTNESS: remark: /tmp/s.c:9:3: loop not vectorized: use -Rpass-analysis=loop-vectorize for more info{{$}}
-; BOTH: remark: /tmp/s.c:16:3: loop not vectorized: use -Rpass-analysis=loop-vectorize for more info{{$}}
+; HOTNESS: remark: /tmp/s.c:2:3: loop not vectorized (hotness: 300)
+; NO_HOTNESS: remark: /tmp/s.c:2:3: loop not vectorized{{$}}
+; HOTNESS: remark: /tmp/s.c:9:3: loop not vectorized (hotness: 5000)
+; NO_HOTNESS: remark: /tmp/s.c:9:3: loop not vectorized{{$}}
+; BOTH: remark: /tmp/s.c:16:3: loop not vectorized{{$}}
 
 ; ModuleID = '/tmp/s.c'
 source_filename = "/tmp/s.c"
index 181304a409ee456ba9c3d2ebea091ba3ad13a032..b0eb4300229d98d34e3887041964be0bf8470cee 100644 (file)
@@ -9,7 +9,7 @@
 ; NOANALYSIS: warning: source.cpp:4:5: loop not interleaved: failed explicitly specified loop interleaving
 
 ; MOREINFO: remark: source.cpp:4:5: loop not vectorized: loop contains a switch statement
-; MOREINFO: remark: source.cpp:4:5: loop not vectorized: use -Rpass-analysis=loop-vectorize for more info (Force=true, Vector Width=4)
+; MOREINFO: remark: source.cpp:4:5: loop not vectorized (Force=true, Vector Width=4)
 ; MOREINFO: warning: source.cpp:4:5: loop not vectorized: failed explicitly specified loop vectorization
 
 ; CHECK: _Z11test_switchPii