Commit Graph

784 Commits

Author SHA1 Message Date
ychenfo ad9ad22cb8 nac3core: optimize unwrap KernelInvariant 2022-04-11 14:58:35 +08:00
ychenfo f66f66b3a4 nac3core, artiq: remove unnecessary ptr casts 2022-04-10 01:28:46 +08:00
ychenfo 6c485bc9dc nac3artiq: skip attribute writeback for option
option types do not have any fields to be written back to the host so it is ok to skip. If we do not skip, there will be error when getting the value of it since it can be `none`, whose type is not concrete
2022-04-10 01:28:30 +08:00
ychenfo 089bba96a3 nac3artiq: get_obj_value take an additional argument for expected type 2022-04-10 01:28:30 +08:00
ychenfo 0e0871bc38 nac3core, artiq: to_basic_value_enum takes an argument indicating the expected type 2022-04-10 01:28:22 +08:00
ychenfo 26187bff0b nac3core: add missing bound check and negative index handling for list subscription assignment 2022-04-09 04:56:31 +08:00
ychenfo 86ce513cb5 nac3standalone: fix broken test
previously this test unexpectedly passed because it is a slice assignment to extend the list, which is valid in CPython and hence in interpret_demo, and which also happened to give the same output in nac3 by memmove the elements in the list of bool
2022-04-05 18:21:46 +08:00
ychenfo c29cbf6ddd nac3core: add bound check for list slice 2022-04-05 18:21:46 +08:00
ychenfo 7443c5ea0f nac3core: add location information to codegen context 2022-04-05 18:21:46 +08:00
Sebastien Bourdeauducq f55b077e60 README: update Windows instructions 2022-04-05 18:07:38 +08:00
Sebastien Bourdeauducq e05b0bf5dc flake: update nixpkgs 2022-04-05 10:10:08 +08:00
Sebastien Bourdeauducq 8eda0affc9 windows: add wine-msys2-build 2022-04-05 10:06:36 +08:00
Sebastien Bourdeauducq 75c53b40a3 windows: update msys2 packages, add setuptools to environment 2022-04-05 10:06:14 +08:00
pca006132 0d10044d66 Merge pull request 'Fix float**int with negative power' (#254) from neg_powi_fix into master
Reviewed-on: M-Labs/nac3#254
2022-04-04 22:43:20 +08:00
ychenfo 23b7f4ef18 nac3standalone: add tests for power 2022-04-04 22:10:56 +08:00
ychenfo 710904f975 nac3core: fix powi with negative integer power 2022-04-04 22:10:56 +08:00
Sebastien Bourdeauducq 4bf452ec5a windows: do not check dependencies when making package 2022-04-04 16:03:59 +08:00
Sebastien Bourdeauducq 9fdce11efe windows: depend on python 2022-04-04 15:21:34 +08:00
Sebastien Bourdeauducq f24ef85aed hydra: use msys2 type 2022-04-04 15:03:53 +08:00
Sebastien Bourdeauducq 4a19787f10 README: update 2022-04-04 15:03:44 +08:00
Sebastien Bourdeauducq 8209c0a475 windows: create MSYS2 package 2022-04-04 14:24:47 +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