summaryrefslogtreecommitdiff
path: root/compiler
Commit message (Collapse)AuthorAgeFilesLines
* Add win32 datalayout support to llvm backendDavid Terei2010-06-181-3/+6
|
* Remove unused 'ddump-opt-llvm' flagDavid Terei2010-06-181-3/+0
|
* generate "movl lbl(%reg1), %reg2" instructions, better codegen for -fPICSimon Marlow2010-06-181-2/+2
|
* joinToTargets: fix a case of panic "handleComponent cyclic"Simon Marlow2010-06-181-1/+2
|
* comment typoSimon Marlow2010-06-181-1/+1
|
* Add support of TNTC to llvm backendDavid Terei2010-06-1811-263/+296
| | | | | | | We do this through a gnu as feature called subsections, where you can put data/code into a numbered subsection and those subsections will be joined together in descending order by gas at compile time.
* Don't automatically insert a -fvia-C flag in an unregisterised compilerIan Lynagh2010-06-171-2/+1
| | | | | The default object mode is already HscC, so it's unnecessary, and -fvia-C generates a deprecated flag warning now.
* picCCOpts: -dynamic should not entail -optc-fPICSimon Marlow2010-06-171-1/+1
|
* pick up changes to $(GhcStage1HcOpts) without re-configuring the ghc packageSimon Marlow2010-06-161-4/+5
|
* fix -fforce-recomp setting: module is PrimOp, not PrimOpsSimon Marlow2010-05-071-1/+1
|
* fix #3822: desugaring case command in arrow notationRoss Paterson2010-06-151-17/+11
| | | | | | Get the set of free variables from the generated case expression: includes variables in the guards and decls that were missed before, and is also a bit simpler.
* Deprecate the -fvia-C flag; trac #3232Ian Lynagh2010-06-151-2/+4
|
* Add new LLVM code generator to GHC. (Version 2)David Terei2010-06-1530-224/+3394
| | | | | | | | | | | | | | | | | | This was done as part of an honours thesis at UNSW, the paper describing the work and results can be found at: http://www.cse.unsw.edu.au/~pls/thesis/davidt-thesis.pdf A Homepage for the backend can be found at: http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/Backends/LLVM Quick summary of performance is that for the 'nofib' benchmark suite, runtimes are within 5% slower than the NCG and generally better than the C code generator. For some code though, such as the DPH projects benchmark, the LLVM code generator outperforms the NCG and C code generator by about a 25% reduction in run times.
* Fix Trac #4127: build GlobalRdrEnv in GHCi correctlysimonpj@microsoft.com2010-06-153-21/+18
| | | | | | | GHCi was building its GlobalRdrEnv wrongly, so that the gre_par field was bogus. That in turn fooled the renamer. The fix is easy: use the right function! Namely, call RnNames.gresFromAvail rather than availsToNameSet.
* Comments, and improvement to pretty-printing of HsGroupsimonpj@microsoft.com2010-06-152-11/+20
|
* Don't reverse bindings in rnMethodBinds (fix Trac #4126)simonpj@microsoft.com2010-06-141-4/+5
|
* Fix Trac #4120: generate a proper coercion when unifying forall typessimonpj@microsoft.com2010-06-141-3/+8
| | | | | This was just a blatant omission, which hasn't come up before. Easily fixed, happily.
* Use mkFunTy to ensure that invariants are respectedsimonpj@microsoft.com2010-06-141-1/+1
|
* Remove redundant debug codesimonpj@microsoft.com2010-06-011-5/+1
|
* Fix Trac #4099: better error message for type functionssimonpj@microsoft.com2010-05-311-14/+9
| | | | | | Now we only want about "T is a type function and might not be injective" when matchin (T x) against (T y), which is the case that is really confusing.
* Gruesome fix in CorePrep to fix embarassing Trac #4121simonpj@microsoft.com2010-06-141-42/+122
| | | | | | | | | | | | | | | | | This is a long-lurking bug that has been flushed into the open by other arity-related changes. There's a long comment Note [CafInfo and floating] to explain. I really hate the contortions we have to do through to keep correct CafRef information on top-level binders. The Right Thing, I believe, is to compute CAF and arity information later, and merge it into the interface-file information when the latter is generated. But for now, this hackily fixes the problem.
* Fix a bug in CorePrep that meant output invariants not satisfiedsimonpj@microsoft.com2010-05-311-20/+17
| | | | | | In cpePair I did things in the wrong order so that something that should have been a CprRhs wasn't. Result: a crash in CoreToStg. Fix is easy, and I added more informative type signatures too.
* Robustify the treatement of DFunUnfoldingsimonpj@microsoft.com2010-05-3112-47/+96
| | | | | | | | | | | | See Note [DFun unfoldings] in CoreSyn. The issue here is that you can't tell how many dictionary arguments a DFun needs just from looking at the Arity of the DFun Id: if the dictionary is represented by a newtype the arity might include the dictionary and value arguments of the (single) method. So we need to record the number of arguments need by the DFun in the DFunUnfolding itself. Details in Note [DFun unfoldings] in CoreSyn
* Fix spelling in commentsimonpj@microsoft.com2010-06-141-1/+1
|
* Fix printing of splices; part of #4124Ian Lynagh2010-06-131-2/+10
| | | | | Just putting parens around non-atomic expressions isn't sufficient for splices, as only the $x and $(e) forms are valid input.
* Whitespace onlyIan Lynagh2010-06-121-73/+73
|
* Whitespace onlyIan Lynagh2010-06-121-554/+554
|
* Track changes to DPH libsRoman Leshchinskiy2010-06-071-11/+12
|
* Track changes to DPH libsRoman Leshchinskiy2010-06-071-1/+6
|
* Don't use unnecessary parens when printing types (Fix Trac 4107)simonpj@microsoft.com2010-06-042-5/+23
| | | | | | f :: Eq a => a -> a rather than f :: (Eq a) => a -> a
* Track DPH library changesRoman Leshchinskiy2010-06-041-0/+2
|
* __stg_EAGER_BLACKHOLE_INFO -> __stg_EAGER_BLACKHOLE_info (#4106)Simon Marlow2010-06-021-1/+1
|
* Use UserInterrupt rather than our own Interrupted exception (#4100)Simon Marlow2010-06-023-9/+5
|
* Add the global package DB to ghc --info (#4103)Simon Marlow2010-06-021-1/+2
|
* PIC support for PowerPCpho@cielonegro.org2010-05-081-0/+5
| | | | | PPC.CodeGen.getRegister was not properly handling PicBaseReg. It seems working with this patch, but I'm not sure this change is correct.
* Vectoriser: only treat a function as scalar if it actually computes somethingRoman Leshchinskiy2010-06-011-1/+10
|
* If you say 'make' or 'make stage=2' here, pretend we're in the ghc dirSimon Marlow2010-05-251-0/+8
|
* Refactor pretty printing of TyThings to fix Trac #4015simonpj@microsoft.com2010-05-251-72/+73
|
* Improve printing of TyThings; fixes Trac #4087simonpj@microsoft.com2010-05-252-16/+10
|
* Spelling in commentssimonpj@microsoft.com2010-05-251-1/+1
|
* Refactor (again) the handling of default methodssimonpj@microsoft.com2010-05-2514-116/+136
| | | | | | | | | | | | | | | | | | This patch fixes Trac #4056, by a) tidying up the treatment of default method names b) removing the 'module' argument to newTopSrcBinder The details aren't that interesting, but the result is much tidier. The original bug was a 'nameModule' panic, caused by trying to find the module of a top-level name. But TH quotes generate Internal top-level names that don't have a module, and that is generally a good thing. Fixing that in turn led to the default-method refactoring, which also makes the Name for a default method be handled in the same way as other derived names, generated in BuildTyCl via a call newImplicitBinder. Hurrah.
* Don't do SpecConstr on NOINLINE things (Trac #4064)simonpj@microsoft.com2010-05-251-1/+9
| | | | | | | | | | Since the RULE from specialising gets the same Activation as the inlining for the Id itself there's no point in specialising a NOINLINE thing, because the rule will be permanently switched off. See Note [Transfer activation] in SpecConstr and Note [Auto-specialisation and RULES] in Specialise.
* the 'stage=0' trick to disable all compiler builds stopped working; fix itSimon Marlow2010-05-201-8/+7
|
* Comments and formatting onlybenl@ouroborus.net2010-05-241-243/+344
|
* Core prettyprinter fixes. Patch from Tim Chevalier. Fixes #4085Ian Lynagh2010-05-221-3/+7
|
* Stop passing -Wl,-macosx_version_min to gccIan Lynagh2010-05-201-5/+1
| | | | | | | | Fixes a build failure on OS X 10.6. When linking rts/dist/build/libHSrts-ghc6.13.20100519.dylib we got ld: symbol dyld_stub_binding_helper not defined (usually in crt1.o/dylib1.o/bundle1.o) collect2: ld returned 1 exit status
* Fix package shadowing order (#4072)Simon Marlow2010-05-191-8/+17
| | | | | | | | | | Later packages are supposed to shadow earlier ones in the stack, unless the ordering is overriden with -package-id flags. Unfortunately an earlier fix for something else had sorted the list of packages so that it was in lexicographic order by installedPackageId, and sadly our test (cabal/shadow) didn't pick this up because the lexicographic ordering happened to work for the test. I've now fixed the test so it tries both orderings.
* Change another / to </> to avoid building paths containing \/Ian Lynagh2010-05-181-1/+1
| | | | This will hopefully fix #2889.
* Undo part of #4003 patchSimon Marlow2010-05-131-0/+7
| | | | | We still need the workaround for when compiling HEAD with 6.12.2
* looksLikeModuleName: allow apostrophe in module names (#4051)Simon Marlow2010-05-101-1/+1
|