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 is random access memory, What is Random access memory (RAM) This i...

What is Random access memory (RAM) This is a volatile memory (i.e. contents are lost when computer is switched off). A user can write or delete data and read the contents. Befo

Assembler directives, What are assembler directives? Ans: These are th...

What are assembler directives? Ans: These are the instructions that direct the program to be executed. They have no binary corresponding so they are called pseudo-opcodes. The

Enumerate the design reusability of vhdl, Enumerate the Design reusability ...

Enumerate the Design reusability of VHDL VHDL.  Functions  and  Procedures  may  be  placed  in  a  package  so  that  they  are  available  to  any design-unit which wishes t

Inheritance, Create a new project, LastNameFirst 05, for this assignment. ...

Create a new project, LastNameFirst 05, for this assignment. You will need to define the classes depicted in the class diagram below. All of the classes should contain complete ja

Explain the high level Language - computer programming, Explain the High Le...

Explain the High Level Language? The programming language such as FORTRAN, C, or Pascal that enables a programmer to write programs those are more or less independent of a parti

What is FIFO, What is FIFO? FIFO is used as buffering element or queui...

What is FIFO? FIFO is used as buffering element or queuing element into the system that is by common sense, is needed only while you slow at reading than the write operation.

Design a memory buffer of limited size, Extend task 1 so that it now suppor...

Extend task 1 so that it now supports a memory buffer of limited size. Provide the same functionality as task 1 except now make the server work with a limited buffer size. Like

Explain what is a transaction in sap terminology, Explain what is a transac...

Explain what is a transaction in SAP terminology. In SAP terminology, a transaction is series of logically linked dialog steps.

Dma controllers - computer architecture, DMA controllers in computer system...

DMA controllers in computer system:   DMA Controller   Part of the I/O device interface   DMA Channels   Performs functions that in general would be performed by t

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