Re: [GHC] #7114: Cannot recover (good) inlining behaviour from 7.0.2 in 7.4.1

#7114: Cannot recover (good) inlining behaviour from 7.0.2 in 7.4.1 -------------------------------------+------------------------------------- Reporter: dreixel | Owner: Type: bug | Status: new Priority: normal | Milestone: 7.10.1 Component: Compiler | Version: 7.4.1 Resolution: | Keywords: Operating System: | Architecture: Unknown/Multiple Unknown/Multiple | Difficulty: Unknown Type of failure: | Blocked By: None/Unknown | Related Tickets: Test Case: | Blocking: | Differential Revisions: | -------------------------------------+------------------------------------- Comment (by thomie): This issue is not resolved yet. Relevant part of the output of `ghc-7.9.20141121 -fforce-recomp -ddump-simpl -O1 Code3.hs` still has the same structure (to reproduce, search for last `Rec` in the output): {{{#!hs lvl_r1aH :: [List] [GblId, Caf=NoCafRefs, Str=DmdType] lvl_r1aH = GHC.Types.: @ List Code2.Nil (GHC.Types.[] @ List) Rec { Code2.$senum'5 :: [K1 List] [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 30 0}] Code2.$senum'5 = map @ List @ (K1 List) (Code2.K1 @ List) Code2.$fGEnumList_$cgenum lvl1_r1aI :: Int -> [List] [GblId, Arity=1, Str=DmdType] lvl1_r1aI = \ (x_XNx :: Int) -> map @ (K1 List) @ List (\ (x1_XOq :: K1 List) -> case x1_XOq of _ [Occ=Dead] { K1 b_axA -> Code2.Cons x_XNx b_axA }) Code2.$senum'5 lvl2_r1aJ :: [[List]] [GblId, Str=DmdType] lvl2_r1aJ = map @ Int @ [List] lvl1_r1aI Code2.$fGEnumInt_$cgenum lvl3_r1aK :: [List] [GblId, Str=DmdType] lvl3_r1aK = diag @ List lvl2_r1aJ Code2.$fGEnumList_$cgenum [Occ=LoopBreaker] :: [List] [GblId, Str=DmdType] Code2.$fGEnumList_$cgenum = ||| @ List lvl_r1aH lvl3_r1aK end Rec } }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/7114#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC