[commit: ghc] wip/kavon-llvm-improve: Multiple fixes / improvements for LLVM backend #13904 (0424cc8)

git at git.haskell.org git at git.haskell.org
Mon Oct 1 00:10:23 UTC 2018


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

On branch  : wip/kavon-llvm-improve
Link       : http://ghc.haskell.org/trac/ghc/changeset/0424cc8a589590925738ca0748d47321e526698d/ghc

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

commit 0424cc8a589590925738ca0748d47321e526698d
Merge: aa362d4 df67f95
Author: Kavon Farvardin <kavon at farvard.in>
Date:   Sun Sep 30 18:51:52 2018 -0500

    Multiple fixes / improvements for LLVM backend #13904
    
    Summary:
    - 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
    
    Subscribers: rwbarton, carter
    
    Differential Revision: https://phabricator.haskell.org/D5190



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

0424cc8a589590925738ca0748d47321e526698d
 compiler/deSugar/Check.hs                          | 89 +++++++++++++++-------
 compiler/main/DynFlags.hs                          |  6 +-
 compiler/main/SysTools/ExtraObj.hs                 |  4 +
 compiler/typecheck/TcExpr.hs                       |  7 +-
 compiler/typecheck/TcMType.hs                      | 12 ++-
 compiler/typecheck/TcSimplify.hs                   | 53 ++++++++++++-
 compiler/utils/MonadUtils.hs                       |  7 ++
 docs/users_guide/phases.rst                        | 14 ++++
 testsuite/tests/pmcheck/should_compile/T14813.hs   | 28 +++++++
 testsuite/tests/pmcheck/should_compile/T15305.hs   |  5 --
 .../tests/pmcheck/should_compile/T15305.stderr     |  2 +-
 testsuite/tests/pmcheck/should_compile/all.T       |  2 +
 testsuite/tests/rts/KeepCafs1.hs                   |  9 +++
 testsuite/tests/rts/KeepCafs2.hs                   |  9 +++
 testsuite/tests/rts/KeepCafsBase.hs                |  4 +
 testsuite/tests/rts/KeepCafsMain.hs                | 25 ++++++
 testsuite/tests/rts/Makefile                       | 10 +++
 testsuite/tests/rts/all.T                          | 22 ++++++
 testsuite/tests/rts/keep-cafs-fail.stdout          |  5 ++
 .../tests/rts/keep-cafs.stdout                     |  1 +
 20 files changed, 269 insertions(+), 45 deletions(-)



More information about the ghc-commits mailing list