summaryrefslogtreecommitdiffstats
path: root/content/zettel/1c5a.md
diff options
context:
space:
mode:
Diffstat (limited to 'content/zettel/1c5a.md')
-rw-r--r--content/zettel/1c5a.md30
1 files changed, 30 insertions, 0 deletions
diff --git a/content/zettel/1c5a.md b/content/zettel/1c5a.md
new file mode 100644
index 0000000..112bc3d
--- /dev/null
+++ b/content/zettel/1c5a.md
@@ -0,0 +1,30 @@
++++
+title = "Components of Register Allocation"
+author = "Yann Herklotz"
+tags = []
+categories = []
+backlinks = ["1c5"]
+forwardlinks = ["1c5b"]
+zettelid = "1c5a"
++++
+
+Move insertion
+
+: This consists of increasing the number of moves so that the variable
+ can live in various registers over its lifetime. This occurs in the
+ split live range approach.
+
+Spilling
+
+: This consists of storing a variable to memory because there aren't
+ enough registers available.
+
+Assignment
+
+: This consists of assigning a register to a variable.
+
+Coalescing
+: This consists of limiting the number of move instructions, thereby
+ reducing the total number of instructions. This can be done by
+ identifying variables that are live over various blocks and storing
+ it constantly in one variable.