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

Write an algorithm to outline the macro-expansion, Write an algorithm to ou...

Write an algorithm to outline the macro-expansion using macro-expansion counter. The flow of control throughout macro expansion can be implemented by using a MEC that is macro-

Application area of artificial intelligence, 1. The State of the Art: What ...

1. The State of the Art: What can AI do today? A concise answer is difficult because there are so many activities in so many subfields. Here we sample a few applications other

Digital Design, Design a serial 2’s complementer with a shift register and ...

Design a serial 2’s complementer with a shift register and a flip-flop

What is the benefit of using linq on dataset, The main aim of using LINQ to...

The main aim of using LINQ to Dataset is to run strongly typed queries on Dataset. Assume we want to combine the results from two Datasets, or we need to take a distinct value f

What is the difference between intranet and extranet, What is the differenc...

What is the difference between intranet and extranet? Given table illustrates brief overview of the differences among the three kinds of the network: Network

What is cursor, What is Cursor? Cursor is a database object used by app...

What is Cursor? Cursor is a database object used by applications to manipulate data in a set on a row-by- row basis, instead of the typical SQL commands that operate on all the

Cemistry, Discuss scales and sludge

Discuss scales and sludge

Dbms, write er diagram for company database

write er diagram for company database

What are the features common in most of the websites, What are the features...

What are the features common in most of the websites Following general features must be found on most web sites in one form or another (this list is by no means exhaustive):

What do you mean by program counter, Q. What do you mean by Program Counter...

Q. What do you mean by Program Counter? Program Counter (PC): It determines the instruction that is to be executed next which means after the execution of an on-going instructi

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