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

Define the operand data types, Operand is that part of an instruction which...

Operand is that part of an instruction which specifies the address of source or result or the data itself on which the processor is to operate. Operand types typically give operand

Input, what is an input?

what is an input?

What is shared memory programming, Q. What is Shared Memory Programming? ...

Q. What is Shared Memory Programming? We know all processors share a common memory in shared memory model. Every processor can be assigned a separate portion of program stored

Operations of a scientific calculator, A program is to be developed to simu...

A program is to be developed to simulate the operations of a scientific calculator. List the facilities to be provided by this calculator. Analyze this using a DFD 0- level and 1-

Graph has a minimum spanning tree already computed, Assume that a graph has...

Assume that a graph has a minimum spanning tree already computed.  How fastly can the minimum spanning tree be updated if a new vertex and incident edges are added to G? If the

Distinguish between http and true streaming, Question: 1. Distinguish ...

Question: 1. Distinguish between HTTP and True streaming, stating the advantages and disadvantages of both type of media streaming. 2. Name two online services which provi

What is a disk drive, What is a disk drive? The electro mechanical mech...

What is a disk drive? The electro mechanical mechanism that spins the disk and moves the read/write heads known as disk drive.

Difference between finite automata and turing machine, What are the differe...

What are the difference between finite automata and Turing Machines?  Turing machine can alter symbols on its tape, while the FA cannot change symbols on tape.  Also  TM  has  a

Determine the values of the output of the logic gates, Write the values of ...

Write the values of the C output for the following gates: For a(n) ________ gate, the output is zero if any of the inputs are equal to  one. For a(n) ________ gate ,the

Which objects are independent transport objects, Which objects are independ...

Which objects are independent transport objects? Domains, Data elements, Tables, Technical settings for tables, Secondary indexes for transparent tables, Structures, Views, Ma

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