[pypy-svn] r16024 - in pypy/dist/pypy/translator/llvm2: . module
ericvrp at codespeak.net
ericvrp at codespeak.net
Fri Aug 12 22:09:37 CEST 2005
Author: ericvrp
Date: Fri Aug 12 22:09:36 2005
New Revision: 16024
Modified:
pypy/dist/pypy/translator/llvm2/codewriter.py
pypy/dist/pypy/translator/llvm2/module/ll_os.py
pypy/dist/pypy/translator/llvm2/module/support.py
Log:
small fixes and cleanup
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 22:09:36 2005
@@ -93,13 +93,16 @@
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)])
- self.indent("%s = phi %s %s" %(targetvar, type_, mergelist))
+ s = "%s = phi %s %s" % (targetvar, type_, mergelist)
+ for ref in refs:
+ if targetvar == ref:
+ self.comment('breaks SSA form: ' + s)
+ break
+ else:
+ self.indent(s)
def binaryop(self, name, targetvar, type_, ref1, ref2):
self.indent("%s = %s %s %s, %s" % (targetvar, name, type_, ref1, ref2))
Modified: pypy/dist/pypy/translator/llvm2/module/ll_os.py
==============================================================================
--- pypy/dist/pypy/translator/llvm2/module/ll_os.py (original)
+++ pypy/dist/pypy/translator/llvm2/module/ll_os.py Fri Aug 12 22:09:36 2005
@@ -73,13 +73,14 @@
extfunctions["%ll_os_fstat"] = ((), """
internal fastcc %structtype.tuple10* %ll_os_fstat(int %fd) {
- %st = alloca int, uint 32
- %error = call ccc int %fstat(int %fd, int* %st)
- ;TODO XXX if error: raise exception
- ;%ret = %ll_stat_result__Signed__Signed__Signed__Signed__Signed__Signed__Signed__Signed__Signed__Signed(
- %ret = alloca %structtype.tuple10 ;ERROR
- store int %s
- ret %structtype.tuple10* %ret
+ ;%st = alloca int, uint 32
+ ;%error = call ccc int %fstat(int %fd, int* %st)
+ ;;TODO XXX if error: raise exception
+ ;;%ret = %ll_stat_result__Signed__Signed__Signed__Signed__Signed__Signed__Signed__Signed__Signed__Signed(
+ ;%ret = alloca %structtype.tuple10 ;ERROR
+ ;store int %s
+ ;ret %structtype.tuple10* %ret
+ ret %structtype.tuple10* null
}
""")
Modified: pypy/dist/pypy/translator/llvm2/module/support.py
==============================================================================
--- pypy/dist/pypy/translator/llvm2/module/support.py (original)
+++ pypy/dist/pypy/translator/llvm2/module/support.py Fri Aug 12 22:09:36 2005
@@ -194,7 +194,7 @@
extfunctions["%int_mod_ovf_zer"] = (("%__prepare_OverflowError","%__prepare_ZeroDivisionError"), """
internal fastcc int %%int_mod_ovf_zer(int %%x, int %%y) {
%(int_zer_test)s
- %%t = rem int %%x, ubyte %%y
+ %%t = rem int %%x, %%y
%(int_ovf_test)s
return_block:
; XXX: TEST int_mod_ovf_zer checking
More information about the Pypy-commit
mailing list