erikd (Erik de Castro Lopo)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 19 2014, 10:41 PM (229 w, 5 d)

Recent Activity

Jul 25 2018

erikd committed rGHCDIFF67029f200c55: PPC: Fix loads of PIC data with > 16 bit offsets (#7830). (authored by erikd).
PPC: Fix loads of PIC data with > 16 bit offsets (#7830).
Jul 25 2018, 10:12 AM
erikd committed rGHCDIFF55cc01a95328: Add test case for #8806. (authored by erikd).
Add test case for #8806.
Jul 25 2018, 10:12 AM
erikd committed rGHCDIFF7cb10ba40e61: rts: Add casts to prevent compiler warnings in printfs. (authored by erikd).
rts: Add casts to prevent compiler warnings in printfs.
Jul 25 2018, 8:20 AM
erikd committed rGHCDIFF896cee02e766: Make MO_Prefetch_Data a no-op in the C backend (#8437). (authored by rwbarton).
Make MO_Prefetch_Data a no-op in the C backend (#8437).
Jul 25 2018, 8:17 AM
erikd committed rGHCDIFFfd9a9abf106c: RnNames.lhs : Reuse existing function. (authored by erikd).
RnNames.lhs : Reuse existing function.
Jul 25 2018, 8:15 AM
erikd committed rGHCDIFF683f4b7462d6: Whitespace only. (authored by erikd).
Whitespace only.
Jul 25 2018, 8:15 AM
erikd committed rGHCDIFF0daee297e3c4: sync-all : Replace '~~' operator with something supported by older Perl. (authored by erikd).
sync-all : Replace '~~' operator with something supported by older Perl.
Jul 25 2018, 8:06 AM
erikd committed rGHCDIFF334131bce782: .gitignore : Add libffi-tarballs. (authored by erikd).
.gitignore : Add libffi-tarballs.
Jul 25 2018, 8:06 AM
erikd committed rGHCDIFFcda5054173e1: mk/config.mk.in : Add powerpc-unknown-linux to NoSharedLibsPlatformList. (authored by erikd).
mk/config.mk.in : Add powerpc-unknown-linux to NoSharedLibsPlatformList.
Jul 25 2018, 8:06 AM
erikd committed rGHCDIFF968998e69a74: sync-all : Warn on 'pull' operation if not on master branch. (authored by erikd).
sync-all : Warn on 'pull' operation if not on master branch.
Jul 25 2018, 8:06 AM
erikd committed rGHCDIFFffe2e22c1151: Fix #8009 : Failure to compile on powerpc64-linux. (authored by erikd).
Fix #8009 : Failure to compile on powerpc64-linux.
Jul 25 2018, 8:04 AM
erikd committed rGHCDIFF71aaa3f2aec2: Fix/update SayAnnNames plugin example code. (authored by erikd).
Fix/update SayAnnNames plugin example code.
Jul 25 2018, 8:01 AM
erikd committed rGHCDIFF6a990ace497e: De-tab compiler/nativeGen/PPC/Instr.hs. (authored by erikd).
De-tab compiler/nativeGen/PPC/Instr.hs.
Jul 25 2018, 7:48 AM
erikd committed rGHCDIFF51d364530895: PPC: Implement stack resizing for the linear register allocator. (authored by erikd).
PPC: Implement stack resizing for the linear register allocator.
Jul 25 2018, 7:48 AM
erikd committed rGHCDIFFeec4c10819ac: Call gcc with '-x assembler-with-cpp' instead of '-x assembler'. (authored by erikd).
Call gcc with '-x assembler-with-cpp' instead of '-x assembler'.
Jul 25 2018, 7:48 AM
erikd committed rGHCDIFFe6ce335e8e3b: Fix pprPanic so that it doesn't throw away the SDoc part of the error. (authored by erikd).
Fix pprPanic so that it doesn't throw away the SDoc part of the error.
Jul 25 2018, 7:47 AM
erikd committed rGHCDIFF77ef6ca06d40: Replace all uses of ghcError with throwGhcException and purge ghcError. (authored by erikd).
Replace all uses of ghcError with throwGhcException and purge ghcError.
Jul 25 2018, 7:46 AM
erikd committed rGHCDIFF5f3c1055c2a5: rts: Ignore signal before deleting timer. Fixes #7303. (authored by erikd).
rts: Ignore signal before deleting timer. Fixes #7303.
Jul 25 2018, 7:42 AM
erikd committed rGHCDIFF06b4e787cce0: Handle II16 size value in PowerPC code generator. (authored by erikd).
Handle II16 size value in PowerPC code generator.
Jul 25 2018, 7:38 AM
erikd committed rGHCDIFFd82cecbe2177: Fix return type of FUN_INFO_PTR_TO_STRUCT. (authored by erikd).
Fix return type of FUN_INFO_PTR_TO_STRUCT.
Jul 25 2018, 7:37 AM
Ian Lynagh <igloo@earth.li> committed rGHCDIFFd0e2364b8823: Fix #6109 : error Unknown mingw32 arch. (authored by erikd).
Fix #6109 : error Unknown mingw32 arch.
Jul 25 2018, 7:26 AM
Ian Lynagh <igloo@earth.li> committed rGHCDIFF1d545caa3d5c: Fix compile for CPUs other than x86/x86_64. (authored by erikd).
Fix compile for CPUs other than x86/x86_64.
Jul 25 2018, 7:19 AM
Ian Lynagh <igloo@earth.li> committed rGHCDIFF38061f4c8e72: Handle II8 Size value in PowerPC code generator. (authored by erikd).
Handle II8 Size value in PowerPC code generator.
Jul 25 2018, 6:54 AM
Ian Lynagh <igloo@earth.li> committed rGHCDIFF243c304273a1: Fix compiling on linux-powerpc. (authored by erikd).
Fix compiling on linux-powerpc.
Jul 25 2018, 6:43 AM

Jun 4 2018

erikd added a comment to D4762: Fix gcc.exe: error: CreateProcess: No such file or directory.

I would love to hear other suggestions on fixing this issue, because its killing us on the Cardano code base. We have a large number of PRs blocked because we can't build on Windows.

Jun 4 2018, 4:02 AM

Jul 20 2017

erikd accepted D3760: rts: Claim AP_STACK before adjusting Sp.

LGTM!

Jul 20 2017, 12:58 AM

Jul 16 2017

erikd accepted D3744: Interpreter.c: use macros to access/modify Sp.

LGTM!

Jul 16 2017, 3:27 PM

Jun 27 2017

erikd accepted D3679: rts/RetainerProfile: Const-correctness fixes.

LGTM!

Jun 27 2017, 4:10 PM

Jun 7 2017

erikd accepted D3630: Fix a lost-wakeup bug in BLACKHOLE handling (#13751).
Jun 7 2017, 5:10 PM
erikd added inline comments to D3630: Fix a lost-wakeup bug in BLACKHOLE handling (#13751).
Jun 7 2017, 6:59 AM

May 27 2017

erikd updated the summary of D3365: Beef up CMM tests.
May 27 2017, 4:20 AM
erikd updated the diff for D3365: Beef up CMM tests.

Fix it.

May 27 2017, 4:13 AM

May 26 2017

erikd committed rGHC52fe138ef7fb: user-guide: Add since annotation for -Wcpp-undef (authored by erikd).
user-guide: Add since annotation for -Wcpp-undef
May 26 2017, 11:55 PM
erikd closed D3612: user-guide: Add since annotation for -Wcpp-undef by committing rGHC52fe138ef7fb: user-guide: Add since annotation for -Wcpp-undef.
May 26 2017, 11:55 PM
erikd created D3612: user-guide: Add since annotation for -Wcpp-undef.
May 26 2017, 5:00 AM

May 17 2017

erikd accepted D3591: Bump to LLVM 4.0.
May 17 2017, 7:46 PM

May 15 2017

erikd added a comment to D3574: Allow libffi snapshots.

So when libffi eventually does have a new release will we still need the new dependency libtldl-dev to build GHC?

May 15 2017, 3:46 PM

May 14 2017

erikd accepted D3583: rts/linker/ElfTypes.h: restore powerps (and others) support.
May 14 2017, 5:42 AM
erikd added a comment to D3583: rts/linker/ElfTypes.h: restore powerps (and others) support.

LGTM if it validates.

May 14 2017, 5:42 AM
erikd added a comment to D3574: Allow libffi snapshots.

*If* we add this, it should only be a temporary measure. It should never be part of the source distribution and the source distribution should *always* work with a recent *release* version.

May 14 2017, 5:05 AM

May 1 2017

erikd planned changes to D3365: Beef up CMM tests.

Bah, still not right. Probably too tired. Will fix tomorrow.

May 1 2017, 6:11 AM
erikd updated the diff for D3365: Beef up CMM tests.

Drop redundant -dcmm-lint

May 1 2017, 5:58 AM
erikd added a comment to D3365: Beef up CMM tests.

@rwbarton Ack. Will fix!

May 1 2017, 3:09 AM

Apr 30 2017

erikd accepted D3512: PPC NCG: Lower MO_*_Fabs as PowerPC fabs instruction.

LGTM!

Apr 30 2017, 6:01 AM

Apr 23 2017

erikd accepted D3481: compiler/cmm/PprC.hs: constify labels in .rodata.
Apr 23 2017, 3:17 PM

Apr 22 2017

erikd accepted D3485: Prefer #if defined to #ifdef.
Apr 22 2017, 11:00 PM
erikd accepted D3486: rts: Fix "ASSERT ("s.

Yay!

Apr 22 2017, 4:55 PM

Apr 21 2017

erikd added a comment to D3481: compiler/cmm/PprC.hs: constify labels in .rodata.

The Windows build error is a phab build bot error unrelated to this code.

Apr 21 2017, 9:12 PM
erikd added a comment to D3482: cpp: Use #pragma once instead of #ifndef guards.

Really like the idea of this patch but it doesn't build yet.

Apr 21 2017, 9:08 PM
erikd accepted D3480: Fix build on DragonflyBSD.

Should the linter complain about lines that have not been changed?

Apr 21 2017, 2:59 AM

Apr 15 2017

erikd updated the diff for D3365: Beef up CMM tests.

Rebase against master.

Apr 15 2017, 4:25 PM

Apr 12 2017

erikd accepted D3423: arc-linters: Add linting of #ifdef x and #if defined x.

I don't really do Python, but I applied the patch and ran the linter against some existing files.

Apr 12 2017, 12:06 AM

Apr 11 2017

erikd updated the diff for D3358: base: Implement bit casts between word and float types.

Move CMM code to base library as requested.

Apr 11 2017, 3:27 AM

Apr 10 2017

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

Tested on x86/linux and x86_64/linux. Maybe @trofi or someone could test on other architectures.

Apr 10 2017, 7:17 AM
erikd updated the diff for D3358: base: Implement bit casts between word and float types.

Improve the test.

Apr 10 2017, 7:16 AM
erikd 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.

Apr 10 2017, 3:57 AM

Apr 9 2017

erikd updated the diff for D3358: base: Implement bit casts between word and float types.

Fix typos in comments.
Use %lobits32.

Apr 9 2017, 7:15 AM

Apr 7 2017

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

This patch is mainly about making sure the CCM tests get run with the LLVM backend. For instance, running make test TEST="T7574" before my patch:

=====> T7574(normal) 1 of 1 [0, 0, 0]
cd "./codeGen/should_compile/T7574.run" &&  "/home/erikd/Git/ghc-upstream/inplace/test   spaces/ghc-stage2" -c T7574.cmm -dcore-lint -dcmm-lint -no-user-package-db -rtsopts -fno-warn-missed-specialisations -fshow-warning-groups -fdiagnostics-color=never -fno-diagnostics-show-caret -dno-debug-output   -no-hs-main
Apr 7 2017, 5:20 PM
erikd updated the diff for D3365: Beef up CMM tests.

Fix email address

Apr 7 2017, 5:11 AM
erikd updated the diff for D3365: Beef up CMM tests.

Rebase against master.

Apr 7 2017, 5:11 AM

Apr 6 2017

erikd committed rGHCb5f6a937b2d4: Update .mailmap [skip ci] (authored by erikd).
Update .mailmap [skip ci]
Apr 6 2017, 6:45 AM

Apr 4 2017

erikd planned changes to D3358: base: Implement bit casts between word and float types.
Apr 4 2017, 4:43 PM
erikd requested review of D3358: base: Implement bit casts between word and float types.
Apr 4 2017, 4:42 PM
erikd planned changes to D3358: base: Implement bit casts between word and float types.
Apr 4 2017, 4:19 PM
erikd updated the diff for D3358: base: Implement bit casts between word and float types.
  • Remove last vestigaes of Haskell land allocation method.
  • Comments.
Apr 4 2017, 4:19 PM
erikd committed rGHC7e340c2bbf4a: Enable new warning for fragile/incorrect CPP #if usage (authored by erikd).
Enable new warning for fragile/incorrect CPP #if usage
Apr 4 2017, 2:56 PM
erikd closed D3278: Enable new warning for fragile/incorrect CPP #if usage by committing rGHC7e340c2bbf4a: Enable new warning for fragile/incorrect CPP #if usage.
Apr 4 2017, 2:56 PM
erikd updated the diff for D3358: base: Implement bit casts between word and float types.

Fix Windows by adding needed symbols to RTS_SYMBOLS. Thanks @Phyx !

Apr 4 2017, 6:37 AM
erikd updated subscribers of D3358: base: Implement bit casts between word and float types.

The Linux build failure seems totally unrelated to this patch, but the Windows one very definitely is this patch. @Phyx Any clue what's going on here?

Apr 4 2017, 4:35 AM
erikd edited reviewers for D3358: base: Implement bit casts between word and float types, added: trofi; removed: austin, hvr.
Apr 4 2017, 3:19 AM
erikd updated the diff for D3358: base: Implement bit casts between word and float types.

Make it actually work

Apr 4 2017, 3:16 AM

Apr 3 2017

erikd updated the diff for D3278: Enable new warning for fragile/incorrect CPP #if usage.

Rebase against master

Apr 3 2017, 9:38 PM

Apr 1 2017

erikd added a comment to D3278: Enable new warning for fragile/incorrect CPP #if usage.

This finally seems to be ready to go.

Apr 1 2017, 8:22 PM
erikd updated the diff for D3278: Enable new warning for fragile/incorrect CPP #if usage.

Yet more OS X fixes.

Apr 1 2017, 5:55 AM

Mar 31 2017

erikd updated the diff for D3278: Enable new warning for fragile/incorrect CPP #if usage.

Yet more OS X fixes.

Mar 31 2017, 4:58 PM

Mar 29 2017

erikd updated the diff for D3278: Enable new warning for fragile/incorrect CPP #if usage.
  • More OSX fixes.
Mar 29 2017, 5:04 AM
erikd updated the diff for D3278: Enable new warning for fragile/incorrect CPP #if usage.
  • Rebase against master.
  • Fix another OSX build issue.
Mar 29 2017, 2:21 AM

Mar 28 2017

erikd updated the diff for D3278: Enable new warning for fragile/incorrect CPP #if usage.
  • Rebase against master.
  • Fix OS X build.
Mar 28 2017, 4:29 AM

Mar 27 2017

erikd updated the diff for D3278: Enable new warning for fragile/incorrect CPP #if usage.

Improve consistency.

Mar 27 2017, 1:50 PM
erikd updated the diff for D3278: Enable new warning for fragile/incorrect CPP #if usage.
  • Fix T8103 test.
  • Rebase against master.
Mar 27 2017, 5:57 AM

Mar 26 2017

erikd added a comment to D3278: Enable new warning for fragile/incorrect CPP #if usage.

If I revert the changes to includes/stg/MachRegs.h and the changes to rts/ghc.mk, mk/wranings.mk (to disable the warnings) it builds fine and passes the T8103 test.

Mar 26 2017, 4:45 AM
erikd added a comment to D3358: base: Implement bit casts between word and float types.

@simonmar Does this seem right to you?

stg_word64ToDoublezh(I64 w)
{
    D_ d;
    P_ ptr;
Mar 26 2017, 1:31 AM

Mar 21 2017

erikd added a comment to D3278: Enable new warning for fragile/incorrect CPP #if usage.

I've tracked down which file is causing that test failure, but still haven't figured out why.

Mar 21 2017, 3:28 PM

Mar 20 2017

erikd added inline comments to D3358: base: Implement bit casts between word and float types.
Mar 20 2017, 3:07 AM
erikd added a comment to D3358: base: Implement bit casts between word and float types.

This seems horribly inefficient.

Mar 20 2017, 3:05 AM

Mar 19 2017

erikd added inline comments to D3358: base: Implement bit casts between word and float types.
Mar 19 2017, 5:50 PM
erikd planned changes to D3358: base: Implement bit casts between word and float types.

The 32 bit code path needs work.

Mar 19 2017, 3:07 PM
erikd updated the diff for D3358: base: Implement bit casts between word and float types.
  • Actually get CMM working at least on x86_64.
  • Still looking at fixing x86.
Mar 19 2017, 3:06 PM
erikd accepted D3367: config.mk.in: Add bzip, gzip, and xz executable names to be overridden.

LGTM!

Mar 19 2017, 3:05 PM
erikd added a comment to D3358: base: Implement bit casts between word and float types.

The CMM version does actually work for everything except Word64 <--> Double on 32 bit systems (hardly surprising).

Mar 19 2017, 4:18 AM

Mar 18 2017

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

Its failing to build because llvm-3.9 is not installed.

Mar 18 2017, 11:21 PM
erikd created D3365: Beef up CMM tests.
Mar 18 2017, 9:21 PM
erikd updated the diff for D3358: base: Implement bit casts between word and float types.
  • Add comments about CMM solution to this problem and why it doesn't currently work.
  • Rebase against master.
Mar 18 2017, 2:51 AM
erikd updated the summary of D3358: base: Implement bit casts between word and float types.
Mar 18 2017, 2:16 AM
erikd added a comment to D3358: base: Implement bit casts between word and float types.

Raised https://ghc.haskell.org/trac/ghc/ticket/13442 . Going back to the newByteArray solution for now to prevent this turning into a massive yak shave.

Mar 18 2017, 2:05 AM
erikd planned changes to D3358: base: Implement bit casts between word and float types.
Mar 18 2017, 1:14 AM
erikd added a comment to D3358: base: Implement bit casts between word and float types.

I had the CMM code working external to GHC and when I tried to move it to rts (where all the other CMM files seem to be) I get the following CMM lint error:

Cmm lint error:
 in basic block c5
   in assignment: 
     _c2::F64 = I64[Sp + -1 * 8];
     Reg ty: F64
     Rhs ty: I64

The code in question is:

c5: // global
    I64[Sp + -1 * 8] = _c1::I64;
    _c2::F64 = I64[Sp + -1 * 8];

I've not dealt with CMM much before. The linter seems to be complaining about an I64 stack location being assigned to an F64 register? Is there a way to override this?

Mar 18 2017, 1:14 AM

Mar 17 2017

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

@rwbarton yes, the F_ needs to be D_ for Double but otherwise it seems to work. Worth investigating more.

Mar 17 2017, 9:11 PM
erikd 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, 6:02 PM
erikd updated the diff for D3358: base: Implement bit casts between word and float types.

Still more tweaking of comments.

Mar 17 2017, 5:53 PM