| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| | |
happy reads .y files with the system encoding, so keep Parser.y.pp ASCII.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| |
| |
| | |
This lead to the stage1 compiler calculating random iface hashes.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| |
| |
| | |
This brings them up to date with the changes in #8144.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes #8144.
Before, the modification time of e.g. #included files (and everything
that ends up as a UsageFile, e.g. via addDependentFile) was taken as
input for the interface hash of a module.
This lead to different hashes for identical inputs on every compilation.
We now use file content hashes instead.
This changes the interface file format.
You will get "Binary.get(Usage): 50" when you try to do an incremental
using .hi files that were created with a GHC 7.7 (only) older than this commit.
To calculate the md5 hash (`Fingerprint`) of a file in constant space,
there now is GHC.Fingerprint.getFileHash, and a fallback version
for older GHCs that needs to load the file into memory completely
(only used when compiling stage1 with an older GHC).
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| | |
|
| |
| |
| |
| | |
I'd still prefer if a native english speaker would check them.
|
| |
| |
| |
| | |
This comment is no loger true
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In 1e2b3780ebc40d28cd0f029b90df102df09e6827 I changed the option
ordering for C compilations. A side effect was that -optc options
came before the automatic -O we were adding, which made it so that the
-debug RTS was getting optimised when it shouldn't have been.
Perhaps we shouldn't have automatic -O options added to C
compilations. But that might cause problems for build systems that
are relying on the current behaviour, so I've made a minor change
instead: now C optimisation level == Haskell optimisation level.
|
| |
| |
| |
| | |
I missed that file yesterday when I was cleaning up codeGen/ directory.
|
| | |
|
| | |
|
|/ |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previosly logic of these functions was sth like this:
cgIdApp x = case x of
A -> cgLneJump x
_ -> cgTailCall x
cgTailCall x = case x of
B -> ...
C -> ...
_ -> ...
After merging there is no nesting of cases:
cgIdApp x = case x of
A -> -- body of cgLneJump
B -> ...
C -> ...
_ -> ...
|
|
|
|
|
|
| |
This commit removes module StgCmmGran which has only no-op functions.
According to comments in the module, it was used by GpH, but GpH
project seems to be dead for a couple of years now.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This cleanup includes:
* removing dead code. This includes forkStatics function,
which was in fact one big noop, and global bindings in
CgInfoDownwards,
* converting functions that used FCode monad only to
access DynFlags into functions that take DynFlags
as a parameter and don't work in a monad,
* addBindC function is now smarter. It extracts Id from
CgIdInfo passed to it in the same way addBindsC does.
Previously this was done at every call site, which was
redundant.
|
|
|
|
|
| |
A major cleanup of trailing whitespaces and tabs in codeGen/
directory. I also adjusted code formatting in some places.
|
| |
|
| |
|
| |
|
|
|
|
| |
Documentation of Integer constant folding
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes Trac #7901.
'∀' is neither upper nor lowercase, unlike the 'f' in 'forall', so when
explicit forall is not enabled, it creates a parse error before reaching
the '.', which is where we give a nice message for ascii 'forall'.
Therefore, we make '∀' into a token as long as UnicodeSyntax is enabled,
which is safe because its caselessness means it can never be mistaken
for a symbol, and check extensions in the parser when the 'forall' rule
is used.
Authored-by: Paul Cavallaro <ptc@fb.com>
Authored-by: Anders Papitto <anderspapitto@gmail.com>
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
|
|
|
|
| |
Authored-by: Paul Cavallaro <ptc@fb.com>
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
|
|
|
|
| |
Authored-by: Anders Papitto <anderspapitto@gmail.com>
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
|
|
|
| |
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
|
|
|
| |
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
|
|
|
|
|
|
|
| |
The code in CoreLint did not take into account the possibility of
~R# arguments to functions. These can arise in argToPat in SpecConstr.
Now, CoreLint does not fail when it sees a ~R# parameter.
This commit also updates the core-spec document accordingly.
|
|
|
|
|
|
|
|
|
| |
I restored part of documentation that describes what is a let-no-escape
and which was deleted 10 months ago together with the old codegen. Then
I removed lots of Literate Haskell clutter (like empty \begin{code} -
\end{code} blocks) and finally decided to remove all the Literate Haskell
markup because there wasn't much of it left, but it made comments so
difficult to read.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch modifies all comparison primops for Char#, Int#, Word#, Double#,
Float# and Addr# to return Int# instead of Bool. A value of 1# represents True
and 0# represents False. For a more detailed description of motivation for this
change, discussion of implementation details and benchmarking results please
visit the wiki page: http://hackage.haskell.org/trac/ghc/wiki/PrimBool
There's also some cleanup: whitespace fixes in files that were extensively edited
in this patch and constant folding rules for Integer div and mod operators (which
for some reason have been left out up till now).
|
|
|
|
|
|
|
|
|
| |
This wastes time when evaluating expressions in GHCi. We also
disable object unloading when using the dynamic linker, too.
Fixes #7382. Fixes #7326.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
|
|
|
|
|
|
| |
The compiler can bootstrap and run all tests fine, given a copy of LLVM
built on Jul 27 2013.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
|
|
|
|
|
|
|
|
|
|
| |
When cross compiling to iOS, we generate archive files which are linked
into the final executable. We already *did* generate archive files -
just with the wrong suffix.
Fixes #8125.
Authored-by: Stephen Blackheath <...@blacksapphire.com>
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
|