
#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