Skip to content
  1. Nov 17, 2010
    • Evan Cheng's avatar
      Remove ARM isel hacks that fold large immediates into a pair of add, sub, and, · 7f8ab6ee
      Evan Cheng authored
      and xor. The 32-bit move immediates can be hoisted out of loops by machine
      LICM but the isel hacks were preventing them.
      
      Instead, let peephole optimization pass recognize registers that are defined by
      immediates and the ARM target hook will fold the immediates in.
      
      Other changes include 1) do not fold and / xor into cmp to isel TST / TEQ
      instructions if there are multiple uses. This happens when the 'and' is live
      out, machine sink would have sinked the computation and that ends up pessimizing
      code. The peephole pass would recognize situations where the 'and' can be
      toggled to define CPSR and eliminate the comparison anyway.
      
      2) Move peephole pass to after machine LICM, sink, and CSE to avoid blocking
      important optimizations.
      
      rdar://8663787, rdar://8241368
      
      llvm-svn: 119548
      7f8ab6ee
  2. Nov 06, 2010
  3. Nov 02, 2010
  4. Nov 01, 2010
  5. Oct 13, 2010
  6. Oct 11, 2010
  7. Oct 08, 2010
  8. Sep 24, 2010
  9. Aug 08, 2010
  10. Aug 06, 2010
  11. Jul 31, 2010
  12. Mar 27, 2010
  13. Mar 18, 2010
  14. Feb 28, 2010
  15. Feb 10, 2010
  16. Oct 29, 2009
  17. Oct 01, 2009
    • Evan Cheng's avatar
      Add instruction flags: hasExtraSrcRegAllocReq and hasExtraDefRegAllocReq. When · 46668e09
      Evan Cheng authored
      set, these flags indicate the instructions source / def operands have special
      register allocation requirement that are not captured in their register classes.
      Post-allocation passes (e.g. post-alloc scheduler) should not change their
      allocations. e.g. ARM::LDRD require the two definitions to be allocated
      even / odd register pair.
      
      llvm-svn: 83196
      46668e09
  18. Dec 03, 2008
  19. May 29, 2008
  20. Mar 15, 2008
  21. Jan 10, 2008
    • Chris Lattner's avatar
      Start inferring side effect information more aggressively, and fix many bugs in the · 317332fc
      Chris Lattner authored
      x86 backend where instructions were not marked maystore/mayload, and perf issues where
      instructions were not marked neverHasSideEffects.  It would be really nice if we could
      write patterns for copy instructions.
      
      I have audited all the x86 instructions down to MOVDQAmr.  The flags on others and on
      other targets are probably not right in all cases, but no clients currently use this
      info that are enabled by default.
      
      llvm-svn: 45829
      317332fc
  22. Jan 08, 2008
  23. Jan 07, 2008
  24. Jan 06, 2008
  25. Dec 29, 2007
Loading