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

Hashing, what is hashing in database management system?

what is hashing in database management system?

Add a byte number from one memory location, Add a byte number from one memo...

Add a byte number from one memory location to a byte from subsequent memory location and put sum in the third memory location. Also save carry flag in the least significant bit of

What is a heap dump, Thread Dump: When we trigger a thread dump on an appli...

Thread Dump: When we trigger a thread dump on an application server, all active thread informations will be deserted into file which is called as thread dump. Here, we can get info

Recent parallel programming models, A model for parallel programming is an ...

A model for parallel programming is an abstraction in addition its machine architecture is independent. A model is able to be implemented on different hardware and memory architect

Flynns categorization, Normal 0 false false false EN-US...

Normal 0 false false false EN-US X-NONE X-NONE

What are preprocessor directives, What are preprocessor directives? Pre...

What are preprocessor directives? Preprocessor directives: These are the commands given to a program called as pre-processor that processes the source code before it passes by

#artificial intelligence, does matlab contain procedures for knoledge repre...

does matlab contain procedures for knoledge representation? if yes where can i find it?

Explain serial execution and parallel execution, Serial Execution Exe...

Serial Execution Execution of a program serially, one statement at one instance of time. In the simplest case, that's what takes place on a one processor machine. But even mo

draw the precedence diagram , The desired daily output for an assembly ...

The desired daily output for an assembly line is 360 units. This assembly line will operate 450 minutes per day. The following table have information on this product's task times a

Non-uniform memory access model (numa), Non-Uniform Memory Access Model (NU...

Non-Uniform Memory Access Model (NUMA) In shared memory multiprocessor systems, local memories can be joined with every processor. The group of every local memories form the gl

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