Skip to content
  1. Apr 08, 2010
    • Dan Gohman's avatar
      When expanding expressions which are using post-inc mode for multiple loops, · 4506539d
      Dan Gohman authored
      ensure that the expansion is dominated by the increments of those loops.
      
      llvm-svn: 100748
      4506539d
    • Dan Gohman's avatar
      Generalize IVUsers to track arbitrary expressions rather than expressions · d006ab90
      Dan Gohman authored
      explicitly split into stride-and-offset pairs. Also, add the
      ability to track multiple post-increment loops on the same expression.
      
      This refines the concept of "normalizing" SCEV expressions used for
      to post-increment uses, and introduces a dedicated utility routine for
      normalizing and denormalizing expressions.
      
      This fixes the expansion of expressions which are post-increment users
      of more than one loop at a time. More broadly, this takes LSR another
      step closer to being able to reason about more than one loop at a time.
      
      llvm-svn: 100699
      d006ab90
  2. Apr 06, 2010
    • Gabor Greif's avatar
    • Chris Lattner's avatar
      fix a really nasty bug that Evan was tracking in SCCP. When resolving · adca6082
      Chris Lattner authored
      undefs in branches/switches, we have two cases: a branch on a literal
      undef or a branch on a symbolic value which is undef.  If we have a
      literal undef, the code was correct: forcing it to a constant is the
      right thing to do.
      
      If we have a branch on a symbolic value that is undef, we should force
      the symbolic value to a constant, which then makes the successor block
      live.  Forcing the condition of the branch to being a constant isn't 
      safe if later paths become live and the value becomes overdefined.  This
      is the case that 'forcedconstant' is designed to handle, so just use it.
      
      This fixes rdar://7765019 but there is no good testcase for this, the
      one I have is too insane to be useful in the future.
      
      llvm-svn: 100478
      adca6082
  3. Apr 05, 2010
  4. Apr 04, 2010
  5. Apr 03, 2010
  6. Apr 02, 2010
  7. Apr 01, 2010
  8. Mar 31, 2010
    • Dale Johannesen's avatar
      Fix a nasty dangling-pointer heisenbug that could · b67a6e66
      Dale Johannesen authored
      generate wrong code pretty much anywhere AFAICT.
      A case that hits the bug reproducibly is impossible,
      but the situation was like this:
      Addr = ...
      Store -> Addr
      Addr2 = GEP , 0, 0
      Store -> Addr2
      Handling the first store, the code changed replaced Addr
      with a sunkaddr and deleted Addr, but not its table
      entry.  Code in OptimizedBlock replaced Addr2 with a
      bitcast; if that happened to reuse the memory of Addr,
      the old table entry was erroneously found when handling
      the second store.
      
      llvm-svn: 100044
      b67a6e66
    • Bob Wilson's avatar
      6f7fd288
  9. Mar 30, 2010
  10. Mar 27, 2010
  11. Mar 26, 2010
  12. Mar 25, 2010
  13. Mar 24, 2010
  14. Mar 23, 2010
  15. Mar 22, 2010
Loading