Fix timeline tracking for parallel blocks #344

Closed
derppening wants to merge 5 commits from issue-298 into master
Collaborator

The previous implementation reset the timeline on every function call in the top-level of a parallel block. This breaks when nested sequential blocks are present within the parallel blocks, as the timeline will not be reset after executing the nested sequential block.

This is fixed by resetting the timeline on every top-level statement of a parallel block, since these statements are to be treated as parallelly executed. CodeGenerator::gen_block is implemented to facilitate this change.

This PR also contains minor improvements to LLVM IR value naming and documentation updates.

Fixes #298.

The previous implementation reset the timeline on every function call in the top-level of a parallel block. This breaks when nested sequential blocks are present within the parallel blocks, as the timeline will not be reset after executing the nested sequential block. This is fixed by resetting the timeline on every top-level statement of a parallel block, since these statements are to be treated as parallelly executed. `CodeGenerator::gen_block` is implemented to facilitate this change. This PR also contains minor improvements to LLVM IR value naming and documentation updates. Fixes #298.
derppening self-assigned this 2023-10-24 11:53:21 +08:00
derppening added 5 commits 2023-10-24 11:53:22 +08:00
ba4e842d31 artiq: Fix timeline tracking for parallel blocks
This commit fixes timeline tracking by updating the maximum mu and
restoring the start mu on every top-level statement within the parallel
block as opposed to on each function call.

Fixes #298.
derppening force-pushed issue-298 from ba4e842d31 to 4bccfb47ef 2023-10-24 11:53:35 +08:00 Compare
Poster
Collaborator

v2: Updated commit message

v2: Updated commit message
derppening force-pushed issue-298 from 4bccfb47ef to 305836305c 2023-10-24 19:08:32 +08:00 Compare
derppening closed this pull request 2023-10-24 19:11:22 +08:00

Pull request closed

Sign in to join this conversation.
No reviewers
No Milestone
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: M-Labs/nac3#344
There is no content yet.