- Apr 27, 1999
-
-
Keith Wansbrough authored
glasgow-haskell-{bugs,users} has moved.
-
Simon Marlow authored
unboxed 1-tuples are legal.
-
Simon Marlow authored
Mark PrimOp arguments as lazy. This stops the simplifier throwing away cases, and is consistent with the way applications work. We could probably do better by using the information from primOpStrictness.
-
Simon Marlow authored
off-by-one in folding of tagToEnum#.
-
Simon Marlow authored
deriving fixes.
-
Simon Marlow authored
indexArray# changes.
-
Simon Marlow authored
indexArray# now returns an unboxed 1-tuple.
-
Julian Seward authored
Firstified a few common fns for a modest performance gain, ie, elem = any . (==) ===> directly recursive version.
-
Julian Seward authored
Further fixes to make -DDEBUG work right from mk/build.mk.
-
Simon Marlow authored
- Fix the tagToEnum# support in the code generator - Make isDeadBinder work on case binders - Fix compiling of case x `op` y of z { True -> ... z ... False -> ... z ... - Clean up CgCase a little. - Don't generate specialised tag2con functions for derived Enum/Ix instances; use tagToEnum# instead.
-
Simon Marlow authored
Remove declaration of PrelBase_Bool_closure_tbl.
-
Simon Marlow authored
Add macros for declaring closure tables.
-
Simon Marlow authored
Remove PrelBase_Bool_closure_tbl; this is now generated automatically.
-
Julian Seward authored
Correctify usage of -DDEBUG and -DDEBUG_EXTRA.
-
Keith Wansbrough authored
Documentation added for RegexString.
-
Simon Marlow authored
Add CLOSURE_TBL() macro for building closure tables.
-
Julian Seward authored
Minor mods to make STG Hugs compile out-of-the-box.
-
Julian Seward authored
Changes to improve runtime performance of STG Hugs. -- Reorganisation of the evaluator (Evaluator.c). -- Changes to code emission (Assembler.c) to support peephole opts -- An experimental simplifier (optimise.c). -- Many supporting bug fixes and minor changes. -- Experimental implementation of integer for standalone hugs (sainteger.c).
-
Simon Marlow authored
- Don't add -DCOMPILING_RTS twice - *set* SRC_CC_OPTS rather than appending to it: we're using ghc as the C compiler, so normal gcc flags probably won't work. eg. if you put SRC_CC_OPTS += -g in your build.mk, it'll fall over here.
-
- Apr 26, 1999
-
-
Simon Marlow authored
add getTag#
-
Simon Marlow authored
- New Wired-in Id: getTag# :: a -> Int# for a data type, returns the tag of the constructor. for a function, returns a spurious number probably. dataToTag# is the name of the underlying primitive which pulls out the tag (its argument is assumed to be evaluated). - Generate constructor tables for enumerated types, so we can do tagToEnum#. - Remove hacks in CoreToStg for dataToTag#.
-
Simon Marlow authored
Add simple high-level interface to Regex (snaffled from my nofib log analyser).
-
Simon Marlow authored
oops, forgot to add dataToTag#.
-
Simon Marlow authored
Reduce (dataToTag# x) where x is bound to a known constructor.
-
Simon Marlow authored
Add note about needing -optCrts before RTS options for the compiler itself.
-
- Apr 23, 1999
-
-
Simon Marlow authored
dataToTag# support.
-
Simon Marlow authored
Support for dataToTag# :: a -> Int# (if a is a data type) and (partial) support for tagToEnum# :: Int# -> a (if a is an enumerated type) The con2tag functions generated by derived Eq,Ord and Enum instances are now replaced by dataToTag# for data types with a large number of constructors.
-
sof authored
createPipe docfix
-
Simon Marlow authored
Remove hack to force setting the CCCS when we enter a function closure defined inside a lambda. We use a more general solution now.
-
Simon Marlow authored
More profiling fixes. Profiles looking more reasonable, but for best results add the -caf-all switch to GHC.
-
Simon Marlow authored
Don't forget to set the CCCS from the thunk when entering std thunks.
-
- Apr 20, 1999
-
-
Simon Peyton Jones authored
Better typechecker error message when a type-signature variable is unified with a type
-
- Apr 19, 1999
-
-
Simon Marlow authored
Allow a worker to be present for functions with no strictness info in an interface file. This is useful for functions which get hit by CPR but not the strictness analyser.
-
Simon Marlow authored
Fixes to the unbox-strict-fields stuff for existential constructors.
-
- Apr 14, 1999
-
-
Kevin Glynn authored
(keving) Sigh, No point w/w pass storing the worker id in wrapper's info field, because later simplifications may change the worker id. I've restored the original code which looks in the wrapper function and guesses the worker id. With the addition of CPR transf. this looks a bit fragile. thinks, thinks, ....
-
- Apr 13, 1999
-
-
sof authored
The {Int,Word}{8,16,32,64} types are no longer 'wired-in', just names with a known key.
-
sof authored
Adjusted Id import to avoid module cycle; removed some unused helpers
-
Kevin Glynn authored
(keving) Big Bang introduction of CPR Analysis Pass. Note that now -fstrictness only does the strictness analysis phase, it is necessary to follow this with -fworker-wrapper to actually do the required Core transformations. The -O option in the ghc driver script has been modified appropriately. For now, CPR analysis is turned off. To try it, insert a -fcpr_analyse between the -fstrictness and the -fworker-wrapper options. Misc. comments: - The worker flag has been removed from an ID's StrictnessInfo field. Now the worker info is an extra field in the Id's prag info. - We do a nested CPR analysis, but worker-wrapper only looks at the info for the outermost constructor, else laziness can be lost. - Id's CPR Info in traces and interfaces file follows __M - Worker-wrappery transformation now accounts for both strictness and CPR analysis results.
-
Kevin Glynn authored
(keving) The CPR Analysis Pass Module
-
- Apr 12, 1999
-
-
sof authored
Added Haskell wrapper for freeHaskellFunctionPtr()
-