[pypy-svn] r50020 - in pypy/branch/llvmgcroot/pypy/translator/llvm: . module
arigo at codespeak.net
arigo at codespeak.net
Sat Dec 22 22:01:47 CET 2007
Author: arigo
Date: Sat Dec 22 22:01:47 2007
New Revision: 50020
Modified:
pypy/branch/llvmgcroot/pypy/translator/llvm/module/support.py
pypy/branch/llvmgcroot/pypy/translator/llvm/opwriter.py
Log:
Bad level of indirection.
For reference, here's how I compile the generated .ll file manually:
cd /tmp/usession-arigo
llvm-as < new_entrypoint.ll | opt -std-compile-opts > new_entrypoint.bc
~/svn/llvm-trunk/Debug/bin/llc -load=/home/arigo/svn/arigo/hack/pypy-hack/stackrootwalker/gcrootsingle.so new_entrypoint.bc -f -o new_entrypoint.s
gcc -g -pthread new_entrypoint.s module_cache/module_*.c -I ~/svn/pypy/dist2/pypy/translator/c/
Modified: pypy/branch/llvmgcroot/pypy/translator/llvm/module/support.py
==============================================================================
--- pypy/branch/llvmgcroot/pypy/translator/llvm/module/support.py (original)
+++ pypy/branch/llvmgcroot/pypy/translator/llvm/module/support.py Sat Dec 22 22:01:47 2007
@@ -38,7 +38,7 @@
declare void @llvm.gcroot(i8**, i8*) nounwind
declare i8* @llvm.frameaddress(i32) nounwind
- at __gcmapstart = external constant i8*
- at __gcmapend = external constant i8*
+ at __gcmapstart = external constant i8
+ at __gcmapend = external constant i8
"""
Modified: pypy/branch/llvmgcroot/pypy/translator/llvm/opwriter.py
==============================================================================
--- pypy/branch/llvmgcroot/pypy/translator/llvm/opwriter.py (original)
+++ pypy/branch/llvmgcroot/pypy/translator/llvm/opwriter.py Sat Dec 22 22:01:47 2007
@@ -608,7 +608,7 @@
"@llvm.frameaddress", ['i32'], ['0'])
def llvm_gcmapstart(self, opr):
- self.codewriter.load(opr.retref, opr.rettype, '@__gcmapstart')
+ self.codewriter.cast(opr.retref, 'i8*', '@__gcmapstart', opr.rettype)
def llvm_gcmapend(self, opr):
- self.codewriter.load(opr.retref, opr.rettype, '@__gcmapend')
+ self.codewriter.cast(opr.retref, 'i8*', '@__gcmapend', opr.rettype)
More information about the Pypy-commit
mailing list