patch applied (ghc): Retain inline-pragma information on unfoldings in interface files

Simon Peyton Jones simonpj at microsoft.com
Wed Apr 25 03:56:25 EDT 2007


Wed Apr 25 00:49:24 PDT 2007  simonpj at microsoft.com
  * Retain inline-pragma information on unfoldings in interface files
  
  	WARNING: this patch changes interface-file formats slightly
  	 	 you will need to recompile your libraries
  
  Duncan Coutts wanted to export a function that has a NOINLNE pragma
  in a local let-defintion.  This works fine within a module, but was 
  not surviving across the interface-file serialisation.
  
  http://www.haskell.org/pipermail/glasgow-haskell-users/2007-March/012171.html
  
  Regardless of whether or not he's doing something sensible, it seems
  reasonable to try to retain local-binder IdInfo across interface files.
  This initial patch just retains inline-pragma info, on the grounds that
  other IdInfo can be re-inferred at the inline site.
  
  Interface files get a tiny bit bigger, but it seesm slight.
  
  

    M ./compiler/coreSyn/CoreTidy.lhs -1 +4
    M ./compiler/iface/BinIface.hs +10
    M ./compiler/iface/IfaceSyn.lhs -17 +39
    M ./compiler/iface/IfaceType.lhs -10 +2
    M ./compiler/iface/MkIface.lhs -2 +18
    M ./compiler/iface/TcIface.lhs -27 +28
    M ./compiler/parser/ParserCore.y -3 +3



More information about the Cvs-ghc mailing list