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

Direct mapped cache - computer architecture, Direct Mapping: In this p...

Direct Mapping: In this particular technique, block j of the primary memory maps onto block j modulo 128 of the cache. The primary memory blocks 0,128,256,...is loaded

What is garbage collection and what is it used for, In computer science, ga...

In computer science, garbage collection (GC) is a form of automatic memory management. The garbage collector, or just collector, attempts to reclaim garbage, or memory occupied by

What is the necessity of an interface, What is the necessity of an interfac...

What is the necessity of an interface?  Any device that has to be linked to a CPU requires an interface. This takes care of the mismatch in speed, data and electrical character

Mode counter, desing mode level counter starting at 0011 using D flipflop

desing mode level counter starting at 0011 using D flipflop

Intel architecture – 64, IA-64 (Intel Architecture-64) is a 64-bit processo...

IA-64 (Intel Architecture-64) is a 64-bit processor architecture created in cooperation by Hewlett-Packard and Intel applied by processors like Itanium. The objective of Itanium wa

What is verilog case 1, What is verilog case (1) ? wire [3:0] x; al...

What is verilog case (1) ? wire [3:0] x; always @(...) begin case (1'b1) x[0]: SOMETHING1; x[1]: SOMETHING2; x[2]: SOMETHING3; x[3]: SOMETHING4; endcase

Methods for organising the associative memory, There are two methods for or...

There are two methods for organising the associative memory based on bit slices: Bit parallel organisation: In this organisation every bit slices which are not masked off,

Html, discuss hypertext mark up language

discuss hypertext mark up language

Properties of electronic cash, Properties : 1.  Monetary Value: Monetar...

Properties : 1.  Monetary Value: Monetary value must be backed by also cash, bank - authorized credit cards or bank certified cashier's cheque. 2.  Interoperability: E-cash

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