Skip to content
  1. Mar 30, 2010
  2. Feb 09, 2010
  3. Jan 07, 2010
  4. Jan 05, 2010
  5. Dec 28, 2009
  6. Dec 22, 2009
  7. Dec 14, 2009
  8. Dec 03, 2009
  9. Nov 14, 2009
  10. Nov 12, 2009
    • David Greene's avatar
      · 1fbe0544
      David Greene authored
      Add a bool flag to StackObjects telling whether they reference spill
      slots.  The AsmPrinter will use this information to determine whether to
      print a spill/reload comment.
      
      Remove default argument values.  It's too easy to pass a wrong argument
      value when multiple arguments have default values.  Make everything
      explicit to trap bugs early.
      
      Update all targets to adhere to the new interfaces..
      
      llvm-svn: 87022
      1fbe0544
    • Lang Hames's avatar
      Fixed an iteration condition in PreAllocSplitting. This should fix some... · bff25cb0
      Lang Hames authored
      Fixed an iteration condition in PreAllocSplitting. This should fix some miscompilations casued by PreAllocSplitting.
      
      llvm-svn: 86919
      bff25cb0
  11. Nov 10, 2009
    • Jeffrey Yasskin's avatar
      Fix DenseMap iterator constness. · b40d3f76
      Jeffrey Yasskin authored
      This patch forbids implicit conversion of DenseMap::const_iterator to
      DenseMap::iterator which was possible because DenseMapIterator inherited
      (publicly) from DenseMapConstIterator. Conversion the other way around is now
      allowed as one may expect.
      
      The template DenseMapConstIterator is removed and the template parameter
      IsConst which specifies whether the iterator is constant is added to
      DenseMapIterator.
      
      Actually IsConst parameter is not necessary since the constness can be
      determined from KeyT but this is not relevant to the fix and can be addressed
      later.
      
      Patch by Victor Zverovich!
      
      llvm-svn: 86636
      b40d3f76
  12. Nov 09, 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 20, 2009
  16. Oct 17, 2009
  17. Oct 09, 2009
  18. Oct 03, 2009
  19. Sep 09, 2009
  20. Sep 04, 2009
  21. Aug 23, 2009
  22. Aug 11, 2009
  23. Aug 01, 2009
  24. Jul 16, 2009
  25. Jul 12, 2009
  26. Jul 11, 2009
  27. 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
  28. Jun 17, 2009
  29. May 03, 2009
    • Evan Cheng's avatar
      In some rare cases, the register allocator can spill registers but end up not... · 210fc62a
      Evan Cheng authored
      In some rare cases, the register allocator can spill registers but end up not utilizing registers at all. The fundamental problem is linearscan's backtracking can end up freeing more than one allocated registers. However,  reloads and restores might be folded into uses / defs and freed registers might not be used at all.
      
      VirtRegMap keeps track of allocations so it knows what's not used. As a horrible hack, the stack coloring can color spill slots with *free* registers. That is, it replace reload and spills with copies from and to the free register. It unfold instructions that load and store the spill slot and replace them with register using variants.
      
      Not yet enabled. This is part 1. More coming.
      
      llvm-svn: 70787
      210fc62a
  30. Apr 09, 2009
    • Bob Wilson's avatar
      Fix pr3954. The register scavenger asserts for inline assembly with · 51856173
      Bob Wilson authored
      register destinations that are tied to source operands.  The
      TargetInstrDescr::findTiedToSrcOperand method silently fails for inline
      assembly.  The existing MachineInstr::isRegReDefinedByTwoAddr was very
      close to doing what is needed, so this revision makes a few changes to
      that method and also renames it to isRegTiedToUseOperand (for consistency
      with the very similar isRegTiedToDefOperand and because it handles both
      two-address instructions and inline assembly with tied registers).
      
      llvm-svn: 68714
      51856173
  31. Mar 31, 2009
  32. Mar 14, 2009
  33. Mar 05, 2009
  34. Mar 04, 2009
Loading