summaryrefslogtreecommitdiff
path: root/compiler/nativeGen
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2010-06-18 08:21:47 +0000
committerSimon Marlow <marlowsd@gmail.com>2010-06-18 08:21:47 +0000
commit4e589b58e1bf3d36b95d48fd45ec76cb84a1b46d (patch)
treec0ab955ed112cbdbb6a0071c86312fe5d424d641 /compiler/nativeGen
parent368a69a51c3787991e1a1a8726a33fcdff3a39d2 (diff)
downloadhaskell-4e589b58e1bf3d36b95d48fd45ec76cb84a1b46d.tar.gz
joinToTargets: fix a case of panic "handleComponent cyclic"
Diffstat (limited to 'compiler/nativeGen')
-rw-r--r--compiler/nativeGen/RegAlloc/Linear/JoinToTargets.hs3
1 files changed, 2 insertions, 1 deletions
diff --git a/compiler/nativeGen/RegAlloc/Linear/JoinToTargets.hs b/compiler/nativeGen/RegAlloc/Linear/JoinToTargets.hs
index 8ff06eb886..a9367f9f01 100644
--- a/compiler/nativeGen/RegAlloc/Linear/JoinToTargets.hs
+++ b/compiler/nativeGen/RegAlloc/Linear/JoinToTargets.hs
@@ -289,7 +289,8 @@ handleComponent delta _ (AcyclicSCC (vreg, src, dsts))
-- require a fixup.
--
handleComponent delta instr
- (CyclicSCC ( (vreg, InReg sreg, [InReg dreg]) : rest))
+ (CyclicSCC ( (vreg, InReg sreg, (InReg dreg: _)) : rest))
+ -- dest list may have more than one element, if the reg is also InMem.
= do
-- spill the source into its slot
(instrSpill, slot)