Loop-invariant code motion: Difference between revisions

Content deleted Content added
m stub sorted
Language was confusing
Line 1:
{{Unreferenced|date=May 2007}}
 
'''Loop-invariant code''' (also called hoisting or scalar promotion) in an [[Imperative programming|imperative]] [[Computer programming|programming]] language consists of statements which could be moved to before the loop (if the loop always terminates), or after the loop, without affecting the semantics of the program. As a result it is executed less often, providing a speedup. Another effect of this transformation is allowing to store constant into registers and not having to calculate the address and access the memory/cache line at each iteration. '''Loop-invariant code motion''' is often a [[compiler optimization]] which performs this movement automatically.
 
==Worked Example==