Commit 93d047a1 authored by dias@eecs.harvard.edu's avatar dias@eecs.harvard.edu

Floating infotables were reversed in C back end

parent dc6a72b9
...@@ -494,8 +494,9 @@ lowerSafeForeignCalls procpoints rst ...@@ -494,8 +494,9 @@ lowerSafeForeignCalls procpoints rst
then lowerSafeCallBlock state' b then lowerSafeCallBlock state' b
else return (state' { s_blocks = insertBlock b blocks }) else return (state' { s_blocks = insertBlock b blocks })
State blocks' g_procpoints safeCalls <- fold_blocks block init g State blocks' g_procpoints safeCalls <- fold_blocks block init g
return $ (ProcInfoTable (CmmProc info l args (LGraph entry off blocks')) g_procpoints return $ safeCalls
: safeCalls) : rst : [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. -- Check for foreign calls -- if none, then we can avoid copying the block.
hasSafeForeignCall :: CmmBlock -> Bool hasSafeForeignCall :: CmmBlock -> Bool
......
...@@ -143,8 +143,9 @@ pprTop top@(CmmData _section (CmmDataLabel lbl : lits)) = ...@@ -143,8 +143,9 @@ pprTop top@(CmmData _section (CmmDataLabel lbl : lits)) =
-- Floating info table for safe a foreign call. -- Floating info table for safe a foreign call.
pprTop top@(CmmData _section d@(_ : _)) pprTop top@(CmmData _section d@(_ : _))
| CmmDataLabel lbl : lits <- reverse d = | CmmDataLabel lbl : lits <- reverse d =
pprDataExterns lits $$ let lits' = reverse lits
pprWordArray lbl lits in pprDataExterns lits' $$
pprWordArray lbl lits'
-- these shouldn't appear? -- these shouldn't appear?
pprTop (CmmData _ _) = panic "PprC.pprTop: can't handle this data" pprTop (CmmData _ _) = panic "PprC.pprTop: can't handle this data"
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment