X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2Fspecialise%2FSpecConstr.lhs;h=029ec1713df1d4a097750bcb2cb3618da2964da7;hb=75e81ca47e2efb85a560fa9a48f0a993d1474730;hp=0d7589548482dd81125ce329d43b410beccf1823;hpb=76258fba6c276213d210cfa14632d8f6a9ff5062;p=ghc-hetmet.git diff --git a/ghc/compiler/specialise/SpecConstr.lhs b/ghc/compiler/specialise/SpecConstr.lhs index 0d75895..029ec17 100644 --- a/ghc/compiler/specialise/SpecConstr.lhs +++ b/ghc/compiler/specialise/SpecConstr.lhs @@ -202,9 +202,14 @@ emptyScEnv = emptyVarEnv data HowBound = RecFun -- These are the recursive functions for which -- we seek interesting call patterns + | RecArg -- These are those functions' arguments; we are -- interested to see if those arguments are scrutinised + | Other -- We track all others so we know what's in scope + -- This is used in spec_one to check what needs to be + -- passed as a parameter and what is in scope at the + -- function definition site extendBndrs env bndrs = extendVarEnvList env [(b,Other) | b <- bndrs] extendBndr env bndr = extendVarEnv env bndr Other