summaryrefslogtreecommitdiff
path: root/ghc/compiler/codeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* [project @ 1999-03-26 10:29:02 by simonm]simonm1999-03-261-3/+6
| | | | More profiling fixes.
* [project @ 1999-03-25 13:13:51 by simonm]simonm1999-03-251-3/+3
| | | | | | | | | | | Profiling fixes. - top-level CAF CCSs now *append* themselves to the current CCS when called. - remove DICT stuff. - fixes to the auto-scc annotating in the desugarer.
* [project @ 1999-03-22 16:58:19 by simonm]simonm1999-03-222-11/+15
| | | | Fix cost centres on PAPs.
* [project @ 1999-03-22 16:57:10 by simonm]simonm1999-03-222-4/+6
| | | | Previous commit broke let-no-escape. Fix it up again.
* [project @ 1999-03-22 12:59:32 by simonm]simonm1999-03-221-22/+27
| | | | Fix cost centre restores for unboxed tuple alternatives.
* [project @ 1999-03-11 11:32:22 by simonm]simonm1999-03-115-79/+114
| | | | | Save a few bytes by ommitting the static link field on closures with an empty SRT.
* [project @ 1999-03-08 17:05:41 by simonm]simonm1999-03-081-2/+2
| | | | Fix bug in mkRegLiveness causing bogus heap checks to be generated on the Sparc.
* [project @ 1999-03-04 17:52:08 by simonm]simonm1999-03-041-7/+13
| | | | | | Top-level non-updatable thunks get closure type FUN_STATIC, not THUNK_STATIC. (helps the garbage collector decide where the static link field should be).
* [project @ 1999-03-02 16:09:28 by simonm]simonm1999-03-021-6/+5
| | | | Add missing default case to mkRegLiveness.
* [project @ 1999-03-02 14:34:33 by sof]sof1999-03-024-69/+36
| | | | | | | | | | | | | - import list tweaks - moved the code that decides that a StgCon really shouldn't be mapped to a static constructor but an updateable thunk if it contains lit-lits from the codegen into the CoreToStg translation. Added an extra case to this code to deal with StgCon's that contain references to values that reside in a DLL, where we also have to opt for an updateable thunk instead of a static constructor. Only applies when compiling on/for Win32 platforms.
* [project @ 1999-03-01 17:41:21 by simonm]simonm1999-03-011-16/+61
| | | | Some native codegen updates.
* [project @ 1999-01-27 16:54:18 by simonpj]simonpj1999-01-271-4/+7
| | | | Undo bogus fix to CgCase.lhs
* [project @ 1999-01-27 14:51:14 by simonpj]simonpj1999-01-272-11/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Finally! This commits the ongoing saga of Simon's hygiene sweep FUNCTIONALITY ~~~~~~~~~~~~~ a) The 'unused variable' warnings from the renamer work. b) Better error messages here and there, esp type checker c) Fixities for Haskell 98 (maybe I'd done that before) d) Lazy reporting of name clashes for Haskell 98 (ditto) HYGIENE ~~~~~~~ a) type OccName has its own module. OccNames are represented by a single FastString, not three as in the last round. This string is held in Z-encoded form; a decoding function decodes for printing in user error messages. There's a nice tight encoding for (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,) b) type Module is a proper ADT, in module OccName c) type RdrName is a proper ADT, in its own module d) type Name has a new, somwhat tidier, representation e) much grunting in the renamer to get Provenances right. This makes error messages look better (no spurious qualifiers)
* [project @ 1999-01-26 16:16:19 by simonm]simonm1999-01-263-26/+57
| | | | | - Add specialised closure types (CONSTR_p_n, THUNK_p_n, FUN_p_n) - Add -T<n> RTS flag to specify the number of steps in younger generations.
* [project @ 1999-01-22 10:45:21 by simonm]simonm1999-01-221-9/+12
| | | | Fix more uses of [n..m]
* [project @ 1999-01-22 10:10:41 by simonm]simonm1999-01-221-4/+5
| | | | Fix two uses of [ e1 .. e2 ] in light of the new Haskell 98 semantics.
* [project @ 1999-01-21 10:31:41 by simonm]simonm1999-01-214-34/+17
| | | | | Resurrect ticky-ticky profiling. Not quite polished yet, but it compiles and produces some reasonable-looking stats.
* [project @ 1999-01-18 14:31:50 by sof]sof1999-01-181-7/+6
| | | | long long support: cleared up Real vs. virtual regs. confusion (I hope!)
* [project @ 1999-01-15 15:57:33 by simonm]simonm1999-01-151-3/+3
| | | | Haskell 98 updates.
* [project @ 1999-01-14 17:58:41 by sof]sof1999-01-141-11/+26
| | | | | | | | | | | | | | | | | | | | | | | | Assorted minor Haskell 98 changes: * Maximal munch rule for "--" comments * _ as lower-case letter, "_" is a reserved id. Prefixing unused variable names in patterns with '_' causes the renamer not to report such names as being unused. * allow empty decls * comprehensions are now list comprehensions, not monadic. * use Monad.fail to signal pattern matching errors within do expressions. * remove record punning. * empty contexts are now legal (go wild!) * allow records with no fields * allow newtypes with a labelled field * default default is now (Integer, Double) * turn off defaulting mechanism for args & res to a _ccall_. * allow LHSs of the form (a -.- b) x = ... * Main.main can now have type (IO a) * nuked Void (and its use in the compiler sources.) * deriving machinery for Enum now also generate 'succ' and 'pred' method bindings.
* [project @ 1999-01-06 15:55:03 by simonm]simonm1999-01-061-2/+3
| | | | Sort unboxed slots - part of the fix for large bitmaps.
* [project @ 1999-01-06 11:35:27 by simonm]simonm1999-01-061-2/+2
| | | | trim import
* [project @ 1998-12-22 18:03:27 by simonm]simonm1998-12-221-4/+5
| | | | Another fix for getScrutineeTyCon: ignore Fun tycons.
* [project @ 1998-12-22 12:55:54 by simonm]simonm1998-12-222-17/+24
| | | | | | splitAlgTyConAppThroughNewTypes becomes splitTyConAppThroughNewTypes (i.e. it handles primitive types in addition to other TyCons). This enables case-of-case-of-primop to compile correctly.
* [project @ 1998-12-18 17:40:31 by simonpj]simonpj1998-12-1815-71/+61
| | | | | | | | | | | | | | | | | | | | | Another big commit from Simon. Actually, the last one didn't all go into the main trunk; because of a CVS glitch it ended up in the wrong branch. So this commit includes: * Scoped type variables * Warnings for unused variables should work now (they didn't before) * Simplifier improvements: - Much better treatment of strict arguments - Better treatment of bottoming Ids - No need for w/w split for fns that are merely strict - Fewer iterations needed, I hope * Less gratuitous renaming in interface files and abs C * OccName is a separate module, and is an abstract data type I think the whole Prelude and Exts libraries compile correctly. Something isn't quite right about typechecking existentials though.
* [project @ 1998-12-03 17:23:30 by simonm]simonm1998-12-031-6/+21
| | | | | | Inline PrimOps (inc. _c{call,asm}_GC_): load the arguments into temporaries early, just in case one of the arguments is in the spot on the stack where we want to push the return address.
* [project @ 1998-12-02 13:17:09 by simonm]simonm1998-12-0226-3944/+3045
| | | | Move 4.01 onto the main trunk.
* [project @ 1998-08-14 11:50:58 by sof]sof1998-08-144-4/+5
| | | | Reflect CCallOp change
* [project @ 1998-08-14 11:50:26 by sof]sof1998-08-141-13/+23
| | | | assignRegs: Extended to deal with LongRegs
* [project @ 1998-06-01 12:27:37 by sof]sof1998-06-011-0/+4
| | | | fun_result_ty: added extra alt. to catch&report pattern matching failures
* [project @ 1998-05-26 13:54:04 by simonm]simonm1998-05-261-2/+0
| | | | - remove some debugging code that crept in with the last commit.
* [project @ 1998-05-22 15:23:11 by simonm]simonm1998-05-221-0/+2
| | | | | | | | | | | | | Add NOINLINE pragma. - add new type of inline info: IDontWantToBeINLINEd - hopefully get the interactions between IMustNotBeINLINEd (which is used by the simplifier to ensure termination when simplifying recursive binding groups) and IDontWantToBeINLINEd. - no need to pass NOINLINE across modules, we just make sure that any function marked as NOLINE doesn't get an unfolding in the interface.
* [project @ 1998-03-19 23:54:49 by simonpj]simonpj1998-03-192-46/+4
| | | | Reorganisation of Id, IdInfo. Remove StdIdInfo, PragmaInfo; add basicTypes/MkId.lhs
* [project @ 1998-02-23 13:01:32 by simonm]simonm1998-02-233-10/+6
| | | | | | | | | Fix CharLike and IntLike support: - rename maybeCharLikeTyCon to maybeCharLikeCon - rename maybeIntLikeTyCon to maybeIntLikeCon and make them return Bool instead of (Maybe TyCon).
* [project @ 1998-02-10 14:15:51 by simonpj]simonpj1998-02-102-41/+37
| | | | Several small fixes to multi-param type classes
* [project @ 1998-01-09 15:46:56 by simonm]simonm1998-01-091-0/+2
| | | | protect an import with #ifdef DEBUG.
* [project @ 1998-01-08 18:03:08 by simonm]simonm1998-01-0820-296/+184
| | | | | | | | | | | | | | | | | | | The Great Multi-Parameter Type Classes Merge. Notes from Simon (abridged): * Multi-parameter type classes are fully implemented. * Error messages from the type checker should be noticeably improved * Warnings for unused bindings (-fwarn-unused-names) * many other minor bug fixes. Internally there are the following changes * Removal of Haskell 1.2 compatibility. * Dramatic clean-up of the PprStyle stuff. * The type Type has been substantially changed. * The dictionary for each class is represented by a new data type for that purpose, rather than by a tuple.
* [project @ 1997-11-25 18:00:56 by sof]sof1997-11-254-27/+37
| | | | Move StableLoc (and assoc. access functions) from CgBindery to CgMonad. Done to avoid having to give the home of Maybe in CgBindery.hi-boot.
* [project @ 1997-10-23 18:26:26 by sof]sof1997-10-231-1/+1
| | | | One square bracket too many
* [project @ 1997-10-19 21:48:43 by sof]sof1997-10-191-10/+5
| | | | Removed use of opt_CompilingGhcInternals
* [project @ 1997-09-03 23:55:35 by sof]sof1997-09-031-176/+0
| | | | not used
* [project @ 1997-08-02 21:27:13 by sof]sof1997-08-021-1/+6
| | | | Re-export FCode(..), and StgBinderInfo&UpdateFlag to close up interface
* [project @ 1997-07-26 09:49:29 by sof]sof1997-07-261-1/+3
| | | | imports changed
* [project @ 1997-07-25 23:12:22 by sof]sof1997-07-252-15/+10
| | | | wibble
* [project @ 1997-07-05 03:02:04 by sof]sof1997-07-052-11/+21
| | | | Changes through ID4
* [project @ 1997-06-20 00:33:36 by simonpj]simonpj1997-06-202-4/+2
| | | | More small changes to 2.04
* [project @ 1997-06-05 21:31:08 by sof]sof1997-06-052-10/+0
| | | | not used anymore
* [project @ 1997-06-05 21:30:48 by sof]sof1997-06-051-7/+0
| | | | Not used anymore
* [project @ 1997-06-05 21:18:40 by sof]sof1997-06-051-3/+2
| | | | tidied up
* [project @ 1997-06-05 21:15:00 by sof]sof1997-06-056-2/+21
| | | | import updates