Skip to content
  1. Oct 19, 2010
    • Owen Anderson's avatar
      Passes do not need to recursively initialize passes that they preserve, if · a4fefc19
      Owen Anderson authored
      they do not also require them.  This allows us to reduce inter-pass linkage
      dependencies.
      
      llvm-svn: 116854
      a4fefc19
    • Owen Anderson's avatar
      Get rid of static constructors for pass registration. Instead, every pass... · 6c18d1aa
      Owen Anderson authored
      Get rid of static constructors for pass registration.  Instead, every pass exposes an initializeMyPassFunction(), which
      must be called in the pass's constructor.  This function uses static dependency declarations to recursively initialize
      the pass's dependencies.
      
      Clients that only create passes through the createFooPass() APIs will require no changes.  Clients that want to use the
      CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h
      before parsing commandline arguments.
      
      I have tested this with all standard configurations of clang and llvm-gcc on Darwin.  It is possible that there are problems
      with the static dependencies that will only be visible with non-standard options.  If you encounter any crash in pass
      registration/creation, please send the testcase to me directly.
      
      llvm-svn: 116820
      6c18d1aa
  2. Oct 12, 2010
  3. Oct 08, 2010
  4. Aug 06, 2010
  5. Jul 26, 2010
    • Dan Gohman's avatar
      Remove LCSSA's bogus dependence on LoopSimplify and LoopSimplify's bogus · 0141c13b
      Dan Gohman authored
      dependence on DominanceFrontier. Instead, add an explicit DominanceFrontier
      pass in StandardPasses.h to ensure that it gets scheduled at the right
      time.
      
      Declare that loop unrolling preserves ScalarEvolution, and shuffle some
      getAnalysisUsages.
      
      This eliminates one LoopSimplify and one LCCSA run in the standard
      compile opts sequence.
      
      llvm-svn: 109413
      0141c13b
  6. Jul 22, 2010
  7. Jun 22, 2010
  8. Nov 05, 2009
  9. Oct 31, 2009
  10. Oct 26, 2009
  11. Oct 23, 2009
  12. Sep 02, 2009
  13. Jul 15, 2009
  14. Jul 08, 2009
  15. Jul 07, 2009
  16. Jun 22, 2009
  17. May 06, 2009
  18. May 05, 2009
    • Dan Gohman's avatar
      Re-apply 70645, converting ScalarEvolution to use · 48f82222
      Dan Gohman authored
      CallbackVH, with fixes. allUsesReplacedWith need to
      walk the def-use chains and invalidate all users of a
      value that is replaced. SCEVs of users need to be
      recalcualted even if the new value is equivalent. Also,
      make forgetLoopPHIs walk def-use chains, since any
      SCEV that depends on a PHI should be recalculated when
      more information about that PHI becomes available.
      
      llvm-svn: 70927
      48f82222
  19. May 03, 2009
  20. May 02, 2009
  21. Feb 24, 2009
  22. Feb 23, 2009
  23. Oct 23, 2008
    • Daniel Dunbar's avatar
      Change create*Pass factory functions to return Pass* instead of · 7f39e2d8
      Daniel Dunbar authored
      LoopPass*.
       - Although less precise, this means they can be used in clients
         without RTTI (who would otherwise need to include LoopPass.h, which
         eventually includes things using dynamic_cast). This was the
         simplest solution that presented itself, but I am happy to use a
         better one if available.
      
      llvm-svn: 58010
      7f39e2d8
  24. Sep 04, 2008
  25. Jun 24, 2008
  26. May 29, 2008
  27. May 16, 2008
  28. May 13, 2008
  29. May 08, 2008
  30. May 06, 2008
  31. Apr 30, 2008
  32. Apr 29, 2008
Loading