- User Since
- Nov 19 2016, 5:25 PM (147 w, 6 d)
Thu, Sep 19
Tue, Aug 27
Fri, Aug 23
Aug 14 2019
Aug 2 2019
Jul 30 2019
Jul 21 2019
Jul 20 2019
Jul 13 2019
Jul 11 2019
Jul 4 2019
Jun 18 2019
Jun 13 2019
Apr 19 2019
Apr 17 2019
Apr 12 2019
Apr 6 2019
Apr 2 2019
Mar 28 2019
I have a branch on gitlab for LIKELY pragmas which includes this work.
Mar 4 2019
Jan 24 2019
Jan 2 2019
Dec 29 2018
Dec 26 2018
Dec 24 2018
Abandoned in favour of D5469
Dec 23 2018
Dec 21 2018
Comparing a hash is certainly a cleaner solution.
Dec 13 2018
One thing to watch out for is full-laziness floating out the actual work and then sharing it between iterations. (I've seen that in one of the nofib benchmarks when I adjusted the runtimes).
Dec 11 2018
Dec 10 2018
- Improve desugaring and surface syntax.
- Fix some bugs in the simplifier where we used to drop the weight.
It just occurred to me while talking to @jmct that we could also just throw away the result and not compare it as well, if it's only about measuring compression speed.
Dec 8 2018
Dec 5 2018
@bgamari Reminder to put this also into 8.8
Hard to say which optimization makes how much of an difference, but at the moment this provides a 3.2% speedup over the base commit on nofib.
However compile times also go up by 2%.
- Wip - likely pragmas
Dec 4 2018
Submodules, how do they work.
Nov 30 2018
Nofib showed a 2% improvement in runtime after the rebase. The Layout changes paying off it seems.
Rebase, add option to allocate registers along the hot code path first.
Nov 29 2018
First of this is a great idea!
Nov 28 2018
That's the assembler error, -Wa,-mbig-obj should have fixed that.
what exactly was the error that made you think this was needed @bgamari ?
CI doesn't lie I also get
Nov 27 2018
There seems to be some sort of syntax error in your changes.
checking whether C compiler has an LLVM back end... no checking Setting up CFLAGS, LDFLAGS, IGNORE_LINKER_LD_FLAGS and CPPFLAGS... ./configure: line 9512: syntax error near unexpected token `when' ./configure: line 9512: ` case $target when'
Nov 25 2018
I've looked at this a bit and the big issue I see is repeated spilling/reloading of live vars.
Nov 23 2018
Nofib results on a really quite machine. (Sandy bridge xeon with no background load).
So runtime results should be accurate up to +/- 0.1%.
Nov 22 2018
I rebased this as my patch broke it.
Nov 21 2018
I validated locally and it seems to fix SPJs error as well. Is it ok to merge this as is?
I guess I will try to rebase this once CI is in order again.
Nov 20 2018
Applied the suggestion and expanded/reworded the comment slightly.
- Slightly expanded the comment, applied SPJs suggestion.
LGTM, thanks for noticing and fixing this!
Nov 19 2018
- Use right <toList> function.
Nov 17 2018
- Rebase, add release note.
Nov 16 2018
- Use foldMap to collect nodes of the cfg
- Bikeshedding of flag names
- More bikeshedding
Given that validate was broken by this I'm going to take the leap and land this.
Nov 14 2018
As I want to get this into 8.8 a last call for reviews! I will look to land this in the next two days.
Oct 22 2018
I looked at StgBinderInfo when I was looking at https://ghc.haskell.org/trac/ghc/ticket/15560 in the past.
- Add test to check response files actually work.
Oct 20 2018
Thank you for the feedback!
- Refactorings based on Phab feedback.
Oct 8 2018
The Cmm pipeline has multiple stages.
It would be good to give a reason why we allow people to hook into it at the place you suggest.
Oct 5 2018
Thanks for the review!
Sep 27 2018
- Rebase artefact
Sep 14 2018
I found some slowdowns in the binary benchmarks with this patch which can be traced back to how some Cmm files are compiled in the RTS.
Not sure if the resulting code is actually worse as that depends on the actual program, but it's definitely worse for the binary benchmarks.
Sep 7 2018
This should probably be mentioned in the Changelog as it can break existing code. (For example it breaks the packman package).