summaryrefslogtreecommitdiff
path: root/compiler/codeGen/CgExtCode.hs
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2011-01-24 12:16:50 +0000
committerSimon Marlow <marlowsd@gmail.com>2011-01-24 12:16:50 +0000
commit889c084e943779e76d19f2ef5e970ff655f511eb (patch)
tree56bba8db5c08c72dc1a85ecb2987e6c16c0fd635 /compiler/codeGen/CgExtCode.hs
parentf1a90f54590e5a7a32a9c3ef2950740922b1f425 (diff)
downloadhaskell-889c084e943779e76d19f2ef5e970ff655f511eb.tar.gz
Merge in new code generator branch.
This changes the new code generator to make use of the Hoopl package for dataflow analysis. Hoopl is a new boot package, and is maintained in a separate upstream git repository (as usual, GHC has its own lagging darcs mirror in http://darcs.haskell.org/packages/hoopl). During this merge I squashed recent history into one patch. I tried to rebase, but the history had some internal conflicts of its own which made rebase extremely confusing, so I gave up. The history I squashed was: - Update new codegen to work with latest Hoopl - Add some notes on new code gen to cmm-notes - Enable Hoopl lag package. - Add SPJ note to cmm-notes - Improve GC calls on new code generator. Work in this branch was done by: - Milan Straka <fox@ucw.cz> - John Dias <dias@cs.tufts.edu> - David Terei <davidterei@gmail.com> Edward Z. Yang <ezyang@mit.edu> merged in further changes from GHC HEAD and fixed a few bugs.
Diffstat (limited to 'compiler/codeGen/CgExtCode.hs')
-rw-r--r--compiler/codeGen/CgExtCode.hs8
1 files changed, 4 insertions, 4 deletions
diff --git a/compiler/codeGen/CgExtCode.hs b/compiler/codeGen/CgExtCode.hs
index 0e0a802445..12efa03da0 100644
--- a/compiler/codeGen/CgExtCode.hs
+++ b/compiler/codeGen/CgExtCode.hs
@@ -39,7 +39,7 @@ where
import CgMonad
import CLabel
-import Cmm
+import OldCmm
-- import BasicTypes
import BlockId
@@ -128,8 +128,8 @@ newLocal ty name = do
newLabel :: FastString -> ExtFCode BlockId
newLabel name = do
u <- code newUnique
- addLabel name (BlockId u)
- return (BlockId u)
+ addLabel name (mkBlockId u)
+ return (mkBlockId u)
-- | Add add a local function to the environment.
@@ -162,7 +162,7 @@ lookupLabel name = do
return $
case lookupUFM env name of
Just (Label l) -> l
- _other -> BlockId (newTagUnique (getUnique name) 'L')
+ _other -> mkBlockId (newTagUnique (getUnique name) 'L')
-- | Lookup the location of a named variable.