Remove unused argument field on CmmJump
authorDavid Terei <davidterei@gmail.com>
Thu, 22 Dec 2011 22:40:22 +0000 (14:40 -0800)
committerDavid Terei <davidterei@gmail.com>
Fri, 6 Jan 2012 01:05:42 +0000 (17:05 -0800)
19 files changed:
compiler/cmm/CmmCvt.hs
compiler/cmm/CmmLint.hs
compiler/cmm/CmmOpt.hs
compiler/cmm/CmmParse.y
compiler/cmm/OldCmm.hs
compiler/cmm/OldPprCmm.hs
compiler/cmm/PprC.hs
compiler/codeGen/CgClosure.lhs
compiler/codeGen/CgCon.lhs
compiler/codeGen/CgHeapery.lhs
compiler/codeGen/CgInfoTbls.hs
compiler/codeGen/CgMonad.lhs
compiler/codeGen/CgTailCall.lhs
compiler/codeGen/CgUtils.hs
compiler/llvmGen/LlvmCodeGen/CodeGen.hs
compiler/nativeGen/AsmCodeGen.lhs
compiler/nativeGen/PPC/CodeGen.hs
compiler/nativeGen/SPARC/CodeGen.hs
compiler/nativeGen/X86/CodeGen.hs

index c82f517..42aaabc 100644 (file)
@@ -105,7 +105,7 @@ ofZgraph g = Old.ListGraph $ mapMaybe convert_block $ postorderDfs g
                               , Just expr' <- maybeInvertCmmExpr expr -> Old.CmmCondBranch expr' fid : tail_of tid
                               | otherwise -> [Old.CmmCondBranch expr tid, Old.CmmBranch fid]
                             CmmSwitch arg ids -> [Old.CmmSwitch arg ids]
-                            CmmCall e _ _ _ _ -> [Old.CmmJump e []]
+                            CmmCall e _ _ _ _ -> [Old.CmmJump e]
                             CmmForeignCall {} -> panic "ofZgraph: CmmForeignCall"
                           tail_of bid = case foldBlockNodesB3 (first, middle, last) block () of
                                           Old.BasicBlock _ stmts -> stmts
index ee53c1b..db6dd2f 100644 (file)
@@ -143,7 +143,7 @@ lintCmmStmt platform labels = lint
               then return ()
               else cmmLintErr (text "switch scrutinee is not a word: " <> pprPlatform platform e <>
                                text " :: " <> ppr erep)
-          lint (CmmJump e args) = lintCmmExpr platform e >> mapM_ (lintCmmExpr platform . hintlessCmm) args
+          lint (CmmJump e) = lintCmmExpr platform e >> return ()
           lint (CmmReturn ress) = mapM_ (lintCmmExpr platform . hintlessCmm) ress
           lint (CmmBranch id)    = checkTarget id
           checkTarget id = if setMember id labels then return ()
index 007b7a7..649dbb5 100644 (file)
@@ -65,7 +65,7 @@ cmmEliminateDeadBlocks blocks@(BasicBlock base_id _:_) =
                 stmt m (CmmBranch b) = b:m
                 stmt m (CmmCondBranch e b) = b:(expr m e)
                 stmt m (CmmSwitch e bs) = catMaybes bs ++ expr m e
-                stmt m (CmmJump e as) = expr (actuals m as) e
+                stmt m (CmmJump e) = expr m e
                 stmt m (CmmReturn as) = actuals m as
                 actuals m as = foldl' (\m h -> expr m (hintlessCmm h)) m as
                 -- We have to do a deep fold into CmmExpr because
@@ -273,7 +273,7 @@ inlineStmt u a (CmmCall target regs es ret)
          es' = [ (CmmHinted (inlineExpr u a e) hint) | (CmmHinted e hint) <- es ]
 inlineStmt u a (CmmCondBranch e d) = CmmCondBranch (inlineExpr u a e) d
 inlineStmt u a (CmmSwitch e d) = CmmSwitch (inlineExpr u a e) d
-inlineStmt u a (CmmJump e d) = CmmJump (inlineExpr u a e) d
+inlineStmt u a (CmmJump e) = CmmJump (inlineExpr u a e)
 inlineStmt _ _ other_stmt = other_stmt
 
 inlineExpr :: Unique -> CmmExpr -> CmmExpr -> CmmExpr
@@ -669,7 +669,7 @@ cmmLoopifyForC (CmmProc (Just info@(Statics info_lbl _)) entry_lbl
   where blocks' = [ BasicBlock id (map do_stmt stmts)
                   | BasicBlock id stmts <- blocks ]
 
