summaryrefslogtreecommitdiffstats
path: root/llvm/lib/IR
diff options
context:
space:
mode:
authorTyler Nowicki <tyler.nowicki@gmail.com>2015-08-10 23:01:55 +0000
committerTyler Nowicki <tyler.nowicki@gmail.com>2015-08-10 23:01:55 +0000
commit652b0dabe64577f42fa8af8349687be7f529d183 (patch)
tree26f069a6a420b1b516d2f2cfc668e312ab65eb4e /llvm/lib/IR
parentc0120a3000f32c7721e5bed9d5441724b8b44e01 (diff)
downloadbcm5719-llvm-652b0dabe64577f42fa8af8349687be7f529d183.tar.gz
bcm5719-llvm-652b0dabe64577f42fa8af8349687be7f529d183.zip
Extend late diagnostics to include late test for runtime pointer checks.
This patch moves checking the threshold of runtime pointer checks to the vectorization requirements (late diagnostics) and emits a diagnostic that infroms the user the loop would be vectorized if not for exceeding the pointer-check threshold. Clang will also append the options that can be used to allow vectorization. llvm-svn: 244523
Diffstat (limited to 'llvm/lib/IR')
-rw-r--r--llvm/lib/IR/DiagnosticInfo.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/llvm/lib/IR/DiagnosticInfo.cpp b/llvm/lib/IR/DiagnosticInfo.cpp
index 07c6714e913..3acef9048cc 100644
--- a/llvm/lib/IR/DiagnosticInfo.cpp
+++ b/llvm/lib/IR/DiagnosticInfo.cpp
@@ -205,6 +205,15 @@ void llvm::emitOptimizationRemarkAnalysisFPCommute(LLVMContext &Ctx,
DLoc, Msg));
}
+void llvm::emitOptimizationRemarkAnalysisAliasing(LLVMContext &Ctx,
+ const char *PassName,
+ const Function &Fn,
+ const DebugLoc &DLoc,
+ const Twine &Msg) {
+ Ctx.diagnose(DiagnosticInfoOptimizationRemarkAnalysisAliasing(PassName, Fn,
+ DLoc, Msg));
+}
+
bool DiagnosticInfoOptimizationFailure::isEnabled() const {
// Only print warnings.
return getSeverity() == DS_Warning;
OpenPOWER on IntegriCloud