News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

Lazy Code Motion

Started by cman, January 11, 2010, 09:30:00 PM

Previous topic - Next topic

cman

I don't know if anyone else is reading this, but on page 649 - 650 of Compilers , Principle , Techniques and Tools , 2nd Edition the author uses a notation like "anticipated [ B ].in" to refer to a set of expressions. Does this mean the "anticipated" expressions coming into block "B". The author isn't too clear on this. Thanks for any information.

tenkey

Muchnick, in a different book, uses the term "anticipatable".

An expression is anticipatable if it can be moved to the beginning of a basic block without affecting computations.
The anticipatable expression can come from successor blocks, if ALL immediate successor blocks have the same expression as anticipatable, and the block (of current interest) does not prevent the expression from moving to the beginning.

So it's a subset of expressions that are expected to be evaluated later after entry to the block.
A programming language is low level when its programs require attention to the irrelevant.
Alan Perlis, Epigram #8