[GHC] #9718: Avoid TidyPgm predicting what CorePrep will do

GHC ghc-devs at haskell.org
Mon Oct 15 15:29:11 UTC 2018


#9718: Avoid TidyPgm predicting what CorePrep will do
-------------------------------------+-------------------------------------
        Reporter:  simonpj           |                Owner:  (none)
            Type:  task              |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  7.8.3
      Resolution:                    |             Keywords:  CodeGen, CAFs
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 simonpj):

 > I don't understand how the CAFFYness info in Ids used in the code gen,
 but I wonder if even after this work there will still be room for bugs
 because idCafInfo of an id (not in binder position) may disagree with the
 final CAFFYness information of the id.

 I think we should

 * Tag each binder with its CAFFYness, immediately before code generation,
 after any STG-to-STG passes (step 1 of comment:14).

 * Propagate that info into the .hi file for the module.

 * In SRT generation (setp 2 of comment:14, presumably in
 `CmmBuildInfoTables`) use a finite map of Id to CAFFYness, so that we
 specifically do not rely on the CAFFYness of ''occurrences'' of ''local''
 Ids.  (For imported Ids we should be fine.)

 Sound OK?

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9718#comment:16>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list