David Mak
2a38d5160e
meta: Respect opt flags when performing whole-module optimization
2023-09-28 19:58:54 +08:00
David Mak
ab2360d7a0
core: Remove emit_llvm from CodeGenLLVMOptions
...
We instead output an LLVM bitcode file when the option is specified on
the command-line.
2023-09-22 17:16:29 +08:00
David Mak
f59d45805f
standalone: Add command line flags for target properties
...
For testing codegen for different platforms on the host system.
2023-09-18 11:35:20 +08:00
David Mak
048fcb0a69
core: Switch to LLVM New Pass Manager
2023-09-18 11:35:15 +08:00
David Mak
676d07657a
core: Add target field to CodeGenLLVMOptions
...
For specifying the target machine options when optimizing and linking.
This field is currently unused but will be required in a future
commit.
2023-09-18 09:46:24 +08:00
David Mak
474f9050ce
standalone: Expose flags in command-line
2023-09-12 16:20:49 +08:00
David Mak
3993a5cf3f
core: Add LLVM options to WorkerRegistry
2023-09-12 10:57:05 +08:00
David Mak
e4940247f3
standalone: Implement command-line parser using clap
...
In preparation for adding more command-line options.
2023-09-12 10:08:34 +08:00
z78078
ebd25af38b
nac3standalone: allow classes without explicit init ( #221 )
...
Reviewed-on: M-Labs/nac3#304
Co-authored-by: z78078 <cc@m-labs.hk>
Co-committed-by: z78078 <cc@m-labs.hk>
2022-07-07 10:36:25 +08:00
Sebastien Bourdeauducq
a308d24caa
nac3standalone: cleanup
2022-04-18 16:02:48 +08:00
Sebastien Bourdeauducq
1eac111d4c
cleanup
2022-04-18 15:55:37 +08:00
ychenfo
44199781dc
nac3standalone: add tests for operators
2022-04-18 15:31:56 +08:00
pca006132
41d62f7325
nac3core/toplevel: fixed typevar substitution bug
2022-03-23 00:25:10 +08:00
Sebastien Bourdeauducq
3f890f183c
nac3standalone/demo: handle imports consistently
2022-03-19 09:14:27 +08:00
pca006132
234823c51a
nac3standalone: added typevar test
2022-03-18 16:52:52 +08:00
Sebastien Bourdeauducq
0ca2797428
fix compilation warning
2022-03-17 21:31:45 +08:00
pca006132
63b0f29728
Fix broken tests
2022-03-05 00:27:51 +08:00
pca006132
f97f93d92c
applied rustfmt and clippy auto fix
2022-02-21 18:27:46 +08:00
pca006132
d9cb506f6a
nac3core: refactored for better error messages
2022-02-21 18:24:19 +08:00
pca006132
352831b2ca
nac3core: removed legacy location definition
2022-02-13 22:39:24 +08:00
pca006132
14d25b3b9d
Fixed broken tests
2022-02-13 17:21:42 +08:00
pca006132
b18626b149
Fix compilation and test failures
2022-02-12 22:50:32 +08:00
Sebastien Bourdeauducq
64b94955fe
nac3standalone: reorganize demos, compare against cpython
2022-01-23 10:35:06 +08:00
ychenfo
4a1a4dc076
nac3core/artiq/standalone: symbol resolver return error msg for type error of host variables
2022-01-14 16:28:34 +08:00
ychenfo
4760851638
nac3standalone: link modules and load irrt like in nac3artiq
2022-01-09 02:17:58 +08:00
Sebastien Bourdeauducq
b638d1b4b0
nac3standalone: set up LLVM inliner like in nac3artiq
2022-01-08 21:03:58 +08:00
Sebastien Bourdeauducq
9cc9a0284a
nac3standalone: style
2021-12-28 10:59:17 +08:00
ychenfo
88f0da7bdd
add file name to AST node location
2021-12-28 01:28:55 +08:00
pca006132
fa04768a77
redo "nac3core: fix #84 "
...
This reverts commit 86005da8e1
.
2021-12-27 22:56:26 +08:00
Sebastien Bourdeauducq
86005da8e1
Revert "nac3core: fix #84 "
...
This reverts commit 0902d8adf4
.
2021-12-26 08:35:27 +08:00
pca006132
0902d8adf4
nac3core: fix #84
2021-12-23 15:26:48 +08:00
Sebastien Bourdeauducq
2008db8097
nac3standalone: remove unused import
2021-12-20 17:39:16 +08:00
ychenfo
91625dd327
update kernel-only attribute annotation
...
Reviewed-on: M-Labs/nac3#127
Co-authored-by: ychenfo <yc@m-labs.hk>
Co-committed-by: ychenfo <yc@m-labs.hk>
2021-12-19 11:04:53 +08:00
ychenfo
dfd3548ed2
TypeVar and virtual support in Symbol Resolver ( #99 )
...
Add `TypeVar` and `virtual` support for Symbol Resolver in nac3artiq and nac3standalone
Reviewed-on: M-Labs/nac3#99
Co-authored-by: ychenfo <yc@m-labs.hk>
Co-committed-by: ychenfo <yc@m-labs.hk>
2021-12-01 22:44:53 +08:00
pca006132
4b17511b4a
Merge branch 'master' into KernelInvariant
2021-11-27 21:29:27 +08:00
ychenfo
4587088835
Constant Default Parameter Support ( #98 )
...
Add support for constant default parameter
Reviewed-on: M-Labs/nac3#98
Co-authored-by: ychenfo <yc@m-labs.hk>
Co-committed-by: ychenfo <yc@m-labs.hk>
2021-11-23 07:32:09 +08:00
ychenfo
c6f75c8bde
nac3standalone: fix error message when no entry point is found
2021-11-22 14:52:52 +08:00
ychenfo
aae9925014
nac3standalone: report when entry point run function cannot be found
2021-11-21 06:11:55 +08:00
pca006132
ba08deada6
nac3core: refactor codegen
2021-11-20 19:50:25 +08:00
Sebastien Bourdeauducq
bf7e2c295a
integrate nac3parser
2021-11-03 17:11:00 +08:00
pca006132
279f47f633
nac3core/codegen: avoid sending unifiers
...
Previously, we have to copy types from one unification table to another,
and make the table sendable. This requires cloning (processing) the
whole table 3 times per function call which is not efficient and uses
more memory than required when the unification table is large.
We now use a concrete type table to only copy the type we need. This
reduces the overhead as we only need to process the unification table
for once (when we do the function codegen), and reduces memory usage by
a bit (but not noticeable when the unification table is small, i.e. the
types are simple).
2021-10-17 13:02:18 +08:00
pca006132
1f5bea2448
nac3core/codegen: refactor according to #23
2021-10-16 22:17:36 +08:00
pca006132
c4259d14d1
fixed some clippy warnings
2021-10-16 18:08:13 +08:00
pca006132
11144301ca
nac3artiq: added simple host value support
2021-10-06 16:07:42 +08:00
Sebastien Bourdeauducq
ba93931758
implement timeline functions for RISC-V (WIP)
2021-10-02 19:05:35 +08:00
pca006132
f0fdfe42cb
nac3core: better impl of #24
2021-09-30 17:07:48 +08:00
pca006132
d4ed76d76e
nac3core: implementing #24
2021-09-26 22:17:09 +08:00
pca006132
c4fbfeaca9
nac3standalone: added thread number arg
2021-09-23 20:02:56 +08:00
pca006132
105d605e6d
nac3core: fix clippy warnings
2021-09-22 18:04:06 +08:00
pca006132
084efe92af
nac3core: use string interning
2021-09-22 18:04:06 +08:00