From 24f3098418003271b26b6f0f1ba6e8411fa6e672 Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Thu, 27 Dec 2012 11:46:08 +0100 Subject: [PATCH] fix: when there are no additional temps the first one allocated slot's size was counted twice resulting in some additional unused globals --- ir.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ir.c b/ir.c index e9a7352..6081b55 100644 --- a/ir.c +++ b/ir.c @@ -2314,7 +2314,7 @@ bool ir_function_allocate_locals(ir_function *self) /* Adjust slot positions based on sizes */ if (lockalloc.sizes) { - pos = (vec_size(lockalloc.sizes) ? (lockalloc.positions[0] + lockalloc.sizes[0]) : 0); + pos = (vec_size(lockalloc.sizes) ? lockalloc.positions[0] : 0); for (i = 1; i < vec_size(lockalloc.sizes); ++i) { pos = lockalloc.positions[i-1] + lockalloc.sizes[i-1]; @@ -2323,7 +2323,7 @@ bool ir_function_allocate_locals(ir_function *self) self->allocated_locals = pos + vec_last(lockalloc.sizes); } if (globalloc.sizes) { - pos = (vec_size(globalloc.sizes) ? (globalloc.positions[0] + globalloc.sizes[0]) : 0); + pos = (vec_size(globalloc.sizes) ? globalloc.positions[0] : 0); for (i = 1; i < vec_size(globalloc.sizes); ++i) { pos = globalloc.positions[i-1] + globalloc.sizes[i-1]; -- 2.39.2