[Git][ghc/ghc][wip/carter/remove_x87Registers] 3 commits: GHC no longer ever defines TABLES_NEXT_TO_CODE on its own

Carter Schonwald gitlab at gitlab.haskell.org
Wed Apr 10 19:02:21 UTC 2019



Carter Schonwald pushed to branch wip/carter/remove_x87Registers at Glasgow Haskell Compiler / GHC


Commits:
fc3f421b by Joachim Breitner at 2019-04-10T03:17:37Z
GHC no longer ever defines TABLES_NEXT_TO_CODE on its own

It should be entirely the responsibility of make/Hadrian to ensure that
everything that needs this flag gets it. GHC shouldn't be hardcoded to
assist with bootstrapping since it builds other things besides itself.

Reviewers:

Subscribers: TerrorJack, rwbarton, carter

GHC Trac Issues: #15548 -- progress towards but not fix

Differential Revision: https://phabricator.haskell.org/D5082 -- extract
from that

- - - - -
be0dde8e by Ryan Scott at 2019-04-10T03:23:50Z
Use ghc-prim < 0.7, not <= 0.6.1, as upper version bounds

Using `ghc-prim <= 0.6.1` is somewhat dodgy from a PVP point of view,
as it makes it awkward to support new minor releases of `ghc-prim`.
Let's instead use `< 0.7`, which is the idiomatic way of expressing
PVP-compliant upper version bounds.

- - - - -
fbf7331b by Carter Tazio Schonwald at 2019-04-10T19:02:11Z
removing x87 register support from native code gen

* simplifies registers to have GPR, Float and Double, by removing the SSE2 and X87 Constructors
* makes -msse2 assumed/default for x86 platforms, fixing a long standing nondeterminism in rounding
behavior in 32bit haskell code
* removes the 80bit floating point representation from the supported float sizes
* theres still 1 tiny bit of x87 support needed,
for handling float and double return values in FFI calls  wrt the C ABI on x86_32,
but this one piece does not leak into the rest of NCG.
* Lots of code thats not been touched in a long time got deleted as a
consequence of all of this

all in all, this change paves the way towards a lot of future further
improvements in how GHC handles floating point computations, along with
making the native code gen more accessible to a larger pool of contributors.

- - - - -


30 changed files:

- compiler/cmm/CmmCallConv.hs
- compiler/cmm/CmmExpr.hs
- compiler/cmm/CmmType.hs
- compiler/codeGen/StgCmmPrim.hs
- compiler/llvmGen/LlvmCodeGen/Base.hs
- compiler/main/DynFlags.hs
- compiler/main/SysTools.hs
- compiler/nativeGen/AsmCodeGen.hs
- compiler/nativeGen/Format.hs
- compiler/nativeGen/NCGMonad.hs
- compiler/nativeGen/PPC/CodeGen.hs
- compiler/nativeGen/PPC/Ppr.hs
- compiler/nativeGen/PPC/Regs.hs
- compiler/nativeGen/Reg.hs
- compiler/nativeGen/RegAlloc/Graph/TrivColorable.hs
- compiler/nativeGen/RegClass.hs
- compiler/nativeGen/SPARC/Instr.hs
- compiler/nativeGen/SPARC/Ppr.hs
- compiler/nativeGen/SPARC/Regs.hs
- compiler/nativeGen/X86/CodeGen.hs
- compiler/nativeGen/X86/Instr.hs
- compiler/nativeGen/X86/Ppr.hs
- compiler/nativeGen/X86/RegInfo.hs
- compiler/nativeGen/X86/Regs.hs
- compiler/types/TyCon.hs
- ghc/ghc-bin.cabal.in
- includes/CodeGen.Platform.hs
- libraries/base/base.cabal
- libraries/base/tests/Numeric/all.T
- libraries/base/tests/Numeric/num009.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/compare/61e0a1e476add298618b2372f7a192563ee4fb09...fbf7331bfe6f3422c331cc7d30803d8c1d9abfe5

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/compare/61e0a1e476add298618b2372f7a192563ee4fb09...fbf7331bfe6f3422c331cc7d30803d8c1d9abfe5
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/20190410/f3256240/attachment.html>


More information about the ghc-commits mailing list