[pypy-commit] pypy regalloc-playground: merge default

cfbolz pypy.commits at gmail.com
Sun Aug 20 13:09:50 EDT 2017


Author: Carl Friedrich Bolz <cfbolz at gmx.de>
Branch: regalloc-playground
Changeset: r92194:385e5a5df482
Date: 2017-08-20 19:07 +0200
http://bitbucket.org/pypy/pypy/changeset/385e5a5df482/

Log:	merge default

diff --git a/rpython/jit/backend/llsupport/regalloc.py b/rpython/jit/backend/llsupport/regalloc.py
--- a/rpython/jit/backend/llsupport/regalloc.py
+++ b/rpython/jit/backend/llsupport/regalloc.py
@@ -567,10 +567,11 @@
             self.reg_bindings[result_v] = loc
             return loc
         if v not in self.reg_bindings:
+            # v not in a register. allocate one for result_v and move v there
             prev_loc = self.frame_manager.loc(v)
-            loc = self.force_allocate_reg(v, forbidden_vars)
+            loc = self.force_allocate_reg(result_v, forbidden_vars)
             self.assembler.regalloc_mov(prev_loc, loc)
-        assert v in self.reg_bindings
+            return loc
         if self.longevity[v].last_usage > self.position:
             # we need to find a new place for variable v and
             # store result in the same place


More information about the pypy-commit mailing list