Skip to content
  1. Mar 18, 2011
  2. Jan 09, 2011
  3. Nov 17, 2010
  4. Oct 19, 2010
    • 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
  5. Oct 12, 2010
  6. Oct 08, 2010
  7. Sep 18, 2010
  8. Aug 06, 2010
  9. Jul 22, 2010
  10. Jul 20, 2010
  11. Jul 09, 2010
  12. Jun 18, 2010
  13. May 04, 2010
  14. Apr 13, 2010
  15. Apr 12, 2010
  16. Apr 11, 2010
  17. Apr 08, 2010
    • Dan Gohman's avatar
      Generalize IVUsers to track arbitrary expressions rather than expressions · d006ab90
      Dan Gohman authored
      explicitly split into stride-and-offset pairs. Also, add the
      ability to track multiple post-increment loops on the same expression.
      
      This refines the concept of "normalizing" SCEV expressions used for
      to post-increment uses, and introduces a dedicated utility routine for
      normalizing and denormalizing expressions.
      
      This fixes the expansion of expressions which are post-increment users
      of more than one loop at a time. More broadly, this takes LSR another
      step closer to being able to reason about more than one loop at a time.
      
      llvm-svn: 100699
      d006ab90
  18. Apr 03, 2010
  19. Apr 02, 2010
  20. Mar 23, 2010
  21. Mar 20, 2010
    • Dan Gohman's avatar
      Clear the SCEVExpander's insertion point after making deletions, · 1a2abe55
      Dan Gohman authored
      so that the SCEVExpander doesn't retain a dangling pointer as its
      insert position. The dangling pointer in this case wasn't ever used
      to insert new instructions, but it was causing trouble with
      SCEVExpander's code for automatically advancing its insert position
      past debug intrinsics.
      
      This fixes use-after-free errors that valgrind noticed in
      test/Transforms/IndVarSimplify/2007-06-06-DeleteDanglesPtr.ll and
      test/Transforms/IndVarSimplify/exit_value_tests.ll.
      
      llvm-svn: 99036
      1a2abe55
Loading