From b6fc60f5c350f121c9955c131fcdf7e643160ddd Mon Sep 17 00:00:00 2001 From: Roman Leshchinskiy Date: Mon, 16 Jul 2007 05:00:19 +0000 Subject: [PATCH] Store hoisted bindings in the global environment during vectorisation --- compiler/vectorise/VectMonad.hs | 8 ++++---- compiler/vectorise/VectUtils.hs | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/compiler/vectorise/VectMonad.hs b/compiler/vectorise/VectMonad.hs index 041928d..fee294f 100644 --- a/compiler/vectorise/VectMonad.hs +++ b/compiler/vectorise/VectMonad.hs @@ -121,6 +121,9 @@ data GlobalEnv = GlobalEnv { -- instances -- , global_fam_inst_env :: FamInstEnvs + + -- Hoisted bindings + , global_bindings :: [(Var, CoreExpr)] } data LocalEnv = LocalEnv { @@ -131,9 +134,6 @@ data LocalEnv = LocalEnv { -- Mapping from tyvars to their PA dictionaries , local_tyvar_pa :: VarEnv CoreExpr - - -- Hoisted bindings - , local_bindings :: [(Var, CoreExpr)] } @@ -146,12 +146,12 @@ initGlobalEnv info instEnvs famInstEnvs , global_tycon_pa = emptyNameEnv , global_inst_env = instEnvs , global_fam_inst_env = famInstEnvs + , global_bindings = [] } emptyLocalEnv = LocalEnv { local_vars = emptyVarEnv , local_tyvar_pa = emptyVarEnv - , local_bindings = [] } -- FIXME diff --git a/compiler/vectorise/VectUtils.hs b/compiler/vectorise/VectUtils.hs index 5b70bf4..74a3405 100644 --- a/compiler/vectorise/VectUtils.hs +++ b/compiler/vectorise/VectUtils.hs @@ -115,7 +115,7 @@ hoistExpr :: FastString -> CoreExpr -> VM Var hoistExpr fs expr = do var <- newLocalVar fs (exprType expr) - updLEnv $ \env -> - env { local_bindings = (var, expr) : local_bindings env } + updGEnv $ \env -> + env { global_bindings = (var, expr) : global_bindings env } return var -- 1.7.10.4