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 are the end-to-end layers of osi structure, What are the end-to-end la...

What are the end-to-end layers of OSI structure? The layers 4 to 7 of ISO-OSI reference model communicate along with peer entities into the end systems. Now here is no communi

Show the memory hierarchy of computer system, Q. Show the Memory Hierarchy ...

Q. Show the Memory Hierarchy of computer system ? Memory in a computer system is essential for storage and subsequent retrieval of instructions and data. A computer system uses

What are the methods for handling deadlocks, What are the methods for handl...

What are the methods for handling deadlocks?  The deadlock problem can be dealt with in one of the three ways:  a. Use a protocol to prevent or avoid deadlocks, make sure th

Using network drive mappings, If various load generators need to access the...

If various load generators need to access the similar physical files, rather than having to remember to copy the files every time they change, each load generator can reference a c

Show the categories of web browser, Q. Show the categories of Web browser? ...

Q. Show the categories of Web browser? The two basic categories of Web browser are: • Text-only browsers: A text-only browser like Lynx allows you to view Web pag

Convert the following from octal to binary, Q. Convert the following from o...

Q. Convert the following from octal to binary, decimal, hexadecimal and BCD. a) 7.7 b) 4037 c) 23.34

Define public identifiers, Q. Define Public Identifiers? Public Identif...

Q. Define Public Identifiers? Public Identifiers: A public identifier is one which is defined within one module of a program however potentially accessible by all of the other

Java''s layout managers give over traditional windowing syste, Java uses la...

Java uses layout managers to lay out components in a consistent manner across all windowing platforms. As Java's layout managers aren't tied to absolute sizing and positioning, the

Difference between digital zoom and optical zoom, Question: (a) What ar...

Question: (a) What are effect presets and how can they be helpful? (b) Explain the difference between digital zoom and optical zoom. (c) Explain exposure in the context o

Authorization bypass, Authorization Bypass is a frighteningly easy process ...

Authorization Bypass is a frighteningly easy process which can be employed with poorly designed applications or content management frameworks. You know how it is... you run a small

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