Explain loop-invariant code motion, Computer Engineering

Assignment Help:

Explain briefly Loop-invariant code motion of the commonly used code optimization techniques.

Loop-invariant code motion

If a quantity is calculated inside a loop during iteration and its value is similar for iteration, this can vastly improve efficiency to hoist this outside the loop and calculate its value just once before the loop begins. It is particularly significant with the address-calculation expressions generated through loops over arrays. For accurate implementation, such technique must be utilized with loop inversion, since not all code is safe to be hoisted outside the loop.

For illustration:

 for (i=1; i≤10, i++){

x=y*2-(1)

.

.

.

}

statement 1 can be hoisted outside the loop assuming value of x and y does not modify in the loop.


Related Discussions:- Explain loop-invariant code motion

Illustrate the uses of assembly language, Q. Illustrate the Uses of Assembl...

Q. Illustrate the Uses of Assembly Language? Uses of Assembly Language Assembly language is used mainly for writing short, efficient, specific interfacing modules/ subrou

What is program-controlled i/o, What is program-controlled I/O? In prog...

What is program-controlled I/O? In program controlled I/O the processor repeatedly checks a status flags to achieve the needed synchronization among the processor and an input

Advantage of booth and restoring division algorithm, Describe the advantage...

Describe the advantage of using Booth algorithm? Ans:  a) It achieves efficiency in the number of additions needed when the multiplier has a few large blocks of 1's. b) It

Cohesion and coupling, can i get a prepared ppt for this topic to present i...

can i get a prepared ppt for this topic to present it in a seminar??

Array is a pointer to pointer to int, Array is a pointer-to-pointer-to-int:...

Array is a pointer-to-pointer-to-int: at the first level, it points to a block of pointers, one for each row. That first-level pointer is the first one we allocate; it has nrows e

What is metropolitan area network, Q. What is Metropolitan Area Network? ...

Q. What is Metropolitan Area Network? Metropolitan Area Network (MAN):  It is privately or public owned communication system that naturally covers a complete city. Speed is abo

Determine a positive logic system logic state level, In a positive logic sy...

In a positive logic system, logic state 1 corresponds to ? Ans. For positive digital logic, we choose two voltages levels. Higher voltage shows logic 1 and a lower voltage sho

Define the difference between union and structure, Define the difference be...

Define the difference between union and structure The main difference between union and structure is the storage allocation. In Union , for each variable the compiler allocates

Computer arcticture, what is the main goal of parallel processing

what is the main goal of parallel processing

Methods for organising the associative memory, There are two methods for or...

There are two methods for organising the associative memory based on bit slices: Bit parallel organisation: In this organisation every bit slices which are not masked off,

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd