Luite Stegeman pushed to branch wip/ubxsumtag at Glasgow Haskell Compiler / GHC

Commits:

3 changed files:

Changes:

  • testsuite/tests/unboxedsums/UbxSumUnpackedSize.hs
    ... ... @@ -3,6 +3,7 @@ module Main where
    3 3
     import GHC.Exts.Heap.Closures
    
    4 4
     import Control.Exception (evaluate)
    
    5 5
     import Data.Word (Word32)
    
    6
    +import Data.Int (Int8, Int16)
    
    6 7
     
    
    7 8
     -- this should get a Word8 tag
    
    8 9
     data E1
    
    ... ... @@ -123,41 +124,41 @@ data U_Bool = U_Bool {-# UNPACK #-} !Bool
    123 124
         deriving (Show)
    
    124 125
     
    
    125 126
     data U_E1 = U_E1 {-# UNPACK #-} !E1
    
    126
    -                 {-# UNPACK #-} !E1
    
    127
    -                 {-# UNPACK #-} !E1
    
    128
    -                 {-# UNPACK #-} !E1
    
    129
    -                 {-# UNPACK #-} !E1
    
    130
    -                 {-# UNPACK #-} !E1
    
    131
    -                 {-# UNPACK #-} !E1
    
    132
    -                 {-# UNPACK #-} !E1
    
    127
    +                 {-# UNPACK #-} !Int8
    
    128
    +                 {-# UNPACK #-} !Int8
    
    129
    +                 {-# UNPACK #-} !Int8
    
    130
    +                 {-# UNPACK #-} !Int8
    
    131
    +                 {-# UNPACK #-} !Int8
    
    132
    +                 {-# UNPACK #-} !Int8
    
    133
    +                 {-# UNPACK #-} !Int8
    
    133 134
         deriving (Show)
    
    134 135
     
    
    135 136
     data U_E2 = U_E2 {-# UNPACK #-} !E2
    
    136
    -                 {-# UNPACK #-} !E2
    
    137
    -                 {-# UNPACK #-} !E2
    
    138
    -                 {-# UNPACK #-} !E2
    
    139
    -                 {-# UNPACK #-} !E2
    
    140
    -                 {-# UNPACK #-} !E2
    
    141
    -                 {-# UNPACK #-} !E2
    
    142
    -                 {-# UNPACK #-} !E2
    
    137
    +                 {-# UNPACK #-} !Int8
    
    138
    +                 {-# UNPACK #-} !Int8
    
    139
    +                 {-# UNPACK #-} !Int8
    
    140
    +                 {-# UNPACK #-} !Int8
    
    141
    +                 {-# UNPACK #-} !Int8
    
    142
    +                 {-# UNPACK #-} !Int8
    
    143
    +                 {-# UNPACK #-} !Int8
    
    143 144
         deriving (Show)
    
    144 145
     
    
    145 146
     data U_E3 = U_E3 {-# UNPACK #-} !E3
    
    146
    -                 {-# UNPACK #-} !E3
    
    147
    -                 {-# UNPACK #-} !E3
    
    148
    -                 {-# UNPACK #-} !E3
    
    149
    -                 {-# UNPACK #-} !E3
    
    150
    -                 {-# UNPACK #-} !E3
    
    151
    -                 {-# UNPACK #-} !E3
    
    152
    -                 {-# UNPACK #-} !E3
    
    147
    +                 {-# UNPACK #-} !Int8
    
    148
    +                 {-# UNPACK #-} !Int8
    
    149
    +                 {-# UNPACK #-} !Int8
    
    150
    +                 {-# UNPACK #-} !Int8
    
    151
    +                 {-# UNPACK #-} !Int8
    
    152
    +                 {-# UNPACK #-} !Int8
    
    153
    +                 {-# UNPACK #-} !Int8
    
    153 154
         deriving (Show)
    
    154 155
     
    
    155 156
     data U_Mixed = U_Mixed {-# UNPACK #-} !E1
    
    156
    -                       {-# UNPACK #-} !E1
    
    157
    +                       {-# UNPACK #-} !Int8
    
    157 158
                            {-# UNPACK #-} !E2
    
    158
    -                       {-# UNPACK #-} !E2
    
    159
    -                       {-# UNPACK #-} !E3
    
    160
    -                       {-# UNPACK #-} !E3
    
    159
    +                       {-# UNPACK #-} !Int16
    
    160
    +                       {-# UNPACK #-} !Int16
    
    161
    +                       {-# UNPACK #-} !Int16
    
    161 162
                            {-# UNPACK #-} !Bool
    
    162 163
                            {-# UNPACK #-} !Bool
    
    163 164
         deriving (Show)
    
    ... ... @@ -200,12 +201,10 @@ u_e1b = U_E1 maxBound minBound maxBound minBound
    200 201
                  maxBound minBound maxBound minBound
    
    201 202
     
    
    202 203
     u_e1c :: U_E1
    
    203
    -u_e1c = U_E1 E1_1 E1_2 E1_3 E1_4
    
    204
    -             E1_5 E1_6 E1_7 E1_8
    
    204
    +u_e1c = U_E1 E1_1 126 127 0 1 2 3 4
    
    205 205
     
    
    206 206
     u_e1d :: U_E1
    
    207
    -u_e1d = U_E1 E1_1 E1_16 E1_32 E1_64
    
    208
    -             E1_127 E1_128 E1_250 E1_254
    
    207
    +u_e1d = U_E1 E1_254 126 127 0 1 2 3 4
    
    209 208
     
    
    210 209
     u_e2a :: U_E2
    
    211 210
     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
    4 4
     size: 2
    
    5 5
     
    
    6 6
     ### u_e1a
    
    7
    -U_E1 E1_1 E1_254 E1_1 E1_254 E1_1 E1_254 E1_1 E1_254
    
    7
    +U_E1 E1_1 127 (-128) 127 (-128) 127 (-128) 127
    
    8 8
     size: 2
    
    9 9
     
    
    10 10
     ### u_e1b
    
    11
    -U_E1 E1_254 E1_1 E1_254 E1_1 E1_254 E1_1 E1_254 E1_1
    
    11
    +U_E1 E1_254 (-128) 127 (-128) 127 (-128) 127 (-128)
    
    12 12
     size: 2
    
    13 13
     
    
    14 14
     ### u_e1c
    
    15
    -U_E1 E1_1 E1_2 E1_3 E1_4 E1_5 E1_6 E1_7 E1_8
    
    15
    +U_E1 E1_1 126 127 0 1 2 3 4
    
    16 16
     size: 2
    
    17 17
     
    
    18 18
     ### u_e1d
    
    19
    -U_E1 E1_1 E1_16 E1_32 E1_64 E1_127 E1_128 E1_250 E1_254
    
    19
    +U_E1 E1_254 126 127 0 1 2 3 4
    
    20 20
     size: 2
    
    21 21
     
    
    22 22
     ### u_e2a
    
    23
    -U_E2 E2_1 E2_255 E2_1 E2_255 E2_1 E2_255 E2_1 E2_255
    
    23
    +U_E2 E2_1 127 (-128) 127 (-128) 127 (-128) 127
    
    24 24
     size: 2
    
    25 25
     
    
    26 26
     ### u_e3a
    
    27
    -U_E3 E3_1 E3_256 E3_1 E3_256 E3_1 E3_256 E3_1 E3_256
    
    27
    +U_E3 E3_1 127 (-128) 127 (-128) 127 (-128) 127
    
    28 28
     size: 3
    
    29 29
     
    
    30 30
     ### u_mixed
    
    31
    -U_Mixed E1_254 E1_1 E2_255 E2_1 E3_256 E3_1 True False
    
    31
    +U_Mixed E1_254 (-128) E2_255 (-32768) 32767 (-32768) True False
    
    32 32
     size: 3
    
    33 33
     
    
    34 34
     ### u_maybe
    

  • testsuite/tests/unboxedsums/UbxSumUnpackedSize.stdout-ws-32
    ... ... @@ -4,31 +4,31 @@ U_Bool False True False True False True False True
    4 4
     size: 3
    
    5 5
     
    
    6 6
     ### u_e1a
    
    7
    -U_E1 E1_1 E1_254 E1_1 E1_254 E1_1 E1_254 E1_1 E1_254
    
    7
    +U_E1 E1_1 127 (-128) 127 (-128) 127 (-128) 127
    
    8 8
     size: 3
    
    9 9
     
    
    10 10
     ### u_e1b
    
    11
    -U_E1 E1_254 E1_1 E1_254 E1_1 E1_254 E1_1 E1_254 E1_1
    
    11
    +U_E1 E1_254 (-128) 127 (-128) 127 (-128) 127 (-128)
    
    12 12
     size: 3
    
    13 13
     
    
    14 14
     ### u_e1c
    
    15
    -U_E1 E1_1 E1_2 E1_3 E1_4 E1_5 E1_6 E1_7 E1_8
    
    15
    +U_E1 E1_1 126 127 0 1 2 3 4
    
    16 16
     size: 3
    
    17 17
     
    
    18 18
     ### u_e1d
    
    19
    -U_E1 E1_1 E1_16 E1_32 E1_64 E1_127 E1_128 E1_250 E1_254
    
    19
    +U_E1 E1_254 126 127 0 1 2 3 4
    
    20 20
     size: 3
    
    21 21
     
    
    22 22
     ### u_e2a
    
    23
    -U_E2 E2_1 E2_255 E2_1 E2_255 E2_1 E2_255 E2_1 E2_255
    
    23
    +U_E2 E2_1 127 (-128) 127 (-128) 127 (-128) 127
    
    24 24
     size: 3
    
    25 25
     
    
    26 26
     ### u_e3a
    
    27
    -U_E3 E3_1 E3_256 E3_1 E3_256 E3_1 E3_256 E3_1 E3_256
    
    27
    +U_E3 E3_1 127 (-128) 127 (-128) 127 (-128) 127
    
    28 28
     size: 5
    
    29 29
     
    
    30 30
     ### u_mixed
    
    31
    -U_Mixed E1_254 E1_1 E2_255 E2_1 E3_256 E3_1 True False
    
    31
    +U_Mixed E1_254 (-128) E2_255 (-32768) 32767 (-32768) True False
    
    32 32
     size: 4
    
    33 33
     
    
    34 34
     ### u_maybe