[Sized Cmm] properly retain sizes.
This replaces all Word<N> = W<N># Word# and Int<N> = I<N># Int# with Word<N> = W<N># Word<N># and Int<N> = I<N># Int<N>#, thus providing us with properly sized primitives in the codegenerator instead of pretending they are all full machine words. This came up when implementing darwinpcs for arm64. The darwinpcs reqires us to pack function argugments in excess of registers on the stack. While most procedure call standards (pcs) assume arguments are just passed in 8 byte slots; and thus the caller does not know the exact signature to make the call, darwinpcs requires us to adhere to the prototype, and thus have the correct sizes. If we specify CInt in the FFI call, it should correspond to the C int, and not just be Word sized, when it's only half the size.
parent
22888798
No related branches found
No related tags found
Pipeline #27411 failed
Stage: tool-lint
Stage: quick-build
Stage: lint
Stage: build
Stage: full-build
Stage: packaging
Stage: testing
Showing
- compiler/GHC/Builtin/Names.hs 3 additions, 2 deletionscompiler/GHC/Builtin/Names.hs
- compiler/GHC/Builtin/Types.hs 3 additions, 5 deletionscompiler/GHC/Builtin/Types.hs
- compiler/GHC/Builtin/primops.txt.pp 28 additions, 8 deletionscompiler/GHC/Builtin/primops.txt.pp
- compiler/GHC/ByteCode/Asm.hs 9 additions, 0 deletionscompiler/GHC/ByteCode/Asm.hs
- compiler/GHC/CmmToAsm/Ppr.hs 11 additions, 3 deletionscompiler/GHC/CmmToAsm/Ppr.hs
- compiler/GHC/Core.hs 4 additions, 0 deletionscompiler/GHC/Core.hs
- compiler/GHC/Core/Opt/ConstantFold.hs 59 additions, 0 deletionscompiler/GHC/Core/Opt/ConstantFold.hs
- compiler/GHC/CoreToByteCode.hs 42 additions, 15 deletionscompiler/GHC/CoreToByteCode.hs
- compiler/GHC/HsToCore/Foreign/Call.hs 3 additions, 29 deletionscompiler/GHC/HsToCore/Foreign/Call.hs
- compiler/GHC/HsToCore/Foreign/Decl.hs 6 additions, 0 deletionscompiler/GHC/HsToCore/Foreign/Decl.hs
- compiler/GHC/HsToCore/Quote.hs 2 additions, 3 deletionscompiler/GHC/HsToCore/Quote.hs
- compiler/GHC/Runtime/Heap/Inspect.hs 4 additions, 0 deletionscompiler/GHC/Runtime/Heap/Inspect.hs
- compiler/GHC/StgToCmm/DataCon.hs 16 additions, 1 deletioncompiler/GHC/StgToCmm/DataCon.hs
- compiler/GHC/StgToCmm/Prim.hs 18 additions, 8 deletionscompiler/GHC/StgToCmm/Prim.hs
- compiler/GHC/StgToCmm/Utils.hs 6 additions, 0 deletionscompiler/GHC/StgToCmm/Utils.hs
- compiler/GHC/Types/Literal.hs 199 additions, 12 deletionscompiler/GHC/Types/Literal.hs
- compiler/GHC/Utils/Outputable.hs 25 additions, 5 deletionscompiler/GHC/Utils/Outputable.hs
- ghc/ghc-bin.cabal.in 1 addition, 1 deletionghc/ghc-bin.cabal.in
- libraries/array 1 addition, 1 deletionlibraries/array
- libraries/base/GHC/Float.hs 2 additions, 2 deletionslibraries/base/GHC/Float.hs
Loading
Please register or sign in to comment