Extend late diagnostics to include late test for runtime pointer checks.
authorTyler Nowicki <tyler.nowicki@gmail.com>
Mon, 10 Aug 2015 23:01:55 +0000 (23:01 +0000)
committerTyler Nowicki <tyler.nowicki@gmail.com>
Mon, 10 Aug 2015 23:01:55 +0000 (23:01 +0000)
commit22876919c3443a5a2b6977fdc62531097937d2c4
treedf0ce2eda544839cb60dccacb4e23565fe2b868a
parent60b5a25d13eff60ee8ed43c72eeb4926dd51452c
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244523 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/IR/DiagnosticInfo.h
lib/IR/DiagnosticInfo.cpp
lib/Transforms/Vectorize/LoopVectorize.cpp
test/Transforms/LoopVectorize/runtime-limit.ll