[pypy-svn] r16008 - pypy/dist/pypy/translator/llvm2

ericvrp at codespeak.net ericvrp at codespeak.net
Fri Aug 12 15:12:07 CEST 2005

Author: ericvrp
Date: Fri Aug 12 15:12:06 2005
New Revision: 16008

XXX bypass for phi nodes where the targetvariable has the same name as at least one of the referred variables!
This probably should not be in the graph!

Modified: pypy/dist/pypy/translator/llvm2/codewriter.py
--- pypy/dist/pypy/translator/llvm2/codewriter.py	(original)
+++ pypy/dist/pypy/translator/llvm2/codewriter.py	Fri Aug 12 15:12:06 2005
@@ -93,6 +93,9 @@
     def phi(self, targetvar, type_, refs, blocknames): 
         assert targetvar.startswith('%')
         assert refs and len(refs) == len(blocknames), "phi node requires blocks" 
+        for ref in refs:
+            if targetvar == ref:    #some nodes break SSA-form otherwise?!?
+                return
         mergelist = ", ".join(
             ["[%s, %%%s]" % item 
                 for item in zip(refs, blocknames)])

More information about the Pypy-commit mailing list