Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Fixed typo | Daniel Fischer | 2011-10-04 | 1 | -1/+1 | |
| | ||||||
* | Fix validate with old bootstrapping compilers | Ian Lynagh | 2011-10-02 | 1 | -0/+5 | |
| | | | | | They weren't smart enough to see our GADT pattern matches are complete, so gave a warning. | |||||
* | Replace a -w flag with the more specific -fno-warn-deprecations | Ian Lynagh | 2011-10-02 | 1 | -1/+1 | |
| | ||||||
* | Fix warnings in cmm/CLabel.hs | Ian Lynagh | 2011-10-02 | 1 | -18/+59 | |
| | ||||||
* | Whitespace only in cmm/CLabel.hs | Ian Lynagh | 2011-10-02 | 1 | -325/+325 | |
| | ||||||
* | Remove remaining CPP from cmm/CLabel.hs | Ian Lynagh | 2011-10-02 | 1 | -26/+15 | |
| | ||||||
* | More CPP removal: pprDynamicLinkerAsmLabel in CLabel | Ian Lynagh | 2011-10-02 | 11 | -488/+482 | |
| | | | | And some knock-on changes | |||||
* | Some CPP removal | Ian Lynagh | 2011-10-02 | 1 | -24/+31 | |
| | ||||||
* | disable a debug trace | Simon Marlow | 2011-08-25 | 1 | -1/+2 | |
| | ||||||
* | refactoring and fixing the stage 2 compilation | Simon Marlow | 2011-08-25 | 3 | -41/+42 | |
| | ||||||
* | eliminate ConInfo | Simon Marlow | 2011-08-25 | 1 | -1/+5 | |
| | ||||||
* | Remove another use of mkConInfo | Simon Marlow | 2011-08-25 | 1 | -16/+37 | |
| | ||||||
* | Refactoring: reduce usage of mkConInfo, with a view to killing it | Simon Marlow | 2011-08-25 | 1 | -16/+47 | |
| | ||||||
* | rewrite branchChainElim; other refactoring in CmmContFlowOpt | Simon Marlow | 2011-08-25 | 2 | -133/+145 | |
| | ||||||
* | add note about branchChainElim | Simon Marlow | 2011-08-25 | 1 | -0/+4 | |
| | ||||||
* | use qualified names for clarity | Simon Marlow | 2011-08-25 | 1 | -4/+4 | |
| | ||||||
* | Renaming only | Simon Peyton Jones | 2011-08-25 | 14 | -92/+100 | |
| | | | | | CmmTop -> CmmDecl CmmPgm -> CmmGroup | |||||
* | fix type tags for RTS-defined info tables | Simon Marlow | 2011-08-25 | 3 | -59/+65 | |
| | ||||||
* | More refactoring (CgRep) | Simon Peyton Jones | 2011-08-25 | 4 | -1/+432 | |
| | | | | | | * Move CgRep (private to old codgen) from SMRep to ClosureInfo * Avoid using CgRep in new codegen * Move SMRep and Bitmap from codeGen/ to cmm/ | |||||
* | Snapshot of codegen refactoring to share with simonpj | Simon Marlow | 2011-08-25 | 25 | -746/+960 | |
| | ||||||
* | Use double method, not the hacked rational method. | David Terei | 2011-08-24 | 1 | -1/+2 | |
| | ||||||
* | More cmm-notes | Simon Peyton Jones | 2011-08-22 | 1 | -14/+36 | |
| | ||||||
* | 'Fix' a validation problem when bootstrap is 7.2.1 | David Terei | 2011-08-19 | 3 | -3/+3 | |
| | | | | | | Problem is with GADTs in new code gen and incomplete pattern warnings. Just disabled the warning really and created #5424 to track an actual fix. | |||||
* | Add popCnt# primop | Johan Tibell | 2011-08-16 | 1 | -0/+2 | |
| | ||||||
* | fix some #ifdefs that were making compilation with 7.2.1 fail - the | Simon Marlow | 2011-08-14 | 1 | -1/+1 | |
| | | | | safified array package is not in 7.2.1 | |||||
* | Update to work with Alex 3.0: basically disabling Alex's new Unicode | Simon Marlow | 2011-08-05 | 1 | -3/+14 | |
| | | | | | | support because we have our own, and defining alexGetByte instead of alexGetChar (actually we also define alexGetChar, for backwards compatibility). | |||||
* | Fix import DEPRECATE failures for castSTUArray | Simon Peyton Jones | 2011-08-02 | 1 | -0/+7 | |
| | ||||||
* | Merge branch 'master' of http://darcs.haskell.org/ghc | Simon Peyton Jones | 2011-07-29 | 5 | -89/+53 | |
|\ | ||||||
| * | We no longer need to mark Entry as local or not | Max Bolingbroke | 2011-07-29 | 1 | -6/+5 | |
| | | ||||||
| * | Remove last use of entryLblToInfoLbl | Max Bolingbroke | 2011-07-29 | 2 | -19/+12 | |
| | | ||||||
| * | Common up uses of entryLblToInfoLbl in CmmProcPoint | Max Bolingbroke | 2011-07-29 | 1 | -20/+21 | |
| | | ||||||
| * | Eliminate cvtToSRTLbl (dead code) | Max Bolingbroke | 2011-07-28 | 1 | -9/+1 | |
| | | ||||||
| * | Eliminate localiseLabel | Max Bolingbroke | 2011-07-28 | 1 | -6/+0 | |
| | | ||||||
| * | Eliminate infoLblToEntryLbl | Max Bolingbroke | 2011-07-28 | 1 | -12/+3 | |
| | | ||||||
| * | Put the info CLabel in CmmInfoTable rather than a localness flag, tidy up ↵ | Max Bolingbroke | 2011-07-28 | 4 | -22/+16 | |
| | | | | | | | | some info<->entry conversions | |||||
* | | Comments about _info and _closure labels | Simon Peyton Jones | 2011-07-29 | 1 | -0/+27 | |
|/ | ||||||
* | White space only | Simon Peyton Jones | 2011-07-27 | 1 | -2/+4 | |
| | ||||||
* | More work towards cross-compilation | Ian Lynagh | 2011-07-15 | 9 | -89/+109 | |
| | | | | | | | | | | | | There's now a variant of the Outputable class that knows what platform we're targetting: class PlatformOutputable a where pprPlatform :: Platform -> a -> SDoc pprPlatformPrec :: Platform -> Rational -> a -> SDoc and various instances have had to be converted to use that class, and we pass Platform around accordingly. | |||||
* | Remove 'threadsafe' FFI imports | Ian Lynagh | 2011-07-13 | 1 | -4/+2 | |
| | | | | They've been deprecated since GHC 6.12. | |||||
* | Don't export the _info symbol for the data constructor worker bindings | Max Bolingbroke | 2011-07-07 | 7 | -33/+49 | |
| | | | | | | | This is safe because GHC never generates a fast call to a data constructor worker: if the call is seen statically it will be eta-expanded and the allocation of the data will be inlined. We still need to export the _closure in case the constructor is used in an unapplied fashion. | |||||
* | Refactoring: explicitly mark whether we have an info table in RawCmm | Max Bolingbroke | 2011-07-06 | 5 | -18/+20 | |
| | | | | | | | | | | | | I introduced this to support explicitly recording the info table label in RawCmm for another patch I am working on, but it turned out to lead to significant simplification in those parts of the compiler that consume RawCmm. Now, instead of lots of tests for null [CmmStatic] we have a simple test of a Maybe, and have reduced the number of guys that need to know how to convert entry->info labels by a TON. There are only 3 callers of that function now! | |||||
* | Don't export SRT labels | Max Bolingbroke | 2011-07-05 | 1 | -1/+5 | |
| | ||||||
* | Remove the unused CmmAlign and CmmDataLabel from CmmStatic | Max Bolingbroke | 2011-07-05 | 4 | -19/+8 | |
| | ||||||
* | Refactoring: use a structured CmmStatics type rather than [CmmStatic] | Max Bolingbroke | 2011-07-05 | 7 | -35/+36 | |
| | | | | | | | | | | | | | | | | | | I observed that the [CmmStatics] within CmmData uses the list in a very stylised way. The first item in the list is almost invariably a CmmDataLabel. Many parts of the compiler pattern match on this list and fail if this is not true. This patch makes the invariant explicit by introducing a structured type CmmStatics that holds the label and the list of remaining [CmmStatic]. There is one wrinkle: the x86 backend sometimes wants to output an alignment directive just before the label. However, this can be easily fixed up by parameterising the native codegen over the type of CmmStatics (though the GenCmmTop parameterisation) and using a pair (Alignment, CmmStatics) there instead. As a result, I think we will be able to remove CmmAlign and CmmDataLabel from the CmmStatic data type, thus nuking a lot of code and failing pattern matches. This change will come as part of my next patch. | |||||
* | comment updates | Simon Marlow | 2011-06-28 | 4 | -43/+17 | |
| | ||||||
* | Fix warnings in PprC | David Terei | 2011-06-23 | 1 | -40/+48 | |
| | ||||||
* | Add support for new mem primops to C backend | David Terei | 2011-06-23 | 1 | -9/+9 | |
| | ||||||
* | Iteratively try to fold expressions before constant propagation | Johan Tibell | 2011-06-23 | 1 | -2/+5 | |
| | | | | | | | | | | | | | Before this change the constant expression _ccI::I64 = (16 >> 7) + 1; wouldn't be propagated, as it wouldn't be completely folded. This meant that this expression wouldn't be unrolled thawArray# arr# 0# 16# s# The new code generator already does this correctly. | |||||
* | Merge branch 'master' of http://darcs.haskell.org/ghc | Ian Lynagh | 2011-06-17 | 6 | -274/+308 | |
|\ | ||||||
| * | Port MachOp folding to new code generator. | Edward Z. Yang | 2011-06-17 | 3 | -180/+259 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Rewrote cmmMachOpFold to cmmMachOpFoldM, which returns Nothing if no folding took place. * Wrote some generic mapping functions which take functions of form 'a -> Maybe a' and are smart about sharing. * Split up optimizations from PIC and PPC work in the native codegen, so they'll be easier to turn off later (they are not currently being turned off, however.) * Whitespace fixes! ToDo: Turn off MachOp folding when new codegenerator is being used. Signed-off-by: Edward Z. Yang <ezyang@mit.edu> |