[commit: ghc] wip/T10137: Fix module imports, make validate happier (cd21093)

git at git.haskell.org git at git.haskell.org
Sun Mar 8 21:26:24 UTC 2015


Repository : ssh://git@git.haskell.org/ghc

On branch  : wip/T10137
Link       : http://ghc.haskell.org/trac/ghc/changeset/cd21093b5e4cfba19bafe7269d9f3d33e6c75ce1/ghc

>---------------------------------------------------------------

commit cd21093b5e4cfba19bafe7269d9f3d33e6c75ce1
Author: Joachim Breitner <mail at joachim-breitner.de>
Date:   Sun Mar 8 22:25:54 2015 +0100

    Fix module imports, make validate happier


>---------------------------------------------------------------

cd21093b5e4cfba19bafe7269d9f3d33e6c75ce1
 compiler/cmm/CmmCommonBlockElim.hs      |  1 +
 compiler/cmm/CmmContFlowOpt.hs          |  1 +
 compiler/cmm/CmmCreateSwitchPlans.hs    | 32 ++++++++++++++++----------------
 compiler/cmm/CmmLint.hs                 |  1 +
 compiler/cmm/CmmNode.hs                 | 10 ----------
 compiler/cmm/CmmProcPoint.hs            |  1 +
 compiler/cmm/CmmSwitch.hs               |  2 +-
 compiler/cmm/MkGraph.hs                 |  1 +
 compiler/cmm/PprC.hs                    |  1 +
 compiler/cmm/PprCmm.hs                  |  1 +
 compiler/codeGen/StgCmmUtils.hs         |  1 +
 compiler/llvmGen/LlvmCodeGen/CodeGen.hs |  1 +
 compiler/nativeGen/PPC/CodeGen.hs       |  1 +
 compiler/nativeGen/SPARC/CodeGen.hs     |  1 +
 compiler/nativeGen/X86/CodeGen.hs       |  1 +
 15 files changed, 29 insertions(+), 27 deletions(-)

diff --git a/compiler/cmm/CmmCommonBlockElim.hs b/compiler/cmm/CmmCommonBlockElim.hs
index 6174929..8f2b07e 100644
--- a/compiler/cmm/CmmCommonBlockElim.hs
+++ b/compiler/cmm/CmmCommonBlockElim.hs
@@ -8,6 +8,7 @@ where
 import BlockId
 import Cmm
 import CmmUtils
+import CmmSwitch
 import CmmContFlowOpt
 import Prelude hiding (iterate, succ, unzip, zip)
 
diff --git a/compiler/cmm/CmmContFlowOpt.hs b/compiler/cmm/CmmContFlowOpt.hs
index 87b84c9..6842687 100644
--- a/compiler/cmm/CmmContFlowOpt.hs
+++ b/compiler/cmm/CmmContFlowOpt.hs
@@ -12,6 +12,7 @@ import Hoopl
 import BlockId
 import Cmm
 import CmmUtils
+import CmmSwitch
 import Maybes
 import Panic
 
diff --git a/compiler/cmm/CmmCreateSwitchPlans.hs b/compiler/cmm/CmmCreateSwitchPlans.hs
index e7dba4d..570ed6e 100644
--- a/compiler/cmm/CmmCreateSwitchPlans.hs
+++ b/compiler/cmm/CmmCreateSwitchPlans.hs
@@ -19,6 +19,22 @@ cmmCreateSwitchPlans dflags g = do
     blocks' <- concat <$> mapM (visitSwitches dflags) (toBlockList g)
     return $ ofBlockList (g_entry g) blocks'
 
