]> git.xonotic.org Git - xonotic/gmqcc.git/commitdiff
Start instruction numbering at 1 and make parameters live at 0
authorWolfgang Bumiller <blub@speed.at>
Sun, 23 Dec 2012 20:20:16 +0000 (21:20 +0100)
committerWolfgang Bumiller <blub@speed.at>
Sun, 23 Dec 2012 20:20:16 +0000 (21:20 +0100)
ir.c

diff --git a/ir.c b/ir.c
index 0631ef740f31082f33ebef6d1abb94037f522a9d..8a84f1f999d14dbc42102a1d878631f744eb458d 100644 (file)
--- a/ir.c
+++ b/ir.c
@@ -2175,7 +2175,7 @@ static void ir_block_enumerate(ir_block *self, size_t *_eid)
 void ir_function_enumerate(ir_function *self)
 {
     size_t i;
-    size_t instruction_id = 0;
+    size_t instruction_id = 1;
     for (i = 0; i < vec_size(self->blocks); ++i)
     {
         self->blocks[i]->eid = i;
@@ -2190,6 +2190,10 @@ bool ir_function_calculate_liferanges(ir_function *self)
     size_t i;
     bool changed;
 
+    /* parameters live at 0 */
+    for (i = 0; i < vec_size(self->params); ++i)
+        ir_value_life_merge(self->locals[i], 0);
+
     do {
         self->run_id++;
         changed = false;