-        do_stmt (CmmJump (CmmLit (CmmLabel lbl)) _) | lbl == jump_lbl
+        do_stmt (CmmJump (CmmLit (CmmLabel lbl))) | lbl == jump_lbl
                 = CmmBranch top_id
         do_stmt stmt = stmt
 
index e0d3da8..6660a0c 100644 (file)
@@ -411,8 +411,8 @@ stmt        :: { ExtCode }
                { do as <- sequence $5; doSwitch $2 $3 as $6 }
        | 'goto' NAME ';'
                { do l <- lookupLabel $2; stmtEC (CmmBranch l) }
-       | 'jump' expr maybe_actuals ';'
-               { do e1 <- $2; e2 <- sequence $3; stmtEC (CmmJump e1 e2) }
+       | 'jump' expr ';'
+               { do e <- $2; stmtEC (CmmJump e) }
         | 'return' maybe_actuals ';'
                { do e <- sequence $2; stmtEC (CmmReturn e) }
        | 'if' bool_expr 'goto' NAME
@@ -945,7 +945,7 @@ emitRetUT args = do
                            -- or regs that we assign to, so better use
                            -- simultaneous assignments here (#3546)
   when (sp /= 0) $ stmtC (CmmAssign spReg (cmmRegOffW spReg (-sp)))
-  stmtC (CmmJump (entryCode (CmmLoad (cmmRegOffW spReg sp) bWord)) [])
+  stmtC $ CmmJump (entryCode (CmmLoad (cmmRegOffW spReg sp) bWord))
   -- TODO (when using CPS): emitStmt (CmmReturn (map snd args))
 
 -- -----------------------------------------------------------------------------
index a8a9d5d..343d7c1 100644 (file)
@@ -169,7 +169,6 @@ data CmmStmt        -- Old-style
        -- Undefined outside range, and when there's a Nothing
 
   | CmmJump CmmExpr      -- Jump to another C-- function,
-      [HintedCmmActual]        -- with these parameters.  (parameters never used)
 
   | CmmReturn            -- Return from a native C-- function,
       [HintedCmmActual]        -- with these return values. (parameters never used)
@@ -195,7 +194,7 @@ instance UserOfLocalRegs CmmStmt where
       stmt (CmmBranch _)             = id
       stmt (CmmCondBranch e _)       = gen e
       stmt (CmmSwitch e _)           = gen e
-      stmt (CmmJump e es)            = gen e . gen es
+      stmt (CmmJump e)               = gen e
       stmt (CmmReturn es)            = gen es
 
       gen :: UserOfLocalRegs a => a -> b -> b
index 07dfbf6..d6db11b 100644 (file)
@@ -153,7 +153,7 @@ pprStmt platform stmt = case stmt of
 
     CmmBranch ident          -> genBranch ident
     CmmCondBranch expr ident -> genCondBranch platform expr ident
-    CmmJump expr params      -> genJump platform expr params
+    CmmJump expr             -> genJump platform expr
     CmmReturn params         -> genReturn platform params
     CmmSwitch arg ids        -> genSwitch platform arg ids
 
@@ -203,8 +203,8 @@ genCondBranch platform expr ident =
 --
 --     jump foo(a, b, c);
 --
-genJump :: Platform -> CmmExpr -> [CmmHinted CmmExpr] -> SDoc
-genJump platform expr args =
+genJump :: Platform -> CmmExpr -> SDoc
+genJump platform expr =
     hcat [ ptext (sLit "jump")
          , space
          , if isTrivialCmmExpr expr
@@ -212,8 +212,6 @@ genJump platform expr args =
                 else case expr of
                     CmmLoad (CmmReg _) _ -> pprExpr platform expr
                     _ -> parens (pprExpr platform expr)
-         , space
-         , parens  ( commafy $ map (pprPlatform platform) args )
          , semi ]
 
 
index 21826f8..e4a5c5f 100644 (file)
@@ -248,7 +248,7 @@ pprStmt platform stmt = case stmt of
 
     CmmBranch ident          -> pprBranch ident
     CmmCondBranch expr ident -> pprCondBranch platform expr ident
-    CmmJump lbl _params      -> mkJMP_(pprExpr platform lbl) <> semi
+    CmmJump lbl              -> mkJMP_(pprExpr platform lbl) <> semi
     CmmSwitch arg ids        -> pprSwitch platform arg ids
 
 pprCFunType :: SDoc -> CCallConv -> [HintedCmmFormal] -> [HintedCmmActual] -> SDoc
@@ -930,7 +930,7 @@ te_Stmt (CmmCall _ rs es _)     = mapM_ (te_temp.hintlessCmm) rs >>
                                   mapM_ (te_Expr.hintlessCmm) es
 te_Stmt (CmmCondBranch e _)     = te_Expr e
 te_Stmt (CmmSwitch e _)         = te_Expr e
-te_Stmt (CmmJump e _)           = te_Expr e
+te_Stmt (CmmJump e)             = te_Expr e
 te_Stmt _                       = return ()
 
 te_Expr :: CmmExpr -> TE ()
index 96e6395..8e599c3 100644 (file)
@@ -374,7 +374,7 @@ mkSlowEntryCode cl_info reg_args
 
      stk_adj_pop   = CmmAssign spReg (cmmRegOffW spReg final_stk_offset)
      stk_adj_push  = CmmAssign spReg (cmmRegOffW spReg (- final_stk_offset))
-     jump_to_entry = CmmJump (mkLblExpr (entryLabelFromCI cl_info)) []
+     jump_to_entry = CmmJump (mkLblExpr (entryLabelFromCI cl_info))
 \end{code}
 
 
@@ -590,7 +590,7 @@ link_caf cl_info _is_upd = do
         -- assuming lots of things, like the stack pointer hasn't
         -- moved since we entered the CAF.
         let target = entryCode (closureInfoPtr (CmmReg nodeReg)) in
-        stmtC (CmmJump target [])
+        stmtC (CmmJump target)
 
   ; returnFC hp_rel }
   where
