Replacing copyins and copyouts with data-movement instructions
authordias@eecs.harvard.edu <unknown>
Thu, 29 May 2008 16:05:45 +0000 (16:05 +0000)
committerdias@eecs.harvard.edu <unknown>
Thu, 29 May 2008 16:05:45 +0000 (16:05 +0000)
commit0d80489c9b9f2421f65d8dd86c1e50c6bb429715
tree68fbebbb771f95252e847cd91180c614b405f14c
parent724a9e83f9498382e3580d26a7dd7cd6b108408c
Replacing copyins and copyouts with data-movement instructions

o Moved BlockId stuff to a new file to avoid module recursion
o Defined stack areas for parameter-passing locations and spill slots
o Part way through replacing copy in and copy out nodes
  - added movement instructions for stack pointer
  - added movement instructions for call and return parameters
    (but not with the proper calling conventions)
o Inserting spills and reloads for proc points is now procpoint-aware
  (it was relying on the presence of a CopyIn node as a proxy for
   procpoint knowledge)
o Changed ZipDataflow to expect AGraphs (instead of being polymorphic in
   the type of graph)
41 files changed:
compiler/cmm/BlockId.hs [new file with mode: 0644]
compiler/cmm/Cmm.hs
compiler/cmm/CmmBrokenBlock.hs
compiler/cmm/CmmCPS.hs
compiler/cmm/CmmCPSGen.hs
compiler/cmm/CmmCPSZ.hs
compiler/cmm/CmmCommonBlockElimZ.hs
compiler/cmm/CmmContFlowOpt.hs
compiler/cmm/CmmCvt.hs
compiler/cmm/CmmExpr.hs
compiler/cmm/CmmLint.hs
compiler/cmm/CmmLive.hs
compiler/cmm/CmmLiveZ.hs
compiler/cmm/CmmProcPoint.hs
compiler/cmm/CmmProcPointZ.hs
compiler/cmm/CmmSpillReload.hs
compiler/cmm/CmmZipUtil.hs
compiler/cmm/DFMonad.hs
compiler/cmm/MkZipCfg.hs
compiler/cmm/MkZipCfgCmm.hs
compiler/cmm/OptimizationFuel.hs
compiler/cmm/PprC.hs
compiler/cmm/PprCmm.hs
compiler/cmm/PprCmmZ.hs
compiler/cmm/StackColor.hs
compiler/cmm/StackSlot.hs [deleted file]
compiler/cmm/ZipCfg.hs
compiler/cmm/ZipCfgCmmRep.hs
compiler/cmm/ZipCfgExtras.hs
compiler/cmm/ZipDataflow.hs
compiler/codeGen/CgMonad.lhs
compiler/codeGen/CgUtils.hs
compiler/iface/BinIface.hs
compiler/nativeGen/MachCodeGen.hs
compiler/nativeGen/MachInstrs.hs
compiler/nativeGen/NCGMonad.hs
compiler/nativeGen/PprMach.hs
compiler/nativeGen/RegAllocInfo.hs
compiler/nativeGen/RegAllocLinear.hs
compiler/nativeGen/RegLiveness.hs
compiler/nativeGen/RegSpillClean.hs