llvm-6502/lib/IR
Quentin Colombet de262fecd2 Add warning capabilities in LLVM.
This reapplies r197438 and fixes the link-time circular dependency between
IR and Support. The fix consists in moving the diagnostic support into IR.

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@197508 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-17 17:47:22 +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
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 Add warning capabilities in LLVM. 2013-12-17 17:47:22 +00:00
ConstantFold.cpp
ConstantFold.h
Constants.cpp Add getBitCastOrAddrSpaceCast 2013-12-07 02:58:41 +00:00
ConstantsContext.h
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
DiagnosticInfo.cpp Add warning capabilities in LLVM. 2013-12-17 17:47:22 +00:00
DiagnosticPrinter.cpp Add warning capabilities in LLVM. 2013-12-17 17:47:22 +00:00
DIBuilder.cpp
Dominators.cpp
Function.cpp
GCOV.cpp llvm-cov: Added -u option for unconditional branch info. 2013-12-16 22:14:02 +00:00
Globals.cpp
GVMaterializer.cpp
InlineAsm.cpp
Instruction.cpp
Instructions.cpp Correct word hyphenations 2013-12-05 05:44:44 +00:00
IntrinsicInst.cpp
IRBuilder.cpp
LeakDetector.cpp
LeaksContext.h
LegacyPassManager.cpp Correct word hyphenations 2013-12-05 05:44:44 +00:00
LLVMBuild.txt
LLVMContext.cpp Add warning capabilities in LLVM. 2013-12-17 17:47:22 +00:00
LLVMContextImpl.cpp Add warning capabilities in LLVM. 2013-12-17 17:47:22 +00:00
LLVMContextImpl.h Add warning capabilities in LLVM. 2013-12-17 17:47:22 +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
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
Verifier.cpp Fix the segfault reported in PR 11990. 2013-12-07 00:13:34 +00:00