- User Since
- Nov 19 2016, 5:25 PM (79 w, 2 h)
Thu, May 24
Full nofib log:
I've run nofib this night and results actually look quite good after a bit of tweaking!
Some adjustments to the weights.
Wed, May 23
As it stands performance is about the same but compile times are slightly worse.
Mon, May 21
Wed, May 16
I think this covers the case in Trac #15126?
- Add TrieMap instance for LabelMap.
Wed, May 9
Have you tested the performance implications?
I remember some programs in nofib actually getting slower with larger allocation sizes.
Mon, May 7
This my latest changeset for likelyhood in GHC.
Mon, Apr 30
For now I simply removed the comments with the invariant.
- Remove comment with invariant.
- Remove comment with invariant, panic in case JMP_TBL contains non label destination during static table generation.
Fri, Apr 27
This is a WIP patch. The main things it does are:
Apr 24 2018
- Rename: CoreTrieMap -> CoreMap
Apr 22 2018
Apr 20 2018
Apr 19 2018
Apr 17 2018
- Use leave compression.
Apr 16 2018
Remove unused type variable.
- Revert back to using ListTrieMap.
Apr 15 2018
- Pretty up the code slightly.
- Replace TrieMap with regular Map in CmmCommBlockElim
Apr 14 2018
Updating the references in JMP_TBL was introduced in https://phabricator.haskell.org/D4595.
Apr 11 2018
Apr 8 2018
Apr 5 2018
Apr 2 2018
It's also worth pointing out that running the pass changes code layout even when it doesn't remove jumps.
Which at least for nofib probably makes this impossible to benchmark.
Apr 1 2018
Mar 18 2018
Mar 17 2018
In a discussion with alexbiehl about code being placed inside of loops I realized we could take advantage of the occurrence checker to find simple loops and mark looping branches as likely.
- Optionally balance the switchplan tree by branch weight.
Mar 12 2018
Mar 8 2018
Feb 22 2018
I've run nofib overnight and the results were a bit underwhelming.
As it stands it's most likely not worth merging.
Feb 21 2018
Use branche weights when constructing a plan from a SwitchPlan.
Feb 20 2018
Feb 19 2018
Feb 11 2018
- Remove unneccesary llvm metadata constructors
- Make unlikely bottoms a flag
- Rename Freq to BranchWeight, Add Note, Make Weight newtype.
- Expanded comments some more
- Lint/Wall fixes
- Remove last todofs
- Lint suggestions applied
- Rebased on master
- Remove all TODOF's.
- Incorporate feedback from Phab review.
- Make Freq a newtype and rename it to BranchWeight.
- Output weights as llvm metadata
Feb 10 2018
Feb 8 2018
I think the comment is much improved already but still slightly misleading.
Feb 5 2018
Feb 1 2018
Regarding the assembly difference:
Jan 30 2018
Generally fine, thanks, but a few more signposts would be really helpful.
Jan 29 2018
- Test case comment, remove unsafeCoerce
- Expanded comments.
- Move likeliness out of core for now.
- Remove more TODOF's.
Jan 28 2018
- Update comment
- Add Testcase
- Expand comment
- Mark xmm6 AND ABOVE as callee saves
- Respect Win64 ABI (save xmm6-15) in StgRun.
Mixed up caller/callee in the comment.
Jan 26 2018
- Rebased onto master.
Jan 25 2018
I've removed the isNothing condition.
- Move inversion of conditional for likely:True to CmmContFlowOpt
Jan 24 2018
Comparison with transform on False (baseline) and transform on Nothing. Run with NoFibRuns=30.
Make sure to add the working_dir behaviour to the summary so that it appears in the commit message.
Jan 23 2018
I've looked into it a bit more.