array unrolling/rerolling
The first type already inserts itself correctly into the execution schedule. Phi nodes and array statements, however, just adopt their successor node's execution schedule. We need to change this. This means not only updating the phi/array statement's execution schedules, but also that of all future statements.
Function header:
void adjustExecutionSchedules()
It will be called in finalize(). It MUST be called before padExecutionSchedules() so that the Compose() calls can generate correct Relations. Due to this, padExecutionSchedules() is being moved to finalize() where it will be called after adjustExecutionSchedules().
We have the following statement types which are added dynamically (not by the user of spf-ie):
appendComputation
pass-by-value parameter statementsFunction header:
void adjustExecutionSchedules()
It will be called infinalize()
. It MUST be called beforepadExecutionSchedules()
so that the Compose() calls can generate correct Relations. Due to this,padExecutionSchedules()
is being moved tofinalize()
where it will be called afteradjustExecutionSchedules()
.