|
| Software Bubbling |
Software Bubbling is a technique that allows
aggressive scheduling of loops bodies which may contain
aliasing. Using the predication features available in some modern
processors, the loop is scheduled assuming there is no aliasing.
At runtime, when the actual values of possible aliased addresses
are known, we check for aliasing. If there is no aliasing, then
the aggressive loop body is executed; if there is aliasing, then
the instructions in the loop are predicated in such a way that the
loop can be executed safely.
|