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

What are the various design constraints, What are the various Design constr...

What are the various Design constraints used while performing Synthesis for a design? 1. Make the clocks (frequency, duty-cycle). 2. Explain the transition-time requirements

What is charge-coupled devices, Q. What is Charge-coupled Devices? CCDs...

Q. What is Charge-coupled Devices? CCDs are employed for storing information. They have arrays of cells that can hold charge packets of electron. A word is signified by a set o

Differentiate between qa and testing, Differentiate between QA and testing....

Differentiate between QA and testing. - Quality Assurance is more a stop thing, ensuring quality in the company and thus the product rather than just testing the product for so

Host computer-array processing, Host Computer:  An array processor may be a...

Host Computer:  An array processor may be attached to a host computer by the control unit. The reason of the host computer is to broadcast a sequence of vector instructions by CU t

What is stack addressing, Q. What is Stack Addressing? In this addressi...

Q. What is Stack Addressing? In this addressing technique operand is implied as top of stack. It isn't explicit however implied. It employs a CPU Register known as Stack Pointe

What are dynamic process groups, Q. What are Dynamic Process Groups? To...

Q. What are Dynamic Process Groups? To create and manage dynamic groups a separate library libgpvm3.a should be linked with the user programs which make use of any of group fun

States briefly the generic framework for e-commerce, States briefly the gen...

States briefly the generic framework for e-commerce. Generic framework of e-commerce comprises the Applications of e-commerce (as like banking, shopping within online stores an

Virtulization, Analyse the future of Operating Systems with reference to Vi...

Analyse the future of Operating Systems with reference to Virtualisation.words accepted#

Control-centered virtual manufacturing, Control-Centered Virtual Manufactur...

Control-Centered Virtual Manufacturing This is the addition of simulations to control actual processes and models, permitting for seamless simulation for optimization throughou

Power and energy, Ask questiPower and EnergyQuestion 4Consider a processor ...

Ask questiPower and EnergyQuestion 4Consider a processor that runs at 2.5 GHz and 1 Volt. When running a given CPU-bound program,the processor consumes 100 W, of which 20 W is leak

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