then lowerSafeCallBlock state' b
else return (state' { s_blocks = insertBlock b blocks })
State blocks' g_procpoints safeCalls <- fold_blocks block init g
- return $ (ProcInfoTable (CmmProc info l args (LGraph entry off blocks')) g_procpoints
- : safeCalls) : rst
+ return $ safeCalls
+ : [ProcInfoTable (CmmProc info l args (LGraph entry off blocks')) g_procpoints]
+ : rst
-- Check for foreign calls -- if none, then we can avoid copying the block.
hasSafeForeignCall :: CmmBlock -> Bool
-- Floating info table for safe a foreign call.
pprTop top@(CmmData _section d@(_ : _))
| CmmDataLabel lbl : lits <- reverse d =
- pprDataExterns lits $$
- pprWordArray lbl lits
+ let lits' = reverse lits
+ in pprDataExterns lits' $$
+ pprWordArray lbl lits'
-- these shouldn't appear?
pprTop (CmmData _ _) = panic "PprC.pprTop: can't handle this data"