Add support for missed and analysis optimization remarks.
authorDiego Novillo <dnovillo@google.com>
Thu, 22 May 2014 14:19:46 +0000 (14:19 +0000)
committerDiego Novillo <dnovillo@google.com>
Thu, 22 May 2014 14:19:46 +0000 (14:19 +0000)
commitd16404a0e79a176b7698d9c7bc1ec146ae2f2f1b
tree0625bc75c6159aa7dc9a60c9fec3c0e609618b38
parentde70176f5ff5465cb32828ffcd70797c6ccb1f81
Add support for missed and analysis optimization remarks.

Summary:
This adds two new diagnostics: -pass-remarks-missed and
-pass-remarks-analysis. They take the same values as -pass-remarks but
are intended to be triggered in different contexts.

-pass-remarks-missed is used by LLVMContext::emitOptimizationRemarkMissed,
which passes call when they tried to apply a transformation but
couldn't.

-pass-remarks-analysis is used by LLVMContext::emitOptimizationRemarkAnalysis,
which passes call when they want to inform the user about analysis
results.

The patch also:

1- Adds support in the inliner for the two new remarks and a
   test case.

2- Moves emitOptimizationRemark* functions to the llvm namespace.

3- Adds an LLVMContext argument instead of making them member functions
   of LLVMContext.

Reviewers: qcolombet

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D3682

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209442 91177308-0d34-0410-b5e6-96231b3b80d8
12 files changed:
include/llvm/IR/DiagnosticInfo.h
include/llvm/IR/LLVMContext.h
lib/IR/DiagnosticInfo.cpp
lib/IR/LLVMContext.cpp
lib/IR/LLVMContextImpl.cpp
lib/IR/LLVMContextImpl.h
lib/Transforms/IPO/Inliner.cpp
lib/Transforms/Scalar/TailRecursionElimination.cpp
lib/Transforms/Utils/LoopUnroll.cpp
lib/Transforms/Utils/SimplifyLibCalls.cpp
lib/Transforms/Vectorize/LoopVectorize.cpp
test/Transforms/Inline/optimization-remarks.ll [new file with mode: 0644]