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 16-bit ROM array, Draw the logic diagram of 16-bit ROM Array and ex...

Draw the logic diagram of 16-bit ROM Array and explain its principle of operation. Ans: 16-bit ROM Array: A ROM that is read-only memory is an array of selectively closed

Draw a diagram to explain major components of web browser, Draw a neat diag...

Draw a neat diagram to explain major components of a web browser. The Major Component of a Web browser A browser contains a set of clients, a controller and a set o

Message passing model, In the message-passing model, there exists a set of ...

In the message-passing model, there exists a set of tasks that use their own local memories during computation. Multiple tasks can reside on the similar physical machine as well ac

Explain the term granularity, Granularity In 'Parallel computing', Gran...

Granularity In 'Parallel computing', Granularity can be defined as a qualitative assess of the ratio of computation to communication. 1) Coarse Granularity - relatively hug

Objectives-interconnection network, Objectives After examining this uni...

Objectives After examining this unit, learner's will be able to understand discuss the importance and needs of interconnection network; explain the part of interconn

Describe menu in dreamweaver, File Menu: Under it there are New, Save, Sav...

File Menu: Under it there are New, Save, Save as, Save as template, Import, Export, Preview in browser etc. options. Edit Menu: In this menu there are Cut, Copy, Paste, Undo,

What is an i/o interface, What is an I/O Interface? Input-output interf...

What is an I/O Interface? Input-output interface provides a method for transferring binary information among internal storage, like memory and CPU registers, and external I/O d

What is a javabean, JavaBeans are reusable software components written in t...

JavaBeans are reusable software components written in the Java programming language, designed to be influenced visually by a software development environment, like JBuilder or Visu

Find out the decimal equivalent of binary number, The decimal equivalent of...

The decimal equivalent of Binary number 10101 is ? Ans. 1x2 4 + 0x2 3 +1x2 2 +0x2 1 + 1x2 0 = 16 + 0 + 4 + 0 + 1 = 21.

Setjmp and longjmp, How does throwing and catching exceptions differ from u...

How does throwing and catching exceptions differ from using setjmp and longjmp? Ans) The throw operation calls the destructors for automatic objects instantiated as entry to th

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