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

Synchronous, What are differences between Synchronous, Asynchronous and I s...

What are differences between Synchronous, Asynchronous and I synchronous communication? Sending data encoded in your signal needs that the sender and receiver are both by using

Don''t care states, The conflict between too hot and too cold or too slow a...

The conflict between too hot and too cold or too slow and too fast can be resolved using don't care states. Don't care states are used when i) the state of the output is not

What is winchester technology, What is Winchester technology? The disk ...

What is Winchester technology? The disk and the read/write heads are placed in a sealed air-filtered enclosure known as Winchester technology.

Which language is a platform free language, Which language  is a platform ...

Which language  is a platform free language Java language

What is application software, What is application software? Give example. ...

What is application software? Give example. Application programs are usually written in a high level programming language, in which the programmer states mathematical or text p

The concept of thread-parallel computing, The Concept of Thread Thread ...

The Concept of Thread Thread is a chronological flow of control within a process. A process can include one or more threads. Threads have their own register values and program

Let most segment of a name in dns represents, Let most segment of a name in...

Let most segment of a name in DNS represents? Lest Most segment of a name in DNS shows: Individual computer.

Illustrate working of synchronous counters, Q. Illustrate working of Synchr...

Q. Illustrate working of Synchronous Counters? The main drawback of ripple counter is delay in changing the value. How? To understand this let's take a case when state of rippl

Registers used in organisation of an associative memory, In the organisatio...

In the organisation of an associative memory, many registers are used: Comparand Register (C): This register is used to grasp the operands, which are being searched for, or

Illustrate the execute cycle, Q. Illustrate the Execute Cycle? The fetc...

Q. Illustrate the Execute Cycle? The fetch and indirect cycles include a small, fixed sequence of micro-operations. Every one of these cycles has fixed sequence of micro-operat

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