summaryrefslogtreecommitdiffstats
path: root/content/zettel/3a8g3.md
diff options
context:
space:
mode:
Diffstat (limited to 'content/zettel/3a8g3.md')
-rw-r--r--content/zettel/3a8g3.md27
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