[GHC] #13900: Core lint in BuildFlavour=perf-llvm
GHC
ghc-devs at haskell.org
Thu Feb 8 04:18:01 UTC 2018
#13900: Core lint in BuildFlavour=perf-llvm
-------------------------------------+-------------------------------------
Reporter: bgamari | Owner: bgamari
Type: bug | Status: new
Priority: highest | Milestone: 8.6.1
Component: Compiler | Version: 8.3
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: Compile-time | Unknown/Multiple
crash or panic | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by dfeuer):
I can cut down `GHCi.UI.Tags` and still get a similar core lint error. As
I cut it down, the mismatched types shifted around a bit; unfortunately I
didn't capture the intermediate steps, so I can't show them. This version
is cut down about as far as I could cut it:
{{{#!hs
module GHCi.UI.Tags (
createTagsFile
) where
import GHC
import GHCi.UI.Monad
data TagsKind
data TagInfo
createTagsFile :: TagsKind -> FilePath -> GHCi ()
createTagsFile _tagskind _tagsFile = do
_graph <- GHC.getModuleGraph
mapM_ (listModuleTags . GHC.ms_mod) $ [undefined]
{-# NOINLINE listModuleTags #-}
listModuleTags :: GHC.Module -> GHCi [TagInfo]
listModuleTags m =
let {-# NOINLINE names #-}
names = []
localNames = filter ((m ==) . nameModule) names
in mapM GHC.lookupName localNames >> return []
}}}
Lots of the little bits remaining seem to be necessary: the `filter`, the
`GHC.getModuleGraph`, the `mapM` in `listModuleTags` rather than `mapM_`.
I'll keep digging now that I've cut it down, but I figured I should record
this.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13900#comment:10>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list