Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
| * | | StgCmmUtils no longer needs to include HaskellMachRegs.h | Ian Lynagh | 2012-08-21 | 1 | -1/+0 | |
| | | | ||||||
| * | | Use haveRegBase in StgCmmUtils too | Ian Lynagh | 2012-08-21 | 1 | -13/+13 | |
| | | | ||||||
| * | | Whitespace only in StgCmmUtils | Ian Lynagh | 2012-08-21 | 1 | -200/+194 | |
| | | | ||||||
| * | | CgUtils no longer needs to #include HaskellMachRegs.h | Ian Lynagh | 2012-08-21 | 1 | -1/+0 | |
| | | | ||||||
| * | | Add haveRegBase to CodeGen.Platform | Ian Lynagh | 2012-08-21 | 2 | -16/+31 | |
| | | | ||||||
| * | | Move activeStgRegs into CodeGen.Platform | Ian Lynagh | 2012-08-21 | 16 | -137/+102 | |
| | | | ||||||
| * | | Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghc | Ian Lynagh | 2012-08-21 | 2 | -67/+78 | |
| |\ \ | ||||||
| | * | | fix warning | Simon Marlow | 2012-08-21 | 1 | -1/+0 | |
| | | | | ||||||
| | * | | Annotate code in {-# LINE #-} pragmas as well | Peter Wortmann | 2012-08-21 | 1 | -31/+59 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I suppose this was a good idea for HPC, as it assumed that source code annotations coming from a source file could only talk about the same source file (by how Mix files are saved). I don't see a reason why cost-centres or source annotations would want that kind of behaviour. I introduced a flag for toggling the behaviour per tickish. (plus some minor refactoring, as well as making sure that the same check applies to binary tick boxes, where they had apparently been forgotten.) | |||||
| | * | | Reduce the likelihood of x64/x86-64 changes breaking the build on other ↵ | Erik de Castro Lopo | 2012-08-21 | 1 | -36/+20 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | arches (#7083). Code that needs to differentiate between i386 and x86-64 should now be written as if x86-64 is the default and i386 is the special case. Eg: # if i386_TARGET_ARCH someFuncion = ..... # else someFuncion = ..... # endif | |||||
| * | | | Fix the generation of CallerSaves; fixes #7163 | Ian Lynagh | 2012-08-21 | 12 | -54/+105 | |
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | Simon Marlow spotted that we were #include'ing MachRegs.h several times, but that doesn't work as (a) it uses ifdeffery to avoid being included multiple times, and (b) even if we work around that, then the #define's from previous inclusions are still defined when we #include it again. So we now put the platform code for each platform in a separate .hs file. | |||||
| * | | Fix inverted test for platformUnregisterised (should fix the optllvm breakage) | Simon Marlow | 2012-08-21 | 1 | -2/+2 | |
| | | | ||||||
| * | | remove tabs | Simon Marlow | 2012-08-21 | 1 | -93/+86 | |
| | | | ||||||
| * | | remove tabs | Simon Marlow | 2012-08-21 | 1 | -124/+117 | |
| | | | ||||||
| * | | remove tabs | Simon Marlow | 2012-08-21 | 1 | -52/+45 | |
| | | | ||||||
| * | | Avoid the quadratic append trap in flattenCmmAGraph | Simon Marlow | 2012-08-21 | 1 | -48/+59 | |
| |/ | | | | | | | Fixes a perf problem in perf/compiler/T783 | |||||
| * | When pattern matching against a constructor with equalities, | Simon Peyton Jones | 2012-08-20 | 1 | -4/+6 | |
| | | | | | | | | | | | | require either -XGADTs *or* -XTypeFamilies (rather than only the former) Fixes Trac #7156 | |||||
| * | Allow a vew pattern or bang pattern in a record pattern. | Takano Akio | 2012-08-16 | 1 | -1/+5 | |
| | | | | | | | | | | | | | | e.g. data T = MkT { x,y :: Int } f (MkT { x = !v, y = negate -> w }) = v + w | |||||
| * | Use TcMType.growThetaTyVars (which works) rather than TcSimplify.growPreds ↵ | Simon Peyton Jones | 2012-08-15 | 1 | -26/+14 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (which doesn't) I think this got left behind when we simplified and improved TcSimplify. The effect was that we had a function like class P a b | a -> b class Q b c | b -> c f :: (P a b, Q b c) => a -> a and were were failing to quanitfy over 'c', even though it is (indirectly) determined by 'a'. This make Programatica fail to compile: Trac #7147 | |||||
| * | Test FlexibleInstance not UndecidableInstances in the ambiguity check | Simon Peyton Jones | 2012-08-15 | 1 | -5/+5 | |
| | | | | | | | | Fixes Trac #7131 | |||||
| * | Require DataKinds for promoted list/tuple syntax in types | Simon Peyton Jones | 2012-08-15 | 3 | -15/+25 | |
| | | | | | | | | Fixes Trac #7151 | |||||
| * | Put kind variables before type variables when quantifying | Simon Peyton Jones | 2012-08-15 | 1 | -3/+3 | |
| | | | | | | | | | | | | This is a pretty egregious error; I'm surprised it has lasted so long! Fixes Trac #7124 | |||||
| * | Merge branch 'master' of darcs.haskell.org:/home/darcs/ghc | Simon Peyton Jones | 2012-08-15 | 3 | -7/+14 | |
| |\ | ||||||
| | * | Fix environment update for type instance declarations in GHCi (#7117) | Paolo Capriotti | 2012-08-13 | 1 | -1/+1 | |
| | | | | | | | | | | | | Patch by Patrick Palka <patrick@parcs.ath.cx> | |||||
| | * | Fix ambiguous flag resolution (#7138) | Paolo Capriotti | 2012-08-13 | 1 | -5/+7 | |
| | | | | | | | | | | | | | | | | | | | | | Pick longest flag when more than one matches in findArg. This fixes an issue where -ignore-dot-ghci wasn't honored, because the flag was parsed as "-i gnore-dot-ghci". | |||||
| | * | Don't pass -Wimplicit to the C++ compiler. | Austin Seipp | 2012-08-13 | 1 | -1/+6 | |
| | | | | | | | | | | | | | | | | | | | | | Supresses an ugly warning from gcc 4.6+ saying this is a C/ObjC flag only. Signed-off-by: Austin Seipp <mad.one@gmail.com> | |||||
| * | | Fix Trac #7145, by recording uses of constructor "children" in export lists | Simon Peyton Jones | 2012-08-15 | 1 | -4/+10 | |
| | | | ||||||
| * | | Comments about shadowing | Simon Peyton Jones | 2012-08-15 | 1 | -0/+13 | |
| | | | ||||||
| * | | TH: Pragmas refactoring. | Mikhail Vorozhtsov | 2012-08-15 | 3 | -131/+216 | |
| | | | | | | | | | | | | Also adds RULES and 'SPECIALIZE instance' support. | |||||
| * | | Better debug printing | Simon Peyton Jones | 2012-08-14 | 1 | -1/+1 | |
| | | | ||||||
| * | | Comments | Simon Peyton Jones | 2012-08-14 | 2 | -3/+5 | |
| | | | ||||||
| * | | Fix Trac #7128, by zonking kind varaibles more assiduously when typechecking ↵ | Simon Peyton Jones | 2012-08-14 | 2 | -5/+16 | |
| |/ | | | | | | | a class declaration | |||||
| * | Fix build failure on OS X (#7119) | Simon Marlow | 2012-08-09 | 1 | -1/+2 | |
| | | | | | | | | | | When refactoring this recently I accidentally put the dead-strip-preventer symbol (only used on OS X) in the wrong section. | |||||
| * | Remove uses of fixC from the codeGen, and make the FCode monad strict | Simon Marlow | 2012-08-09 | 6 | -204/+222 | |
| | | ||||||
| * | Only run the second round of control-flow optimisations when -O is on | Simon Marlow | 2012-08-09 | 1 | -2/+11 | |
| | | ||||||
| * | a couple of small optimisations | Simon Marlow | 2012-08-09 | 1 | -7/+6 | |
| | | ||||||
| * | fix warning | Simon Marlow | 2012-08-07 | 1 | -1/+1 | |
| | | ||||||
| * | maybeInvertComparison: remove floating-point comparisons | Simon Marlow | 2012-08-07 | 1 | -6/+0 | |
| | | | | | | | | See comments. | |||||
| * | entryHeapCheck: fix calls to stg_gc_fun and stg_gc_enter_1 | Simon Marlow | 2012-08-07 | 2 | -23/+28 | |
| | | | | | | | | | | | | | | | | | | We weren't passing the arguments correctly to the GC functions, which usually happened to work because the arguments were in the right registers already. After this fix the profiling tests go through with the new code generator. | |||||
| * | Small optimisation | Simon Marlow | 2012-08-07 | 1 | -5/+6 | |
| | | | | | | | | | | | | When calling newCAF, refer to the closure using its LocalReg rather than R1. Using R1 here was preventing the register allocator from coalescing the assignment x=R1 at the beginning of the function. | |||||
| * | fix a warning | Simon Marlow | 2012-08-07 | 1 | -1/+1 | |
| | | ||||||
| * | Eliminate "r = r" in mkAssign | Simon Marlow | 2012-08-07 | 1 | -0/+1 | |
| | | ||||||
| * | Node calling convs should use R1 even if it isn't a register | Simon Marlow | 2012-08-07 | 1 | -28/+20 | |
| | | ||||||
| * | Add missing cases in hand-coded instance Eq GlobalReg | Simon Marlow | 2012-08-07 | 1 | -0/+2 | |
| | | | | | | | | aargh. | |||||
| * | fix maybeSaveCostCentre: cases were reversed | Simon Marlow | 2012-08-07 | 1 | -2/+2 | |
| | | ||||||
| * | Fix update frames for profiling | Simon Marlow | 2012-08-07 | 2 | -15/+19 | |
| | | ||||||
| * | Cleanup and fixes to profiling | Simon Marlow | 2012-08-07 | 3 | -27/+33 | |
| | | ||||||
| * | A closure with void args only should be a function, not a thunk | Simon Marlow | 2012-08-07 | 1 | -4/+3 | |
| | | ||||||
| * | Make lint check for undefined variables in Cmm | Simon Marlow | 2012-08-07 | 1 | -1/+5 | |
| | | ||||||
| * | Generate one fewer temps per heap allocation | Simon Marlow | 2012-08-07 | 4 | -40/+28 | |
| | | | | | | | | | | This saves compile time and can make a big difference in some pathological cases (T4801) |