- 07 Sep, 2000 7 commits
-
-
simonpj authored
Add comment
-
simonpj authored
Add an access function substEnvEnv
-
simonpj authored
Get the worker and wrapper in the right order
-
simonpj authored
Primitives can return ThreadId# values
-
simonpj authored
1) Fix a bad bug in Subst.lhs that made uniqAway go into an infinite loop when the 'hash code' in the in-scope set was zero. 2) Rename BasicTypes.isFragileOccInfo to isFragileOcc Add isDeadOcc to BasisTypes (2) is just a tidy-up. I have to commit it now because of (1), which is a bad bug. I hope that I've committed all the files involved in (2).
-
simonpj authored
Improve -ddump-types
-
simonpj authored
* Make the desugarer use string equality for string literal patterns longer than 1 character. And put a specialised eqString into PrelBase, with a suitable specialisation rule. This makes a huge difference to the size of the code generated by deriving(Read) notably in Time.lhs
-
- 06 Sep, 2000 5 commits
-
-
simonmar authored
revert accidental parts of previous commit
-
simonmar authored
Generate a new unique to be used in the typedef for a f.i.d., rather than re-using the one from the function call, which might conflict if there are two similar calls in the same module.
-
simonmar authored
When compiling code for a case where the scrutinee is a primitve comparison operator, we used to place the tag in a variable whose unique was always the same: `mkPseudoUnique1 1'. This was mostly harmless but confused the Stix inliner in the NCG into generating slightly less efficient code when the variable was used twice in a basic block. This patch fixes the problem by generating a new unique by just changing the "tag" of an existing unique, namely the case binder.
-
simonmar authored
Add new PrimRep, namely PrimPtrRep, as a catch-all for the various boxed primitive types that currently don't have their own PrimReps. Use this for MVar# and MutVar#. This fixes a crash in the code generator when a function returns one of these types.
-
simonmar authored
recode primOpOkForSpeculation in terms of primOpIsCheap and primOpCanFail.
-
- 05 Sep, 2000 3 commits
- 04 Sep, 2000 2 commits
- 01 Sep, 2000 1 commit
-
-
qrczak authored
ForeignObjs were incorrectly passed to foreign functions by the NCG. Fixed.
-
- 31 Aug, 2000 2 commits
- 29 Aug, 2000 1 commit
-
-
simonpj authored
Fix a bug reported by Jose Emilio Labra Gayo newtype Foo a => T = MkT (out :: a) The selector 'out' was being given an incorrect RHS. (Core Lint spotted it.)
-
- 24 Aug, 2000 1 commit
-
-
qrczak authored
Let foreign import dynamic accept a newtyped Addr too.
-
- 22 Aug, 2000 3 commits
- 21 Aug, 2000 6 commits
-
-
sewardj authored
Make the register allocator deal properly with switch tables. Previously, it didn't calculate the correct flow edges away from the indirect jump (in fact it didn't reckon there were any flow edges leaving it :) which makes a nonsense of the live variable analysis in the branches. A jump insn can now optionally be annotated with a list of destination labels, and if so, the register allocator creates flow edges to all of them. Jump tables are now re-enabled. They remain disabled for 4.08.1, since we aren't fixing the problem properly on that branch. I assume this problem wasn't exposed by the old register allocator because of the live-range-approximation hacks used in it. Since it was undocumented, we'll never know. Sparc builds will now break until I fix them.
-
simonmar authored
remove an unused import
-
simonmar authored
make this file independent of the actual word size.
-
simonmar authored
Fix up a PrimOp dependency.
-
simonmar authored
Add touch# and foreignObjToAddr#.
-
simonmar authored
- Add touch# and foreignObjToAddr#. - Add a long comment to the beginning of this file listing the files that need to be updated when adding a new primop.
-
- 18 Aug, 2000 4 commits
-
-
simonmar authored
Disable jump tables for the time being; the register allocator gets confused about them.
-
simonmar authored
Gratuitously remove a gratuitous ineficiency in allocatableRegs.
-
qrczak authored
Unused Prelude import check moved to a better place.
-
qrczak authored
Never say: "Warning: Module `Prelude' is imported, but nothing from it is used"
-
- 17 Aug, 2000 5 commits
-
-
simonmar authored
Replace a zipEqual with a zip in tcPat when checking a record pat. The former version caused a panic with DEBUG on if a record pattern was used with a non-record constructor.
-
simonmar authored
remove unused imports.
-
simonmar authored
Complete the removal of tso->splim (these are the NCG bits).
-