Skip to content
  1. Apr 16, 2004
  2. Apr 15, 2004
    • Chris Lattner's avatar
      Fix a bug in the previous checkin: if the exit block is not the same as · d7a559e3
      Chris Lattner authored
      the back-edge block, we must check the preincremented value.
      
      llvm-svn: 12968
      d7a559e3
    • Chris Lattner's avatar
      Change the canonical induction variable that we insert. · 0cec5cb9
      Chris Lattner authored
      Instead of producing code like this:
      
      Loop:
        X = phi 0, X2
        ...
      
        X2 = X + 1
        if (X != N-1) goto Loop
      
      We now generate code that looks like this:
      
      Loop:
        X = phi 0, X2
        ...
      
        X2 = X + 1
        if (X2 != N) goto Loop
      
      This has two big advantages:
        1. The trip count of the loop is now explicit in the code, allowing
           the direct implementation of Loop::getTripCount()
        2. This reduces register pressure in the loop, and allows X and X2 to be
           put into the same register.
      
      As a consequence of the second point, the code we generate for loops went
      from:
      
      .LBB2:  # no_exit.1
      	...
              mov %EDI, %ESI
              inc %EDI
              cmp %ESI, 2
              mov %ESI, %EDI
              jne .LBB2 # PC rel: no_exit.1
      
      To:
      
      .LBB2:  # no_exit.1
      	...
              inc %ESI
              cmp %ESI, 3
              jne .LBB2 # PC rel: no_exit.1
      
      ... which has two fewer moves, and uses one less register.
      
      llvm-svn: 12961
      0cec5cb9
  3. Apr 02, 2004
  4. Jan 08, 2004
  5. Dec 23, 2003
  6. Dec 22, 2003
  7. Dec 18, 2003
  8. Dec 15, 2003
  9. Dec 10, 2003
  10. Nov 11, 2003
  11. Oct 20, 2003
  12. Oct 12, 2003
  13. Oct 10, 2003
  14. Sep 23, 2003
  15. Sep 12, 2003
  16. Sep 10, 2003
  17. Aug 02, 2003
  18. Apr 23, 2003
  19. Oct 21, 2002
  20. Oct 02, 2002
    • Chris Lattner's avatar
      Updates to work with recent Statistic's changes: · bf3a099a
      Chris Lattner authored
          * Renamed StatisticReporter.h/cpp to Statistic.h/cpp
          * Broke constructor to take two const char * arguments instead of one, so
            that indendation can be taken care of automatically.
          * Sort the list by pass name when printing
          * Make sure to print all statistics as a group, instead of randomly when
            the statistics dtors are called.
          * Updated ProgrammersManual with new semantics.
      
      llvm-svn: 4002
      bf3a099a
  21. Sep 10, 2002
  22. Aug 08, 2002
    • Chris Lattner's avatar
      · f0ed55d1
      Chris Lattner authored
      - Cleaned up the interface to AnalysisUsage to take analysis class names
         instead of ::ID's.
       - Pass::getAnalysis<> now no longer takes an optional argument
      
      llvm-svn: 3265
      f0ed55d1
  23. Jul 27, 2002
  24. Jul 26, 2002
    • Chris Lattner's avatar
      · c8b7092e
      Chris Lattner authored
      * Add support for different "PassType's"
      * Add new RegisterOpt/RegisterAnalysis templates for registering passes that
        are to show up in opt or analyze
      * Register Analyses now
      * Change optimizations to use RegisterOpt instead of RegisterPass
      * Add support for different "PassType's"
      * Add new RegisterOpt/RegisterAnalysis templates for registering passes that
        are to show up in opt or analyze
      * Register Analyses now
      * Change optimizations to use RegisterOpt instead of RegisterPass
      * Remove getPassName implementations from various subclasses
      
      llvm-svn: 3113
      c8b7092e
  25. Jul 23, 2002
  26. Jun 30, 2002
  27. Jun 25, 2002
  28. May 22, 2002
  29. May 10, 2002
  30. May 07, 2002
  31. Apr 29, 2002
Loading