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 circuit switching versus packet switching, Explain difference of Ci...

Explain difference of Circuit switching versus Packet switching. Within circuit switching an end-to-end path is to be establishing before any data can be sent. Previously a con

Explain instruction level of parallel processing, Instruction Level It ...

Instruction Level It refers to condition where different instructions of a program are implemented by different processing elements. Most processors have various execution unit

Control unit (cu)-array processing, Control Unit (CU)  : Every PEs are unde...

Control Unit (CU)  : Every PEs are under the control of one control unit. CU controls the inter communication among the PEs. There is a local memory of CU also known as CY memory.

Callable modules of program code within one abap/4 program, How can we crea...

How can we create callable modules of program code within one ABAP/4 program? We can create callable modules by two techniques:- By defining Macros. By creating incl

Illustrate about 8259, Illustrate about 8259 8259A adds 8 vectored pri...

Illustrate about 8259 8259A adds 8 vectored priority encoded interrupts to the microprocessor. We can expand it to 64 interrupt requests by using one master 8259A and 8 slave

What is response ratio, What is response ratio? HRRN that is Highest Re...

What is response ratio? HRRN that is Highest Response Ratio Next scheduling is a non-preemptive discipline, as same to Shortest Job First (SJF) wherein the priority of all jobs

What are handshaking signals, a. Explain the hardware mechanism for handlin...

a. Explain the hardware mechanism for handling multiple interrupt requests. b. What are handshaking signals? Describe the handshake control of data transfer during input and out

What are the mechanisms for implementing i/o operation, What are the variou...

What are the various mechanisms for implementing I/O operations? a) Program controlled I/O b) Interrupts c) DMA

What is programming paradigm, a. Explain the Programming Paradigm? Discuss ...

a. Explain the Programming Paradigm? Discuss four major programming paradigms. b. State the three basic logic operators available in C++? Write a small program in C++ that uses

Show programming based on data parallelism, Q. Show Programming Based on Da...

Q. Show Programming Based on Data Parallelism? In data parallel programming model the focal point is on data distribution. Every processor works with a part of data. We will co

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