llvm/lib/IR
Quentin Colombet b6c4a84592 Add warning capabilities in LLVM.
The patch adds a new LLVMContext::diagnose that can be used to communicate to
the front-end, if any, that something of interest happened.
The diagnostics are supported by a new abstraction, the DiagnosticInfo class.
The base class contains the following information:
- The kind of the report: What this is about.
- The severity of the report: How bad this is.

This patch also adds 2 classes:
- DiagnosticInfoInlineAsm: For inline asm reporting. Basically, this diagnostic
will be used to switch to the new diagnostic API for LLVMContext::emitError.
- DiagnosticStackSize: For stack size reporting. Comes as a replacement of the
hard coded warning in PEI.

This patch also features dynamic diagnostic identifiers. In other words plugins
can use this infrastructure for their own diagnostics (for more details, see
getNextAvailablePluginDiagnosticKind).

This patch introduces a new DiagnosticHandlerTy and a new DiagnosticContext in
the LLVMContext that should be set by the front-end to be able to map these
diagnostics in its own system.

http://llvm-reviews.chandlerc.com/D2376
<rdar://problem/15515174>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197438 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-16 23:22:51 +00:00
..
AsmWriter.cpp Fix AsmWriter's handling of SPIR calling conventions. Patch by Boaz Ouriel. 2013-12-15 10:01:20 +00:00
AsmWriter.h Revert "Give internal classes hidden visibility." 2013-09-11 18:05:11 +00:00
AttributeImpl.h [weak vtables] Remove a bunch of weak vtables 2013-11-19 00:57:56 +00:00
Attributes.cpp [weak vtables] Remove a bunch of weak vtables 2013-11-19 00:57:56 +00:00
AutoUpgrade.cpp Debug Info: rename getDebugInfoVersionFromModule to getDebugMetadataVersionFromModule. 2013-12-03 00:12:14 +00:00
BasicBlock.cpp
CMakeLists.txt Introduce an AnalysisManager which is like a pass manager but with a lot 2013-11-13 01:12:08 +00:00
ConstantFold.cpp Add addrspacecast instruction. 2013-11-15 01:34:59 +00:00
ConstantFold.h
Constants.cpp Add getBitCastOrAddrSpaceCast 2013-12-07 02:58:41 +00:00
ConstantsContext.h Revert "Give internal classes hidden visibility." 2013-09-11 18:05:11 +00:00
Core.cpp Remove unused value. 2013-12-07 02:27:52 +00:00
DataLayout.cpp Pointer sizes are stored in Bytes. Fix variables names to say so. 2013-12-13 23:15:20 +00:00
DebugInfo.cpp Debug Info: rename getDebugInfoVersionFromModule to getDebugMetadataVersionFromModule. 2013-12-03 00:12:14 +00:00
DebugLoc.cpp
DIBuilder.cpp DebugInfo: Simplify a few more explicit constructions, underconstrained types, and make DIType(MDNode*) explicit like all the other DI* node ctors. 2013-11-18 23:33:32 +00:00
Dominators.cpp
Function.cpp Enable variable arguments support for intrinsics. 2013-10-31 17:18:11 +00:00
GCOV.cpp llvm-cov: Added -u option for unconditional branch info. 2013-12-16 22:14:02 +00:00
Globals.cpp Revert r193251 : Use address-taken to disambiguate global variable and indirect memops. 2013-10-27 03:08:44 +00:00
GVMaterializer.cpp
InlineAsm.cpp
Instruction.cpp Add addrspacecast instruction. 2013-11-15 01:34:59 +00:00
Instructions.cpp Correct word hyphenations 2013-12-05 05:44:44 +00:00
IntrinsicInst.cpp
IRBuilder.cpp
LeakDetector.cpp
LeaksContext.h Revert "Give internal classes hidden visibility." 2013-09-11 18:05:11 +00:00
LegacyPassManager.cpp Correct word hyphenations 2013-12-05 05:44:44 +00:00
LLVMBuild.txt
LLVMContext.cpp Add warning capabilities in LLVM. 2013-12-16 23:22:51 +00:00
LLVMContextImpl.cpp Add warning capabilities in LLVM. 2013-12-16 23:22:51 +00:00
LLVMContextImpl.h Add warning capabilities in LLVM. 2013-12-16 23:22:51 +00:00
Makefile
Metadata.cpp [weak vtables] Remove a bunch of weak vtables 2013-11-19 00:57:56 +00:00
Module.cpp Debug Info: drop debug info via upgrading path if version number does not match. 2013-12-02 21:29:56 +00:00
Pass.cpp
PassManager.cpp [PM] Factor the overwhelming majority of the interface boiler plate out 2013-11-26 11:24:37 +00:00
PassRegistry.cpp
PrintModulePass.cpp
SymbolTableListTraitsImpl.h
Type.cpp Fix the segfault reported in PR 11990. 2013-12-07 00:13:34 +00:00
TypeFinder.cpp TypeFinder: prefer iterative algorithm to keep stack usage low. 2013-10-16 04:10:06 +00:00
Use.cpp
User.cpp
Value.cpp Make it explicit that nulls are not allowed in names. 2013-11-19 21:12:39 +00:00
ValueSymbolTable.cpp
ValueTypes.cpp Add v4f16 to supported value types. 2013-10-03 03:29:21 +00:00
Verifier.cpp Fix the segfault reported in PR 11990. 2013-12-07 00:13:34 +00:00