Skip to content
  1. Sep 24, 2008
  2. Sep 23, 2008
  3. Sep 22, 2008
  4. Sep 19, 2008
  5. Sep 17, 2008
  6. Sep 16, 2008
    • Dan Gohman's avatar
      Improve instcombine's handling of integer min and max in two ways: · dafa9c6e
      Dan Gohman authored
       - Recognize expressions like "x > -1 ? x : 0" as min/max and turn them
         into expressions like "x < 0 ? 0 : x", which is easily recognizable
         as a min/max operation.
       - Refrain from folding expression like "y/2 < 1" to "y < 2" when the
         comparison is being used as part of a min or max idiom, like
         "y/2 < 1 ? 1 : y/2". In that case, the division has another use, so
         folding doesn't eliminate it, and obfuscates the min/max, making it
         harder to recognize as a min/max operation.
      
      These benefit ScalarEvolution, CodeGen, and anything else that wants to
      recognize integer min and max.
      
      llvm-svn: 56246
      dafa9c6e
  7. Sep 15, 2008
    • Dan Gohman's avatar
      Teach LSR to optimize away SMAX operations for tripcounts in common · 68e7735a
      Dan Gohman authored
      cases.  See the comment above OptimizeSMax for the full story, and
      the testcase for an example. This cancels out a pessimization
      commonly attributed to indvars, and will allow us to lift some of
      the artificial throttles in indvars, rather than add new ones.
      
      llvm-svn: 56230
      68e7735a
  8. Sep 12, 2008
  9. Sep 11, 2008
  10. Sep 10, 2008
  11. Sep 09, 2008
  12. Sep 08, 2008
  13. Sep 05, 2008
  14. Sep 04, 2008
  15. Sep 03, 2008
  16. Sep 01, 2008
    • Duncan Sands's avatar
      Add a small pass that sets the readnone/readonly · 130d9efe
      Duncan Sands authored
      attributes on functions, based on the result of
      alias analysis.  It's not hardwired to use
      GlobalsModRef even though this is the only (AFAIK)
      alias analysis that results in this pass actually
      doing something.  Enable as follows:
        opt ... -globalsmodref-aa -markmodref ...
      Advantages of this pass: (1) records the result
      of globalsmodref in the bitcode, meaning it is
      available for use by later passes (currently
      the pass manager isn't smart enough to magically
      make an advanced alias analysis available to all
      later passes), which may expose more optimization
      opportunities; (2) hopefully speeds up compilation
      when code is optimized twice, for example when a
      file is compiled to bitcode, then later LTO is done
      on it: marking functions readonly/readnone when
      producing the initial bitcode should speed up alias
      analysis during LTO; (3) good for discovering that
      globalsmodref doesn't work very well :)
      Not currently turned on by default.
      
      llvm-svn: 55604
      130d9efe
  17. Aug 27, 2008
  18. Aug 26, 2008
  19. Aug 24, 2008
Loading