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)
commit652b0dabe64577f42fa8af8349687be7f529d183
tree26f069a6a420b1b516d2f2cfc668e312ab65eb4e
parentc0120a3000f32c7721e5bed9d5441724b8b44e01
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
llvm/include/llvm/IR/DiagnosticInfo.h
llvm/lib/IR/DiagnosticInfo.cpp
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
llvm/test/Transforms/LoopVectorize/runtime-limit.ll