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

Utilization summary, Utilization Summary The Utilization Summary shows ...

Utilization Summary The Utilization Summary shows the status of each processor i.e. how much time (in the form of percentage) have been spent by every processor in busy mode, o

Using which ARQ, Using               ARQ, a sending modem must wait for a ...

Using               ARQ, a sending modem must wait for a return ACK for each sent block before sending the next block. (A)  discrete                                      (B)

Advantages of edi (electronic data interchange), Advantages of EDI 1.  ...

Advantages of EDI 1.  EDI replaces paper transactions with electronic transactions therefore it saves times and speeds up transactions. 2.  It gives a legal record of busine

Explain the potential role of information technology, Question 1: Descr...

Question 1: Describe the five maturity levels of KM that an organization faces when adopting the Frid's KM framework. Question 2: (a) Describe three major issues that

List the key notions concerning macro expansion, List the key notions conce...

List the key notions concerning macro expansion. Two key notions relating to macro expansion is: 1. Expansion time control flow- Determines the order of model statements tha

What is analysis and list its sub stages, What is analysis, list its sub st...

What is analysis, list its sub stages? Understand the requirement by constructing models. The goal of analysis is to state what need is to be done and not how it is to be done.

What is the mips assembly code, Question: (a) Using an appropriate dia...

Question: (a) Using an appropriate diagram, illustrate the structure of an instruction used for branching purposes and state the purpose of each part. (b) Given the number

Ia-32 support, In order to support IA-32, the Itanium can switch into 32-bi...

In order to support IA-32, the Itanium can switch into 32-bit mode with special jump escape instructions. The IA-32 instructions have been mapped to the Itanium's functional units.

Matlab, 33.A juice company manufactures one-gallon bottles of three types o...

33.A juice company manufactures one-gallon bottles of three types of juice blends using orange, pineapple, and mango juice. The blends have the following compositions: 1 gallon or

Register transfer - computer architecture, Register transfer - computer arc...

Register transfer - computer architecture: Register transfer: The output and input gates for register Ri are controlled by the signals Riout and Riin respectively.

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