X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FcodeGen%2FCgTailCall.lhs;h=7428e5eb62ab845410d5905918c4473799bc7aad;hb=8d873902b0ba7e267089f9e1faf690368670fe62;hp=82c64a4c484c3abbbe8e3b80ce4ff1c412ba6a90;hpb=111cee3f1ad93816cb828e38b38521d85c3bcebb;p=ghc-hetmet.git diff --git a/ghc/compiler/codeGen/CgTailCall.lhs b/ghc/compiler/codeGen/CgTailCall.lhs index 82c64a4..7428e5e 100644 --- a/ghc/compiler/codeGen/CgTailCall.lhs +++ b/ghc/compiler/codeGen/CgTailCall.lhs @@ -1,7 +1,7 @@ % % (c) The GRASP/AQUA Project, Glasgow University, 1992-1998 % -% $Id: CgTailCall.lhs,v 1.24 2000/03/23 17:45:19 simonpj Exp $ +% $Id: CgTailCall.lhs,v 1.26 2000/07/14 08:14:53 simonpj Exp $ % %******************************************************** %* * @@ -30,7 +30,7 @@ import CgMonad import AbsCSyn import PprAbsC ( pprAmode ) -import AbsCUtils ( mkAbstractCs, mkAbsCStmts, getAmodeRep ) +import AbsCUtils ( mkAbstractCs, getAmodeRep ) import CgBindery ( getArgAmodes, getCAddrMode, getCAddrModeAndInfo ) import CgRetConv ( dataReturnConvPrim, ctrlReturnConvAlg, CtrlReturnConvention(..), @@ -48,7 +48,6 @@ import ClosureInfo ( nodeMustPointToIt, import CmdLineOpts ( opt_DoSemiTagging ) import Id ( Id, idType, idName ) import DataCon ( DataCon, dataConTyCon, dataConTag, fIRST_TAG ) -import Literal ( mkMachInt ) import Maybes ( assocMaybe, maybeToBool ) import PrimRep ( PrimRep(..) ) import StgSyn ( StgArg, GenStgArg(..) ) @@ -404,8 +403,6 @@ doTailCall arg_amodes arg_regs finish_code arity pending_assts = getEndOfBlockInfo `thenFC` \ eob@(EndOfBlockInfo args_sp sequel) -> let - no_of_args = length arg_amodes - (reg_arg_amodes, stk_arg_amodes) = splitAt (length arg_regs) arg_amodes -- We get some stk_arg_amodes if (a) no regs, or -- (b) args beyond arity @@ -429,7 +426,6 @@ doTailCall arg_amodes arg_regs finish_code arity pending_assts splitAt arity stk_arg_amodes -- eager blackholing, at the end of the basic block. - node_save = CTemp (mkPseudoUnique1 2) DataPtrRep (r1_tmp_asst, bh_asst) = case sequel of #if 0 @@ -442,6 +438,8 @@ doTailCall arg_amodes arg_regs finish_code arity pending_assts CAssign (CVal (CIndex node_save (mkIntCLit 0) PtrRep) PtrRep) (CLbl mkBlackHoleInfoTableLabel DataPtrRep)) + where + node_save = CTemp (mkPseudoUnique1 2) DataPtrRep #endif _ -> (AbsCNop, AbsCNop) in