A mechanism and method for hoisting invariant computations from loops
analyzes the lifetimes of fixed processor resources defined by an
instruction, and determines whether a group of computations present in
multiple instructions within the lifetime are, taken together,
loop-invariant and legal to hoist from the loop. If the group of
computations within the lifetime of the fixed processor resource are
loop-invariant and hoistable, all of the computations are hoisted out of
the loop as a group. By determining the lifetimes of fixed processor
resources defined in an instruction, the hoisting mechanism succeeds in
hoisting out groups of computations that cannot be individually hoisted
out of a loop, thereby achieving better performance when the computer
program executes.
Механизм и метод для поднимать инвариантные вычисления от петель анализируют продолжительности жизни фикчированных ресурсов обработчика определенных инструкцией, и обусловливают ли группа в составе вычисления присытствыющие в множественных инструкциях в пределах продолжительности жизни, после того как они приняты совместно, петл-invariantno и законно к подъему от петли. Если группа в составе вычисления в пределах продолжительности жизни фикчированного ресурса обработчика петл-invariantna и hoistable, то все из вычислений подняты из петли как группа. Путем обусловливать продолжительности жизни фикчированных ресурсов обработчика определенных в инструкции, поднимая механизм преуспевает в поднимать из групп в составе вычисления которые можно индивидуально поднять из петли, таким образом достигая более лучшего представления когда компьутерная программа исполняет.