1. 07 Mar, 2011 1 commit
  2. 06 Mar, 2011 2 commits
  3. 01 Mar, 2011 2 commits
    • Sergei Trofimovich's avatar
      configure: amend sanity check · e45b7db2
      Sergei Trofimovich authored
      As we perform some mangling of original --build/--host/--target
      params we should check the result of mangling against desired triplet,
      not originally passed by user.
      
      Patch also adds mangled triplets to the output.
      e45b7db2
    • Sergei Trofimovich's avatar
      configure: triplet: accept i486 CPU (and more), more vendors and OSes · c00ea87f
      Sergei Trofimovich authored
      Gentoo has interesting ports:
      
        - freebsd with following triplet:
              ./configure --build=i686-gentoo-freebsd8 --host=i686-gentoo-freebsd8 --host=i686-gentoo-freebsd8
          should be recognized as 'i386-unknown-freebsd'
        - 'pc' vendor along with non-'i386' is very common:
              ./configure --build=i486-pc-linux-gnu --i486-pc-linux-gnu --host=i486-pc-linux-gnu
              ./configure --build=i686-pc-linux-gnu --i686-pc-linux-gnu --host=i686-pc-linux-gnu
          should be recognized as 'i386-unknown-linux'
      
      Patch adds:
      
        - 'pc' vendor                 (maps to 'unknown')
        - 'gentoo' vendor             (maps to 'unknown')
        - 'i486', 'i586', 'i686' CPUs (maps to 'i386')
        - 'freebsd8' OS               (maps to 'freebsd')
      c00ea87f
  4. 06 Mar, 2011 1 commit
  5. 05 Mar, 2011 5 commits
  6. 02 Mar, 2011 2 commits
  7. 22 Feb, 2011 1 commit
    • simonpj@microsoft.com's avatar
      Restore SPECIALISE INSTANCE pragmas · 0f409c99
      simonpj@microsoft.com authored
      For some reason I'd commented out this code, which 
      meant that we weren't getting the the goodness of
      the SPECIALISE INSTANCE pragamas in GHC.Real. And
      that in turn killed performance in nofib 'power'
      0f409c99
  8. 01 Mar, 2011 1 commit
  9. 27 Feb, 2011 1 commit
  10. 26 Feb, 2011 1 commit
    • vivian's avatar
      :script file scripts in GHCi #1363 · eccb2d89
      vivian authored
      This patch adds the script command in GHCi
      
      A file is read and executed as a series of GHCi commands.
      
      Execution terminates on the first error.  The filename and
      line number are included in the error.
      eccb2d89
  11. 25 Feb, 2011 1 commit
  12. 08 Feb, 2011 1 commit
  13. 23 Feb, 2011 1 commit
  14. 22 Feb, 2011 1 commit
  15. 21 Feb, 2011 1 commit
    • simonpj@microsoft.com's avatar
      Fix another fundep error (fixes Trac #4969) · d1796b52
      simonpj@microsoft.com authored
      If I had a pound for every hour Dimitrios and I have spent
      making functional dependencies work right, we'd be rich!
      
      We had stupidly caused a 'wanted' to be rewritten by a 'derived', with
      resulting abject failure.  As well as fixing the bug, this patch
      refactors some more, adds useful assert and comments.
      d1796b52
  16. 18 Feb, 2011 1 commit
    • Edward Z. Yang's avatar
      New codegen: GC calling convention must use registers. · 4c53d93a
      Edward Z. Yang authored
      Previously, on register-deficient architectures like x86-32,
      the new code generator would emit code for calls to stg_gc_l1,
      stg_gc_d1 and stg_gc_f1 that pushed their single argument on
      to the stack, while the functions themselves expected the
      argument to live in L1, D1 and F1 (respectively).  This was
      because cmmCall with the GC calling convention allocated real
      registers, not virtual registers.
      
      This patch modifies the code for assigning registers/stack slots
      to use the right calling convention for GC and adds an assertion
      to ensure it did it properly.
      4c53d93a
  17. 20 Feb, 2011 1 commit
    • chak@cse.unsw.edu.au.'s avatar
      Added a VECTORISE pragma · f2aaae97
      chak@cse.unsw.edu.au. authored
      - Added a pragma {-# VECTORISE var = exp #-} that prevents
        the vectoriser from vectorising the definition of 'var'.
        Instead it uses the binding '$v_var = exp' to vectorise
        'var'.  The vectoriser checks that the Core type of 'exp'
        matches the vectorised Core type of 'var'.  (It would be
        quite complicated to perform that check in the type checker
        as the vectorisation of a type needs the state of the VM
        monad.)
      - Added parts of a related VECTORISE SCALAR pragma
      - Documented -ddump-vect
      - Added -ddump-vt-trace
      - Some clean up
      f2aaae97
  18. 19 Feb, 2011 2 commits
  19. 14 Feb, 2011 1 commit
    • gwright@antiope.com's avatar
      Fix #4867 (updated; corrects address calculation) · 796a3b36
      gwright@antiope.com authored
      This is a corrected fix for ticket #4867, "ghci displays negative floats
      incorrectly".  The previous patch sometimes gave incorrect offset to values
      in the __const section of the __TEXT segment.  The new patch arranges a zero
      fixup for non-external, not-global offset table signed relocations.  This
      is apparently what is required, though documentation on this point is scarce.
      
      With this change Doubles are negated properly, because the sign bit mask
      is loaded from the correct offset.  This was tested both on HEAD and the 7.0
      branch.
      796a3b36
  20. 16 Feb, 2011 1 commit
  21. 17 Feb, 2011 4 commits
    • simonpj@microsoft.com's avatar
      78b556a7
    • simonpj@microsoft.com's avatar
      Comments only · 6c4c33fc
      simonpj@microsoft.com authored
      6c4c33fc
    • simonpj@microsoft.com's avatar
      Fix Trac #4966 · a6c8ac78
      simonpj@microsoft.com authored
      This is just a program that exploits overlapping
      instances in a delicate way. The fix makes GHC
      a bit more friendly towards such programs. 
      
      See Note [Overlap and deriving] in TcSimplify
      a6c8ac78
    • simonpj@microsoft.com's avatar
      Use "on the spot" solving for fundeps · 50d02935
      simonpj@microsoft.com authored
      When we spot an equality arising from a functional dependency,
      we now use that equality (a "wanted") to rewrite the work-item
      constraint right away.  This avoids two dangers
      
       Danger 1: If we send the original constraint on down the pipeline
                 it may react with an instance declaration, and in delicate
      	   situations (when a Given overlaps with an instance) that
      	   may produce new insoluble goals: see Trac #4952
      
       Danger 2: If we don't rewrite the constraint, it may re-react
                 with the same thing later, and produce the same equality
                 again --> termination worries.
      
      To achieve this required some refactoring of FunDeps.lhs (nicer
      now!).  
      
      This patch also contains a couple of unrelated improvements
      
      * A bad bug in TcSMonad.nestImplicTcS whereby the Tcs tyvars
        of an outer implication were not untouchable inside
      
      * Improved logging machinery for the type constraint solver;
        use -ddump-cs-trace (probably with a wider default line width
        -dppr-cols=200 or something)
      50d02935
  22. 15 Feb, 2011 3 commits
  23. 14 Feb, 2011 2 commits
    • simonpj@microsoft.com's avatar
      Fix exprIsDupable · 34456244
      simonpj@microsoft.com authored
      It turns out that exprIsDupable would return True for an expression of
      *arbitrary* size, provide it was a nested bunch of applications in
      which no function had more than three arguments.  That was never the
      intention, and could give rise to massive code duplication.  
      
      This patch makes it much less aggressive.
      34456244
    • simonpj@microsoft.com's avatar
      Better case-of-case transformation · 7a50e6d8
      simonpj@microsoft.com authored
      The ThunkSplitting idea in WorkWrap wasn't working at all,
      leading to Trac #4957.  The culprit is really the simplifier
      which was combining the wrong case continuations. See
      Note [Fusing case continuations] in Simplify.
      7a50e6d8
  24. 15 Feb, 2011 1 commit
  25. 14 Feb, 2011 2 commits