[Git][ghc/ghc][wip/az/epa-simpler-comb2] 11 commits: Propagate breakpoint information when inlining across modules

Alan Zimmerman (@alanz) gitlab at gitlab.haskell.org
Wed Jun 28 19:48:03 UTC 2023



Alan Zimmerman pushed to branch wip/az/epa-simpler-comb2 at Glasgow Haskell Compiler / GHC


Commits:
c59fbb0b by Torsten Schmits at 2023-06-26T19:34:20+02:00
Propagate breakpoint information when inlining across modules

Tracking ticket: #23394

MR: !10448

* Add constructor `IfaceBreakpoint` to `IfaceTickish`
* Store breakpoint data in interface files
* Store `BreakArray` for the breakpoint's module, not the current module, in BCOs
* Store module name in BCOs instead of `Unique`, since the `Unique` from an `Iface` doesn't match the modules in GHCi's
  state
* Allocate module name in `ModBreaks`, like `BreakArray`
* Lookup breakpoint by module name in GHCi
* Skip creating breakpoint instructions when no `ModBreaks` are available, rather than injecting `ModBreaks` in the
  linker when breakpoints are enabled, and panicking when `ModBreaks` is missing

- - - - -
6f904808 by Greg Steuck at 2023-06-27T16:53:07-04:00
Remove undefined FP_PROG_LD_BUILD_ID from configure.ac's

- - - - -
e89aa072 by Andrei Borzenkov at 2023-06-27T16:53:44-04:00
Remove arity inference in type declarations (#23514)

Arity inference in type declarations was introduced
as a workaround for the lack of @k-binders.

They were added in 4aea0a72040, so I simplified all
of this by simply removing arity inference altogether.

This is part of GHC Proposal #425 "Invisible binders in type
declarations".

- - - - -
459dee1b by Torsten Schmits at 2023-06-27T16:54:20-04:00
Relax defaulting of RuntimeRep/Levity when printing

Fixes #16468

MR: !10702

Only default RuntimeRep to LiftedRep when variables are bound by the toplevel forall

- - - - -
151f8f18 by Torsten Schmits at 2023-06-27T16:54:57-04:00
Remove duplicate link label in linear types docs

- - - - -
ecdc4353 by Rodrigo Mesquita at 2023-06-28T12:24:57-04:00
Stop configuring unused Ld command in `settings`

GHC has no direct dependence on the linker. Rather, we depend upon the C
compiler for linking and an object-merging program (which is typically
`ld`) for production of GHCi objects and merging of C stubs into final
object files.

Despite this, for historical reasons we still recorded information about
the linker into `settings`. Remove these entries from `settings`,
`hadrian/cfg/system.config`, as well as the `configure` logic
responsible for this information.

Closes #23566.

- - - - -
bf9ec3e4 by Bryan Richter at 2023-06-28T12:25:33-04:00
Remove extraneous debug output

- - - - -
7eb68dd6 by Bryan Richter at 2023-06-28T12:25:33-04:00
Work with unset vars in -e mode

- - - - -
49c27936 by Bryan Richter at 2023-06-28T12:25:33-04:00
Pass positional arguments in their positions

By quoting $cmd, the default "bash -i" is a single argument to run, and
no file named "bash -i" actually exists to be run.

- - - - -
887dc4fc by Bryan Richter at 2023-06-28T12:25:33-04:00
Handle unset value in -e context

- - - - -
87ef924b by Alan Zimmerman at 2023-06-28T19:22:14+01:00
EPA: Simplify GHC/Parser.y comb2

Use the HasLoc instance from Ast.hs to allow comb2 to work with
anything with a SrcSpan

This gets rid of the custom comb2A, comb2Al, comb2N functions, and
removes various reLoc calls.

- - - - -


30 changed files:

- .gitlab/ci.sh
- .gitlab/darwin/toolchain.nix
- compiler/GHC/ByteCode/Asm.hs
- compiler/GHC/ByteCode/Instr.hs
- compiler/GHC/ByteCode/Linker.hs
- compiler/GHC/ByteCode/Types.hs
- compiler/GHC/Core/FVs.hs
- compiler/GHC/Core/Lint.hs
- compiler/GHC/Core/Map/Expr.hs
- compiler/GHC/Core/Opt/OccurAnal.hs
- compiler/GHC/Core/Opt/Simplify/Iteration.hs
- compiler/GHC/Core/Opt/Specialise.hs
- compiler/GHC/Core/Ppr.hs
- compiler/GHC/Core/Subst.hs
- compiler/GHC/Core/Tidy.hs
- compiler/GHC/Core/Utils.hs
- compiler/GHC/CoreToIface.hs
- compiler/GHC/CoreToStg.hs
- compiler/GHC/CoreToStg/Prep.hs
- compiler/GHC/HsToCore/Breakpoints.hs
- compiler/GHC/HsToCore/Ticks.hs
- compiler/GHC/Iface/Ext/Ast.hs
- compiler/GHC/Iface/Syntax.hs
- compiler/GHC/Iface/Tidy.hs
- compiler/GHC/Iface/Type.hs
- compiler/GHC/IfaceToCore.hs
- compiler/GHC/Linker/Loader.hs
- compiler/GHC/Parser.y
- compiler/GHC/Parser/Annotation.hs
- compiler/GHC/Runtime/Eval.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/d2a6dcd78716e0a2ea5c8054238862143254602c...87ef924b96ec5871f01cd4db55ea90e569a898d1

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/d2a6dcd78716e0a2ea5c8054238862143254602c...87ef924b96ec5871f01cd4db55ea90e569a898d1
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/20230628/d2b722de/attachment.html>


More information about the ghc-commits mailing list