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
Basically we can find loops if the jump is calculated in the edge between jump and jump location. However, as we currently propagate the values, some of the information is lost. So when calculating constants, we should also come up with a way to locate where the constant was calculated. As far as I know, constants are obtained with getOrCreateConstant, so they are not unique. Additionally, when we determine that we are in a loop, we can lift in "loop mode" without folding and with phi's. After we lift the loop, we should try to find loop invariant code, unroll certain variables and etc.
The text was updated successfully, but these errors were encountered:
Basically we can find loops if the jump is calculated in the edge between jump and jump location. However, as we currently propagate the values, some of the information is lost. So when calculating constants, we should also come up with a way to locate where the constant was calculated. As far as I know, constants are obtained with getOrCreateConstant, so they are not unique. Additionally, when we determine that we are in a loop, we can lift in "loop mode" without folding and with phi's. After we lift the loop, we should try to find loop invariant code, unroll certain variables and etc.
The text was updated successfully, but these errors were encountered: