1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-23 04:52:54 +02:00
llvm-mirror/include/llvm/Support
Chris Lattner 939313c44a Add two new classes: WeakVH and AssertingVH. These are both "ValueHandles",
which are effectively smart pointers to Value*'s.  They are both very light
weight and simple, and react to values being destroyed or being RAUW'd.

WeakVN does a best effort to follow a value around, including through RAUW 
operations and will get nulled out of the value is destroyed.  This is useful
for the eventual "metadata that references a value" work, because it is a
reference to a value that does not show up on its use_* list.

AssertingVH is a pointer that compiles down to a dumb raw pointer when 
assertions are disabled.  When enabled, it emits an assertion if the 
pointed-to value is destroyed while it is still being referenced.  This
is very useful for Maps and other things, and should have caught the recent
bugs in CallGraph and Reassociate, for example.

llvm-svn: 68149
2009-03-31 22:11:05 +00:00
..
AIXDataTypesFix.h
AlignOf.h Removed trailing whitespace. 2009-02-20 22:51:36 +00:00
Allocator.h Changed Allocate to use size_t instead of unsigned. 2009-03-10 23:48:49 +00:00
Annotation.h Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +00:00
CallSite.h Revert r66920. It was causing failures in the self-hosting buildbot (in release 2009-03-13 21:15:59 +00:00
Casting.h Roll back rev 59890, since Chris says this can never happen. 2008-11-23 19:22:48 +00:00
CFG.h For PR1338: rename include/llvm/ADT/ilist and friends to end with ".h" 2008-05-29 17:41:17 +00:00
CommandLine.h Constify check. This fixes PR3900. 2009-03-29 20:08:56 +00:00
Compiler.h Add BUILTIN_EXPECT Support/Compiler macro. 2009-03-17 21:15:18 +00:00
ConstantFolder.h Add a NullFolder class that doesn't fold constants. 2008-08-12 20:39:27 +00:00
ConstantRange.h Removed trailing whitespace. 2009-02-20 22:51:36 +00:00
DataFlow.h Removed trailing whitespace. 2009-02-20 22:51:36 +00:00
DataTypes.h.cmake CMake: Sync'ed DataTypes.h.cmake with DataTypes.h.in. 2008-10-25 03:25:11 +00:00
DataTypes.h.in Revert r58411. The user needs to #define this when using the JITMemoryManager.h header. 2008-10-30 01:22:58 +00:00
Debug.h Removed trailing whitespace. 2009-02-20 22:51:36 +00:00
DOTGraphTraits.h Removed trailing whitespace. 2009-02-20 22:51:36 +00:00
Dwarf.h Removed trailing whitespace. 2009-02-20 22:51:36 +00:00
DynamicLinker.h
ELF.h Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +00:00
FileUtilities.h Removed trailing whitespace. 2009-02-20 22:51:36 +00:00
Format.h Add C++ marker. 2009-03-10 15:56:48 +00:00
GetElementPtrTypeIterator.h
GraphWriter.h Removed trailing whitespace. 2009-02-20 22:51:36 +00:00
InstIterator.h
InstVisitor.h Removed trailing whitespace. 2009-02-20 22:51:36 +00:00
IRBuilder.h add method to access a template argument. 2009-03-22 00:18:18 +00:00
LeakDetector.h
ManagedStatic.h Removed trailing whitespace. 2009-02-20 22:51:36 +00:00
Mangler.h Removed trailing whitespace. 2009-02-20 22:51:36 +00:00
MathExtras.h Removed trailing whitespace. 2009-02-20 22:51:36 +00:00
MemoryBuffer.h Removed trailing whitespace. 2009-02-20 22:51:36 +00:00
MutexGuard.h Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +00:00
NoFolder.h Fix the name of the include guard to match the filename. 2008-10-28 00:52:46 +00:00
OutputBuffer.h Removed trailing whitespace. 2009-02-20 22:51:36 +00:00
PassNameParser.h Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +00:00
PatternMatch.h Removed trailing whitespace. 2009-02-20 22:51:36 +00:00
PluginLoader.h
PointerLikeTypeTraits.h teach PointerLikeTypeTraits that all pointers to pointers may only be 4-byte aligned. 2009-03-31 21:28:39 +00:00
PredIteratorCache.h Removed trailing whitespace. 2009-02-20 22:51:36 +00:00
PrettyStackTrace.h add some helper classes for building light-weight symbolic stack traces 2009-03-04 21:40:23 +00:00
raw_ostream.h raw_ostream: Return '*this' explicitly (instead of implicitly via 2009-03-17 01:53:36 +00:00
Recycler.h ooops, forgot to include the pointless-write eliminator in my previous checkin 2009-03-04 21:54:31 +00:00
RecyclingAllocator.h Fold the useful features of alist and alist_node into ilist, and 2008-07-28 21:51:04 +00:00
Registry.h Registry.h should not depend on CommandLine.h. 2009-01-16 07:02:28 +00:00
RegistryParser.h Registry.h should not depend on CommandLine.h. 2009-01-16 07:02:28 +00:00
SlowOperationInformer.h
StableBasicBlockNumbering.h
Streams.h Removed trailing whitespace. 2009-02-20 22:51:36 +00:00
StringPool.h Removed trailing whitespace. 2009-02-20 22:51:36 +00:00
SystemUtils.h
TargetFolder.h Add a NullFolder class that doesn't fold constants. 2008-08-12 20:39:27 +00:00
Timer.h allow TimeRegion to take a potentially-null pointer to a 2009-02-18 01:48:17 +00:00
type_traits.h
ValueHandle.h Add two new classes: WeakVH and AssertingVH. These are both "ValueHandles", 2009-03-31 22:11:05 +00:00