diff options
author | Matthew Pickering <matthewtpickering@gmail.com> | 2021-01-22 18:30:29 +0000 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2021-02-22 18:27:05 -0500 |
commit | 8bc9df52ae8b1fd213290e1da1ed6e5af902a718 (patch) | |
tree | c02485a298245d72504f2fba999fadf994232122 | |
parent | a1c85db1ae5b85b7bd16f75642662c698b90b7c1 (diff) | |
download | haskell-8bc9df52ae8b1fd213290e1da1ed6e5af902a718.tar.gz |
Force gcp in assignArgumentsPos
I observed this accumulating in the T3294 test only to be eventually
forced (by a -hi profile). As it is only word big, forcing it saves quite a bit of
allocation.
-rw-r--r-- | compiler/GHC/Cmm/CallConv.hs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/GHC/Cmm/CallConv.hs b/compiler/GHC/Cmm/CallConv.hs index 0f65ef2157..f4b46a03f2 100644 --- a/compiler/GHC/Cmm/CallConv.hs +++ b/compiler/GHC/Cmm/CallConv.hs @@ -95,8 +95,8 @@ assignArgumentsPos profile off conv arg_ty reps = (stk_off, assignments) k (asst, regs') = assign_regs ((r, asst) : assts) rs regs' ty = arg_ty r w = typeWidth ty - gcp | isGcPtrType ty = VGcPtr - | otherwise = VNonGcPtr + !gcp | isGcPtrType ty = VGcPtr + | otherwise = VNonGcPtr passFloatInXmm = passFloatArgsInXmm platform passFloatArgsInXmm :: Platform -> Bool |