[commit: ghc] master: cmm: Use LocalBlockLabel instead of AsmTempLabel to represent blocks (048a913)

git at git.haskell.org git at git.haskell.org
Tue Nov 28 20:52:59 UTC 2017


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/048a91380cbbc18d1704bb7c328247a1660b5596/ghc

>---------------------------------------------------------------

commit 048a91380cbbc18d1704bb7c328247a1660b5596
Author: Ben Gamari <ben at smart-cactus.org>
Date:   Mon Nov 13 12:34:54 2017 -0500

    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.


>---------------------------------------------------------------

048a91380cbbc18d1704bb7c328247a1660b5596
 compiler/cmm/BlockId.hs                  |  2 +-
 compiler/cmm/BlockId.hs-boot             |  8 ++++++
 compiler/cmm/CLabel.hs                   | 48 +++++++++++++++++++++++++-------
 compiler/nativeGen/NCGMonad.hs           |  5 ++--
 compiler/nativeGen/PPC/Ppr.hs            |  4 +--
 compiler/nativeGen/PPC/RegInfo.hs        |  6 ++--
 compiler/nativeGen/SPARC/ShortcutJump.hs |  4 +--
 compiler/nativeGen/X86/Instr.hs          |  8 +++---
 8 files changed, 60 insertions(+), 25 deletions(-)

Diff suppressed because of size. To see it, use:

    git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 048a91380cbbc18d1704bb7c328247a1660b5596


More information about the ghc-commits mailing list