+++ title = "Inserting nodes and ensuring SSA and CSSA well-formedness" author = "Yann Herklotz" tags = [] categories = [] backlinks = ["3a8g2"] forwardlinks = ["3a8g4"] zettelid = "3a8g3" +++ There are various issues that are encountered when generating SSA code, not only for the SSA properties, but also to allow the SSA to be destructured properly to RTL code. Therefore, when adding an arbitrary node, which has to be done for the conversion of η functions [(#3a8g1]), one has to be extremely careful what nodes one adds. The first problem is that η functions might actually lead to a junction point, or be right after a junction point, in which case the previous and next instructions must be Inop instructions according to the well-formedness property that CSSA requires. This well-formedness property can be ensured by adding an Inop instruction before and after the moves introduced during the translation of the η function. [(#3a8g1]: 3a8g1.md#3a8g1