1. 11 Oct, 2006 2 commits
  2. 10 Oct, 2006 2 commits
  3. 11 Oct, 2006 5 commits
    • Ian Lynagh's avatar
      Fix trac #921: generate *q instructions for int-float conversions · 16dbc257
      Ian Lynagh authored
      We need to generate, e.g., cvtsi2sdq rather than cvtsi2sd on amd64 in
      order to have int-float conversions work correctly for values not
      correctly representable in 32 bits.
      16dbc257
    • Simon Marlow's avatar
      Module header tidyup #2 · 046ee54f
      Simon Marlow authored
      Push this further along, and fix build problems in the first patch.
      046ee54f
    • Simon Marlow's avatar
      remove BitSet, it isn't used · 5199290f
      Simon Marlow authored
      5199290f
    • Simon Marlow's avatar
      Module header tidyup, phase 1 · 49c98d14
      Simon Marlow authored
      This patch is a start on removing import lists and generally tidying
      up the top of each module.  In addition to removing import lists:
      
         - Change DATA.IOREF -> Data.IORef etc.
         - Change List -> Data.List etc.
         - Remove $Id$
         - Update copyrights
         - Re-order imports to put non-GHC imports last
         - Remove some unused and duplicate imports
      49c98d14
    • Simon Marlow's avatar
      Interface file optimisation and removal of nameParent · b00b5bc0
      Simon Marlow authored
      This large commit combines several interrelated changes:
      
        - IfaceSyn now contains actual Names rather than the special
          IfaceExtName type.  The binary interface file contains
          a symbol table of Names, where each entry is a (package,
          ModuleName, OccName) triple.  Names in the IfaceSyn point
          to entries in the symbol table.
      
          This reduces the size of interface files, which should
          hopefully improve performance (not measured yet).
      
          The toIfaceXXX functions now do not need to pass around
          a function from Name -> IfaceExtName, which makes that
          code simpler.
      
        - Names now do not point directly to their parents, and the
          nameParent operation has gone away.  It turned out to be hard to
          keep this information consistent in practice, and the parent info
          was only valid in some Names.  Instead we made the following
          changes:
      
          * ImportAvails contains a new field 
                imp_parent :: NameEnv AvailInfo
            which gives the family info for any Name in scope, and
            is used by the renamer when renaming export lists, amongst
            other things.  This info is thrown away after renaming.
      
          * The mi_ver_fn field of ModIface now maps to
            (OccName,Version) instead of just Version, where the
            OccName is the parent name.  This mapping is used when
            constructing the usage info for dependent modules.
            There may be entries in mi_ver_fn for things that are not in
            scope, whereas imp_parent only deals with in-scope things.
      
          * The md_exports field of ModDetails now contains
            [AvailInfo] rather than NameSet.  This gives us
            family info for the exported names of a module.
      
      Also:
      
         - ifaceDeclSubBinders moved to IfaceSyn (seems like the
           right place for it).
      
         - heavily refactored renaming of import/export lists.
      
         - Unfortunately external core is now broken, as it relied on
           IfaceSyn.  It requires some attention.
      b00b5bc0
  4. 10 Oct, 2006 9 commits
  5. 09 Oct, 2006 2 commits
  6. 07 Oct, 2006 1 commit
  7. 04 Oct, 2006 1 commit
  8. 06 Oct, 2006 12 commits
  9. 05 Oct, 2006 1 commit
  10. 29 Sep, 2006 1 commit
  11. 05 Oct, 2006 2 commits
  12. 03 Oct, 2006 2 commits