Skip to content
  1. Jan 02, 2011
  2. 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
  3. Oct 12, 2010
  4. Oct 08, 2010
  5. Sep 06, 2010
    • Chris Lattner's avatar
      Teach loop rotate to hoist trivially invariant instructions · b01c24a9
      Chris Lattner authored
      in the duplicated block instead of duplicating them.  
      
      Duplicating them into the end of the loop and the preheader 
      means that we got a phi node in the header of the loop, 
      which prevented LICM from hoisting them.  GVN would
      usually come around later and merge the duplicated 
      instructions so we'd get reasonable output... except that
      anything dependent on the shoulda-been-hoisted value can't
      be hoisted.  In PR5319 (which this fixes), a memory value
      didn't get promoted.
      
      llvm-svn: 113134
      b01c24a9
  6. Sep 02, 2010
    • Duncan Sands's avatar
      Reapply commit 112699, speculatively reverted by echristo, since · 6778149f
      Duncan Sands authored
      I'm sure it is harmless.  Original commit message:
      If PrototypeValue is erased in the middle of using the SSAUpdator
      then the SSAUpdator may access freed memory.  Instead, simply pass
      in the type and name explicitly, which is all that was used anyway.
      
      llvm-svn: 112810
      6778149f
  7. Sep 01, 2010
  8. Aug 17, 2010
  9. Aug 06, 2010
  10. Jul 22, 2010
  11. Jul 16, 2010
  12. Jun 22, 2010
  13. Nov 05, 2009
  14. Oct 31, 2009
  15. Oct 26, 2009
  16. Oct 25, 2009
  17. Sep 27, 2009
  18. Sep 09, 2009
    • Dan Gohman's avatar
      Fix SplitCriticalEdge to properly update LCSSA form when splitting a · ec4557f3
      Dan Gohman authored
      loop exit edge -- new PHIs may be needed not only for the additional
      splits that are made to preserve LoopSimplify form, but also for the
      original split. Factor out the code that inserts new PHIs so that it
      can be used for both. Remove LoopRotation.cpp's code for manually
      updating LCSSA form, as it is now redundant. This fixes PR4934.
      
      llvm-svn: 81363
      ec4557f3
  19. Sep 02, 2009
  20. Aug 13, 2009
  21. Aug 07, 2009
  22. Jul 22, 2009
  23. Jul 10, 2009
  24. Jun 27, 2009
  25. Jun 26, 2009
  26. Jun 25, 2009
  27. Mar 06, 2009
  28. Jan 28, 2009
  29. Jan 26, 2009
Loading