@@ -339,6 +339,7 @@ cgExpr (SChkCase inspect alts) = do
339339 terminate $ CondBr isVal valBBN conBBN []
340340 newBlock conBBN
341341 result <- cgCase val alts
342+ caseExitBlock <- gets currentBlockName
342343 case result of
343344 Nothing -> do
344345 terminate $ Unreachable []
@@ -348,7 +349,7 @@ cgExpr (SChkCase inspect alts) = do
348349 terminate $ Br valBBN []
349350 newBlock valBBN
350351 Just <$> (inst $ Phi (PointerType valueType (AddrSpace 0))
351− [(val, originBlock), (r, conBBN)] [])
352+ [(val, originBlock), (r, caseExitBlock)] [])
352353cgExpr (SProj conVar idx) = do
353354 val <- var conVar
354355 case val of