summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2022-11-09 20:48:04 -0500
committerMatthew Pickering <matthewtpickering@gmail.com>2022-12-15 09:50:32 +0000
commitaa422c7127efd5a9da40a4bd53806942f678a5c2 (patch)
treea688552235659a55a1d40203269ea84869f020d1
parent5c75888e23ddb113dc5de872fdfc03619e7f280e (diff)
downloadhaskell-aa422c7127efd5a9da40a4bd53806942f678a5c2.tar.gz
cmm: Introduce blockConcat
(cherry picked from commit da7b51d8598400ed8073afe1b311c73a04e2230d)
-rw-r--r--compiler/GHC/Cmm/ContFlowOpt.hs2
-rw-r--r--compiler/GHC/Cmm/Dataflow/Block.hs3
2 files changed, 4 insertions, 1 deletions
diff --git a/compiler/GHC/Cmm/ContFlowOpt.hs b/compiler/GHC/Cmm/ContFlowOpt.hs
index 350f94c818..b8f2130d9d 100644
--- a/compiler/GHC/Cmm/ContFlowOpt.hs
+++ b/compiler/GHC/Cmm/ContFlowOpt.hs
@@ -12,7 +12,7 @@ where
import GHC.Prelude hiding (succ, unzip, zip)
-import GHC.Cmm.Dataflow.Block
+import GHC.Cmm.Dataflow.Block hiding (blockConcat)
import GHC.Cmm.Dataflow.Collections
import GHC.Cmm.Dataflow.Graph
import GHC.Cmm.Dataflow.Label
diff --git a/compiler/GHC/Cmm/Dataflow/Block.hs b/compiler/GHC/Cmm/Dataflow/Block.hs
index f3876e241c..47d76ad2d4 100644
--- a/compiler/GHC/Cmm/Dataflow/Block.hs
+++ b/compiler/GHC/Cmm/Dataflow/Block.hs
@@ -14,6 +14,7 @@ module GHC.Cmm.Dataflow.Block
, IndexedCO
, Block(..)
, blockAppend
+ , blockConcat
, blockCons
, blockFromList
, blockJoin
@@ -136,6 +137,8 @@ blockJoin f b t = BlockCC f b t
blockAppend :: Block n e O -> Block n O x -> Block n e x
blockAppend = cat
+blockConcat :: [Block n O O] -> Block n O O
+blockConcat = foldr blockAppend emptyBlock
-- Taking apart