[commit: ghc] new-demand-to-merge: Merge remote-tracking branch 'origin/master' into new-demand-to-merge (d3378e4)

Simon Peyton Jones simonpj at microsoft.com
Wed Jan 16 18:23:16 CET 2013


Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : new-demand-to-merge

http://hackage.haskell.org/trac/ghc/changeset/d3378e4b23595f1182f91a9936e3191b98d6b134

>---------------------------------------------------------------

commit d3378e4b23595f1182f91a9936e3191b98d6b134
Merge: 49df25c... 8f731f2...
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date:   Wed Jan 16 17:20:15 2013 +0000

    Merge remote-tracking branch 'origin/master' into new-demand-to-merge
    
    Conflicts:
    	compiler/main/DynFlags.hs

 compiler/basicTypes/DataCon.lhs                   |   40 +-
 compiler/basicTypes/Id.lhs                        |    2 +-
 compiler/basicTypes/MkId.lhs                      |   44 +-
 compiler/codeGen/StgCmmTicky.hs                   |    2 +-
 compiler/coreSyn/CoreLint.lhs                     |   41 +-
 compiler/deSugar/Coverage.lhs                     |   12 +-
 compiler/deSugar/DsArrows.lhs                     |   13 +-
 compiler/deSugar/DsExpr.lhs                       |   21 +-
 compiler/deSugar/DsGRHSs.lhs                      |   14 +-
 compiler/deSugar/DsMeta.hs                        |   14 +-
 compiler/deSugar/DsUtils.lhs                      |    2 +-
 compiler/deSugar/Match.lhs                        |   55 +-
 compiler/deSugar/MatchCon.lhs                     |    3 +-
 compiler/deSugar/MatchLit.lhs                     |    2 +-
 compiler/ghc.cabal.in                             |    1 +
 compiler/ghci/ByteCodeAsm.lhs                     |    8 +-
 compiler/hsSyn/Convert.lhs                        |    4 +-
 compiler/hsSyn/HsExpr.lhs                         |   28 +-
 compiler/hsSyn/HsUtils.lhs                        |    2 +-
 compiler/iface/MkIface.lhs                        |    2 +-
 compiler/iface/TcIface.lhs                        |    3 +-
 compiler/llvmGen/LlvmCodeGen/CodeGen.hs           |    8 +-
 compiler/main/DriverPhases.hs                     |   61 +-
 compiler/main/DriverPipeline.hs                   |  149 ++-
 compiler/main/DynFlags.hs                         |   68 ++-
 compiler/main/GhcMake.hs                          |    4 +-
 compiler/main/HscMain.hs                          |    3 +-
 compiler/main/PprTyThing.hs                       |    4 +-
 compiler/nativeGen/AsmCodeGen.lhs                 |   10 +-
 compiler/nativeGen/PPC/Instr.hs                   |    7 +-
 compiler/nativeGen/SPARC/Base.hs                  |   51 +-
 compiler/nativeGen/X86/CodeGen.hs                 |   12 +-
 compiler/nativeGen/X86/Instr.hs                   |  124 ++-
 compiler/parser/Parser.y.pp                       |   12 +-
 compiler/parser/RdrHsSyn.lhs                      |    8 +-
 compiler/prelude/PrelNames.lhs                    |    9 +-
 compiler/prelude/PrelRules.lhs                    |   24 +-
 compiler/rename/RnBinds.lhs                       |   22 +-
 compiler/rename/RnExpr.lhs                        |    2 +-
 compiler/rename/RnNames.lhs                       |   42 +-
 compiler/rename/RnTypes.lhs                       |    2 +-
 compiler/simplCore/Simplify.lhs                   |   36 +-
 compiler/typecheck/FamInst.lhs                    |  143 ++--
 compiler/typecheck/Inst.lhs                       |    2 +-
 compiler/typecheck/TcArrows.lhs                   |    9 +-
 compiler/typecheck/TcBinds.lhs                    |   33 +-
 compiler/typecheck/TcDeriv.lhs                    |  136 +++-
 compiler/typecheck/TcErrors.lhs                   |  143 +--
 compiler/typecheck/TcEvidence.lhs                 |    4 +-
 compiler/typecheck/TcForeign.lhs                  |   23 +-
 compiler/typecheck/TcGenDeriv.lhs                 |  196 +++--
 compiler/typecheck/TcGenGenerics.lhs              |    5 +-
 compiler/typecheck/TcHsSyn.lhs                    |    7 +-
 compiler/typecheck/TcHsType.lhs                   |    1 +
 compiler/typecheck/TcInstDcls.lhs                 |  145 ++-
 compiler/typecheck/TcMType.lhs                    | 1133 +--------------------
 compiler/typecheck/TcMatches.lhs                  |   14 +-
 compiler/typecheck/TcPat.lhs                      |    4 +-
 compiler/typecheck/TcRnTypes.lhs                  |    8 +-
 compiler/typecheck/TcSMonad.lhs                   |    9 +-
 compiler/typecheck/TcSimplify.lhs                 |  187 +---
 compiler/typecheck/TcSplice.lhs                   |   11 +-
 compiler/typecheck/TcTyClsDecls.lhs               |   15 +-
 compiler/typecheck/TcValidity.lhs                 | 1093 ++++++++++++++++++++
 compiler/types/CoAxiom.lhs                        |   84 ++-
 compiler/types/Coercion.lhs                       |   37 +-
 compiler/types/FamInstEnv.lhs                     |  184 ++--
 compiler/types/FunDeps.lhs                        |  145 ++--
 compiler/types/OptCoercion.lhs                    |   88 ++-
 compiler/types/TyCon.lhs                          |   10 +-
 compiler/vectorise/Vectorise/Generic/PAMethods.hs |    4 +-
 compiler/vectorise/Vectorise/Generic/PData.hs     |    8 +-
 docs/users_guide/flags.xml                        |    7 +-
 docs/users_guide/ghci.xml                         |   17 +-
 docs/users_guide/glasgow_exts.xml                 |   38 +
 docs/users_guide/packages.xml                     |    4 +-
 docs/users_guide/sooner.xml                       |    2 +-
 ghc.mk                                            |    4 -
 ghc/Main.hs                                       |   10 +-
 libraries/bytestring                              |    2 +-
 libraries/terminfo                                |    2 +-
 mk/config.mk.in                                   |    4 +
 mk/validate-settings.mk                           |    2 +
 rts/Disassembler.c                                |    4 +-
 rts/Interpreter.c                                 |    4 +-
 rts/ghc.mk                                        |    4 +
 rules/build-package-data.mk                       |    7 +
 rules/build-package-way.mk                        |    2 -
 rules/build-package.mk                            |    2 -
 rules/build-prog.mk                               |    2 -
 rules/hi-rule.mk                                  |   46 +-
 rules/hs-suffix-rules-srcdir.mk                   |    2 +
 rules/hs-suffix-rules.mk                          |    6 +
 sync-all                                          |   10 +-
 94 files changed, 2797 insertions(+), 2236 deletions(-)

