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 usb, What is USB USB (UNIVERSAL SERIAL BUS) is intended to conn...

What is USB USB (UNIVERSAL SERIAL BUS) is intended to connect peripheral devices like mouse, keyboards, modems and sound cards to microprocessor through a serial data path and

What are the types of data warehouses, What are the types of data warehouse...

What are the types of data warehouses? Various types of data warehouses are illustrated below: a) Financial Data Warehouses b) Insurance Data Warehouses c) Human Resou

Minimum possibility -minimax algorithm, Minimum possibility -minimax algori...

Minimum possibility -minimax algorithm: Finally, we want to put the scores on the top edges in the tree. So there is over again a choice. Whenever, in this case, we have to r

Show the reset and submit buttons in html, Reset and Submit are special typ...

Reset and Submit are special types of input buttons. Submit is used to send data to the server and Reset resets/clears the form.

What are different normalization forms, What are different normalization fo...

What are different normalization forms? 1NF: Eliminate Repeating Groups Make a separate table for every set of related attributes, and give each table a primary key. Each fie

Define cache memory, Define cache memory? A special very high speed mem...

Define cache memory? A special very high speed memory known as a cache is sometimes used to increase the speed of processing by making current programs and data available to th

Dram simm, The most common type of non-volatile memory is the ROM device. T...

The most common type of non-volatile memory is the ROM device. This device is read only and the data is masked into the chip during manufacture. Variations of the ROM are one off p

Safety argument for good design, So far we have considered the problems of ...

So far we have considered the problems of poor ID in terms of the loss of productivity and efficiency to business. There is another important aspect to consider: the issue of safet

Name some register output control signals, Name some register output contro...

Name some register output control signals. Pc out , MDR out , Z out , Offset out , R1 out , R2 out , R3 out and TEMP out .

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