Sebastian Ullrich
9f2182fdd9
chore: update script/apply.lean semantics
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
e8b4a8875c
fix: type argument that is a fvar at FixedParams.lean
2022-11-07 18:18:07 -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
Leonardo de Moura
d521197c24
chore: port FunDeclInfo.lean
2022-11-07 16:18:36 -08:00
Leonardo de Moura
5c53656d46
chore: port LCNF/InferType.lean
2022-11-07 16:18:35 -08:00
Leonardo de Moura
f5d6b0ed94
chore: port FVarUtil.lean
2022-11-07 16:18:35 -08:00