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

Mathematical simulation and modeling applications, Mathematical Simulation ...

Mathematical Simulation and Modeling Applications The tasks including modeling and mathematical simulation require a lot of parallel processing. Three basic formalisms in model

Function name or connective symbol, Function name or connective symbol: ...

Function name or connective symbol: Whether if we write op(x) to signify the symbol of the compound operator then predicate name and function name or connective symbol are the

Difference between static call and dynamic call, In the case of Static call...

In the case of Static call, the called program is a stand-alone program, it is an executable program. During run time we can call it in our called program. As about Dynamic call, t

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

Associativity of connectives - artificial intelligence, Associativity of Co...

Associativity of Connectives: In order to tell us brackets are useful when to perform calculations in arithmetic and when to evaluate the truth of sentences in logic. Imagine w

Testing project, Design and test the functions that are needed: a.  Test...

Design and test the functions that are needed: a.  Test Main  in the Testing project add a new file main.c. b.  Test Drivers  in the Testing project add 2 new files, testDriver

C programming, A palindrome is a string that reads the same from both the e...

A palindrome is a string that reads the same from both the ends. Given a string S convert it to a palindrome by doing character replacement. Your task is to convert S to palindrome

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

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

Explain the use of structures with pointers., Explain the use of structures...

Explain the use of structures with pointers C permits a pointer to a structure variable. In fact a pointer to a structure is same to a pointer to any other variable. The pointe

Enumerate data structures used during 1-pass of assembler, Enumerate the da...

Enumerate the data structures used during the first pass of the assembler. Indicate the fields of these data structures and their purpose/usage. Three main data structures used

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