From f20b0d8aa7f04fe42d4bebfb78317b2969f92b07 Mon Sep 17 00:00:00 2001 From: "Ben.Lippmeier@anu.edu.au" Date: Tue, 19 May 2009 03:55:28 +0000 Subject: [PATCH] Don't try and coalesce RealReg->RealReg moves --- compiler/nativeGen/RegAlloc/Graph/Main.hs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) 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 -- 1.7.10.4