diff options
author | Max Bolingbroke <batterseapower@hotmail.com> | 2012-03-04 16:11:47 +0000 |
---|---|---|
committer | Max Bolingbroke <batterseapower@hotmail.com> | 2012-03-06 22:53:50 +0000 |
commit | 7a64ef7dca2e3a221c4ade84147dceac5df02c44 (patch) | |
tree | 654a7d5628a8753df7068805b95b81642608240e /compiler/codeGen/CgParallel.hs | |
parent | 9dde17e0ab2d759038ad4aff1fe89a1bf207331f (diff) | |
download | haskell-7a64ef7dca2e3a221c4ade84147dceac5df02c44.tar.gz |
Support code generation for unboxed-tuple function arguments
This has the following knock-on effects:
* We can remove special case code for void arguments, and treat them
as nullary unboxed tuples
* The subkind hierarchy is vastly simplified (no UbxTupleKind or ArgKind)
* Various relaxed type checks in typechecker, 'foreign import prim' etc
* All case binders may be live
* No VoidRep
Diffstat (limited to 'compiler/codeGen/CgParallel.hs')
-rw-r--r-- | compiler/codeGen/CgParallel.hs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler/codeGen/CgParallel.hs b/compiler/codeGen/CgParallel.hs index 2804104708..af4c094de7 100644 --- a/compiler/codeGen/CgParallel.hs +++ b/compiler/codeGen/CgParallel.hs @@ -21,9 +21,9 @@ module CgParallel( doGranAllocate ) where +import ClosureInfo (CgRep) import CgMonad import CgCallConv -import Id import OldCmm import StaticFlags import Outputable @@ -50,7 +50,7 @@ doGranAllocate _hp ------------------------- -granFetchAndReschedule :: [(Id,GlobalReg)] -- Live registers +granFetchAndReschedule :: [(CgRep,GlobalReg)] -- Live registers -> Bool -- Node reqd? -> Code -- Emit code for simulating a fetch and then reschedule. @@ -89,7 +89,7 @@ reschedule _liveness _node_reqd = panic "granReschedule" -- that they are not inlined (see @CgCases.lhs@). These alternatives will -- be turned into separate functions. -granYield :: [(Id,GlobalReg)] -- Live registers +granYield :: [(CgRep,GlobalReg)] -- Live registers -> Bool -- Node reqd? -> Code |