Loop-invariant code motion: Difference between revisions

Content deleted Content added
top: Fixed grammar: incorrect use of which vs that
Tags: Mobile edit Mobile app edit Android app edit
Citation bot (talk | contribs)
Alter: title, template type. Added chapter. Removed parameters. Some additions/deletions were parameter name changes. | Use this bot. Report bugs. | Suggested by Dominic3203 | Category:Compiler optimizations‎ | #UCB_Category 7/65
Line 37:
For example, if all reaching definitions for the operands of some simple expression are outside of the loop, the expression can be moved out of the loop.
 
Recent work using data-flow dependence analysis <ref>{{cite journalbook |last1=Moyen |first1=Jean-Yves |last2=Rubiano |first2=Thomas |last3=Seiller |first3=Thomas |titlechapter=Loop Quasi-Invariant Chunk Detection |journaltitle=Automated Technology for Verification and Analysis |series=Lecture Notes in Computer Science |date=2017 |volume=10482 |pages=91–108 |doi=10.1007/978-3-319-68167-2_7|isbn=978-3-319-68166-5 }}</ref> allows to detect not only invariant commands but larger code fragments such as an inner loop. The analysis also detects quasi-invariants of arbitrary degrees, that is commands or code fragments that become invariant after a fixed number of iterations of the loop body.
 
==Benefits==