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
Currently, in large programs with lots of inferred labels, the ITE labels can get extremely large before being simplified. For example the value of a label may be inferred to be:
However, it is often the case that var1 == var 2 == var3
In the currently implementation, this is resolved after creating these deep ITE labels and causes large recursive resolution that is inefficient. This has been solved in JOIN label inference by sorting sublabels; however the same approach cannot be used with ITE labels since their sublabels cannot be extracted since ITE is not a commutative operation (the join optimization just pulls out all labels referenced in the join and rejoins them later in sorted order).
Instead, ITE assignment must be done after some inference has resolved these equivalent labels to minimize the depth of ITE labels necessary to express accurate flow restrictions
The text was updated successfully, but these errors were encountered:
Currently, in large programs with lots of inferred labels, the ITE labels can get extremely large before being simplified. For example the value of a label may be inferred to be:
However, it is often the case that
var1 == var 2 == var3
In the currently implementation, this is resolved after creating these deep ITE labels and causes large recursive resolution that is inefficient. This has been solved in JOIN label inference by sorting sublabels; however the same approach cannot be used with ITE labels since their sublabels cannot be extracted since ITE is not a commutative operation (the join optimization just pulls out all labels referenced in the join and rejoins them later in sorted order).
Instead, ITE assignment must be done after some inference has resolved these equivalent labels to minimize the depth of ITE labels necessary to express accurate flow restrictions
The text was updated successfully, but these errors were encountered: