[Git][ghc/ghc][wip/winio] 128 commits: hadrian: add flag to skip rebuilding dependency information #17636

Ben Gamari gitlab at gitlab.haskell.org
Mon Jul 13 18:04:14 UTC 2020



Ben Gamari pushed to branch wip/winio at Glasgow Haskell Compiler / GHC


Commits:
3033e0e4 by Adam Sandberg Ericsson at 2020-07-08T20:36:49-04:00
hadrian: add flag to skip rebuilding dependency information #17636

- - - - -
b7de4b96 by Stefan Schulze Frielinghaus at 2020-07-09T09:49:22-04:00
Fix GHCi :print on big-endian platforms

On big-endian platforms executing

  import GHC.Exts
  data Foo = Foo Float# deriving Show
  foo = Foo 42.0#
  foo
  :print foo

results in an arithmetic overflow exception which is caused by function
index where moveBytes equals
  word_size - (r + item_size_b) * 8
Here we have a mixture of units. Both, word_size and item_size_b have
unit bytes whereas r has unit bits.  On 64-bit platforms moveBytes
equals then
  8 - (0 + 4) * 8
which results in a negative and therefore invalid second parameter for a
shiftL operation.

In order to make things more clear the expression
  (word .&. (mask `shiftL` moveBytes)) `shiftR` moveBytes
is equivalent to
  (word `shiftR` moveBytes) .&. mask
On big-endian platforms the shift must be a left shift instead of a
right shift. For symmetry reasons not a mask is used but two shifts in
order to zero out bits. Thus the fixed version equals
  case endian of
    BigEndian    -> (word `shiftL` moveBits) `shiftR` zeroOutBits `shiftL` zeroOutBits
    LittleEndian -> (word `shiftR` moveBits) `shiftL` zeroOutBits `shiftR` zeroOutBits

Fixes #16548 and #14455

