[Git][ghc/ghc][wip/T23162-spj] 13 commits: Resolving issues #20645 and #26109
Simon Peyton Jones pushed to branch wip/T23162-spj at Glasgow Haskell Compiler / GHC Commits: 706d33e3 by Recursion Ninja at 2025-08-15T04:12:12-04:00 Resolving issues #20645 and #26109 Correctly sign extending and casting smaller bit width types for LLVM operations: - bitReverse8# - bitReverse16# - bitReverse32# - byteSwap16# - byteSwap32# - pdep8# - pdep16# - pext8# - pext16# - - - - - 1cdc6f46 by Cheng Shao at 2025-08-15T04:12:56-04:00 hadrian: enforce have_llvm=False for wasm32/js This patch fixes hadrian to always pass have_llvm=False to the testsuite driver for wasm32/js targets. These targets don't really support the LLVM backend, and the optllvm test way doesn't work. We used to special-case wasm32/js to avoid auto-adding optllvm way in testsuite/config/ghc, but this is still problematic if someone writes a new LLVM-related test and uses something like when(have_llvm(), extra_ways(["optllvm"])). So better just enforce have_llvm=False for these targets here. - - - - - ca03226d by Ben Gamari at 2025-08-18T13:43:20+00:00 configure: Allow use of LLVM 20 - - - - - 783cd7d6 by Cheng Shao at 2025-08-18T20:13:14-04:00 compiler: use `UniqMap` instead of `Map` for `BCEnv` in bytecode compiler The bytecode compiler maintains a `BCEnv` which was previously `Map Id StackDepth`. Given `Id` is `Uniquable`, we might as well use `UniqMap` here as a more efficient data structure, hence this patch. Co-authored-by: Codex <codex@openai.com> - - - - - 58e46da9 by fendor at 2025-08-18T20:13:56-04:00 rts: Strip lower three bits when hashing Word instead of lower eight bits - - - - - 45dbfa23 by Cheng Shao at 2025-08-18T20:14:37-04:00 libffi: update to 3.5.2 Bumps libffi submodule. - - - - - 54be78ef by Ben Gamari at 2025-08-19T16:28:05-04:00 testsuite: Fix T20006b This test is supposed to fail for non-threaded ways yet it was previously marked as only failing in `normal`. Fix this. - - - - - f4bac607 by Simon Peyton Jones at 2025-08-19T16:28:47-04:00 Take yet more care with reporting redundant constraints This small patch fixes #25992, which relates to reporting redundant constraints on default-method declarations. See (TRC5) in Note [Tracking redundant constraints] - - - - - ab130fec by fendor at 2025-08-19T16:29:29-04:00 Bump dependencies of hadrian-bootstrap-gen to use GHC 9.6.7 - - - - - 6d02ac6f by fendor at 2025-08-19T16:29:29-04:00 Bump required GHC version for test-bootstrap jobs to 9.10.1 Include test-bootstrap job for GHC 9.12.2. Update hadrian bootstrap plans use GHC 9.10 and 9.12 Remove older GHC bootstrap configurations. We require at least GHC 9.10.1 to build GHC. Adds plans for: * 9.10.1 * 9.10.2 * 9.12.1 * 9.12.2 - - - - - 9eaa2632 by Richard Eisenberg at 2025-08-20T00:53:15+01:00 Move some fundep solving to new spot Work in progress...[skip ci] This completes moving dict fundeps to the main loop We need wanted/wanted fundeps too ...and some other refactors Wibbles Make FunDeps into a new module Solve new_eqs rather than adding them to WantedConstraints Wibble Import wibbles Comments only [skip ci] WIP on FunDeps [skip ci] Work in progress [skip ci] More WIP Wibbles to fundeps [skip ci] Kill off kickOutAfterUnification More wibbles Need to remove the unification-count stuff entirely and do more tidying up -- this commit is mainly for CI Wibbles solver Iterate the simples more often than plugins Start to extend to equalities Whitespace only Small improvements Wibbles - - - - - 33265de0 by Simon Peyton Jones at 2025-08-20T00:53:15+01:00 Improved error messages from fundep changes - - - - - e512478a by Simon Peyton Jones at 2025-08-20T00:53:15+01:00 Wibbles - - - - - 73 changed files: - .gitlab-ci.yml - compiler/GHC/Builtin/primops.txt.pp - compiler/GHC/CmmToLlvm/CodeGen.hs - compiler/GHC/StgToByteCode.hs - compiler/GHC/Tc/Solver/Default.hs - compiler/GHC/Tc/Solver/Dict.hs - compiler/GHC/Tc/Solver/Equality.hs - + compiler/GHC/Tc/Solver/FunDeps.hs - compiler/GHC/Tc/Solver/InertSet.hs - compiler/GHC/Tc/Solver/Monad.hs - compiler/GHC/Tc/Solver/Solve.hs - compiler/GHC/Tc/TyCl/Instance.hs - compiler/GHC/Tc/Types/Origin.hs - compiler/GHC/Tc/Utils/Unify.hs - compiler/GHC/Types/Basic.hs - compiler/ghc.cabal.in - configure.ac - hadrian/bootstrap/generate_bootstrap_plans - hadrian/bootstrap/hadrian-bootstrap-gen.cabal - hadrian/bootstrap/plan-9_10_1.json - hadrian/bootstrap/plan-9_6_5.json → hadrian/bootstrap/plan-9_10_2.json - hadrian/bootstrap/plan-9_6_6.json → hadrian/bootstrap/plan-9_12_1.json - hadrian/bootstrap/plan-9_6_4.json → hadrian/bootstrap/plan-9_12_2.json - − hadrian/bootstrap/plan-9_6_1.json - − hadrian/bootstrap/plan-9_6_2.json - − hadrian/bootstrap/plan-9_6_3.json - − hadrian/bootstrap/plan-9_8_1.json - − hadrian/bootstrap/plan-9_8_2.json - hadrian/bootstrap/plan-bootstrap-9_10_1.json - hadrian/bootstrap/plan-bootstrap-9_6_5.json → hadrian/bootstrap/plan-bootstrap-9_10_2.json - hadrian/bootstrap/plan-bootstrap-9_6_6.json → hadrian/bootstrap/plan-bootstrap-9_12_1.json - hadrian/bootstrap/plan-bootstrap-9_8_1.json → hadrian/bootstrap/plan-bootstrap-9_12_2.json - − hadrian/bootstrap/plan-bootstrap-9_6_1.json - − hadrian/bootstrap/plan-bootstrap-9_6_2.json - − hadrian/bootstrap/plan-bootstrap-9_6_3.json - − hadrian/bootstrap/plan-bootstrap-9_6_4.json - − hadrian/bootstrap/plan-bootstrap-9_8_2.json - hadrian/bootstrap/src/Main.hs - hadrian/src/Settings/Builders/RunTest.hs - libffi-tarballs - libraries/ghc-internal/cbits/pdep.c - libraries/ghc-internal/cbits/pext.c - rts/Hash.c - testsuite/config/ghc - testsuite/tests/deriving/should_fail/T3621.stderr - testsuite/tests/indexed-types/should_fail/T9662.stderr - + testsuite/tests/llvm/should_run/T20645.hs - + testsuite/tests/llvm/should_run/T20645.stdout - testsuite/tests/llvm/should_run/all.T - testsuite/tests/numeric/should_run/foundation.hs - testsuite/tests/parser/should_fail/RecordDotSyntaxFail10.stderr - testsuite/tests/parser/should_fail/RecordDotSyntaxFail13.stderr - testsuite/tests/parser/should_fail/T20654a.stderr - testsuite/tests/partial-sigs/should_fail/T14040a.stderr - testsuite/tests/rts/flags/all.T - testsuite/tests/typecheck/no_skolem_info/T14040.stderr - + testsuite/tests/typecheck/should_compile/T25992a.hs - testsuite/tests/typecheck/should_compile/all.T - testsuite/tests/typecheck/should_compile/tc126.hs - testsuite/tests/typecheck/should_fail/FD3.stderr - testsuite/tests/typecheck/should_fail/FDsFromGivens2.stderr - testsuite/tests/typecheck/should_fail/T13506.stderr - testsuite/tests/typecheck/should_fail/T19415b.stderr - testsuite/tests/typecheck/should_fail/T5246.stderr - testsuite/tests/typecheck/should_fail/T5978.stderr - testsuite/tests/typecheck/should_fail/T8603.stderr - testsuite/tests/typecheck/should_fail/T9612.stderr - testsuite/tests/typecheck/should_fail/tcfail143.stderr - utils/genprimopcode/Lexer.x - utils/genprimopcode/Main.hs - utils/genprimopcode/Parser.y - utils/genprimopcode/ParserM.hs - utils/genprimopcode/Syntax.hs The diff was not included because it is too large. View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/b8d5945fe6eba042bc5a067a1d4e85e... -- View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/b8d5945fe6eba042bc5a067a1d4e85e... You're receiving this email because of your account on gitlab.haskell.org.
participants (1)
-
Simon Peyton Jones (@simonpj)