cmm: Use LocalBlockLabel instead of AsmTempLabel to represent blocks
authorBen Gamari <ben@smart-cactus.org>
Mon, 13 Nov 2017 17:34:54 +0000 (12:34 -0500)
committerBen Gamari <ben@smart-cactus.org>
Tue, 28 Nov 2017 20:49:46 +0000 (15:49 -0500)
commit048a91380cbbc18d1704bb7c328247a1660b5596
tree4030bc33eff0bc45e14c59696146af7bda9c9e6a
parent17e71c14fee6bc068cf081abfc1abd0470e84c66
cmm: Use LocalBlockLabel instead of AsmTempLabel to represent blocks

blockLbl was originally changed in 8b007abbeb3045900a11529d907a835080129176 to
use mkTempAsmLabel to fix an inconsistency resulting in #14221. However, this
breaks the C code generator, which doesn't support AsmTempLabels (#14454).

Instead let's try going the other direction: use a new CLabel variety,
LocalBlockLabel. Then we can teach the C code generator to deal with
these as well.
compiler/cmm/BlockId.hs
compiler/cmm/BlockId.hs-boot [new file with mode: 0644]
compiler/cmm/CLabel.hs
compiler/nativeGen/NCGMonad.hs
compiler/nativeGen/PPC/Ppr.hs
compiler/nativeGen/PPC/RegInfo.hs
compiler/nativeGen/SPARC/ShortcutJump.hs
compiler/nativeGen/X86/Instr.hs