Skip to content
Latchkey

O Que É Loop-Invariant Code Motion?

Loop-invariant code motion é uma otimização que identifica expressões dentro de um loop cujo valor é o mesmo em cada iteração e as move para rodar uma vez antes de o loop começar. O compilador verifica que os operandos não mudam dentro do loop antes de içá-las. O corpo do loop fica encarregado apenas do trabalho que realmente varia a cada iteração.

Por que isso importa

Içar trabalho invariante para fora de um loop quente pode cortar uma grande fração de computação repetida. É uma das otimizações de loop de maior alavancagem que um compilador realiza.

Guias relacionados