Use fix-sized primops for fixed size boxed types
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:
.
Merge request reports
Activity
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 As @hsyl20 pointed out in !4390 (comment 311912), these are dead as they match on ill-typed code.
added 1 commit
- fc4892ab - WIP: Use fix-sized primops for fixed size boxed types
added 1 commit
- 40ba07d1 - 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 (closed) & !4716 to WIP: Use fix-sized primops for fixed size boxed types --- contains !4698 (closed)
added 20 commits
-
40ba07d1...bd877edd - 19 commits from branch
master
- 786f702a - WIP: Use fix-sized primops for fixed size boxed types
-
40ba07d1...bd877edd - 19 commits from branch
added 1 commit
- 764738c6 - Use fix-sized primops for fixed size boxed types
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.
-
mentioned in issue #19026 (closed)
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
-
764738c6...4bb957de - 21 commits from branch
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)
added 72 commits
-
8ca2d153...773e2828 - 71 commits from branch
master
- 53141cce - Use fix-sized primops for fixed size boxed types
-
8ca2d153...773e2828 - 71 commits from branch
- Resolved by John Ericson
- Resolved by John Ericson
- Resolved by John Ericson