diff options
Diffstat (limited to 'content/zettel/3a8g3.md')
-rw-r--r-- | content/zettel/3a8g3.md | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/content/zettel/3a8g3.md b/content/zettel/3a8g3.md new file mode 100644 index 0000000..9a69da7 --- /dev/null +++ b/content/zettel/3a8g3.md @@ -0,0 +1,27 @@ ++++ +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 |