X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FcodeGen%2FCgUtils.hs;h=ee8e335c680118a4eb3f356af098531f5699df5a;hb=4e79709df545c16812b85f2c27ab3411f5a7b54f;hp=3861ddf8883e9c6e4465f4c255b22391672e118a;hpb=535e1a3538e67701cfedbdb1bffcea4428ccea23;p=ghc-hetmet.git diff --git a/compiler/codeGen/CgUtils.hs b/compiler/codeGen/CgUtils.hs index 3861ddf..ee8e335 100644 --- a/compiler/codeGen/CgUtils.hs +++ b/compiler/codeGen/CgUtils.hs @@ -53,6 +53,7 @@ module CgUtils ( #include "HsVersions.h" #include "../includes/MachRegs.h" +import BlockId import CgMonad import TyCon import DataCon @@ -333,24 +334,24 @@ emitIfThenElse cond then_part else_part ; labelC join_id } -emitRtsCall :: LitString -> [CmmHinted CmmExpr] -> Bool -> Code +emitRtsCall :: LitString -> [CmmKinded CmmExpr] -> Bool -> Code emitRtsCall fun args safe = emitRtsCall' [] fun args Nothing safe -- The 'Nothing' says "save all global registers" -emitRtsCallWithVols :: LitString -> [CmmHinted CmmExpr] -> [GlobalReg] -> Bool -> Code +emitRtsCallWithVols :: LitString -> [CmmKinded CmmExpr] -> [GlobalReg] -> Bool -> Code emitRtsCallWithVols fun args vols safe = emitRtsCall' [] fun args (Just vols) safe emitRtsCallWithResult :: LocalReg -> MachHint -> LitString - -> [CmmHinted CmmExpr] -> Bool -> Code + -> [CmmKinded CmmExpr] -> Bool -> Code emitRtsCallWithResult res hint fun args safe - = emitRtsCall' [CmmHinted res hint] fun args Nothing safe + = emitRtsCall' [CmmKinded res hint] fun args Nothing safe -- Make a call to an RTS C procedure emitRtsCall' :: CmmFormals -> LitString - -> [CmmHinted CmmExpr] + -> [CmmKinded CmmExpr] -> Maybe [GlobalReg] -> Bool -- True <=> CmmSafe call -> Code