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 procedure level of parallel processing, Procedure Level Here, p...

Procedure Level Here, parallelism is obtainable in the form of parallel executable procedures. In that case, design of algorithm plays a key role. E.g. every thread in Java is

Fifo discipline, You have been retained to examine how many check-in agents...

You have been retained to examine how many check-in agents should be used at a check-in counter for a big hotel. During normal business hours, customers arrive at a rate of about 2

Execution-modes of a multiprocessor, Q. Explain Execution-modes of a multip...

Q. Explain Execution-modes of a multiprocessor? Execution-modes of a multiprocessor: Several modes of multiprocessing comprise parallel execution of programs at (i) Fine Grain

Programs, A palindrome is a string that reads the same from both the ends. ...

A palindrome is a string that reads the same from both the ends. Given a string S convert it to a palindrome by doing character replacement. Your task is to convert S to palindrome

Full form of ldap, LDAP stands for LDAP- Light weight Directory Access...

LDAP stands for LDAP- Light weight Directory Access Protocol.

Volatility of memory - computer architecture, Volatility of memory: ...

Volatility of memory: Non-volatile memory will received the stored information even if it is not continually supplied with electric power. It is appropriate for long-term

Convert the following binary numbers into octal, Q. Convert the following B...

Q. Convert the following BINARY numbers into OCTAL, double check by converting the result OCTAL to BINARY. a) 111.111 b) 10110111 c) 0.11111

Explain formats supported in linux for executable programs, Explain Formats...

Explain Formats supported in Linux for executable programs. Linux supports two formats for executable programs: a. Out-binary format b. ELF - dynamic libraries

Illustration of display on video monitor, Q. Illustration of Display on Vid...

Q. Illustration of Display on Video Monitor? Displaying a single character ; display contents of BL register (Presume that it has a single character) MOV AH, 02H MOV D

What are language processor development tools, What are Language Processor ...

What are Language Processor Development Tools (LPDTs)? LPDT that is Language processor development tools focuses upon generation of the analysis phase of language processors. T

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