Skip to content
  1. May 02, 2009
    • Dan Gohman's avatar
      Convert ScalarEvolution to use CallbackVH for its internal map. This · e9a38d16
      Dan Gohman authored
      makes ScalarEvolution::deleteValueFromRecords, and it's code that
      subtly needed to be called before ReplaceAllUsesWith, unnecessary.
      
      It also makes ValueDeletionListener unnecessary.
      
      llvm-svn: 70645
      e9a38d16
    • Dan Gohman's avatar
      Previously, RecursivelyDeleteDeadInstructions provided an option · ff089955
      Dan Gohman authored
      of returning a list of pointers to Values that are deleted. This was
      unsafe, because the pointers in the list are, by nature of what
      RecursivelyDeleteDeadInstructions does, always dangling. Replace this
      with a simple callback mechanism. This may eventually be removed if
      all clients can reasonably be expected to use CallbackVH.
      
      Use this to factor out the dead-phi-cycle-elimination code from LSR
      utility function, and generalize it to use the
      RecursivelyDeleteTriviallyDeadInstructions utility function.
      
      This makes LSR more aggressive about eliminating dead PHI cycles;
      adjust tests to either be less trivial or to simply expect fewer
      instructions.
      
      llvm-svn: 70636
      ff089955
    • Dan Gohman's avatar
      Tell ScalarEvolution that the loop is being deleted before actually · c27345f0
      Dan Gohman authored
      deleting it.  This will let ScalarEvolution be more complete about
      updating its records.
      
      llvm-svn: 70632
      c27345f0
    • Dan Gohman's avatar
      Don't split critical edges during the AddUsersIfInteresting phase · 6409e7d4
      Dan Gohman authored
      of LSR. This makes the AddUsersIfInteresting phase of LSR a pure
      analysis instead of a phase that potentially does CFG modifications.
      
      The conditions where this code would actually perform a split are
      rare, and in the cases where it actually would do a split the split
      is usually undone by CodeGenPrepare, and in cases where splits
      actually survive into codegen, they appear to hurt more often than
      they help.
      
      llvm-svn: 70625
      6409e7d4
  2. May 01, 2009
  3. Apr 30, 2009
  4. Apr 28, 2009
  5. Apr 27, 2009
  6. Apr 25, 2009
  7. Apr 24, 2009
  8. Apr 23, 2009
  9. Apr 21, 2009
  10. Apr 20, 2009
  11. Apr 18, 2009
  12. Apr 17, 2009
  13. Apr 16, 2009
  14. Apr 15, 2009
  15. Apr 14, 2009
  16. Apr 12, 2009
Loading