Skip to content
  1. Jul 24, 2013
  2. Jul 12, 2013
    • Charles Davis's avatar
      Target/X86: Add explicit Win64 and System V/x86-64 calling conventions. · e8f297ca
      Charles Davis authored
      Summary:
      This patch adds explicit calling convention types for the Win64 and
      System V/x86-64 ABIs. This allows code to override the default, and use
      the Win64 convention on a target that wants to use SysV (and
      vice-versa). This is needed to implement the `ms_abi` and `sysv_abi` GNU
      attributes.
      
      Reviewers:
      
      CC:
      
      llvm-svn: 186144
      e8f297ca
  3. Apr 03, 2013
  4. Feb 22, 2013
  5. Nov 20, 2012
  6. Nov 16, 2012
  7. Oct 24, 2012
  8. May 30, 2012
  9. May 08, 2012
    • Jakob Stoklund Olesen's avatar
      s/CSR_Ghc/CSR_NoRegs/ · 276ae140
      Jakob Stoklund Olesen authored
      Share the CalleeSavedRegs defs between all calling conventions having no
      callee-saved registers.
      
      Patch by Yiannis Tsiouris!
      
      llvm-svn: 156382
      276ae140
  10. Feb 22, 2012
  11. Feb 18, 2012
  12. Feb 01, 2012
  13. Jan 17, 2012
  14. Jan 10, 2012
  15. Dec 01, 2011
  16. Jul 01, 2011
  17. Mar 03, 2011
  18. Mar 02, 2011
  19. Dec 10, 2010
    • Nate Begeman's avatar
      Formalize the notion that AVX and SSE are non-overlapping extensions from the... · 8b08f523
      Nate Begeman authored
      Formalize the notion that AVX and SSE are non-overlapping extensions from the compiler's point of view.  Per email discussion, we either want to always use VEX-prefixed instructions or never use them, and are taking "HasAVX" to mean "Always use VEX".  Passing -mattr=-avx,+sse42 should serve to restore legacy SSE support when desirable.
      
      llvm-svn: 121439
      8b08f523
  20. Oct 31, 2010
  21. Oct 01, 2010
    • Dale Johannesen's avatar
      Massive rewrite of MMX: · dd224d23
      Dale Johannesen authored
      The x86_mmx type is used for MMX intrinsics, parameters and
      return values where these use MMX registers, and is also
      supported in load, store, and bitcast.
      
      Only the above operations generate MMX instructions, and optimizations
      do not operate on or produce MMX intrinsics. 
      
      MMX-sized vectors <2 x i32> etc. are lowered to XMM or split into
      smaller pieces.  Optimizations may occur on these forms and the
      result casted back to x86_mmx, provided the result feeds into a
      previous existing x86_mmx operation.
      
      The point of all this is prevent optimizations from introducing
      MMX operations, which is unsafe due to the EMMS problem.
      
      llvm-svn: 115243
      dd224d23
  22. Aug 06, 2010
  23. Jul 05, 2010
  24. May 16, 2010
  25. Mar 11, 2010
  26. Dec 15, 2009
  27. Aug 03, 2009
  28. Jun 12, 2009
    • Arnold Schwaighofer's avatar
      Fix Bug 4278: X86-64 with -tailcallopt calling convention · e3a018d7
      Arnold Schwaighofer authored
      out of sync with regular cc.
      
      The only difference between the tail call cc and the normal
      cc was that one parameter register - R9 - was reserved for
      calling functions through a function pointer. After time the
      tail call cc has gotten out of sync with the regular cc. 
      
      We can use R11 which is also caller saved but not used as
      parameter register for potential function pointers and
      remove the special tail call cc on x86-64.
      
      llvm-svn: 73233
      e3a018d7
  29. Mar 24, 2009
    • Dan Gohman's avatar
      I was convinced that it's ok to allow a second i8 return value · efd2d44a
      Dan Gohman authored
      to be returned in DL. LLVM's multiple-return-value support is
      not ABI-conforming; front-ends that wish to have code emitted
      that conforms to an ABI are currently expected to make
      arrangements for this on their own rather than assuming that
      multiple-return-values will automatically do the right thing.
      This commit doesn't fundamentally change this situation.
      
      llvm-svn: 67588
      efd2d44a
  30. Mar 23, 2009
  31. Feb 23, 2009
  32. Feb 22, 2009
  33. Feb 01, 2009
  34. Dec 03, 2008
Loading