mkCmmIfThenElse :: CmmExpr -> CmmAGraph -> CmmAGraph -> FCode CmmAGraph
mkCmmIfThenElse e tbranch fbranch = do
  tscp  <- getTickScope
  endif <- newLabelC
  tid   <- newLabelC
  fid   <- newLabelC
  return $ catAGraphs [ mkCbranch e tid fid Nothing
                      , mkLabel tid tscp, tbranch, mkBranch endif
                      , mkLabel fid tscp, fbranch, mkLabel endif tscp ]
mkCmmIfThenElse :: CmmExpr -> CmmAGraph -> CmmAGraph -> FCode CmmAGraph
mkCmmIfThenElse e tbranch fbranch = do
  tscp  <- getTickScope
  endif <- newLabelC
  tid   <- newLabelC
  fid   <- newLabelC
  return $ catAGraphs [ mkCbranch e tid fid Nothing
                      , mkLabel tid tscp, tbranch, mkBranch endif
                      , mkLabel fid tscp, fbranch, mkLabel endif tscp ]
mkCmmIfThenElse e tbranch fbranch = do
  tscp  <- getTickScope
  endif <- newLabelC
  tid   <- newLabelC
  fid   <- newLabelC
  return $ catAGraphs [ mkCbranch e tid fid Nothing
                      , mkLabel tid tscp, tbranch, mkBranch endif
                      , mkLabel fid tscp, fbranch, mkLabel endif tscp ]