llvm-project/llvm/lib/IR
Manman Ren b75e0c92f3 Debug Info Finder|Verifier: handle DbgLoc attached to instructions.
Also remove checking of llvm.dbg.sp since it is not used in generating dwarf.

Current state of Finder:
DebugInfoFinder tries to list all debug info MDNodes used in a module. To
list debug info MDNodes used by an instruction, DebugInfoFinder provides
processDeclare, processValue and processLocation to handle DbgDeclareInst,
DbgValueInst and DbgLoc attached to instructions. processModule will go
through all DICompileUnits in llvm.dbg.cu and list debug info MDNodes
used by the CUs.

TODO:
1> Finder has a list of CUs, SPs, Types, Scopes and global variables. We
need to add a list of variables that are used by DbgDeclareInst and
DbgValueInst.
2> MDString fields should be null or isa<MDString> and MDNode fields should be
null or isa<MDNode>. We currently use empty string or int 0 to represent null.
3> Go though Verify functions and make sure that they check field types.
4> Clean up existing testing cases to remove llvm.dbg.sp and make sure each
testing case has a llvm.dbg.cu.

Re-apply r187609 with fix to pass ocaml binding. vmcore.ml generates a debug
location with scope being metadata !{}, in verifier we treat this as a null
scope.

llvm-svn: 187812
2013-08-06 19:38:43 +00:00
..
AsmWriter.cpp Target/X86: Add explicit Win64 and System V/x86-64 calling conventions. 2013-07-12 06:02:35 +00:00
AsmWriter.h Re-implement DebugIR in a way that does not subclass AssemblyWriter: 2013-05-23 22:34:33 +00:00
AttributeImpl.h Add a AttributeSetImpl::dump function. 2013-08-02 22:34:30 +00:00
Attributes.cpp Add a AttributeSetImpl::dump function. 2013-08-02 22:34:30 +00:00
AutoUpgrade.cpp Remove trailing whitespace, fix file path in comment 2013-07-20 17:46:00 +00:00
BasicBlock.cpp
CMakeLists.txt Move TargetTransformInfo to live under the Analysis library. This no 2013-01-07 03:08:10 +00:00
ConstantFold.cpp Respect address space sizes in isEliminableCastPair. 2013-07-30 22:27:10 +00:00
ConstantFold.h
Constants.cpp Don't assert if we can't constant fold extract/insertvalue 2013-07-10 22:51:01 +00:00
ConstantsContext.h Add ArrayRef constructor from None, and do the cleanups that this constructor enables 2013-05-05 00:40:33 +00:00
Core.cpp Expose the RTDyldMemoryManager through the C API. This allows clients of 2013-05-22 02:46:43 +00:00
DIBuilder.cpp Remove DIBuilder cache of variable TheCU and change the few 2013-07-19 00:51:47 +00:00
DataLayout.cpp Minor code simplification suggested by Duncan 2013-07-27 19:22:28 +00:00
DebugInfo.cpp Debug Info Finder|Verifier: handle DbgLoc attached to instructions. 2013-08-06 19:38:43 +00:00
DebugLoc.cpp
Dominators.cpp
Function.cpp Extend 'readonly' and 'readnone' to work on function arguments as well as 2013-07-06 00:29:58 +00:00
GCOV.cpp Use SmallVectorImpl::iterator/const_iterator instead of SmallVector to avoid specifying the vector size. 2013-07-04 01:31:24 +00:00
GVMaterializer.cpp
Globals.cpp Added instance variable/initializers/getter/setters for new keyword externally initialized to GlobalVariable. No *TRUE* functionality change. 2013-02-03 21:54:38 +00:00
IRBuilder.cpp
InlineAsm.cpp Add static cast to unsigned char whenever a character classification function is called with a signed char argument, in order to avoid assertions in Windows Debug configuration. 2013-02-12 21:21:59 +00:00
Instruction.cpp Fix a bug in mayHaveSideEffects. Functions that do not return are now considered as instructions with side effects. 2013-02-19 20:02:09 +00:00
Instructions.cpp Add parentheses to silence gcc warning. 2013-07-31 04:07:28 +00:00
IntrinsicInst.cpp
LLVMBuild.txt
LLVMContext.cpp Memory Dependence Analysis (not mem-dep test) take advantage of "invariant.load" metadata. 2013-03-06 17:48:48 +00:00
LLVMContextImpl.cpp Revert "Rename LLVMContext diagnostic handler types and functions." 2013-02-11 05:37:07 +00:00
LLVMContextImpl.h Cache the result of Function::getIntrinsicID() in a DenseMap attached to the LLVMContext. 2013-03-01 18:48:54 +00:00
LeakDetector.cpp
LeaksContext.h
Makefile Actually update the CMake and Makefile builds correctly, and update the 2013-01-02 12:09:16 +00:00
Metadata.cpp Use SmallVectorImpl& instead of SmallVector to avoid repeating small vector size. 2013-07-14 04:42:23 +00:00
Module.cpp Make these methods const correct. 2013-07-25 02:50:08 +00:00
Pass.cpp Enable *BasicBlockPass::createPrinterPass() 2013-02-08 23:37:41 +00:00
PassManager.cpp Use SmallVectorImpl::iterator/const_iterator instead of SmallVector to avoid specifying the vector size. 2013-07-03 15:07:05 +00:00
PassRegistry.cpp Use an RWMutex instead of a Mutex in PassRegistry. 2013-07-03 18:38:08 +00:00
PrintModulePass.cpp Enable *BasicBlockPass::createPrinterPass() 2013-02-08 23:37:41 +00:00
SymbolTableListTraitsImpl.h
Type.cpp Add ArrayRef constructor from None, and do the cleanups that this constructor enables 2013-05-05 00:40:33 +00:00
TypeFinder.cpp Move TypeFinder.h into the IR tree, it clearly belongs with the IR library. 2013-01-07 15:43:51 +00:00
Use.cpp Fix Casting 2013-01-14 21:04:37 +00:00
User.cpp
Value.cpp Speed up Value::isUsedInBasicBlock() for long use lists. 2013-05-14 23:45:56 +00:00
ValueSymbolTable.cpp
ValueTypes.cpp
Verifier.cpp Debug Info Finder|Verifier: handle DbgLoc attached to instructions. 2013-08-06 19:38:43 +00:00