+visitSwitches :: DynFlags -> CmmBlock -> UniqSM [CmmBlock]
+visitSwitches dflags block
+  | (CmmEntry l s, middle, CmmSwitch expr ids) <- blockSplit block
+  = do
+    let plan = createSwitchPlan ids
+
+    (newTail, newBlocks) <- implementSwitchPlan dflags expr plan
+
+    let block' = CmmEntry l s `blockJoinHead` middle `blockAppend` newTail 
+
+    return $ block' : newBlocks
+
+  | otherwise
+  = return [block]
+
+
 -- Implementing a switch plan (returning a tail block)
 implementSwitchPlan :: DynFlags -> CmmExpr -> SwitchPlan -> UniqSM (Block CmmNode O C, [CmmBlock])
 implementSwitchPlan _ _ (Unconditionally l)
@@ -57,19 +73,3 @@ implementSwitchPlan' dflags expr p
     return (bid, block: newBlocks)
 
 
-visitSwitches :: DynFlags -> CmmBlock -> UniqSM [CmmBlock]
-visitSwitches dflags block
-  | (CmmEntry l s, middle, CmmSwitch expr ids) <- blockSplit block
-  = do
-    let plan = createSwitchPlan ids
-
-    (newTail, newBlocks) <- implementSwitchPlan dflags expr plan
-
-    let block' = CmmEntry l s `blockJoinHead` middle `blockAppend` newTail 
-
-    return $ block' : newBlocks
-
-  | otherwise
-  = return [block]
-
-
diff --git a/compiler/cmm/CmmLint.hs b/compiler/cmm/CmmLint.hs
index 89de56d..d1e80fd 100644
--- a/compiler/cmm/CmmLint.hs
+++ b/compiler/cmm/CmmLint.hs
@@ -14,6 +14,7 @@ import Hoopl
 import Cmm
 import CmmUtils
 import CmmLive
+import CmmSwitch
 import PprCmm ()
 import BlockId
 import FastString
diff --git a/compiler/cmm/CmmNode.hs b/compiler/cmm/CmmNode.hs
index 1d7211a..1899a00 100644
--- a/compiler/cmm/CmmNode.hs
+++ b/compiler/cmm/CmmNode.hs
@@ -19,16 +19,6 @@ module CmmNode (
 
      -- * Tick scopes
      CmmTickScope(..), isTickSubScope, combineTickScopes,
-
-     -- * Switch
-     SwitchTargets,
-     mkSwitchTargets,
-     switchTargetsCases, switchTargetsDefault, switchTargetsRange,
-     mapSwitchTargets, switchTargetsToTable, switchTargetsFallThrough,
-     switchTargetsToList, eqSwitchTargetWith,
-
-     SwitchPlan(..),
-     createSwitchPlan,
   ) where
 
 import CodeGen.Platform
diff --git a/compiler/cmm/CmmProcPoint.hs b/compiler/cmm/CmmProcPoint.hs
index 147afe5..a310482 100644
--- a/compiler/cmm/CmmProcPoint.hs
+++ b/compiler/cmm/CmmProcPoint.hs
@@ -18,6 +18,7 @@ import PprCmm ()
 import CmmUtils
 import CmmInfo
 import CmmLive (cmmGlobalLiveness)
+import CmmSwitch
 import Data.List (sortBy)
 import Maybes
 import Control.Monad
diff --git a/compiler/cmm/CmmSwitch.hs b/compiler/cmm/CmmSwitch.hs
index bbc1199..c5c328a 100644
--- a/compiler/cmm/CmmSwitch.hs
+++ b/compiler/cmm/CmmSwitch.hs
@@ -129,7 +129,7 @@ data SwitchPlan
 
 createSwitchPlan :: SwitchTargets -> SwitchPlan
 createSwitchPlan ids = 
-    pprTrace "createSwitchPlan" (text (show ids) $$ text (show (range,m)) $$ text (show pieces) $$ text (show flatPlan) $$ text (show plan)) $
+    -- pprTrace "createSwitchPlan" (text (show ids) $$ text (show (range,m)) $$ text (show pieces) $$ text (show flatPlan) $$ text (show plan)) $
     plan 
   where
     (range, m, wrap) = addRange ids
