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

Quantifiers and variables - propositional model, Quantifiers and Variables ...

Quantifiers and Variables - propositional model: There is one question is arrives that 'What do sentences containing variables mean?' In other way of words, how does a first-o

What is a verification point?, A verification point is a point in a script ...

A verification point is a point in a script that you make to confirm the state of an object across builds of the application-under-test.

What happens if a function module runs in an update task, What happens if a...

What happens if a function module runs in an update task? The system performs the module processing asynchronously.  Instead of carrying out the call immediately, the system w

By which many computers are connected in geographical area, A large numbers...

A large numbers of computers in a wide geographical area can be efficiently connected using? A large numbers of computers in a broad geographical area can be efficiently linked

How will you prepare problem statement, How will you prepare problem statem...

How will you prepare problem statement? Problem statement should state what is to be completed and not how it is to be executed. It should be a statement of requirements not a

Explain parallelism based on grain size in detail, Parallelism based on Gra...

Parallelism based on Grain size Grain size : Grain size/ Granularity are a measure that defines how much computation is involved in a process. Grain size is concluded by count

Operator, write algorithm and draw flowchart for exchange the values of two...

write algorithm and draw flowchart for exchange the values of two variables.

Problem specification - logic programs, Problem Specification : Hence ...

Problem Specification : Hence given the above context for "ILP" there we can state the learning problem as follows: that we are given a set of positive and a set of negative e

Explain sequential sharing, Explain Sequential Sharing In this sharing ...

Explain Sequential Sharing In this sharing method, a file can be shared by just one program at a time, i.e. file accesses by P1 and P2 are spaced out over time. A lock field ca

Design a nand-to-and gate network, Q Use as few gates as possible, design a...

Q Use as few gates as possible, design a NAND-to-AND gate network that realize the following Boolean algebra expression. ABCD + A'BC'D + A'BC'D' + A'BCD + (A'B'C'D' + A'BCD')

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