diff --cc compiler/main/DynFlags.hs
index 05dc14f,4edeb23..77995ae
--- a/compiler/main/DynFlags.hs
+++ b/compiler/main/DynFlags.hs
@@@ -3366,3 -3404,22 +3404,23 @@@ makeDynFlagsConsistent dflag
            platform = targetPlatform dflags
            arch = platformArch platform
            os   = platformOS   platform
+ 
+ -- -----------------------------------------------------------------------------
+ -- SSE
+ 
+ isSse2Enabled :: DynFlags -> Bool
+ isSse2Enabled dflags = isSse4_2Enabled dflags || isSse2Enabled'
+   where
+     isSse2Enabled' = case platformArch (targetPlatform dflags) of
+         ArchX86_64 -> -- SSE2 is fixed on for x86_64.  It would be
+                       -- possible to make it optional, but we'd need to
+                       -- fix at least the foreign call code where the
+                       -- calling convention specifies the use of xmm regs,
+                       -- and possibly other places.
+                       True
+         ArchX86    -> gopt Opt_SSE2 dflags
+         _          -> False
+ 
+ isSse4_2Enabled :: DynFlags -> Bool
+ isSse4_2Enabled dflags = gopt Opt_SSE4_2 dflags
++





More information about the ghc-commits mailing list