Commit Graph

719 Commits (escape-analysis)

Author SHA1 Message Date
pca006132 830fc0f453 escape analysis: make list elements imprecise 2022-04-08 23:46:22 +08:00
pca006132 ea5a8c95dc escape analysis: fixed some bugs regarding imprecise local 2022-04-08 20:16:48 +08:00
pca006132 fb79b47b38 escape analysis: fixed infinite loop detection 2022-04-08 09:18:34 +08:00
pca006132 1257a80ed1 escape analysis implementation
buggy for now
2022-04-07 23:02:07 +08:00
pca006132 c93f79f94a basic escape analysis for assignment statements 2022-04-05 22:19:23 +08:00
pca006132 10c4544553 nac3core/typecheck: start implementing escape analysis 2022-04-04 22:42:22 +08:00
pca006132 4f66bdeda9 Merge pull request 'nac3core: do not get llvm value too eagerly for kernel invariant' (#253) from kernel_invariant_fix into master
Reviewed-on: M-Labs/nac3#253
2022-03-31 12:48:49 +08:00
Sebastien Bourdeauducq 57369896d7 update dependencies 2022-03-31 10:40:18 +08:00
ychenfo 2edeb31d21 nac3core: do not get llvm value too eagerly for kernel invariant 2022-03-31 10:28:16 +08:00
ychenfo b8ef44d64e nac3standalone: add test for default param 2022-03-30 04:05:47 +08:00
ychenfo c3156afebd nac3core: fix broken tests 2022-03-30 04:05:47 +08:00
ychenfo 388c9b7241 nac3core: better check and err msg for default param 2022-03-30 04:05:47 +08:00
ychenfo e52d7fc97a nac3artiq: resolve unsigned int host variable as defautl param 2022-03-30 04:05:47 +08:00
ychenfo 6ab73a223c nac3core/artiq: support default param of option type 2022-03-30 04:05:47 +08:00
ychenfo a38cc04444 nac3core: assert statement 2022-03-29 06:56:40 +08:00
ychenfo 1f5826d352 fix ternary if (#250)
Use store and load to handle if expression as the blocks might be changed when generating sub-expressions.

Reviewed-on: M-Labs/nac3#250
Co-authored-by: ychenfo <yc@m-labs.hk>
Co-committed-by: ychenfo <yc@m-labs.hk>
2022-03-29 06:54:00 +08:00
Sebastien Bourdeauducq 94eebde4ea README: add note about MSVC Python 2022-03-28 10:45:01 +08:00
Sebastien Bourdeauducq 63ec382673 README: update Windows instructions 2022-03-27 19:36:02 +08:00
Sebastien Bourdeauducq 0ca1a7bedb windows: work around broken LLD install script 2022-03-27 19:14:02 +08:00
Sebastien Bourdeauducq 201ca3f63d Revert "nac3artiq: use lld.exe on Windows"
This reverts commit 19182759cd.
2022-03-27 19:09:11 +08:00
Sebastien Bourdeauducq 19182759cd nac3artiq: use lld.exe on Windows 2022-03-27 18:41:38 +08:00
Sebastien Bourdeauducq edd039abdc windows: build LLD 2022-03-27 18:41:23 +08:00
Sebastien Bourdeauducq 3852cc1058 windows: don't fixup LLVM 2022-03-27 18:38:23 +08:00
Sebastien Bourdeauducq 0600ee8efa nac3artiq: use correct lld invokation on Windows 2022-03-27 18:25:14 +08:00
ychenfo bed33a7421 nac3standalone: add tests for tuple 2022-03-27 10:31:20 +08:00
ychenfo 0d2b844a2e nac3artiq: avoid getting tuple as pointer value 2022-03-27 10:31:20 +08:00
ychenfo 8d7e300a4a nac3core: do not use const struct for tuple 2022-03-27 10:13:17 +08:00
ychenfo 10d623e36f nac3core/artiq: fix tuple representation 2022-03-27 07:47:14 +08:00
ychenfo 000b128551 nac3artiq: cast none to correct ptr type (#241) 2022-03-26 23:32:50 +08:00
Sebastien Bourdeauducq e4581a6d9b nac3standalone/demo: fix return type in loop.py 2022-03-26 21:10:12 +08:00
pca006132 1a82d296e7 nac3core/codegen: prevent users from modifying loop counter
Fixes #211
2022-03-26 20:58:37 +08:00
pca006132 bf067e2481 nac3artiq: implement attribute writeback
We will only writeback attributes that are supported by the current RPC
implementation: primitives, tuple and lists of lists... of primitives.
2022-03-26 20:13:58 +08:00
ychenfo ba8ed6c663 nac3artiq: handle recursive types properly 2022-03-26 18:54:21 +08:00
ychenfo 26a4834254 fix warnings 2022-03-26 18:52:08 +08:00
Sebastien Bourdeauducq 1ad4b0227c windows: fix src location 2022-03-26 15:46:21 +08:00
Sebastien Bourdeauducq 6288a66dc5 windows: fix cargo lockfile location 2022-03-26 15:23:31 +08:00
Sebastien Bourdeauducq de4320eefb improve package names 2022-03-26 15:15:59 +08:00
Sebastien Bourdeauducq a380cd5010 move all Nix files to one folder 2022-03-26 15:13:43 +08:00
ychenfo 80631fc92b Option type support (#224)
Co-authored-by: ychenfo <yc@m-labs.hk>
Co-committed-by: ychenfo <yc@m-labs.hk>
2022-03-26 15:09:15 +08:00
Sebastien Bourdeauducq 55db05fdbb update dependencies 2022-03-24 22:30:15 +08:00
pca006132 24a26b53ae nac3core/toplevel: fixed broken tests
We should not include class type variables in functions type variables.
2022-03-24 21:33:09 +08:00
pca006132 1084ba2158 nac3core: fixed typevar with finite range
1. Function type variables should not include class type variables,
   because they are not bound to the function.
2. Defer type variable constraint evaluation until we get all fields
   definition.
2022-03-24 21:31:51 +08:00
ychenfo be75fa7368 nac3core: fix assign to constant 2022-03-24 07:13:13 +08:00
Sebastien Bourdeauducq ec52128a4a indentation 2022-03-23 10:45:28 +08:00
Sebastien Bourdeauducq b10b49e39a windows: run cargo tests 2022-03-23 09:53:45 +08:00
Sebastien Bourdeauducq d92ce201d3 runkernel: fix windows build 2022-03-23 09:32:58 +08:00
Sebastien Bourdeauducq 8b485f552b windows: set PYO3_CONFIG_FILE, use exec in wine-msys2 2022-03-23 09:22:33 +08:00
pca006132 d9be8d3978 nac3core/typecheck/unification_table: fixed snapshot restore bug
Closes 229
2022-03-23 00:25:10 +08:00
pca006132 41d62f7325 nac3core/toplevel: fixed typevar substitution bug 2022-03-23 00:25:10 +08:00
Sebastien Bourdeauducq 4400d9b57d windows: attempt to disable libffi further 2022-03-22 22:52:53 +08:00