deep

a Cross Development Platform for Java

User Tools

Site Tools


dev:crosscompiler:ssa

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
dev:crosscompiler:ssa [2016/02/25 13:33] – external edit 127.0.0.1dev:crosscompiler:ssa [2022/12/20 11:31] (current) ursgraf
Line 1: Line 1:
 ====== Static Single Assignment Form ====== ====== Static Single Assignment Form ======
 The Static Single Assignment Form (SSA) is an intermediate form which allows various optimizations and facilitates register allocation. The main point of the SSA is that each variable is assigned a value only once. Each new assignment leads to a new instance of this variable (indicated by i<sub>1</sub> and i<sub>2</sub>). The Static Single Assignment Form (SSA) is an intermediate form which allows various optimizations and facilitates register allocation. The main point of the SSA is that each variable is assigned a value only once. Each new assignment leads to a new instance of this variable (indicated by i<sub>1</sub> and i<sub>2</sub>).
-When optimizing, subsequent instuctions can simply use the definition and the value of these variables (e.g. for constant folding). The register allocation can be made more efficient as the living ranges of the instances are generally very short. More information about the creation and usage of the SSA can be found in [[http://wiki.ntb.ch/infoportal/literatur/moessenboeck|Hanspeter Mössenböck]].+When optimizing, subsequent instuctions can simply use the definition and the value of these variables (e.g. for constant folding). The register allocation can be made more efficient as the living ranges of the instances are generally very short. More information about the creation and usage of the SSA can be found in [[http://wiki.bu.ost.ch/infoportal/literatur/moessenboeck|Hanspeter Mössenböck]].
  
 The SSA is stored into nodes similar to the CFG nodes. For this purpose we define SSANode as an extension of CFGNode. The SSA is stored into nodes similar to the CFG nodes. For this purpose we define SSANode as an extension of CFGNode.
dev/crosscompiler/ssa.1456403585.txt.gz · Last modified: 2016/02/25 13:33 by 127.0.0.1