X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2FsimplCore%2FFloatIn.lhs;h=e32a8ea1601c41c1977467f9f7739f774f90b4b4;hp=0e8edb5930b314921725f7fed3b80256061863d0;hb=9da4639011348fb6c318e3cba4b08622f811d9c4;hpb=0065d5ab628975892cea1ec7303f968c3338cbe1 diff --git a/compiler/simplCore/FloatIn.lhs b/compiler/simplCore/FloatIn.lhs index 0e8edb5..e32a8ea 100644 --- a/compiler/simplCore/FloatIn.lhs +++ b/compiler/simplCore/FloatIn.lhs @@ -139,6 +139,8 @@ fiExpr to_drop (_, AnnVar v) = mkCoLets' to_drop (Var v) fiExpr to_drop (_, AnnType ty) = ASSERT( null to_drop ) Type ty +fiExpr to_drop (_, AnnCast expr co) + = Cast (fiExpr to_drop expr) co -- Just float in past coercion fiExpr to_drop (_, AnnLit lit) = Lit lit \end{code} @@ -208,19 +210,10 @@ fiExpr to_drop (_, AnnNote note@(SCC cc) expr) = -- Wimp out for now mkCoLets' to_drop (Note note (fiExpr [] expr)) -fiExpr to_drop (_, AnnNote InlineCall expr) - = -- Wimp out for InlineCall; keep it close - -- the the call it annotates - mkCoLets' to_drop (Note InlineCall (fiExpr [] expr)) - fiExpr to_drop (_, AnnNote InlineMe expr) = -- Ditto... don't float anything into an INLINE expression mkCoLets' to_drop (Note InlineMe (fiExpr [] expr)) -fiExpr to_drop (_, AnnNote note@(Coerce _ _) expr) - = -- Just float in past coercion - Note note (fiExpr to_drop expr) - fiExpr to_drop (_, AnnNote note@(CoreNote _) expr) = Note note (fiExpr to_drop expr) \end{code}