-
Notifications
You must be signed in to change notification settings - Fork 83
Open
Description
Since 1.4.1, turning on the tco feature removes the non-tco execution code.
This is an issue for us (powdr labs) for the following reason:
- We build specialised chips for whole blocks of the program
- Execution for these specialised chips relies on execution for the instructions of the block
- Whether in tco or in non-tco mode, we execute the block instructions in non-tco node.
As a result, we cannot support tco in 1.4.1, because turning tco on removes the code that we rely on for execution.
We tried fixing this by relying on tco execution only when in tco mode. This does not seem to work, because once we tco-execute the first instruction in the block, we don't have a way to stop at the end of the block, since tco execution only stops when it reaches a base case.
We would suggest switching back to the 1.4.0 behaviour, where the tco feature kept the non-tco code intact.
Tagging @shuklaayush following advice from @jonathanpwang
Metadata
Metadata
Assignees
Labels
No labels