This project is mirrored from https://gitlab.haskell.org/ghc/ghc.git.
Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer.
Last successful update .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer.
Last successful update .
- 05 Jul, 2010 1 commit
-
-
Simon Marlow authored
To improve performance of the RTS when dynamically linked on x86, I previously disabled -fPIC for certain critical modules (the GC, and a few others). However, build reports suggest that the dynamic linker on OS X doesn't like this, so I'm disabling this optimsation on that platform.
-
- 25 Jun, 2010 1 commit
-
-
amsay@amsay.net authored
'import' syntax is seperate from ':module' syntax
-
- 04 Jul, 2010 2 commits
-
-
Ian Lynagh authored
We no longer support building with a compiler that doesn't come with base 4.
-
Ian Lynagh authored
-
- 01 Jul, 2010 1 commit
-
-
Ian Lynagh authored
-
- 02 Jul, 2010 1 commit
-
-
dterei authored
-
- 01 Jul, 2010 2 commits
-
-
Simon Marlow authored
Noticed by Henrique Ferreiro <hferreiro@udc.es>, thanks!
-
dterei authored
-
- 30 Jun, 2010 2 commits
-
-
Simon Marlow authored
-
dterei authored
LLVM supports creating pointers in two ways, firstly through pointer arithmetic (by casting between pointers and ints) and secondly using the getelementptr instruction. The second way is preferable as it gives LLVM more information to work with. This patch changes a lot of pointer related code from the first method to the getelementptr method.
-
- 25 Jun, 2010 1 commit
-
-
Simon Marlow authored
-
- 29 Jun, 2010 1 commit
-
-
benl@ouroborus.net authored
-
- 28 Jun, 2010 6 commits
-
-
dterei authored
Instead of calling the C library for these Cmm functions we use intrinsic functions provided by llvm. LLVM will then either create a compile time constant if possible, or use a cpu instruction or as a last resort call the C library.
-
dterei authored
-
dterei authored
-
dterei authored
-
dterei authored
At the moment this gives a very slight performance boost of around 1 - 2%. Future changes to the generated code though so that pointers are kept as pointers more often instead of being cast to integer types straight away should hopefully improve the benefit this brings.
-
Simon Marlow authored
-
- 20 Jun, 2010 1 commit
-
-
shelarcy authored
-
- 24 Jun, 2010 1 commit
-
-
dmp@rice.edu authored
Validation fails when validating with PAPI support (i.e. GhcRtsWithPapi = YES in validate.mk). The problem is that the posix symbols are defined by a header included from papi.h. Compilation then fails because these symbols are redefined in PosixSource.h. This patch adds an undefine for the posix symbols after including papi.h and before including PosixSource.h. The #undefines are localized to Papi.c since that is the only case where they are getting defined twice.
-
- 25 Jun, 2010 2 commits
-
-
Ian Lynagh authored
-
dterei authored
-
- 24 Jun, 2010 7 commits
-
-
benl@ouroborus.net authored
-
benl@ouroborus.net authored
-
benl@ouroborus.net authored
-
benl@ouroborus.net authored
-
benl@ouroborus.net authored
-
benl@ouroborus.net authored
-
benl@ouroborus.net authored
computeLiveness requires the SCCs of blocks to be in reverse dependent order, and if they're not it was silently giving bad liveness info, yielding a bad allocation. Now it complains, loudly.
-
- 23 Jun, 2010 3 commits
-
-
benl@ouroborus.net authored
-
benl@ouroborus.net authored
-
benl@ouroborus.net authored
-
- 17 Sep, 2009 6 commits
-
-
Ben.Lippmeier@anu.edu.au authored
-
Ben.Lippmeier@anu.edu.au authored
* I've pushed the SPILL and RELOAD instrs down into the LiveInstr type to make them easier to work with. * When the graph allocator does a spill cycle it now just re-annotates the LiveCmmTops instead of converting them to NatCmmTops and back. * This saves working out the SCCS again, and avoids rewriting the SPILL and RELOAD meta instructions into real machine instructions.
-
Ben.Lippmeier@anu.edu.au authored
If there are are unreachable basic blocks in the native code then the linear allocator might loop. Detect this case and panic instead.
-
Ben.Lippmeier@anu.edu.au authored
-
Ben.Lippmeier@anu.edu.au authored
-
Ben.Lippmeier.anu.edu.au authored
-
- 24 Jun, 2010 1 commit
-
-
Ian Lynagh authored
The problem is that showing SDoc's looks at the static flags global variables, but those are panics while we are parsing the static flags. We work around this by explicitly using a fixed prettyprinter style.
-
- 21 Jun, 2010 1 commit
-
-
dterei authored
Before all the stg registers were simply a bit type or floating point type but now they can be declared to have a pointer type to one of these. This will allow various optimisations in the future in llvm since the type is more accurate.
-