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

C++, #question.constructors and destructors

#question.constructors and destructors

What is ordered directive, Q. What is Ordered directive? This directive...

Q. What is Ordered directive? This directive is used in combination with for and parallel for directives to cause an iteration to be executed in order that it would have been h

What is called when network address prefixed by 1110, Network address prefi...

Network address prefixed by 1110 is a? Network address prefixed through 1110 is a multicast address.

What are the types of pipeline hazards, What are the types of pipeline haza...

What are the types of pipeline hazards? The various pipeline hazards are:  1. Data hazard  2. Structural Hazard  3. Control Hazard.

What is a convertor?, Converter is an application that converts distance me...

Converter is an application that converts distance measurements among metric and U.S units.

Explain the matlab mathematical function library?, This is a huge collectio...

This is a huge collection of computational algorithms ranging from elementary functions like sum, sine, cosine, and difficult arithmetic, to more sophisticated functions like matri

Why we need number systems, Q. Why we need number systems? Number syste...

Q. Why we need number systems? Number system is used to signify information in quantitative form. Some of the general number systems are octal, decimal, hexadecimal and binary.

Multithreaded architecture, Multithreaded Architecture:  It is clear now th...

Multithreaded Architecture:  It is clear now that if we give many contexts to multiple threads, then processors with multiple contexts are known as multithreaded systems. These sys

Explain about layout cells, Q. Explain about Layout Cells? In Layout vi...

Q. Explain about Layout Cells? In Layout view you can draw layout cells and layout tables to define design areas of a document. This task is easier to accomplish if you prepare

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