Author: Carl Friedrich Bolz <[email protected]>
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
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit