[Git][ghc/ghc][wip/ubxsumtag] reduce compile time/memory for testcase

Luite Stegeman pushed to branch wip/ubxsumtag at Glasgow Haskell Compiler / GHC Commits: 55f86df0 by Luite Stegeman at 2025-08-31T12:33:53+02:00 reduce compile time/memory for testcase - - - - - 3 changed files: - testsuite/tests/unboxedsums/UbxSumUnpackedSize.hs - testsuite/tests/unboxedsums/UbxSumUnpackedSize.stdout - testsuite/tests/unboxedsums/UbxSumUnpackedSize.stdout-ws-32 Changes: ===================================== testsuite/tests/unboxedsums/UbxSumUnpackedSize.hs ===================================== @@ -3,6 +3,7 @@ module Main where import GHC.Exts.Heap.Closures import Control.Exception (evaluate) import Data.Word (Word32) +import Data.Int (Int8, Int16) -- this should get a Word8 tag data E1 @@ -123,41 +124,41 @@ data U_Bool = U_Bool {-# UNPACK #-} !Bool deriving (Show) data U_E1 = U_E1 {-# UNPACK #-} !E1 - {-# UNPACK #-} !E1 - {-# UNPACK #-} !E1 - {-# UNPACK #-} !E1 - {-# UNPACK #-} !E1 - {-# UNPACK #-} !E1 - {-# UNPACK #-} !E1 - {-# UNPACK #-} !E1 + {-# UNPACK #-} !Int8 + {-# UNPACK #-} !Int8 + {-# UNPACK #-} !Int8 + {-# UNPACK #-} !Int8 + {-# UNPACK #-} !Int8 + {-# UNPACK #-} !Int8 + {-# UNPACK #-} !Int8 deriving (Show) data U_E2 = U_E2 {-# UNPACK #-} !E2 - {-# UNPACK #-} !E2 - {-# UNPACK #-} !E2 - {-# UNPACK #-} !E2 - {-# UNPACK #-} !E2 - {-# UNPACK #-} !E2 - {-# UNPACK #-} !E2 - {-# UNPACK #-} !E2 + {-# UNPACK #-} !Int8 + {-# UNPACK #-} !Int8 + {-# UNPACK #-} !Int8 + {-# UNPACK #-} !Int8 + {-# UNPACK #-} !Int8 + {-# UNPACK #-} !Int8 + {-# UNPACK #-} !Int8 deriving (Show) data U_E3 = U_E3 {-# UNPACK #-} !E3 - {-# UNPACK #-} !E3 - {-# UNPACK #-} !E3 - {-# UNPACK #-} !E3 - {-# UNPACK #-} !E3 - {-# UNPACK #-} !E3 - {-# UNPACK #-} !E3 - {-# UNPACK #-} !E3 + {-# UNPACK #-} !Int8 + {-# UNPACK #-} !Int8 + {-# UNPACK #-} !Int8 + {-# UNPACK #-} !Int8 + {-# UNPACK #-} !Int8 + {-# UNPACK #-} !Int8 + {-# UNPACK #-} !Int8 deriving (Show) data U_Mixed = U_Mixed {-# UNPACK #-} !E1 - {-# UNPACK #-} !E1 + {-# UNPACK #-} !Int8 {-# UNPACK #-} !E2 - {-# UNPACK #-} !E2 - {-# UNPACK #-} !E3 - {-# UNPACK #-} !E3 + {-# UNPACK #-} !Int16 + {-# UNPACK #-} !Int16 + {-# UNPACK #-} !Int16 {-# UNPACK #-} !Bool {-# UNPACK #-} !Bool deriving (Show) @@ -200,12 +201,10 @@ u_e1b = U_E1 maxBound minBound maxBound minBound maxBound minBound maxBound minBound u_e1c :: U_E1 -u_e1c = U_E1 E1_1 E1_2 E1_3 E1_4 - E1_5 E1_6 E1_7 E1_8 +u_e1c = U_E1 E1_1 126 127 0 1 2 3 4 u_e1d :: U_E1 -u_e1d = U_E1 E1_1 E1_16 E1_32 E1_64 - E1_127 E1_128 E1_250 E1_254 +u_e1d = U_E1 E1_254 126 127 0 1 2 3 4 u_e2a :: U_E2 u_e2a = U_E2 minBound maxBound minBound maxBound ===================================== testsuite/tests/unboxedsums/UbxSumUnpackedSize.stdout ===================================== @@ -4,31 +4,31 @@ U_Bool False True False True False True False True size: 2 ### u_e1a -U_E1 E1_1 E1_254 E1_1 E1_254 E1_1 E1_254 E1_1 E1_254 +U_E1 E1_1 127 (-128) 127 (-128) 127 (-128) 127 size: 2 ### u_e1b -U_E1 E1_254 E1_1 E1_254 E1_1 E1_254 E1_1 E1_254 E1_1 +U_E1 E1_254 (-128) 127 (-128) 127 (-128) 127 (-128) size: 2 ### u_e1c -U_E1 E1_1 E1_2 E1_3 E1_4 E1_5 E1_6 E1_7 E1_8 +U_E1 E1_1 126 127 0 1 2 3 4 size: 2 ### u_e1d -U_E1 E1_1 E1_16 E1_32 E1_64 E1_127 E1_128 E1_250 E1_254 +U_E1 E1_254 126 127 0 1 2 3 4 size: 2 ### u_e2a -U_E2 E2_1 E2_255 E2_1 E2_255 E2_1 E2_255 E2_1 E2_255 +U_E2 E2_1 127 (-128) 127 (-128) 127 (-128) 127 size: 2 ### u_e3a -U_E3 E3_1 E3_256 E3_1 E3_256 E3_1 E3_256 E3_1 E3_256 +U_E3 E3_1 127 (-128) 127 (-128) 127 (-128) 127 size: 3 ### u_mixed -U_Mixed E1_254 E1_1 E2_255 E2_1 E3_256 E3_1 True False +U_Mixed E1_254 (-128) E2_255 (-32768) 32767 (-32768) True False size: 3 ### u_maybe ===================================== testsuite/tests/unboxedsums/UbxSumUnpackedSize.stdout-ws-32 ===================================== @@ -4,31 +4,31 @@ U_Bool False True False True False True False True size: 3 ### u_e1a -U_E1 E1_1 E1_254 E1_1 E1_254 E1_1 E1_254 E1_1 E1_254 +U_E1 E1_1 127 (-128) 127 (-128) 127 (-128) 127 size: 3 ### u_e1b -U_E1 E1_254 E1_1 E1_254 E1_1 E1_254 E1_1 E1_254 E1_1 +U_E1 E1_254 (-128) 127 (-128) 127 (-128) 127 (-128) size: 3 ### u_e1c -U_E1 E1_1 E1_2 E1_3 E1_4 E1_5 E1_6 E1_7 E1_8 +U_E1 E1_1 126 127 0 1 2 3 4 size: 3 ### u_e1d -U_E1 E1_1 E1_16 E1_32 E1_64 E1_127 E1_128 E1_250 E1_254 +U_E1 E1_254 126 127 0 1 2 3 4 size: 3 ### u_e2a -U_E2 E2_1 E2_255 E2_1 E2_255 E2_1 E2_255 E2_1 E2_255 +U_E2 E2_1 127 (-128) 127 (-128) 127 (-128) 127 size: 3 ### u_e3a -U_E3 E3_1 E3_256 E3_1 E3_256 E3_1 E3_256 E3_1 E3_256 +U_E3 E3_1 127 (-128) 127 (-128) 127 (-128) 127 size: 5 ### u_mixed -U_Mixed E1_254 E1_1 E2_255 E2_1 E3_256 E3_1 True False +U_Mixed E1_254 (-128) E2_255 (-32768) 32767 (-32768) True False size: 4 ### u_maybe View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/55f86df04af3da608872a46609f63498... -- View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/55f86df04af3da608872a46609f63498... You're receiving this email because of your account on gitlab.haskell.org.
participants (1)
-
Luite Stegeman (@luite)