rwbarton (Reid Barton)
User

Projects

Today

  • Clear sailing ahead.

Tomorrow

  • Clear sailing ahead.

Tuesday

  • Clear sailing ahead.

User Details

User Since
Jun 6 2014, 12:32 PM (151 w, 2 d)
Availability
Available

Recent Activity

Today

rwbarton added a comment to D3514: Revert "Fix #10923 by fingerprinting optimization level.".

Oh, I really liked this change :(

Sun, Apr 30, 3:03 PM
rwbarton raised a concern with rGHC18ac80ff729e: tidyType: Rename variables of nested forall at once.
Sun, Apr 30, 12:02 AM

Fri, Apr 21

rwbarton added a comment to D3483: Speed up core size and core stats.

I don't understand why this would be faster, could you explain?

Fri, Apr 21, 4:21 PM

Tue, Apr 11

rwbarton added a comment to D3441: Compile modules that are needed by template haskell, even with -fno-code..

I don't know, hopefully asm isn't too bad with optimization disabled. However, I still am a bit concerned about the compiler touching object files despite the user's rather explicit instructions not to. Maybe I am making too much of this issue though.

Tue, Apr 11, 3:10 PM
rwbarton requested changes to D3351: Don’t force gold on me..

Maybe it's clang on darwin specific?

Tue, Apr 11, 3:09 PM
rwbarton added a comment to D3441: Compile modules that are needed by template haskell, even with -fno-code..

I would be inclined to go with HscAsm. Is bytecode that much faster?

Tue, Apr 11, 1:56 PM
rwbarton retitled D3444: [linker] Remove dead code (ELF_FUNCTION_DESC) from [linker] Cleanup to [linker] Remove dead code (ELF_FUNCTION_DESC).
Tue, Apr 11, 4:58 AM
rwbarton accepted D3444: [linker] Remove dead code (ELF_FUNCTION_DESC).

Looks like this was unused since b49f7dceb6c2d12c89c947fa0f7f7cb935912de3. Guess there's no point keeping it around.

Tue, Apr 11, 4:58 AM

Mon, Apr 10

rwbarton added a comment to D3358: base: Implement bit casts between word and float types.

By the way, you could also just put the cmm file in the base package, and not have to touch the rts at all.

Mon, Apr 10, 8:31 AM

Sun, Apr 9

rwbarton added a comment to D3358: base: Implement bit casts between word and float types.

I'd be happier if we had some more decent tests, that would be less likely to pass under a completely broken implementation.

Sun, Apr 9, 4:34 PM
rwbarton added a comment to D3375: Experimentally run ST in a fake world.

Is this still pertinent?

Sun, Apr 9, 4:31 PM
rwbarton added a comment to D3429: Only build iserv with -threaded if GhcThreaded is set.

Good point. I have not tested that, as I didn't need ghci for what I was doing.

Sun, Apr 9, 4:23 PM
rwbarton added a comment to D3432: fix 'make install' for cross-stage2.

Hi @trofi, I've only been half-following this series of commits, but I'm wondering whether there is any documentation on the intended meaning of make install in various configurations, since make install working when crosscompiling is essentially a new feature? Maybe the wiki page for crosscompiling would be a good place?

Sun, Apr 9, 4:22 PM
rwbarton retitled D3433: [MachO] Use OBJFORMAT_MACHO. from [MachO] User OBJETFORMAT. to [MachO] Use OBJFORMAT_MACHO..
Sun, Apr 9, 3:58 PM
rwbarton accepted D3433: [MachO] Use OBJFORMAT_MACHO..
Sun, Apr 9, 3:48 PM

Sat, Apr 8

rwbarton added inline comments to D3358: base: Implement bit casts between word and float types.
Sat, Apr 8, 11:11 AM

Fri, Apr 7

rwbarton added a comment to D3365: Beef up CMM tests.

My understanding is that

mk/test.mk:TEST_HC_OPTS = -dcore-lint -dcmm-lint -no-user-$(GhcPackageDbFlag) -rtsopts $(EXTRA_HC_OPTS)

should mean that all tests run with -dcmm-lint by default. Does it not work for cmm_src tests?

Fri, Apr 7, 7:46 AM
rwbarton added a comment to D3351: Don’t force gold on me..

Otherwise this breaks if the used compiler fails to understand this directive. (looking at you clang!)

Fri, Apr 7, 7:37 AM

Thu, Apr 6

rwbarton added a comment to D3391: Remove Core Lint pass on occurrence analysis output (#13220).
In D3391#97265, @dfeuer wrote:

Do you know why only one test was affected?

Thu, Apr 6, 7:16 PM
rwbarton updated the summary of D3429: Only build iserv with -threaded if GhcThreaded is set.
Thu, Apr 6, 7:09 PM
rwbarton created D3430: Suggest correct replacement flag name for -dppr-ticks.
Thu, Apr 6, 7:03 PM
rwbarton created D3429: Only build iserv with -threaded if GhcThreaded is set.
Thu, Apr 6, 7:03 PM
rwbarton created D3428: Remove GhcDynamic (in favor of DYNAMIC_GHC_PROGRAMS).
Thu, Apr 6, 6:43 PM
rwbarton retitled D3421: More changes to fix a space leak in the simplifier (#13426) from Add missing change to fix a space leak in the simplifier (#13426) to More changes to fix a space leak in the simplifier (#13426).
Thu, Apr 6, 4:05 PM

Wed, Apr 5

rwbarton updated the diff for D3421: More changes to fix a space leak in the simplifier (#13426).
  • Add some more seqType calls, and an explanatory Note
Wed, Apr 5, 11:47 AM

Tue, Apr 4

rwbarton updated the diff for D3421: More changes to fix a space leak in the simplifier (#13426).
  • simplifier: Don't force sc_hole_ty
Tue, Apr 4, 9:39 PM
rwbarton added a comment to D3421: More changes to fix a space leak in the simplifier (#13426).

I confirmed this patch still dramatically reduces DynFlags space usage locally (3694 MB total memory in use -> 1033 MB total memory in use).

Tue, Apr 4, 4:45 PM
rwbarton requested changes to D3415: Implement {set,clear,complement}BitBigNat primitives.
Tue, Apr 4, 4:42 PM
rwbarton created D3421: More changes to fix a space leak in the simplifier (#13426).
Tue, Apr 4, 3:38 PM

Mar 30 2017

rwbarton created D3401: Use strict types and folds in CoreStats.
Mar 30 2017, 6:54 PM
rwbarton added a comment to D3400: Stamp out space leaks from demand analysis.

Nope, but feel free. I wasn't looking to get involved with major structural changes to these complicated modules (Demand and DmdAnal). If all the *Dmd types can be made fully strict without causing a significant increase in work then that would be an improvement.

Mar 30 2017, 6:52 PM
rwbarton created D3400: Stamp out space leaks from demand analysis.
Mar 30 2017, 2:26 PM
rwbarton created D3399: Fix space leaks in simplifier (#13426).
Mar 30 2017, 1:42 PM

Mar 28 2017

rwbarton updated the diff for D3391: Remove Core Lint pass on occurrence analysis output (#13220).

Update T10858 numbers

Mar 28 2017, 6:24 PM
rwbarton created D3391: Remove Core Lint pass on occurrence analysis output (#13220).
Mar 28 2017, 4:23 PM

Mar 27 2017

rwbarton added inline comments to D3373: Don't panic on Core Lint warning about levity-polymorphic unsafe coercion.
Mar 27 2017, 11:35 AM
rwbarton updated the Trac tickets for D3373: Don't panic on Core Lint warning about levity-polymorphic unsafe coercion.
Mar 27 2017, 11:35 AM
rwbarton updated the summary of D3373: Don't panic on Core Lint warning about levity-polymorphic unsafe coercion.
Mar 27 2017, 11:35 AM
rwbarton retitled D3373: Don't panic on Core Lint warning about levity-polymorphic unsafe coercion from Fix #13458 to Don't panic on Core Lint warning about levity-polymorphic unsafe coercion.
Mar 27 2017, 11:35 AM

Mar 23 2017

rwbarton accepted D3348: Check TargetPlatform instead of HostPlatform for leading underscore.
Mar 23 2017, 5:33 PM

Mar 19 2017

rwbarton added a comment to D3358: base: Implement bit casts between word and float types.

Also, the stack check code I wrote is definitely wrong, and needs to be fixed in a different way for each argument type (Word# or Float# or Double#). I'm not sure exactly what the right form is, and it would be rather difficult to test; indeed I'm not completely sure whether it is even necessary.

Mar 19 2017, 6:00 PM
rwbarton created D3368: Recompile if -fhpc is added or removed (#11798).
Mar 19 2017, 5:54 PM
rwbarton requested changes to D3358: base: Implement bit casts between word and float types.

This seems to have turned into a mess...

Mar 19 2017, 5:21 PM
rwbarton added a comment to D3358: base: Implement bit casts between word and float types.

If Cmm is not a convenient option, it seems to me like even an FFI call to C would be more efficient (no allocation or branches, just a call/ret).

Mar 19 2017, 11:54 AM

Mar 18 2017

rwbarton added a comment to D3358: base: Implement bit casts between word and float types.

Yeah, in practice it seems to not be as easy as I hoped :(

Mar 18 2017, 5:44 PM

Mar 17 2017

rwbarton added a comment to D3358: base: Implement bit casts between word and float types.

I was imagining doing something like

#include "Cmm.h"
Mar 17 2017, 6:52 PM
rwbarton added a comment to D3358: base: Implement bit casts between word and float types.

It almost seems like it would be easier to implement these in cmm; and more efficient too as you could transfer via the stack rather than allocating a ByteArray.

Mar 17 2017, 5:56 PM
rwbarton created D3359: x86 nativeGen: Fix test with mask in range [128,255] (#13425).
Mar 17 2017, 3:11 PM
rwbarton requested changes to D3348: Check TargetPlatform instead of HostPlatform for leading underscore.

This seems fine to me aside from the confusing comment. Did you mean that the case on HostPlatform gives the wrong result when cross-compiling (which you fixed), or that the AC_RUN_IFELSE gives the wrong result when cross-compiling? AC_RUN_IFELSE doesn't actually run anything when cross-compiling, so either way the new comment is wrong. (See https://www.gnu.org/software/autoconf/manual/autoconf-2.63/html_node/Runtime.html).

Mar 17 2017, 11:55 AM

Mar 13 2017

rwbarton added a comment to D3308: Use runRW# to implement unsafeInterleaveIO.
In D3308#95806, @dfeuer wrote:

Second, I figure we may be able to improve it further using a generalization of runRW#. We win generally with runRW# by inlining it, but only in core prep. We should be able to do something similar using a variant that applies a state token we provide.

Mar 13 2017, 10:47 AM
rwbarton added a comment to D3336: Mark far fewer primops has_side_effects.

What about Trac #3207? The issue there also applies to most of these, but maybe not the thaw/freeze ones.

Mar 13 2017, 10:01 AM

Mar 11 2017

rwbarton added a comment to D3308: Use runRW# to implement unsafeInterleaveIO.
In D3308#95782, @dfeuer wrote:

If it's actually wrong, we should be able to add a test to prove that.

Mar 11 2017, 11:19 AM
rwbarton requested changes to D3308: Use runRW# to implement unsafeInterleaveIO.

This is wrong, see https://www.schoolofhaskell.com/user/snoyberg/general-haskell/advanced/evaluation-order-and-state-tokens. Could you add a note that explains this?

Mar 11 2017, 10:43 AM

Mar 8 2017

rwbarton raised a concern with rGHCe901ed1c5d66: configure: Don't pass GHC's sanitized triple to libraries' configure.

This is the first commit with the error on Windows about unix64.S--a file from libffi which, from its name, I would guess we should not be attempting to compile on Windows.

Mar 8 2017, 9:44 PM
rwbarton requested changes to D3299: Fixed QuasiQuotation test and output.

I don't know what these tests were supposed to test, but I'm fairly sure that whatever it was is not reflected by the current test behavior.

Mar 8 2017, 2:55 PM
rwbarton committed rGHCfdb594ed3286: Comments only [ci skip] (authored by rwbarton).
Comments only [ci skip]
Mar 8 2017, 2:45 PM
rwbarton added a comment to D3298: RFC: Always build GHCi libs.

If I understand correctly this would also increase the size of the unpacked binary distribution by a significant amount (maybe 20% by my estimates). Have you measured that yet?

Mar 8 2017, 8:40 AM
rwbarton added inline comments to D3290: Make LLVM output robust to -dead_strip on mach-o platforms.
Mar 8 2017, 8:16 AM
rwbarton added a comment to D3290: Make LLVM output robust to -dead_strip on mach-o platforms.

You don't need .alt_entry any more if you are putting .no_dead_strip on the info tables (it could only be harmful, by causing even more things to stay live).

I fear, I'm not following.

Without the .alt_entry, we don't have a handle on the start of the prefix data.

Mar 8 2017, 8:13 AM
rwbarton added a comment to D3290: Make LLVM output robust to -dead_strip on mach-o platforms.

You don't need .alt_entry any more if you are putting .no_dead_strip on the info tables (it could only be harmful, by causing even more things to stay live).

Mar 8 2017, 7:19 AM

Mar 7 2017

rwbarton updated the summary of D3290: Make LLVM output robust to -dead_strip on mach-o platforms.
Mar 7 2017, 8:38 AM
rwbarton retitled D3290: Make LLVM output robust to -dead_strip on mach-o platforms from Allow -dead_strip on mach-o platforms to Make LLVM output robust to -dead_strip on mach-o platforms.
Mar 7 2017, 8:31 AM

Mar 6 2017

rwbarton added inline comments to D3280: Allow compilation of C/C++/ObjC/ObjC++ files with module from TH.
Mar 6 2017, 8:17 PM
rwbarton added a comment to D3288: primops: Add comment describing type of atomicModifyMutVar#.

We can't use an unboxed tuple because it would require strict evaluation of the updater function (the reason atomicModifyMutVar# can be atomic is that it just builds a thunk).

Mar 6 2017, 3:29 PM
rwbarton accepted D3287: Mangle .subsections_via_symbols away..
Mar 6 2017, 9:22 AM
rwbarton added inline comments to D3287: Mangle .subsections_via_symbols away..
Mar 6 2017, 9:14 AM
rwbarton added inline comments to D3287: Mangle .subsections_via_symbols away..
Mar 6 2017, 9:13 AM

Mar 5 2017

rwbarton requested changes to D3224: DsBinds: Use Typeable Module binding when desugaring CallStack evidence.
Mar 5 2017, 1:55 PM
rwbarton created D3282: llvm backend: Put string constants in .rodata.str.* sections (#13265).
Mar 5 2017, 1:44 PM

Mar 4 2017

rwbarton created D3276: Add SplitSections = NO to build flavors with SplitObjs = NO.
Mar 4 2017, 2:30 PM

Mar 3 2017

rwbarton abandoned D3266: Update test completesig04.

Abandoning in favor of D3270.

Mar 3 2017, 10:21 AM
rwbarton created D3269: Deserialize IfaceId more lazily.
Mar 3 2017, 7:20 AM
rwbarton created D3268: Comments only, in CSE (#13340).
Mar 3 2017, 7:14 AM
rwbarton added a comment to D3267: Fix stderr files for tests T12429 and T12811.

Hi @ruperthorlick, thanks for your work on these two tickets!

Mar 3 2017, 6:59 AM
rwbarton created D3267: Fix stderr files for tests T12429 and T12811.
Mar 3 2017, 6:54 AM
rwbarton created D3266: Update test completesig04.
Mar 3 2017, 6:49 AM

Mar 2 2017

rwbarton added a comment to D3258: Bump bytes allocated for T12234.

Also it's quite unclear from the perf.haskell.org graph what happened here, maybe the Early inline patch number is from a non-rebased version of the patch?

Mar 2 2017, 3:48 PM
rwbarton added a comment to D3258: Bump bytes allocated for T12234.

But the actual number (line 982) was not changed.

Mar 2 2017, 3:42 PM
rwbarton requested changes to D3238: Make mmap r+w only during preload for iOS..

You say "While we do not yet enable mmap for ios builds. If we later do, we must not try to mmap r+w+x, on iOS as that clearly fails." Does "not yet" mean even after this entire set of MachO linker-related patches, so this will still be effectively dead code?

Mar 2 2017, 9:31 AM
rwbarton updated the diff for D3245: Refactor CompleteMatch to contain Names, not type-checked things.
  • Make CompleteMatch field names more descriptive, and add comments
Mar 2 2017, 9:14 AM
rwbarton updated the diff for D3243: Don't allow orphan COMPLETE pragmas (#13349).

Minor tweaks

Mar 2 2017, 8:54 AM
rwbarton planned changes to D3245: Refactor CompleteMatch to contain Names, not type-checked things.
Mar 2 2017, 8:48 AM

Mar 1 2017

rwbarton added a comment to rGHCd0508ef001e9: When floating, don't box an expression that's okay for speculation (#13338).
In null, @nomeata wrote:

Do you have a grip on the performance regressions?

Benchmark name 	                    previous 	change 	       now 	
nofib/time/fannkuch-redux 	4.706 	+ 11.62% 	5.253 	seconds
nofib/time/k-nucleotide 	        5.323 	+ 4.3% 	        5.552 	seconds
Mar 1 2017, 1:10 PM
rwbarton planned changes to D3243: Don't allow orphan COMPLETE pragmas (#13349).

Edsko suggests (and I agree) that we ought to describe orphan COMPLETE pragmas as "not supported" rather than "not allowed" (since there's no reason why we couldn't support them, in principle).

Mar 1 2017, 9:01 AM

Feb 28 2017

rwbarton added a comment to D3250: Don't float out expressions that are okay for speculation.

Nofib results for D3217 here: https://perf.haskell.org/ghc/#revision/d0508ef001e9c93920f6eb066cab5e79041cb886

Feb 28 2017, 9:36 PM
rwbarton created D3250: Don't float out expressions that are okay for speculation.
Feb 28 2017, 9:35 PM
rwbarton added inline comments to D3247: configure: Don't pass GHC's sanitized triple to libraries' configure.
Feb 28 2017, 6:00 PM
rwbarton created D3245: Refactor CompleteMatch to contain Names, not type-checked things.
Feb 28 2017, 2:04 PM
rwbarton created D3243: Don't allow orphan COMPLETE pragmas (#13349).
Feb 28 2017, 11:49 AM
rwbarton added a comment to D3239: rts linker: Introduce MachOTypes.

I think this should actually be squashed into whatever (upcoming?) diff uses the new fields, as it's not really reviewable without, nor does it make much sense to land separately.

Feb 28 2017, 9:08 AM
rwbarton requested changes to D3189: Change catch# demand signature.

Minor comments.

Feb 28 2017, 8:05 AM
rwbarton added a comment to D3216: Experimentally make catchException actually strict.

If this is experimental, then what experiment do you plan to do?

Feb 28 2017, 7:55 AM
rwbarton accepted D3241: iOS: shared objects have .dylib extension..
Feb 28 2017, 7:49 AM
rwbarton added a comment to D3239: rts linker: Introduce MachOTypes.

Currently this won't build on non-MachO platforms, so I didn't look much past that.

Feb 28 2017, 7:48 AM
rwbarton requested changes to D3239: rts linker: Introduce MachOTypes.
Feb 28 2017, 7:47 AM
rwbarton retitled D3239: rts linker: Introduce MachOTypes from Introduce MachOTypes to rts linker: Introduce MachOTypes.
Feb 28 2017, 7:41 AM
rwbarton requested changes to D3232: iOS - Do *not* build terminfo..

Adding a flag is what D3177 does.

Feb 28 2017, 7:36 AM
rwbarton added a comment to D3234: Improve documentation for CreateBCOs Message..

Agree with adding a comment here, though this seems a bit verbose to me.

Feb 28 2017, 7:34 AM
rwbarton added inline comments to D3177: Add flag allowing convenient disabling of terminfo support.
Feb 28 2017, 7:32 AM
rwbarton added a comment to D3231: Add COMPLETE pragmas for TypeRep and ErrorCall pattern synonyms.

It begins...

Feb 28 2017, 7:15 AM