Skip to content
  1. Feb 10, 2011
    • Cameron Zwarich's avatar
      Turn this pass ordering: · 58c8670a
      Cameron Zwarich authored
      Natural Loop Information
       Loop Pass Manager
         Canonicalize natural loops
       Scalar Evolution Analysis
       Loop Pass Manager
         Induction Variable Users
         Canonicalize natural loops
         Induction Variable Users
         Loop Strength Reduction
      
      into this:
      
      Scalar Evolution Analysis
      Loop Pass Manager
        Canonicalize natural loops
        Induction Variable Users
        Loop Strength Reduction
      
      This fixes <rdar://problem/8869639>. I also filed PR9184 on doing this sort of
      thing automatically, but it seems easier to just change the ordering of the
      passes if this is the only case.
      
      llvm-svn: 125254
      58c8670a
  2. Feb 09, 2011
    • Chris Lattner's avatar
      Teach instsimplify some tricks about exact/nuw/nsw shifts. · 9e4aa025
      Chris Lattner authored
      improve interfaces to instsimplify to take this info.
      
      llvm-svn: 125196
      9e4aa025
    • Chris Lattner's avatar
      Rework InstrTypes.h so to reduce the repetition around the NSW/NUW/Exact · b9400913
      Chris Lattner authored
      versions of creation functions.  Eventually, the "insertion point" versions
      of these should just be removed, we do have IRBuilder afterall.
      
      Do a massive rewrite of much of pattern match.  It is now shorter and less
      redundant and has several other widgets I will be using in other patches.
      Among other changes, m_Div is renamed to m_IDiv (since it only matches 
      integer divides) and m_Shift is gone (it used to match all binops!!) and
      we now have m_LogicalShift for the one client to use.
      
      Enhance IRBuilder to have "isExact" arguments to things like CreateUDiv
      and reduce redundancy within IRbuilder by having these methods chain to
      each other more instead of duplicating code.
      
      llvm-svn: 125194
      b9400913
    • Nick Lewycky's avatar
      When removing a function from the function set and adding it to deferred, we · 292e78c3
      Nick Lewycky authored
      could end up removing a different function than we intended because it was
      functionally equivalent, then end up with a comparison of a function against
      itself in the next round of comparisons (the one in the function set and the
      one on the deferred list). To fix this, I introduce a choice in the form of
      comparison for ComparableFunctions, either normal or "pointer only" used to
      find exact Function*'s in lookups.
      
      Also add some debugging statements.
      
      llvm-svn: 125180
      292e78c3
  3. Feb 08, 2011
  4. Feb 07, 2011
  5. Feb 06, 2011
  6. Feb 03, 2011
  7. Feb 02, 2011
  8. Jan 30, 2011
  9. Jan 29, 2011
  10. Jan 28, 2011
  11. Jan 27, 2011
  12. Jan 26, 2011
  13. Jan 25, 2011
Loading