summaryrefslogtreecommitdiff
path: root/driver/mangler
Commit message (Collapse)AuthorAgeFilesLines
* Remove dead code, now that -fvia-c is a no-opIan Lynagh2011-04-043-2095/+0
|
* Include kfreebsdgnu in the list of Target Platforms.Marco Silva2011-01-181-1/+1
|
* Avoid using the new ~~ perl operator in the manglerIan Lynagh2010-06-151-2/+2
|
* Add new LLVM code generator to GHC. (Version 2)David Terei2010-06-151-2/+4
| | | | | | | | | | | | | | | | | | This was done as part of an honours thesis at UNSW, the paper describing the work and results can be found at: http://www.cse.unsw.edu.au/~pls/thesis/davidt-thesis.pdf A Homepage for the backend can be found at: http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/Backends/LLVM Quick summary of performance is that for the 'nofib' benchmark suite, runtimes are within 5% slower than the NCG and generally better than the C code generator. For some code though, such as the DPH projects benchmark, the LLVM code generator outperforms the NCG and C code generator by about a 25% reduction in run times.
* Change how perl scripts get installed; partially fixes #3863Ian Lynagh2010-03-241-1/+1
| | | | | We now regenerate them when installing, which means the path for perl doesn't get baked in
* Support for DragonFly BSDSimon Marlow2009-11-111-3/+3
| | | | | | Patches from Goetz Isenmann <info@goetz-isenmann.de>, slightly updated for HEAD (the method for configuring platforms in configure.ac has changed).
* Build fixesIan Lynagh2009-08-161-2/+2
|
* Add a header to all build system files:Simon Marlow2009-04-282-0/+24
| | | | | | | | | | | | | | # ----------------------------------------------------------------------------- # # (c) 2009 The University of Glasgow # # This file is part of the GHC build system. # # To understand how the build system works and how to modify it, see # http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture # http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying # # -----------------------------------------------------------------------------
* GHC new build system megapatchIan Lynagh2009-04-262-26/+10
|
* Tweak the mangler; fixes trac #2871Ian Lynagh2009-02-111-1/+1
| | | | | It was getting confused by lines like: # 9 "C:\Temp\/ghc620_0/ghc620_0.hc" 1
* Comment fixes; trac #2468Ian Lynagh2008-08-161-2/+2
|
* bindists are now some way towards workingIan Lynagh2008-08-101-4/+2
|
* Enable the mangler for netbsd/amd64; fixes trac #2347Ian Lynagh2008-06-061-1/+1
|
* Tell the mangler how to mangle for amd64/freebsd; fixes trac #2072Ian Lynagh2008-05-111-1/+1
|
* FIX #2047: Windows (and older Unixes): align info tables to 4 bytes, not 2Simon Marlow2008-02-051-7/+7
| | | | | | | | | | | Perhaps in the past '.align 2' meant align to 4 bytes, but nowadays it means align to 2 bytes. The compacting collector requires info tables to be aligned to 4 bytes, because it stores tag bits in the low 2 bits. This only affects -fvia-C - the native code generator was already emitting the correct alignment. The incorrect alignment might well have been adversely affecting performance with -fvia-C on Windows.
* Use INSTALL_SCRIPT, not INSTALL_PROGRAM, when installing scripts; fixes #1858Ian Lynagh2007-11-101-3/+3
|
* comment-out "use vars" in 3 places (see #1739)Simon Marlow2007-10-081-3/+3
|
* * ghc-asm: Finally did away with $* in a way that works with Perl 5.6~5.10+, ↵audreyt@audreyt.org2007-07-301-397/+385
| | | | by appending /m to all regexes.
* Revert the $* patch for earlier Perls as it breaks the build. Sorry. :/audreyt@audreyt.org2007-07-121-1/+4
|
* In mangler, lift the multiline-match pragma to toplevel and document it better.audreyt@audreyt.org2007-07-111-6/+12
|
* * Evil Mangler broke under Perl 5.9+ because $* is gone; this fixes it.audreyt@audreyt.org2007-07-111-2/+5
| | | | | | | | | | | Perl 4's special variable $* controls multi-line matching; it's been deprecated from Perl 5's inception, and is finally removed in Perl versions 5.9 (soon to be 5.10). Since GHC depends on Perl 5.6+ anyway, this patch introduces an equivalent effect to $* without using that special variable, by hooking into Perl's regex parsing process to add the /m flag.
* workaround for #1421 (Solaris linker being picky about .size)Simon Marlow2007-06-141-1/+7
|
* Fix bindist creationIan Lynagh2007-06-011-0/+5
| | | | | Bindists should now work again, when doing "make install" at least. "make in-place" is probably still broken.
* Rework the build system a bitIan Lynagh2007-05-311-9/+10
| | | | | | Key changes: * Always build as if BIN_DIST is 1. BIN_DIST is thus removed. * Libraries are configured with prefix set to $$topdir rather than $(prefix)
* improve comments about x86-64 relative-offset hackerySimon Marlow2007-05-101-0/+2
|
* FIX #1343: regex bug in the x86_64 mangler settingsSimon Marlow2007-05-101-2/+2
|
* save two more FP registers on ia64red5_2@hotmail.com2007-03-271-4/+5
| | | | | | Save/restore two more registers in StgCRun(). The extra registers are used by ffi009.hs, when compiling with gcc 4.1.2.
* mangler and runtime updates for gcc 4 on ia64red5_2@hotmail.com2007-03-181-114/+239
| | | | | | | | | | | | | | | Gcc 4 is doing more clever optimizations than earlier gccs. These changes let ghc compile and run on ia64 with gcc 4.0.3. Register stack frames are enlarged so that all functions use the same size stack frame. The code to mangle tail calls has been cleaned up and made more general. Additional floating-point and special-purpose registers used by GCC are saved upon entering the STG runtime. More general handling of NOP instructions. Handling of functions with multiple epilogues or no epilogue.
* Make constructor names in info tables position independentwolfgang.thaller@gmx.net2007-03-081-0/+1
| | | | | | | | | | Info tables, like everything else in the text section, MUST NOT contain pointers. A pointer is, by definition, position dependent and is therefore fundamentally incompatible with generating position independent code. Therefore, we have to store an offset from the info label to the string instead of the pointer, just as we already did for other things referred to by the info table (SRTs, large bitmaps, etc.)
* Fixes for the mangler on IA64Ian Lynagh2007-02-271-13/+104
| | | | From heatsink, in trac #1150.
* Have the mangler keep .note.GNU-stackIan Lynagh2007-01-081-7/+19
|
* Fix the pattern for _hpc symbols: it incorrectly matched the _hp suffix tooSimon Marlow2006-12-121-1/+1
| | | | | | This has the undesitrable effect that stg_gc_gen_hp in the RTS was caught as an HPC symbol and put in the data segment.
* Fix _module_registered bug for sparc linux.Simon Marlow2006-10-061-2/+2
| | | | | | Patch by Ferris McCormick <fmccor@gentoo.org> This patch has been tested with GHC-6.4.2 where it fixes a huge number of testsuite failures (down from 406 to 17)
* Initial support for x86_64-darwinwolfgang.thaller@gmx.net2006-11-271-0/+40
| | | | Basic -fvia-C code generation is there, not much testing.
* Mac OS X mangler: follow some minor gcc changeswolfgang.thaller@gmx.net2006-11-201-4/+4
|
* Haskell Program Coverageandy@galois.com2006-10-241-0/+6
| | | | | | | | | | | | | | | | | | | | This large checkin is the new ghc version of Haskell Program Coverage, an expression-level coverage tool for Haskell. Parts: - Hpc.[ch] - small runtime support for Hpc; reading/writing *.tix files. - Coverage.lhs - Annotates the HsSyn with coverage tickboxes. - New Note's in Core, - TickBox -- ticked on entry to sub-expression - BinaryTickBox -- ticked on exit to sub-expression, depending -- on the boolean result. - New Stg level TickBox (no BinaryTickBoxes, though) You can run the coverage tool with -fhpc at compile time. Main must be compiled with -fhpc.
* Reorganisation of the source treeSimon Marlow2006-04-072-0/+1797
Most of the other users of the fptools build system have migrated to Cabal, and with the move to darcs we can now flatten the source tree without losing history, so here goes. The main change is that the ghc/ subdir is gone, and most of what it contained is now at the top level. The build system now makes no pretense at being multi-project, it is just the GHC build system. No doubt this will break many things, and there will be a period of instability while we fix the dependencies. A straightforward build should work, but I haven't yet fixed binary/source distributions. Changes to the Building Guide will follow, too.