Skip to content
  1. Apr 01, 2009
    • Chris Lattner's avatar
      Add two new classes: WeakVH and AssertingVH. These are both "ValueHandles", · 90234f34
      Chris Lattner authored
      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
      90234f34
  2. Mar 31, 2009
  3. Mar 30, 2009
  4. Mar 29, 2009
  5. Mar 28, 2009
Loading