summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Bump time submodule to 1.12.1wip/bump-timeBen Gamari2022-02-175-2/+2
|
* (#21044) Documented arithmetic functions in base.nikshalark2022-02-134-4/+264
| | | | Didn't get it right the ninth time. Now everything's formatted correctly.
* configure: Fix result reporting of adjustors method checkBen Gamari2022-02-131-1/+2
|
* adjustors/NativeAmd64Mingw: Use AdjustorPoolBen Gamari2022-02-134-151/+189
|
* adjustors/NativeAmd64: Use AdjustorPoolBen Gamari2022-02-134-124/+160
|
* Introduce initAdjustorsBen Gamari2022-02-138-5/+22
|
* rts: Initial commit of AdjustorPoolBen Gamari2022-02-134-0/+365
|
* rts/adjustor: Split Windows path out of NativeAmd64Ben Gamari2022-02-134-165/+229
|
* rts: Drop DEC Alpha adjustor implementationBen Gamari2022-02-131-107/+0
| | | | The last Alpha chip was produced in 2004.
* rts/Adjustor: Ensure that allocateExecPage succeededBen Gamari2022-02-134-0/+27
| | | | Previously we failed to handle the case that `allocateExecPage` failed.
* Only check the exit code in derefnull & divbyzero tests on OpenBSDGreg Steuck2022-02-123-2/+4
|
* Tag inference work.Andreas Klebinger2022-02-1288-310/+3093
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This does three major things: * Enforce the invariant that all strict fields must contain tagged pointers. * Try to predict the tag on bindings in order to omit tag checks. * Allows functions to pass arguments unlifted (call-by-value). The former is "simply" achieved by wrapping any constructor allocations with a case which will evaluate the respective strict bindings. The prediction is done by a new data flow analysis based on the STG representation of a program. This also helps us to avoid generating redudant cases for the above invariant. StrictWorkers are created by W/W directly and SpecConstr indirectly. See the Note [Strict Worker Ids] Other minor changes: * Add StgUtil module containing a few functions needed by, but not specific to the tag analysis. ------------------------- Metric Decrease: T12545 T18698b T18140 T18923 LargeRecord Metric Increase: LargeRecord ManyAlternatives ManyConstructors T10421 T12425 T12707 T13035 T13056 T13253 T13253-spj T13379 T15164 T18282 T18304 T18698a T1969 T20049 T3294 T4801 T5321FD T5321Fun T783 T9233 T9675 T9961 T19695 WWRec -------------------------
* Fix documentation about Word64Rep/Int64Rep (#16964)Sylvain Henry2022-02-111-2/+2
|
* testsuite: Make sure all tests trigger ghc rebuildMatthew Pickering2022-02-112-2/+2
| | | | | | | I made a mistake when implementing #21029 which meant that certain tests didn't trigger a GHC recompilation. By adding the `test:ghc` target to the default settings all tests will now depend on this target unless explicitly opting out via the no_deps modifier.
* Make sure all platforms have a release jobMatthew Pickering2022-02-111-20/+24
| | | | | | | | | The release bindists are currently a mixture of validate and release builds. This is bad because the validate builds don't have profiling libraries. The fix is to make sure there is a release job for each platform we want to produce a release for.t Fixes #21066
* Decrease the size of the LargeRecord testsheaf2022-02-111-30/+0
| | | | | | | | | This test was taking too long to run, so this patch makes it smaller. ------------------------- Metric Decrease: LargeRecord -------------------------
* Refine tcSemigroupWarnings to work in ghc-primMatthew Pickering2022-02-101-4/+7
| | | | | | | | | | | | | ghc-prim doesn't depend on base so can't have any Monoid or Semigroup instances. However, attempting to load these definitions ran into issues when the interface for `GHC.Base` did exist as that would try and load the interface for `GHC.Types` (which is the module we are trying to compile and has no interface). The fix is to just not do this check when we are compiling a module in ghc-prim. Fixes #21069
* Fix copy-pasto in prof-late-ccs docsMatthew Pickering2022-02-101-2/+2
|
* eventlog: Fix size of TICKY_COUNTER_BEGIN_SAMPLEMatthew Pickering2022-02-101-1/+1
|
* eventlog: Delete misleading comment in gen_event_types.pyMatthew Pickering2022-02-101-2/+0
| | | | | Not all events start with CapNo and there's not logic I could see which adds this to the length.
* eventlog: Fix event type of MEM_RETURNMatthew Pickering2022-02-101-1/+1
| | | | | | | This leads to corrupted eventlogs because the size of EVENT_MEM_RETURN is completely wrong. Fixes a bug introduced in 2e29edb7421c21902b47d130d45f60d3f584a0de
* eventlog: Fix event type of EVENT_IPEMatthew Pickering2022-02-101-1/+1
| | | | | | | This leads to corrupted eventlogs because the size of EVENT_IPE is completely wrong. Fixes a bug introduced in 2e29edb7421c21902b47d130d45f60d3f584a0de
* Add metadata to integer-gmp.cabalMorrow2022-02-101-0/+8
|
* Bump Cabal submoduleBen Gamari2022-02-108-20/+18
| | | | | | | | | Adapts GHC to the factoring-out of `Cabal-syntax`. Fixes #20991. Metric Decrease: haddock.Cabal
* ghc-boot: Simplify writePackageDb permissions handlingDaniel Gröber2022-02-101-23/+16
| | | | | | | | | | | | | | | Commit ef8a3fbf1 ("ghc-boot: Fix metadata handling of writeFileAtomic") introduced a somewhat over-engineered fix for #14017 by trying to preserve the current permissions if the target file already exists. The problem in the issue is simply that the package db cache file should be world readable but isn't if umask is too restrictive. In fact the previous fix only handles part of this problem. If the file isn't already there in a readable configuration it wont make it so which isn't really ideal either. Rather than all that we now simply always force all the read access bits to allow access while leaving the owner at the system default as it's just not our business to mess with it.
* linker/PEi386: Make addLibrarySearchPath long-path awareBen Gamari2022-02-101-15/+3
| | | | | | | | | | Previously `addLibrarySearchPath` failed to normalise the added path to UNC form before passing it to `AddDllDirectory`. Consequently, the call was subject to the MAX_PATH restriction, leading to the failure of `test-defaulting-plugin-fail`, among others. Happily, this also nicely simplifies the implementation. Closes #21059.
* PEi386: Drop Windows Vista fallback in addLibrarySearchPathBen Gamari2022-02-101-52/+3
| | | | We no longer support Windows Vista.
* Docs:Mention that safe calls don't keep their arguments alive.Andreas Klebinger2022-02-101-2/+9
|
* Add late cost centre supportAndreas Klebinger2022-02-1017-6/+157
| | | | | This allows cost centres to be inserted after the core optimization pipeline has run.
* Add some perf tests for coercionssheaf2022-02-099-0/+1189
| | | | | | | | This patch adds some performance tests for programs that create large coercions. This is useful because the existing test coverage is not very representative of real-world situations. In particular, this adds a test involving an extensible records library, a common pain-point for users.
* rts/mmap: Refactor mmapForLinkerBen Gamari2022-02-092-113/+124
| | | | | | Here we try to separate the policy decisions of where to place mappings from the mechanism of creating the mappings. This makes things significantly easier to follow.
* linker: Don't use MAP_FIXEDBen Gamari2022-02-091-7/+4
| | | | | | | | As noted in #21057, we really shouldn't be using MAP_FIXED. I would much rather have the process crash with a "failed to map" error than randomly overwrite existing mappings. Closes #21057.
* rts/linker/MMap: Use MemoryAccess in mmapForLinkerBen Gamari2022-02-095-24/+42
|
* rts/linker: Drop dead IA64 codeBen Gamari2022-02-091-6/+0
|
* rts: Move mmapForLinker and friends to linker/MMap.cBen Gamari2022-02-0911-341/+377
| | | | They are not particularly related to linking.
* rts: Rename MemoryMap.[ch] -> ReportMemoryMap.[ch]Ben Gamari2022-02-095-4/+4
|
* Include ru_name in toHsRule messageZiyang Liu2022-02-092-11/+9
| | | | See #18147
* ByteCode: avoid out-of-bound readSylvain Henry2022-02-091-5/+15
| | | | Cf https://gitlab.haskell.org/ghc/ghc/-/issues/18431#note_287139
* NCG: minor code factorizationSylvain Henry2022-02-092-51/+35
|
* driver: Filter out our own boot module in hptSomeThingsBelowMatthew Pickering2022-02-091-2/+5
| | | | | | | | | hptSomeThingsBelow would return a list of modules which contain the .hs-boot file for a particular module. This caused some problems because we would try and find the module in the HPT (but it's not there when we're compiling the module itself). Fixes #21058
* Rename -merge-objs flag to --merge-objsBen Gamari2022-02-094-4/+4
| | | | For consistency with --make and friends.
* Add test for #21037sheaf2022-02-092-0/+25
| | | | | | | This program was rejected by GHC 9.2, but is accepted on newer versions of GHC. This patch adds a regression test. Closes #21037
* Look through untyped TH splices in tcInferAppHead_maybeRyan Scott2022-02-094-13/+43
| | | | | | | | | | | Previously, surrounding a head expression with a TH splice would defeat `tcInferAppHead_maybe`, preventing some expressions from typechecking that used to typecheck in previous GHC versions (see #21038 for examples). This is simple enough to fix: just look through `HsSpliceE`s in `tcInferAppHead_maybe`. I've added some additional prose to `Note [Application chains and heads]` in `GHC.Tc.Gen.App` to accompany this change. Fixes #21038.
* Fix a portability issue in m4/find_llvm_prog.m4PHO2022-02-091-1/+1
| | | | | `test A == B' is a Bash extension, which doesn't work on platforms where /bin/sh is not Bash.
* Implement System.Environment.getExecutablePath for NetBSDPHO2022-02-092-6/+14
| | | | and also use it from GHC.BaseDir.getBaseDir
* testsuite: Add missing dependency on ghcconfigMatthew Pickering2022-02-091-1/+6
|
* testsuite: Clean up old/redundant predicatesMatthew Pickering2022-02-093-30/+1
|
* testsuite: Use absolute paths for config.libdirMatthew Pickering2022-02-091-2/+4
| | | | Fixes #21052
* Don't try to build stage1 with -eventlog if stage0 doesn't provide itPHO2022-02-088-4/+38
| | | | Like -threaded, stage0 isn't guaranteed to have an event-logging RTS.
* Document that reifyRoles includes kind parametersRichard Eisenberg2022-02-081-1/+13
| | | | Close #21056