From: Edward Z. Yang Date: Wed, 27 Apr 2011 16:54:15 +0000 (+0100) Subject: Fix bug in multi-destination jump patching. X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=7aa15ca8ed7b37efbd970822a3e0a3fe5e8a9c8a;hp=16a037a8f9c7e444230c226081023fe56ffa2264;p=ghc-hetmet.git Fix bug in multi-destination jump patching. Signed-off-by: Edward Z. Yang --- diff --git a/compiler/nativeGen/RegAlloc/Linear/JoinToTargets.hs b/compiler/nativeGen/RegAlloc/Linear/JoinToTargets.hs index 903082f..ef6ae9b 100644 --- a/compiler/nativeGen/RegAlloc/Linear/JoinToTargets.hs +++ b/compiler/nativeGen/RegAlloc/Linear/JoinToTargets.hs @@ -190,7 +190,7 @@ joinToTargets_again _ -> let instr' = patchJumpInstr instr (\bid -> if bid == dest then mkBlockId fixup_block_id - else dest) + else bid) -- no change! in joinToTargets' block_live (block : new_blocks) block_id instr' dests