This is a scrap page, so things might be duplicated and those kinds of things.
Tickets I'm interested in:
#9660 - After/During tag inference
IO Manager: !1224 (diffs)
This is currently my main focus. Things below are on my list but not neccesarily listed by priority.
#16354 - LLVM broken on windows - TODO
Also include it in CI:
AndreasK, Ideally we would handle LLVM toolchain the same way we handle GHC and xcabal-install
3:59 PM see .gitlab/win32-init.sh
Pointer tagging in GHC (various tickets, see below).
Branch likelyhood: #14672
Register allocator improvements: #7063, #8048, #12232, #13051, #16243
Avoid certain stack checks: #17092
#17784 lookupIdSubst fails because bindings are not in dep order.
#13535 Simplifier choking on vector test suite
!2580 (closed) - Update RULES for elem
!2575 - MR to enable fdicts-strict by default. Seems to be correct, needs perf analysis.
!2574 (closed)- Refactor DataCon codegen - needs review
#17759 investigate base functions which currently fail to specialize
#9342 - Branchless Int operations
#17237 Cmm FloatOut - Put shared cmm statements into the common path
#17238 Generate lookup instead of jump tables
#17242 Use dataToTag# for Eq instances
#17240 Code duplication for code evaluating arguments.
#1257 - Support unboxed tuples in GHCi/bytecode.
#13763 - Runtime (register alloc?) regression
Most things runtime performance related
See also the "pointer tagging" tag: issues
Instead of tagging large families with a flag indicating evaluation, tag them with the tag if possible and the flag only for constructors not fitting in the tag.
This is a project of Gabor Greif and he indicated he still want's to finish this recently (@ICFP 2019)
He stated this is blocked on #15155 in the past but I did not look into why/how.
This patch exposes the backends view of exported ids in interface files.
The benefits are that we can:
The benefits of this are:
There are two tickets about this currently:
Both are related to #16970, implementing #16970 will also fix both of these.
See the issues tagged with pointer tagging on the tracker.