Re: [GHC] #2598: Avoid excessive specialisation in SpecConstr

#2598: Avoid excessive specialisation in SpecConstr ---------------------------------+------------------------------------------ Reporter: simonpj | Owner: Type: feature request | Status: new Priority: lowest | Milestone: 7.6.2 Component: Compiler | Version: 6.8.3 Keywords: | Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: None/Unknown Difficulty: Unknown | Testcase: Blockedby: | Blocking: Related: | ---------------------------------+------------------------------------------ Changes (by morabbin): * failure: => None/Unknown Comment: Is this moot now? With GHC 7.6.2: {{{ ghc --make -fforce-recomp -c -ddverbose-core2core -dshow-passes -O2 DropComment.hs }}} on the attached `DropComment.hs` produces (among other things): {{{ ==================== Tidy Core ==================== Result size of Tidy Core = {terms: 70, types: 50, coercions: 0} Rec { lvl_rid :: [GHC.Types.Char] [GblId] lvl_rid = DropComment.dropComment (GHC.Types.[] @ GHC.Types.Char) DropComment.dropComment [Occ=LoopBreaker] :: [GHC.Types.Char] -> [GHC.Types.Char] [GblId, Arity=1, Str=DmdType S] DropComment.dropComment = \ (ds_deO :: [GHC.Types.Char]) -> case ds_deO of _ { [] -> GHC.Types.[] @ GHC.Types.Char; : ds1_deP ds2_deQ -> case ds1_deP of wild1_X7 { GHC.Types.C# ds3_deR -> case ds3_deR of _ { __DEFAULT -> GHC.Types.: @ GHC.Types.Char wild1_X7 (DropComment.dropComment ds2_deQ); ' ' -> case ds2_deQ of wild2_Xa { [] -> GHC.Types.: @ GHC.Types.Char wild1_X7 lvl_rid; : ds5_deS ds6_deT -> case ds5_deS of _ { GHC.Types.C# ds7_deU -> case ds7_deU of _ { __DEFAULT -> GHC.Types.: @ GHC.Types.Char wild1_X7 (DropComment.dropComment wild2_Xa); '-' -> case ds6_deT of _ { [] -> GHC.Types.: @ GHC.Types.Char wild1_X7 (DropComment.dropComment wild2_Xa); : ds9_deV ds10_deW -> case ds9_deV of _ { GHC.Types.C# ds11_deX -> case ds11_deX of _ { __DEFAULT -> GHC.Types.: @ GHC.Types.Char wild1_X7 (DropComment.dropComment wild2_Xa); '-' -> case ds10_deW of _ { [] -> GHC.Types.: @ GHC.Types.Char wild1_X7 (DropComment.dropComment wild2_Xa); : ds13_deY ds14_deZ -> case ds13_deY of _ { GHC.Types.C# ds15_df0 -> case ds15_df0 of _ { __DEFAULT -> GHC.Types.: @ GHC.Types.Char wild1_X7 (DropComment.dropComment wild2_Xa); ' ' -> GHC.Types.[] @ GHC.Types.Char } } } } } } } } } } } } end Rec } }}} -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/2598#comment:17 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC