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

Convert the decimal number into its equivalent binary number, Write a progr...

Write a program to convert the given Decimal number into its equivalent Binary number.

Can you define a field without a data element, Can you define a field witho...

Can you define a field without a data element? Yes.  If you require specifying no data element and thus no domain for a field, you can enter data type and field length and a sh

Microcomputer - controlled breadmaking machine, Q. Microcomputer - Controll...

Q. Microcomputer - Controlled Breadmaking Machine? Figure shows a simplified schematic diagram of a microcomputer-controlled breadmaking machine. A microcomputer along with its

How are control signals achieve the particular operation, Q. How are contro...

Q. How are control signals achieve the particular operation? The control signals are applied directly as binary inputs to the logic gates of the logic circuits. All these input

Define elimination of common sub expression, Explain Elimination of common ...

Explain Elimination of common sub expression during code optimization An optimizing transformation is a regulation for rewriting a segment of a program to enhance its execution

What is a parallel port, What is a parallel port? A parallel port trans...

What is a parallel port? A parallel port transfers data in the form a number of bits, typically 8 to 16, concurrently to or from the device.

What is e-brokerage, What is e-brokerage? E-brokerage is an investment ...

What is e-brokerage? E-brokerage is an investment house that permits you to buy and sell stocks and get investment information from its Web site.

Characteristics of extreme unencoded micro-instructions, Q. Characteristics...

Q. Characteristics of extreme unencoded micro-instructions? 1. Two sources can be attached by respective control signals to a single destination; though only one of these sourc

Calculate traffic offered in erlangs in a particular exchang, In a particul...

In a particular exchange during busy hour 1200 calls were offered to a group of trunks, during this time 6 calls were lost. The average call duration being 3 minutes Calculate Traf

What is the difference between a structure and a table, What is the differe...

What is the difference between a structure and a table? Structures are constructed the almost the similar way as tables, the only dissimilarity using that no database table is

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