summaryrefslogtreecommitdiff
path: root/compiler
Commit message (Collapse)AuthorAgeFilesLines
...
| * Fix build on non-unicode localeReid Barton2013-08-241-2/+2
| | | | | | | | | | | | happy reads .y files with the system encoding, so keep Parser.y.pp ASCII. Signed-off-by: Austin Seipp <aseipp@pobox.com>
| * Fix validation failure in Fingerprint.hscAustin Seipp2013-08-231-1/+1
| | | | | | | | Signed-off-by: Austin Seipp <aseipp@pobox.com>
| * Fingerprint.getFileHash: Fix not reading file at all.Niklas Hambüchen2013-08-231-1/+8
| | | | | | | | | | | | This lead to the stage1 compiler calculating random iface hashes. Signed-off-by: Austin Seipp <aseipp@pobox.com>
| * Fingerprint: Fix comment typoNiklas Hambüchen2013-08-231-1/+1
| | | | | | | | Signed-off-by: Austin Seipp <aseipp@pobox.com>
| * Actually, split that last comment a bit.Austin Seipp2013-08-221-4/+6
| | | | | | | | Signed-off-by: Austin Seipp <aseipp@pobox.com>
| * Add some more comments to UsageFile.Austin Seipp2013-08-221-1/+8
| | | | | | | | | | | | This brings them up to date with the changes in #8144. Signed-off-by: Austin Seipp <aseipp@pobox.com>
| * Remove trailing whitespace from Fingerprint.hscAustin Seipp2013-08-221-1/+1
| | | | | | | | Signed-off-by: Austin Seipp <aseipp@pobox.com>
| * Remove trailing whitespace from HscTypesAustin Seipp2013-08-221-7/+6
| | | | | | | | Signed-off-by: Austin Seipp <aseipp@pobox.com>
| * Remove trailing whitespace from MkIfaceAustin Seipp2013-08-221-86/+86
| | | | | | | | Signed-off-by: Austin Seipp <aseipp@pobox.com>
| * Fix -Werror failure in Fingerprint.hscAustin Seipp2013-08-221-0/+3
| | | | | | | | Signed-off-by: Austin Seipp <aseipp@pobox.com>
| * Fix interface hashes including time stamp of dependent files.Niklas Hambüchen2013-08-223-16/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * MkIface: Be consistent with do notationNiklas Hambüchen2013-08-221-118/+122
| | | | | | | | Signed-off-by: Austin Seipp <aseipp@pobox.com>
| * MkIface: When printing the recomp reason, make clear only mtime is usedNiklas Hambüchen2013-08-221-1/+1
| | | | | | | | Signed-off-by: Austin Seipp <aseipp@pobox.com>
| * MkIface: More specific comment about what forms the interface hashNiklas Hambüchen2013-08-221-1/+1
| | | | | | | | Signed-off-by: Austin Seipp <aseipp@pobox.com>
| * MkIface: Mention that #include now adds dependent filesNiklas Hambüchen2013-08-221-2/+4
| | | | | | | | Signed-off-by: Austin Seipp <aseipp@pobox.com>
| * Update email addressesGabor Greif2013-08-221-2/+2
| |
| * Strings and comments only: 'to to ' fixesGabor Greif2013-08-226-7/+7
| | | | | | | | I'd still prefer if a native english speaker would check them.
| * Comments onlyJan Stolarek2013-08-221-3/+1
| | | | | | | | This comment is no loger true
| * Only add -O to C compilations if there was -O on the command lineSimon Marlow2013-08-221-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * DetabifyJan Stolarek2013-08-211-39/+32
| | | | | | | | I missed that file yesterday when I was cleaning up codeGen/ directory.
* | Add PrimOp fetchAddIntArray# plus supporting C function atomic_inc_by.Ryan Newton2013-08-211-0/+7
| |
* | Add PrimOp: casIntArray#. Modify casMutVar# for 'ticketed' style.Ryan Newton2013-08-211-0/+8
| |
* | add casArray# primop, similar to casMutVar# but for array elementsRyan Newton2013-08-211-0/+8
|/
* Comments onlyJan Stolarek2013-08-201-1/+2
|
* Merge cgTailCall and cgLneJump into one functionJan Stolarek2013-08-202-31/+17
| | | | | | | | | | | | | | | | | | | | | 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 -> ... _ -> ...
* Remove unused moduleJan Stolarek2013-08-204-134/+2
| | | | | | 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.
* Cleanup StgCmm passJan Stolarek2013-08-207-115/+66
| | | | | | | | | | | | | | 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.
* Trailing whitespaces, code formatting, detabifyJan Stolarek2013-08-2013-481/+467
| | | | | A major cleanup of trailing whitespaces and tabs in codeGen/ directory. I also adjusted code formatting in some places.
* Fix typoGabor Greif2013-08-201-1/+1
|
* Comments onlyGabor Greif2013-08-202-2/+2
|
* Add note on isSafeOverlap field.David Terei2013-08-192-8/+13
|
* Comments onlyJan Stolarek2013-08-191-0/+1
| | | | Documentation of Integer constant folding
* Comments onlySimon Peyton Jones2013-08-191-5/+1
|
* Fix Haddock formattingSimon Peyton Jones2013-08-191-1/+1
|
* Improve eta-reduction some more, when the function includes castsSimon Peyton Jones2013-08-191-9/+16
|
* Add a better implementation of dropTail, and use itSimon Peyton Jones2013-08-192-2/+10
|
* Comments onlySimon Peyton Jones2013-08-191-1/+8
|
* Improve error when using forall with UnicodeSyntaxAustin Seipp2013-08-182-6/+20
| | | | | | | | | | | | | | | | 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>
* Dead code elimination.Austin Seipp2013-08-181-4/+0
| | | | | Authored-by: Paul Cavallaro <ptc@fb.com> Signed-off-by: Austin Seipp <aseipp@pobox.com>
* Remove dead code, fix a typo.Austin Seipp2013-08-181-5/+1
| | | | | Authored-by: Anders Papitto <anderspapitto@gmail.com> Signed-off-by: Austin Seipp <aseipp@pobox.com>
* Eliminate trailing whitespace from Parser.y.ppAustin Seipp2013-08-181-93/+93
| | | | Signed-off-by: Austin Seipp <aseipp@pobox.com>
* Eliminate trailing whitespace from Lexer.xAustin Seipp2013-08-181-1/+1
| | | | Signed-off-by: Austin Seipp <aseipp@pobox.com>
* Fix Trac #8138.Richard Eisenberg2013-08-161-1/+0
| | | | | | | | 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.
* Comments onlyJan Stolarek2013-08-161-213/+219
| | | | | | | | | 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.
* Comments onlyJan Stolarek2013-08-161-2/+0
|
* Comparison primops return Int# (Fixes #6135)Jan Stolarek2013-08-148-269/+324
| | | | | | | | | | | | 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).
* Don't run the system linker unncessarily.Patrick Palka2013-08-141-1/+5
| | | | | | | | | 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>
* Bump supported llvm version to 3.4.Austin Seipp2013-08-141-1/+1
| | | | | | | 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>
* iOS: generate archive files when compiling.Austin Seipp2013-08-141-5/+6
| | | | | | | | | | | 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>
* Comments onlyJan Stolarek2013-08-121-6/+6
|