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

Shared memory model, In the shared-memory programming model, tasks share a ...

In the shared-memory programming model, tasks share a common address space, which they read and write asynchronously. Several mechanisms such as locks / semaphores may be used to c

Explain about synchronous dram, Q. Explain about Synchronous DRAM? One ...

Q. Explain about Synchronous DRAM? One of the most broadly used forms of DRAM is synchronous DRAM (SDRAM). Unlike the conventional DRAM that is asynchronous SDRAM exchanges dat

Messagebox with the message, We have to make an application that will dynam...

We have to make an application that will dynamically add a menu strip with menu items to a form(ie NOT dragged and dropped onto the form) in Visual Basic. The menu strip should be

What is assembler, Q. What is Assembler? An assembly program is used to...

Q. What is Assembler? An assembly program is used to transfer assembly language mnemonics to binary code for every instruction after the complete program has been written with

What do you mean by directives, Q What do you mean by Directives? Assem...

Q What do you mean by Directives? Assembly languages support numerous statements. This allows you to control the way in which a source program assembles and list. These stateme

Diffrence between cd-r vs cd rw, Q. Diffrence between CD-R vs CD RW? A ...

Q. Diffrence between CD-R vs CD RW? A CD-R disc looks same as a CD. Though all pressed CDs are silver, CD-R discs are gold or silver on their label side and a deep cyan or gree

Draw state diagram, Draw the state diagram of a process from its creation t...

Draw the state diagram of a process from its creation to termination, including all transitions, and briefly elaborate every state and every transition. When a process executes

What do you mean by data warehousing, What do you mean by data warehousing?...

What do you mean by data warehousing? Data warehouse implies as: a) It is subject oriented b) It is integrated and c) It is time variant d) It is non-volatile colle

Explain the concept of concurrent and parallel execution, The Concept of Co...

The Concept of Concurrent and Parallel Execution Real world systems are concurrent in nature and computer science is about modeling the real world. Illustrations of real world

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