[Git][ghc/ghc][wip/libffi-3.4.7] 4 commits: Cmm/Parser: Add surface syntax for Mul2 MachOps

Cheng Shao (@TerrorJack) gitlab at gitlab.haskell.org
Fri Feb 21 18:19:03 UTC 2025



Cheng Shao pushed to branch wip/libffi-3.4.7 at Glasgow Haskell Compiler / GHC


Commits:
ef5470a2 by Ben Gamari at 2025-02-19T16:30:53+00:00
Cmm/Parser: Add surface syntax for Mul2 MachOps

These are otherwise very hard to test in isolation.

- - - - -
59b9307b by Cheng Shao at 2025-02-19T20:24:40-05:00
testsuite: fix InternalCounters test with +debug_ghc

The `InternalCounters` test case fails when ghc is built with
`+debug_ghc`. This patch skips it in that case and allows the
testsuite to pass for the `+debug_ghc` flavour transformer.

- - - - -
aa69187d by M Farkas-Dyck at 2025-02-19T20:25:31-05:00
Scrub a use of `head` in `GHC.Driver.Make.downsweep_imports.checkDuplicates`.

- - - - -
9c66011e by Cheng Shao at 2025-02-21T18:18:51+00:00
libffi: update to 3.4.7

- - - - -


4 changed files:

- compiler/GHC/Cmm/Parser.y
- compiler/GHC/Driver/Make.hs
- libffi-tarballs
- testsuite/tests/rts/all.T


Changes:

=====================================
compiler/GHC/Cmm/Parser.y
=====================================
@@ -1194,6 +1194,8 @@ callishMachOps platform = listToUFM $
     , allWidths "fetch_nand" (\w -> MO_AtomicRMW w AMO_Nand)
     , allWidths "fetch_or" (\w -> MO_AtomicRMW w AMO_Or)
     , allWidths "fetch_xor" (\w -> MO_AtomicRMW w AMO_Xor)
+    , allWidths "mul2_" (\w -> MO_S_Mul2 w)
+    , allWidths "mul2u_" (\w -> MO_U_Mul2 w)
     ]
   where
     allWidths


=====================================
compiler/GHC/Driver/Make.hs
=====================================
@@ -1682,9 +1682,9 @@ downsweep_imports hsc_env old_summaries excl_mods allow_dup_roots (root_errs, ro
           :: DownsweepCache
           -> IO ()
         checkDuplicates root_map
-           | allow_dup_roots = return ()
-           | null dup_roots  = return ()
-           | otherwise       = liftIO $ multiRootsErr (head dup_roots)
+           | not allow_dup_roots
+           , dup_root:_ <- dup_roots = liftIO $ multiRootsErr dup_root
+           | otherwise = pure ()
            where
              dup_roots :: [[ModSummary]]        -- Each at least of length 2
              dup_roots = filterOut isSingleton $ map rights (M.elems root_map)


=====================================
libffi-tarballs
=====================================
@@ -1 +1 @@
-Subproject commit 89a9b01c5647c8f0d3899435b99df690f582e9f1
+Subproject commit cb280851187d7b509d341be7b50c9a239810feb0


=====================================
testsuite/tests/rts/all.T
=====================================
@@ -470,6 +470,8 @@ test('InternalCounters',
     # The ways which build against the debug RTS are built with PROF_SPIN and
     # therefore differ in output
   , omit_ways(['nonmoving_thr_sanity', 'threaded2_sanity', 'sanity'])
+    # Likewise when ghc is linked with debug RTS using +debug_ghc
+  , when(debug_rts(), skip)
   ], makefile_test, ['InternalCounters'])
 test('alloccounter1', js_broken(22261), compile_and_run,
   [



View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/d20a8a0c72d85cec9704cba2f915420056db904a...9c66011edd4d8dd86baa79c1a38e40a75674987d

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/d20a8a0c72d85cec9704cba2f915420056db904a...9c66011edd4d8dd86baa79c1a38e40a75674987d
You're receiving this email because of your account on gitlab.haskell.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20250221/66e61089/attachment-0001.html>


More information about the ghc-commits mailing list