Commit Graph

1229 Commits

Author SHA1 Message Date
496171a4a5 WIP: stuck on #460 2024-07-16 12:28:08 +08:00
d90604b713 WIP 2024-07-16 00:27:50 +08:00
0946bd86ea core: irrt proper ndarray subscript & more
Details:
- improve irrt model
- len() on ndarrays
2024-07-15 21:05:01 +08:00
29734ce3af core: irrt fix minor formatting 2024-07-15 12:05:47 +08:00
b940b0a3a1 core: irrt refactor print & add print_ndarray 2024-07-15 12:05:17 +08:00
b12d7fcb2d core: irrt improve test_ndarray_subscript
- rewrote some comments
- add test_ndsubscript_index_subscript_out_of_bounds
2024-07-15 11:54:32 +08:00
628965e519 core: irrt reformat & more progress
progress details:
- organize test suite sources with namespaces
- organize ndarray implementations with namespaces
- remove extraneous code/comment
- add more tests
- some renaming
- fix pre-existing bugs
- ndarray::subscript now throw errors
2024-07-15 11:50:45 +08:00
61dd9762d8 core: irrt add unchecked ndarray broadcasting 2024-07-15 00:49:07 +08:00
cc8103152f core: irrt add unchecked ndarray slicing 2024-07-15 00:48:14 +08:00
b8c0d5836f core: replace NDArray type in get_llvm_type() 2024-07-15 00:01:02 +08:00
0cc7e41c6f core: fix new irrt ndarray issues 2024-07-15 00:00:41 +08:00
d92cccb85e core: irrt split ndarray.hpp 2024-07-14 23:35:50 +08:00
3344a2bcd3 core: new np_{zeros,ones,fill} + some irrt model additions 2024-07-14 23:16:28 +08:00
51a099b602 core: irrt error context mechanism 2024-07-14 22:34:23 +08:00
1f2bb80812 core: lift SizeVariant to /util.rs 2024-07-14 22:34:23 +08:00
709844b855 core: inkwell model abstraction 2024-07-14 22:34:21 +08:00
73937730e0 core: -I irrt/ & #include absolute paths 2024-07-14 17:09:48 +08:00
5faac4b9d4 core: build.rs to capture IR global constants 2024-07-13 23:37:26 +08:00
c4d54b198b core: add llvm.lifetime.{start.end} 2024-07-13 23:37:26 +08:00
9ad7a78dbe core: build.rs rewrite regex to capture = type 2024-07-13 23:37:26 +08:00
1721ebac66 core: introduce irrt_test 2024-07-13 23:37:24 +08:00
f033639415 core: split irrt.cpp into headers 2024-07-12 21:53:15 +08:00
3116f11814 core: comment build.rs & move irrt to its own dir 2024-07-12 21:52:55 +08:00
5047379ac0 core: irrt build with -W=return-type 2024-07-12 21:19:38 +08:00
6c10e3d056 core: cargo clippy 2024-07-12 21:18:53 +08:00
2dbc1ec659 cargo fmt 2024-07-12 21:16:38 +08:00
c80378063a add np_argmin/argmax to interpret_demo environment 2024-07-12 13:27:52 +02:00
513d30152b core: support raise exception short form 2024-07-12 18:58:34 +08:00
45e9360c4d standalone: Add np_argmax and np_argmin tests 2024-07-12 18:19:56 +08:00
2e01b77fc8 core: refactor np_max/np_min functions 2024-07-12 18:18:54 +08:00
cea7cade51 core: add np_argmax/np_argmin functions 2024-07-12 18:18:28 +08:00
d658d9b00e update dependencies, Python 3.12 on Linux 2024-07-09 23:56:12 +08:00
eeb474f9e6 core: reduce code duplication in codegen/extern_fns (#453)
Used macros to reduce code duplication in `codegen/extern_fns`

Reviewed-on: M-Labs/nac3#453
Co-authored-by: abdul124 <ar@m-labs.hk>
Co-committed-by: abdul124 <ar@m-labs.hk>
2024-07-09 16:31:08 +08:00
88b72af2d1 core/llvm_intrinsic: improve macro name and comments 2024-07-09 16:30:32 +08:00
b73f6c4d68 core: reduce code duplication in codegen/llvm_intrinsic 2024-07-09 16:30:32 +08:00
f47cdec650 standalone: Fix output format of output_range 2024-07-09 13:55:48 +08:00
d656880e44 standalone: Fix missing implementation for output_range 2024-07-09 13:53:50 +08:00
a91602915a core: Fix missing fields in range type 2024-07-09 13:53:50 +08:00
1c56005a01 core: Reformat and modernize irrt.cpp
- Use anon namespace instead of static
- Use using declaration instead of typedef
- Align pointers to the type instead of the identifier
2024-07-09 13:53:50 +08:00
bc40a32524 core: Add report_type_error to enable more code reuse 2024-07-09 13:44:47 +08:00
c820daf5f8 core: Apply cargo format 2024-07-09 13:32:10 +08:00
25d2de67f7 standalone: Add output_range and tests 2024-07-09 04:44:40 +08:00
2cfb7a7e10 core: Refactor range function into constructor 2024-07-09 04:44:40 +08:00
9238a5e86e standalone: Rename output_str to output_strln and add output_str
output_str is for outputting strings without newline, and the newly
introduced output_strln now has the old behavior of ending with a
newline.
2024-07-09 04:44:40 +08:00
76defac462 meta: use clang -x c++ instead of clang++ 2024-07-07 20:03:34 +08:00
650f354b74 core: use C++ for irrt source 2024-07-07 14:36:10 +08:00
f062ef5f59 core/llvm_intrinsic: replace roundeven with rint 2024-07-07 14:24:18 +08:00
f52086b706 core: improve binop and cmpop error messages 2024-07-05 16:27:24 +08:00
0a732691c9 core: refactor typecheck/magic_methods.rs operators & add op symbol name 2024-07-05 16:27:20 +08:00
cbff356d50 core: workaround inkwell on llvm.stackrestore 2024-07-05 13:56:12 +08:00