Commit graph

30235 commits

Author SHA1 Message Date
Sebastian Ullrich
9f2182fdd9 chore: update script/apply.lean semantics 2022-11-07 19:47:04 -08:00
Sebastian Ullrich
5be816244e chore: update script/apply.lean syntax 2022-11-07 19:47:04 -08:00
Leonardo de Moura
95df68f3e4 chore: [elab_as_elim] at Eq.substr
Lean 3 compatibility issue.

see #1806
2022-11-07 19:44:11 -08:00
Leonardo de Moura
b4d13a8946 refactor: LetExpr => LetValue
We use "let value" in many other places in the code base.
2022-11-07 18:51:07 -08:00
Leonardo de Moura
65caa8f2c4 chore: update stage0 2022-11-07 18:20:48 -08:00
Leonardo de Moura
e8b4a8875c fix: type argument that is a fvar at FixedParams.lean 2022-11-07 18:18:07 -08:00
Leonardo de Moura
d11697cbf7 chore: fix some tests 2022-11-07 18:18:06 -08:00
Leonardo de Moura
9399164201 fix: simpCasesOnCtor? 2022-11-07 18:18:06 -08:00
Leonardo de Moura
a5dadfdb7a feat: activate all passes 2022-11-07 16:18:36 -08:00
Leonardo de Moura
828a815821 fix: simpAppApp? 2022-11-07 16:18:36 -08:00
Leonardo de Moura
92faeec832 fix: add Simp.findFunDecl'?
It may look like a simple optimization but affects the inlining
heuristics. Example:
```
fun f ... := ...
let x_1 := f
let x_2 := x_1 a
let x_3 := x_1 b
...
```
Before this commit, `f` was not being marked as being used multiple times.
2022-11-07 16:18:36 -08:00
Leonardo de Moura
f342d0ea35 fix: avoid unnecessary whitespace at LCNF pretty printer 2022-11-07 16:18:36 -08:00
Leonardo de Moura
cf13b29760 fix: nasty bug due to #1804 2022-11-07 16:18:36 -08:00
Leonardo de Moura
c5584581ce fix: inferType for Code.jmp 2022-11-07 16:18:36 -08:00
Leonardo de Moura
0cfdf285e3 chore: remove unnecessary auxiliary declaration 2022-11-07 16:18:36 -08:00
Leonardo de Moura
46d83f2d80 fix: unnecessary paren at ppArg 2022-11-07 16:18:36 -08:00
Leonardo de Moura
3a818ed6ae fix: broken cache at toLCNF 2022-11-07 16:18:36 -08:00
Leonardo de Moura
390d4b28f2 chore: disable most LCNF passes to be able to use update-stage0
We cannot effectively test without an `update-stage0` since the LCNF
representation is different and incompatible with the one in the
.olean files.

One of the passes is not terminating (probably `simp`) when compiling
stage2.
2022-11-07 16:18:36 -08:00
Leonardo de Moura
623e8cddf6 fix: ReduceArity.lean 2022-11-07 16:18:36 -08:00
Leonardo de Moura
2e8150e50d chore: port Check.lean 2022-11-07 16:18:36 -08:00
Leonardo de Moura
ea8e7d5c99 chore: port ReduceArity.lean 2022-11-07 16:18:36 -08:00
Leonardo de Moura
a71c438838 chore: port ToMono.lean 2022-11-07 16:18:36 -08:00
Leonardo de Moura
9647f003c5 chore: port Specialize.lean 2022-11-07 16:18:36 -08:00
Leonardo de Moura
beb923c79f chore: anyFVar and allFVar 2022-11-07 16:18:36 -08:00
Leonardo de Moura
eaade5abde chore: port LambdaLifting.lean 2022-11-07 16:18:36 -08:00
Leonardo de Moura
0e85d9aa34 chore: re-activate Simp.lean 2022-11-07 16:18:36 -08:00
Leonardo de Moura
1e3c7d2b4e fix: Simp/Main.lean 2022-11-07 16:18:36 -08:00
Leonardo de Moura
db44a3a3f3 fix: JpCases.lean 2022-11-07 16:18:36 -08:00
Leonardo de Moura
2328cf2fb4 feat: add ppLetExpr 2022-11-07 16:18:36 -08:00
Leonardo de Moura
b63eb886ce chore: incorrect annotation 2022-11-07 16:18:36 -08:00
Leonardo de Moura
a19e8fc526 chore: port Simp/Main.lean 2022-11-07 16:18:36 -08:00
Henrik Böving
c5a99bda2b chore: port join point optimizations to LetExpr 2022-11-07 16:18:36 -08:00
Henrik Böving
695f972ff2 chore: migrate Compiler Probing to LetExpr 2022-11-07 16:18:36 -08:00
Henrik Böving
963cd8d175 chore: port FloatLetIn to LetExpr 2022-11-07 16:18:36 -08:00
Henrik Böving
0defadfa98 chore: migrate compiler test framework to LetExpr 2022-11-07 16:18:36 -08:00
Leonardo de Moura
3a783010a0 chore: adjust some declarations at LCNF/Simp 2022-11-07 16:18:36 -08:00
Leonardo de Moura
fd316ef027 chore: port ConstantFold.lean 2022-11-07 16:18:36 -08:00
Leonardo de Moura
e6232b67b6 chore: add helper functions 2022-11-07 16:18:36 -08:00
Leonardo de Moura
123aed11ca chore: port InlineCandidate.lean 2022-11-07 16:18:36 -08:00
Leonardo de Moura
0c58913cf1 chore: port SimpValue.lean 2022-11-07 16:18:36 -08:00
Leonardo de Moura
ddeb63f69f chore: port Used.lean 2022-11-07 16:18:36 -08:00
Leonardo de Moura
846a872293 chore: port InlineProj.lean 2022-11-07 16:18:36 -08:00
Leonardo de Moura
d6fe779d7a chore: port JpCases.lean 2022-11-07 16:18:36 -08:00
Leonardo de Moura
34d18a49aa chroe: port DiscrM 2022-11-07 16:18:36 -08:00
Leonardo de Moura
c8eab4478d chore: re-enable pullInstances and cse passes 2022-11-07 16:18:36 -08:00
Leonardo de Moura
691afbfdc8 fix: ToLCNF visitNoConfusion 2022-11-07 16:18:36 -08:00
Leonardo de Moura
67e2735f07 chore: display LCNF unreachable type when pp.all is true 2022-11-07 16:18:36 -08:00
Leonardo de Moura
4bf2df563d fix: typo 2022-11-07 16:18:36 -08:00
Leonardo de Moura
01791b0c19 chore: port ToLCNF 2022-11-07 16:18:36 -08:00
Leonardo de Moura
7e2c476a77 chore: port more files to new LCNF 2022-11-07 16:18:36 -08:00