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

How to manage the web based projects, How to manage the web based projects?...

How to manage the web based projects? Many project management applications contain additional functions useful in the management of group projects. These features may contain g

Characters in vi editor, What is the command used to replace many character...

What is the command used to replace many characters in Vi Editor? Ans) For replace most of the character in vi editor press esc key and then press R for change many character.

What is a snooping cache, DNS cache snooping is not a term the author just ...

DNS cache snooping is not a term the author just made up, it is called and discussed by some notable DNS execution developers, and a few interested DNS administrators have prob

Architecture, write a program in assembly language using emu8086 so that th...

write a program in assembly language using emu8086 so that the input string can contain both lower and upper case letters and any other character and the output will be the reverse

What is binary search, Binary Search: Search a sorted array by repeatedly i...

Binary Search: Search a sorted array by repeatedly in-between the search interval in half. Start with an interval covering the entire array. If the value of the search key is less

What is memory mapped i/o, What is memory mapped I/O? When the I/O devi...

What is memory mapped I/O? When the I/O devices share the similar address space, the arrangement is known as memory mapped I/O.

Show the simple arithmetic application, Q. Show the Simple Arithmetic Appli...

Q. Show the Simple Arithmetic Application? The question is why can't we simply employ XCHG instruction with 2 memory variables as operand? To answer the question let's look int

Syntax of $display and $strobe, Syntax of $display and $strobe -  $disp...

Syntax of $display and $strobe -  $display ("format_string", par_1, par_2, ... ); -  $strobe ("format_string", par_1, par_2, ... ); -  $monitor ("format_string", par_1, p

Array user interface, You were offered bonus marks for separating the user ...

You were offered bonus marks for separating the user interface code from the main logic of your program. This design choice makes it very easy to replace the user interface without

Serial execution and parallel execution, Serial Execution Execution of ...

Serial Execution Execution of a program consecutively, one statement at a time. In the easiest sense, this is what occurs on a one processor machine. However, even many of the

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