[Git][ghc/ghc][wip/angerman/aarch64-always-pic] 7 commits: Update inlining flags documentation
Moritz Angermann
gitlab at gitlab.haskell.org
Wed Nov 4 01:38:32 UTC 2020
Moritz Angermann pushed to branch wip/angerman/aarch64-always-pic at Glasgow Haskell Compiler / GHC
Commits:
78f2767d by Matthew Pickering at 2020-11-03T17:39:53-05:00
Update inlining flags documentation
- - - - -
14ce454f by Sylvain Henry at 2020-11-03T17:40:34-05:00
Linker: reorganize linker related code
Move linker related code into GHC.Linker. Previously it was scattered
into GHC.Unit.State, GHC.Driver.Pipeline, GHC.Runtime.Linker, etc.
Add documentation in GHC.Linker
- - - - -
616bec0d by Alan Zimmerman at 2020-11-03T17:41:10-05:00
Restrict Linear arrow %1 to exactly literal 1 only
This disallows `a %001 -> b`, and makes sure the type literal is
printed from its SourceText so it is clear why.
Closes #18888
- - - - -
3486ebe6 by Sylvain Henry at 2020-11-03T17:41:48-05:00
Hadrian: don't fail if ghc-tarballs dir doesn't exist
- - - - -
37f0434d by Sylvain Henry at 2020-11-03T17:42:26-05:00
Constant-folding: don't pass through GHC's Int/Word (fix #11704)
Constant-folding rules for integerToWord/integerToInt were performing
the following coercions at compilation time:
integerToWord: target's Integer -> ghc's Word -> target's Word
integerToInt : target's Integer -> ghc's Int -> target's Int
1) It was wrong for cross-compilers when GHC's word size is smaller than
the target one. This patch avoids passing through GHC's word-sized
types:
integerToWord: target's Integer -> ghc's Integer -> target's Word
integerToInt : target's Integer -> ghc's Integer -> target's Int
2) Additionally we didn't wrap the target word/int literal to make it
fit into the target's range! This broke the invariant of literals
only containing values in range.
The existing code is wrong only with a 64-bit cross-compiling GHC,
targeting a 32-bit platform, and performing constant folding on a
literal that doesn't fit in a 32-bit word. If GHC was built with
DEBUG, the assertion in GHC.Types.Literal.mkLitWord would fail.
Otherwise the bad transformation would go unnoticed.
- - - - -
bff74de7 by Sylvain Henry at 2020-11-03T17:43:03-05:00
Bignum: make GMP's bignat_add not recursive
bignat_add was a loopbreaker with an INLINE pragma (spotted by
@mpickering). This patch makes it non recursive to avoid the issue.
- - - - -
ba4ef2f8 by Moritz Angermann at 2020-11-03T20:38:31-05:00
[AArch64] Aarch64 Always PIC
- - - - -
30 changed files:
- compiler/GHC.hs
- compiler/GHC/Core.hs
- compiler/GHC/Core/Make.hs
- compiler/GHC/Core/Opt/ConstantFold.hs
- compiler/GHC/Driver/Backpack.hs
- compiler/GHC/Driver/Env.hs
- compiler/GHC/Driver/Main.hs
- compiler/GHC/Driver/Make.hs
- compiler/GHC/Driver/Pipeline.hs
- compiler/GHC/Driver/Session.hs
- compiler/GHC/Hs/Type.hs
- compiler/GHC/HsToCore/Foreign/Decl.hs
- compiler/GHC/HsToCore/Usage.hs
- compiler/GHC/Iface/Tidy/StaticPtrTable.hs
- + compiler/GHC/Linker.hs
- + compiler/GHC/Linker/Dynamic.hs
- compiler/GHC/SysTools/ExtraObj.hs → compiler/GHC/Linker/ExtraObj.hs
- compiler/GHC/Runtime/Linker.hs → compiler/GHC/Linker/Loader.hs
- + compiler/GHC/Linker/MacOS.hs
- + compiler/GHC/Linker/Static.hs
- compiler/GHC/Runtime/Linker/Types.hs → compiler/GHC/Linker/Types.hs
- + compiler/GHC/Linker/Unit.hs
- + compiler/GHC/Linker/Windows.hs
- compiler/GHC/Parser/PostProcess.hs
- compiler/GHC/Runtime/Debugger.hs
- compiler/GHC/Runtime/Eval.hs
- compiler/GHC/Runtime/Interpreter.hs
- compiler/GHC/Runtime/Loader.hs
- compiler/GHC/SysTools.hs
- compiler/GHC/SysTools/Tasks.hs
The diff was not included because it is too large.
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/c788de1a35c525f0efc26d90912581f89971501c...ba4ef2f89dd2306204dbf25f8831d816006a9f88
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/c788de1a35c525f0efc26d90912581f89971501c...ba4ef2f89dd2306204dbf25f8831d816006a9f88
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/20201103/5f668a48/attachment-0001.html>
More information about the ghc-commits
mailing list