X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fcmm%2FCmmOpt.hs;h=b0ec5a1ad6dccec666f42701c5bea5efdf5bc919;hb=17f2929d489cb59ce009377e7379ca230d3411b0;hp=76ed78eb8d230aae0aa110a8ee347f71d2b8fcbe;hpb=affbe8dae5d7eb350686b42ddbd4f3561b7bd0ec;p=ghc-hetmet.git diff --git a/compiler/cmm/CmmOpt.hs b/compiler/cmm/CmmOpt.hs index 76ed78e..b0ec5a1 100644 --- a/compiler/cmm/CmmOpt.hs +++ b/compiler/cmm/CmmOpt.hs @@ -18,7 +18,6 @@ import Cmm import CmmUtils import CLabel import MachOp -import SMRep import StaticFlags import UniqFM @@ -142,7 +141,7 @@ getStmtUses (CmmAssign _ e) = getExprUses e getStmtUses (CmmStore e1 e2) = plusUFM_C (+) (getExprUses e1) (getExprUses e2) getStmtUses (CmmCall target _ es _) = plusUFM_C (+) (uses target) (getExprsUses (map fst es)) - where uses (CmmForeignCall e _) = getExprUses e + where uses (CmmCallee e _) = getExprUses e uses _ = emptyUFM getStmtUses (CmmCondBranch e _) = getExprUses e getStmtUses (CmmSwitch e _) = getExprUses e @@ -163,7 +162,7 @@ inlineStmt u a (CmmAssign r e) = CmmAssign r (inlineExpr u a e) inlineStmt u a (CmmStore e1 e2) = CmmStore (inlineExpr u a e1) (inlineExpr u a e2) inlineStmt u a (CmmCall target regs es srt) = CmmCall (infn target) regs es' srt - where infn (CmmForeignCall fn cconv) = CmmForeignCall fn cconv + where infn (CmmCallee fn cconv) = CmmCallee fn cconv infn (CmmPrim p) = CmmPrim p es' = [ (inlineExpr u a e, hint) | (e,hint) <- es ] inlineStmt u a (CmmCondBranch e d) = CmmCondBranch (inlineExpr u a e) d @@ -531,7 +530,7 @@ narrowS _ _ = panic "narrowTo" except factorial, but what the hell. -} -cmmLoopifyForC :: CmmTop -> CmmTop +cmmLoopifyForC :: RawCmmTop -> RawCmmTop cmmLoopifyForC p@(CmmProc info entry_lbl [] blocks@(BasicBlock top_id _ : _)) | null info = p -- only if there's an info table, ignore case alts | otherwise =