[GHC] #14815: -XStrict prevents code inlining.
GHC
ghc-devs at haskell.org
Mon Mar 5 07:47:10 UTC 2018
#14815: -XStrict prevents code inlining.
-------------------------------------+-------------------------------------
Reporter: danilo2 | Owner: (none)
Type: bug | Status: new
Priority: high | Milestone:
Component: Compiler | Version: 8.2.2
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by osa1):
I'm not sure how to write a test for this. The problem is in GHC 8.2 for
the `primitive` function shown in the bug report we generate a desugared
function with `RHS size: {terms: 16, types: 52, coercions: 15, joins:
0/1}` without `-XStrict`, and with `-XStrict` it becomes `-- RHS size:
{terms: 16, types: 58, coercions: 15, joins: 1/2}` even though there
should be no difference (as is already the case with GHC 8.4 and GHC
HEAD). It's hard to write a program that generates different outputs based
on the term size, so I guess I have to compare desugarer outputs with and
without `-XStrict`, but even then I get different variables generated in
each run, so I need equality modulo renaming.. bgamari, do you know how to
implement such a test? Do we have any similar tests in the test suite
already?
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14815#comment:5>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list