From 06944f8bd1219e4bd74a1182d63f1143ac2dfdd8 Mon Sep 17 00:00:00 2001 From: simonpj Date: Fri, 1 Mar 2002 16:53:14 +0000 Subject: [PATCH] [project @ 2002-03-01 16:53:14 by simonpj] Minor bug in float-out --- ghc/compiler/simplCore/FloatOut.lhs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/ghc/compiler/simplCore/FloatOut.lhs b/ghc/compiler/simplCore/FloatOut.lhs index a1cb821..5e8282e 100644 --- a/ghc/compiler/simplCore/FloatOut.lhs +++ b/ghc/compiler/simplCore/FloatOut.lhs @@ -283,9 +283,12 @@ floatExpr lvl (Note note@(SCC cc) expr) floatExpr lvl (Note InlineMe expr) -- Other than SCCs = case floatExpr InlineCtxt expr of { (fs, floating_defns, expr') -> - WARN( not (null floating_defns), - ppr expr $$ ppr floating_defns ) -- We do no floating out of Inlines - (fs, [], Note InlineMe expr') } -- See notes in SetLevels + -- There can be some floating_defns, arising from + -- ordinary lets that were there all the time. It seems + -- more efficient to test once here than to avoid putting + -- them into floating_defns (which would mean testing for + -- inlineCtxt at every let) + (fs, [], Note InlineMe (install floating_defns expr')) } -- See notes in SetLevels floatExpr lvl (Note note expr) -- Other than SCCs = case (floatExpr lvl expr) of { (fs, floating_defns, expr') -> -- 1.7.10.4