diff options
author | Manuel M T Chakravarty <chak@cse.unsw.edu.au> | 2012-05-08 00:12:00 +1000 |
---|---|---|
committer | Manuel M T Chakravarty <chak@cse.unsw.edu.au> | 2012-05-08 00:14:21 +1000 |
commit | 209e375051e557b34e99a0bbef06c7ba6459f5d9 (patch) | |
tree | 4f9e5bb775984bf827cd7d1cb3609b11b16e992b /compiler/vectorise/Vectorise.hs | |
parent | b26a1b3f5aeeb5a0f8c862d529288c859198d1a6 (diff) | |
download | haskell-209e375051e557b34e99a0bbef06c7ba6459f5d9.tar.gz |
Fix #6080 & house keeping in Vectorise.Exp
Diffstat (limited to 'compiler/vectorise/Vectorise.hs')
-rw-r--r-- | compiler/vectorise/Vectorise.hs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler/vectorise/Vectorise.hs b/compiler/vectorise/Vectorise.hs index 8f6e32130f..3ac9c5105f 100644 --- a/compiler/vectorise/Vectorise.hs +++ b/compiler/vectorise/Vectorise.hs @@ -361,18 +361,18 @@ vectTopRhs recFs var expr rhs _globalScalar _isDFun (Just (_, expr')) -- Case (1) = return (inlineMe, False, expr') rhs True False Nothing -- Case (2) - = do { expr' <- vectScalarFun recFs expr + = do { expr' <- vectScalarFun expr ; return (inlineMe, True, vectorised expr') } rhs True True Nothing -- Case (3) - = do { expr' <- vectScalarDFun var recFs + = do { expr' <- vectScalarDFun var ; return (DontInline, True, expr') } rhs False False Nothing -- Case (4) — not a dfun = do { let exprFvs = freeVars expr ; (inline, isScalar, vexpr) <- inBind var $ - vectPolyExpr (isStrongLoopBreaker $ idOccInfo var) recFs exprFvs + vectPolyExpr (isStrongLoopBreaker $ idOccInfo var) recFs exprFvs Nothing ; return (inline, isScalar, vectorised vexpr) } rhs False True Nothing -- Case (4) — is a dfun |