[commit: ghc] ghc-8.4: Multiple fixes / improvements for LLVM backend (6e361d8)

git at git.haskell.org git at git.haskell.org
Mon Oct 8 21:32:48 UTC 2018


Repository : ssh://git@git.haskell.org/ghc

On branch  : ghc-8.4
Link       : http://ghc.haskell.org/trac/ghc/changeset/6e361d895dda4600a85e01c72ff219474b5c7190/ghc

>---------------------------------------------------------------

commit 6e361d895dda4600a85e01c72ff219474b5c7190
Author: Kavon Farvardin <kavon at farvard.in>
Date:   Thu Oct 4 13:44:55 2018 -0400

    Multiple fixes / improvements for LLVM backend
    
    - Fix for #13904 -- stop "trashing" callee-saved registers, since it is
      not actually doing anything useful.
    
    - Fix for #14251 -- fixes the calling convention for functions passing
      raw SSE-register values by adding padding as needed to get the values
      in the right registers. This problem cropped up when some args were
      unused an dropped from the live list.
    
    - Fixed a typo in 'readnone' attribute
    
    - Added 'lower-expect' pass to level 0 LLVM optimization passes to
      improve block layout in LLVM for stack checks, etc.
    
    Test Plan: `make test WAYS=optllvm` and `make test WAYS=llvm`
    
    Reviewers: bgamari, simonmar, angerman
    
    Reviewed By: angerman
    
    Subscribers: rwbarton, carter
    
    GHC Trac Issues: #13904, #14251
    
    Differential Revision: https://phabricator.haskell.org/D5190
    
    (cherry picked from commit adcb5fb47c0942671d409b940d8884daa9359ca4)


>---------------------------------------------------------------

6e361d895dda4600a85e01c72ff219474b5c7190
 compiler/llvmGen/Llvm/Types.hs           |  2 +-
 compiler/llvmGen/LlvmCodeGen/Base.hs     | 62 +++++++++++++++++++++++++++-----
 compiler/llvmGen/LlvmCodeGen/CodeGen.hs  | 59 ++++++------------------------
 compiler/main/DriverPipeline.hs          |  2 +-
 testsuite/tests/codeGen/should_run/all.T |  4 +--
 5 files changed, 67 insertions(+), 62 deletions(-)

Diff suppressed because of size. To see it, use:

    git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 6e361d895dda4600a85e01c72ff219474b5c7190


More information about the ghc-commits mailing list