- - - - -
3656dff8 by Sylvain Henry at 2020-07-09T09:50:01-04:00
LLVM: fix MO_S_Mul2 support (#18434)

The value indicating if the carry is useful wasn't taken into account.

- - - - -
d9f09506 by Simon Peyton Jones at 2020-07-10T10:33:44-04:00
Define multiShotIO and use it in mkSplitUniqueSupply

This patch is part of the ongoing eta-expansion saga;
see #18238.

It implements a neat trick (suggested by Sebastian Graf)
that allows the programmer to disable the default one-shot behaviour
of IO (the "state hack").  The trick is to use a new multiShotIO
function; see Note [multiShotIO].  For now, multiShotIO is defined
here in Unique.Supply; but it should ultimately be moved to the IO
library.

The change is necessary to get good code for GHC's unique supply;
see Note [Optimising the unique supply].

However it makes no difference to GHC as-is.  Rather, it makes
a difference when a subsequent commit

   Improve eta-expansion using ArityType

lands.

- - - - -
bce695cc by Simon Peyton Jones at 2020-07-10T10:33:44-04:00
Make arityType deal with join points

As Note [Eta-expansion and join points] describes,
this patch makes arityType deal correctly with join points.
What was there before was not wrong, but yielded lower
arities than it could.

Fixes #18328

In base GHC this makes no difference to nofib.

        Program           Size    Allocs   Runtime   Elapsed  TotalMem
--------------------------------------------------------------------------------
         n-body          -0.1%     -0.1%     -1.2%     -1.1%      0.0%
--------------------------------------------------------------------------------
            Min          -0.1%     -0.1%    -55.0%    -56.5%      0.0%
            Max          -0.0%      0.0%    +16.1%    +13.4%      0.0%
 Geometric Mean          -0.0%     -0.0%    -30.1%    -31.0%     -0.0%

But it starts to make real difference when we land the change to the
way mkDupableAlts handles StrictArg, in fixing #13253 and friends.
I think this is because we then get more non-inlined join points.

- - - - -
2b7c71cb by Simon Peyton Jones at 2020-07-11T12:17:02-04:00
Improve eta-expansion using ArityType

As #18355 shows, we were failing to preserve one-shot info when
eta-expanding.  It's rather easy to fix, by using ArityType more,
rather than just Arity.

This patch is important to suport the one-shot monad trick;
see #18202.  But the extra tracking of one-shot-ness requires
the patch

   Define multiShotIO and use it in mkSplitUniqueSupply

If that patch is missing, ths patch makes things worse in
GHC.Types.Uniq.Supply.  With it, however, we see these improvements

    T3064     compiler bytes allocated -2.2%
    T3294     compiler bytes allocated -1.3%
    T12707    compiler bytes allocated -1.3%
    T13056    compiler bytes allocated -2.2%

Metric Decrease:
    T3064
    T3294
    T12707
    T13056

- - - - -
de139cc4 by Artem Pelenitsyn at 2020-07-12T02:53:20-04:00
add reproducer for #15630

- - - - -
c4de6a7a by Andreas Klebinger at 2020-07-12T02:53:55-04:00
Give Uniq[D]FM a phantom type for its key.

This fixes #17667 and should help to avoid such issues going forward.

The changes are mostly mechanical in nature. With two notable
exceptions.

* The register allocator.

  The register allocator references registers by distinct uniques.
  However they come from the types of VirtualReg, Reg or Unique in
  various places. As a result we sometimes cast the key type of the
  map and use functions which operate on the now typed map but take
  a raw Unique as actual key. The logic itself has not changed it
  just becomes obvious where we do so now.

* <Type>Env Modules.

As an example a ClassEnv is currently queried using the types `Class`,
`Name`, and `TyCon`. This is safe since for a distinct class value all
these expressions give the same unique.

    getUnique cls
    getUnique (classTyCon cls)
    getUnique (className cls)
    getUnique (tcName $ classTyCon cls)

This is for the most part contained within the modules defining the
interface. However it requires us to play dirty when we are given a
`Name` to lookup in a `UniqFM Class a` map. But again the logic did
not change and it's for the most part hidden behind the Env Module.

Some of these cases could be avoided by refactoring but this is left
for future work.

We also bump the haddock submodule as it uses UniqFM.

- - - - -
c2cfdfde by Aaron Allen at 2020-07-13T09:00:33-04:00
Warn about empty Char enumerations (#18402)

Currently the "Enumeration is empty" warning (-Wempty-enumerations)
only fires for numeric literals. This patch adds support for `Char`
literals so that enumerating an empty list of `Char`s will also
trigger the warning.

- - - - -
c3ac87ec by Stefan Schulze Frielinghaus at 2020-07-13T09:01:10-04:00
hadrian: build check-ppr dynamic if GHC is build dynamic

Fixes #18361

- - - - -
5b0477de by Tamar Christina at 2020-07-13T13:58:07-04:00
winio: Drop Windows Vista support, require Windows 7

- - - - -
c25451f6 by Tamar Christina at 2020-07-13T13:58:07-04:00
winio: Update Windows FileSystem wrapper utilities.

- - - - -
b1d83544 by Tamar Christina at 2020-07-13T13:58:07-04:00
winio: Use SlimReaderLocks and ConditonalVariables provided by the OS instead of emulated ones

- - - - -
b9d85f5f by Tamar Christina at 2020-07-13T13:58:07-04:00
winio: Small linker comment and ifdef cleanups

- - - - -
0ca94e10 by Tamar Christina at 2020-07-13T13:58:07-04:00
winio: Flush event logs eagerly.

- - - - -
de2f1623 by Tamar Christina at 2020-07-13T13:58:07-04:00
winio: Refactor Buffer structures to be able to track async operations

- - - - -
7038c81e by Tamar Christina at 2020-07-13T13:58:07-04:00
winio: Implement new Console API

- - - - -
70a5325a by Tamar Christina at 2020-07-13T13:58:07-04:00
winio: Add IOPort synchronization primitive

- - - - -
8d6c6f45 by Tamar Christina at 2020-07-13T13:58:07-04:00
winio: Add new io-manager cmdline options

- - - - -
5cc2dd0a by Tamar Christina at 2020-07-13T13:58:07-04:00
winio: Init Windows console Codepage to UTF-8.

- - - - -
4aab8b8f by Tamar Christina at 2020-07-13T13:58:07-04:00
winio: Add unsafeSplat to GHC.Event.Array

- - - - -
ddc3836c by Tamar Christina at 2020-07-13T13:58:07-04:00
winio: Add size and iterate to GHC.Event.IntTable.

- - - - -
93adbcff by Tamar Christina at 2020-07-13T13:58:07-04:00
winio: Switch Testsuite to test winio by default

- - - - -
1b3874ed by Tamar Christina at 2020-07-13T13:58:07-04:00
winio: Multiple refactorings and support changes.

- - - - -
000fae31 by Tamar Christina at 2020-07-13T13:58:07-04:00
winio: core threaded I/O manager

- - - - -
e28055b2 by Tamar Christina at 2020-07-13T13:58:07-04:00
winio: core non-threaded I/O manager

- - - - -
76b556fa by Tamar Christina at 2020-07-13T13:58:07-04:00
winio: Fix a scheduler bug with the threaded-runtime.

- - - - -
8d138432 by Tamar Christina at 2020-07-13T13:58:07-04:00
winio: Relaxing some constraints in io-manager.

- - - - -
c41ed24a by Tamar Christina at 2020-07-13T13:58:07-04:00
winio: Fix issues with non-threaded I/O manager after split.

- - - - -
4856b439 by Tamar Christina at 2020-07-13T13:58:07-04:00
winio: Remove some barf statements that are a bit strict.

- - - - -
6ad5f437 by Andreas Klebinger at 2020-07-13T13:58:07-04:00
winio: Expand comments describing non-threaded loop

- - - - -
0c45acde by Tamar Christina at 2020-07-13T13:58:07-04:00
winio: fix FileSize unstat-able handles

- - - - -
8abcc5ed by Tamar Christina at 2020-07-13T13:58:07-04:00
winio: Implement new tempfile routines for winio

- - - - -
7ff397e6 by Andreas Klebinger at 2020-07-13T13:58:07-04:00
winio: Fix input truncation when reading from handle.

This was caused by not upholding the read buffer invariant
that bufR == bufL == 0 for empty read buffers.

- - - - -
ddcd0f09 by Andreas Klebinger at 2020-07-13T13:58:07-04:00
winio: Fix output truncation for writes larger than buffer size

- - - - -
001cc0d4 by Andreas Klebinger at 2020-07-13T13:58:08-04:00
winio: Rewrite bufWrite.

I think it's far easier to follow the code now.
It's also correct now as I had still missed a spot
where we didn't update the offset.

- - - - -
2ad8c2b7 by Andreas Klebinger at 2020-07-13T13:58:08-04:00
winio: Fix offset set by bufReadEmpty.

bufReadEmpty returns the bytes read *including* content that
was already buffered,
But for calculating the offset we only care about the number
of bytes read into the new buffer.

- - - - -
5290a446 by Andreas Klebinger at 2020-07-13T13:58:08-04:00
winio: Clean up code surrounding IOPort primitives.

According to phyx these should only be read and written once per
object. Not neccesarily in that order.

To strengthen that guarantee the primitives will now throw an
exception if we violate this invariant.

As a consequence we can eliminate some code from their primops.
In particular code dealing with multiple queued readers/writers
now simply checks the invariant and throws an exception if it
was violated. That is in contrast to mvars which will do things
like wake up all readers, queue multi writers etc.

- - - - -
bd4755ff by Andreas Klebinger at 2020-07-13T13:58:08-04:00
winio: Fix multi threaded threadDelay and a few other small changes.

Multithreaded threadDelay suffered from a race condition
based on the ioManagerStatus. Since the status isn't needed
for WIO I removed it completely.

This resulted in a light refactoring, as consequence we will always
wake up the IO manager using interruptSystemManager, which uses
`postQueuedCompletionStatus` internally.

I also added a few comments which hopefully makes the code easier to
dive into for the next person diving in.

- - - - -
52038bde by Andreas Klebinger at 2020-07-13T13:58:08-04:00
wionio: Make IO subsystem check a no-op on non-windows platforms.

- - - - -
09fbcd21 by Andreas Klebinger at 2020-07-13T13:58:08-04:00
winio: Set handle offset when opening files in Append mode.

Otherwise we would truncate the file.

- - - - -
893f9428 by Andreas Klebinger at 2020-07-13T13:58:08-04:00
winio: Remove debug event log trace

- - - - -
94ca99a6 by Andreas Klebinger at 2020-07-13T13:58:08-04:00
winio: Fix sqrt and openFile009 test cases

- - - - -
f5ef1e3d by Andreas Klebinger at 2020-07-13T13:58:08-04:00
winio: Allow hp2ps to build with -DDEBUG

- - - - -
68dff321 by Andreas Klebinger at 2020-07-13T13:58:08-04:00
winio: Update output of T9681 since we now actually run it.

- - - - -
49f86ce3 by Andreas Klebinger at 2020-07-13T13:58:08-04:00
winio: A few more improvements to the IOPort primitives.

- - - - -
4c074ce2 by Andreas Klebinger at 2020-07-13T13:58:08-04:00
winio: Fix expected tempfiles output.

Tempfiles now works properly on windows, as such we can
delete the win32 specific output.

- - - - -
49e861a6 by Andreas Klebinger at 2020-07-13T13:58:08-04:00
winio: Assign thread labels to IOManager threads.

- - - - -
980e63a2 by Andreas Klebinger at 2020-07-13T13:58:08-04:00
winio: Properly check for the tso of an incall to be zero.

- - - - -
5aa36c81 by Andreas Klebinger at 2020-07-13T13:58:08-04:00
winio: Mark FD instances as unsupported under WINIO.

- - - - -
0b17e03d by Andreas Klebinger at 2020-07-13T13:58:08-04:00
winio: Fix threadDelay maxBound invocations.

Instead of letting the ns timer overflow now clamp it at
(maxBound :: Word64) ns. That still gives a few hundred
years.

- - - - -
6a75a711 by Andreas Klebinger at 2020-07-13T13:58:08-04:00
winio: Add comments/cleanup an import in base

- - - - -
39b1f14c by Andreas Klebinger at 2020-07-13T13:58:08-04:00
winio: Mark outstanding_service_requests volatile.

As far as I know C(99) gives no guarantees for code like

    bool condition;

    ...

    while(condition)
        sleep();

that condition will be updated if it's changed by another thread.
So we are explicit here and mark it as volatile, this will force
a reload from memory on each iteration.

- - - - -
401c890c by Andreas Klebinger at 2020-07-13T13:58:08-04:00
winio: Make last_event a local variable

- - - - -
b3c67ebe by Andreas Klebinger at 2020-07-13T13:58:08-04:00
winio: Add comment about thread safety of processCompletion.

- - - - -
d5ff4c02 by Andreas Klebinger at 2020-07-13T13:58:08-04:00
winio: nonthreaded: Create io processing threads in main thread.

We now set a flag in the IO thread. The scheduler when looking for work
will check the flag and create/queue threads accordingly.

We used to create these in the IO thread. This improved performance
but caused frequent segfaults. Thread creation/allocation is only safe to
do if nothing currently accesses the storeagemanager. However without
locks in the non-threaded runtime this can't be guaranteed.

This shouldn't change performance all too much.

In the past we had:
* IO: Create/Queue thread.
* Scheduler: Runs a few times. Eventually picks up IO processing thread.

Now it's:
* IO: Set flag to queue thread.
* Scheduler: Pick up flag, if set create/queue thread. Eventually picks up IO processing thread.

- - - - -
d83de953 by Andreas Klebinger at 2020-07-13T13:58:08-04:00
winio: Add an exported isHeapAlloced function to the RTS

- - - - -
f84a3284 by Andreas Klebinger at 2020-07-13T13:58:08-04:00
winio: Queue IO processing threads at the front of the queue.

This will unblock the IO thread sooner hopefully leading to higher
throughput in some situations.

- - - - -
00eb74d9 by Andreas Klebinger at 2020-07-13T13:58:08-04:00
winio: ThreadDelay001: Use higher resolution timer.

- - - - -
cc6a9bb6 by Andreas Klebinger at 2020-07-13T13:58:08-04:00
winio: Update T9681 output, disable T4808 on windows.

T4808 tests functionality of the FD interface which won't be supported
under WINIO.

T9681 just has it's expected output tweaked.

- - - - -
6653bee3 by Andreas Klebinger at 2020-07-13T13:58:08-04:00
winio: Wake io manager once per registerTimeout.

Which is implicitly done in editTimeouts, so need to wake it
up twice.

- - - - -
56cdd4e1 by Andreas Klebinger at 2020-07-13T13:58:08-04:00
winio: Update placeholder comment with actual function name.

- - - - -
2404aa3f by Andreas Klebinger at 2020-07-13T13:58:08-04:00
winio: Always lock win32 event queue

- - - - -
08e50974 by Andreas Klebinger at 2020-07-13T13:58:08-04:00
winio: Display thread labels when tracing scheduler events.

- - - - -
c2c976b0 by Andreas Klebinger at 2020-07-13T13:58:09-04:00
winio: Refactor non-threaded runner thread and scheduler interface.

Only use a single communication point (registerAlertableWait) to inform
the C side aobut both timeouts to use as well as outstanding requests.

Also queue a haskell processing thread after each return from alertable
waits. This way there is no risk of us missing a timer event.

- - - - -
722b0b26 by Andreas Klebinger at 2020-07-13T13:58:09-04:00
winio: Remove outstanding_requests from runner.

We used a variable to keep track of situations where we got
entries from the IO port, but all of them had already been
canceled. While we can avoid some work that way this case
seems quite rare.

So we give up on tracking this and instead always assume at
least one of the returned entries is valid.

If that's not the case no harm is done, we just perform some
additional work. But it makes the runner easier to reason about.

In particular we don't need to care if another thread modifies
oustanding_requests after we return from waiting on the IO Port.

- - - - -
f375933d by Tamar Christina at 2020-07-13T13:58:09-04:00
winio: Various fixes related to rebase and testdriver

- - - - -
a9cf0dcf by Tamar Christina at 2020-07-13T13:58:09-04:00
winio: Fix rebase artifacts

- - - - -
f311a21b by Andreas Klebinger at 2020-07-13T13:58:09-04:00
winio: Rename unsafeSplat to unsafeCopyFromBuffer

- - - - -
7e4351b9 by Andreas Klebinger at 2020-07-13T13:58:09-04:00
winio: Remove unused size/iterate operations from IntTable

- - - - -
f626c60a by Andreas Klebinger at 2020-07-13T13:58:09-04:00
winio: Detect running IO Backend via peeking at RtsConfig

- - - - -
95d126af by Tamar Christina at 2020-07-13T13:58:09-04:00
winio: update temp path so GCC etc can handle it.

Also fix PIPE support, clean up error casting, fix memory leaks

- - - - -
f5a50b87 by Ben Gamari at 2020-07-13T13:58:09-04:00
winio: Minor comments/renamings

- - - - -
f737bd3f by Andreas Klebinger at 2020-07-13T13:58:09-04:00
winio: Checking if an error code indicates completion is now a function.

- - - - -
7f9f6700 by Andreas Klebinger at 2020-07-13T13:58:09-04:00
winio: Small refactor in withOverlappedEx

- - - - -
215f6a3e by Andreas Klebinger at 2020-07-13T13:58:09-04:00
winio: A few comments and commented out dbxIO

- - - - -
efbb57f2 by Andreas Klebinger at 2020-07-13T13:58:09-04:00
winio: Don't drop buffer offset in byteView/cwcharView

- - - - -
94feb85d by Tamar Christina at 2020-07-13T13:58:09-04:00
winio: revert BHandle changes.

- - - - -
cb4d7f57 by Ben Gamari at 2020-07-13T13:58:09-04:00
winio: Fix imports

- - - - -
4242c6c9 by Tamar Christina at 2020-07-13T13:58:09-04:00
winio: update ghc-cabal to handle new Cabal submodule bump

- - - - -
2fc38dbe by Ben Gamari at 2020-07-13T13:58:09-04:00
winio: Only compile sources on Windows

- - - - -
dca92fdc by Andreas Klebinger at 2020-07-13T13:58:09-04:00
winio: Actually return Nothing on EOF for non-blocking read

- - - - -
aa22c560 by Andreas Klebinger at 2020-07-13T13:58:09-04:00
winio: Deduplicate logic in encodeMultiByte[Raw]IO.

- - - - -
9dcc8564 by Andreas Klebinger at 2020-07-13T13:58:09-04:00
winio: Deduplicate openFile logic

- - - - -
73151376 by Tamar Christina at 2020-07-13T13:58:09-04:00
winio: fix -werror issue in encoding file

- - - - -
34f1b4d7 by Andreas Klebinger at 2020-07-13T13:58:09-04:00
winio: Don't mention windows specific functions when building on Linux.

- - - - -
42a8e579 by Andreas Klebinger at 2020-07-13T13:58:09-04:00
winio: add a note about file locking in the RTS.

- - - - -
91344d2a by Andreas Klebinger at 2020-07-13T13:58:09-04:00
winio: Add version to @since annotation

- - - - -
3d6b70c2 by Andreas Klebinger at 2020-07-13T13:58:09-04:00
winio: Rename GHC.Conc.IOCP -> GHC.Conc.WinIO

- - - - -
2e1e764b by Andreas Klebinger at 2020-07-13T13:58:09-04:00
winio: Expand GHC.Conc.POSIX description

It now explains users may not use these functions when
using the old IO manager.

- - - - -
9824bf6f by Andreas Klebinger at 2020-07-13T13:58:09-04:00
winio: Fix potential spaceleak in __createUUIDTempFileErrNo

- - - - -
4032735f by Andreas Klebinger at 2020-07-13T13:58:10-04:00
winio: Remove redundant -Wno-missing-signatures pragmas

- - - - -
93c73c58 by Andreas Klebinger at 2020-07-13T13:58:10-04:00
winio: Make it explicit that we only create one IO manager

- - - - -
989108cc by Andreas Klebinger at 2020-07-13T13:58:10-04:00
winio: Note why we don't use blocking waits.

- - - - -
4c992103 by Andreas Klebinger at 2020-07-13T13:58:10-04:00
winio: Remove commented out pragma

- - - - -
2cd33b0a by Andreas Klebinger at 2020-07-13T13:58:10-04:00
winio: Remove redundant buffer write in Handle/Text.hs:bufReadEmpty

- - - - -
29e8fc53 by Andreas Klebinger at 2020-07-13T13:58:10-04:00
winio: Rename SmartHandles to StdHandles

- - - - -
135f7f81 by Andreas Klebinger at 2020-07-13T13:58:10-04:00
winio: add comment stating failure behaviour for getUniqueFileInfo.

- - - - -
5ea0f225 by Andreas Klebinger at 2020-07-13T13:58:10-04:00
winio: Update IOPort haddocks.

- - - - -
07fb00d5 by Andreas Klebinger at 2020-07-13T13:58:10-04:00
winio: Add a note cross reference

- - - - -
7ee750e5 by Andreas Klebinger at 2020-07-13T13:58:10-04:00
winio: Name Haskell/OS I/O Manager explicitly in Note

- - - - -
b4127c30 by Andreas Klebinger at 2020-07-13T13:58:10-04:00
winio: Expand BlockedOnIOCompletion description.

- - - - -
b970d4c3 by Andreas Klebinger at 2020-07-13T13:58:10-04:00
winio: Remove historical todos

- - - - -
24fc5aef by Andreas Klebinger at 2020-07-13T13:58:10-04:00
winio: Update note, remove debugging pragma.

- - - - -
82d6e86c by Andreas Klebinger at 2020-07-13T13:58:10-04:00
winio: flushCharReadBuffer shouldn't need to adjust offsets.

- - - - -
d3478ea3 by Andreas Klebinger at 2020-07-13T13:58:10-04:00
winio: Remove obsolete comment about cond. variables

- - - - -
bfb23977 by Andreas Klebinger at 2020-07-13T13:58:10-04:00
winio: fix initial linux validate build

- - - - -
74f91f86 by Andreas Klebinger at 2020-07-13T13:58:10-04:00
winio: Fix ThreadDelay001 CPP

- - - - -
cf846079 by Andreas Klebinger at 2020-07-13T13:58:10-04:00
winio: Fix openFile009 merge conflict leftover

- - - - -
32d670a3 by Andreas Klebinger at 2020-07-13T13:58:10-04:00
winio: Accept T9681 output.

GHC now reports String instead of [Char].

- - - - -
275dadb9 by Andreas Klebinger at 2020-07-13T13:58:10-04:00
winio: Fix cabal006 after upgrading cabal submodule

Demand cabal 2.0 syntax instead of >= 1.20 as required by newer cabal versions.

- - - - -
3a7b7e4a by Andreas Klebinger at 2020-07-13T13:58:10-04:00
winio: Fix stderr output for ghci/linking/dyn tests.

We used to filter rtsopts, i opted to instead just accept the warning of it having no effect.
This works both for -rtsopts, as well as -with-rtsopts which winio adds.

- - - - -
19ccf490 by Andreas Klebinger at 2020-07-13T13:58:10-04:00
winio: Adjust T15261b stdout for --io-manager flag.

- - - - -
65037599 by Andreas Klebinger at 2020-07-13T13:58:10-04:00
winio: Adjust T5435_dyn_asm stderr

The warning about rtsopts having no consequences is expected.
So accept new stderr.

- - - - -
262784ab by Andreas Klebinger at 2020-07-13T13:58:10-04:00
winio: Also accept T7037 stderr

- - - - -
93b82ba1 by Andreas Klebinger at 2020-07-13T13:58:10-04:00
winio: fix cabal04 by filtering rts args

- - - - -
cf915416 by Andreas Klebinger at 2020-07-13T13:58:10-04:00
winio: fix cabal01 by accepting expected stderr

- - - - -
aec82346 by Andreas Klebinger at 2020-07-13T13:58:10-04:00
winio: fix safePkg01 by accepting expected stderr

- - - - -
475be3ee by Andreas Klebinger at 2020-07-13T13:58:10-04:00
winio: fix T5435_dyn_gcc by accepting expected stderr

- - - - -
81b910f8 by Andreas Klebinger at 2020-07-13T13:58:10-04:00
winio: fix tempfiles test on linux

- - - - -
269514fb by Andreas Klebinger at 2020-07-13T13:58:10-04:00
winio: Accept accepted stderr for T3807

- - - - -
6decf2ef by Andreas Klebinger at 2020-07-13T13:58:10-04:00
winio: Accept accepted stderr for linker_unload

- - - - -
e87c1a43 by Andreas Klebinger at 2020-07-13T13:58:11-04:00
winio: Accept accepted stderr for linker_unload_multiple_objs

- - - - -
8c12391f by Tamar Christina at 2020-07-13T13:58:11-04:00
winio: clarify wording on conditional variables.

- - - - -
78822644 by Tamar Christina at 2020-07-13T13:58:11-04:00
winio: clarify comment on cooked mode.

- - - - -
b206c355 by Tamar Christina at 2020-07-13T13:58:11-04:00
winio: update lockfile signature and remove mistaken symbol in rts.

- - - - -
d4efcb1d by Ben Gamari at 2020-07-13T13:58:11-04:00
winio: Bump submodules

- - - - -
9514380c by Ben Gamari at 2020-07-13T14:03:54-04:00
testsuite: Add winio and winio_threaded ways

- - - - -


30 changed files:

- Makefile
- compiler/GHC/Builtin/Names.hs
- compiler/GHC/Builtin/Types/Prim.hs
- compiler/GHC/Builtin/Utils.hs
- compiler/GHC/Builtin/primops.txt.pp
- compiler/GHC/Cmm/LayoutStack.hs
- compiler/GHC/Cmm/Parser.y
- compiler/GHC/Cmm/Sink.hs
- compiler/GHC/CmmToAsm.hs
- compiler/GHC/CmmToAsm/BlockLayout.hs
- compiler/GHC/CmmToAsm/Monad.hs
- compiler/GHC/CmmToAsm/Reg/Graph.hs
- compiler/GHC/CmmToAsm/Reg/Graph/Coalesce.hs
- compiler/GHC/CmmToAsm/Reg/Graph/Spill.hs
- compiler/GHC/CmmToAsm/Reg/Graph/SpillClean.hs
- compiler/GHC/CmmToAsm/Reg/Graph/SpillCost.hs
- compiler/GHC/CmmToAsm/Reg/Graph/Stats.hs
- compiler/GHC/CmmToAsm/Reg/Linear.hs
- compiler/GHC/CmmToAsm/Reg/Linear/Base.hs
- compiler/GHC/CmmToAsm/Reg/Linear/JoinToTargets.hs
- compiler/GHC/CmmToAsm/Reg/Linear/StackMap.hs
- compiler/GHC/CmmToAsm/Reg/Linear/Stats.hs
- compiler/GHC/CmmToAsm/Reg/Liveness.hs
- + compiler/GHC/CmmToAsm/Reg/Utils.hs
- compiler/GHC/CmmToAsm/X86/RegInfo.hs
- compiler/GHC/CmmToLlvm/Base.hs
- compiler/GHC/CmmToLlvm/CodeGen.hs
- compiler/GHC/Core/FamInstEnv.hs
- compiler/GHC/Core/InstEnv.hs
- compiler/GHC/Core/Opt/Arity.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/5542c1b232f7427f93056e731980fd8e8837ca31...9514380ca0f445be9ff21fb0d1b7bedb8a22ca11

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/5542c1b232f7427f93056e731980fd8e8837ca31...9514380ca0f445be9ff21fb0d1b7bedb8a22ca11
You're receiving this email because of your account on gitlab.haskell.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20200713/bb9088ac/attachment-0001.html>


More information about the ghc-commits mailing list