diff --git a/compiler/cmm/MkGraph.hs b/compiler/cmm/MkGraph.hs
index f6b9225..6a7ee01 100644
--- a/compiler/cmm/MkGraph.hs
+++ b/compiler/cmm/MkGraph.hs
@@ -22,6 +22,7 @@ where
 import BlockId
 import Cmm
 import CmmCallConv
+import CmmSwitch
 
 import Compiler.Hoopl hiding (Unique, (<*>), mkFirst, mkMiddle, mkLast, mkLabel, mkBranch, Shape(..))
 import DynFlags
diff --git a/compiler/cmm/PprC.hs b/compiler/cmm/PprC.hs
index 5608828..92c8182 100644
--- a/compiler/cmm/PprC.hs
+++ b/compiler/cmm/PprC.hs
@@ -33,6 +33,7 @@ import Cmm hiding (pprBBlock)
 import PprCmm ()
 import Hoopl
 import CmmUtils
+import CmmSwitch
 
 -- Utils
 import CPrim
diff --git a/compiler/cmm/PprCmm.hs b/compiler/cmm/PprCmm.hs
index dac6c46..e623a49 100644
--- a/compiler/cmm/PprCmm.hs
+++ b/compiler/cmm/PprCmm.hs
@@ -43,6 +43,7 @@ import BlockId ()
 import CLabel
 import Cmm
 import CmmUtils
+import CmmSwitch
 import DynFlags
 import FastString
 import Outputable
diff --git a/compiler/codeGen/StgCmmUtils.hs b/compiler/codeGen/StgCmmUtils.hs
index b3cafc6..fd4afbc 100644
--- a/compiler/codeGen/StgCmmUtils.hs
+++ b/compiler/codeGen/StgCmmUtils.hs
@@ -51,6 +51,7 @@ import MkGraph
 import CodeGen.Platform
 import CLabel
 import CmmUtils
+import CmmSwitch
 
 import ForeignCall
 import IdInfo
diff --git a/compiler/llvmGen/LlvmCodeGen/CodeGen.hs b/compiler/llvmGen/LlvmCodeGen/CodeGen.hs
index 9049214..4f864b6 100644
--- a/compiler/llvmGen/LlvmCodeGen/CodeGen.hs
+++ b/compiler/llvmGen/LlvmCodeGen/CodeGen.hs
@@ -18,6 +18,7 @@ import Cmm
 import CPrim
 import PprCmm
 import CmmUtils
+import CmmSwitch
 import Hoopl
 
 import DynFlags
diff --git a/compiler/nativeGen/PPC/CodeGen.hs b/compiler/nativeGen/PPC/CodeGen.hs
index fb42c07..a115980 100644
--- a/compiler/nativeGen/PPC/CodeGen.hs
+++ b/compiler/nativeGen/PPC/CodeGen.hs
@@ -45,6 +45,7 @@ import BlockId
 import PprCmm           ( pprExpr )
 import Cmm
 import CmmUtils
+import CmmSwitch
 import CLabel
 import Hoopl
 
diff --git a/compiler/nativeGen/SPARC/CodeGen.hs b/compiler/nativeGen/SPARC/CodeGen.hs
index 3f49afe..a9d8619 100644
--- a/compiler/nativeGen/SPARC/CodeGen.hs
+++ b/compiler/nativeGen/SPARC/CodeGen.hs
@@ -43,6 +43,7 @@ import NCGMonad
 import BlockId
 import Cmm
 import CmmUtils
+import CmmSwitch
 import Hoopl
 import PIC
 import Reg
diff --git a/compiler/nativeGen/X86/CodeGen.hs b/compiler/nativeGen/X86/CodeGen.hs
index a826531..7b7cc54 100644
--- a/compiler/nativeGen/X86/CodeGen.hs
+++ b/compiler/nativeGen/X86/CodeGen.hs
@@ -45,6 +45,7 @@ import BlockId
 import Module           ( primPackageKey )
 import PprCmm           ()
 import CmmUtils
+import CmmSwitch
 import Cmm
 import Hoopl
 import CLabel



More information about the ghc-commits mailing list