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

Define point-to-point communication, Q. Define Point-to-point Communication...

Q. Define Point-to-point Communication? The simplest form of message is a point to point communication. A message is sent from the transmitting processor to a receiving process

Effective collaborative computing, Explain how the Web enables effective co...

Explain how the Web enables effective collaborative computing. Discuss the similarities and differences among WebEx, Microsoft NetMeeting and Novell Groupwise software (in less tha

Prediction algorithms , The following branch prediction algorithms are sugg...

The following branch prediction algorithms are suggested: 1) Guess that the branch will be taken if the previous one was taken; predict not taken otherwise. 2) Guess that the

What is pipelining, What is pipelining? It is a method of decomposing a...

What is pipelining? It is a method of decomposing a sequential process into sub-operations, with each sub-process being implemented in a special dedicated segment that operates

Gantt chart, The Gantt chart shows the several activities of each processor...

The Gantt chart shows the several activities of each processor with respect to progress in time in idle-overhead -busy modes with respect to each processor. Kiviat diagram:  Th

Describe about pascaline, Q. Describe about Pascaline? Blaise Pascal ma...

Q. Describe about Pascaline? Blaise Pascal made very first attempt in the direction of automatic computing. He invented a device that comprised lots of gears and chains that us

What is simd, What is SIMD? Single Instruction stream, Multiple Data st...

What is SIMD? Single Instruction stream, Multiple Data stream (SIMD) shows an organization that contains many processing units under the supervision of a common control unit. A

Define the node of object oriented modeling, Define the node of object orie...

Define the node of object oriented modeling A node is a physical element which exists at runtime and represents a computational resource usually having a large memory and often

TIME COMPLEXITY, calculate the time complexity of a=(b/c) operation in stac...

calculate the time complexity of a=(b/c) operation in stack

How many address bits are required to represent 4K memory, How many address...

How many address bits are required to represent 4K memory ? Ans. 12 address bits are required for representing 4K memory, as 4K = 2 2 x 2 10   = 2 12 Therefore 1K = 1024

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