summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis
diff options
context:
space:
mode:
authorAdam Nemet <anemet@apple.com>2016-05-09 23:03:44 +0000
committerAdam Nemet <anemet@apple.com>2016-05-09 23:03:44 +0000
commit0a77dfad953afa7124d55e69cbe51d8bc4ab6529 (patch)
tree45e27d8f212614d2a533851733d1ec2c8e7bb1c8 /llvm/lib/Analysis
parentc6bbd80d59fc8eae1d74dd7feb5dd05d5de13ec0 (diff)
downloadbcm5719-llvm-0a77dfad953afa7124d55e69cbe51d8bc4ab6529.tar.gz
bcm5719-llvm-0a77dfad953afa7124d55e69cbe51d8bc4ab6529.zip
[LV] Hint at the new loop distribution pragma in optimization remark
When we encounter unsafe memory dependencies, loop distribution could help. Even though, the diagnostics is in LAA, it's only currently emitted in the vectorizer. llvm-svn: 268987
Diffstat (limited to 'llvm/lib/Analysis')
-rw-r--r--llvm/lib/Analysis/LoopAccessAnalysis.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/llvm/lib/Analysis/LoopAccessAnalysis.cpp b/llvm/lib/Analysis/LoopAccessAnalysis.cpp
index 6b1c5f22aa3..cb7ee1cb246 100644
--- a/llvm/lib/Analysis/LoopAccessAnalysis.cpp
+++ b/llvm/lib/Analysis/LoopAccessAnalysis.cpp
@@ -1694,8 +1694,12 @@ void LoopAccessInfo::analyzeLoop(const ValueToValueMap &Strides) {
<< (PtrRtChecking.Need ? "" : " don't")
<< " need runtime memory checks.\n");
else {
- emitAnalysis(LoopAccessReport() <<
- "unsafe dependent memory operations in loop");
+ emitAnalysis(
+ LoopAccessReport()
+ << "unsafe dependent memory operations in loop. Use "
+ "#pragma loop distribute(enable) to allow loop distribution "
+ "to attempt to isolate the offending operations into a separate "
+ "loop");
DEBUG(dbgs() << "LAA: unsafe dependent memory operations in loop\n");
}
}
OpenPOWER on IntegriCloud