Skip to content
  1. Jun 02, 2010
  2. May 22, 2010
  3. May 21, 2010
  4. May 13, 2010
  5. Apr 21, 2010
  6. Apr 20, 2010
  7. Apr 02, 2010
  8. Mar 24, 2010
  9. Mar 23, 2010
  10. Mar 11, 2010
  11. 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
  12. Mar 09, 2010
  13. Mar 06, 2010
  14. Mar 04, 2010
  15. Mar 03, 2010
  16. Mar 02, 2010
Loading