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

GHC ghc-devs at haskell.org
Mon Dec 10 09:50:34 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 simonmar):

 @osa1 sorry I assumed too much background knowledge here. Let me fill in
 the blanks: `-fomit-interface-pragmas` is on by default with `-O0`, but
 off with `-O` and above. It is the flag that controls whether we emit
 optimisation info, including things like unfoldings, strictness
 signatures, arity, and CAF info into the interface file. When the flag is
 on, we only emit types and nothing else.

 It normally isn't used explicitly on the command line. Perhaps it should
 be documented, I'm not sure what our policy on documenting "internal"
 flags like this is currently.

 The relevance to `-fno-code` is this:
 * we were considering whether `-fno-code` affects the ABI or not, because
 if it affects the ABI, then it needs to be included in the flags we
 fingerprint in `FlagChecher`
 * Prior to your changes here, `-fno-code` does not affect the ABI, but now
 it does, because the CAF info may change if we use `-fno-code`.
 * But, this only applies if `-fomit-interface-pragmas` is off (which is
 also included in `FlagChecker` right now).
 * So, we must now include `-fno-code` in `FlagChecker`

 Make sense?

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


More information about the ghc-tickets mailing list