Teo Camarasu pushed to branch wip/T26834 at Glasgow Haskell Compiler / GHC Commits: ce2d62fb by Jessica Clarke at 2026-01-29T19:48:51-05:00 PPC NCG: Use libcall for 64-bit cmpxchg on 32-bit PowerPC There is no native instruction for this, and even if there were a register pair version we could use, the implementation here is assuming the values fit in a single register, and we end up only using / defining the low halves of the registers. Fixes: b4d39adbb5 ("PrimOps: Add CAS op for all int sizes") Fixes: #23969 - - - - - 43d97761 by Michael Karcher at 2026-01-29T19:49:43-05:00 NCG for PPC: add pattern for CmmRegOff to iselExpr64 Closes #26828 - - - - - aeeb4a20 by Matthew Pickering at 2026-01-30T11:42:47-05:00 determinism: Use deterministic map for Strings in TyLitMap When generating typeable evidence the types we need evidence for all cached in a TypeMap, the order terms are retrieved from a type map determines the order the bindings appear in the program. A TypeMap is quite diligent to use deterministic maps, apart from in the TyLitMap, which uses a UniqFM for storing strings, whose ordering depends on the Unique of the FastString. This can cause non-deterministic .hi and .o files. An unexpected side-effect is the error message but RecordDotSyntaxFail8 changing. I looked into this with Sam and this change caused the constraints to be solved in a different order which results in a slightly different error message. I have accepted the new test, since the output before was non-deterministic and the new output is consistent with the other messages in that file. Fixes #26846 - - - - - 9e4d70c2 by Andrew Lelechenko at 2026-01-30T11:43:29-05:00 Upgrade text submodule to 2.1.4 - - - - - 5085d918 by Teo Camarasu at 2026-01-30T18:11:09+00:00 ghc-internal: refine imports of GHC.Internal.Data.Bool - - - - - 33505d95 by Teo Camarasu at 2026-01-30T18:11:09+00:00 Delete unecessary GHC.Internal.Data.Ix - - - - - 3f053e9d by Teo Camarasu at 2026-01-30T18:11:09+00:00 ghc-internal: refine List imports - - - - - 008d7ff2 by Teo Camarasu at 2026-01-30T18:11:10+00:00 Move MonadFix Identity into Monad.Fix - - - - - 6c06525c by Teo Camarasu at 2026-01-30T18:12:27+00:00 ghc-internal: Move GHC.Internal.Data.Ord to base:Data.Ord This module is just a re-export of Ord and the definition of some utilities. Nothing from this module is used in ghc-internal and none of it is known key or wiredin. Yet its presence linearises the module graph. Let's move it base. Resolves #26859 - - - - - d2f11069 by Teo Camarasu at 2026-01-30T18:31:51+00:00 Invert Identity/Const Traversable instances - - - - - be7ef54e by Teo Camarasu at 2026-01-30T18:34:17+00:00 Refine imports of GHC.Internal.Control.Monad - - - - - 48f8c975 by Teo Camarasu at 2026-01-30T20:22:05+00:00 Float up Generics - - - - - 45692c90 by Teo Camarasu at 2026-01-30T20:22:05+00:00 Refine imports of GHC.Internal.Stack - - - - - bb3ff50f by Teo Camarasu at 2026-01-30T20:22:05+00:00 Tidy up GHC.Internal.Stack - - - - - 91d1295c by Teo Camarasu at 2026-01-30T20:24:16+00:00 Switch MonadFix with Arrow - - - - - b7c5ad3d by Teo Camarasu at 2026-01-30T20:24:17+00:00 Refine import of ForeignPtr - - - - - 44b212a7 by Teo Camarasu at 2026-01-30T20:40:39+00:00 wip - - - - - 66 changed files: - compiler/GHC/CmmToAsm/PPC/CodeGen.hs - compiler/GHC/Core/Map/Type.hs - libraries/base/src/Data/Foldable1.hs - libraries/base/src/Data/Functor/Classes.hs - libraries/base/src/Data/Ix.hs - libraries/base/src/Data/List.hs - libraries/base/src/Data/List/NonEmpty.hs - libraries/base/src/Data/List/NubOrdSet.hs - libraries/base/src/Data/Ord.hs - libraries/base/src/Data/Traversable.hs - libraries/base/src/GHC/Exts.hs - libraries/base/src/GHC/Stack.hs - libraries/ghc-internal/ghc-internal.cabal.in - libraries/ghc-internal/src/GHC/Internal/ClosureTypes.hs - libraries/ghc-internal/src/GHC/Internal/Control/Arrow.hs - libraries/ghc-internal/src/GHC/Internal/Control/Monad/Fix.hs - libraries/ghc-internal/src/GHC/Internal/Control/Monad/Zip.hs - libraries/ghc-internal/src/GHC/Internal/Data/Data.hs - libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs - libraries/ghc-internal/src/GHC/Internal/Data/Function.hs - libraries/ghc-internal/src/GHC/Internal/Data/Functor/Const.hs - libraries/ghc-internal/src/GHC/Internal/Data/Functor/Identity.hs - − libraries/ghc-internal/src/GHC/Internal/Data/Ix.hs - libraries/ghc-internal/src/GHC/Internal/Data/List/NonEmpty.hs - libraries/ghc-internal/src/GHC/Internal/Data/Monoid.hs - − libraries/ghc-internal/src/GHC/Internal/Data/Ord.hs - libraries/ghc-internal/src/GHC/Internal/Data/Semigroup/Internal.hs - libraries/ghc-internal/src/GHC/Internal/Data/String.hs - libraries/ghc-internal/src/GHC/Internal/Data/Traversable.hs - libraries/ghc-internal/src/GHC/Internal/Data/Type/Bool.hs - libraries/ghc-internal/src/GHC/Internal/Data/Type/Ord.hs - libraries/ghc-internal/src/GHC/Internal/Data/Version.hs - libraries/ghc-internal/src/GHC/Internal/Debug/Trace.hs - libraries/ghc-internal/src/GHC/Internal/Event/Windows.hsc - libraries/ghc-internal/src/GHC/Internal/ExecutionStack/Internal.hsc - libraries/ghc-internal/src/GHC/Internal/Exts.hs - libraries/ghc-internal/src/GHC/Internal/Functor/ZipList.hs - libraries/ghc-internal/src/GHC/Internal/Generics.hs - libraries/ghc-internal/src/GHC/Internal/Heap/Closures.hs - libraries/ghc-internal/src/GHC/Internal/IO/Buffer.hs - libraries/ghc-internal/src/GHC/Internal/IO/Encoding/CodePage.hs - libraries/ghc-internal/src/GHC/Internal/IO/Exception.hs - libraries/ghc-internal/src/GHC/Internal/IORef.hs - + libraries/ghc-internal/src/GHC/Internal/Prim.hs - + libraries/ghc-internal/src/GHC/Internal/PrimopWrappers.hs - libraries/ghc-internal/src/GHC/Internal/ResponseFile.hs - libraries/ghc-internal/src/GHC/Internal/STM.hs - libraries/ghc-internal/src/GHC/Internal/Stack.hs - libraries/ghc-internal/src/GHC/Internal/Stack/Decode.hs - libraries/ghc-internal/src/GHC/Internal/Stats.hsc - libraries/ghc-internal/src/GHC/Internal/System/Environment.hs - libraries/ghc-internal/src/GHC/Internal/System/Environment/Blank.hsc - libraries/ghc-internal/src/GHC/Internal/System/Environment/ExecutablePath.hsc - libraries/ghc-internal/src/GHC/Internal/System/IO/OS.hs - libraries/ghc-internal/src/GHC/Internal/System/Posix/Internals.hs - libraries/ghc-internal/src/GHC/Internal/TypeError.hs - libraries/text - + testsuite/tests/ghc-api/TypeMapStringLiteral.hs - testsuite/tests/ghc-api/all.T - testsuite/tests/interface-stability/base-exports.stdout - testsuite/tests/interface-stability/base-exports.stdout-javascript-unknown-ghcjs - testsuite/tests/interface-stability/base-exports.stdout-mingw32 - testsuite/tests/interface-stability/base-exports.stdout-ws-32 - testsuite/tests/interface-stability/ghc-experimental-exports.stdout - testsuite/tests/interface-stability/ghc-experimental-exports.stdout-mingw32 - testsuite/tests/parser/should_fail/RecordDotSyntaxFail8.stderr The diff was not included because it is too large. View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/1dd155964e9baf4f58a5196b541e7ef... -- View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/1dd155964e9baf4f58a5196b541e7ef... You're receiving this email because of your account on gitlab.haskell.org.