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

Implicative normal form, Implicative normal form: Thus the sentence is...

Implicative normal form: Thus the sentence is now in CNF. In Fact for simplification can take place by removing duplicate literals and dropping any clause that contains both A

Stack and queue, Describe queue? Ans:  It is a type of data structure ...

Describe queue? Ans:  It is a type of data structure in which the data are stored in and retrieved on a First in first out (FIFO) basis. It grows in the direction of increasin

Define relocation bits utilized by relocating loader, Relocation bits used ...

Relocation bits used by relocating loader are specified by? Ans. Relocation bits utilized by relocating loader are identified by Assembler or Translator.

Decomposition model of parallel programming, The PVM system supports functi...

The PVM system supports functional and data decomposition model of parallel programming. It attaches with C, C++, and FORTRAN. The C and C++ language bindings for the PVM user inte

Design an or to and gates combinational network, Design an OR to AND gates ...

Design an OR to AND gates combinational network and NAND only n/w for the following Boolean expression: A'BC'D + ABC'D' + A'B'CD' + A'BCD'

Example on plane, Q. If a plane is in the air also there is a fly flying in...

Q. If a plane is in the air also there is a fly flying inside the plane does the plane get heavier when the fly lands? Answer:- It is true that a fly puts weight on a plan

Various ways of floating point representation in memory, Describe the vario...

Describe the various ways of floating point representation in memory. What is the importance of normalizing the mantissa in this representation? Explain it by example(s)?

Hidden input, Yet another type of input is HIDDEN input. A HIDDEN in...

Yet another type of input is HIDDEN input. A HIDDEN input is a value/name pair which is returned to you but doesn

Explain priority interrupt, What is priority interrupt? A priority inte...

What is priority interrupt? A priority interrupt is an interrupt that establishes a priority over the various sources to verify which condition is to be serviced first when two

Rdbms relational database system, RDBMS relational database system - Re...

RDBMS relational database system - Relational databases are composed of relations and managed through relational operations, and governed through data integrity constraints.

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