diff options
Diffstat (limited to 'compiler/nativeGen')
-rw-r--r-- | compiler/nativeGen/AsmCodeGen.hs | 4 | ||||
-rw-r--r-- | compiler/nativeGen/PPC/CodeGen.hs | 7 | ||||
-rw-r--r-- | compiler/nativeGen/SPARC/CodeGen.hs | 7 | ||||
-rw-r--r-- | compiler/nativeGen/X86/CodeGen.hs | 7 |
4 files changed, 14 insertions, 11 deletions
diff --git a/compiler/nativeGen/AsmCodeGen.hs b/compiler/nativeGen/AsmCodeGen.hs index 44c57459a8..2e5caf4b74 100644 --- a/compiler/nativeGen/AsmCodeGen.hs +++ b/compiler/nativeGen/AsmCodeGen.hs @@ -1046,12 +1046,12 @@ cmmStmtConFold stmt args' <- mapM (cmmExprConFold DataReference) args return $ CmmUnsafeForeignCall target' regs args' - CmmCondBranch test true false + CmmCondBranch test true false likely -> do test' <- cmmExprConFold DataReference test return $ case test' of CmmLit (CmmInt 0 _) -> CmmBranch false CmmLit (CmmInt _ _) -> CmmBranch true - _other -> CmmCondBranch test' true false + _other -> CmmCondBranch test' true false likely CmmSwitch expr ids -> do expr' <- cmmExprConFold DataReference expr diff --git a/compiler/nativeGen/PPC/CodeGen.hs b/compiler/nativeGen/PPC/CodeGen.hs index 6d09c78561..379bfe2167 100644 --- a/compiler/nativeGen/PPC/CodeGen.hs +++ b/compiler/nativeGen/PPC/CodeGen.hs @@ -160,9 +160,10 @@ stmtToInstrs stmt = do -> genCCall target result_regs args CmmBranch id -> genBranch id - CmmCondBranch arg true false -> do b1 <- genCondJump true arg - b2 <- genBranch false - return (b1 `appOL` b2) + CmmCondBranch arg true false _ -> do + b1 <- genCondJump true arg + b2 <- genBranch false + return (b1 `appOL` b2) CmmSwitch arg ids -> do dflags <- getDynFlags genSwitch dflags arg ids CmmCall { cml_target = arg } -> genJump arg diff --git a/compiler/nativeGen/SPARC/CodeGen.hs b/compiler/nativeGen/SPARC/CodeGen.hs index b009ae33c0..eca171b597 100644 --- a/compiler/nativeGen/SPARC/CodeGen.hs +++ b/compiler/nativeGen/SPARC/CodeGen.hs @@ -148,9 +148,10 @@ stmtToInstrs stmt = do -> genCCall target result_regs args CmmBranch id -> genBranch id - CmmCondBranch arg true false -> do b1 <- genCondJump true arg - b2 <- genBranch false - return (b1 `appOL` b2) + CmmCondBranch arg true false _ -> do + b1 <- genCondJump true arg + b2 <- genBranch false + return (b1 `appOL` b2) CmmSwitch arg ids -> do dflags <- getDynFlags genSwitch dflags arg ids CmmCall { cml_target = arg } -> genJump arg diff --git a/compiler/nativeGen/X86/CodeGen.hs b/compiler/nativeGen/X86/CodeGen.hs index 26df11cd73..d582b53f5a 100644 --- a/compiler/nativeGen/X86/CodeGen.hs +++ b/compiler/nativeGen/X86/CodeGen.hs @@ -177,9 +177,10 @@ stmtToInstrs stmt = do -> genCCall dflags is32Bit target result_regs args CmmBranch id -> genBranch id - CmmCondBranch arg true false -> do b1 <- genCondJump true arg - b2 <- genBranch false - return (b1 `appOL` b2) + CmmCondBranch arg true false _ -> do + b1 <- genCondJump true arg + b2 <- genBranch false + return (b1 `appOL` b2) CmmSwitch arg ids -> do dflags <- getDynFlags genSwitch dflags arg ids CmmCall { cml_target = arg |