From a944d5b3a8ec72f5ee72c9555869fca7e39239fa Mon Sep 17 00:00:00 2001 From: Matthijs Kooijman Date: Tue, 1 Dec 2009 20:28:49 +0100 Subject: [PATCH] Add TODO. --- "c\316\273ash/CLasH/Normalize.hs" | 5 +++++ 1 file changed, 5 insertions(+) diff --git "a/c\316\273ash/CLasH/Normalize.hs" "b/c\316\273ash/CLasH/Normalize.hs" index 4743824..a06094b 100644 --- "a/c\316\273ash/CLasH/Normalize.hs" +++ "b/c\316\273ash/CLasH/Normalize.hs" @@ -616,6 +616,11 @@ argprop expr@(App _ _) | is_var fexpr = do let free_vars = VarSet.varSetElems $ CoreFVs.exprSomeFreeVars interesting arg -- Mark the current expression as changed setChanged + -- TODO: Clone the free_vars (and update references in arg), since + -- this might cause conflicts if two arguments that are propagated + -- share a free variable. Also, we are now introducing new variables + -- into a function that are not fresh, which violates the binder + -- uniqueness invariant. return (map Var free_vars, free_vars, arg) else do -- Representable types will not be propagated, and arguments with free -- 2.30.2