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

Data structure, what are the fundamental data structures

what are the fundamental data structures

Target_parent, TARGET = "_parent" "_parent" is used in a situation whe...

TARGET = "_parent" "_parent" is used in a situation where a frameset file is nested inside another frameset file. A link in one of the inner frameset documents that uses "_par

Explain the methods of implementing interacting processes, Explain any two ...

Explain any two methods of implementing interacting processes. Two methods of implementing interacting process are given below: (i) Shared memory solution: In this scheme

What is the difference among a canvas and a scroll panel, Canvas is a compo...

Canvas is a component. ScrollPanel is a container. Canvas is a rectangular area where the application can draw or trap input events. ScrollPane executes horizontal and vertical scr

Design requirements of sequential circuit, What are the Requirements to des...

What are the Requirements to design Sequential circuit Ans . Design Requirements of Sequential circuit: (i) The circuit specifications translated into a state diagram

Explain the uses of thumbwheels, Explain the uses of thumbwheels Two t...

Explain the uses of thumbwheels Two thumbwheels are usually required to control the screen cursor in its horizontal and vertical position respectively. As the name implies,

Explain floating point arithmetic pipelines, Floating point Arithmetic pipe...

Floating point Arithmetic pipelines Floating point calculations are the best candidates for pipelining. Take the illustration of addition of two floating point numbers. Subsequ

Control dependence, Control Dependence Segments or Instructions in a pr...

Control Dependence Segments or Instructions in a program may obtain control structures. Thus, dependency between the statements can also be in control structures. But the order

How many times browser on each computer has contacted server, Write a CGI p...

Write a CGI program that displays a count of how many times a browser on each computer has contacted the server. echo Content -type: text /html echo N=$QUERY_STRING Ec

How many types of size categories and data classes are there, How many type...

How many types of size categories and data classes are there? There are five size categories (0-4) and 11 data classes only three of which are suitable for application tables:

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