Commits on Source (5)
-
Ben Gamari authored
-
Ben Gamari authored
As mentioned in Note [Register parameter passing] the arguments of foreign calls cannot refer to caller-saved registers.
-
Ben Gamari authored
Previously the code generator could produce corrupt C call sequences due to register overlap between MachOp lowerings and the platform's calling convention. We fix this using a hack described in Note [Evaluate C-call arguments before placing in destination registers].
-
Ben Gamari authored
-
Ben Gamari authored
Previously it failed as the `ghc` package was not visible.
Showing
- compiler/GHC/Cmm/Lint.hs 35 additions, 5 deletionscompiler/GHC/Cmm/Lint.hs
- compiler/GHC/Cmm/MachOp.hs 3 additions, 0 deletionscompiler/GHC/Cmm/MachOp.hs
- compiler/GHC/Cmm/Node.hs 7 additions, 6 deletionscompiler/GHC/Cmm/Node.hs
- compiler/GHC/Cmm/Sink.hs 1 addition, 0 deletionscompiler/GHC/Cmm/Sink.hs
- compiler/GHC/CmmToAsm/X86/CodeGen.hs 92 additions, 8 deletionscompiler/GHC/CmmToAsm/X86/CodeGen.hs
- compiler/GHC/StgToCmm/Foreign.hs 1 addition, 1 deletioncompiler/GHC/StgToCmm/Foreign.hs
- compiler/GHC/StgToCmm/Utils.hs 1 addition, 1 deletioncompiler/GHC/StgToCmm/Utils.hs
- includes/stg/MachRegs.h 2 additions, 0 deletionsincludes/stg/MachRegs.h
- testsuite/tests/codeGen/should_run/T18527.hs 20 additions, 0 deletionstestsuite/tests/codeGen/should_run/T18527.hs
- testsuite/tests/codeGen/should_run/T18527.stdout 3 additions, 0 deletionstestsuite/tests/codeGen/should_run/T18527.stdout
- testsuite/tests/codeGen/should_run/T18527FFI.c 14 additions, 0 deletionstestsuite/tests/codeGen/should_run/T18527FFI.c
- testsuite/tests/codeGen/should_run/all.T 1 addition, 0 deletionstestsuite/tests/codeGen/should_run/all.T
- testsuite/tests/concurrent/prog001/all.T 1 addition, 1 deletiontestsuite/tests/concurrent/prog001/all.T
testsuite/tests/codeGen/should_run/T18527.hs
0 → 100644