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 encryption and decryption methods, Illustrate the Encryption...

Illustrate the Encryption and Decryption methods One of the best method of ensuring security is to change the form of communication. Let the messages be encoded in such a patte

Illustrate shift micro-operations, Q. Illustrate Shift Micro-operations? ...

Q. Illustrate Shift Micro-operations? Shift is a valuable operation that can be used for serial transfer of data. These operations can also be used along with other (arithmetic

#title.linear programming, zmax=7.5x1-3x2 subject to constraints 3x1-x2-x3>...

zmax=7.5x1-3x2 subject to constraints 3x1-x2-x3>=3 x1-x2+x3>=2 x1,x2,x3>=0

Which dependencies of hierarchical tables in the sap system, The structure ...

The structure of Logical Databases reflects which dependencies of hierarchical tables in the SAP system. Foreign Key dependencies

Cache simulater, Requirements You are required to program (in a high l...

Requirements You are required to program (in a high level language such as C, C++, Java) and implement a cache simulator which will have the following inputs and outputs:-

What is object orientation, What is object orientation? Object orientat...

What is object orientation? Object orientation means that we classify software as a collection of discrete objects that incorporate with together DS and behaviour. Four aspe

Hubs are present in the network, Hubs are present in the network To inte...

Hubs are present in the network To interconnect the LAN with WANs.

Draw the logic diagram of 4-bit twisted ring counters, Draw the logic diagr...

Draw the logic diagram of 4-bit Twisted Ring counters and explain its operation with the help of timing diagram. Ans: Twisted ring counter (4 BIT): We ready know that shi

What is binary, Binary is an alternative number system which works very goo...

Binary is an alternative number system which works very good for computers. Humans have ten fingers; that's probably why we use ten digits (0, 1, 2, 3, 4, 5, 6, 7, 8, and 9) in our

Design a sample counter, Let's design a synchronous BCD counter. A BCD coun...

Let's design a synchronous BCD counter. A BCD counter follows a sequence of ten states and returns to 0 after count of 9. These counters are also known as decade counters. This typ

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