<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<meta content="text/html; charset=US-ASCII" http-equiv="Content-Type">
<title>
GitLab
</title>
<style>img {
max-width: 100%; height: auto;
}
body {
font-size: 0.875rem;
}
body {
-webkit-text-shadow: rgba(255,255,255,0.01) 0 0 1px;
}
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", Ubuntu, Cantarell, "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: inherit;
}
</style>
</head>
<body style='font-size: inherit; -webkit-text-shadow: rgba(255,255,255,0.01) 0 0 1px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", Ubuntu, Cantarell, "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";'>
<div class="content">
<h3 style="margin-top: 20px; margin-bottom: 10px;">
Norman Ramsey pushed to branch wip/nr/wasm-control-flow
at <a href="https://gitlab.haskell.org/ghc/ghc" style="color: #1068bf; text-decoration: none;">Glasgow Haskell Compiler / GHC</a>
</h3>
<h4 style="margin-top: 10px; margin-bottom: 10px;">
Commits:
</h4>
<ul>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/3670bad8c52e52ec7776033787ebb1546bf2a58c" style="color: #1068bf; text-decoration: none;">3670bad8</a></strong>
<div>
<span>by Norman Ramsey</span>
<i>at 2022-08-09T15:46:39-04:00</i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 0.8125rem; color: #303030; position: relative; font-family: "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; word-break: break-all; word-wrap: break-word; background-color: #fafafa; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dbdbdb;'>add the two key graph modules from Martin Erwig's FGL
Martin Erwig's FGL (Functional Graph Library) provides an "inductive"
representation of graphs. A general graph has labeled nodes and
labeled edges. The key operation on a graph is to decompose it by
removing one node, together with the edges that connect the node to
the rest of the graph. There is also an inverse composition
operation.
The decomposition and composition operations make this representation
of graphs exceptionally well suited to implement graph algorithms in
which the graph is continually changing, as alluded to in #21259.
This commit adds `GHC.Data.Graph.Inductive.Graph`, which defines the
interface, and `GHC.Data.Graph.Inductive.PatriciaTree`, which provides
an implementation. Both modules are taken from `fgl-5.7.0.3` on
Hackage, with these changes:
- Copyright and license text have been copied into the files
themselves, not stored separately.
- Some calls to `error` have been replaced with calls to `panic`.
- Conditional-compilation support for older versions of GHC,
`containers`, and `base` has been removed.
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/e523867ddfb385fb0dc4a65e2fc7c06d4dbe4ac6" style="color: #1068bf; text-decoration: none;">e523867d</a></strong>
<div>
<span>by Norman Ramsey</span>
<i>at 2022-08-09T15:47:16-04:00</i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 0.8125rem; color: #303030; position: relative; font-family: "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; word-break: break-all; word-wrap: break-word; background-color: #fafafa; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dbdbdb;'>add new modules for reducibility and WebAssembly translation
also includes an emitter for GNU assembler code and some regression tests
</pre>
</li>
</ul>
<h4 style="margin-top: 10px; margin-bottom: 10px;">30 changed files:</h4>
<ul>
<li class="file-stats">
<a href="#6269ecd0e04f688b9a50e8cf9709fb4d9d5616d5" style="color: #1068bf; text-decoration: none;">
<span class="new-file">
+
compiler/GHC/Cmm/Reducibility.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#e150ea0c3032c24dadfe64a20dcf25d070c97f0c" style="color: #1068bf; text-decoration: none;">
<span class="new-file">
+
compiler/GHC/Data/Graph/Collapse.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#f6b10ac697fe369abe7874a54f53daf03f3b1d80" style="color: #1068bf; text-decoration: none;">
<span class="new-file">
+
compiler/GHC/Data/Graph/Inductive/Graph.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#ce0b05fcd6e7aac0abed31e83dceef182e54ddd5" style="color: #1068bf; text-decoration: none;">
<span class="new-file">
+
compiler/GHC/Data/Graph/Inductive/PatriciaTree.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#ca608b60675b025fe4b609438bd997447cec383e" style="color: #1068bf; text-decoration: none;">
<span class="new-file">
+
compiler/GHC/Wasm/ControlFlow.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#e4087e5cb8ddcb9b2ab5b92775bb1a7458197159" style="color: #1068bf; text-decoration: none;">
<span class="new-file">
+
compiler/GHC/Wasm/ControlFlow/FromCmm.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#f231497150820be953cf88e63632d0ec73150442" style="color: #1068bf; text-decoration: none;">
<span class="new-file">
+
compiler/GHC/Wasm/ControlFlow/ToAsm.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#0f33fd88c617246c7f89c4477d2d1d24f942df23" style="color: #1068bf; text-decoration: none;">
compiler/ghc.cabal.in
</a>
</li>
<li class="file-stats">
<a href="#42eff8ba3197e9f7d632174def99c179e8678c83" style="color: #1068bf; text-decoration: none;">
testsuite/tests/linters/notes.stdout
</a>
</li>
<li class="file-stats">
<a href="#cd4a7eca1097fa4576f05ec8d346e4d6e60b311d" style="color: #1068bf; text-decoration: none;">
<span class="new-file">
+
testsuite/tests/wasm/should_run/control-flow/ActionsAndObservations.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#a033cb59245c38f50f5777dd042759576f8d9ef8" style="color: #1068bf; text-decoration: none;">
<span class="new-file">
+
testsuite/tests/wasm/should_run/control-flow/BitConsumer.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#a1ce9e6f0e64c0a4cdb221e99e673498e18d6a3b" style="color: #1068bf; text-decoration: none;">
<span class="new-file">
+
testsuite/tests/wasm/should_run/control-flow/CmmPaths.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#c95c1013fa344dd8717187ec3714caf8a95c3359" style="color: #1068bf; text-decoration: none;">
<span class="new-file">
+
testsuite/tests/wasm/should_run/control-flow/ControlTestMonad.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#ad91fcf6f2992eb72e30c0352f970e5ad5b8b909" style="color: #1068bf; text-decoration: none;">
<span class="new-file">
+
testsuite/tests/wasm/should_run/control-flow/EntropyTransducer.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#43aa8c9f0862c912934d464882bc7ce10f9cfc5f" style="color: #1068bf; text-decoration: none;">
<span class="new-file">
+
testsuite/tests/wasm/should_run/control-flow/LoadCmmGroup.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#bc5a74f99f0b6b5afc86502f62095ec9cbaadbc9" style="color: #1068bf; text-decoration: none;">
<span class="new-file">
+
testsuite/tests/wasm/should_run/control-flow/README.md
</span>
</a>
</li>
<li class="file-stats">
<a href="#ae0dcbee3236209b108dbd86c357cc7eb4932b52" style="color: #1068bf; text-decoration: none;">
<span class="new-file">
+
testsuite/tests/wasm/should_run/control-flow/RunCmm.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#8f5348ed15567f8177133b61181b00c0cbde714a" style="color: #1068bf; text-decoration: none;">
<span class="new-file">
+
testsuite/tests/wasm/should_run/control-flow/RunWasm.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#2d3f879da55702c84db86e3e4b9951f033a0374b" style="color: #1068bf; text-decoration: none;">
<span class="new-file">
+
testsuite/tests/wasm/should_run/control-flow/WasmControlFlow.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#fd28230041f3b5f7066841dcb506daf665f49602" style="color: #1068bf; text-decoration: none;">
<span class="new-file">
+
testsuite/tests/wasm/should_run/control-flow/WasmControlFlow.stdout
</span>
</a>
</li>
<li class="file-stats">
<a href="#f0b72d9f9e113ee03ef8b1123032f35045cc0249" style="color: #1068bf; text-decoration: none;">
<span class="new-file">
+
testsuite/tests/wasm/should_run/control-flow/all.T
</span>
</a>
</li>
<li class="file-stats">
<a href="#1b7dbc5722335b9b0d7c2395fc2e3f410cba4b5d" style="color: #1068bf; text-decoration: none;">
<span class="new-file">
+
testsuite/tests/wasm/should_run/control-flow/src/Church.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#03cbb7dcc3bb5957c2db414866dcf90cf63151ac" style="color: #1068bf; text-decoration: none;">
<span class="new-file">
+
testsuite/tests/wasm/should_run/control-flow/src/Closure.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#b81aebeb4bba47095fa70176065c7e08acc43cc4" style="color: #1068bf; text-decoration: none;">
<span class="new-file">
+
testsuite/tests/wasm/should_run/control-flow/src/FailingLint.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#5a48b85bffd09d7f7d57126408d5bb143b66a1c0" style="color: #1068bf; text-decoration: none;">
<span class="new-file">
+
testsuite/tests/wasm/should_run/control-flow/src/Irr.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#860af3b30386f5af2fa5c3eca78f33dd4a9c8f51" style="color: #1068bf; text-decoration: none;">
<span class="new-file">
+
testsuite/tests/wasm/should_run/control-flow/src/Irr2.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#8be3548143ddbe713b957a866bac9edb2d741fa6" style="color: #1068bf; text-decoration: none;">
<span class="new-file">
+
testsuite/tests/wasm/should_run/control-flow/src/Irr3.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#5ac02e5efa97aa19ff08b2f69e546b19990b609d" style="color: #1068bf; text-decoration: none;">
<span class="new-file">
+
testsuite/tests/wasm/should_run/control-flow/src/Irr4.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#f3b46dbbd3aa2c869a67faa6416e178519090d27" style="color: #1068bf; text-decoration: none;">
<span class="new-file">
+
testsuite/tests/wasm/should_run/control-flow/src/Length.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#db2efd5503dfb41d5f29da32ae89e75ce69df4af" style="color: #1068bf; text-decoration: none;">
<span class="new-file">
+
testsuite/tests/wasm/should_run/control-flow/src/Map.hs
</span>
</a>
</li>
</ul>
<h5 style="margin-top: 10px; margin-bottom: 10px; font-size: 0.875rem;">The diff was not included because it is too large.</h5>
</div>
<div class="footer" style="margin-top: 10px;">
<p style="font-size: small; color: #666;">
—
<br>
<a href="https://gitlab.haskell.org/ghc/ghc/-/compare/c430e47069cef278914f48ee671dbc70d8965737...e523867ddfb385fb0dc4a65e2fc7c06d4dbe4ac6" style="color: #1068bf; text-decoration: none;">View it on GitLab</a>.
<br>
You're receiving this email because of your account on gitlab.haskell.org.
If you'd like to receive fewer emails, you can
adjust your notification settings.
</p>
</div>
</body>
</html>