Skip to content
Snippets Groups Projects

Use fix-sized primops for fixed size boxed types

Merged John Ericson requested to merge wip/sized-primops-for-sized-box into master

Progress towards #19026 (closed), fixes #19931 (closed)

Now that we have the 32-bit primpos (from !4698 (closed) which is contained), we can do this for all over the 8-, 16-, and 32-bit boxed types. This will shrink and declutter the core.

Unfortunately I've been getting a GHC panic. But it went away with Devel2, so I'm back to fixing obvious issues.

Please take a few moments to verify that your commits fulfill the following:

  • are either individually buildable or squashed
  • have commit messages which describe what they do (referring to Notes and tickets using #NNNN syntax when appropriate)
  • have added source comments describing your change. For larger changes you likely should add a Note and cross-reference it from the relevant places.
  • add a testcase to the testsuite.
  • replace this message with a description motivating your change

If you have any questions don't hesitate to open your merge request and inquire in a comment. If your patch isn't quite done yet please do add prefix your MR title with WIP:.

Edited by John Ericson

Merge request reports

Merge request pipeline #38375 passed with warnings

Merge request pipeline passed with warnings for 024020c3

Merged by Marge BotMarge Bot 3 years ago (Jul 24, 2021 1:05am UTC)

Loading

Pipeline #38485 canceled

Pipeline canceled for 024020c3 on master

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
192 409 , identityPlatform zerow
193 410 , equalArgs >> retLit zerow ]
194 411 WordNotOp -> mkPrimOpRule nm 1 [ unaryLit complementOp
195 , inversePrimOp WordNotOp ]
412 , semiInversePrimOp WordNotOp ]
196 413 WordSllOp -> mkPrimOpRule nm 2 [ shiftRule LitNumWord (const Bits.shiftL) ]
197 414 WordSrlOp -> mkPrimOpRule nm 2 [ shiftRule LitNumWord shiftRightLogical ]
198 415
199 416 -- coercions
200 417
201 Int8ExtendOp -> mkPrimOpRule nm 1 [ liftLitPlatform extendIntLit ]
202 Int16ExtendOp -> mkPrimOpRule nm 1 [ liftLitPlatform extendIntLit ]
203 Int32ExtendOp -> mkPrimOpRule nm 1 [ liftLitPlatform extendIntLit ]
204 Int8NarrowOp -> mkPrimOpRule nm 1 [ liftLit narrowInt8Lit
205 , subsumedByPrimOp Int8NarrowOp
  • John Ericson changed the description

    changed the description

  • John Ericson added 1 commit

    added 1 commit

    • fc4892ab - WIP: Use fix-sized primops for fixed size boxed types

    Compare with previous version

  • John Ericson added 1 commit

    added 1 commit

    • 40ba07d1 - WIP: Use fix-sized primops for fixed size boxed types

    Compare with previous version

  • John Ericson changed title from WIP: Use fix-sized primops for fixed size boxed types --- contains !4698 (closed) & !4716 to WIP: Use fix-sized primops for fixed size boxed types --- contains !4698 (closed)

    changed title from WIP: Use fix-sized primops for fixed size boxed types --- contains !4698 (closed) & !4716 to WIP: Use fix-sized primops for fixed size boxed types --- contains !4698 (closed)

  • John Ericson added 20 commits

    added 20 commits

    Compare with previous version

  • John Ericson changed title from WIP: Use fix-sized primops for fixed size boxed types --- contains !4698 to WIP: Use fix-sized primops for fixed size boxed types

    changed title from WIP: Use fix-sized primops for fixed size boxed types --- contains !4698 to WIP: Use fix-sized primops for fixed size boxed types

  • John Ericson added 1 commit

    added 1 commit

    • 764738c6 - Use fix-sized primops for fixed size boxed types

    Compare with previous version

  • Huh! some stage1 executables are failing with

    commitBuffer: failed (No such file or directory)

    I can confirm ghc and haddock or borked, but ghc-pkgs is fine.

    Gosh, what did I do...

  • Being stumped, I did my usual thing of splitting the PR

    • !4773 (closed) fixes a stupid mistake of mine and should definitely go in as soon as it passes

    • !4774 (closed) Is just the constant folding part of this. I suspect the error was some sloppy edit in base and not the compiler itself, in which case that portion alone would pass CI.

  • John Ericson changed title from WIP: Use fix-sized primops for fixed size boxed types to WIP: Use fix-sized primops for fixed size boxed types --- contains !4773 & !4774

    changed title from WIP: Use fix-sized primops for fixed size boxed types to WIP: Use fix-sized primops for fixed size boxed types --- contains !4773 & !4774

  • John Ericson changed the description

    changed the description

  • mentioned in issue #19026 (closed)

  • John Ericson added 23 commits

    added 23 commits

    • 764738c6...4bb957de - 21 commits from branch master
    • cee77c9f - Add missing fixed-sized primops and constant folding
    • 8ca2d153 - Use fix-sized primops for fixed size boxed types

    Compare with previous version

  • John Ericson changed title from WIP: Use fix-sized primops for fixed size boxed types --- contains !477 (merged)3 & !4774 to WIP: Use fix-sized primops for fixed size boxed types --- contains !4774 (closed)

    changed title from WIP: Use fix-sized primops for fixed size boxed types --- contains !477 (merged)3 & !4774 to WIP: Use fix-sized primops for fixed size boxed types --- contains !4774 (closed)

  • John Ericson added 72 commits

    added 72 commits

    Compare with previous version

  • John Ericson changed title from WIP: Use fix-sized primops for fixed size boxed types --- contains !4774 to WIP: Use fix-sized primops for fixed size boxed types

    changed title from WIP: Use fix-sized primops for fixed size boxed types --- contains !4774 to WIP: Use fix-sized primops for fixed size boxed types

  • Sylvain Henry
  • Sylvain Henry
  • Sylvain Henry
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading