Commit graph

11352 commits

Author SHA1 Message Date
Leonardo de Moura
b86d9422b6 chore(library/compiler/borrowed_annotation): remove old borrow inference code 2019-05-27 21:28:22 -07:00
Leonardo de Moura
f67bc39ce4 chore(library/compiler/llnf): remove old IR compiler 2019-05-27 21:28:22 -07:00
Leonardo de Moura
51a9208ea9 chore(library/compiler): remove environment extension: llnf_code
We don't need it anymore. It was used by the old IR compiler
2019-05-27 21:28:22 -07:00
Leonardo de Moura
356a4fafcd chore(library/compiler): remove old code
@kha I am removing the old IR compiler. If there is a disaster with
the new one implemented in Lean, I will put it back.
2019-05-27 21:28:22 -07:00
Leonardo de Moura
fc0ce5b97e chore(library/aliases, frontends/lean): remove local_ref's
We don't need them since we removed parameters
2019-05-27 21:28:22 -07:00
Leonardo de Moura
9aa40e2491 chore(library/aliases): remove dead code 2019-05-27 21:28:22 -07:00
Leonardo de Moura
8c6ae127c9 chore(library/scoped_ext): remove dead code 2019-05-27 21:28:22 -07:00
Leonardo de Moura
0e8abd81bb chore(stage0): update 2019-05-25 16:35:43 -07:00
Leonardo de Moura
0f43c2e2d9 feat(library/init/data/array/basic): efficient heterogeneous Array.map
This commit also removes Array.hmap.
Motivation: I wanted to use Array.hmap as an example in the paper, but
I found it would be too distracting to explain why we had `Array.hmap`
and `Array.map`.

