Leonardo de Moura
|
9bd09de9e2
|
feat(library/compiler/specialize): find candidates for specialization
|
2018-10-15 15:29:38 -07:00 |
|
Leonardo de Moura
|
42c056862d
|
feat(library/compiler/compiler): cache stage1 result before specialization
|
2018-10-15 13:08:48 -07:00 |
|
Leonardo de Moura
|
8f76df4823
|
feat(library/compiler): add [specialize] attribute
|
2018-10-15 13:02:11 -07:00 |
|
Leonardo de Moura
|
9ca4c362ae
|
feat(library/compiler/specialize): add spec_info
Store which arguments can be specialized.
|
2018-10-15 12:54:34 -07:00 |
|
Leonardo de Moura
|
611af5c186
|
feat(library/compiler/csimp): improve heuristic for deciding whether we should apply float_cases_on or not.
|
2018-10-15 09:50:02 -07:00 |
|
Leonardo de Moura
|
15a25d5aa9
|
chore(library/init/lean/parser): add a few comments
|
2018-10-11 15:54:57 -07:00 |
|
Leonardo de Moura
|
c74f4c16ca
|
feat(library/kernel,library/compiler/csimp): make sure nat.rec and nat.cases_on reduce when major premise is a nat literal
|
2018-10-10 18:35:15 -07:00 |
|
Leonardo de Moura
|
338038a05e
|
feat(library/init/core): add inline identity function
|
2018-10-10 18:17:29 -07:00 |
|
Leonardo de Moura
|
be0b4c998f
|
fix(library/compiler/lcnf): avoid unnecessary let-decl
|
2018-10-10 17:33:57 -07:00 |
|
Leonardo de Moura
|
bbb45bfc95
|
fix(library/compiler/csimp): another join-point management bug
|
2018-10-10 13:42:32 -07:00 |
|
Leonardo de Moura
|
18093f3f24
|
feat(library/compiler/csimp): eta-expand lambda-expressions during simplification
|
2018-10-09 19:16:41 -07:00 |
|
Leonardo de Moura
|
e958f20874
|
fix(library/compiler/csimp): beta_reduce was not preserving the "join-point" invariant
|
2018-10-09 19:11:16 -07:00 |
|
Leonardo de Moura
|
256112be5b
|
chore(library/compiler/lcnf): disable lambda eta-expansion during LCNF conversion
We should do it at `csimp`
|
2018-10-09 15:25:57 -07:00 |
|
Leonardo de Moura
|
27e6f7f424
|
feat(library/compiler): invoke specialize skeleton
|
2018-10-09 15:23:42 -07:00 |
|
Leonardo de Moura
|
5d726eb210
|
feat(library/compiler/compiler): switch to new compiler frontend
We also rename `vm_compiler` module to `emit_bytecode`.
We will eventually replace this module with the new IR emitter.
|
2018-10-08 17:38:17 -07:00 |
|
Leonardo de Moura
|
662c0ebb31
|
feat(library/compiler/compiler): cache stage1
|
2018-10-08 17:06:45 -07:00 |
|
Leonardo de Moura
|
124b4d37fe
|
feat(library/compiler): port simp_inductive to the new compiler stack
This commit also fixes a bug in the old `simp_inductive` module, and
removes now obsolete files (`compiler_step_visitor` and `old_util`).
|
2018-10-08 16:58:43 -07:00 |
|
Leonardo de Moura
|
d2fcb7af39
|
chore(library/compiler/compiler): add tracing to new compiler frontend
|
2018-10-08 15:22:36 -07:00 |
|
Leonardo de Moura
|
787d1ecb93
|
feat(library/compiler/lambda_lifting): new lambda lifting
|
2018-10-08 15:04:59 -07:00 |
|
Leonardo de Moura
|
fc62e8f3a4
|
chore(library/compiler): cdecl ==> comp_decl
|
2018-10-05 17:30:27 -07:00 |
|
Leonardo de Moura
|
d75b1c57bf
|
chore(library/compiler/preprocess): remove dependency
|
2018-10-05 17:30:27 -07:00 |
|
Leonardo de Moura
|
b1f98e8f38
|
feat(library/compiler/lcnf): eta expand lambdas
|
2018-10-05 17:30:27 -07:00 |
|
Leonardo de Moura
|
4fd546c132
|
feat(library/compiler): remove old extract_values
|
2018-10-05 17:30:27 -07:00 |
|
Leonardo de Moura
|
2eea3d4c4b
|
chore(library/compiler): simplify procedure class
Remark: `procedure` will be deleted soon.
|
2018-10-05 17:30:27 -07:00 |
|
Leonardo de Moura
|
dc5dbb3b81
|
chore(library/compiler): remove dead code
|
2018-10-05 17:30:27 -07:00 |
|
Leonardo de Moura
|
d93b2a2656
|
chore(library/compiler): remove dead code
|
2018-10-05 17:30:27 -07:00 |
|
Leonardo de Moura
|
335b37d480
|
chore(library/compiler): remove old reduce_arity
|
2018-10-05 17:30:27 -07:00 |
|
Leonardo de Moura
|
6b8008a222
|
feat(library/compiler): new compiler entry point (skeleton)
|
2018-10-05 17:30:27 -07:00 |
|
Leonardo de Moura
|
1d1efdd5f3
|
chore(library/compiler/preprocess): remove dead global
|
2018-10-05 17:30:27 -07:00 |
|
Leonardo de Moura
|
a21dac4384
|
chore(library/compiler/vm_compiler): remove option
|
2018-10-05 17:30:27 -07:00 |
|
Leonardo de Moura
|
135a8d7508
|
chore(library/compiler): remove old compiler steps that have already been replaced
|
2018-10-05 17:30:27 -07:00 |
|
Leonardo de Moura
|
e18af852c8
|
feat(library/compiler): add code specialization skeleton
|
2018-10-05 17:30:27 -07:00 |
|
Leonardo de Moura
|
66fe6463fe
|
fix(library/compiler/csimp): missing mk_let
|
2018-10-04 15:25:03 -07:00 |
|
Leonardo de Moura
|
78842d4b9b
|
fix(library/compiler/util): macro_inline was ignoring constants
|
2018-10-04 15:25:03 -07:00 |
|
Leonardo de Moura
|
08425c456a
|
chore(library/compiler/preprocess): remove dead code
|
2018-10-03 16:22:44 -07:00 |
|
Leonardo de Moura
|
adfc0e28ea
|
feat(library/compiler/erase_irrelevant): missing is_irrelevant checks, missing terms being visited, mixing erased with non-erased terms
|
2018-10-03 16:22:44 -07:00 |
|
Leonardo de Moura
|
826e63873e
|
feat(library/compiler/preprocess): use new compiler stack that has already been implemented
|
2018-10-03 13:24:01 -07:00 |
|
Leonardo de Moura
|
1b95cbeca1
|
fix(library/compiler/simp_inductive): adjust kernel projections
|
2018-10-02 18:56:13 -07:00 |
|
Leonardo de Moura
|
c9aab6ef50
|
feat(library/compiler): register noinline attribute
|
2018-10-02 18:56:13 -07:00 |
|
Leonardo de Moura
|
fa906c6bda
|
fix(library/compiler/lambda_lifting): use user_name
|
2018-10-02 18:56:13 -07:00 |
|
Leonardo de Moura
|
e89e0075a5
|
fix(library/compiler/lcnf): do not expand projections of builtin types
|
2018-10-02 18:56:13 -07:00 |
|
Leonardo de Moura
|
cd8dc8670d
|
fix(library/compiler/erase_irrelevant): visit_constant
|
2018-10-02 18:56:13 -07:00 |
|
Leonardo de Moura
|
49425aa80c
|
fix(library/compiler/erase_irrelevant): assertion violation
|
2018-10-02 18:56:13 -07:00 |
|
Leonardo de Moura
|
24bd5782e0
|
fix(library/compiler/erase_irrelevant): make sure lambda that return irrelevant data is marked as irrelevant
|
2018-10-02 18:56:13 -07:00 |
|
Leonardo de Moura
|
85c58e8f0e
|
feat(library/compiler): add support for string literals in the old VM
|
2018-10-02 18:56:13 -07:00 |
|
Leonardo de Moura
|
dc937281b3
|
chore(library/init/string): remove string.iterator_imp
|
2018-10-02 13:46:01 -07:00 |
|
Leonardo de Moura
|
fd46adb7b3
|
fix(library/compiler/erase_irrelevant): minor issues
|
2018-10-02 13:36:48 -07:00 |
|
Leonardo de Moura
|
20e7edd4ac
|
feat(library/compiler): erase trivial structures and flat cases on structures
|
2018-10-02 11:05:15 -07:00 |
|
Leonardo de Moura
|
c3569dc72d
|
feat(kernel): store structure name in proj-expressions
|
2018-10-02 09:23:11 -07:00 |
|
Leonardo de Moura
|
c05e7a31a3
|
chore(library/compiler): add is_runtime_scalar_type and is_runtime_builtin_type
|
2018-10-02 09:03:53 -07:00 |
|