Re: [GHC] #7109: Inlining depends on datatype size, even with INLINE pragmas

#7109: Inlining depends on datatype size, even with INLINE pragmas -------------------------------------+------------------------------------- Reporter: dreixel | Owner: simonpj Type: bug | Status: infoneeded Priority: normal | Milestone: 7.10.1 Component: Compiler | Version: 7.5 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: | -------------------------------------+------------------------------------- Changes (by thomie): * status: new => infoneeded Comment: The function `$fGEqLogic_$cgeq` from the output of `ghc -fforce-recomp -ddump-simpl -dsuppress-all -O1 Bug3.hs` with ghc-7.9.20141121 (HEAD): {{{ Rec { $fGEqLogic_$cgeq $fGEqLogic_$cgeq = \ x_aYx y_aYy -> let { $j_s1Y5 $j_s1Y5 = \ a9_a1kB -> case y_aYy of _ { __DEFAULT -> False; Not g1_aBh_a1kM -> case a9_a1kB of _ { L1 a10_a1kz -> $fGEqLogic_$cgeq (a10_a1kz `cast` ...) g1_aBh_a1kM; R1 a10_X1o5 -> False }; And g1_aBi_a1kN g2_aBj_a1kO -> case a9_a1kB of _ { L1 a10_a1kz -> False; R1 a10_X1o5 -> case a10_X1o5 `cast` ... of _ { :*: a11_a171 b1_a172 -> case $fGEqLogic_$cgeq (a11_a171 `cast` ...) g1_aBi_a1kN of _ { False -> False; True -> $fGEqLogic_$cgeq (b1_a172 `cast` ...) g2_aBj_a1kO } } } } } in case x_aYx of _ { T -> case y_aYy of _ { T -> True; F -> False; Not g1_aBh_a1kM -> False; And g1_aBi_a1kN g2_aBj_a1kO -> False }; F -> case y_aYy of _ { __DEFAULT -> False; F -> True }; Not g1_aBh_a1kM -> $j_s1Y5 (L1 (g1_aBh_a1kM `cast` ...)); And g1_aBi_a1kN g2_aBj_a1kO -> $j_s1Y5 (R1 ((:*: (g1_aBi_a1kN `cast` ...) (g2_aBj_a1kO `cast` ...)) `cast` ...)) } end Rec } }}} Pedro: is that sufficiently small, or do you still think there is a bug somewhere? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/7109#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC