You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Cairo requires memory to be used continuously, e.g., one cannot assign to memory at address 100 and leave memory at address 99 uninitialized at the end of the program (this is checked by the Cairo runner). Hence, we cannot leave any temporary variables in JuvixReg uninitialized. We need to implement a transformation on JuvixReg that initializes variables not assigned in an if/case branch, but assigned in other branches (variables assigned in only one branch will appear e.g. as a result of transforming JuvixReg into SSA form).
The text was updated successfully, but these errors were encountered:
…hes (#2650)
* Closes#2576
* Adds a JuvixReg transformation `InitBranchVars` which inserts
assignments to initialize variables assigned in other branches. Assumes
the input is in SSA form (which is preserved).
* Adds tests for the `InitBranchVars` transformation.
* Depends on #2647
Cairo requires memory to be used continuously, e.g., one cannot assign to memory at address 100 and leave memory at address 99 uninitialized at the end of the program (this is checked by the Cairo runner). Hence, we cannot leave any temporary variables in JuvixReg uninitialized. We need to implement a transformation on JuvixReg that initializes variables not assigned in an if/case branch, but assigned in other branches (variables assigned in only one branch will appear e.g. as a result of transforming JuvixReg into SSA form).
The text was updated successfully, but these errors were encountered: