Commit graph

1045 commits

Author SHA1 Message Date
Leonardo de Moura
d494756d00 fix: inline loop 2021-02-04 17:17:51 -08:00
Leonardo de Moura
cf5adbd4fe chore: increase LEAN_MAX_SMALL_OBJECT_SIZE and simplify code 2021-01-30 10:58:34 -08:00
Leonardo de Moura
d71aab5dc4 fix: allow bigger ctor objects
`IR/Checker.lean` is now also checking the maximum number of fields
and scalar size
2021-01-29 18:23:38 -08:00
Leonardo de Moura
31680c1255 fix: do not evaluate code containing sorry
closes #277
2021-01-26 15:01:53 -08:00
Leonardo de Moura
e57a9fa78f fix: fixes #280
We are going to use a cleaner fix when we port this code to Lean.
2021-01-19 18:01:52 -08:00
Leonardo de Moura
f6e5b13591 feat: "implement" sorry using panic 2021-01-13 09:43:25 -08:00
Sebastian Ullrich
79abd5fec6 chore: remove C++ messages 2021-01-12 09:51:14 -08:00
Sebastian Ullrich
a6c319a25c chore: remove message_builder from time_task 2021-01-12 09:51:14 -08:00
Leonardo de Moura
403699f5e4 fix: elim_array_cases 2021-01-04 16:10:49 -08:00
Leonardo de Moura
f0ac477d2e feat: add sanity checks 2021-01-01 18:31:28 -08:00
Leonardo de Moura
340cade575 fix: bug at specialize.cpp 2020-12-20 17:48:46 -08:00
Leonardo de Moura
76eb163a0f chore: use new pretty printer at specialize trace messages 2020-12-20 16:44:55 -08:00
Leonardo de Moura
2da48e8739 feat: use new pretty printer to trace all compiler steps 2020-12-20 16:44:40 -08:00
Sebastian Ullrich
0ddc932052 fix: interpreter cache leak by simplifying it after all 2020-12-18 17:06:35 +01:00
Sebastian Ullrich
dcfef05c8e perf: reuse interpreter caches a bit more 2020-12-17 23:18:43 +01:00
Sebastian Ullrich
22bb2fbd06 perf: reuse thread-local interpreter 2020-12-17 23:18:43 +01:00
Sebastian Ullrich
af7e44f017 fix: interpreter: make sure to retain options after switching threads 2020-12-17 23:18:43 +01:00
Sebastian Ullrich
f649f24014 fix: compilation on Windows 2020-11-29 14:08:53 +01:00
Sebastian Ullrich
c0f94c902e fix: memory leak in interpreter 2020-11-29 14:08:53 +01:00
Sebastian Ullrich
99383d97e1 feat: measure interpreter time & fix enabling interpreter traces 2020-11-28 17:36:20 +01:00
Leonardo de Moura
7b5f283507 chore: remove Expr.localE constructor
It was used by the old frontend
2020-11-01 09:37:48 -08:00
Leonardo de Moura
d87b8b876f chore: add temporary workaround
cc @Kha
2020-10-28 16:57:46 -07:00
Leonardo de Moura
852bd66542 chore: remove dead code 2020-10-28 09:33:19 -07:00
Leonardo de Moura
227faa0aad chore: remove dead code 2020-10-28 09:33:19 -07:00
Leonardo de Moura
01f8bcfc87 chore: remove dead code 2020-10-27 19:23:14 -07:00
Leonardo de Moura
270f6df5cb chore: remove aux_match module
This is not needed anymore since the old equation compiler was removed.
2020-10-27 09:51:55 -07:00
Leonardo de Moura
bad6233389 chore: remove legacy support for modification objects 2020-10-26 08:10:51 -07:00
Leonardo de Moura
4f6538fa9f fix: extern detection 2020-10-22 16:30:02 -07:00
Sebastian Ullrich
7964b727e5 chore: improve error message 2020-10-22 21:40:58 +02:00
Sebastian Ullrich
ecece59cc3 fix: tracing the compiler from the new frontend 2020-10-22 14:50:26 +02:00
Sebastian Ullrich
4e74e36331 feat: run initializers on import
Also, refuse to evaluate an `[init]` decl in the same module (since we don't know whether the initialization is
backtrackable) and always use native symbol of a `[builtinInit]` decl
2020-10-22 11:59:55 +02:00
Sebastian Ullrich
86fe95898d fix: don't try to interpret [builtinInit] constants 2020-10-22 11:59:55 +02:00
Sebastian Ullrich
b06f8311e8 fix: avoid using native code during bootstrap 2020-10-21 11:21:56 +02:00
Sebastian Ullrich
438b3351dd feat: add interpreter.prefer_native option 2020-10-21 11:21:56 +02:00
Leonardo de Moura
e54a207986 refactor: provide Options to lean_eval_const
add `ImportM` monad for `addImportedFn`

cc @Kha
2020-10-19 10:21:38 -07:00
Leonardo de Moura
863cffde34 feat: elaborated borrowed annotations 2020-10-16 15:17:58 -07:00
Leonardo de Moura
827625a377 perf: add temporary hack for performance issue
The compiler frontend implemented in C++ is eagerly inlining local
functions. The new test would take an absurd amount of time without
the new hack.
We remove this hack when we re-implement the compiler frontend in Lean.
2020-10-15 13:37:29 -07:00
Sebastian Ullrich
c3c037b4de fix: fixup a few automatic fixes 2020-10-11 17:43:28 +02:00
Sebastian Ullrich
7718795178 fix: mark Lean objects in C++ globals reachable from the new frontend as persistent
sed -Ei 's/(g_\w+)\s*= new (name|expr|format|level|string_ref)\W.*;/\0\n    mark_persistent(\1->raw());/' src/kernel/**/*.cpp src/util/**/*.cpp src/library/**/*.cpp
2020-10-11 17:43:28 +02:00
Leonardo de Moura
8383177c96 fix: nonoptimal specialization
@Kha Here is the fix for the problem I told you this morning.
Please, take a look at `specialize.cpp` and see whether it makes sense.
2020-09-24 12:40:28 -07:00
Sebastian Ullrich
e946aa9135 fix: interpreter thread-unsafety 2020-09-14 17:57:33 +02:00
Leonardo de Moura
217b7fc2b8 feat: improve extern arity calculation 2020-08-31 16:29:27 -07:00
Leonardo de Moura
ca1982441f feat: add support for to be added ST
`ST` will be `EIO Empty`
2020-08-20 13:45:58 -07:00
Leonardo de Moura
8349c72686 feat: add support for EIO 2020-08-20 12:48:39 -07:00
Leonardo de Moura
e301d57b36 chore: fix comment 2020-08-10 08:39:22 -07:00
Leonardo de Moura
9ddac04b40 fix: support for literals when compiling noConfusion 2020-08-05 10:17:51 -07:00
Leonardo de Moura
7c76a19885 chore: fix includes 2020-05-22 14:17:25 -07:00
Leonardo de Moura
8bdca35282 chore: use #include <lean/runtime/...> for runtime .h files 2020-05-18 11:30:07 -07:00
Sebastian Ullrich
ec9f4b579d chore: improve precision of compilation time profiling 2020-04-24 15:11:36 +02:00
Leonardo de Moura
bc57faff08 fix: ensure compiler representation invariants are preserved 2020-04-23 13:54:14 -07:00