[Git][ghc/ghc][wip/T21623] 27 commits: Fix manifest filename when writing Windows .rc files
Simon Peyton Jones (@simonpj)
gitlab at gitlab.haskell.org
Tue Oct 25 12:48:40 UTC 2022
Simon Peyton Jones pushed to branch wip/T21623 at Glasgow Haskell Compiler / GHC
Commits:
a4dbd102 by Ben Gamari at 2022-10-21T09:11:12-04:00
Fix manifest filename when writing Windows .rc files
As noted in #12971, we previously used `show` which resulted in
inappropriate escaping of non-ASCII characters.
- - - - -
30f0d9a9 by Ben Gamari at 2022-10-21T09:11:12-04:00
Write response files in UTF-8 on Windows
This reverts the workaround introduced in
f63c8ef33ec9666688163abe4ccf2d6c0428a7e7, which taught our response file
logic to write response files with the `latin1` encoding to workaround
`gcc`'s lacking Unicode support. This is now no longer necessary (and in
fact actively unhelpful) since we rather use Clang.
- - - - -
b8304648 by M Farkas-Dyck at 2022-10-21T09:11:56-04:00
Scrub some partiality in `GHC.Core.Opt.Simplify.Utils`.
- - - - -
09ec7de2 by Teo Camarasu at 2022-10-21T13:23:07-04:00
template-haskell: Improve documentation of strictness annotation types
Before it was undocumentated that DecidedLazy can be returned by
reifyConStrictness for strict fields. This can happen when a field has
an unlifted type or its the single field of a newtype constructor.
Fixes #21380
- - - - -
88172069 by M Farkas-Dyck at 2022-10-21T13:23:51-04:00
Delete `eqExpr`, since GHC 9.4 has been released.
- - - - -
86e6549e by Ömer Sinan Ağacan at 2022-10-22T07:41:30-04:00
Introduce a standard thunk for allocating strings
Currently for a top-level closure in the form
hey = unpackCString# x
we generate code like this:
Main.hey_entry() // [R1]
{ info_tbls: [(c2T4,
label: Main.hey_info
rep: HeapRep static { Thunk }
srt: Nothing)]
stack_info: arg_space: 8 updfr_space: Just 8
}
{offset
c2T4: // global
_rqm::P64 = R1;
if ((Sp + 8) - 24 < SpLim) (likely: False) goto c2T5; else goto c2T6;
c2T5: // global
R1 = _rqm::P64;
call (stg_gc_enter_1)(R1) args: 8, res: 0, upd: 8;
c2T6: // global
(_c2T1::I64) = call "ccall" arg hints: [PtrHint,
PtrHint] result hints: [PtrHint] newCAF(BaseReg, _rqm::P64);
if (_c2T1::I64 == 0) goto c2T3; else goto c2T2;
c2T3: // global
call (I64[_rqm::P64])() args: 8, res: 0, upd: 8;
c2T2: // global
I64[Sp - 16] = stg_bh_upd_frame_info;
I64[Sp - 8] = _c2T1::I64;
R2 = hey1_r2Gg_bytes;
Sp = Sp - 16;
call GHC.CString.unpackCString#_info(R2) args: 24, res: 0, upd: 24;
}
}
This code is generated for every string literal. Only difference between
top-level closures like this is the argument for the bytes of the string
(hey1_r2Gg_bytes in the code above).
With this patch we introduce a standard thunk in the RTS, called
stg_MK_STRING_info, that does what `unpackCString# x` does, except it
gets the bytes address from the payload. Using this, for the closure
above, we generate this:
Main.hey_closure" {
Main.hey_closure:
const stg_MK_STRING_info;
const 0; // padding for indirectee
const 0; // static link
const 0; // saved info
const hey1_r1Gg_bytes; // the payload
}
This is much smaller in code.
Metric Decrease:
T10421
T11195
T12150
T12425
T16577
T18282
T18698a
T18698b
Co-Authored By: Ben Gamari <ben at well-typed.com>
- - - - -
1937016b by Andreas Klebinger at 2022-10-22T07:42:06-04:00
hadrian: Improve error for wrong key/value errors.
- - - - -
11fe42d8 by Vladislav Zavialov at 2022-10-23T00:11:50+03:00
Class layout info (#19623)
Updates the haddock submodule.
- - - - -
f0a90c11 by Sven Tennie at 2022-10-24T00:12:51-04:00
Pin used way for test cloneMyStack (#21977)
cloneMyStack checks the order of closures on the cloned stack. This may
change for different ways. Thus we limit this test to one way (normal).
- - - - -
b39bad13 by Simon Peyton Jones at 2022-10-24T10:34:06+01:00
Start work
Not ready for review
More progress
Wibbles
Stage1 compiles
More wibbles
More wibbles
More -- almost working
Comments
Wibbles
Wibbles
Wibble inlineId
Wibbles
Infinite loop somewhere
More wibbles. Maybe can build stage2
Make FuNCo a thing by itself
Wibble
Wibble
Wibbles
Fix OptCoercion
Wibble
Wibble to optCoercion
Replace SORT with TYPE and CONSTRAINT
Wibble
Delete unused import
Delete TypeOrConstraint from ghc-prim:GHC.Types
Move from NthCo to SelCo
Wibbles
Wibbles in RepType
Wibble
Add mkWpEta
Really add mkWpEta
Wibble Typeable binds etc
Improve error messages
More wibbles, mainly to error messages
Wibbles
Wibbles to errors
Wibbles
But especially: treat Constraint as Typeable
More wibbles
More changes
* Move role into SelTyCon
* Get rid of mkTcSymCo and friends
Unused variable
Wibbles
Wibble
Accept error message changes
Refactoring...
Remove tc functions like tcKind, tcGetTyVar.
Move tyConsOfType, occCheckExpand to TyCo.FVs.
Introduce GHC.Core.TyCo.Compare
Lots of import changes!
Update haddock submodule (I hope)
Wibbles (notably: actually add GHC.Core.TyCo.Compare)
Wibbles
Wibble output of T16575
Wibbles
More wibbles
Remove infinite loop in T1946
See Note [ForAllTy and type equality]
Deal with rejigConRes
Needs a Note to be written by Richard
Some renaming
AnonArgFlag --> FunTyFlag
ArgFlag --> ForAllTyFlag
Update haddock submodule
Rename TyCoBinder to ForAllTyBinder
Wibbles
Update haddock
Wibble
Update unix submodule
I think I accidentally got it out of sync with HEAD;
this puts it back.
Rename TyCoBinder to PiTyBinder
Update Haddock submodule
Wrap dictionaries in tuples
This fixes the kind bugs in arrow desugaring. Needs some Notes,
but I want to try CI.
More on boxing data cons
Rebase and update GHC.Tc.Errors/GHC.Tc.Errors.Ppr
Revert accidental changes in SameOccInfo
fixes mod180, tcfail182
Wibbles in error messages
..plus eqType comes from GHC.Core.TyCo.Compare
Wibbles
More wibbles
Reaedy for RAE review
Fix fragile rule setup in GHC.Float
See Note [realToFrac natural-to-float]
Wibbles
More wibbles
Remove unused import
Remove another unused import
Wibbles
Update haddock submodule
Respond to Sam's suggestions
Wibbles
Wibbles
- - - - -
33e04636 by Simon Peyton Jones at 2022-10-24T10:34:06+01:00
Wibbles
- - - - -
32efa8f4 by Simon Peyton Jones at 2022-10-24T10:34:06+01:00
Unused import
- - - - -
a003839e by Simon Peyton Jones at 2022-10-24T10:34:06+01:00
Better boxingCon_maybe
- - - - -
fe969e1f by Richard Eisenberg at 2022-10-24T10:34:06+01:00
Improvements to comments, etc., from Richard
- - - - -
aa5174cf by Simon Peyton Jones at 2022-10-24T10:34:06+01:00
Respond to Richard
- - - - -
eb2b9fb9 by Simon Peyton Jones at 2022-10-24T10:34:06+01:00
Improve boxing-data-con API
- - - - -
ab5206c2 by Simon Peyton Jones at 2022-10-24T10:34:06+01:00
Update error messages
- - - - -
93048b7a by Richard Eisenberg at 2022-10-24T10:34:06+01:00
Fix the equality constraint problem
- - - - -
5931c7fd by Simon Peyton Jones at 2022-10-24T10:34:06+01:00
Wibbles
- - - - -
c46173b3 by Simon Peyton Jones at 2022-10-24T10:34:06+01:00
Add isCovertGadtDataCon, fixing build
- - - - -
bda5ba6e by Simon Peyton Jones at 2022-10-24T10:34:06+01:00
Wibbles
- - - - -
22c36779 by Simon Peyton Jones at 2022-10-24T10:34:06+01:00
Wibbles
- - - - -
e600f532 by Simon Peyton Jones at 2022-10-24T10:34:06+01:00
Move RoughMatch code out of Unify into RoughMatch
- - - - -
7bc7bdd9 by Simon Peyton Jones at 2022-10-24T10:34:06+01:00
Wibble
- - - - -
8adc0051 by Simon Peyton Jones at 2022-10-24T10:34:07+01:00
Wibbles
- - - - -
c8caf380 by Simon Peyton Jones at 2022-10-24T10:35:26+01:00
Update haddock submodule again
- - - - -
53c0e75d by Simon Peyton Jones at 2022-10-25T13:48:02+01:00
Wibbles, esp in RoughMap
- - - - -
16 changed files:
- compiler/GHC.hs
- compiler/GHC/Builtin/Names.hs
- compiler/GHC/Builtin/Types.hs
- compiler/GHC/Builtin/Types.hs-boot
- compiler/GHC/Builtin/Types/Literals.hs
- compiler/GHC/Builtin/Types/Prim.hs
- − compiler/GHC/Builtin/Types/Prim.hs-boot
- compiler/GHC/Builtin/Uniques.hs
- compiler/GHC/Cmm.hs
- compiler/GHC/Cmm/CLabel.hs
- compiler/GHC/Cmm/Info/Build.hs
- compiler/GHC/Cmm/Parser.y
- compiler/GHC/Core/Coercion.hs
- compiler/GHC/Core/Coercion.hs-boot
- compiler/GHC/Core/Coercion/Opt.hs
- compiler/GHC/Core/ConLike.hs
The diff was not included because it is too large.
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/85b46648e1a0c55921cdeeaeba12f7329092fc8a...53c0e75dcb3d504610064b781535778794e8dd4a
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/85b46648e1a0c55921cdeeaeba12f7329092fc8a...53c0e75dcb3d504610064b781535778794e8dd4a
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/20221025/a6b27878/attachment-0001.html>
More information about the ghc-commits
mailing list