[commit: ghc] master: Fix broken LLVM code gen (d7b8da1)

git at git.haskell.org git at git.haskell.org
Fri Sep 22 00:13:29 UTC 2017


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

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

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

commit d7b8da1f92b9ee26cd7e70028f88539e6b1ecb31
Author: Moritz Angermann <moritz.angermann at gmail.com>
Date:   Thu Sep 21 18:05:46 2017 -0400

    Fix broken LLVM code gen
    
    In 8b007abbeb30 (nativeGen: Consistently use blockLbl to generate
    CLabels from BlockIds) all blockLbls were changed. This interfered with
    the `toInfoLbl` call in CmmProcPoint, and caused the LLVM backend to
    fall over.
    
    Reviewers: bgamari, austin, simonmar
    
    Reviewed By: bgamari
    
    Subscribers: rwbarton, thomie
    
    Differential Revision: https://phabricator.haskell.org/D4006


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

d7b8da1f92b9ee26cd7e70028f88539e6b1ecb31
 compiler/cmm/CmmProcPoint.hs | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/compiler/cmm/CmmProcPoint.hs b/compiler/cmm/CmmProcPoint.hs
index 68f80db..153872f 100644
--- a/compiler/cmm/CmmProcPoint.hs
+++ b/compiler/cmm/CmmProcPoint.hs
@@ -275,8 +275,9 @@ splitAtProcPoints dflags entry_label callPPs procPoints procMap
      let add_label map pp = mapInsert pp lbls map
            where lbls | pp == entry = (entry_label, fmap cit_lbl (mapLookup entry info_tbls))
                       | otherwise   = (block_lbl, guard (setMember pp callPPs) >>
-                                                    Just (toInfoLbl block_lbl))
-                      where block_lbl = blockLbl pp
+                                                    Just info_table_lbl)
+                      where block_lbl      = blockLbl pp
+                            info_table_lbl = infoTblLbl pp
 
          procLabels :: LabelMap (CLabel, Maybe CLabel)
          procLabels = foldl' add_label mapEmpty



More information about the ghc-commits mailing list