From: Ben.Lippmeier@anu.edu.au Date: Tue, 19 May 2009 03:55:28 +0000 (+0000) Subject: Don't try and coalesce RealReg->RealReg moves X-Git-Tag: 2009-06-25~152 X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=f20b0d8aa7f04fe42d4bebfb78317b2969f92b07 Don't try and coalesce RealReg->RealReg moves --- diff --git a/compiler/nativeGen/RegAlloc/Graph/Main.hs b/compiler/nativeGen/RegAlloc/Graph/Main.hs index 94b18ae..d239d0d 100644 --- a/compiler/nativeGen/RegAlloc/Graph/Main.hs +++ b/compiler/nativeGen/RegAlloc/Graph/Main.hs @@ -311,9 +311,13 @@ graphAddCoalesce (r1, r2) graph (vr2, classOfVirtualReg vr2) graph - | otherwise - = panic "RegAlloc.Graph.Main.graphAddCoalesce: can't coalesce two real regs" - + -- We can't coalesce two real regs, but there could well be existing + -- hreg,hreg moves in the input code. We'll just ignore these + -- for coalescing purposes. + | RegReal _ <- r1 + , RegReal _ <- r2 + = graph + -- | Patch registers in code using the reg -> reg mapping in this graph. patchRegsFromGraph