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

Java, differentiate between multitasking and multithreading in java

differentiate between multitasking and multithreading in java

Voice identifier - biometric computer security systems, Voice Identifier - ...

Voice Identifier - Biometric Computer Security Systems Besides fingerprint, another popular security technology is voice identifier. According to VSS organization (2007), voic

Input device used in computer system, Input device used in computer system:...

Input device used in computer system: An input device is typically a mouse or keyboard, the input device is the conduit through which data and instructions enter a computer. A

How to create user interfaces for lists, How to create user interfaces for ...

How to create user interfaces for lists? The R/3 system automatically, obtains a graphical user interface (GUI) for your lists that offers the basic functions for list process

Mips assembly language equivalents , MIPS' native assembly code only has tw...

MIPS' native assembly code only has two branch instructions, beq and bne, and only one comparison instruction, slt. Using just these three instructions (along with the ori instruct

What is managed extensibility framework, What is managed extensibility fram...

What is managed extensibility framework? Managed extensibility framework (MEF) is a new library that is introduced as a part of .NET 4.0 and Silverlight 4. It helps in extendin

List out the evaluation order for the expression tree, Draw an expression t...

Draw an expression tree for the string. f + (x+y) *((a+b)/(c-d)). Indicate the register requirement for each node and list out the evaluation order for the expression tree. For

The interface chip design, This is an embedded system that involves the int...

This is an embedded system that involves the integration of hardware and software design stages. It consists of the user interface (keypads and LCD display) and two Peripheral Inte

How does applet update its window when information changs, How does the App...

How does the Applet update its window when information changes? Whenever an applet requires to update the information displayed in its window, this simply calls repaint ( ) way

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