Static single-assignment form: Difference between revisions

Content deleted Content added
Computing minimal SSA using dominance frontiers: Use {{cite technical report}}. (If you want to use {{cite journal}}, use Software - Practice and Experience as the journal, don't leave the journal out.)
Semi-pruned SSA: Another journal article without a journal; that one was also published in Software - Practice and Experience.
Line 113:
 
===Semi-pruned SSA===
Semi-pruned SSA form<ref>{{cite journaltechnical report |title=Practical Improvements to the Construction and Destruction of Static Single Assignment Form |year=1998 |last1=Briggs |first1=Preston |last2=Cooper |first2=Keith D. |last3=Harvey |first3=Timothy J. |last4=Simpson |first4=L. Taylor |url=http://www.cs.rice.edu/~harv/my_papers/ssa.pdf |url-status=dead |archive-url=https://web.archive.org/web/20100607003509/http://www.cs.rice.edu/~harv/my_papers/ssa.pdf |archive-date=2010-06-07 }}</ref> is an attempt to reduce the number of Φ functions without incurring the relatively high cost of computing live-variable information. It is based on the following observation: if a variable is never live upon entry into a basic block, it never needs a Φ function. During SSA construction, Φ functions for any "block-local" variables are omitted.
 
Computing the set of block-local variables is a simpler and faster procedure than full live-variable analysis, making semi-pruned SSA form more efficient to compute than pruned SSA form. On the other hand, semi-pruned SSA form will contain more Φ functions.