[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