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 adcb5fb4)
Showing
-
mentioned in issue #13904 (closed)
-
mentioned in issue #14251 (closed)
-
mentioned in issue #15667 (closed)
-
mentioned in commit 76d8022d
-
mentioned in merge request !2422 (closed)
-
mentioned in commit 8190aa11
-
mentioned in commit 71f172a0
-
mentioned in commit c53b1a3f
-
mentioned in commit 54884dd3
-
mentioned in commit 90e98549
-
mentioned in commit 106356c9
-
mentioned in commit cd6e625b
-
mentioned in commit e015eb33
-
mentioned in commit 72a8b7f7
-
mentioned in commit e0d0231d
-
mentioned in commit 3df3ed23
-
mentioned in commit 83b547d4
-
mentioned in commit 89418158
-
mentioned in commit e90ecc93
Please register or sign in to comment