Henrik Böving
|
1e00eff3e7
|
fix: jp context extender missed out on some variables
|
2022-10-21 17:58:47 -07:00 |
|
Henrik Böving
|
dac6127810
|
feat: Compiler pass for reducing common jp args
|
2022-10-21 17:35:40 -07:00 |
|
Henrik Böving
|
a608532fd4
|
chore: Improve LCNF check goto error message
|
2022-10-21 17:35:40 -07:00 |
|
Mario Carneiro
|
dd8bbe9367
|
fix: catch kernel exceptions in Kernel.{isDefEq, whnf}
fixes #1756
|
2022-10-20 05:38:29 -07:00 |
|
Mario Carneiro
|
583e023314
|
chore: snake-case attributes (part 2)
|
2022-10-19 09:28:08 -07:00 |
|
Mario Carneiro
|
dd5948d641
|
chore: snake-case attributes (part 1)
|
2022-10-19 09:28:08 -07:00 |
|
Leonardo de Moura
|
ec59bbe15c
|
chore: ensure LCNF pretty printer result supports Format.group
|
2022-10-16 16:06:08 -07:00 |
|
Leonardo de Moura
|
72c576f62a
|
feat: complete reduceArity pass
|
2022-10-16 16:00:33 -07:00 |
|
Leonardo de Moura
|
9244a7a8a5
|
fix: ensure old and new compiler auxiliary declaration names do not collide
|
2022-10-16 14:49:55 -07:00 |
|
Leonardo de Moura
|
40f2247c61
|
perf: zero cost IR extension startup cost
|
2022-10-16 14:49:50 -07:00 |
|
Leonardo de Moura
|
defd544d5d
|
feat: add collectUsedParams
|
2022-10-16 14:20:32 -07:00 |
|
Leonardo de Moura
|
4eaf22118a
|
feat: add cse pass at mono phase
|
2022-10-16 08:58:06 -07:00 |
|
Leonardo de Moura
|
fd46ef01e8
|
chore: add another floatLetIn pass
See `elabAppFn` for a function that benefits from this extra pass.
|
2022-10-16 08:51:13 -07:00 |
|
Leonardo de Moura
|
bebce084fa
|
fix: bug at toLCNF.visitMData
|
2022-10-16 07:38:40 -07:00 |
|
Leonardo de Moura
|
8a81dfb876
|
feat: add Probe.sortedBySize, Probe.tail, and Probe.head
|
2022-10-15 20:12:53 -07:00 |
|
Leonardo de Moura
|
9a41680ec9
|
feat: add Probe.getJps
|
2022-10-15 19:28:59 -07:00 |
|
Leonardo de Moura
|
dac4e6f214
|
fix: probing functions were not visiting FunDecl.value
|
2022-10-15 17:50:18 -07:00 |
|
Leonardo de Moura
|
b4d850502d
|
fix: avoid join point that takes closure at seqToCode
|
2022-10-15 15:48:02 -07:00 |
|
Leonardo de Moura
|
4d9483d1fa
|
fix: if inlined code returns a function and has more than one exit point, create an auxiliary function instead of a join point that takes a closure as argument
|
2022-10-15 11:56:52 -07:00 |
|
Leonardo de Moura
|
53b995386d
|
fix: avoid [anonymous] at LCNF binder names
|
2022-10-15 11:56:52 -07:00 |
|
Leonardo de Moura
|
376c541e9a
|
feat: do not generate code for declarations that will be specialized
|
2022-10-15 08:54:46 -07:00 |
|
Leonardo de Moura
|
359dc77664
|
refactor: move isTemplateLike to LCNF/Basic.lean
|
2022-10-15 08:51:20 -07:00 |
|
Leonardo de Moura
|
3505b60a22
|
feat: probing helper functions
|
2022-10-15 08:51:20 -07:00 |
|
Leonardo de Moura
|
6378283fa8
|
feat: add Probe.toString
|
2022-10-14 19:21:56 -07:00 |
|
Henrik Böving
|
38788a72be
|
feat: basic compiler probing framework with examples
|
2022-10-14 19:09:35 -07:00 |
|
Leonardo de Moura
|
3f076fc836
|
perf: missing annotations and helper instances
|
2022-10-14 08:42:50 -07:00 |
|
Leonardo de Moura
|
0a126b7702
|
perf: better support for "inlineable" instances
|
2022-10-14 08:42:50 -07:00 |
|
Leonardo de Moura
|
1bb67918f8
|
chore: cleanup eagerLambdaLifting and add notes
|
2022-10-14 08:42:50 -07:00 |
|
Leonardo de Moura
|
31f2acd97a
|
chore: cleanup trace messages
|
2022-10-13 18:56:17 -07:00 |
|
Leonardo de Moura
|
19301c09c6
|
chore: remove unnecessary match
|
2022-10-13 18:56:17 -07:00 |
|
Leonardo de Moura
|
6ed89a4ceb
|
chore: revert cross module lambda lifting cache
It adds almost 50Mb to the .olean files.
|
2022-10-13 18:42:52 -07:00 |
|
Leonardo de Moura
|
ac9d65b17b
|
feat: cache lambda lifting
|
2022-10-13 11:24:14 -07:00 |
|
Leonardo de Moura
|
518123b191
|
feat: more conservative SpecParamInfo inference
|
2022-10-13 08:20:55 -07:00 |
|
Leonardo de Moura
|
407c744ae5
|
chore: add workarounds for old code generator
It is a bit ironic that the new code generator should contain
workarounds for the old one.
|
2022-10-13 07:09:19 -07:00 |
|
Leonardo de Moura
|
886ed9b2e3
|
fix: remove function expected error at LCNF
|
2022-10-13 06:16:25 -07:00 |
|
Leonardo de Moura
|
c33b5b6588
|
chore: remove unnecessary eqvTypes
|
2022-10-13 06:08:51 -07:00 |
|
Leonardo de Moura
|
bc2b891e7e
|
refactor: remove type compatibility sanity checks at LCNF Check.lean
See new note at `Check.lean` for details.
|
2022-10-13 06:01:41 -07:00 |
|
Leonardo de Moura
|
1f54c0126c
|
doc: add note at Decl.simp
|
2022-10-13 04:26:05 -07:00 |
|
Leonardo de Moura
|
2563fda777
|
feat: enable eager lambda lifting
|
2022-10-13 04:22:19 -07:00 |
|
Leonardo de Moura
|
0966f14233
|
fix: local function declarations size may be 0
|
2022-10-13 03:34:14 -07:00 |
|
Leonardo de Moura
|
2675c0647b
|
feat: detect unreachable cases alternatives at LCNF simp
|
2022-10-13 02:49:55 -07:00 |
|
Leonardo de Moura
|
af99715a58
|
feat: store inline attribute at LCNF declarations
This commit also adds support for inheriting the inline attribute when
the compiler lambda lifts local functions from instances.
|
2022-10-13 02:06:35 -07:00 |
|
Leonardo de Moura
|
b9f174604d
|
feat: check new alwaysInline attribute
|
2022-10-12 16:55:16 -07:00 |
|
Leonardo de Moura
|
49a6f8c105
|
chore: add horrible hack for Decidable in the new code generator
cc @gebner
|
2022-10-12 16:53:29 -07:00 |
|
Leonardo de Moura
|
7308fa0e7d
|
feat: ensure lambda lifter is creating unused names
|
2022-10-12 16:35:55 -07:00 |
|
Leonardo de Moura
|
8fe4b75c48
|
feat: do not inline definitions occurring in instances at the base phase
|
2022-10-12 16:24:16 -07:00 |
|
Leonardo de Moura
|
5606b4e59e
|
feat: add [alwaysInline] attribute
We are planning to ignore the `[inline]` attribute when the "inlining
quota" has been exhausted in the new code generator.
|
2022-10-12 16:08:37 -07:00 |
|
Gabriel Ebner
|
fb6cb05465
|
feat: support let_fun in new compiler
|
2022-10-12 11:52:28 -07:00 |
|
Leonardo de Moura
|
aa845dee98
|
feat: cache lambda lifted functions
|
2022-10-11 21:28:03 -07:00 |
|
Gabriel Ebner
|
ba57ad3480
|
feat: add implementation-detail hypotheses
|
2022-10-11 17:24:35 -07:00 |
|