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

Spmd model for programming, Q. SPMD model for programming? A normal ass...

Q. SPMD model for programming? A normal assumption was that it must be possible and not too hard to capture the SPMD model for programming MIMD computers in data parallel langu

The field sy-dynr, The field SY-DYNR refers to Number of the current sc...

The field SY-DYNR refers to Number of the current screen.

Explain a binary semaphore, Explain a binary semaphore with the help of an ...

Explain a binary semaphore with the help of an example? An abstract data type (ADT) is a semaphore which defines a nonnegative integer variable that apart from initialization i

Define bcd, Define BCD. A binary code that distinguishes between 10 ele...

Define BCD. A binary code that distinguishes between 10 elements must contain at least 4 bits, but 6 combinations will remain unassigned. Numerous dissimilar codes can be obtai

C, write a code to decode the string"i need 1000 bucks"

write a code to decode the string"i need 1000 bucks"

Write c program to read the text book number, With a C program to read the ...

With a C program to read the text book number, title, author and publisher into a structure and print these values. # include # include void main() { struct boo

Explain difference between dynamic and static binding, Explain difference b...

Explain difference between Dynamic and static binding. Dynamic and static binding: Dynamic binding is a binding performed after the execution of a program has immediately beg

How will you allocate sub system, How will you allocate sub system? All...

How will you allocate sub system? Allocate every concurrent subsystem to hardware unit. General purpose processor or specialized functional unit as follows: Estimate per

Can we delete a domain, Can you delete a domain, which is being used by dat...

Can you delete a domain, which is being used by data elements? No.

How to set table properties in dreamweaver, Q. How to Set Table Properties ...

Q. How to Set Table Properties in dreamweaver? Now you will use table Property inspector to clear the extra space in navigation buttons table and to add a background color in t

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