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

Write SOP& POS form of a combinational circuit, A combinational circuit has...

A combinational circuit has 3 inputs A, B, C and output F.  F is true for following input combinations A is False, B is True A is False, C is True A, B, C are

What is insertion point, A vertical flashing line that permits the user whe...

A vertical flashing line that permits the user where text will be inserted.

Strings made of left curly braces, In a logical system, a judgement is a st...

In a logical system, a judgement is a statement that is either true or false. So far, you are most familiar with the type of judgement "A is true", which is often simply abbreviate

Define entry section and exit section, Define entry section and exit sectio...

Define entry section and exit section. The critical section problem is to design a protocol that the processes can use to cooperate. Every process must request permission to e

Represent negative numbers in the computer system, Q. What are the values o...

Q. What are the values of x, y, and z. (1011.001101)2 = (x)10 = (y)8 = (z)16 Q. What are the various ways to represent Negative Numbers in the Computer system?

What is vector processing, What is vector processing?  There is ...

What is vector processing?  There is a class of computational problems that are beyond the capabilities of a conventional computer. These problems are characterized by t

What is meant by a field, What is meant by a field The consecutive nonw...

What is meant by a field The consecutive nonwhite space characters that define a data item collectively define a field. It is possible  to limit the number of such characters b

client will now send ten integers , Change this program so that every clie...

Change this program so that every client will now send ten integers and receives their sum from the server. In Java, for loops can be easily executed as follows: for (int i = 0 ; i

Name the approaches used for generating the control signals, What are the t...

What are the two approaches used for generating the control signals in proper sequence? Hardwired control Micro programmed control

Ifstream on the input file, Write a main function that opens an ifstream on...

Write a main function that opens an ifstream on the input file, "person.dat".  If the stream cannot be  opened, output an error message and exit.       The file format is as foll

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