aiPop also performs a data dependence analysis (DDA) on the instructions. The DDA information is used for several optimizations, e.g. for removing redundant cyclic moves. In the example shown above, the second instruction can be removed providing registers a and b don't change in-between and the second instruction could not be executed before the first instruction.