Skip to content
  1. 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
  2. Oct 12, 2010
  3. Oct 08, 2010
  4. Aug 23, 2010
  5. Aug 06, 2010
  6. Jul 11, 2010
  7. Jun 26, 2010
    • Jakob Stoklund Olesen's avatar
      Don't track kills in VNInfo. Use interval ends instead. · 55d738e2
      Jakob Stoklund Olesen authored
      The VNInfo.kills vector was almost unused except for all the code keeping it
      updated. The few places using it were easily rewritten to check for interval
      ends instead.
      
      The two new methods LiveInterval::killedAt and killedInRange are replacements.
      
      This brings us down to 3 independent data structures tracking kills.
      
      llvm-svn: 106905
      55d738e2
  8. May 06, 2010
  9. Feb 10, 2010
  10. Feb 09, 2010
  11. Jan 05, 2010
  12. Dec 18, 2009
  13. Nov 04, 2009
    • Lang Hames's avatar
      The Indexes Patch. · 05fb9637
      Lang Hames authored
      This introduces a new pass, SlotIndexes, which is responsible for numbering
      instructions for register allocation (and other clients). SlotIndexes numbering
      is designed to match the existing scheme, so this patch should not cause any
      changes in the generated code.
      
      For consistency, and to avoid naming confusion, LiveIndex has been renamed
      SlotIndex.
      
      The processImplicitDefs method of the LiveIntervals analysis has been moved
      into its own pass so that it can be run prior to SlotIndexes. This was
      necessary to match the existing numbering scheme.
      
      llvm-svn: 85979
      05fb9637
  14. Oct 25, 2009
  15. Oct 03, 2009
  16. Sep 09, 2009
  17. Sep 04, 2009
  18. Aug 23, 2009
  19. Aug 11, 2009
  20. Aug 01, 2009
  21. Jul 09, 2009
    • Lang Hames's avatar
      Improved tracking of value number kills. VN kills are now represented · dab7b06d
      Lang Hames authored
      as an (index,bool) pair. The bool flag records whether the kill is a
      PHI kill or not. This code will be used to enable splitting of live
      intervals containing PHI-kills.
      
      A slight change to live interval weights introduced an extra spill
      into lsr-code-insertion (outside the critical sections). The test 
      condition has been updated to reflect this.
      
      llvm-svn: 75097
      dab7b06d
  22. Jun 17, 2009
  23. Jun 02, 2009
  24. Oct 12, 2008
  25. Oct 04, 2008
  26. Oct 03, 2008
  27. Oct 02, 2008
    • Owen Anderson's avatar
      Use a multimap rather than a map for holding the list of copies to insert, so... · c5b45fec
      Owen Anderson authored
      Use a multimap rather than a map for holding the list of copies to insert, so we don't lose copies when two of them have
      the same source.  I don't know what I was thinking when I wrote this originally.
      Note: There's probably a more efficient way to do this, but I need to think about it some more, and about what determinism
      guarantees need to be present.
      
      llvm-svn: 56964
      c5b45fec
  28. Oct 01, 2008
  29. Sep 26, 2008
  30. Sep 24, 2008
  31. Sep 23, 2008
  32. Sep 22, 2008
  33. Sep 04, 2008
  34. Aug 14, 2008
  35. Aug 13, 2008
Loading