Skip to content
  1. Jul 22, 2010
  2. Jul 16, 2010
  3. Jul 08, 2010
  4. Jul 03, 2010
  5. Jun 05, 2010
  6. Jun 03, 2010
  7. Jun 02, 2010
  8. May 22, 2010
  9. May 21, 2010
  10. May 13, 2010
  11. Apr 21, 2010
  12. Apr 20, 2010
  13. Apr 02, 2010
  14. Mar 24, 2010
  15. Mar 23, 2010
  16. Mar 11, 2010
  17. Mar 10, 2010
    • Evan Cheng's avatar
      Add a couple more heuristics to neuter machine cse some more. · 4c5f7a7f
      Evan Cheng authored
      1. Be careful with cse "cheap" expressions. e.g. constant materialization. Only cse them when the common expression is local or in a direct predecessor. We don't want cse of cheap instruction causing other expressions to be spilled.
      2. Watch out for the case where the expression doesn't itself uses a virtual register. e.g. lea of frame object. If the common expression itself is used by copies (common for passing addresses to function calls), don't perform the cse. Since these expressions do not use a register, it creates a live range but doesn't close any, we want to be very careful with increasing register pressure.
      
      Note these are heuristics so machine cse doesn't make register allocator unhappy. Once we have proper live range splitting and re-materialization support in place, these should be evaluated again.
      
      Now machine cse is almost always a win on llvm nightly tests on x86 and x86_64.
      
      llvm-svn: 98121
      4c5f7a7f
  18. Mar 09, 2010
  19. Mar 06, 2010
  20. Mar 04, 2010
  21. Mar 03, 2010
  22. Mar 02, 2010
Loading