IMPORT_DELOOPER(SmplLoop) -- well, cheating sort of
import Id ( mkSysLocal, mkIdWithNewUniq )
+import CoreUnfold ( SimpleUnfolding )
import SimplEnv
import SrcLoc ( mkUnknownSrcLoc )
import TyVar ( cloneTyVar )
| CaseOfError
| TyBetaReduction
| BetaReduction
+ | SpecialisationDone
{- BEGIN F/B ENTRIES -}
-- the 8 rules
| FoldrBuild -- foldr f z (build g) ==>
showsPrec p CaseOfError = showString "CaseOfError "
showsPrec p TyBetaReduction = showString "TyBetaReduction "
showsPrec p BetaReduction = showString "BetaReduction "
+ showsPrec p SpecialisationDone
+ = showString "Specialisation "
+
-- Foldr/Build Stuff:
showsPrec p FoldrBuild = showString "FoldrBuild "
showsPrec p FoldrAugment = showString "FoldrAugment "
(CaseOfError, 0),
(TyBetaReduction,0),
(BetaReduction,0),
+ (SpecialisationDone,0),
-- Foldr/Build Stuff:
(FoldrBuild, 0),
(FoldrAugment, 0),
tickN :: TickType -> Int -> SmplM ()
+tickN tick_type 0 us counts
+ = ((), counts)
tickN tick_type IBOX(increment) us (SimplCount n stuff)
= ((), SimplCount (n _ADD_ increment)
#ifdef OMIT_SIMPL_COUNTS