Skip to content
  1. Jul 17, 2010
  2. Jul 07, 2010
  3. Jun 30, 2010
    • Jakob Stoklund Olesen's avatar
      Begin implementation of an inline spiller. · f8889119
      Jakob Stoklund Olesen authored
      InlineSpiller inserts loads and spills immediately instead of deferring to
      VirtRegMap. This is possible now because SlotIndexes allows instructions to be
      inserted and renumbered.
      
      This is work in progress, and is mostly a copy of TrivialSpiller so far. It
      works very well for functions that don't require spilling.
      
      llvm-svn: 107227
      f8889119
  4. Jun 15, 2010
  5. Apr 21, 2010
    • Jakob Stoklund Olesen's avatar
      Add fast register allocator, enabled with -regalloc=fast. · 8a070a54
      Jakob Stoklund Olesen authored
      So far this is just a clone of -regalloc=local that has been lobotomized to run
      25% faster. It drops the least-recently-used calculations, and is just plain
      stupid when it runs out of registers.
      
      The plan is to make this go even faster for -O0 by taking advantage of the short
      live intervals in unoptimized code. It should not be necessary to calculate
      liveness when most virtual registers are killed 2-3 instructions after they are
      born.
      
      llvm-svn: 102006
      8a070a54
    • Dan Gohman's avatar
      Update CMakeLists.txt. · cc5e6528
      Dan Gohman authored
      llvm-svn: 101976
      cc5e6528
  6. Apr 03, 2010
    • David Greene's avatar
      · 9b063df4
      David Greene authored
      Ok, third time's the charm.  No changes from last time except the CMake
      source addition.  Apparently the buildbots were wrong about failures.
      
      ---
      
      Add some switches helpful for debugging:
      
      -print-before=<Pass Name>
      
      Dump IR before running pass <Pass Name>.
      
      -print-before-all
      
      Dump IR before running each pass.
      
      -print-after-all
      
      Dump IR after running each pass.
      
      These are helpful when tracking down a miscompilation.  It is easy to
      get IR dumps and do diffs on them, etc.
      
      To make this work well, add a new getPrinterPass API to Pass so that
      each kind of pass (ModulePass, FunctionPass, etc.) can create a Pass
      suitable for dumping out the kind of object the Pass works on.
      
      llvm-svn: 100249
      9b063df4
  7. Apr 02, 2010
  8. Mar 02, 2010
  9. Feb 15, 2010
  10. Feb 12, 2010
    • Bob Wilson's avatar
      Add a new pass on machine instructions to optimize away PHI cycles that · 0827e040
      Bob Wilson authored
      reduce down to a single value.  InstCombine already does this transformation
      but DAG legalization may introduce new opportunities.  This has turned out to
      be important for ARM where 64-bit values are split up during type legalization:
      InstCombine is not able to remove the PHI cycles on the 64-bit values but
      the separate 32-bit values can be optimized.  I measured the compile time 
      impact of this (running llc on 176.gcc) and it was not significant.
      
      llvm-svn: 95951
      0827e040
  11. Feb 02, 2010
  12. Jan 19, 2010
  13. Jan 15, 2010
  14. Jan 13, 2010
  15. Dec 14, 2009
  16. Dec 02, 2009
  17. Nov 26, 2009
    • Bob Wilson's avatar
      Split tail duplication into a separate pass. This is needed to avoid · 2d4ff12d
      Bob Wilson authored
      running tail duplication when doing branch folding for if-conversion, and
      we also want to be able to run tail duplication earlier to fix some
      reg alloc problems.  Move the CanFallThrough function from BranchFolding
      to MachineBasicBlock so that it can be shared by TailDuplication.
      
      llvm-svn: 89904
      2d4ff12d
  18. Nov 04, 2009
  19. Oct 26, 2009
  20. Oct 08, 2009
  21. Sep 17, 2009
  22. Sep 16, 2009
  23. Aug 23, 2009
  24. Aug 17, 2009
  25. Aug 10, 2009
  26. Aug 07, 2009
  27. Aug 04, 2009
  28. Jul 31, 2009
  29. Jul 06, 2009
  30. Jul 02, 2009
  31. Jun 26, 2009
  32. Jun 11, 2009
  33. Jun 03, 2009
Loading