Cheng Shao pushed to branch wip/14554-wasm-fix at Glasgow Haskell Compiler / GHC

WARNING: The push did not contain any new commits, but force pushed to delete the commits and changes below.

Deleted commits:

5 changed files:

Changes:

  • compiler/GHC/Driver/Session.hs
    ... ... @@ -3547,6 +3547,7 @@ compilerInfo dflags
    3547 3547
            -- If true, we require that the 'id' field in installed package info
    
    3548 3548
            -- match what is passed to the @-this-unit-id@ flag for modules
    
    3549 3549
            -- built in it
    
    3550
    +       ("Support SMP", queryBool tgtSupportsSMP),
    
    3550 3551
            ("Requires unified installed package IDs", "YES"),
    
    3551 3552
            -- Whether or not we support the @-this-package-key@ flag.  Prefer
    
    3552 3553
            -- "Uses unit IDs" over it. We still say yes even if @-this-package-key@
    

  • hadrian/bindist/Makefile
    ... ... @@ -88,7 +88,6 @@ lib/settings : config.mk
    88 88
     	@echo '[("unlit command", "$$topdir/../bin/$(CrossCompilePrefix)unlit")' >> $@
    
    89 89
     	@echo ',("target RTS linker only supports shared libraries", "$(TargetRTSLinkerOnlySupportsSharedLibs)")' >> $@
    
    90 90
     	@echo ',("Use interpreter", "$(GhcWithInterpreter)")' >> $@
    
    91
    -	@echo ',("Support SMP", "$(GhcWithSMP)")' >> $@
    
    92 91
     	@echo ',("RTS ways", "$(GhcRTSWays)")' >> $@
    
    93 92
     	@echo ',("Relative Global Package DB", "package.conf.d")' >> $@
    
    94 93
     	@echo ',("base unit-id", "$(BaseUnitId)")' >> $@
    

  • hadrian/src/Oracles/Flag.hs
    ... ... @@ -121,27 +121,7 @@ targetSupportsThreadedRts = do
    121 121
     
    
    122 122
     -- | Does the target support the -N RTS flag?
    
    123 123
     targetSupportsSMP :: Action Bool
    
    124
    -targetSupportsSMP = do
    
    125
    -  unreg <- queryTargetTarget tgtUnregisterised
    
    126
    -  armVer <- targetArmVersion
    
    127
    -  goodArch <- (||) <$>
    
    128
    -              anyTargetArch [ ArchX86
    
    129
    -                            , ArchX86_64
    
    130
    -                            , ArchPPC
    
    131
    -                            , ArchPPC_64 ELF_V1
    
    132
    -                            , ArchPPC_64 ELF_V2
    
    133
    -                            , ArchAArch64
    
    134
    -                            , ArchS390X
    
    135
    -                            , ArchRISCV64
    
    136
    -                            , ArchLoongArch64 ] <*> isArmTarget
    
    137
    -  if   -- The THREADED_RTS requires `BaseReg` to be in a register and the
    
    138
    -       -- Unregisterised mode doesn't allow that.
    
    139
    -     | unreg                -> return False
    
    140
    -       -- We don't support load/store barriers pre-ARMv7. See #10433.
    
    141
    -     | Just ver <- armVer
    
    142
    -     , ver < ARMv7          -> return False
    
    143
    -     | goodArch             -> return True
    
    144
    -     | otherwise            -> return False
    
    124
    +targetSupportsSMP = queryTargetTarget Toolchain.tgtSupportsSMP
    
    145 125
     
    
    146 126
     useLibffiForAdjustors :: Action Bool
    
    147 127
     useLibffiForAdjustors = queryTargetTarget tgtUseLibffiForAdjustors
    

  • hadrian/src/Rules/Generate.hs
    ... ... @@ -486,7 +486,6 @@ generateSettings settingsFile = do
    486 486
             [ ("unlit command", ("$topdir/../bin/" <>) <$> expr (programName (ctx { Context.package = unlit })))
    
    487 487
             , ("target RTS linker only supports shared libraries", expr $ yesNo <$> targetRTSLinkerOnlySupportsSharedLibs)
    
    488 488
             , ("Use interpreter", expr $ yesNo <$> ghcWithInterpreter (predStage stage))
    
    489
    -        , ("Support SMP", expr $ yesNo <$> targetSupportsSMP)
    
    490 489
             , ("RTS ways", escapeArgs . map show . Set.toList <$> getRtsWays)
    
    491 490
             , ("Relative Global Package DB", pure rel_pkg_db)
    
    492 491
             , ("base unit-id", pure base_unit_id)
    

  • utils/ghc-toolchain/src/GHC/Toolchain/Target.hs
    1 1
     {-# LANGUAGE RecordWildCards #-}
    
    2 2
     {-# LANGUAGE NamedFieldPuns #-}
    
    3
    +{-# LANGUAGE MultiWayIf #-}
    
    3 4
     module GHC.Toolchain.Target
    
    4 5
       (
    
    5 6
         -- * A Toolchain Target
    
    ... ... @@ -7,6 +8,9 @@ module GHC.Toolchain.Target
    7 8
     
    
    8 9
       , WordSize(..), wordSize2Bytes
    
    9 10
     
    
    11
    +    -- ** Queries
    
    12
    +  , tgtSupportsSMP
    
    13
    +
    
    10 14
         -- ** Lenses
    
    11 15
       , _tgtCC, _tgtCxx, _tgtCpp, _tgtHsCpp
    
    12 16
     
    
    ... ... @@ -151,6 +155,34 @@ instance Show Target where
    151 155
         , "}"
    
    152 156
         ]
    
    153 157
     
    
    158
    +--------------------------------------------------------------------------------
    
    159
    +-- Queries
    
    160
    +--------------------------------------------------------------------------------
    
    161
    +
    
    162
    +tgtSupportsSMP :: Target -> Bool
    
    163
    +tgtSupportsSMP Target{..} = do
    
    164
    +  let goodArch =
    
    165
    +        isARM (archOS_arch tgtArchOs)
    
    166
    +          || archOS_arch tgtArchOs `elem`
    
    167
    +              [ ArchX86
    
    168
    +              , ArchX86_64
    
    169
    +              , ArchPPC
    
    170
    +              , ArchPPC_64 ELF_V1
    
    171
    +              , ArchPPC_64 ELF_V2
    
    172
    +              , ArchAArch64
    
    173
    +              , ArchS390X
    
    174
    +              , ArchRISCV64
    
    175
    +              , ArchLoongArch64 ]
    
    176
    +
    
    177
    +  if   -- The THREADED_RTS requires `BaseReg` to be in a register and the
    
    178
    +       -- Unregisterised mode doesn't allow that.
    
    179
    +     | tgtUnregisterised    -> False
    
    180
    +       -- We don't support load/store barriers pre-ARMv7. See #10433.
    
    181
    +     | ArchARM ver _ _ <- archOS_arch tgtArchOs
    
    182
    +     , ver < ARMv7          -> False
    
    183
    +     | goodArch             -> True
    
    184
    +     | otherwise            -> False
    
    185
    +
    
    154 186
     --------------------------------------------------------------------------------
    
    155 187
     -- Lenses
    
    156 188
     --------------------------------------------------------------------------------