llvm/lib/VMCore
Victor Hernandez 5d30162150 Formalize MDNode's function-localness:
- an MDNode is designated as function-local when created, and continues to be even if its operands are modified not to refer to function-local IR
- function-localness is designated via lowest bit in SubclassData
- getLocalFunction() descends MDNode tree to see if it is consistently function-local

Add verification of MDNodes to checks that MDNodes are consistently function-local.
Update AsmWriter to use isFunctionLocal().



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91708 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-18 20:09:14 +00:00
..
AsmWriter.cpp Formalize MDNode's function-localness: 2009-12-18 20:09:14 +00:00
Attributes.cpp
AutoUpgrade.cpp
BasicBlock.cpp improve portability to avoid conflicting with std::next in c++'0x. 2009-12-03 00:50:42 +00:00
CMakeLists.txt
ConstantFold.cpp Aggressively flip compare constant expressions where appropriate; constant 2009-12-17 06:07:04 +00:00
ConstantFold.h
Constants.cpp Add utility routines for NSW multiply. 2009-12-18 03:10:26 +00:00
ConstantsContext.h remove a bunch of locking from LLVMContextImpl. Since only one thread 2009-11-01 18:42:03 +00:00
Core.cpp I forgot to update the prototype for LLVMBuildIntCast when correcting 2009-11-23 10:49:03 +00:00
Dominators.cpp
Function.cpp Add utility method for determining whether a function argument 2009-12-11 08:36:17 +00:00
Globals.cpp In GlobalVariable::setInitializer, assert that the initializer has the 2009-11-17 00:43:13 +00:00
InlineAsm.cpp Pass StringRef by value. 2009-11-06 10:58:06 +00:00
Instruction.cpp Changes requested (avoid getFunction(), avoid Type creation via isVoidTy(), and avoid redundant isFreeCall cases) in feedback to r85176 2009-11-03 20:39:35 +00:00
Instructions.cpp Add utility routines for creating integer negation operators with NSW set. 2009-12-18 02:58:50 +00:00
IntrinsicInst.cpp
LeakDetector.cpp remove a bunch of locking from LLVMContextImpl. Since only one thread 2009-11-01 18:42:03 +00:00
LeaksContext.h remove a bunch of locking from LLVMContextImpl. Since only one thread 2009-11-01 18:42:03 +00:00
LLVMContext.cpp
LLVMContextImpl.h This fixes a memory leak in OpaqueType found by Google's internal heapchecker. 2009-12-17 19:55:06 +00:00
Makefile
Mangler.cpp
Metadata.cpp Formalize MDNode's function-localness: 2009-12-18 20:09:14 +00:00
Module.cpp Pass StringRef by value. 2009-11-06 10:58:06 +00:00
ModuleProvider.cpp
Pass.cpp Move several function bodies which are rarely inlined out of line. 2009-12-14 19:43:09 +00:00
PassManager.cpp Remove useless calls to c_str(). 2009-12-08 13:07:38 +00:00
PrintModulePass.cpp
SymbolTableListTraitsImpl.h
Type.cpp This fixes a memory leak in OpaqueType found by Google's internal heapchecker. 2009-12-17 19:55:06 +00:00
TypesContext.h
TypeSymbolTable.cpp Pass StringRef by value. 2009-11-06 10:58:06 +00:00
Use.cpp
Value.cpp remove a bunch of locking from LLVMContextImpl. Since only one thread 2009-11-01 18:42:03 +00:00
ValueSymbolTable.cpp Pass StringRef by value. 2009-11-06 10:58:06 +00:00
ValueTypes.cpp
Verifier.cpp Formalize MDNode's function-localness: 2009-12-18 20:09:14 +00:00