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

C++ program on pebble merchant, how to solve pebble merchant problem.? codi...

how to solve pebble merchant problem.? coding for it..!

Can we specify the next screen number with a variable, Can we specify the n...

Can we specify the next screen number with a variable:- Yes, we can specify the next screen number with a variable.

Differentiate between protection and security, Differentiate between Protec...

Differentiate between Protection and Security Operating system contains a collection of objects, hardware or software. Every object has a unique name and can be accessed via a

Name the widely used language processor development tool, Name the widely u...

Name the widely used Language Processor Development Tools ( LPDTs). Widely used Language processor development tools are: Lex - A Lexical Analyzer Generator Lex assi

Difference between blocking and non-blocking, Difference between blocking a...

Difference between blocking and non-blocking Verilog  language  has  two  forms  of  the  procedural  assignment  statement:  blocking  and  nonblocking. The two are distinguis

Differences between internal and external fragmentation, Explain the differ...

Explain the differences between Internal and external fragmentation. Internal and external fragmentation (1) While memory allocated to a process is a little larger than th

What is assembly language, What is assembly language? A complete set of...

What is assembly language? A complete set of symbolic names and rules for the use of machines comprise a programming language, usually referred to as an assembly language.

Explain the concept of concurrent and parallel execution, The Concept of Co...

The Concept of Concurrent and Parallel Execution Real world systems are concurrent in nature and computer science is about modeling the real world. Illustrations of real world

Software engineering - layered technology, S oftware Engineering - Layered...

S oftware Engineering - Layered Technology Although various authors have developed personal definitions of software engineering, a definition given by Fritz Bauer at the semin

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