llvm-mirror/lib/VMCore
Daniel Dunbar 6d5513977b Add a TrackingVH value handle.
This is designed for tracking a value even when it might move (like WeakVH), but it is an error to delete the referenced value (unlike WeakVH0. TrackingVH is templated like AssertingVH on the tracked Value subclass, it is an error to RAUW a tracked value to an incompatible type.

For implementation reasons the latter error is only diagnosed on accesses to a mis-RAUWed TrackingVH, because we don't want a virtual interface in a templated class.

The former error is also only diagnosed on access, so that clients are allowed to delete a tracked value, as long as they don't use it. This makes it easier for the client to reason about destruction.

llvm-svn: 82506
2009-09-22 02:02:33 +00:00
..
AsmWriter.cpp Tabs -> spaces, and remove trailing whitespace. 2009-09-20 02:20:51 +00:00
Attributes.cpp Add an 'inline hint' attribute to represent source 2009-08-26 01:08:21 +00:00
AutoUpgrade.cpp Reapply 79977. 2009-08-28 23:24:31 +00:00
BasicBlock.cpp Push LLVMContexts through the IntegerType APIs. 2009-08-13 21:58:54 +00:00
CMakeLists.txt Update CMakeLists. 2009-08-04 23:02:53 +00:00
ConstantFold.cpp Peer through zext and sext to eliminate them when it is safe to do so. 2009-09-20 07:31:25 +00:00
ConstantFold.h Value* were never meant to be const. Removing constness from the constant 2009-09-20 01:35:59 +00:00
Constants.cpp When a constant's type is refined, update the constant in place 2009-09-15 15:58:07 +00:00
ConstantsContext.h When a constant's type is refined, update the constant in place 2009-09-15 15:58:07 +00:00
Core.cpp Revert 80959. It isn't sufficient to solve the full problem. And it 2009-09-03 23:34:49 +00:00
Dominators.cpp Fix PR5023: The instruction form of DominatorTree::dominates did not 2009-09-21 22:39:35 +00:00
Function.cpp Push LLVMContexts through the IntegerType APIs. 2009-08-13 21:58:54 +00:00
Globals.cpp Move types back to the 2.5 API. 2009-07-29 22:17:13 +00:00
InlineAsm.cpp Push LLVMContexts through the IntegerType APIs. 2009-08-13 21:58:54 +00:00
Instruction.cpp Tabs -> spaces, and remove trailing whitespace. 2009-09-20 02:20:51 +00:00
Instructions.cpp tidy up 2009-09-21 22:27:34 +00:00
IntrinsicInst.cpp Fix DbgStopPointInst->getFileName/getDirectory, broken by the MDNodification in 2009-09-02 11:13:56 +00:00
LeakDetector.cpp Kill off more cerr/cout uses and prune includes a bit. 2009-08-23 11:37:21 +00:00
LeaksContext.h switch from std::ostream to raw ostream, fix file header. 2009-08-23 03:56:06 +00:00
LLVMContext.cpp Add llvm::Metadata to manage metadata used in a context. 2009-09-16 18:09:00 +00:00
LLVMContextImpl.h Add llvm::Metadata to manage metadata used in a context. 2009-09-16 18:09:00 +00:00
Makefile
Mangler.cpp initialize SymbolsCanStartWithDigit to false by default 2009-09-21 14:11:56 +00:00
Metadata.cpp Write and read metadata attachments. 2009-09-18 19:26:43 +00:00
Module.cpp Push LLVMContexts through the IntegerType APIs. 2009-08-13 21:58:54 +00:00
ModuleProvider.cpp
Pass.cpp Remove some unused fields. 2009-08-29 23:34:14 +00:00
PassManager.cpp make -debug-pass=Executions show information about what call graph nodes 2009-09-15 05:03:04 +00:00
PrintModulePass.cpp
SymbolTableListTraitsImpl.h
Type.cpp When a constant's type is refined, update the constant in place 2009-09-15 15:58:07 +00:00
TypesContext.h Free the constants that have no uses in ~LLVMContext. 2009-08-31 16:14:59 +00:00
TypeSymbolTable.cpp Fix the build when DEBUG_SYMBOL_TABLE is set. 2009-09-12 21:56:48 +00:00
Use.cpp Public and private corrections, warned about by icc (#304). 2009-09-06 08:55:57 +00:00
Value.cpp Add a TrackingVH value handle. 2009-09-22 02:02:33 +00:00
ValueSymbolTable.cpp remove some DOUTs 2009-08-23 04:44:11 +00:00
ValueTypes.cpp Reapply 79977. 2009-08-28 23:24:31 +00:00
Verifier.cpp Update malloc call creation code (AllocType is now the element type of the malloc, not the resulting type). 2009-09-18 19:20:02 +00:00