From 7f0fc37d0d510c1c2090c527910f260df8b594c5 Mon Sep 17 00:00:00 2001 From: Adam Nemet Date: Fri, 11 Nov 2016 22:51:46 +0000 Subject: [PATCH] [LV] Stop saying "use -Rpass-analysis=loop-vectorize" 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@286662 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Transforms/Vectorize/LoopVectorize.cpp | 3 +-- test/Transforms/LoopVectorize/X86/no_fpmath.ll | 2 +- test/Transforms/LoopVectorize/X86/no_fpmath_with_hotness.ll | 2 +- .../LoopVectorize/X86/vectorization-remarks-missed.ll | 4 ++-- test/Transforms/LoopVectorize/control-flow.ll | 2 +- test/Transforms/LoopVectorize/diag-with-hotness-info.ll | 10 +++++----- test/Transforms/LoopVectorize/no_switch.ll | 2 +- 7 files changed, 12 insertions(+), 13 deletions(-) diff --git a/lib/Transforms/Vectorize/LoopVectorize.cpp b/lib/Transforms/Vectorize/LoopVectorize.cpp index 2c43a5679e4..abbe416179c 100644 --- a/lib/Transforms/Vectorize/LoopVectorize.cpp +++ b/lib/Transforms/Vectorize/LoopVectorize.cpp @@ -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) diff --git a/test/Transforms/LoopVectorize/X86/no_fpmath.ll b/test/Transforms/LoopVectorize/X86/no_fpmath.ll index 055d81a390b..2efe928f0f4 100644 --- a/test/Transforms/LoopVectorize/X86/no_fpmath.ll +++ b/test/Transforms/LoopVectorize/X86/no_fpmath.ll @@ -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" diff --git a/test/Transforms/LoopVectorize/X86/no_fpmath_with_hotness.ll b/test/Transforms/LoopVectorize/X86/no_fpmath_with_hotness.ll index f86ea525737..86b40dc613b 100644 --- a/test/Transforms/LoopVectorize/X86/no_fpmath_with_hotness.ll +++ b/test/Transforms/LoopVectorize/X86/no_fpmath_with_hotness.ll @@ -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" diff --git a/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll b/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll index 419f2e02456..f28e6be2352 100644 --- a/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll +++ b/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll @@ -24,10 +24,10 @@ ; 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 diff --git a/test/Transforms/LoopVectorize/control-flow.ll b/test/Transforms/LoopVectorize/control-flow.ll index 78ce29eff52..991f330cb10 100644 --- a/test/Transforms/LoopVectorize/control-flow.ll +++ b/test/Transforms/LoopVectorize/control-flow.ll @@ -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> diff --git a/test/Transforms/LoopVectorize/diag-with-hotness-info.ll b/test/Transforms/LoopVectorize/diag-with-hotness-info.ll index 871dbad0809..04bd5df2465 100644 --- a/test/Transforms/LoopVectorize/diag-with-hotness-info.ll +++ b/test/Transforms/LoopVectorize/diag-with-hotness-info.ll @@ -35,11 +35,11 @@ ; 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" diff --git a/test/Transforms/LoopVectorize/no_switch.ll b/test/Transforms/LoopVectorize/no_switch.ll index 181304a409e..b0eb4300229 100644 --- a/test/Transforms/LoopVectorize/no_switch.ll +++ b/test/Transforms/LoopVectorize/no_switch.ll @@ -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 -- 2.11.0