- 07 Jul, 2010 3 commits
-
-
Ian Lynagh authored
-
dterei authored
-
Ian Lynagh authored
-
- 06 Jul, 2010 1 commit
-
-
Ian Lynagh authored
This also means that extsBitmap gets set, whereas is was just being set to 0 before.
-
- 07 Jul, 2010 2 commits
- 06 Jul, 2010 2 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
-
- 05 Jul, 2010 5 commits
-
-
dterei authored
This is already handled by the Cmm code generator so LLVM is simply duplicating work. LLVM also doesn't know which ones are actually live so saves them all which causes a fair performance overhead for C calls on x64. We stop llvm saving them across the call by storing undef to them just before the call.
-
dterei authored
-
dterei authored
Patch from Erik de Castro Lopo <erikd@mega-nerd.com>.
-
Simon Marlow authored
-
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 6 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
-