Skip to content
  1. Aug 21, 2010
  2. Jul 23, 2010
  3. Jul 05, 2010
  4. Jun 14, 2010
  5. May 27, 2010
  6. Apr 28, 2010
  7. Apr 21, 2010
  8. Apr 02, 2010
  9. Apr 01, 2010
  10. Mar 18, 2010
  11. Mar 14, 2010
  12. Jan 27, 2010
    • Jeffrey Yasskin's avatar
      Kill ModuleProvider and ghost linkage by inverting the relationship between · 091217be
      Jeffrey Yasskin authored
      Modules and ModuleProviders. Because the "ModuleProvider" simply materializes
      GlobalValues now, and doesn't provide modules, it's renamed to
      "GVMaterializer". Code that used to need a ModuleProvider to materialize
      Functions can now materialize the Functions directly. Functions no longer use a
      magic linkage to record that they're materializable; they simply ask the
      GVMaterializer.
      
      Because the C ABI must never change, we can't remove LLVMModuleProviderRef or
      the functions that refer to it. Instead, because Module now exposes the same
      functionality ModuleProvider used to, we store a Module* in any
      LLVMModuleProviderRef and translate in the wrapper methods.  The bindings to
      other languages still use the ModuleProvider concept.  It would probably be
      worth some time to update them to follow the C++ more closely, but I don't
      intend to do it.
      
      Fixes http://llvm.org/PR5737 and http://llvm.org/PR5735.
      
      llvm-svn: 94686
      091217be
  13. Jan 11, 2010
    • David Greene's avatar
      · 206351a1
      David Greene authored
      Implement a feature (-vector-unaligned-mem) to allow targets to
      ignore alignment requirements for SIMD memory operands.  This
      is useful on architectures like the AMD 10h that do not trap on
      unaligned references if a status bit is twiddled at startup time.
      
      llvm-svn: 93151
      206351a1
  14. Jan 05, 2010
  15. Dec 22, 2009
  16. Dec 18, 2009
    • Evan Cheng's avatar
      On recent Intel u-arch's, folding loads into some unary SSE instructions can · 4cf30b72
      Evan Cheng authored
      be non-optimal. To be precise, we should avoid folding loads if the instructions
      only update part of the destination register, and the non-updated part is not
      needed. e.g. cvtss2sd, sqrtss. Unfolding the load from these instructions breaks
      the partial register dependency and it can improve performance. e.g.
      
      movss (%rdi), %xmm0
      cvtss2sd %xmm0, %xmm0
      
      instead of
      cvtss2sd (%rdi), %xmm0
      
      An alternative method to break dependency is to clear the register first. e.g.
      xorps %xmm0, %xmm0
      cvtss2sd (%rdi), %xmm0
      
      llvm-svn: 91672
      4cf30b72
  17. Dec 07, 2009
  18. Nov 21, 2009
  19. Nov 14, 2009
  20. Nov 13, 2009
  21. Nov 10, 2009
  22. Oct 15, 2009
  23. Sep 03, 2009
  24. Sep 02, 2009
  25. Aug 28, 2009
  26. Aug 12, 2009
  27. Aug 05, 2009
  28. Aug 03, 2009
  29. Jul 19, 2009
  30. Jul 17, 2009
  31. Jul 10, 2009
Loading