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

Explain the different fields of an instructions, Explain the significance o...

Explain the significance of different fields of an instruction An instruction is a command given to a computer to perform a particular operation on some given data and the form

Area under curve , Write a program to find the area under the curve y = f(x...

Write a program to find the area under the curve y = f(x) between x = a and x = b, integrate y = f(x) between the limits of a and b. The area under a curve between two points can b

What is meant by refreshing of the screen, What is meant by refreshing of t...

What is meant by refreshing of the screen?  Some method is required for maintaining the picture on the screen. Refreshing of screen is completed by keeping the phosphorus glowi

Describe the limitation of fat16, Q. Describe the Limitation of FAT16? ...

Q. Describe the Limitation of FAT16? DOS designers decided to use clusters with as a minimum four sectors in them (so a cluster size of at least 2KB) for all FAT16 hard disks.

What is the main function of the memory-management unit, What is the main f...

What is the main function of the memory-management unit? The runtime mapping from virtual to physical addresses is done by a hardware device known as a memory management unit

Super class and subclass in programming, What is the difference among super...

What is the difference among super class and subclass in programming? Ans) A super class is a class that is inherited in programming while the sub class is a class that does th

Biological motivation - two layer artificial neural networks, Biological Mo...

Biological Motivation : However remember there that in discussion first lecture is about how people have answered the question like: "How are we going to get an agent to proce

What are the 2 ieee standards for floating point numbers, What are the 2 IE...

What are the 2 IEEE standards for floating point numbers? 1.single 2.double

What is a unix device driver, A UNIX device driver is ? Ans. A UNIX devi...

A UNIX device driver is ? Ans. A UNIX device driver is structured in two halves termed as top half and bottom half.

Difference between leave transaction and call transaction, What is the diff...

What is the difference between Leave Transaction and Call Transaction? In contrast to LEAVE TO TRANSACTION, the CALL TRANSACTION  statement causes the system to start a new SAP

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