alexbiehl (Alex Biehl)
User

Projects

User does not belong to any projects.

Today

  • Clear sailing ahead.

Tomorrow

  • Clear sailing ahead.

Sunday

  • Clear sailing ahead.

User Details

User Since
Jan 27 2016, 7:02 AM (108 w, 2 d)
Availability
Available

Recent Activity

Sat, Feb 3

alexbiehl added a comment to D4365: Build Haddocks with --quickjump.

I have added a patch to haddock: https://github.com/haskell/haddock/commit/86292c54bfee2343aee84559ec01f1fc68f52231. @bgamari unfortunately that means we need another Haddock bump...

Sat, Feb 3, 5:13 AM

Fri, Feb 2

alexbiehl accepted D4365: Build Haddocks with --quickjump.
Fri, Feb 2, 2:18 AM

Jan 22 2018

alexbiehl added inline comments to D4336: Option for LINE pragmas to get lexed into tokens.
Jan 22 2018, 7:32 AM
alexbiehl added inline comments to D4336: Option for LINE pragmas to get lexed into tokens.
Jan 22 2018, 7:32 AM

Jan 18 2018

alexbiehl added a comment to D4324: Add likely annotation to cmm files in a few obvious places..

I opened a PR which should fix the bug (https://github.com/ghc/ghc/pull/97). If desired I can make it a differential later today.

Jan 18 2018, 7:18 AM

Jan 17 2018

alexbiehl added inline comments to D4319: Add ptr-eq short-cut to `compareByteArrays#` primitive.
Jan 17 2018, 12:15 PM

Jan 15 2018

alexbiehl added a comment to D4306: Handle the likely:True case in CmmContFlowOpt.

@AndreasK Interesting! I never found a a way to exercise this transformation. It is part of CmmContFlowOpt (see https://github.com/ghc/ghc/blob/master/compiler/cmm/CmmContFlowOpt.hs#L291).

Jan 15 2018, 2:26 PM
alexbiehl added a comment to D4306: Handle the likely:True case in CmmContFlowOpt.

IIRC the only place where likeliness is currently used is in the heap/stack-checks (c.f. https://github.com/ghc/ghc/blob/master/compiler/codeGen/StgCmmHeap.hs#L628). Though these assume the condition won't evaluate to true (== Just False) so these won't trigger here.

Jan 15 2018, 10:48 AM
alexbiehl added a comment to D4309: Remove unused extern cost centre collection.

We already have nubSort, might that be an alternative?

Jan 15 2018, 1:53 AM
alexbiehl added a comment to D4309: Remove unused extern cost centre collection.

AFAIK CostCentre has an Ord instance maybe ordNub makes sense here? (I have no idea about distribution of cost centres)

Jan 15 2018, 1:24 AM

Jan 8 2018

alexbiehl added a comment to D4290: Haddock needs to pass visible modules for instance filtering.

@harpocrates Have you found out why this still misses some instances?

Jan 8 2018, 11:04 AM

Jan 6 2018

alexbiehl added a comment to D4290: Haddock needs to pass visible modules for instance filtering.

@harpocrates we can merge your PR on Github; then you can include a haddock submodule bump here.
@bgamari let's put this into 8.4.1 O:-)

Jan 6 2018, 6:28 PM

Jan 3 2018

alexbiehl added a comment to D4094: Support constructor Haddocks in more places.

@bgamari will you merge this into 8.4? If yes I will make sure to merge the PR into corresponding haddock branch.

Jan 3 2018, 3:54 AM

Dec 15 2017

alexbiehl added a comment to D4267: Pointer tagging for all families.

Let's say we have a big family BigFam with

Dec 15 2017, 4:59 AM

Dec 6 2017

alexbiehl added inline comments to D4249: [WIP] Optimize literal truncation.
Dec 6 2017, 1:54 AM

Nov 2 2017

alexbiehl added a comment to D4144: Bump haddock.

I profiled the regression and these are the top consumers:

Nov 2 2017, 3:08 PM
alexbiehl updated the diff for D4144: Bump haddock.
  • Another bump
Nov 2 2017, 12:46 PM
alexbiehl added a comment to D4145: CmmSink: Use a IntSet instead of a list.

I have put it up here a few days ago: https://perf.haskell.org/ghc/#compare/8843a39b3c941b1908a8d839f52bc323f3b45081/e2b7dff7108a2b3715a04c9c22f99077446ac6dc

Nov 2 2017, 10:54 AM

Nov 1 2017

alexbiehl added a comment to D4144: Bump haddock.

Let's see how this fares!

Nov 1 2017, 1:43 PM
alexbiehl updated the diff for D4144: Bump haddock.
  • Bump bump
Nov 1 2017, 1:27 PM
alexbiehl planned changes to D4144: Bump haddock.
Nov 1 2017, 11:34 AM
alexbiehl retitled D4145: CmmSink: Use a IntSet instead of a list from CmmSink: Use a UniqSet instead of a list to CmmSink: Use a IntSet instead of a list.
Nov 1 2017, 7:35 AM
alexbiehl added a comment to D4144: Bump haddock.

Harbourmaster indicates this regresses spaces/./perf/haddock/haddock.Cabal.run haddock.Cabal. I will have a look when I get home.

Nov 1 2017, 7:17 AM
alexbiehl added a comment to D4145: CmmSink: Use a IntSet instead of a list.

This could work. The size of skipped is bounded by the number of assignments so we could easily pre-allocate the Bloomfilter. tryToInline needs to run in ST to allow in-place updates. We need to be careful here: Bloomfilter allow for false positives. A Bloomfilter might indicate a LocalVariable is in skipped although it isn't! This brings the possibility of not inlining something which could in fact be inlined. We could invert the relation though so that we trigger a linear scan over skipped in case we are not sure.

Nov 1 2017, 5:37 AM
alexbiehl updated the diff for D4145: CmmSink: Use a IntSet instead of a list.
  • Use IntSet instead of UniqueSet
Nov 1 2017, 12:58 AM
alexbiehl added a comment to D4145: CmmSink: Use a IntSet instead of a list.
Wed Nov  1 06:52 2017 Time and Allocation Profiling Report  (Final)
Nov 1 2017, 12:54 AM
alexbiehl added a comment to D4145: CmmSink: Use a IntSet instead of a list.

Good idea @duog. I will try an IntSet instead. I don't expect huge saving though.

Nov 1 2017, 12:38 AM

Oct 31 2017

alexbiehl created D4146: Use proper Unique for Name.
Oct 31 2017, 5:32 PM
alexbiehl updated the Trac tickets for D4145: CmmSink: Use a IntSet instead of a list.
Oct 31 2017, 5:23 PM
Herald added a reviewer for D4145: CmmSink: Use a IntSet instead of a list: austin.
Oct 31 2017, 5:23 PM
alexbiehl updated the summary of D4144: Bump haddock.
Oct 31 2017, 4:45 PM
alexbiehl created D4144: Bump haddock.
Oct 31 2017, 4:44 PM

Oct 26 2017

alexbiehl updated the diff for D4091: Turn `compareByteArrays#` out-of-line primop into inline primop.
  • Implement inline compareByteArrays
  • Use temporary register for extension
Oct 26 2017, 1:18 AM

Oct 25 2017

alexbiehl added a comment to D4124: Fix space leak in BinIface.getSymbolTable.

@duog IIRC haddock uses the same logic to deserialise symbol tables! Could you port your patch over?

Oct 25 2017, 12:56 AM

Oct 16 2017

alexbiehl added a comment to D4094: Support constructor Haddocks in more places.

Thank you for your contribution @harpocrates. I am not at all familiar with the parser. But I noted two general points.

Oct 16 2017, 2:33 AM

Sep 4 2017

alexbiehl added a comment to D3864: Remember the AvailInfo for each IE.

No problem. Wish you a great time on ICFP. Wished I could join you there!

Sep 4 2017, 6:52 AM
alexbiehl added a comment to D3864: Remember the AvailInfo for each IE.

@bgamari What's the status here?

Sep 4 2017, 3:50 AM

Aug 25 2017

alexbiehl abandoned D3844: RFC: TcRnExports remembers `AvailInfo` for each IE with -haddock.
Aug 25 2017, 1:44 AM

Aug 24 2017

alexbiehl added a comment to D3864: Remember the AvailInfo for each IE.

@bgamari oh right:

Aug 24 2017, 8:22 AM

Aug 23 2017

alexbiehl retitled D3864: Remember the AvailInfo for each IE from [RFC] Remember the AvailInfo for each IE to Remember the AvailInfo for each IE.
Aug 23 2017, 11:43 PM

Aug 22 2017

alexbiehl updated the diff for D3864: Remember the AvailInfo for each IE.
  • Comments
Aug 22 2017, 2:45 AM

Aug 21 2017

alexbiehl updated the diff for D3864: Remember the AvailInfo for each IE.
  • forgot pragma
Aug 21 2017, 1:40 PM
alexbiehl updated the diff for D3864: Remember the AvailInfo for each IE.
  • Revert "[RFC] Remember the AvailInfo for each IE"
  • Store Avails separately
  • Revert "Store Avails separately"
  • Revert "Revert "[RFC] Remember the AvailInfo for each IE""
  • Use Avails type
  • Use Avails throughout
  • Data instance for AvailInfo
Aug 21 2017, 1:37 PM
alexbiehl updated the diff for D3864: Remember the AvailInfo for each IE.
  • Use Avails throughout
Aug 21 2017, 11:53 AM
alexbiehl updated the diff for D3864: Remember the AvailInfo for each IE.
  • Revert "Store Avails separately"
  • Revert "Revert "[RFC] Remember the AvailInfo for each IE""
  • Use Avails type
Aug 21 2017, 11:53 AM
alexbiehl updated the diff for D3864: Remember the AvailInfo for each IE.
  • Revert "[RFC] Remember the AvailInfo for each IE"
  • Store Avails separately
Aug 21 2017, 12:34 AM

Aug 17 2017

alexbiehl updated the summary of D3864: Remember the AvailInfo for each IE.
Aug 17 2017, 2:59 AM
alexbiehl added a comment to D3864: Remember the AvailInfo for each IE.

Instead of always storing the AvailInfo for each IE I could create a new field tcg_rn_exports_avails :: Maybe [Avails] or something in TcGblEnv. This way we could store them only when given the -haddock flag.

Aug 17 2017, 2:58 AM

Aug 16 2017

alexbiehl added a reviewer for D3864: Remember the AvailInfo for each IE: ezyang.
Aug 16 2017, 3:13 PM
alexbiehl retitled D3864: Remember the AvailInfo for each IE from [RFC] Remember the AvailInfo for each IE This is another take on https://phabricator.haskell.org/D3844 to [RFC] Remember the AvailInfo for each IE.
Aug 16 2017, 3:01 PM
alexbiehl created D3864: Remember the AvailInfo for each IE.
Aug 16 2017, 3:00 PM

Aug 13 2017

alexbiehl added a comment to D3844: RFC: TcRnExports remembers `AvailInfo` for each IE with -haddock.

@ezyang yes, you are right. Take this diff as a starter for discussion. Do you have a better idea?

Aug 13 2017, 11:21 AM
alexbiehl updated the summary of D3844: RFC: TcRnExports remembers `AvailInfo` for each IE with -haddock.
Aug 13 2017, 7:32 AM
alexbiehl created D3844: RFC: TcRnExports remembers `AvailInfo` for each IE with -haddock.
Aug 13 2017, 7:31 AM

Jul 11 2017

alexbiehl accepted D3720: Fix logic error in GhcMake.enableCodeGenForTH.

Thanks @duog! This looks correct now.

Jul 11 2017, 6:54 AM

Jul 7 2017

alexbiehl updated the summary of D3707: Optimize TimerManager.
Jul 7 2017, 1:08 AM

Jul 6 2017

alexbiehl updated the summary of D3707: Optimize TimerManager.
Jul 6 2017, 4:56 PM
alexbiehl retitled D3707: Optimize TimerManager from TimerManager: New PSQ based on IntPSQ from psqueues packet to Optimize TimerManager.
Jul 6 2017, 4:54 PM
alexbiehl updated the summary of D3707: Optimize TimerManager.
Jul 6 2017, 4:51 PM
alexbiehl updated the summary of D3707: Optimize TimerManager.
Jul 6 2017, 4:41 PM
alexbiehl updated the summary of D3707: Optimize TimerManager.
Jul 6 2017, 4:41 PM
alexbiehl updated the summary of D3707: Optimize TimerManager.
Jul 6 2017, 4:40 PM
alexbiehl updated the diff for D3707: Optimize TimerManager.
  • simplification
Jul 6 2017, 4:37 PM
alexbiehl updated the diff for D3707: Optimize TimerManager.
  • Don't unecessary wake timermanager
Jul 6 2017, 4:34 PM
alexbiehl added a comment to D3707: Optimize TimerManager.

Ok, I was able to restore the interface almost to the point where it was. Missing are toAscList and toDescList.

Jul 6 2017, 3:49 PM
alexbiehl updated the diff for D3707: Optimize TimerManager.
  • Reduce interface friction
Jul 6 2017, 3:46 PM
alexbiehl added a comment to D3707: Optimize TimerManager.

@Phyx Yes, it does. But now that we are talking about it. It wouldn't be a problem to keep the interface I guess.

Jul 6 2017, 2:27 PM
alexbiehl updated the diff for D3707: Optimize TimerManager.
  • fix warning
Jul 6 2017, 9:24 AM
Herald added a reviewer for D3707: Optimize TimerManager: austin.
Jul 6 2017, 2:31 AM

Jul 3 2017

alexbiehl added a comment to D3699: Allow per-argument documentation on pattern synonym signatures.

@bgamari could you also merge it to ghc-8.2?

Jul 3 2017, 8:40 AM

Jul 2 2017

alexbiehl added a reviewer for D3699: Allow per-argument documentation on pattern synonym signatures: mpickering.
Jul 2 2017, 11:28 PM
alexbiehl created D3699: Allow per-argument documentation on pattern synonym signatures.
Jul 2 2017, 11:26 PM

Jun 27 2017

alexbiehl accepted D3677: Fix -fno-code for modules that use -XQuasiQuotes.

Looks good to me. Thanks @duog!

Jun 27 2017, 3:10 AM

Jun 14 2017

alexbiehl accepted D3645: Add mapMG to allow making ModuleGraph abstract.
Jun 14 2017, 10:31 AM
alexbiehl added a comment to D3645: Add mapMG to allow making ModuleGraph abstract.

Thanks @niteria!

Jun 14 2017, 10:31 AM

Jun 5 2017

alexbiehl added a comment to D3542: Desugar modules compiled with -fno-code.

@bgamari You can bump haddock to a1b57146c5678b32eb5ac37021e93a81a4b73007 which includes @duog s patches.

Jun 5 2017, 2:14 PM

Jun 2 2017

alexbiehl added a comment to D3624: Add tcRnGetNameToInstancesIndex.

Nice, this will allow us to drop some unsettling logic in haddock. Personally I don't care which Map you use; NameEnv should be faster though.

Jun 2 2017, 6:24 AM

May 30 2017

alexbiehl added inline comments to D3618: Use CAS in unsafeThawArray.
May 30 2017, 12:44 AM

May 16 2017

alexbiehl added a comment to D3593: Improve Syb code.
May 16 2017, 11:59 PM
alexbiehl added a comment to D3593: Improve Syb code.

Thank you @duog!

May 16 2017, 11:59 PM

Apr 28 2017

alexbiehl accepted D3504: Use memcpy in cloneArray.
Apr 28 2017, 12:13 PM

Apr 27 2017

alexbiehl added a comment to D3504: Use memcpy in cloneArray.

@bgamari We should use memcpy for cloneSmallArray as well I think: https://github.com/ghc/ghc/blob/master/includes/Cmm.h#L934

Apr 27 2017, 4:37 AM

Apr 12 2017

alexbiehl awarded D3383: Implement split-sections support for windows. a Party Time token.
Apr 12 2017, 1:55 AM
alexbiehl updated the diff for D3440: Caret diagnostics: Avoid decoding whole module if only specific line is needed.

Inline readFile'

Apr 12 2017, 12:10 AM

Apr 11 2017

alexbiehl updated the diff for D3440: Caret diagnostics: Avoid decoding whole module if only specific line is needed.

Highlevel version

Apr 11 2017, 11:32 AM
alexbiehl added a comment to D3440: Caret diagnostics: Avoid decoding whole module if only specific line is needed.

Btw. this works best with @bgamari s D3442

Apr 11 2017, 3:12 AM
alexbiehl added inline comments to D3440: Caret diagnostics: Avoid decoding whole module if only specific line is needed.
Apr 11 2017, 3:03 AM

Apr 10 2017

alexbiehl updated the diff for D3440: Caret diagnostics: Avoid decoding whole module if only specific line is needed.

Missing BangPatterns

Apr 10 2017, 4:01 PM
alexbiehl added a comment to D3440: Caret diagnostics: Avoid decoding whole module if only specific line is needed.

Oops, I think I need to get rid of the horrible inefficient lexemeToStringtoo (see https://ghc.haskell.org/trac/ghc/ticket/13527)!

Apr 10 2017, 3:58 PM
alexbiehl updated the summary of D3440: Caret diagnostics: Avoid decoding whole module if only specific line is needed.
Apr 10 2017, 3:41 PM
alexbiehl created D3440: Caret diagnostics: Avoid decoding whole module if only specific line is needed.
Apr 10 2017, 3:41 PM

Feb 10 2017

alexbiehl retitled D3122: Binary: Correct endian issue when cross-compiling from Binary: Correct endianess issue when cross-compiling to Binary: Correct endian issue when cross-compiling.
Feb 10 2017, 5:38 AM
alexbiehl added a comment to D3122: Binary: Correct endian issue when cross-compiling.

(I chose the 'converservative' byte-by-byte approach because I didn't want to introduce DynFlags in Binary)

Feb 10 2017, 2:28 AM
alexbiehl updated subscribers of D3122: Binary: Correct endian issue when cross-compiling.

@bgamari @rwbarton @trofi This should resolve the problem.

Feb 10 2017, 1:39 AM
alexbiehl updated the Trac tickets for D3122: Binary: Correct endian issue when cross-compiling.
Feb 10 2017, 12:58 AM
alexbiehl updated the diff for D3122: Binary: Correct endian issue when cross-compiling.

Rebase

Feb 10 2017, 12:56 AM
alexbiehl updated the diff for D3109: Binary: Only allocate un-interned FastStrings.

Rebase

Feb 10 2017, 12:54 AM
alexbiehl created D3122: Binary: Correct endian issue when cross-compiling.
Feb 10 2017, 12:51 AM
alexbiehl added a comment to D3109: Binary: Only allocate un-interned FastStrings.

oh boy, that last commit was supposed to be its own differential!

Feb 10 2017, 12:47 AM
alexbiehl updated the diff for D3109: Binary: Only allocate un-interned FastStrings.
  • Binary: Correct endianess issue when cross-compiling
Feb 10 2017, 12:45 AM