X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Fcmm%2FCmmCPS.hs;h=025c12735e59c1718da2ff692a6ca4faa7988f0f;hp=5a7998192be28e557352711965b3fe6ea1e2ec0d;hb=0d80489c9b9f2421f65d8dd86c1e50c6bb429715;hpb=d76b6a05ab36066e8aeb67d58e25992d1ef83a8a diff --git a/compiler/cmm/CmmCPS.hs b/compiler/cmm/CmmCPS.hs index 5a79981..025c127 100644 --- a/compiler/cmm/CmmCPS.hs +++ b/compiler/cmm/CmmCPS.hs @@ -13,6 +13,7 @@ module CmmCPS ( #include "HsVersions.h" +import BlockId import Cmm import CmmLint import PprCmm @@ -359,14 +360,14 @@ continuationMaxStack formats (Continuation _ label _ False blocks) = map stmt_arg_size (brokenBlockStmts block)) final_arg_size (FinalReturn args) = - argumentsSize (cmmExprRep . hintlessCmm) args + argumentsSize (cmmExprRep . kindlessCmm) args final_arg_size (FinalJump _ args) = - argumentsSize (cmmExprRep . hintlessCmm) args + argumentsSize (cmmExprRep . kindlessCmm) args final_arg_size (FinalCall next _ _ args _ _ True) = 0 final_arg_size (FinalCall next _ _ args _ _ False) = -- We have to account for the stack used when we build a frame -- for the *next* continuation from *this* continuation - argumentsSize (cmmExprRep . hintlessCmm) args + + argumentsSize (cmmExprRep . kindlessCmm) args + continuation_frame_size next_format where next_format = maybe unknown_format id $ lookup next' formats @@ -375,7 +376,7 @@ continuationMaxStack formats (Continuation _ label _ False blocks) = final_arg_size _ = 0 stmt_arg_size (CmmJump _ args) = - argumentsSize (cmmExprRep . hintlessCmm) args + argumentsSize (cmmExprRep . kindlessCmm) args stmt_arg_size (CmmCall _ _ _ (CmmSafe _) _) = panic "Safe call in processFormats" stmt_arg_size (CmmReturn _) =