diff options
Diffstat (limited to 'compiler/codeGen/StgCmmMonad.hs')
| -rw-r--r-- | compiler/codeGen/StgCmmMonad.hs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/compiler/codeGen/StgCmmMonad.hs b/compiler/codeGen/StgCmmMonad.hs index cc9919a4a0..602bdebcad 100644 --- a/compiler/codeGen/StgCmmMonad.hs +++ b/compiler/codeGen/StgCmmMonad.hs @@ -29,7 +29,8 @@ module StgCmmMonad ( getCmm, cgStmtsToBlocks, getCodeR, getCode, getHeapUsage, - mkCmmIfThenElse, mkCmmIfThen, mkCall, mkCmmCall, mkSafeCall, + mkCmmIfThenElse, mkCmmIfThen, mkCmmIfGoto, + mkCall, mkCmmCall, mkSafeCall, forkClosureBody, forkStatics, forkAlts, forkProc, codeOnly, @@ -676,6 +677,11 @@ mkCmmIfThenElse e tbranch fbranch = do mkLabel tid <*> tbranch <*> mkBranch endif <*> mkLabel fid <*> fbranch <*> mkLabel endif +mkCmmIfGoto :: CmmExpr -> BlockId -> FCode CmmAGraph +mkCmmIfGoto e tid = do + endif <- newLabelC + return $ mkCbranch e tid endif <*> mkLabel endif + mkCmmIfThen :: CmmExpr -> CmmAGraph -> FCode CmmAGraph mkCmmIfThen e tbranch = do endif <- newLabelC |
