Commit graph

16551 commits

Author SHA1 Message Date
Leonardo de Moura
ba9a10265e feat(library/init/lean/compiler/ir/emitcpp): implement emitVDecl remaining cases 2019-05-21 14:55:11 -07:00
Leonardo de Moura
88cf3aa5e8 feat(library/init/lean/compiler/ir/emitcpp): emit different kinds of application 2019-05-21 14:30:45 -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
5a72368967 feat(library/init/lean/compiler/ir): improve checker 2019-05-21 13:18:56 -07:00
Leonardo de Moura
63d2c03403 fix(library/compiler/ir): lambda IR translator 2019-05-21 13:01:43 -07:00
Leonardo de Moura
5aa8647b18 feat(library/init/lean/compiler/ir/emitcpp): more cases 2019-05-21 10:54:58 -07:00
Leonardo de Moura
f3e13c18f8 fix(library/init/lean/compiler/ir): reset 2019-05-21 10:28:50 -07:00
Leonardo de Moura
cc4c26e8ab feat(library/init/lean/compiler/ir/emitcpp): add some missing cases 2019-05-21 10:21:52 -07:00
Leonardo de Moura
510de7a3a9 feat(library/init/lean/compiler/ir/emitcpp): emitBlock 2019-05-21 09:20:19 -07:00
Leonardo de Moura
636415f645 chore(library/init/lean/compiler/ir/emitcpp): minor 2019-05-21 08:46:20 -07:00
Leonardo de Moura
49ef6e474a feat(library/init/lean/compiler/ir/emitcpp): better error messages 2019-05-21 08:17:55 -07:00
Leonardo de Moura
f84ea28923 fix(library/init/lean/compiler/ir/emitutil): missing FnBody.case 2019-05-21 08:11:48 -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
8c4a9116f6 feat(library/init/lean/compiler/ir/emitcpp): generate header and function decls 2019-05-20 14:47:54 -07:00
Leonardo de Moura
830606757b fix(library/init/lean/name_mangling): make sure name mangling procedure behaves like the C++ one 2019-05-20 10:23:50 -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
40ecbb7cbc feat(library/init/control/monad): mark monadInhabited as an instance 2019-05-20 09:33:17 -07:00
Leonardo de Moura
ff74b9f44a feat(library/init/lean/compiler/ir): add emitutil.lean and emitcpp.lean files 2019-05-20 09:25:16 -07:00
Leonardo de Moura
c0b3c71c4d chore(library/compiler): remove dead code 2019-05-20 08:13:52 -07:00
Leonardo de Moura
781dd60b19 fix(library/init/lean/compiler/ir/boxing): filename case
It seems OSX is case insensitive since I can compile it on my Mac.
2019-05-20 08:10:33 -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
0f8c5820d3 feat(library/init/lean/compiler/ir/livevars): helper functions for managing the set of live variables 2019-05-19 11:17:05 -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
b6ef6a796c fix(library/init/lean/compiler/ir/borrow): consider borrow annotation only for references 2019-05-18 11:58:11 -07:00
Leonardo de Moura
6da0fc7207 chore(tests/playground/parser/syntax): fix test 2019-05-18 11:39:44 -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
d2f6befc15 chore(library/init/lean/compiler/ir): Context ==> LocalContext 2019-05-17 17:29: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
66d4995c56 feat(library/init/lean/compiler/ir/compilerm): add ' versions 2019-05-17 16:37:21 -07:00
Leonardo de Moura
999ba7670d feat(library/init/lean/compiler/ir): add ExternEntry to Decl.extern constructor 2019-05-17 16:27:58 -07:00
Leonardo de Moura
48ed3c5307 feat(runtime): inline hot path small object allocation 2019-05-17 10:12:43 -07:00
Sebastian Ullrich
1aa95b8ea9 perf(tests/playground/qsort): use UInt32 indices instead of Nat 2019-05-17 18:57:54 +02:00
Sebastian Ullrich
f9a924c3ff fix(tests/playground/qsort.ml): make sure all functions are monomorphic 2019-05-17 16:46:11 +02:00
Sebastian Ullrich
fd185f8e35 feat(tests/playground/qsort): qsort benchmark 2019-05-17 16:12:28 +02:00
Sebastian Ullrich
b1a8e22ac3 feat(tests/playground/rbmap_checkpoint): add rbmap_shared benchmark (rbmap_checkpoint with freq=1) 2019-05-17 15:57:40 +02: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
Leonardo de Moura
ac69f802e1 feat(library/compiler): interface with new IR compiler entry point 2019-05-16 15:41:47 -07:00
Leonardo de Moura
aa138fe686 chore(*): get_obj_arg => to_obj_arg 2019-05-16 14:42:02 -07:00
Leonardo de Moura
9d9f546ad8 refactor(util/sexpr): move options and option_declarations to util 2019-05-16 14:37:24 -07:00
Leonardo de Moura
367b3ec4a3 chore(tests/util): remove old test 2019-05-16 14:29:26 -07:00
Leonardo de Moura
9c4da289b2 refactor(util/sexpr/options): options as a Lean object 2019-05-16 14:27:44 -07:00