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

Explain complex instruction set computer, CISC (Complex Instruction Set Com...

CISC (Complex Instruction Set Computer) CISC stands for Complex Instruction Set Computer. If the control unit having a number of micro-electronic circuitry to make a set of con

Push and pop, Suupose a stack-oriented processor that haves the stack opera...

Suupose a stack-oriented processor that haves the stack operations PUSH and POP.  Arithmetic operations automatically involve the top one or two stack elements. Starting with an

Number conversion, (a) Convert the following number to single precision IEE...

(a) Convert the following number to single precision IEEE 754 based on the procedure described in class and in the notes. Express the result in hexadecimal. Show all your work.

Define logical data as operand data type, Q. Define Logical data as operand...

Q. Define Logical data as operand data type? Every word or byte is treated like a single unit of data. Whenever an n-bit data unit is considered as comprising n 1-bit items of

Name the software required to run video conferencing, Name The software req...

Name The software required to run video conferencing The software and hardware required to run video conferencing is very sophisticated. Apart from obvious items (that is large

What is secondary storage systems, There are various limitations of primary...

There are various limitations of primary memory like limited capacity which is its not enough to store a very large volume of data and volatility which is when power is turned off

How to update bios chip, There are two methods to update your BIOS chip: ...

There are two methods to update your BIOS chip: 1. Flash it (software method) 2. Program it with an EEPROM programmer. This is a hardware method. This is how we at BIOSMAN pr

Exdplain instruction buffers, Instruction buffers For taking the comple...

Instruction buffers For taking the complete advantage of pipelining pipelines must be filled continuously. So instruction fetch rate must be matched with pipeline consumption r

What is an xml entity, Problem : (a) Show whether or not a standard for...

Problem : (a) Show whether or not a standard format for representing data, such as XML, is needed. (b) Using an appropriate example, describe how data is organized in a dat

Desirable choice for the partitioning element in quick sort, A desirable ch...

A desirable choice for the partitioning element in quick sort is First element of the list.

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