summaryrefslogtreecommitdiff
path: root/compiler/GHC/Core
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2020-12-31 01:58:03 +0000
committerMarge Bot <ben+marge-bot@smart-cactus.org>2021-01-03 13:55:45 -0500
commit26a928b8fdb1b4ccb75e8edb620b8cf12cb38621 (patch)
tree4f0bebcaaae4b61fd5e71709902b55e38050cce4 /compiler/GHC/Core
parent0a2656249251634e2a0c8391bd7448069cf02c2c (diff)
downloadhaskell-26a928b8fdb1b4ccb75e8edb620b8cf12cb38621.tar.gz
Rename internal primpos ahead of !4492
I'm not sure how long the submodule dance is going to take, sadly, so I'd like to chip away at things in the meantime / avoid conflicts.
Diffstat (limited to 'compiler/GHC/Core')
-rw-r--r--compiler/GHC/Core/Opt/ConstantFold.hs68
1 files changed, 34 insertions, 34 deletions
diff --git a/compiler/GHC/Core/Opt/ConstantFold.hs b/compiler/GHC/Core/Opt/ConstantFold.hs
index dc57f77c74..0b5abdc711 100644
--- a/compiler/GHC/Core/Opt/ConstantFold.hs
+++ b/compiler/GHC/Core/Opt/ConstantFold.hs
@@ -198,43 +198,43 @@ primOpRules nm = \case
-- coercions
- Int8ExtendOp -> mkPrimOpRule nm 1 [ liftLitPlatform extendIntLit ]
- Int16ExtendOp -> mkPrimOpRule nm 1 [ liftLitPlatform extendIntLit ]
- Int32ExtendOp -> mkPrimOpRule nm 1 [ liftLitPlatform extendIntLit ]
- Int8NarrowOp -> mkPrimOpRule nm 1 [ liftLit narrowInt8Lit
- , subsumedByPrimOp Int8NarrowOp
- , narrowSubsumesAnd IntAndOp Int8NarrowOp 8 ]
- Int16NarrowOp -> mkPrimOpRule nm 1 [ liftLit narrowInt16Lit
- , subsumedByPrimOp Int8NarrowOp
- , subsumedByPrimOp Int16NarrowOp
- , narrowSubsumesAnd IntAndOp Int16NarrowOp 16 ]
- Int32NarrowOp -> mkPrimOpRule nm 1 [ liftLit narrowInt32Lit
- , subsumedByPrimOp Int8NarrowOp
- , subsumedByPrimOp Int16NarrowOp
- , subsumedByPrimOp Int32NarrowOp
- , narrowSubsumesAnd IntAndOp Int32NarrowOp 32 ]
-
- Word8ExtendOp -> mkPrimOpRule nm 1 [ liftLitPlatform extendWordLit
- , extendNarrowPassthrough Word8NarrowOp 0xFF
+ Int8ToIntOp -> mkPrimOpRule nm 1 [ liftLitPlatform extendIntLit ]
+ Int16ToIntOp -> mkPrimOpRule nm 1 [ liftLitPlatform extendIntLit ]
+ Int32ToIntOp -> mkPrimOpRule nm 1 [ liftLitPlatform extendIntLit ]
+ IntToInt8Op -> mkPrimOpRule nm 1 [ liftLit narrowInt8Lit
+ , subsumedByPrimOp IntToInt8Op
+ , narrowSubsumesAnd IntAndOp IntToInt8Op 8 ]
+ IntToInt16Op -> mkPrimOpRule nm 1 [ liftLit narrowInt16Lit
+ , subsumedByPrimOp IntToInt8Op
+ , subsumedByPrimOp IntToInt16Op
+ , narrowSubsumesAnd IntAndOp IntToInt16Op 16 ]
+ IntToInt32Op -> mkPrimOpRule nm 1 [ liftLit narrowInt32Lit
+ , subsumedByPrimOp IntToInt8Op
+ , subsumedByPrimOp IntToInt16Op
+ , subsumedByPrimOp IntToInt32Op
+ , narrowSubsumesAnd IntAndOp IntToInt32Op 32 ]
+
+ Word8ToWordOp -> mkPrimOpRule nm 1 [ liftLitPlatform extendWordLit
+ , extendNarrowPassthrough WordToWord8Op 0xFF
]
- Word16ExtendOp -> mkPrimOpRule nm 1 [ liftLitPlatform extendWordLit
- , extendNarrowPassthrough Word16NarrowOp 0xFFFF
+ Word16ToWordOp -> mkPrimOpRule nm 1 [ liftLitPlatform extendWordLit
+ , extendNarrowPassthrough WordToWord16Op 0xFFFF
]
- Word32ExtendOp -> mkPrimOpRule nm 1 [ liftLitPlatform extendWordLit
- , extendNarrowPassthrough Word32NarrowOp 0xFFFFFFFF
+ Word32ToWordOp -> mkPrimOpRule nm 1 [ liftLitPlatform extendWordLit
+ , extendNarrowPassthrough WordToWord32Op 0xFFFFFFFF
]
- Word8NarrowOp -> mkPrimOpRule nm 1 [ liftLit narrowWord8Lit
- , subsumedByPrimOp Word8NarrowOp
- , narrowSubsumesAnd WordAndOp Word8NarrowOp 8 ]
- Word16NarrowOp -> mkPrimOpRule nm 1 [ liftLit narrowWord16Lit
- , subsumedByPrimOp Word8NarrowOp
- , subsumedByPrimOp Word16NarrowOp
- , narrowSubsumesAnd WordAndOp Word16NarrowOp 16 ]
- Word32NarrowOp -> mkPrimOpRule nm 1 [ liftLit narrowWord32Lit
- , subsumedByPrimOp Word8NarrowOp
- , subsumedByPrimOp Word16NarrowOp
- , subsumedByPrimOp Word32NarrowOp
- , narrowSubsumesAnd WordAndOp Word32NarrowOp 32 ]
+ WordToWord8Op -> mkPrimOpRule nm 1 [ liftLit narrowWord8Lit
+ , subsumedByPrimOp WordToWord8Op
+ , narrowSubsumesAnd WordAndOp WordToWord8Op 8 ]
+ WordToWord16Op -> mkPrimOpRule nm 1 [ liftLit narrowWord16Lit
+ , subsumedByPrimOp WordToWord8Op
+ , subsumedByPrimOp WordToWord16Op
+ , narrowSubsumesAnd WordAndOp WordToWord16Op 16 ]
+ WordToWord32Op -> mkPrimOpRule nm 1 [ liftLit narrowWord32Lit
+ , subsumedByPrimOp WordToWord8Op
+ , subsumedByPrimOp WordToWord16Op
+ , subsumedByPrimOp WordToWord32Op
+ , narrowSubsumesAnd WordAndOp WordToWord32Op 32 ]
WordToIntOp -> mkPrimOpRule nm 1 [ liftLitPlatform (litNumCoerce LitNumInt)