summaryrefslogtreecommitdiff
path: root/utils
Commit message (Collapse)AuthorAgeFilesLines
* Pass 512-bit-wide vectors in registers.Geoffrey Mainland2013-09-221-0/+6
|
* Add support for 512-bit-wide vectors.Geoffrey Mainland2013-09-221-0/+6
|
* Pass 256-bit-wide vectors in registers.Geoffrey Mainland2013-09-221-0/+6
|
* Add support for 256-bit-wide vectors.Geoffrey Mainland2013-09-221-0/+6
|
* SIMD primops are now generated using schemas that are polymorphic inGeoffrey Mainland2013-09-225-88/+372
| | | | | | | | | | | | | width and element type. SIMD primops are now polymorphic in vector size and element type, but only internally to the compiler. More specifically, utils/genprimopcode has been extended so that it "knows" about SIMD vectors. This allows us to, for example, write a single definition for the "add two vectors" primop in primops.txt.pp and have it instantiated at many vector types. This generates a primop in GHC.Prim for each vector type at which "add two vectors" is instantiated, but only one data constructor for the PrimOp data type, so the code generator is much, much simpler.
* Do not expose LLVM-only primops in GHC.PrimopWrappers.Geoffrey Mainland2013-09-221-20/+7
| | | | | GHC.PrimopWrappers is only used by GHCi, which cannot evaluate LLVM-only primops in any case.
* Change role annotation syntax.Richard Eisenberg2013-09-171-1/+1
| | | | | | | | | This fixes bugs #8185, #8234, and #8246. The new syntax is explained in the comments to #8185, appears in the "Roles" subsection of the manual, and on the [wiki:Roles] wiki page. This change also removes the ability for a role annotation on type synonyms, as noted in #8234.
* Cause "make install" to install dynamic libraries (#8194)Bryan O'Sullivan2013-09-151-4/+6
| | | | | | Our special ghc-cabal command needs to be told that we are building with dynamic library support when it does its copying. We do so by passing an extra parameter from ghc.mk.
* Allow primclass and class constraints in primopsJoachim Breitner2013-09-135-9/+48
| | | | In preparation for the primitive class Coercible
* Fix AMP warnings.Austin Seipp2013-09-111-0/+8
| | | | | Authored-by: David Luposchainsky <dluposchainsky@gmail.com> Signed-off-by: Austin Seipp <austin@well-typed.com>
* Fix ghc-pkg list --simple-output not being alphabetical (#8245).Niklas Hambüchen2013-09-061-8/+9
| | | | | | | | | It was sorted by version number so far. I also added a sort to the normal output (without --simple-output) since the source it comes from does not guarantee sortedness. Signed-off-by: Austin Seipp <aseipp@pobox.com>
* Make validate play nice with clang (for Xcode 5 command line tools)Manuel M T Chakravarty2013-09-041-4/+8
| | | | * This partially fixes #8148. However, --with-ghc-4.8 will still not work given the rather dubious m4 macros and the failures in the test suite due to '-nodefaultlibs' still need to be fixed.
* Sync Cabal to upstream version 1.18 pre-releaseHerbert Valerio Riedel2013-08-262-7/+8
| | | | | | Apart from bumping build-dep version bounds, `ghc-cabal` is adapted to some minor Cabal API changes, and `bin-package-db` is made aware of Cabal's recently added AGPL licence support.
* dll-split: Say where to update module list and fix a typo.Edward Z. Yang2013-08-231-1/+1
| | | | Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
* Update email addressesGabor Greif2013-08-221-1/+1
|
* Comparison primops return Int# (Fixes #6135)Jan Stolarek2013-08-142-4/+1
| | | | | | | | | | | | 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).
* Rename SSE -> XMM for consistency.Geoffrey Mainland2013-08-061-2/+2
| | | | | We were using SSE is some places and XMM in others. Better to keep a consistent naming scheme.
* Update the package database directory's timestamps when rebuilding the ↵Geoffrey Mainland2013-06-241-0/+4
| | | | | | | | | | package cache. I was seeing many "WARNING: cache is out of date" errors during validation claiming that my package cache was out of date. This patch eliminates those errors by ensuring that when we rebuild the package cache, the modification time of the directory containing the package database is set to be the same as the modification time of the cache.
* Maintain per-generation lists of weak pointers (#7847)Takano Akio2013-06-151-0/+1
|
* Allow multiple C finalizers to be attached to a Weak#Takano Akio2013-06-151-4/+8
| | | | | | | | | | | | | The commit replaces mkWeakForeignEnv# with addCFinalizerToWeak#. This new primop mutates an existing Weak# object and adds a new C finalizer to it. This change removes an invariant in MarkWeak.c, namely that the relative order of Weak# objects in the list needs to be preserved across GC. This makes it easier to split the list into per-generation structures. The patch also removes a race condition between two threads calling finalizeWeak# on the same WEAK object at that same time.
* Typo in hp2ps help outputJoachim Breitner2013-06-131-1/+1
| | | | As spotted by Julian Gilbey and reported at http://bugs.debian.org/710305
* When verbose, give more information about cache statusIan Lynagh2013-05-301-17/+35
|
* Fix the GHC package DLL-splittingIan Lynagh2013-05-141-6/+14
| | | | | | | There's now an internal -dll-split flag, which we use to tell GHC how the GHC package is split into 2 separate DLLs. This is used by Packages.isDllName to determine whether a call is within the same DLL, or whether it is a call to another DLL.
* Simplify ghc-cabalIan Lynagh2013-05-141-19/+17
| | | | | | It now consistently takes directory and distDirectory as its first 2 arguments. Also, it only supports configuring 1 package at a time now (we weren't using the ability to configure more than one at once).
* More work towards dynamic programs on WindowsIan Lynagh2013-05-121-0/+1
| | | | | | | | | | | | | | | | | | | Dynamic GHC is now working in-place, but pathologically slow due to the DLL split. (GHC assumes that all intra-package calls are in the same DLL, but that isn't true when we split the GHC package into 2 DLLs. That means that GHC's startup time is around 22 seconds, as it is doing run-time linking). Also, ghci isn't actually working yet: $ inplace/bin/ghc-stage2 --interactive GHCi, version 7.7.20130512: http://www.haskell.org/ghc/ :? for help Loading package ghc-prim ... <command line>: can't load .so/.DLL for: HSghc-prim-0.3.1.0.dll (addDLL: could not load DLL) ghc-stage2.exe: HSghc-prim-0.3.1.0: The specified module could not be found.
* Small refactoring in ghc-pkgIan Lynagh2013-04-281-6/+4
|
* Remove some old "backwards compatibility" codeIan Lynagh2013-04-281-24/+4
| | | | | | It was marked as "backwards compatibility" in 2006, so I think can be removed now. It allowed using old field names when looking at fields with ghc-pkg.
* Make "ghc-pkg field pkg field --simple-output" do something usefulIan Lynagh2013-04-281-16/+20
| | | | It used to just ignore the --simple-output flag
* Fix the inplace name of ghc-cabalIan Lynagh2013-04-251-1/+1
| | | | We had inplace/bin/ghc-cabalghc-cabal
* Use different exeext variables for each stage; fixes #7709Ian Lynagh2013-04-202-3/+4
| | | | | Currently they are all set to the same value, but when cross-compiling they could be set to different values.
* Small build system refactoringIan Lynagh2013-04-201-5/+6
|
* Add a check that the Windows DLL split is OK; fixes #7780Ian Lynagh2013-04-073-0/+124
|
* ticky enhancementsNicolas Frisby2013-03-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * the new StgCmmArgRep module breaks a dependency cycle; I also untabified it, but made no real changes * updated the documentation in the wiki and change the user guide to point there * moved the allocation enters for ticky and CCS to after the heap check * I left LDV where it was, which was before the heap check at least once, since I have no idea what it is * standardized all (active?) ticky alloc totals to bytes * in order to avoid double counting StgCmmLayout.adjustHpBackwards no longer bumps ALLOC_HEAP_ctr * I resurrected the SLOW_CALL counters * the new module StgCmmArgRep breaks cyclic dependency between Layout and Ticky (which the SLOW_CALL counters cause) * renamed them SLOW_CALL_fast_<pattern> and VERY_SLOW_CALL * added ALLOC_RTS_ctr and _tot ticky counters * eg allocation by Storage.c:allocate or a BUILD_PAP in stg_ap_*_info * resurrected ticky counters for ALLOC_THK, ALLOC_PAP, and ALLOC_PRIM * added -ticky and -DTICKY_TICKY in ways.mk for debug ways * added a ticky counter for total LNE entries * new flags for ticky: -ticky-allocd -ticky-dyn-thunk -ticky-LNE * all off by default * -ticky-allocd: tracks allocation *of* closure in addition to allocation *by* that closure * -ticky-dyn-thunk tracks dynamic thunks as if they were functions * -ticky-LNE tracks LNEs as if they were functions * updated the ticky report format, including making the argument categories (more?) accurate again * the printed name for things in the report include the unique of their ticky parent as well as if they are not top-level
* Remove some directories that used to be used by GUMIan Lynagh2013-03-1734-9748/+0
| | | | This hasn't been used for some time
* Finish adding support for 2 DLLs in the ghc package; fixes #5987Ian Lynagh2013-03-131-2/+25
|
* Follow changes in CabalIan Lynagh2013-03-121-28/+17
|
* Update CabalIan Lynagh2013-03-113-17/+27
|
* Remove old ltx and verbatim utilsIan Lynagh2013-03-074-321/+0
|
* Automatically add the $(exeext) to program namesIan Lynagh2013-03-0315-18/+16
| | | | | | | We now define _PROGNAME, and _PROG is automatically defined with $(exeext). This will shortly automatically use the right exeext depending on what stage it is being compiled with (exeext may be different for different stages when cross-compiling).
* installation fixesIan Lynagh2013-03-031-0/+2
|
* Use unlit_INPLACE rather than UNLIT in the build systemIan Lynagh2013-03-031-1/+1
|
* Use more of the automatically generated INPLACE variablesIan Lynagh2013-03-032-3/+5
|
* Define $(prog)_INPLACE variables automatically, and start using themIan Lynagh2013-03-034-18/+18
|
* Rename $(Windows) to $(Windows_Host)Ian Lynagh2013-03-012-2/+2
|
* Remove utils/lndir/Makefile (part of the old build system)Ian Lynagh2013-02-171-11/+0
|
* Remove the MACOSX_DEPLOYMENT stuff; fixes #7559Ian Lynagh2013-02-171-6/+0
| | | | | If anyone wants to do this in the future, they should just set appropriate CC_OPTS/LD_OPTS variables instead.
* Remove utils/MakefileIan Lynagh2013-02-171-113/+0
| | | | It required the old build system, so didn't work.
* Finish removing BootingFromHcIan Lynagh2013-02-171-6/+0
|
* Define utils/ghc-pkg_dist_PROG correctly for WindowsIan Lynagh2013-02-161-3/+1
|
* Build the stage0 ghc-pkg with CabalIan Lynagh2013-02-161-56/+13
| | | | | | | This solves the problem of how to define MIN_VERSION_base for the binary package. Also fixed a couple of build system bugs along the way.