Skip to content
  1. Jul 18, 2013
  2. Jul 17, 2013
  3. 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
  4. Jul 09, 2013
  5. Jun 22, 2013
    • David Blaikie's avatar
      DebugInfo: Don't lose unreferenced non-trivial by-value parameters · 97c6c5bd
      David Blaikie authored
      A FastISel optimization was causing us to emit no information for such
      parameters & when they go missing we end up emitting a different
      function type. By avoiding that shortcut we not only get types correct
      (very important) but also location information (handy) - even if it's
      only live at the start of a function & may be clobbered later.
      
      Reviewed/discussion by Evan Cheng & Dan Gohman.
      
      llvm-svn: 184604
      97c6c5bd
  6. Jun 12, 2013
  7. Jun 07, 2013
  8. May 30, 2013
    • Tim Northover's avatar
      X86: use sub-register sequences for MOV*r0 operations · 64ec0ff4
      Tim Northover authored
      Instead of having a bunch of separate MOV8r0, MOV16r0, ... pseudo-instructions,
      it's better to use a single MOV32r0 (which will expand to "xorl %reg, %reg")
      and obtain other sizes with EXTRACT_SUBREG and SUBREG_TO_REG. The encoding is
      smaller and partial register updates can sometimes be avoided.
      
      Until recently, this sequence was a barrier to rematerialization though. That
      should now be fixed so it's an appropriate time to make the change.
      
      llvm-svn: 182928
      64ec0ff4
    • Tim Northover's avatar
      X86: change zext moves to use sub-register infrastructure. · 04eb4234
      Tim Northover authored
      32-bit writes on amd64 zero out the high bits of the corresponding 64-bit
      register. LLVM makes use of this for zero-extension, but until now relied on
      custom MCLowering and other code to fixup instructions. Now we have proper
      handling of sub-registers, this can be done by creating SUBREG_TO_REG
      instructions at selection-time.
      
      Should be no change in functionality.
      
      llvm-svn: 182921
      04eb4234
  9. Apr 20, 2013
  10. Apr 18, 2013
    • Derek Schuff's avatar
      Allow misaligned stores in x86 fast-isel. · a403d243
      Derek Schuff authored
      In X86FastISel::X86SelectStore(), improperly aligned stores are rejected and
      handled by the DAG-based ISel.  However, X86FastISel::X86SelectLoad() makes
      no such requirement.  There doesn't appear to be an x86 architectural
      correctness issue with allowing potentially unaligned store instructions.
      This patch removes this restriction.
      
      Patch by Jim Stichnot.
      
      llvm-svn: 179774
      a403d243
  11. Apr 17, 2013
  12. Apr 02, 2013
  13. Mar 28, 2013
  14. Mar 14, 2013
  15. Feb 26, 2013
  16. Feb 25, 2013
  17. Feb 18, 2013
  18. Feb 17, 2013
  19. Feb 14, 2013
  20. Feb 05, 2013
  21. Jan 02, 2013
    • Chandler Carruth's avatar
      Move all of the header files which are involved in modelling the LLVM IR · 9fb823bb
      Chandler Carruth authored
      into their new header subdirectory: include/llvm/IR. This matches the
      directory structure of lib, and begins to correct a long standing point
      of file layout clutter in LLVM.
      
      There are still more header files to move here, but I wanted to handle
      them in separate commits to make tracking what files make sense at each
      layer easier.
      
      The only really questionable files here are the target intrinsic
      tablegen files. But that's a battle I'd rather not fight today.
      
      I've updated both CMake and Makefile build systems (I think, and my
      tests think, but I may have missed something).
      
      I've also re-sorted the includes throughout the project. I'll be
      committing updates to Clang, DragonEgg, and Polly momentarily.
      
      llvm-svn: 171366
      9fb823bb
  22. Dec 30, 2012
  23. Dec 19, 2012
  24. Dec 11, 2012
  25. Dec 03, 2012
    • Chandler Carruth's avatar
      Use the new script to sort the includes of every file under lib. · ed0881b2
      Chandler Carruth authored
      Sooooo many of these had incorrect or strange main module includes.
      I have manually inspected all of these, and fixed the main module
      include to be the nearest plausible thing I could find. If you own or
      care about any of these source files, I encourage you to take some time
      and check that these edits were sensible. I can't have broken anything
      (I strictly added headers, and reordered them, never removed), but they
      may not be the headers you'd really like to identify as containing the
      API being implemented.
      
      Many forward declarations and missing includes were added to a header
      files to allow them to parse cleanly when included first. The main
      module rule does in fact have its merits. =]
      
      llvm-svn: 169131
      ed0881b2
  26. Nov 15, 2012
  27. Nov 01, 2012
    • Chandler Carruth's avatar
      Revert the series of commits starting with r166578 which introduced the · 7ec5085e
      Chandler Carruth authored
      getIntPtrType support for multiple address spaces via a pointer type,
      and also introduced a crasher bug in the constant folder reported in
      PR14233.
      
      These commits also contained several problems that should really be
      addressed before they are re-committed. I have avoided reverting various
      cleanups to the DataLayout APIs that are reasonable to have moving
      forward in order to reduce the amount of churn, and minimize the number
      of commits that were reverted. I've also manually updated merge
      conflicts and manually arranged for the getIntPtrType function to stay
      in DataLayout and to be defined in a plausible way after this revert.
      
      Thanks to Duncan for working through this exact strategy with me, and
      Nick Lewycky for tracking down the really annoying crasher this
      triggered. (Test case to follow in its own commit.)
      
      After discussing with Duncan extensively, and based on a note from
      Micah, I'm going to continue to back out some more of the more
      problematic patches in this series in order to ensure we go into the
      LLVM 3.2 branch with a reasonable story here. I'll send a note to
      llvmdev explaining what's going on and why.
      
      Summary of reverted revisions:
      
      r166634: Fix a compiler warning with an unused variable.
      r166607: Add some cleanup to the DataLayout changes requested by
               Chandler.
      r166596: Revert "Back out r166591, not sure why this made it through
               since I cancelled the command. Bleh, sorry about this!
      r166591: Delete a directory that wasn't supposed to be checked in yet.
      r166578: Add in support for getIntPtrType to get the pointer type based
               on the address space.
      llvm-svn: 167221
      7ec5085e
    • Michael Liao's avatar
      Cleanup another place redundant SP maintained · 70a99c8e
      Michael Liao authored
      llvm-svn: 167209
      70a99c8e
  28. Oct 24, 2012
  29. Oct 09, 2012
  30. Oct 03, 2012
  31. Oct 02, 2012
Loading