index 17bb9d0..9969094 100644 (file)
@@ -352,8 +352,8 @@ cgReturnDataCon con amodes
         }
   where
     enter_it    = stmtsC [ CmmAssign nodeReg (cmmUntag (CmmReg nodeReg)),
-                           CmmJump (entryCode (closureInfoPtr (CmmReg nodeReg))) [] ]
-    jump_to lbl = stmtC (CmmJump (CmmLit lbl) [])
+                           CmmJump (entryCode (closureInfoPtr (CmmReg nodeReg)))]
+    jump_to lbl = stmtC (CmmJump (CmmLit lbl))
     build_it_then return_code
       = do {    -- BUILD THE OBJECT IN THE HEAP
                 -- The first "con" says that the name bound to this
index 03b5deb..d8ac298 100644 (file)
@@ -464,7 +464,7 @@ do_checks' stk_expr hp_expr stk_nonzero hp_nonzero reg_save_code rts_lbl
         -- the appropriate RTS stub.
         ; exit_blk_id <- forkLabelledCode $ do {
                        ; emitStmts reg_save_code
-                       ; stmtC (CmmJump rts_lbl []) }
+                       ; stmtC (CmmJump rts_lbl) }
 
        -- In the case of a heap-check failure, we must also set
        -- HpAlloc.  NB. HpAlloc is *only* set if Hp has been
index 25ba154..9f003a2 100644 (file)
@@ -253,7 +253,7 @@ emitAlgReturnTarget name branches mb_deflt fam_sz
 emitReturnInstr :: Code
 emitReturnInstr 
   = do         { info_amode <- getSequelAmode
-       ; stmtC (CmmJump (entryCode info_amode) []) }
+       ; stmtC (CmmJump (entryCode info_amode)) }
 
 -----------------------------------------------------------------------------
 --
index 490f952..4617aaa 100644 (file)
@@ -249,7 +249,7 @@ flattenCgStmts id stmts =
     where (block,blocks) = flatten ss
 
 isJump :: CmmStmt -> Bool
-isJump (CmmJump   _ _) = True
+isJump (CmmJump   _  ) = True
 isJump (CmmBranch _  ) = True
 isJump (CmmSwitch _ _) = True
 isJump (CmmReturn _  ) = True