cc @kha
2019-05-25 16:32:59 -07:00
Leonardo de Moura
074002eb84 chore(stage0): update 2019-05-23 18:34:22 -07:00
Leonardo de Moura
5d04027050 chore(tests/playground): scripts for using old IR compiler 2019-05-23 18:33:29 -07:00
Leonardo de Moura
f72d54c2a0 chore(shell/lean): set new IR compiler as the default 2019-05-23 18:27:41 -07:00
Leonardo de Moura
c6f717e55b chore(stage0): update 2019-05-23 18:20:12 -07:00
Leonardo de Moura
bf3575a316 feat(library/init/lean/compiler/ir): improve expandresetreuse 2019-05-23 17:23:50 -07:00
Leonardo de Moura
f9f4e6c14b feat(library/init/lean/compiler/ir): add expandresetreuse 2019-05-23 08:58:16 -07:00
Leonardo de Moura
aede2476de chore(stage0): update
We changed the IR representation, and the C++ code interacts with both
stage0 and stage1.
2019-05-23 08:22:36 -07:00
Leonardo de Moura
013f0c9edb feat(library/init/lean/compiler/ir/rc): missing optimization 2019-05-22 18:46:43 -07:00
Leonardo de Moura
6bed0ca5b5 chore(library/compiler): style 2019-05-22 18:46:37 -07:00
Leonardo de Moura
3e76e43843 fix(library/init/lean/compiler/ir/borrow): visit join point body 2019-05-22 17:31:56 -07:00
Leonardo de Moura
fe0141918a fix(library/init/lean/compiler/ir) bug at addDecAfterFullApp 2019-05-22 16:30:42 -07:00
Sebastian Ullrich
29623cd2c5 fix(shell/lean): --cpp on stand-alone files 2019-05-22 23:23:30 +02:00
Leonardo de Moura
a570e35161 chore(stage0): update 2019-05-22 11:45:58 -07:00
Leonardo de Moura
2408d6dd80 fix(library/init/lean/compiler/ir/boxing): created boxed version for externs 2019-05-22 10:56:51 -07:00
Leonardo de Moura
fa3079f04e chore(stage0): update 2019-05-22 10:36:36 -07:00
Leonardo de Moura
4d2837430a fix(library/compiler/emit_cpp): tail call
Add temporary hack to fix `emit_tail_call`.
TODO: find a cleaner solution for the new IR compiler.
2019-05-21 23:07:10 -07:00
Leonardo de Moura
f1fbe5cd61 feat(library/compiler/ir): add boxed version for extern constants 2019-05-21 17:55:58 -07:00
Leonardo de Moura
89259d012b fix(stage0): missing files 2019-05-21 16:39:07 -07:00
Leonardo de Moura
91745cd16b fix(library/init/lean): remove hard coded file 2019-05-21 16:26:08 -07:00
Leonardo de Moura
8003ccec13 chore(stage0): update 2019-05-21 16:12:26 -07:00
Leonardo de Moura
5b3aec088e feat(library/init/lean/compiler/ir/emitcpp): emit module initialization code 2019-05-21 16:06:10 -07:00
Leonardo de Moura
ae8a51c718 feat(library/init/lean/runtime): expose runtime limit 2019-05-21 14:24:16 -07:00
Leonardo de Moura
db6933e3a4 chore(stage0): update
Make sure the new IR checker is used to validate generated code.
2019-05-21 13:45:49 -07:00
Leonardo de Moura
9f604ee0a1 fix(library/compiler/extern_attribute): register @[extern] projections in the new IR compiler 2019-05-21 13:42:42 -07:00
Leonardo de Moura
3b5093ebe0 fix(library/compiler/ir): fix ret irrelevant 2019-05-21 13:32:11 -07:00
Leonardo de Moura
63d2c03403 fix(library/compiler/ir): lambda IR translator 2019-05-21 13:01:43 -07:00
Leonardo de Moura
dbe2bebc06 fix(library/compiler/extern_attribute): register extern constructors in the new IR compiler 2019-05-21 08:09:05 -07:00
Leonardo de Moura
4ed803c564 feat(library/init/lean/compiler/ir/emitcpp): emit skeletons 2019-05-20 19:08:21 -07:00
Leonardo de Moura
f852cd774f feat(library/init/lean/compiler/ir): expose C++ primitives for accessing export and extern attributes 2019-05-20 15:49:03 -07:00
Leonardo de Moura
3ffe0e22c8 feat(shel/lean): add temporary option for testing new IR compiler code emitter 2019-05-20 10:19:09 -07:00
Leonardo de Moura
b0e7b05f63 feat(library/init/lean/compiler/ir/emitcpp): add entry point 2019-05-20 09:50:57 -07:00
Leonardo de Moura
c0b3c71c4d chore(library/compiler): remove dead code 2019-05-20 08:13:52 -07:00
Leonardo de Moura
905b94311b fix(library/init/lean/compiler/ir/borrow): tail call preservation 2019-05-19 17:08:51 -07:00
Leonardo de Moura
83692eef6d feat(library/init/lean/compiler/ir): explicit RC 2019-05-19 16:46:51 -07:00
Leonardo de Moura
300c251b49 feat(library/init/lean/compiler/ir): add explicitBoxing to new IR compiler stack 2019-05-19 08:10:45 -07:00
Leonardo de Moura
b0c6d1c6a7 fix(library/compiler/ir): assertion violation 2019-05-18 11:33:35 -07:00
Leonardo de Moura
ca818e6850 feat(library/init/lean/compiler/ir): add borrow inference 2019-05-18 10:48:26 -07:00
Leonardo de Moura
c9bcd4990c feat(library/compiler): register extern constants into the new IR 2019-05-17 17:12:51 -07:00
Leonardo de Moura
48ed3c5307 feat(runtime): inline hot path small object allocation 2019-05-17 10:12:43 -07:00
Leonardo de Moura
9a3a01fa6e feat(library/compiler/compiler): invoke new IR compiler implemented in Lean 2019-05-16 16:08:52 -07:00
Leonardo de Moura
9d7191feca chore(library/compiler): remove support for fully boxed 2019-05-16 15:48:33 -07:00