Skip to content
  1. Jun 21, 2011
  2. Jun 20, 2011
    • Jay Foad's avatar
      Change how PHINodes store their operands. · e03c05c3
      Jay Foad authored
      Change PHINodes to store simple pointers to their incoming basic blocks,
      instead of full-blown Uses.
      
      Note that this loses an optimization in SplitCriticalEdge(), because we
      can no longer walk the use list of a BasicBlock to find phi nodes. See
      the comment I removed starting "However, the foreach loop is slow for
      blocks with lots of predecessors".
      
      Extend replaceAllUsesWith() on a BasicBlock to also update any phi
      nodes in the block's successors. This mimics what would have happened
      when PHINodes were proper Users of their incoming blocks. (Note that
      this only works if OldBB->replaceAllUsesWith(NewBB) is called when
      OldBB still has a terminator instruction, so it still has some
      successors.)
      
      llvm-svn: 133435
      e03c05c3
    • Jay Foad's avatar
      Make better use of the PHINode API. · 372ad64b
      Jay Foad authored
      Change various bits of code to make better use of the existing PHINode
      API, to insulate them from forthcoming changes in how PHINodes store
      their operands.
      
      llvm-svn: 133434
      372ad64b
    • Chris Lattner's avatar
      Revamp the "ConstantStruct::get" methods. Previously, these were scattered · cc19efaa
      Chris Lattner authored
      all over the place in different styles and variants.  Standardize on two
      preferred entrypoints: one that takes a StructType and ArrayRef, and one that
      takes StructType and varargs.
      
      In cases where there isn't a struct type convenient, we now add a
      ConstantStruct::getAnon method (whose name will make more sense after a few
      more patches land).  
      
      It would be "really really nice" if the ConstantStruct::get and 
      ConstantVector::get methods didn't make temporary std::vectors.
      
      llvm-svn: 133412
      cc19efaa
  3. Jun 19, 2011
  4. Jun 18, 2011
  5. Jun 17, 2011
  6. Jun 16, 2011
  7. Jun 15, 2011
  8. Jun 14, 2011
  9. Jun 13, 2011
  10. Jun 09, 2011
Loading