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

Show the features of collaboration systems, Q. What are basic features that...

Q. What are basic features that collaboration systems might have? ANSWER: Three basic features of collaboration systems are Web-conferencing, project management,

Texture - elements of composition, Texture Texture is how artists show...

Texture Texture is how artists show what an object would feel like to touch. This can have a dramatic effect on how an image is perceived. Imagine for instance an image that h

Loosely coupled systems, Loosely Coupled Systems These systems do not d...

Loosely Coupled Systems These systems do not distribute the global memory because shared memory concept gives rise to the difficulty  of memory conflicts, which in turn slows d

Mapping design principle, The following definition of mapping is adapted fr...

The following definition of mapping is adapted from the first edition of the Set Book: Mapping concerns the relationship between controls and their effects in the world. Nearly al

Is the data bus is bi-directional, The data bus is Bi-directional because t...

The data bus is Bi-directional because the similar bus is used for transfer of data among Micro Processor and memory or input / output devices in both the direction.

What is called when a star connected intermediate exchange, A star connecte...

A star connected intermediate exchange is known as a? A star connected intermediate exchange is termed as a Hub exchange.

How to reduce the maximum quantization error, In successive-approximation A...

In successive-approximation A/D converter, offset voltage equal to 1/2 LSB is added to the D/A converter's output. This is done to ? Ans. It is done to reduce the maximum quantiz

What is ale and explain the functions of ale in 8085, ALE-> Address latch e...

ALE-> Address latch enable...In the case of microcontroller (8051)& microprocessor 8085 the data line and low order 8 bit address lines are multiplexed. In order to getting address

Different ways in which a thread can be cancelled, What are the different w...

What are the different ways in which a thread can be cancelled?  Cancellation of a target thread may occur in two different scenarios: Asynchronous cancellation: One thre

State the term availability - organisational security scheme, State the ter...

State the term Availability - organisational security scheme What data needs to be available continually, compared to data which can be "off line" for limited periods. Th

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