index fb8f854..07be7f2 100644 (file)
@@ -123,7 +123,7 @@ performTailCall fun_info arg_amodes pending_assts
            EnterIt -> do
                { emitSimultaneously (node_asst `plusStmts` pending_assts) 
                ; let target     = entryCode (closureInfoPtr (CmmReg nodeReg))
-                      enterClosure = stmtC (CmmJump target [])
+                      enterClosure = stmtC (CmmJump target)
                       -- If this is a scrutinee
                       -- let's check if the closure is a constructor
                       -- so we can directly jump to the alternatives switch
@@ -203,7 +203,7 @@ performTailCall fun_info arg_amodes pending_assts
                    -- No, enter the closure.
                    ; enterClosure
                    ; labelC is_constr
-                   ; stmtC (CmmJump (entryCode $ CmmLit (CmmLabel lbl)) [])
+                   ; stmtC (CmmJump (entryCode $ CmmLit (CmmLabel lbl)))
                    }
 {-
               -- This is a scrutinee for a case expression
@@ -218,7 +218,7 @@ performTailCall fun_info arg_amodes pending_assts
                    ; stmtC (CmmCondBranch (cond1 tag) no_cons)
                    ; stmtC (CmmCondBranch (cond2 tag) no_cons)
                    -- Yes, jump to switch statement
-                   ; stmtC (CmmJump (CmmLit (CmmLabel lbl)) [])
+                   ; stmtC (CmmJump (CmmLit (CmmLabel lbl)))
                    ; labelC no_cons
                    -- No, enter the closure.
                    ; enterClosure
@@ -438,9 +438,9 @@ pushReturnAddress _ = nopC
 -- -----------------------------------------------------------------------------
 -- Misc.
 
-jumpToLbl :: CLabel -> Code
 -- Passes no argument to the destination procedure
-jumpToLbl lbl = stmtC (CmmJump (CmmLit (CmmLabel lbl)) [{- No args -}])
+jumpToLbl :: CLabel -> Code
+jumpToLbl lbl = stmtC (CmmJump (CmmLit (CmmLabel lbl)))
 
 assignToRegs :: [(CmmExpr, GlobalReg)] -> CmmStmts
 assignToRegs reg_args 
index 5274a17..2a524a1 100644 (file)
@@ -1020,7 +1020,7 @@ fixStgRegStmt stmt
 
         CmmSwitch expr ids -> CmmSwitch (fixStgRegExpr expr) ids
 
-        CmmJump addr regs -> CmmJump (fixStgRegExpr addr) regs
+        CmmJump addr -> CmmJump (fixStgRegExpr addr)
 
         -- CmmNop, CmmComment, CmmBranch, CmmReturn
         _other -> stmt
index d8507ab..821ef5b 100644 (file)
@@ -127,7 +127,7 @@ stmtToInstrs env stmt = case stmt of
         -> genCall env target res args ret
 
     -- Tail call
-    CmmJump arg -> genJump env arg
+    CmmJump arg -> genJump env arg
 
     -- CPS, only tail calls, no return's
     -- Actually, there are a few return statements that occur because of hand
index f56238f..b404e87 100644 (file)
@@ -878,9 +878,9 @@ cmmStmtConFold stmt
                  src'  <- cmmExprConFold DataReference src
                  return $ CmmStore addr' src'
 
-        CmmJump addr regs
+        CmmJump addr
            -> do addr' <- cmmExprConFold JumpReference addr
-                 return $ CmmJump addr' regs
+                 return $ CmmJump addr'
 
         CmmCall target regs args returns
           -> do target' <- case target of
index d0cae69..6d91bac 100644 (file)
@@ -141,7 +141,7 @@ stmtToInstrs stmt = do
     CmmBranch id          -> genBranch id
     CmmCondBranch arg id  -> genCondJump id arg
     CmmSwitch arg ids     -> genSwitch arg ids
-    CmmJump arg _         -> genJump arg
+    CmmJump arg           -> genJump arg
     CmmReturn _           ->
       panic "stmtToInstrs: return statement should have been cps'd away"
 
index ff1e9f2..c37cdd6 100644 (file)
@@ -141,7 +141,7 @@ stmtToInstrs stmt = case stmt of
     CmmBranch  id              -> genBranch id
     CmmCondBranch arg id       -> genCondJump id arg
     CmmSwitch  arg ids         -> genSwitch arg ids
-    CmmJump    arg _           -> genJump arg
+    CmmJump    arg             -> genJump arg
 
     CmmReturn  _               
      -> panic "stmtToInstrs: return statement should have been cps'd away"
index e69aab4..9ddcf46 100644 (file)
@@ -166,7 +166,7 @@ stmtToInstrs stmt = do
     CmmBranch id          -> genBranch id
     CmmCondBranch arg id  -> genCondJump id arg
     CmmSwitch arg ids     -> genSwitch arg ids
-    CmmJump arg _         -> genJump arg
+    CmmJump arg           -> genJump arg
     CmmReturn _           ->
       panic "stmtToInstrs: return statement should have been cps'd away"