Marge Bot pushed to branch wip/marge_bot_batch_merge_job at Glasgow Haskell Compiler / GHC

Commits:

5 changed files:

Changes:

  • .gitlab/ci.sh
    ... ... @@ -265,6 +265,15 @@ function setup() {
    265 265
       # testsuite driver!
    
    266 266
       git config gc.auto 0
    
    267 267
     
    
    268
    +  # Some runners still choke at the perf note fetch step, which has to
    
    269
    +  # do with slow internet connection, see
    
    270
    +  # https://docs.gitlab.com/topics/git/troubleshooting_git/#error-stream-0-was-not-closed-cleanly
    
    271
    +  # for the http.postBuffer mitigation. It might seem
    
    272
    +  # counter-intuitive that "post buffer" helps with fetching, but git
    
    273
    +  # indeed issues post requests when fetching over https, it's a
    
    274
    +  # bidirectional negotiation with the remote.
    
    275
    +  git config http.postBuffer 52428800
    
    276
    +
    
    268 277
       info "====================================================="
    
    269 278
       info "Toolchain versions"
    
    270 279
       info "====================================================="
    

  • compiler/GHC/Builtin/Names.hs
    ... ... @@ -222,12 +222,11 @@ basicKnownKeyNames
    222 222
     
    
    223 223
             -- Type representation types
    
    224 224
             trModuleTyConName, trModuleDataConName,
    
    225
    -        trNameTyConName, trNameSDataConName, trNameDDataConName,
    
    225
    +        trNameSDataConName,
    
    226 226
             trTyConTyConName, trTyConDataConName,
    
    227 227
     
    
    228 228
             -- Typeable
    
    229 229
             typeableClassName,
    
    230
    -        typeRepTyConName,
    
    231 230
             someTypeRepTyConName,
    
    232 231
             someTypeRepDataConName,
    
    233 232
             kindRepTyConName,
    
    ... ... @@ -237,13 +236,10 @@ basicKnownKeyNames
    237 236
             kindRepFunDataConName,
    
    238 237
             kindRepTYPEDataConName,
    
    239 238
             kindRepTypeLitSDataConName,
    
    240
    -        kindRepTypeLitDDataConName,
    
    241
    -        typeLitSortTyConName,
    
    242 239
             typeLitSymbolDataConName,
    
    243 240
             typeLitNatDataConName,
    
    244 241
             typeLitCharDataConName,
    
    245 242
             typeRepIdName,
    
    246
    -        mkTrTypeName,
    
    247 243
             mkTrConName,
    
    248 244
             mkTrAppCheckedName,
    
    249 245
             mkTrFunName,
    
    ... ... @@ -296,7 +292,7 @@ basicKnownKeyNames
    296 292
             fmapName,
    
    297 293
     
    
    298 294
             -- Monad stuff
    
    299
    -        thenIOName, bindIOName, returnIOName, failIOName, bindMName, thenMName,
    
    295
    +        thenIOName, bindIOName, returnIOName, bindMName, thenMName,
    
    300 296
             returnMName, joinMName,
    
    301 297
     
    
    302 298
             -- MonadFail
    
    ... ... @@ -409,26 +405,18 @@ basicKnownKeyNames
    409 405
             naturalQuotName,
    
    410 406
             naturalRemName,
    
    411 407
             naturalAndName,
    
    412
    -        naturalAndNotName,
    
    413 408
             naturalOrName,
    
    414 409
             naturalXorName,
    
    415 410
             naturalTestBitName,
    
    416 411
             naturalBitName,
    
    417 412
             naturalGcdName,
    
    418 413
             naturalLcmName,
    
    419
    -        naturalLog2Name,
    
    420
    -        naturalLogBaseWordName,
    
    421
    -        naturalLogBaseName,
    
    422
    -        naturalPowModName,
    
    423
    -        naturalSizeInBaseName,
    
    424 414
     
    
    425 415
             bignatEqName,
    
    426 416
     
    
    427 417
             -- Float/Double
    
    428 418
             integerToFloatName,
    
    429 419
             integerToDoubleName,
    
    430
    -        naturalToFloatName,
    
    431
    -        naturalToDoubleName,
    
    432 420
             rationalToFloatName,
    
    433 421
             rationalToDoubleName,
    
    434 422
     
    
    ... ... @@ -479,7 +467,6 @@ basicKnownKeyNames
    479 467
     
    
    480 468
             -- Monad comprehensions
    
    481 469
             , guardMName
    
    482
    -        , liftMName
    
    483 470
             , mzipName
    
    484 471
     
    
    485 472
             -- GHCi Sandbox
    
    ... ... @@ -491,9 +478,6 @@ basicKnownKeyNames
    491 478
             , staticPtrDataConName, staticPtrInfoDataConName
    
    492 479
             , fromStaticPtrName
    
    493 480
     
    
    494
    -        -- Fingerprint
    
    495
    -        , fingerprintDataConName
    
    496
    -
    
    497 481
             -- Custom type errors
    
    498 482
             , errorMessageTypeErrorFamName
    
    499 483
             , typeErrorTextDataConName
    
    ... ... @@ -1154,18 +1138,12 @@ integerFromNaturalName
    1154 1138
        , naturalQuotName
    
    1155 1139
        , naturalRemName
    
    1156 1140
        , naturalAndName
    
    1157
    -   , naturalAndNotName
    
    1158 1141
        , naturalOrName
    
    1159 1142
        , naturalXorName
    
    1160 1143
        , naturalTestBitName
    
    1161 1144
        , naturalBitName
    
    1162 1145
        , naturalGcdName
    
    1163 1146
        , naturalLcmName
    
    1164
    -   , naturalLog2Name
    
    1165
    -   , naturalLogBaseWordName
    
    1166
    -   , naturalLogBaseName
    
    1167
    -   , naturalPowModName
    
    1168
    -   , naturalSizeInBaseName
    
    1169 1147
        , bignatEqName
    
    1170 1148
        , bignatCompareName
    
    1171 1149
        , bignatCompareWordName
    
    ... ... @@ -1194,18 +1172,12 @@ naturalQuotRemName = bnnVarQual "naturalQuotRem#" naturalQuotRe
    1194 1172
     naturalQuotName           = bnnVarQual "naturalQuot"               naturalQuotIdKey
    
    1195 1173
     naturalRemName            = bnnVarQual "naturalRem"                naturalRemIdKey
    
    1196 1174
     naturalAndName            = bnnVarQual "naturalAnd"                naturalAndIdKey
    
    1197
    -naturalAndNotName         = bnnVarQual "naturalAndNot"             naturalAndNotIdKey
    
    1198 1175
     naturalOrName             = bnnVarQual "naturalOr"                 naturalOrIdKey
    
    1199 1176
     naturalXorName            = bnnVarQual "naturalXor"                naturalXorIdKey
    
    1200 1177
     naturalTestBitName        = bnnVarQual "naturalTestBit#"           naturalTestBitIdKey
    
    1201 1178
     naturalBitName            = bnnVarQual "naturalBit#"               naturalBitIdKey
    
    1202 1179
     naturalGcdName            = bnnVarQual "naturalGcd"                naturalGcdIdKey
    
    1203 1180
     naturalLcmName            = bnnVarQual "naturalLcm"                naturalLcmIdKey
    
    1204
    -naturalLog2Name           = bnnVarQual "naturalLog2#"              naturalLog2IdKey
    
    1205
    -naturalLogBaseWordName    = bnnVarQual "naturalLogBaseWord#"       naturalLogBaseWordIdKey
    
    1206
    -naturalLogBaseName        = bnnVarQual "naturalLogBase#"           naturalLogBaseIdKey
    
    1207
    -naturalPowModName         = bnnVarQual "naturalPowMod"             naturalPowModIdKey
    
    1208
    -naturalSizeInBaseName     = bnnVarQual "naturalSizeInBase#"        naturalSizeInBaseIdKey
    
    1209 1181
     
    
    1210 1182
     integerFromNaturalName    = bniVarQual "integerFromNatural"        integerFromNaturalIdKey
    
    1211 1183
     integerToNaturalClampName = bniVarQual "integerToNaturalClamp"     integerToNaturalClampIdKey
    
    ... ... @@ -1276,12 +1248,9 @@ realFloatClassName = clsQual gHC_INTERNAL_FLOAT (fsLit "RealFloat") realFloatCla
    1276 1248
     
    
    1277 1249
     -- other GHC.Internal.Float functions
    
    1278 1250
     integerToFloatName, integerToDoubleName,
    
    1279
    -  naturalToFloatName, naturalToDoubleName,
    
    1280 1251
       rationalToFloatName, rationalToDoubleName :: Name
    
    1281 1252
     integerToFloatName   = varQual gHC_INTERNAL_FLOAT (fsLit "integerToFloat#") integerToFloatIdKey
    
    1282 1253
     integerToDoubleName  = varQual gHC_INTERNAL_FLOAT (fsLit "integerToDouble#") integerToDoubleIdKey
    
    1283
    -naturalToFloatName   = varQual gHC_INTERNAL_FLOAT (fsLit "naturalToFloat#") naturalToFloatIdKey
    
    1284
    -naturalToDoubleName  = varQual gHC_INTERNAL_FLOAT (fsLit "naturalToDouble#") naturalToDoubleIdKey
    
    1285 1254
     rationalToFloatName  = varQual gHC_INTERNAL_FLOAT (fsLit "rationalToFloat") rationalToFloatIdKey
    
    1286 1255
     rationalToDoubleName = varQual gHC_INTERNAL_FLOAT (fsLit "rationalToDouble") rationalToDoubleIdKey
    
    1287 1256
     
    
    ... ... @@ -1292,17 +1261,13 @@ ixClassName = clsQual gHC_INTERNAL_IX (fsLit "Ix") ixClassKey
    1292 1261
     -- Typeable representation types
    
    1293 1262
     trModuleTyConName
    
    1294 1263
       , trModuleDataConName
    
    1295
    -  , trNameTyConName
    
    1296 1264
       , trNameSDataConName
    
    1297
    -  , trNameDDataConName
    
    1298 1265
       , trTyConTyConName
    
    1299 1266
       , trTyConDataConName
    
    1300 1267
       :: Name
    
    1301 1268
     trModuleTyConName     = tcQual gHC_TYPES          (fsLit "Module")         trModuleTyConKey
    
    1302 1269
     trModuleDataConName   = dcQual gHC_TYPES          (fsLit "Module")         trModuleDataConKey
    
    1303
    -trNameTyConName       = tcQual gHC_TYPES          (fsLit "TrName")         trNameTyConKey
    
    1304 1270
     trNameSDataConName    = dcQual gHC_TYPES          (fsLit "TrNameS")        trNameSDataConKey
    
    1305
    -trNameDDataConName    = dcQual gHC_TYPES          (fsLit "TrNameD")        trNameDDataConKey
    
    1306 1271
     trTyConTyConName      = tcQual gHC_TYPES          (fsLit "TyCon")          trTyConTyConKey
    
    1307 1272
     trTyConDataConName    = dcQual gHC_TYPES          (fsLit "TyCon")          trTyConDataConKey
    
    1308 1273
     
    
    ... ... @@ -1313,7 +1278,6 @@ kindRepTyConName
    1313 1278
       , kindRepFunDataConName
    
    1314 1279
       , kindRepTYPEDataConName
    
    1315 1280
       , kindRepTypeLitSDataConName
    
    1316
    -  , kindRepTypeLitDDataConName
    
    1317 1281
       :: Name
    
    1318 1282
     kindRepTyConName      = tcQual gHC_TYPES          (fsLit "KindRep")        kindRepTyConKey
    
    1319 1283
     kindRepTyConAppDataConName = dcQual gHC_TYPES     (fsLit "KindRepTyConApp") kindRepTyConAppDataConKey
    
    ... ... @@ -1322,24 +1286,19 @@ kindRepAppDataConName = dcQual gHC_TYPES (fsLit "KindRepApp") kindR
    1322 1286
     kindRepFunDataConName = dcQual gHC_TYPES          (fsLit "KindRepFun")     kindRepFunDataConKey
    
    1323 1287
     kindRepTYPEDataConName = dcQual gHC_TYPES         (fsLit "KindRepTYPE")    kindRepTYPEDataConKey
    
    1324 1288
     kindRepTypeLitSDataConName = dcQual gHC_TYPES     (fsLit "KindRepTypeLitS") kindRepTypeLitSDataConKey
    
    1325
    -kindRepTypeLitDDataConName = dcQual gHC_TYPES     (fsLit "KindRepTypeLitD") kindRepTypeLitDDataConKey
    
    1326 1289
     
    
    1327
    -typeLitSortTyConName
    
    1328
    -  , typeLitSymbolDataConName
    
    1290
    +typeLitSymbolDataConName
    
    1329 1291
       , typeLitNatDataConName
    
    1330 1292
       , typeLitCharDataConName
    
    1331 1293
       :: Name
    
    1332
    -typeLitSortTyConName     = tcQual gHC_TYPES       (fsLit "TypeLitSort")    typeLitSortTyConKey
    
    1333 1294
     typeLitSymbolDataConName = dcQual gHC_TYPES       (fsLit "TypeLitSymbol")  typeLitSymbolDataConKey
    
    1334 1295
     typeLitNatDataConName    = dcQual gHC_TYPES       (fsLit "TypeLitNat")     typeLitNatDataConKey
    
    1335 1296
     typeLitCharDataConName   = dcQual gHC_TYPES       (fsLit "TypeLitChar")    typeLitCharDataConKey
    
    1336 1297
     
    
    1337 1298
     -- Class Typeable, and functions for constructing `Typeable` dictionaries
    
    1338 1299
     typeableClassName
    
    1339
    -  , typeRepTyConName
    
    1340 1300
       , someTypeRepTyConName
    
    1341 1301
       , someTypeRepDataConName
    
    1342
    -  , mkTrTypeName
    
    1343 1302
       , mkTrConName
    
    1344 1303
       , mkTrAppCheckedName
    
    1345 1304
       , mkTrFunName
    
    ... ... @@ -1350,11 +1309,9 @@ typeableClassName
    1350 1309
       , trGhcPrimModuleName
    
    1351 1310
       :: Name
    
    1352 1311
     typeableClassName     = clsQual gHC_INTERNAL_TYPEABLE_INTERNAL (fsLit "Typeable")       typeableClassKey
    
    1353
    -typeRepTyConName      = tcQual  gHC_INTERNAL_TYPEABLE_INTERNAL (fsLit "TypeRep")        typeRepTyConKey
    
    1354 1312
     someTypeRepTyConName   = tcQual gHC_INTERNAL_TYPEABLE_INTERNAL (fsLit "SomeTypeRep")    someTypeRepTyConKey
    
    1355 1313
     someTypeRepDataConName = dcQual gHC_INTERNAL_TYPEABLE_INTERNAL (fsLit "SomeTypeRep")    someTypeRepDataConKey
    
    1356 1314
     typeRepIdName         = varQual gHC_INTERNAL_TYPEABLE_INTERNAL (fsLit "typeRep#")       typeRepIdKey
    
    1357
    -mkTrTypeName          = varQual gHC_INTERNAL_TYPEABLE_INTERNAL (fsLit "mkTrType")       mkTrTypeKey
    
    1358 1315
     mkTrConName           = varQual gHC_INTERNAL_TYPEABLE_INTERNAL (fsLit "mkTrCon")        mkTrConKey
    
    1359 1316
     mkTrAppCheckedName    = varQual gHC_INTERNAL_TYPEABLE_INTERNAL (fsLit "mkTrAppChecked") mkTrAppCheckedKey
    
    1360 1317
     mkTrFunName           = varQual gHC_INTERNAL_TYPEABLE_INTERNAL (fsLit "mkTrFun")        mkTrFunKey
    
    ... ... @@ -1493,13 +1450,12 @@ ghciStepIoMName = varQual gHC_INTERNAL_GHCI (fsLit "ghciStepIO") ghciStepIoMClas
    1493 1450
     
    
    1494 1451
     -- IO things
    
    1495 1452
     ioTyConName, ioDataConName,
    
    1496
    -  thenIOName, bindIOName, returnIOName, failIOName :: Name
    
    1453
    +  thenIOName, bindIOName, returnIOName :: Name
    
    1497 1454
     ioTyConName       = tcQual  gHC_TYPES (fsLit "IO")       ioTyConKey
    
    1498 1455
     ioDataConName     = dcQual  gHC_TYPES (fsLit "IO")       ioDataConKey
    
    1499 1456
     thenIOName        = varQual gHC_INTERNAL_BASE  (fsLit "thenIO")   thenIOIdKey
    
    1500 1457
     bindIOName        = varQual gHC_INTERNAL_BASE  (fsLit "bindIO")   bindIOIdKey
    
    1501 1458
     returnIOName      = varQual gHC_INTERNAL_BASE  (fsLit "returnIO") returnIOIdKey
    
    1502
    -failIOName        = varQual gHC_INTERNAL_IO    (fsLit "failIO")   failIOIdKey
    
    1503 1459
     
    
    1504 1460
     -- IO things
    
    1505 1461
     printName :: Name
    
    ... ... @@ -1544,9 +1500,8 @@ choiceAName = varQual gHC_INTERNAL_ARROW (fsLit "|||") choiceAIdKey
    1544 1500
     loopAName          = varQual gHC_INTERNAL_ARROW (fsLit "loop")      loopAIdKey
    
    1545 1501
     
    
    1546 1502
     -- Monad comprehensions
    
    1547
    -guardMName, liftMName, mzipName :: Name
    
    1503
    +guardMName, mzipName :: Name
    
    1548 1504
     guardMName         = varQual gHC_INTERNAL_MONAD (fsLit "guard")    guardMIdKey
    
    1549
    -liftMName          = varQual gHC_INTERNAL_MONAD (fsLit "liftM")    liftMIdKey
    
    1550 1505
     mzipName           = varQual gHC_INTERNAL_CONTROL_MONAD_ZIP (fsLit "mzip") mzipIdKey
    
    1551 1506
     
    
    1552 1507
     
    
    ... ... @@ -1634,10 +1589,6 @@ fromStaticPtrName :: Name
    1634 1589
     fromStaticPtrName =
    
    1635 1590
         varQual gHC_INTERNAL_STATICPTR (fsLit "fromStaticPtr") fromStaticPtrClassOpKey
    
    1636 1591
     
    
    1637
    -fingerprintDataConName :: Name
    
    1638
    -fingerprintDataConName =
    
    1639
    -    dcQual gHC_INTERNAL_FINGERPRINT_TYPE (fsLit "Fingerprint") fingerprintDataConKey
    
    1640
    -
    
    1641 1592
     constPtrConName :: Name
    
    1642 1593
     constPtrConName =
    
    1643 1594
         tcQual gHC_INTERNAL_FOREIGN_C_CONSTPTR (fsLit "ConstPtr") constPtrTyConKey
    
    ... ... @@ -1915,13 +1866,11 @@ pluginTyConKey, frontendPluginTyConKey :: Unique
    1915 1866
     pluginTyConKey                          = mkPreludeTyConUnique 102
    
    1916 1867
     frontendPluginTyConKey                  = mkPreludeTyConUnique 103
    
    1917 1868
     
    
    1918
    -trTyConTyConKey, trModuleTyConKey, trNameTyConKey,
    
    1919
    -  kindRepTyConKey, typeLitSortTyConKey :: Unique
    
    1869
    +trTyConTyConKey, trModuleTyConKey,
    
    1870
    +  kindRepTyConKey :: Unique
    
    1920 1871
     trTyConTyConKey                         = mkPreludeTyConUnique 104
    
    1921 1872
     trModuleTyConKey                        = mkPreludeTyConUnique 105
    
    1922
    -trNameTyConKey                          = mkPreludeTyConUnique 106
    
    1923 1873
     kindRepTyConKey                         = mkPreludeTyConUnique 107
    
    1924
    -typeLitSortTyConKey                     = mkPreludeTyConUnique 108
    
    1925 1874
     
    
    1926 1875
     -- Generics (Unique keys)
    
    1927 1876
     v1TyConKey, u1TyConKey, par1TyConKey, rec1TyConKey,
    
    ... ... @@ -1990,8 +1939,7 @@ callStackTyConKey :: Unique
    1990 1939
     callStackTyConKey = mkPreludeTyConUnique 191
    
    1991 1940
     
    
    1992 1941
     -- Typeables
    
    1993
    -typeRepTyConKey, someTypeRepTyConKey, someTypeRepDataConKey :: Unique
    
    1994
    -typeRepTyConKey       = mkPreludeTyConUnique 192
    
    1942
    +someTypeRepTyConKey, someTypeRepDataConKey :: Unique
    
    1995 1943
     someTypeRepTyConKey   = mkPreludeTyConUnique 193
    
    1996 1944
     someTypeRepDataConKey = mkPreludeTyConUnique 194
    
    1997 1945
     
    
    ... ... @@ -2123,19 +2071,15 @@ staticPtrDataConKey = mkPreludeDataConUnique 33
    2123 2071
     staticPtrInfoDataConKey :: Unique
    
    2124 2072
     staticPtrInfoDataConKey                 = mkPreludeDataConUnique 34
    
    2125 2073
     
    
    2126
    -fingerprintDataConKey :: Unique
    
    2127
    -fingerprintDataConKey                   = mkPreludeDataConUnique 35
    
    2128
    -
    
    2129 2074
     srcLocDataConKey :: Unique
    
    2130 2075
     srcLocDataConKey                        = mkPreludeDataConUnique 37
    
    2131 2076
     
    
    2132 2077
     trTyConDataConKey, trModuleDataConKey,
    
    2133
    -  trNameSDataConKey, trNameDDataConKey,
    
    2078
    +  trNameSDataConKey,
    
    2134 2079
       trGhcPrimModuleKey :: Unique
    
    2135 2080
     trTyConDataConKey                       = mkPreludeDataConUnique 41
    
    2136 2081
     trModuleDataConKey                      = mkPreludeDataConUnique 43
    
    2137 2082
     trNameSDataConKey                       = mkPreludeDataConUnique 45
    
    2138
    -trNameDDataConKey                       = mkPreludeDataConUnique 46
    
    2139 2083
     trGhcPrimModuleKey                      = mkPreludeDataConUnique 47
    
    2140 2084
     
    
    2141 2085
     typeErrorTextDataConKey,
    
    ... ... @@ -2210,7 +2154,7 @@ vecElemDataConKeys = map mkPreludeDataConUnique [96..105]
    2210 2154
     -- Typeable things
    
    2211 2155
     kindRepTyConAppDataConKey, kindRepVarDataConKey, kindRepAppDataConKey,
    
    2212 2156
         kindRepFunDataConKey, kindRepTYPEDataConKey,
    
    2213
    -    kindRepTypeLitSDataConKey, kindRepTypeLitDDataConKey
    
    2157
    +    kindRepTypeLitSDataConKey
    
    2214 2158
         :: Unique
    
    2215 2159
     kindRepTyConAppDataConKey = mkPreludeDataConUnique 106
    
    2216 2160
     kindRepVarDataConKey      = mkPreludeDataConUnique 107
    
    ... ... @@ -2218,7 +2162,6 @@ kindRepAppDataConKey = mkPreludeDataConUnique 108
    2218 2162
     kindRepFunDataConKey      = mkPreludeDataConUnique 109
    
    2219 2163
     kindRepTYPEDataConKey     = mkPreludeDataConUnique 110
    
    2220 2164
     kindRepTypeLitSDataConKey = mkPreludeDataConUnique 111
    
    2221
    -kindRepTypeLitDDataConKey = mkPreludeDataConUnique 112
    
    2222 2165
     
    
    2223 2166
     typeLitSymbolDataConKey, typeLitNatDataConKey, typeLitCharDataConKey :: Unique
    
    2224 2167
     typeLitSymbolDataConKey   = mkPreludeDataConUnique 113
    
    ... ... @@ -2306,7 +2249,7 @@ cstringLengthIdKey = mkPreludeMiscIdUnique 28
    2306 2249
     
    
    2307 2250
     concatIdKey, filterIdKey, zipIdKey,
    
    2308 2251
         bindIOIdKey, returnIOIdKey, newStablePtrIdKey,
    
    2309
    -    printIdKey, failIOIdKey, nullAddrIdKey, voidArgIdKey,
    
    2252
    +    printIdKey, nullAddrIdKey, voidArgIdKey,
    
    2310 2253
         otherwiseIdKey, assertIdKey :: Unique
    
    2311 2254
     concatIdKey                   = mkPreludeMiscIdUnique 31
    
    2312 2255
     filterIdKey                   = mkPreludeMiscIdUnique 32
    
    ... ... @@ -2315,7 +2258,6 @@ bindIOIdKey = mkPreludeMiscIdUnique 34
    2315 2258
     returnIOIdKey                 = mkPreludeMiscIdUnique 35
    
    2316 2259
     newStablePtrIdKey             = mkPreludeMiscIdUnique 36
    
    2317 2260
     printIdKey                    = mkPreludeMiscIdUnique 37
    
    2318
    -failIOIdKey                   = mkPreludeMiscIdUnique 38
    
    2319 2261
     nullAddrIdKey                 = mkPreludeMiscIdUnique 39
    
    2320 2262
     voidArgIdKey                  = mkPreludeMiscIdUnique 40
    
    2321 2263
     otherwiseIdKey                = mkPreludeMiscIdUnique 43
    
    ... ... @@ -2354,11 +2296,9 @@ considerAccessibleIdKey = mkPreludeMiscIdUnique 125
    2354 2296
     noinlineIdKey           = mkPreludeMiscIdUnique 126
    
    2355 2297
     noinlineConstraintIdKey = mkPreludeMiscIdUnique 127
    
    2356 2298
     
    
    2357
    -integerToFloatIdKey, integerToDoubleIdKey, naturalToFloatIdKey, naturalToDoubleIdKey :: Unique
    
    2299
    +integerToFloatIdKey, integerToDoubleIdKey :: Unique
    
    2358 2300
     integerToFloatIdKey    = mkPreludeMiscIdUnique 128
    
    2359 2301
     integerToDoubleIdKey   = mkPreludeMiscIdUnique 129
    
    2360
    -naturalToFloatIdKey    = mkPreludeMiscIdUnique 130
    
    2361
    -naturalToDoubleIdKey   = mkPreludeMiscIdUnique 131
    
    2362 2302
     
    
    2363 2303
     rationalToFloatIdKey, rationalToDoubleIdKey :: Unique
    
    2364 2304
     rationalToFloatIdKey   = mkPreludeMiscIdUnique 132
    
    ... ... @@ -2436,9 +2376,8 @@ toIntegerClassOpKey = mkPreludeMiscIdUnique 192
    2436 2376
     toRationalClassOpKey = mkPreludeMiscIdUnique 193
    
    2437 2377
     
    
    2438 2378
     -- Monad comprehensions
    
    2439
    -guardMIdKey, liftMIdKey, mzipIdKey :: Unique
    
    2379
    +guardMIdKey, mzipIdKey :: Unique
    
    2440 2380
     guardMIdKey     = mkPreludeMiscIdUnique 194
    
    2441
    -liftMIdKey      = mkPreludeMiscIdUnique 195
    
    2442 2381
     mzipIdKey       = mkPreludeMiscIdUnique 196
    
    2443 2382
     
    
    2444 2383
     -- GHCi
    
    ... ... @@ -2461,7 +2400,6 @@ proxyHashKey = mkPreludeMiscIdUnique 502
    2461 2400
     
    
    2462 2401
     -- Used to make `Typeable` dictionaries
    
    2463 2402
     mkTyConKey
    
    2464
    -  , mkTrTypeKey
    
    2465 2403
       , mkTrConKey
    
    2466 2404
       , mkTrAppCheckedKey
    
    2467 2405
       , mkTrFunKey
    
    ... ... @@ -2471,7 +2409,6 @@ mkTyConKey
    2471 2409
       , typeRepIdKey
    
    2472 2410
       :: Unique
    
    2473 2411
     mkTyConKey            = mkPreludeMiscIdUnique 503
    
    2474
    -mkTrTypeKey           = mkPreludeMiscIdUnique 504
    
    2475 2412
     mkTrConKey            = mkPreludeMiscIdUnique 505
    
    2476 2413
     mkTrAppCheckedKey     = mkPreludeMiscIdUnique 506
    
    2477 2414
     typeNatTypeRepKey     = mkPreludeMiscIdUnique 507
    
    ... ... @@ -2584,18 +2521,12 @@ integerFromNaturalIdKey
    2584 2521
        , naturalQuotIdKey
    
    2585 2522
        , naturalRemIdKey
    
    2586 2523
        , naturalAndIdKey
    
    2587
    -   , naturalAndNotIdKey
    
    2588 2524
        , naturalOrIdKey
    
    2589 2525
        , naturalXorIdKey
    
    2590 2526
        , naturalTestBitIdKey
    
    2591 2527
        , naturalBitIdKey
    
    2592 2528
        , naturalGcdIdKey
    
    2593 2529
        , naturalLcmIdKey
    
    2594
    -   , naturalLog2IdKey
    
    2595
    -   , naturalLogBaseWordIdKey
    
    2596
    -   , naturalLogBaseIdKey
    
    2597
    -   , naturalPowModIdKey
    
    2598
    -   , naturalSizeInBaseIdKey
    
    2599 2530
        , bignatEqIdKey
    
    2600 2531
        , bignatCompareIdKey
    
    2601 2532
        , bignatCompareWordIdKey
    
    ... ... @@ -2650,18 +2581,12 @@ naturalQuotRemIdKey = mkPreludeMiscIdUnique 669
    2650 2581
     naturalQuotIdKey           = mkPreludeMiscIdUnique 670
    
    2651 2582
     naturalRemIdKey            = mkPreludeMiscIdUnique 671
    
    2652 2583
     naturalAndIdKey            = mkPreludeMiscIdUnique 672
    
    2653
    -naturalAndNotIdKey         = mkPreludeMiscIdUnique 673
    
    2654 2584
     naturalOrIdKey             = mkPreludeMiscIdUnique 674
    
    2655 2585
     naturalXorIdKey            = mkPreludeMiscIdUnique 675
    
    2656 2586
     naturalTestBitIdKey        = mkPreludeMiscIdUnique 676
    
    2657 2587
     naturalBitIdKey            = mkPreludeMiscIdUnique 677
    
    2658 2588
     naturalGcdIdKey            = mkPreludeMiscIdUnique 678
    
    2659 2589
     naturalLcmIdKey            = mkPreludeMiscIdUnique 679
    
    2660
    -naturalLog2IdKey           = mkPreludeMiscIdUnique 680
    
    2661
    -naturalLogBaseWordIdKey    = mkPreludeMiscIdUnique 681
    
    2662
    -naturalLogBaseIdKey        = mkPreludeMiscIdUnique 682
    
    2663
    -naturalPowModIdKey         = mkPreludeMiscIdUnique 683
    
    2664
    -naturalSizeInBaseIdKey     = mkPreludeMiscIdUnique 684
    
    2665 2590
     
    
    2666 2591
     bignatEqIdKey              = mkPreludeMiscIdUnique 691
    
    2667 2592
     bignatCompareIdKey         = mkPreludeMiscIdUnique 692
    

  • hadrian/doc/flavours.md
    ... ... @@ -249,10 +249,6 @@ The supported transformers are listed below:
    249 249
         <tr>
    
    250 250
             <td><code>profiled_ghc</code></td>
    
    251 251
             <td>Build the GHC executable with cost-centre profiling support.
    
    252
    -            It is recommended that you use this in conjunction with `no_dynamic_ghc` since
    
    253
    -            GHC does not support loading of profiled libraries with the
    
    254
    -            dynamic linker. You should use a flavour that builds profiling libs and rts,
    
    255
    -            i.e. not <code>quick</code>. <br>
    
    256 252
                 This flag adds cost centres with the -fprof-late flag.</td>
    
    257 253
         </tr>
    
    258 254
         <tr>
    
    ... ... @@ -274,6 +270,10 @@ The supported transformers are listed below:
    274 270
             <td><code>text_simdutf</code></td>
    
    275 271
             <td>Enable building the <code>text</code> package with <code>simdutf</code> support.</td>
    
    276 272
         </tr>
    
    273
    +    <tr>
    
    274
    +        <td><code>with_profiled_libs</code></td>
    
    275
    +        <td>Enables building of stage1+ libraries and the RTS in profiled build ways (the opposite of <code>no_profiled_libs</code>).</td>
    
    276
    +    </tr>
    
    277 277
         <tr>
    
    278 278
             <td><code>no_profiled_libs</code></td>
    
    279 279
             <td>Disables building of libraries in profiled build ways.</td>
    

  • hadrian/src/Flavour.hs
    ... ... @@ -15,6 +15,7 @@ module Flavour
    15 15
       , enableProfiledGhc
    
    16 16
       , disableDynamicGhcPrograms
    
    17 17
       , disableDynamicLibs
    
    18
    +  , enableProfiledLibs
    
    18 19
       , disableProfiledLibs
    
    19 20
       , enableLinting
    
    20 21
       , enableHaddock
    
    ... ... @@ -62,6 +63,7 @@ flavourTransformers = M.fromList
    62 63
         , "no_dynamic_libs"  =: disableDynamicLibs
    
    63 64
         , "native_bignum"    =: useNativeBignum
    
    64 65
         , "text_simdutf"     =: enableTextWithSIMDUTF
    
    66
    +    , "with_profiled_libs" =: enableProfiledLibs
    
    65 67
         , "no_profiled_libs" =: disableProfiledLibs
    
    66 68
         , "omit_pragmas"     =: omitPragmas
    
    67 69
         , "ipe"              =: enableIPE
    
    ... ... @@ -308,29 +310,11 @@ enableUBSan =
    308 310
     viaLlvmBackend :: Flavour -> Flavour
    
    309 311
     viaLlvmBackend = addArgs $ notStage0 ? builder Ghc ? arg "-fllvm"
    
    310 312
     
    
    311
    --- | Build the GHC executable with profiling enabled in stages 2 and later. It
    
    312
    --- is also recommended that you use this with @'dynamicGhcPrograms' = False@
    
    313
    --- since GHC does not support loading of profiled libraries with the
    
    314
    --- dynamically-linker.
    
    313
    +-- | Build the GHC executable with profiling enabled in stages 2 and
    
    314
    +-- later.
    
    315 315
     enableProfiledGhc :: Flavour -> Flavour
    
    316 316
     enableProfiledGhc flavour =
    
    317
    -  enableLateCCS flavour
    
    318
    -    { rtsWays = do
    
    319
    -        ws <- rtsWays flavour
    
    320
    -        mconcat
    
    321
    -          [ pure ws
    
    322
    -          , buildingCompilerStage' (>= Stage2) ? pure (foldMap profiled_ways ws)
    
    323
    -          ]
    
    324
    -    , libraryWays = mconcat
    
    325
    -        [ libraryWays flavour
    
    326
    -        , buildingCompilerStage' (>= Stage2) ? pure (Set.singleton profiling)
    
    327
    -        ]
    
    328
    -    , ghcProfiled = (>= Stage2)
    
    329
    -    }
    
    330
    -    where
    
    331
    -      profiled_ways w
    
    332
    -        | wayUnit Dynamic w = Set.empty
    
    333
    -        | otherwise         = Set.singleton (w <> profiling)
    
    317
    +  enableLateCCS $ enableProfiledLibs flavour { ghcProfiled = (>= Stage2) }
    
    334 318
     
    
    335 319
     -- | Disable 'dynamicGhcPrograms'.
    
    336 320
     disableDynamicGhcPrograms :: Flavour -> Flavour
    
    ... ... @@ -347,6 +331,20 @@ disableDynamicLibs flavour =
    347 331
         prune :: Ways -> Ways
    
    348 332
         prune = fmap $ Set.filter (not . wayUnit Dynamic)
    
    349 333
     
    
    334
    +-- | Build libraries and the RTS in profiled ways (opposite of
    
    335
    +-- 'disableProfiledLibs').
    
    336
    +enableProfiledLibs :: Flavour -> Flavour
    
    337
    +enableProfiledLibs flavour =
    
    338
    +  flavour
    
    339
    +    { libraryWays = addProfilingWays $ libraryWays flavour,
    
    340
    +      rtsWays = addProfilingWays $ rtsWays flavour
    
    341
    +    }
    
    342
    +  where
    
    343
    +    addProfilingWays :: Ways -> Ways
    
    344
    +    addProfilingWays ways = do
    
    345
    +      ws <- ways
    
    346
    +      buildProfiled <- notStage0
    
    347
    +      pure $ if buildProfiled then ws <> Set.map (<> profiling) ws else ws
    
    350 348
     
    
    351 349
     -- | Don't build libraries in profiled 'Way's.
    
    352 350
     disableProfiledLibs :: Flavour -> Flavour
    

  • libraries/ghc-internal/src/GHC/Internal/IO/Handle.hs
    ... ... @@ -480,7 +480,7 @@ hIsOpen handle =
    480 480
           SemiClosedHandle     -> return False
    
    481 481
           _                    -> return True
    
    482 482
     
    
    483
    --- | @'hIsOpen' hdl@ returns whether the handle is closed.
    
    483
    +-- | @'hIsClosed' hdl@ returns whether the handle is closed.
    
    484 484
     -- If the 'haType' of @hdl@ is 'ClosedHandle' this returns 'True'
    
    485 485
     -- and 'False' otherwise.
    
    486 486
     hIsClosed :: Handle -> IO Bool