forked from M-Labs/nac3
1
0
Fork 0
nac3/nac3core/src
pca006132 083eacc268 with parallel/sequential support
Behavior of parallel and sequential:
Each function call (indirectly, can be inside a sequential block) within a parallel
block will update the end variable to the maximum now_mu in the block.
Each function call directly inside a parallel block will reset the timeline after
execution. A parallel block within a sequential block (or not within any block) will
set the timeline to the max now_mu within the block (and the outer max now_mu will also
be updated).

Implementation: We track the start and end separately.
- If there is a start variable, it indicates that we are directly inside a
parallel block and we have to reset the timeline after every function call.
- If there is a end variable, it indicates that we are (indirectly) inside a
parallel block, and we should update the max end value.

Note: requires testing, it is difficult to inspect the output IR
2021-10-31 23:54:37 +08:00
..
codegen with parallel/sequential support 2021-10-31 23:54:37 +08:00
toplevel nac3core: supports range iterator 2021-10-23 23:53:36 +08:00
typecheck with parallel/sequential support 2021-10-31 23:54:37 +08:00
lib.rs move top level related things to a separate module 2021-08-24 17:19:17 +08:00
location.rs nac3core: fix clippy warnings 2021-09-22 18:04:06 +08:00
symbol_resolver.rs nac3core/codegen: avoid sending unifiers 2021-10-17 13:02:18 +08:00