[Git][ghc/ghc][wip/marge_bot_batch_merge_job] 17 commits: StgCmmPrim: remove an unnecessary instruction in doNewArrayOp

Marge Bot gitlab at gitlab.haskell.org
Sat Apr 20 16:05:38 UTC 2019



 Marge Bot pushed to branch wip/marge_bot_batch_merge_job at Glasgow Haskell Compiler / GHC


Commits:
eb2a4df8 by Michal Terepeta at 2019-04-20T03:32:08Z
StgCmmPrim: remove an unnecessary instruction in doNewArrayOp

Previously we would generate a local variable pointing after the array
header and use it to initialize the array elements. But we already use
stores with offset, so it's easy to just add the header to those offsets
during compilation and avoid generating the local variable (which would
become a LEA instruction when using native codegen; LLVM already
optimizes it away).

Signed-off-by: Michal Terepeta <michal.terepeta at gmail.com>

- - - - -
fcef26b6 by klebinger.andreas at gmx.at at 2019-04-20T03:38:16Z
Don't indent single alternative case expressions for STG.

Makes the width of STG dumps slightly saner.
Especially for things like unboxing.

Fixes #16580

- - - - -
e7280c93 by Vladislav Zavialov at 2019-04-20T03:44:24Z
Tagless final encoding of ExpCmdI in the parser

Before this change, we used a roundabout encoding:

1. a GADT (ExpCmdG)
2. a class to pass it around (ExpCmdI)
3. helpers to match on it (ecHsApp, ecHsIf, ecHsCase, ...)

It is more straightforward to turn these helpers into class methods,
removing the need for a GADT.

- - - - -
99dd5d6b by Alec Theriault at 2019-04-20T03:50:29Z
Haddock: support strict GADT args with docs

Rather than massaging the output of the parser to re-arrange docs and
bangs, it is simpler to patch the two places in which the strictness
info is needed (to accept that the `HsBangTy` may be inside an
`HsDocTy`).

Fixes #16585.

- - - - -
10776562 by Andrey Mokhov at 2019-04-20T03:56:38Z
Hadrian: Drop old/unused CI scripts

- - - - -
84d36f85 by Ben Gamari at 2019-04-20T16:05:27Z
users-guide: Add pretty to package list

- - - - -
10c1017a by Ben Gamari at 2019-04-20T16:05:27Z
users-guide: Add libraries section to 8.10.1 release notes

- - - - -
ebf45a8b by Andrew Martin at 2019-04-20T16:05:29Z
improve docs for casArray and casSmallArray

- - - - -
7ddae332 by Andrew Martin at 2019-04-20T16:05:29Z
[skip ci] say "machine words" instead of "Int units" in the primops docs

- - - - -
3b07451b by Andrew Martin at 2019-04-20T16:05:29Z
[skip ci] correct formatting of casArray# in docs for casSmallArray#

- - - - -
18f087cf by Andrew Martin at 2019-04-20T16:05:29Z
[skip ci] correct the docs for casArray a little more. clarify that the returned element may be two different things

- - - - -
89bb8e2b by Artem Pyanykh at 2019-04-20T16:05:31Z
testsuite: move tests related to linker under tests/rts/linker

- - - - -
d013407a by Artem Pyanykh at 2019-04-20T16:05:31Z
testsuite: fix ifdef lint errors under tests/rts/linker

- - - - -
3a23a455 by Ben Gamari at 2019-04-20T16:05:31Z
ErrUtils: Emit progress messages to eventlog

- - - - -
3b31c373 by Ben Gamari at 2019-04-20T16:05:31Z
Emit GHC timing events to eventlog

- - - - -
aaecbca4 by Matthew Pickering at 2019-04-20T16:05:32Z
Correct off by one error in ghci +c

Fixes #16569

- - - - -
e46e6026 by Vladislav Zavialov at 2019-04-20T16:05:32Z
Stop misusing EWildPat in pattern match coverage checking

EWildPat is a constructor of HsExpr used in the parser to represent
wildcards in ambiguous positions:

* in expression context, EWildPat is turned into hsHoleExpr (see rnExpr)
* in pattern context, EWildPat is turned into WildPat (see checkPattern)

Since EWildPat exists solely for the needs of the parser, we could
remove it by improving the parser.

However, EWildPat has also been used for a different purpose since
8a50610: to represent patterns that the coverage checker cannot handle.
Not only this is a misuse of EWildPat, it also stymies the removal of
EWildPat.

- - - - -


30 changed files:

- compiler/codeGen/StgCmmPrim.hs
- compiler/deSugar/Check.hs
- compiler/hsSyn/HsTypes.hs
- compiler/main/ErrUtils.hs
- compiler/parser/RdrHsSyn.hs
- compiler/prelude/primops.txt.pp
- compiler/stgSyn/StgSyn.hs
- docs/users_guide/8.10.1-notes.rst
- docs/users_guide/8.8.1-notes.rst
- ghc/GHCi/UI.hs
- ghc/GHCi/UI/Info.hs
- − hadrian/.travis.yml
- − hadrian/appveyor.yml
- − hadrian/circle.yml
- + testsuite/tests/ghci/scripts/T16569.hs
- + testsuite/tests/ghci/scripts/T16569.script
- + testsuite/tests/ghci/scripts/T16569.stdout
- testsuite/tests/ghci/scripts/all.T
- testsuite/tests/ghci/should_run/T15369.stdout
- + testsuite/tests/haddock/should_compile_flag_haddock/T15206.hs
- + testsuite/tests/haddock/should_compile_flag_haddock/T15206.stderr
- + testsuite/tests/haddock/should_compile_flag_haddock/T16585.hs
- + testsuite/tests/haddock/should_compile_flag_haddock/T16585.stderr
- testsuite/tests/haddock/should_compile_flag_haddock/all.T
- testsuite/tests/rts/Makefile
- testsuite/tests/rts/all.T
- testsuite/tests/rts/LinkerUnload.hs → testsuite/tests/rts/linker/LinkerUnload.hs
- testsuite/tests/rts/linker/Makefile
- testsuite/tests/rts/T11223/Makefile → testsuite/tests/rts/linker/T11223/Makefile
- testsuite/tests/rts/T11223/T11223_link_order_a_b_2_fail.stderr → testsuite/tests/rts/linker/T11223/T11223_link_order_a_b_2_fail.stderr


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/compare/eca59e213ef81ef62948af7e165e196fd1d83b88...e46e602696689b3a8a465c58ac97877ee5953bbc

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/compare/eca59e213ef81ef62948af7e165e196fd1d83b88...e46e602696689b3a8a465c58ac97877ee5953bbc
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/20190420/e8fd4824/attachment.html>


More information about the ghc-commits mailing list