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

Two ways in which one can retrieve data from tables, In general what are th...

In general what are the two ways in which one can retrieve data from tables? Using Select statements, Database Program.

Illustration to demonstrate design of sequential circuits, Q. Illustration ...

Q. Illustration to demonstrate design of sequential circuits? Let us take an illustration to demonstrate above process. Suppose we want to design 2-bit binary counter employing

Describe about second generation computers, Q. Describe about Second Genera...

Q. Describe about Second Generation Computers? Silicon brought advent of second generation computers. A two state device termed as a transistor was created from silicon. Transi

Define entry section and exit section, Define entry section and exit sectio...

Define entry section and exit section. The critical section problem is to design a protocol that the processes can use to cooperate. Every process must request permission to e

What is sap dispatcher, What is SAP dispatcher? SAP dispatcher is the co...

What is SAP dispatcher? SAP dispatcher is the control agent that handles the resources for the R/3 applications.

Difference b/w non-relocatable and relocatable programs, Differentiate bet...

Differentiate between non-relocatable and relocatable programs. A non-relocatable program is one which cannot be executed in any memory area other than the area starting at i

Explain about programmer visible registers, Q. Explain about Programmer Vis...

Q. Explain about Programmer Visible Registers? Programmer Visible Registers: These registers can be employed by machine or assembly language programmers to minimize reference

IT-Infrasrtucture, Blue Sky events is an organisation that devices and runs...

Blue Sky events is an organisation that devices and runs large outdoor events. They have been commissioned to organise and run an event for four months over the summer period in a

Parallel virtual machine, PVM is mainly a simulation of a computer machine ...

PVM is mainly a simulation of a computer machine running parallel programs. It is a software package that allows a heterogeneous collection of UNIX and/or Windows computers hooked

Instruction set architecture, Question (a) A 500 MHz Pentium III proce...

Question (a) A 500 MHz Pentium III processor takes 2 ms to run a program with 200,000 instructions. A 300 MHz UltraSparc processor takes 1.8 ms to run the same program with 23

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