[project @ 2001-08-22 12:24:41 by simonmar]
[ghc-hetmet.git] / ghc / tests / programs / jeff-bug / ROB.hs
diff --git a/ghc/tests/programs/jeff-bug/ROB.hs b/ghc/tests/programs/jeff-bug/ROB.hs
deleted file mode 100644 (file)
index ace8b71..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-module ROB(rob)  where
-import LazyST
-
-import Hawk
-import Trans
-
-import qualified RF 
-import qualified AQ as Q
-import qualified RAT 
-import RF(RF)
-import AQ(AQ)
-import RAT(RAT)
-import ROB_insert(insert)
-import ROB_retire(retire)
-
-import DLX
-
-
-{-
-type ROB s i r w =  Int ->                                         
-              (s [Trans i r w], s [VTrans r w]) ->
-              (s [Trans i r w], s [VTrans r w], s Int,s Bool)
--}
-
---rob :: (Signal s,Register r,Word w) => ROB s StandardOp r w
-rob n (fetched,computed)
-  = unbundle4 $ runST (
-    do { q <- Q.new n
-       ; rat <- RAT.new
-       ; regfile <- RF.new 
-       ; step2(fetched,computed)
-           { update q computed
-           ; instrs <- insert rat q regfile fetched
-           ; (retired,missed) <- retire rat q regfile
-           ; inCase missed $ do { Q.clear q
-                                ; RAT.clear rat
-                                }
-           ; capacity <- Q.space q
-           ; let ready = if missed then [] else instrs
-           ; return (retired,ready,capacity,missed)
-           }
-       }
-   )   
-    where 
-    inCase x y = if x then y else return ()
-
-
--- assumes single register dest ops (not a good assumption)
---update :: (Register r,Word w) => AQ s (VTrans r w) -> [VTrans r w] -> ST s ()
-update q
-  = mapM_ $ \t ->
-    do { let [Reg (Virtual v (Just r)) val] = getDst t 
-       ; Q.insert q v t
-       }
-
-