You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(56) |
Sep
(40) |
Oct
(30) |
Nov
(144) |
Dec
(23) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(41) |
Feb
(29) |
Mar
(31) |
Apr
(39) |
May
(193) |
Jun
(45) |
Jul
(19) |
Aug
(3) |
Sep
(23) |
Oct
(83) |
Nov
(92) |
Dec
(123) |
2007 |
Jan
(90) |
Feb
(267) |
Mar
(120) |
Apr
(51) |
May
(40) |
Jun
(121) |
Jul
(109) |
Aug
(173) |
Sep
(77) |
Oct
(52) |
Nov
(121) |
Dec
(62) |
2008 |
Jan
(76) |
Feb
(53) |
Mar
(98) |
Apr
(87) |
May
(26) |
Jun
(27) |
Jul
(23) |
Aug
(136) |
Sep
(79) |
Oct
(68) |
Nov
(29) |
Dec
(14) |
2009 |
Jan
(7) |
Feb
(2) |
Mar
(11) |
Apr
(75) |
May
(1) |
Jun
(95) |
Jul
(19) |
Aug
(4) |
Sep
(8) |
Oct
(93) |
Nov
(43) |
Dec
(21) |
2010 |
Jan
(20) |
Feb
(23) |
Mar
(18) |
Apr
(6) |
May
(20) |
Jun
(23) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
(2) |
Feb
(6) |
Mar
(15) |
Apr
(5) |
May
(9) |
Jun
(14) |
Jul
(9) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
(3) |
Mar
|
Apr
|
May
(2) |
Jun
(17) |
Jul
(37) |
Aug
|
Sep
(1) |
Oct
(6) |
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
(5) |
Apr
(2) |
May
(7) |
Jun
(11) |
Jul
(8) |
Aug
|
Sep
(1) |
Oct
(2) |
Nov
|
Dec
|
2014 |
Jan
|
Feb
(2) |
Mar
(1) |
Apr
|
May
(1) |
Jun
(1) |
Jul
(7) |
Aug
(2) |
Sep
|
Oct
(5) |
Nov
(2) |
Dec
(4) |
2015 |
Jan
|
Feb
(2) |
Mar
(2) |
Apr
|
May
|
Jun
(9) |
Jul
(1) |
Aug
|
Sep
|
Oct
(4) |
Nov
(1) |
Dec
|
2016 |
Jan
(2) |
Feb
(1) |
Mar
(1) |
Apr
(1) |
May
(1) |
Jun
(2) |
Jul
(1) |
Aug
|
Sep
(5) |
Oct
|
Nov
|
Dec
|
2017 |
Jan
(1) |
Feb
(3) |
Mar
(3) |
Apr
(7) |
May
(2) |
Jun
(2) |
Jul
(5) |
Aug
(1) |
Sep
(2) |
Oct
(17) |
Nov
(4) |
Dec
(7) |
2018 |
Jan
(5) |
Feb
(14) |
Mar
(2) |
Apr
(5) |
May
(2) |
Jun
(5) |
Jul
|
Aug
(2) |
Sep
|
Oct
(3) |
Nov
(5) |
Dec
|
2019 |
Jan
(4) |
Feb
(2) |
Mar
(3) |
Apr
(1) |
May
(8) |
Jun
(14) |
Jul
(2) |
Aug
|
Sep
(2) |
Oct
(2) |
Nov
(15) |
Dec
(2) |
2020 |
Jan
(10) |
Feb
(3) |
Mar
(1) |
Apr
|
May
(9) |
Jun
(4) |
Jul
(16) |
Aug
(10) |
Sep
(4) |
Oct
(3) |
Nov
|
Dec
|
2021 |
Jan
(11) |
Feb
(2) |
Mar
(2) |
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
(5) |
Sep
|
Oct
(6) |
Nov
(4) |
Dec
(4) |
2022 |
Jan
(4) |
Feb
(2) |
Mar
(2) |
Apr
|
May
(6) |
Jun
(3) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
2023 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
(5) |
Jun
(1) |
Jul
(4) |
Aug
(1) |
Sep
|
Oct
(1) |
Nov
(13) |
Dec
|
2024 |
Jan
(1) |
Feb
|
Mar
(5) |
Apr
|
May
(10) |
Jun
|
Jul
|
Aug
(3) |
Sep
|
Oct
|
Nov
(1) |
Dec
(14) |
2025 |
Jan
(3) |
Feb
|
Mar
(1) |
Apr
|
May
(2) |
Jun
(3) |
Jul
|
Aug
|
Sep
(2) |
Oct
(2) |
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1
|
2
|
3
(1) |
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
(1) |
13
|
14
|
15
|
16
|
17
|
18
|
19
(1) |
20
(1) |
21
|
22
|
23
|
24
|
25
|
26
|
27
|
28
|
29
|
30
|
31
(1) |
|
|
|
|
From: 'Matthew F. v. MLton-c. <mlt...@ml...> - 2021-08-31 10:46:16
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: aca9b71331aba8ca82dbd2e7c35077f83c641562 https://github.com/MLton/mlton/commit/aca9b71331aba8ca82dbd2e7c35077f83c641562 Author: Niklas Larsson <ni...@mm...> Date: 2021-08-29 (Sun, 29 Aug 2021) Changed paths: M .github/workflows/ci.yml Log Message: ----------- Add workflow for Windows Commit: 13fa665df8af0f41494d897e39136a030a08dcb3 https://github.com/MLton/mlton/commit/13fa665df8af0f41494d897e39136a030a08dcb3 Author: Niklas Larsson <ni...@mm...> Date: 2021-08-30 (Mon, 30 Aug 2021) Changed paths: M .github/workflows/ci.yml Log Message: ----------- Fix whitelist problem for Windows CI Commit: dfd664c1f21a7e545859cfb6c5022760e8df07b9 https://github.com/MLton/mlton/commit/dfd664c1f21a7e545859cfb6c5022760e8df07b9 Author: Matthew Fluet <Mat...@gm...> Date: 2021-08-31 (Tue, 31 Aug 2021) Changed paths: M .github/workflows/ci.yml Log Message: ----------- Merge pull request #447 from melted/windows_actions Add workflow for Windows Compare: https://github.com/MLton/mlton/compare/9db567155f2f...dfd664c1f21a |
From: 'Matthew F. v. MLton-c. <mlt...@ml...> - 2021-08-20 01:03:39
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: e67e2013fa70583e87694fccb0607959b48e2291 https://github.com/MLton/mlton/commit/e67e2013fa70583e87694fccb0607959b48e2291 Author: Matthew Fluet <mat...@gm...> Date: 2021-08-19 (Thu, 19 Aug 2021) Changed paths: M .github/workflows/ci.yml Log Message: ----------- Run GitHub CI Action on all pull_request events Commit: 418751254b6eee8d18e2dee91403064a2f539180 https://github.com/MLton/mlton/commit/418751254b6eee8d18e2dee91403064a2f539180 Author: Matthew Fluet <mat...@gm...> Date: 2021-08-19 (Thu, 19 Aug 2021) Changed paths: M .github/workflows/ci.yml Log Message: ----------- Exclude `ubuntu`/`amd64`/`clang` from GitHub CI Action matrix Commit: f724a870895075cda6f762b5bc921caf9cba3085 https://github.com/MLton/mlton/commit/f724a870895075cda6f762b5bc921caf9cba3085 Author: Matthew Fluet <mat...@gm...> Date: 2021-08-19 (Thu, 19 Aug 2021) Changed paths: M .github/workflows/ci.yml Log Message: ----------- Build all position independence style variants of runtime Commit: 85026ca630c15c4328f7ae75f20aa802e574568a https://github.com/MLton/mlton/commit/85026ca630c15c4328f7ae75f20aa802e574568a Author: Matthew Fluet <mat...@gm...> Date: 2021-08-19 (Thu, 19 Aug 2021) Changed paths: M bin/regression Log Message: ----------- Remove use of associative arrays in `bin/regression` MacOS's `/bin/bash` is old and doesn't support associative arrays. Commit: 7eee7595ce83133db6d0e7c4ab9747798dccc423 https://github.com/MLton/mlton/commit/7eee7595ce83133db6d0e7c4ab9747798dccc423 Author: Matthew Fluet <mat...@gm...> Date: 2021-08-19 (Thu, 19 Aug 2021) Changed paths: M bin/regression M regression/whitelist Log Message: ----------- Tweak compilation flags for `regression/world*` tests Commit: 466bc5c41babf3dcb552da7dd26f968add1b22a4 https://github.com/MLton/mlton/commit/466bc5c41babf3dcb552da7dd26f968add1b22a4 Author: Matthew Fluet <mat...@gm...> Date: 2021-08-19 (Thu, 19 Aug 2021) Changed paths: M .github/workflows/ci.yml Log Message: ----------- Formatting of `.github/workflows/ci.yml` Commit: 870d8f18fb72a2544d9c262972e571bd80d14475 https://github.com/MLton/mlton/commit/870d8f18fb72a2544d9c262972e571bd80d14475 Author: Matthew Fluet <mat...@gm...> Date: 2021-08-19 (Thu, 19 Aug 2021) Changed paths: M .github/workflows/ci.yml Log Message: ----------- Homebrew's `clang` does not have `/usr/local` on include or lib paths Commit: 9db567155f2fd72fef450c33cfe7d7ce4e1bbbe5 https://github.com/MLton/mlton/commit/9db567155f2fd72fef450c33cfe7d7ce4e1bbbe5 Author: Matthew Fluet <Mat...@gm...> Date: 2021-08-19 (Thu, 19 Aug 2021) Changed paths: M .github/workflows/ci.yml M bin/regression M regression/whitelist Log Message: ----------- Merge pull request #446 from MatthewFluet/ci-updates More GitHub Actions CI updates Compare: https://github.com/MLton/mlton/compare/3f4c5c339b2b...9db567155f2f |
From: 'Matthew F. v. MLton-c. <mlt...@ml...> - 2021-08-19 15:53:50
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: f1c81b30fe89fe251f1f57f6e8c712dd41be1059 https://github.com/MLton/mlton/commit/f1c81b30fe89fe251f1f57f6e8c712dd41be1059 Author: Matthew Fluet <mat...@gm...> Date: 2021-08-16 (Mon, 16 Aug 2021) Changed paths: M mlton/ssa/local-ref.fun Log Message: ----------- Use `FlatLatticeMono` in `LocalRef` Commit: f037f5003d48dbc9803b03b98d94b837c9f45453 https://github.com/MLton/mlton/commit/f037f5003d48dbc9803b03b98d94b837c9f45453 Author: Matthew Fluet <mat...@gm...> Date: 2021-08-16 (Mon, 16 Aug 2021) Changed paths: M lib/mlton/lattice/flat-lattice.fun M lib/mlton/lattice/flat-lattice.sig Log Message: ----------- Add `Value.is{Bottom,Point{,Eq},Top` to `functor FlatLatticeRec` Commit: f955b54b333dfea3ce01cac16268e49fe50d5a5f https://github.com/MLton/mlton/commit/f955b54b333dfea3ce01cac16268e49fe50d5a5f Author: Matthew Fluet <mat...@gm...> Date: 2021-08-16 (Mon, 16 Aug 2021) Changed paths: M lib/mlton/lattice/flat-lattice.fun M lib/mlton/lattice/flat-lattice.sig Log Message: ----------- Export `lowerBoundPoint` in `functor FlatLatticeRec` Commit: c653d7b20eda461929ea261ca3619dfdb6b33e5b https://github.com/MLton/mlton/commit/c653d7b20eda461929ea261ca3619dfdb6b33e5b Author: Matthew Fluet <mat...@gm...> Date: 2021-08-16 (Mon, 16 Aug 2021) Changed paths: M lib/mlton/lattice/flat-lattice.fun Log Message: ----------- Constrain `new{,Bottom,Point,Top}` in `functor FlatLatticeMono` Helps with type inference, especially for SML/NJ. Commit: 09c5e9cdb3489255b7eeefc02e4c1b22ff7a748c https://github.com/MLton/mlton/commit/09c5e9cdb3489255b7eeefc02e4c1b22ff7a748c Author: Matthew Fluet <mat...@gm...> Date: 2021-08-16 (Mon, 16 Aug 2021) Changed paths: M mlton/backend/implement-handlers.fun Log Message: ----------- Use `functor FlatLatticeMono` in `ImplementHandlers` Commit: f362aa301b2d3b4df2c0c006792d579910a6c553 https://github.com/MLton/mlton/commit/f362aa301b2d3b4df2c0c006792d579910a6c553 Author: Matthew Fluet <mat...@gm...> Date: 2021-08-16 (Mon, 16 Aug 2021) Changed paths: M mlton/backend/rssa-type-check.fun Log Message: ----------- Use `functor FlatLatticeMono` in `RssaTypeCheck` Commit: b2fca3d7e8b33ead1f667f995b194e2c4475595a https://github.com/MLton/mlton/commit/b2fca3d7e8b33ead1f667f995b194e2c4475595a Author: Matthew Fluet <mat...@gm...> Date: 2021-08-16 (Mon, 16 Aug 2021) Changed paths: M lib/mlton/lattice/flat-lattice.fun M lib/mlton/lattice/flat-lattice.sig M lib/mlton/lattice/sources.cm M lib/mlton/lattice/sources.mlb M lib/mlton/sources.cm M lib/mlton/sources.mlb Log Message: ----------- Remove old `functor FlatLattice(S: FLAT_LATTICE_STRUCTS): FLAT_LATTICE` Commit: f8c00b04d097a5c2b4d24091902ad751045d041a https://github.com/MLton/mlton/commit/f8c00b04d097a5c2b4d24091902ad751045d041a Author: Matthew Fluet <mat...@gm...> Date: 2021-08-18 (Wed, 18 Aug 2021) Changed paths: M mlton/backend/implement-profiling.fun Log Message: ----------- Minimize `curSourceSeqsIndex` updates with `-profile time-field` Previously, `-profile time-field` was implemented by updating the `curSourceSeqsIndex` field whenever a profile label would be inserted for `-profile time-label`. However, profile labels are inserted for code coverage properties (in particular, at the beginning of every basic block), whether or not the `sourceSeqsIndex` is changing at the control-flow point. Now, we only update `curSourceSeqsIndex` at control-flow points where the `sourceSeqsIndex` changes. In particular, an update is inserted at the beginning of each function and at the beginning of each `Cont` and `Handler` blocks. The overhead of `-profile time-field` is reduced and, in fact, is now lower than that of `-profile time-label` (possibly due to the overhead of binary searching for the label). $ ./build/bin/mlton -codegen amd64 -profile time-label hamlet.mlb $ ./hamlet 100 > /dev/null mlprof -thresh 3.0 hamlet mlmon.out 12.84 seconds of CPU time (2.41 seconds GC) function cur ------------------------------------ ----- <gc> 15.8% _res_Integer.scan 15.8% _res_BinaryMapFn.find.mem 10.0% Lab.compare 7.7% _res_BinaryMapFn.insert 6.8% _res_Sequence.make2 4.4% _res_BinaryMapFn.N 3.5% _res_PrimSequence.Slice.collate.loop 3.2% _res_BinaryMapFn.T' 3.2% $ ./build/bin/mlton -codegen amd64 -profile time-field hamlet.mlb $ ./hamlet 100 > /dev/null mlprof -thresh 3.0 hamlet mlmon.out 11.68 seconds of CPU time (2.53 seconds GC) function cur ------------------------------------ ----- <gc> 17.8% _res_Integer.scan 15.0% _res_BinaryMapFn.insert 6.4% _res_PrimSequence.Slice.collate.loop 5.7% _res_BinaryMapFn.find.mem 4.9% _res_BinaryMapFn.T' 4.9% _res_Sequence.make2 4.9% _res_Integer.scan.negate 4.1% Lab.compare 3.9% Primitive.Exn.mkOverflow.fn 3.7% _res_BinaryMapFn.N 3.3% Commit: 84a54227daa12899e9c652fc1a09b77caf466e09 https://github.com/MLton/mlton/commit/84a54227daa12899e9c652fc1a09b77caf466e09 Author: Matthew Fluet <mat...@gm...> Date: 2021-08-18 (Wed, 18 Aug 2021) Changed paths: M mlton/backend/backend.fun M mlton/backend/implement-profiling.fun M mlton/backend/machine.fun M mlton/codegen/c-codegen/c-codegen.fun M mlton/codegen/llvm-codegen/llvm-codegen.fun M mlton/control/control-flags.sig M mlton/control/control-flags.sml M mlton/main/main.fun Log Message: ----------- Eliminate `-profile time-label` compile-time option Commit: 88fdfb696de803e537bc264730f460161edd7dad https://github.com/MLton/mlton/commit/88fdfb696de803e537bc264730f460161edd7dad Author: Matthew Fluet <mat...@gm...> Date: 2021-08-18 (Wed, 18 Aug 2021) Changed paths: M mlton/backend/implement-profiling.fun M mlton/codegen/c-codegen/c-codegen.fun M mlton/control/control-flags.sig M mlton/control/control-flags.sml M mlton/main/main.fun Log Message: ----------- Eliminate `-profile label` compile-time option Commit: ab44f850aa9b804900f92068f8ef6f62753df3de https://github.com/MLton/mlton/commit/ab44f850aa9b804900f92068f8ef6f62753df3de Author: Matthew Fluet <mat...@gm...> Date: 2021-08-18 (Wed, 18 Aug 2021) Changed paths: M mlton/backend/implement-profiling.fun Log Message: ----------- Simplify `ImplementProfiling` given removal of `-profile time-label` Commit: ed6bba7788f7c7ea41f06af4c32a8f8ae9a1d586 https://github.com/MLton/mlton/commit/ed6bba7788f7c7ea41f06af4c32a8f8ae9a1d586 Author: Matthew Fluet <mat...@gm...> Date: 2021-08-18 (Wed, 18 Aug 2021) Changed paths: M runtime/gc/profiling.c M runtime/gc/profiling.h M runtime/gc/sources.c M runtime/gc/sources.h Log Message: ----------- Eliminate `PROFILE_TIME_LABEL` in runtime Commit: 3f4c2d8ba9174f37e7fc1fdeebd93ebccbdf9d4b https://github.com/MLton/mlton/commit/3f4c2d8ba9174f37e7fc1fdeebd93ebccbdf9d4b Author: Matthew Fluet <mat...@gm...> Date: 2021-08-18 (Wed, 18 Aug 2021) Changed paths: M mlton/backend/backend.fun M mlton/backend/chunkify.fun M mlton/backend/machine.fun M mlton/backend/machine.sig M mlton/backend/rssa-tree.fun M mlton/backend/rssa-tree.sig M mlton/backend/rssa-type-check.fun M mlton/codegen/amd64-codegen/amd64-translate.fun M mlton/codegen/c-codegen/c-codegen.fun M mlton/codegen/llvm-codegen/llvm-codegen.fun M mlton/codegen/x86-codegen/x86-translate.fun Log Message: ----------- Eliminate `ProfileLabel` statement in RSSA and Machine ILs Commit: 400bcb283d16a562ae7b73a43c8fbf7f12105e10 https://github.com/MLton/mlton/commit/400bcb283d16a562ae7b73a43c8fbf7f12105e10 Author: Matthew Fluet <mat...@gm...> Date: 2021-08-18 (Wed, 18 Aug 2021) Changed paths: M mlton/codegen/x86-codegen/peephole.fun M mlton/codegen/x86-codegen/peephole.sig M mlton/codegen/x86-codegen/x86-codegen.fun M mlton/codegen/x86-codegen/x86-generate-transfers.fun M mlton/codegen/x86-codegen/x86-generate-transfers.sig M mlton/codegen/x86-codegen/x86-liveness.fun M mlton/codegen/x86-codegen/x86-liveness.sig M mlton/codegen/x86-codegen/x86-mlton-basic.sig M mlton/codegen/x86-codegen/x86-pseudo.sig M mlton/codegen/x86-codegen/x86-simplify.fun M mlton/codegen/x86-codegen/x86-simplify.sig M mlton/codegen/x86-codegen/x86.fun M mlton/codegen/x86-codegen/x86.sig Log Message: ----------- Eliminate `ProfileLabel` from x86 codegen Commit: 93156c749a8134f5519e4e9abc3ef3552f00e073 https://github.com/MLton/mlton/commit/93156c749a8134f5519e4e9abc3ef3552f00e073 Author: Matthew Fluet <mat...@gm...> Date: 2021-08-18 (Wed, 18 Aug 2021) Changed paths: M mlton/codegen/amd64-codegen/amd64-codegen.fun M mlton/codegen/amd64-codegen/amd64-generate-transfers.fun M mlton/codegen/amd64-codegen/amd64-generate-transfers.sig M mlton/codegen/amd64-codegen/amd64-liveness.fun M mlton/codegen/amd64-codegen/amd64-liveness.sig M mlton/codegen/amd64-codegen/amd64-mlton-basic.sig M mlton/codegen/amd64-codegen/amd64-pseudo.sig M mlton/codegen/amd64-codegen/amd64-simplify.fun M mlton/codegen/amd64-codegen/amd64-simplify.sig M mlton/codegen/amd64-codegen/amd64.fun M mlton/codegen/amd64-codegen/amd64.sig M mlton/codegen/amd64-codegen/peephole.fun M mlton/codegen/amd64-codegen/peephole.sig Log Message: ----------- Eliminate `ProfileLabel` from amd64 codegen Commit: b301de17b055a63fb87177f0fa3acfa915f05951 https://github.com/MLton/mlton/commit/b301de17b055a63fb87177f0fa3acfa915f05951 Author: Matthew Fluet <mat...@gm...> Date: 2021-08-18 (Wed, 18 Aug 2021) Changed paths: M mlton/atoms/sources.cm M mlton/atoms/sources.mlb Log Message: ----------- Remove unused `signature PROFILE_LABEL` from export list Commit: cb61e11a72b99295e89887f64f35e3705e6ba84d https://github.com/MLton/mlton/commit/cb61e11a72b99295e89887f64f35e3705e6ba84d Author: Matthew Fluet <mat...@gm...> Date: 2021-08-18 (Wed, 18 Aug 2021) Changed paths: M include/common-main.h M mlton/atoms/atoms.fun M mlton/atoms/atoms.sig M mlton/atoms/source-maps.fun M mlton/atoms/source-maps.sig M mlton/backend/implement-profiling.fun M mlton/backend/machine.fun M mlton/backend/rssa-type-check.fun M mlton/codegen/c-codegen/c-codegen.fun M runtime/gc/sources.h Log Message: ----------- Eliminate `profileLabelInfos` from `SourceMaps.T` and `GC_sourceMaps` Commit: a8bd4d2a76e53c13197a5e0d2daa4deb80a05ac5 https://github.com/MLton/mlton/commit/a8bd4d2a76e53c13197a5e0d2daa4deb80a05ac5 Author: Matthew Fluet <mat...@gm...> Date: 2021-08-18 (Wed, 18 Aug 2021) Changed paths: M mlton/atoms/atoms.fun M mlton/atoms/atoms.sig R mlton/atoms/profile-label.fun R mlton/atoms/profile-label.sig M mlton/atoms/sources.cm M mlton/atoms/sources.mlb Log Message: ----------- Eliminate `Atoms.ProfileLabel` Commit: 075eaef1c05087384a3aa7f40a000d714d14b9d9 https://github.com/MLton/mlton/commit/075eaef1c05087384a3aa7f40a000d714d14b9d9 Author: Matthew Fluet <mat...@gm...> Date: 2021-08-18 (Wed, 18 Aug 2021) Changed paths: M mlton/backend/implement-profiling.fun M mlton/codegen/c-codegen/c-codegen.fun M mlton/codegen/llvm-codegen/llvm-codegen.fun M mlton/control/control-flags.sig M mlton/control/control-flags.sml M mlton/main/main.fun M runtime/gc/profiling.c M runtime/gc/profiling.h Log Message: ----------- Rename `ProfileTimeField`/`PROFILE_TIME_FIELD` to `ProfileTime`/`PROFILE_TIME` Commit: 8b8e2152266312e6e727f3e263cbb82166993a43 https://github.com/MLton/mlton/commit/8b8e2152266312e6e727f3e263cbb82166993a43 Author: Matthew Fluet <mat...@gm...> Date: 2021-08-18 (Wed, 18 Aug 2021) Changed paths: M mlton/main/main.fun M runtime/gc/profiling.c M runtime/gc/profiling.h M runtime/platform.h R runtime/platform/android_ucontext.h M runtime/platform/darwin.c M runtime/platform/darwin.h M runtime/platform/freebsd.c M runtime/platform/freebsd.h M runtime/platform/hpux.c M runtime/platform/linux.c M runtime/platform/linux.h M runtime/platform/mingw.c M runtime/platform/netbsd.c M runtime/platform/openbsd.c M runtime/platform/solaris.c M runtime/platform/solaris.h M runtime/util/pointer.h Log Message: ----------- Eliminate `GC_setSigProfHandler` With the elimination of `-profile time-label`, there is no need to extract the program counter in the `SIGPROF` signal handler and all of the very low-level and architecture / os specific trickery for doing so can be removed. Commit: 6c6d54a4ed47d28191c41530615b7d5a1d58f9e6 https://github.com/MLton/mlton/commit/6c6d54a4ed47d28191c41530615b7d5a1d58f9e6 Author: Matthew Fluet <mat...@gm...> Date: 2021-08-19 (Thu, 19 Aug 2021) Changed paths: M doc/guide/src/HowProfilingWorks.adoc M doc/guide/src/ProfilingTime.adoc Log Message: ----------- Update documentation for time profiling Commit: 15db4e33ef51138397277dc5886bc7b8b2482068 https://github.com/MLton/mlton/commit/15db4e33ef51138397277dc5886bc7b8b2482068 Author: Matthew Fluet <mat...@gm...> Date: 2021-08-19 (Thu, 19 Aug 2021) Changed paths: M CHANGELOG.adoc Log Message: ----------- Update `CHANGELOG.adoc` Commit: 3f4c5c339b2b79e61f4007cb6055e694a1a4169d https://github.com/MLton/mlton/commit/3f4c5c339b2b79e61f4007cb6055e694a1a4169d Author: Matthew Fluet <Mat...@gm...> Date: 2021-08-19 (Thu, 19 Aug 2021) Changed paths: M CHANGELOG.adoc M doc/guide/src/HowProfilingWorks.adoc M doc/guide/src/ProfilingTime.adoc M include/common-main.h M lib/mlton/lattice/flat-lattice.fun M lib/mlton/lattice/flat-lattice.sig M lib/mlton/lattice/sources.cm M lib/mlton/lattice/sources.mlb M lib/mlton/sources.cm M lib/mlton/sources.mlb M mlton/atoms/atoms.fun M mlton/atoms/atoms.sig R mlton/atoms/profile-label.fun R mlton/atoms/profile-label.sig M mlton/atoms/source-maps.fun M mlton/atoms/source-maps.sig M mlton/atoms/sources.cm M mlton/atoms/sources.mlb M mlton/backend/backend.fun M mlton/backend/chunkify.fun M mlton/backend/implement-handlers.fun M mlton/backend/implement-profiling.fun M mlton/backend/machine.fun M mlton/backend/machine.sig M mlton/backend/rssa-tree.fun M mlton/backend/rssa-tree.sig M mlton/backend/rssa-type-check.fun M mlton/codegen/amd64-codegen/amd64-codegen.fun M mlton/codegen/amd64-codegen/amd64-generate-transfers.fun M mlton/codegen/amd64-codegen/amd64-generate-transfers.sig M mlton/codegen/amd64-codegen/amd64-liveness.fun M mlton/codegen/amd64-codegen/amd64-liveness.sig M mlton/codegen/amd64-codegen/amd64-mlton-basic.sig M mlton/codegen/amd64-codegen/amd64-pseudo.sig M mlton/codegen/amd64-codegen/amd64-simplify.fun M mlton/codegen/amd64-codegen/amd64-simplify.sig M mlton/codegen/amd64-codegen/amd64-translate.fun M mlton/codegen/amd64-codegen/amd64.fun M mlton/codegen/amd64-codegen/amd64.sig M mlton/codegen/amd64-codegen/peephole.fun M mlton/codegen/amd64-codegen/peephole.sig M mlton/codegen/c-codegen/c-codegen.fun M mlton/codegen/llvm-codegen/llvm-codegen.fun M mlton/codegen/x86-codegen/peephole.fun M mlton/codegen/x86-codegen/peephole.sig M mlton/codegen/x86-codegen/x86-codegen.fun M mlton/codegen/x86-codegen/x86-generate-transfers.fun M mlton/codegen/x86-codegen/x86-generate-transfers.sig M mlton/codegen/x86-codegen/x86-liveness.fun M mlton/codegen/x86-codegen/x86-liveness.sig M mlton/codegen/x86-codegen/x86-mlton-basic.sig M mlton/codegen/x86-codegen/x86-pseudo.sig M mlton/codegen/x86-codegen/x86-simplify.fun M mlton/codegen/x86-codegen/x86-simplify.sig M mlton/codegen/x86-codegen/x86-translate.fun M mlton/codegen/x86-codegen/x86.fun M mlton/codegen/x86-codegen/x86.sig M mlton/control/control-flags.sig M mlton/control/control-flags.sml M mlton/main/main.fun M mlton/ssa/local-ref.fun M runtime/gc/profiling.c M runtime/gc/profiling.h M runtime/gc/sources.c M runtime/gc/sources.h M runtime/platform.h R runtime/platform/android_ucontext.h M runtime/platform/darwin.c M runtime/platform/darwin.h M runtime/platform/freebsd.c M runtime/platform/freebsd.h M runtime/platform/hpux.c M runtime/platform/linux.c M runtime/platform/linux.h M runtime/platform/mingw.c M runtime/platform/netbsd.c M runtime/platform/openbsd.c M runtime/platform/solaris.c M runtime/platform/solaris.h M runtime/util/pointer.h Log Message: ----------- Merge pull request #445 from MatthewFluet/elim-profile-time-label Eliminate `-profile time-label` and supporting infrastructure Time profiling with the native codegens worked by inserting labels that cover the code (i.e. each statement has a unique label in its basic block that precedes it) and associates each label with the local control stack. At runtime, the `SIGPROF` handler needed to extract the current program counter and map that to the current source function (by performing a binary search through all of the declared profiling labels). Extracting the current program counter in the `SIGPROF` handler required very low-level and architecture / os specific code and was always something tricky to get right on new platforms (and was blindly extended to non-x86/amd64 architectures, despite never being used on such platforms). In the distant past, this approach was also used with the C codegen, but it proved to be too difficult to inject profiling lables into C code in a manner that wasn't corrupted by compiler optimizations (e.g., inlining or basic block duplication could duplicate profiling labels, leading to the same label being defined multiple times in the program). A `-profile time-field` approach for non-native codegens was added in 6e79a399d, which works by inserting code that sets a `volatile uint32_t curSourceSeqIndex` field of the `GCState` that records the local control stack, but had slightly higher overhead than `-profile time-label` on the native codegens. This pull request eliminates `-profile time-label` and all of its supporting infrastructure. The slightly higher overhead of `-profile time-field` over `-profile time-label` on the native codegens was due to the naive approach of writing to the `curSourceSeqIndex` field whenever a profiling lable would have been emitted. However, this sets the `curSourceSeqIndex` field more often than necessary; in particular, at the beginning of every basic block, whether or not the `sourceSeqsIndex` is changing at the control-flow point. In f8c00b04d, the implementation of `-profile time-field` was improved to only update `curSourceSeqsIndex` at control-flow points where the `sourceSeqsIndex` changes. In particular, an update is inserted at the beginning of each function and at the beginning of each `Cont` and `Handler` blocks. This reduced the overhead of `-profile time-field` to be less than that of `-profile time-label` on the native codegens (possibly due to the overhead of binary searching for the profile label). Compare: https://github.com/MLton/mlton/compare/41f72537c436...3f4c5c339b2b |
From: 'Matthew F. v. MLton-c. <mlt...@ml...> - 2021-08-12 21:12:07
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 96e56d901bf653a4a52f184a87771e48006c11fd https://github.com/MLton/mlton/commit/96e56d901bf653a4a52f184a87771e48006c11fd Author: Matthew Fluet <mat...@gm...> Date: 2021-08-11 (Wed, 11 Aug 2021) Changed paths: M .travis.yml Log Message: ----------- Update Homebrew, to avoid building `mlton` from source Commit: c4bb68aece408ae3dfa77971b60d2d6911523905 https://github.com/MLton/mlton/commit/c4bb68aece408ae3dfa77971b60d2d6911523905 Author: Matthew Fluet <mat...@gm...> Date: 2021-08-11 (Wed, 11 Aug 2021) Changed paths: M .travis.yml Log Message: ----------- Update TravisCI to `xcode12` Commit: f7e173af6c3ada50132e35d8ed7970dec2b20ab6 https://github.com/MLton/mlton/commit/f7e173af6c3ada50132e35d8ed7970dec2b20ab6 Author: Matthew Fluet <mat...@gm...> Date: 2021-08-11 (Wed, 11 Aug 2021) Changed paths: A .github/workflows/ci.yml Log Message: ----------- Experiment with GitHub Action Commit: 22e079313cb0469bd613113b375930e43a3a82cf https://github.com/MLton/mlton/commit/22e079313cb0469bd613113b375930e43a3a82cf Author: Matthew Fluet <mat...@gm...> Date: 2021-08-12 (Thu, 12 Aug 2021) Changed paths: M .github/workflows/ci.yml Log Message: ----------- Tweak GitHub Action Commit: 12ad9917f4f9cc11607adb60984c228e4b229193 https://github.com/MLton/mlton/commit/12ad9917f4f9cc11607adb60984c228e4b229193 Author: Matthew Fluet <mat...@gm...> Date: 2021-08-12 (Thu, 12 Aug 2021) Changed paths: M regression/whitelist Log Message: ----------- Add `ieee-real` and `real-str` to whitelist LLVM assumes that the rounding mode is always round-to-nearest. Commit: 644a24611c85ebbc2674b87d59bac9526e2d9950 https://github.com/MLton/mlton/commit/644a24611c85ebbc2674b87d59bac9526e2d9950 Author: Matthew Fluet <mat...@gm...> Date: 2021-08-12 (Thu, 12 Aug 2021) Changed paths: R .travis.yml M README.adoc R bin/travis-ci Log Message: ----------- Remove TravisCI Commit: 8c7a93994d98df87f5e45e49c27ea681faa70593 https://github.com/MLton/mlton/commit/8c7a93994d98df87f5e45e49c27ea681faa70593 Author: Matthew Fluet <mat...@gm...> Date: 2021-08-12 (Thu, 12 Aug 2021) Changed paths: M README.adoc Log Message: ----------- Add GitHub Action CI badge Commit: 54ef68454bd9c6c38a6105969dacdaacb646ba9b https://github.com/MLton/mlton/commit/54ef68454bd9c6c38a6105969dacdaacb646ba9b Author: Matthew Fluet <mat...@gm...> Date: 2021-08-12 (Thu, 12 Aug 2021) Changed paths: M .github/workflows/ci.yml Log Message: ----------- Experiment with CI GitHub Action matrix Commit: 41f72537c43687e93a7b1e46dbf850e3a267a796 https://github.com/MLton/mlton/commit/41f72537c43687e93a7b1e46dbf850e3a267a796 Author: Matthew Fluet <Mat...@gm...> Date: 2021-08-12 (Thu, 12 Aug 2021) Changed paths: A .github/workflows/ci.yml R .travis.yml M README.adoc R bin/travis-ci M regression/whitelist Log Message: ----------- Merge pull request #444 from MatthewFluet/ci-updates Switch from TravisCI to GitHub Actions Compare: https://github.com/MLton/mlton/compare/ede0d6da66ce...41f72537c436 |
From: 'Matthew F. v. MLton-c. <mlt...@ml...> - 2021-08-03 17:07:47
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 0b531fa396485f39d6e43a2342c3caaaa059e1ad https://github.com/MLton/mlton/commit/0b531fa396485f39d6e43a2342c3caaaa059e1ad Author: Matthew Fluet <mat...@gm...> Date: 2021-07-17 (Sat, 17 Jul 2021) Changed paths: M mlton/atoms/c-symbol.fun Log Message: ----------- Match `layout` and `parse` for `CSymbol` Commit: e876ef1851cf4bd7e88f1359b34996d9369e234d https://github.com/MLton/mlton/commit/e876ef1851cf4bd7e88f1359b34996d9369e234d Author: Matthew Fluet <mat...@gm...> Date: 2021-07-17 (Sat, 17 Jul 2021) Changed paths: M lib/mlton/basic/list.sig M lib/mlton/basic/list.sml Log Message: ----------- Add `List.empty` and `List.single` to MLton Library Commit: d7e27d9c519bdf10dfb08f9f2305b8c06396e071 https://github.com/MLton/mlton/commit/d7e27d9c519bdf10dfb08f9f2305b8c06396e071 Author: Matthew Fluet <mat...@gm...> Date: 2021-07-17 (Sat, 17 Jul 2021) Changed paths: M lib/mlton/basic/parse.sml Log Message: ----------- Fix bug in `Parse.each` Commit: 9014b7d6736db48f569dceccc70b02891d93a18a https://github.com/MLton/mlton/commit/9014b7d6736db48f569dceccc70b02891d93a18a Author: Matthew Fluet <mat...@gm...> Date: 2021-07-17 (Sat, 17 Jul 2021) Changed paths: M mlton/atoms/id.fun Log Message: ----------- Parse IL identifiers like `^Env_123` Commit: aa4c0ada5be293fceae98b7829b54292776af7a5 https://github.com/MLton/mlton/commit/aa4c0ada5be293fceae98b7829b54292776af7a5 Author: Matthew Fluet <mat...@gm...> Date: 2021-07-17 (Sat, 17 Jul 2021) Changed paths: M mlton/backend/machine.fun M mlton/backend/rssa-simplify.fun M mlton/control/control-flags.sig M mlton/control/control-flags.sml M mlton/control/control.sig M mlton/control/control.sml M mlton/main/compile.fun M mlton/main/main.fun M mlton/ssa/simplify.fun M mlton/ssa/simplify2.fun M mlton/xml/polyvariance.fun M mlton/xml/sxml-simplify.fun M mlton/xml/xml-simplify.fun Log Message: ----------- Control type-checking of ILs with `-{enable,disable}-pass` Use `-{enable-disable}-pass '.*:typeCheck'` to control type-checking of ILs in individual simplify passes, simplify pipelines, and translation passes. The overall default behavior is the same, but rather than type checking at the beginning and end of each IL simplify pipeline, we now type check at the end of each translation pass and the end of each IL simplify pipeline. (For example, previously, we type checked at the beginning and end of `ssaSimplify`, but now we type check at the end of `closureConvert` and the end of `ssaSimplify` (and not at the beginning of `ssaSimplify`).) In addition, it is possible to enable type checking for exactly one simplify pass (e.g., `-enable-pass 'constantPropagation:typeCheck'`) without needing to type check every pass. Commit: f85ac692614c3e3933c57c6f1b7a4a192f9540af https://github.com/MLton/mlton/commit/f85ac692614c3e3933c57c6f1b7a4a192f9540af Author: Matthew Fluet <mat...@gm...> Date: 2021-07-17 (Sat, 17 Jul 2021) Changed paths: M mlton/ssa/constant-propagation.fun Log Message: ----------- Report statistics on number of constant variables in `ConstantPropagation` Commit: 7dc17e89ca0aba0378f27b466625c972a20a12b2 https://github.com/MLton/mlton/commit/7dc17e89ca0aba0378f27b466625c972a20a12b2 Author: Matthew Fluet <mat...@gm...> Date: 2021-07-17 (Sat, 17 Jul 2021) Changed paths: M mlton/ssa/constant-propagation.fun Log Message: ----------- Print circular abstract values in `ConstantPropagation` Commit: 3278b36f8ddbb50eb65b7b239197b0f567d38c45 https://github.com/MLton/mlton/commit/3278b36f8ddbb50eb65b7b239197b0f567d38c45 Author: Matthew Fluet <mat...@gm...> Date: 2021-07-17 (Sat, 17 Jul 2021) Changed paths: M mlton/control/control-flags.sig M mlton/control/control-flags.sml M mlton/main/main.fun M mlton/ssa/constant-propagation.fun Log Message: ----------- Add control for cut-off depth for printing of abs vals in `ConstantPropagation` Commit: 870cc52b51ab1ed05361a4840757538ef4997681 https://github.com/MLton/mlton/commit/870cc52b51ab1ed05361a4840757538ef4997681 Author: Matthew Fluet <mat...@gm...> Date: 2021-07-17 (Sat, 17 Jul 2021) Changed paths: M mlton/ssa/constant-propagation.fun Log Message: ----------- Preserve `Vector` args to `SideEffect` prims in `ConstantPropagation` A `Vector` is assumed to be immutable and therefore should not be mutated (even by a `SideEffect` prim). Thus, constant elements of a vector need not be pushed to `Unknown`. Commit: 96024a85a209d70d5bb2c72cd6da10a9f963569b https://github.com/MLton/mlton/commit/96024a85a209d70d5bb2c72cd6da10a9f963569b Author: Matthew Fluet <mat...@gm...> Date: 2021-07-17 (Sat, 17 Jul 2021) Changed paths: M mlton/ssa/constant-propagation.fun Log Message: ----------- Fix bug in `ConstantPropagations.sendConApp` When looping through ConApp coercions, `sendConApp` unnecessarily called `makeDataUnknown` on the *original* datatype abstract value, rather than the *current* datatype abstract value. This could force more datatype abstract values than necessary to `Unknown`. Commit: 45a71cde65e23dff42d26ab21cfff74b1a20b170 https://github.com/MLton/mlton/commit/45a71cde65e23dff42d26ab21cfff74b1a20b170 Author: Matthew Fluet <mat...@gm...> Date: 2021-07-17 (Sat, 17 Jul 2021) Changed paths: M mlton/ssa/constant-propagation.fun Log Message: ----------- Layout `Birth` details in `ConstantPropagation` Commit: d96cd4ccd2b11277a667a56c91fdf5a4631d18ba https://github.com/MLton/mlton/commit/d96cd4ccd2b11277a667a56c91fdf5a4631d18ba Author: Matthew Fluet <mat...@gm...> Date: 2021-07-17 (Sat, 17 Jul 2021) Changed paths: M mlton/ssa/constant-propagation.fun Log Message: ----------- Fix latent bugs in "birth" of array abstract values in `ConstantPropagation` The previous implementation has latent bugs for `Array_Alloc {raw = false}` and `Array_Array` primitives. Commit: f04c7771c7cda1853843e36ddd1fc040e87082a0 https://github.com/MLton/mlton/commit/f04c7771c7cda1853843e36ddd1fc040e87082a0 Author: Matthew Fluet <mat...@gm...> Date: 2021-07-26 (Mon, 26 Jul 2021) Changed paths: M lib/mlton/basic/ref.sig M lib/mlton/basic/ref.sml Log Message: ----------- Add `Ref.new` to MLton Library Commit: 7b45623340827c1e246fd5c100b8c28e65186fe0 https://github.com/MLton/mlton/commit/7b45623340827c1e246fd5c100b8c28e65186fe0 Author: Matthew Fluet <mat...@gm...> Date: 2021-07-28 (Wed, 28 Jul 2021) Changed paths: M lib/mlton/lattice/flat-lattice.fun M lib/mlton/lattice/flat-lattice.sig M lib/mlton/lattice/sources.cm M lib/mlton/lattice/sources.mlb M lib/mlton/sources.cm M lib/mlton/sources.mlb Log Message: ----------- Introduce `functor FlatLattice{Rec,Poly,Param,Mono}` Commit: a3ad33988f6f25e9f563132fcf840c54730ee558 https://github.com/MLton/mlton/commit/a3ad33988f6f25e9f563132fcf840c54730ee558 Author: Matthew Fluet <mat...@gm...> Date: 2021-07-28 (Wed, 28 Jul 2021) Changed paths: M mlton/ssa/constant-propagation.fun Log Message: ----------- Use `functor FlatLatticeParam` for `structure Birth` in `ConstantPropagation` Replaces a bespoke flat lattice implementation with a generic one. Commit: 6f082e29b9c6a0edd6c7320b457c7f0fa615e3f2 https://github.com/MLton/mlton/commit/6f082e29b9c6a0edd6c7320b457c7f0fa615e3f2 Author: Matthew Fluet <mat...@gm...> Date: 2021-07-28 (Wed, 28 Jul 2021) Changed paths: M mlton/ssa/constant-propagation.fun Log Message: ----------- Use `functor FlatLatticeMono` for `structure Const` in `ConstantPropagation` Replaces a bespoke flat lattice implementation with a generic one. Commit: 6dfd5574c0c6c482594954a0acc88b286742ce27 https://github.com/MLton/mlton/commit/6dfd5574c0c6c482594954a0acc88b286742ce27 Author: Matthew Fluet <mat...@gm...> Date: 2021-07-28 (Wed, 28 Jul 2021) Changed paths: M mlton/ssa/constant-propagation.fun Log Message: ----------- Rename `de{vector,array}` to `{vector,array}Elt` in `ConstantPropagation` Commit: 4c731d1280a50de5ad5ebe523d3c41023d10e4c7 https://github.com/MLton/mlton/commit/4c731d1280a50de5ad5ebe523d3c41023d10e4c7 Author: Matthew Fluet <mat...@gm...> Date: 2021-07-28 (Wed, 28 Jul 2021) Changed paths: M mlton/atoms/word-x-vector.fun M mlton/atoms/word-x-vector.sig Log Message: ----------- Add `WordXVector.foreach` Commit: acf093ca960dd423a7c37e583633070b61c7291d https://github.com/MLton/mlton/commit/acf093ca960dd423a7c37e583633070b61c7291d Author: Matthew Fluet <mat...@gm...> Date: 2021-07-28 (Wed, 28 Jul 2021) Changed paths: M mlton/ssa/constant-propagation.fun Log Message: ----------- Improve `constToVector` in `ConstantPropagation` When a `WordXVector` constant is coerced to a `Vector` abstract value, we should ensure that if the constant becomes `Top`, then the `Vector` does as well. In practice, this is never an issue, because `WordXVector` constants never flow into the same abstract value (and, therefore, such abstract values are never changed). The reason is that a `WordXVector` constant has the type `(word8) vector`; while a `WordXVector` constant induces a `Const` abstract value for the variable to which it is initially bound and direct references to that variable fetch the `Const` abstract value, any participation of this abstract value in a join must be mediated by flowing through an (initially undefined) abstract value produced by `Value.fromType` on `(word8) vector`, which induces a `Vector` abstract value. This somewhat prohibits the effective constant propagation of `WordXVector` constants. Commit: 036c0c43e7383d660c6b5c2f5ab39080e338b592 https://github.com/MLton/mlton/commit/036c0c43e7383d660c6b5c2f5ab39080e338b592 Author: Matthew Fluet <mat...@gm...> Date: 2021-07-28 (Wed, 28 Jul 2021) Changed paths: M mlton/ssa/constant-propagation.fun Log Message: ----------- Use `functor FlatLatticePoly` for `structure Data` in `ConstantPropagation` Replaces a bespoke flat lattice implementation with a generic one. Commit: 603877b15ee82f302ebe2523101d03c4ccf6d9d6 https://github.com/MLton/mlton/commit/603877b15ee82f302ebe2523101d03c4ccf6d9d6 Author: Matthew Fluet <mat...@gm...> Date: 2021-07-28 (Wed, 28 Jul 2021) Changed paths: M mlton/ssa/constant-propagation.fun Log Message: ----------- Reorganize code of `structure Value` in `ConstantPropagation` Lift `coerce`/`unify` from `fun transform` to `structure Value` The old implementation of datatype abstract values required `coerce` and `unify` to be defined with `conInfo` in scope, but the new implementation does not. The equivalent functionality is provided by the `Value.Data.addHandler'` in `filter`. Commit: 74aa86254289042ab546e4cf2665c66267ed1148 https://github.com/MLton/mlton/commit/74aa86254289042ab546e4cf2665c66267ed1148 Author: Matthew Fluet <mat...@gm...> Date: 2021-07-29 (Thu, 29 Jul 2021) Changed paths: M mlton/ssa/constant-propagation.fun Log Message: ----------- Perform constant folding during `ConstantPropagation` Commit: 568ed01bb89427b30d678b574b9e3097601d7c3b https://github.com/MLton/mlton/commit/568ed01bb89427b30d678b574b9e3097601d7c3b Author: Matthew Fluet <mat...@gm...> Date: 2021-07-29 (Thu, 29 Jul 2021) Changed paths: M mlton/ssa/useless.fun Log Message: ----------- Fix latent bug in `Useless` An `Array_array` or `Vector_vector` whose element is useless must be rewritten to replace original arguments with `unitVar`. Commit: 2e46721985938f8e0c8b57ced5d3b2eac3d7c87b https://github.com/MLton/mlton/commit/2e46721985938f8e0c8b57ced5d3b2eac3d7c87b Author: Matthew Fluet <mat...@gm...> Date: 2021-07-30 (Fri, 30 Jul 2021) Changed paths: M mlton/ssa/constant-propagation.fun Log Message: ----------- Introduce alternate implementation of sequences in `ConstantPropagation` Use a bespoke `Sequence` lattice to represent sequences, allowing fine-grained tracking of sequences with a known number of elements. In particular, this allows `WordXVector` constants to be propagated to join points of `Vector` abstract values. Commit: ede0d6da66cef03cc34213e8f43a210be9b65cda https://github.com/MLton/mlton/commit/ede0d6da66cef03cc34213e8f43a210be9b65cda Author: Matthew Fluet <Mat...@gm...> Date: 2021-08-03 (Tue, 03 Aug 2021) Changed paths: M lib/mlton/basic/list.sig M lib/mlton/basic/list.sml M lib/mlton/basic/parse.sml M lib/mlton/basic/ref.sig M lib/mlton/basic/ref.sml M lib/mlton/lattice/flat-lattice.fun M lib/mlton/lattice/flat-lattice.sig M lib/mlton/lattice/sources.cm M lib/mlton/lattice/sources.mlb M lib/mlton/sources.cm M lib/mlton/sources.mlb M mlton/atoms/c-symbol.fun M mlton/atoms/id.fun M mlton/atoms/word-x-vector.fun M mlton/atoms/word-x-vector.sig M mlton/backend/machine.fun M mlton/backend/rssa-simplify.fun M mlton/control/control-flags.sig M mlton/control/control-flags.sml M mlton/control/control.sig M mlton/control/control.sml M mlton/main/compile.fun M mlton/main/main.fun M mlton/ssa/constant-propagation.fun M mlton/ssa/simplify.fun M mlton/ssa/simplify2.fun M mlton/ssa/useless.fun M mlton/xml/polyvariance.fun M mlton/xml/sxml-simplify.fun M mlton/xml/xml-simplify.fun Log Message: ----------- Merge pull request #442 from MatthewFluet/constant-propagation-updates Updates to `ConstantPropagation` Various improvements to `ConstantPropagation`: - Introduce `functor FlatLattice{Rec,Poly,Param,Mono}` and use to implement abstract values for constants, "birth", and con apps, replacing bespoke implementations. - Use `FlatLattice{Rec,Poly,Param,Mono}.addHandler` to perform constant folding in `ConstantPropagation`. - Use a bespoke `Sequence` lattice (which itself uses `FlatLatticeRec`) to allow fine-grained tracking of sequences with a known number of elements (up to 0w1000); in particular, this allows `WordXVector` constants to be propagated to join points of `Vector` abstract values. Compare: https://github.com/MLton/mlton/compare/106a8c78bcee...ede0d6da66ce |