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

Programming, Write a procedure for each of the following: (i) To find the m...

Write a procedure for each of the following: (i) To find the maximum MAX of the values in the list. (ii) To find the average MEAN of the values in the list. (iii) To find the produ

Determine the maximum amplitude of delta modulator, (a) Consider a sinusoid...

(a) Consider a sinusoidal signal m(t) = A cos(2πfmt) applied to a delta modulator with step size Δ. Determine the range of the step size so that slope overload will be avoided. Ass

Define various system, Define various system? Single job system: Only...

Define various system? Single job system: Only one program may be run at a time, and therefore only one person might be work on a machine at one time.  Multi job system:

Describe miscellaneous and privileged instructions, Q. Describe Miscellaneo...

Q. Describe Miscellaneous and Privileged Instructions? These instructions don't fit in any of above categories. I/O instructions: start I/O, stop I/O, and test I/O. Characteris

Define memory allocation scheme in ''external'' fragmentation, The memory a...

The memory allocation scheme subject to “external” fragmentation is? Segmentation is the memory allocation scheme subject to “external” fragmentation.

Why we use addressing schemes, Q Why we use addressing schemes? An ope...

Q Why we use addressing schemes? An operation code of an instruction tells the operation to be performed. This operation is executed on some data stored in memory or register.

Hardware cost-network properties, Hardware Cost It refers to the cost i...

Hardware Cost It refers to the cost involved in the execution of an interconnection network. It consists of the cost of switches, connectors, , arbiter unit, interface logic an

What is associative mapping cache, Q. What is Associative Mapping Cache? ...

Q. What is Associative Mapping Cache? The most fastest and flexible cache organization employs an associative memory that is displayed in Figure below. The associative memory s

Bit manipulation techniques and mathematical functions, Within micro contro...

Within micro controller's software, it is very useful to be able to manipulate binary bits i.e. from ports etc. The ALU has command to shift data, rotate data, compare data, set/cl

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