[pypy-dev] LLVM backend
Carl Friedrich Bolz
cfbolz at gmx.de
Mon Feb 7 13:47:28 CET 2005
On Mon, Feb 07, 2005 at 08:46 +0100, holger krekel wrote:
> > - - - - - - - - - - - - - - - recorded stdout - - - - - - - - - - - - -
> - -
> > modname simple1_wrap
> > working in /tmp/usession-129
> > llvm-as /tmp/usession-129/simple1.ll -f -o simple1.bc
> > llvmc -f -O3 simple1.bc -o simple1_optimized.o
> > llc simple1_optimized.o.bc -f -o simple1.s
> > ============= tests finished: 3 passed, 1 failed in 9.79 seconds
> > contents of usession-129 are on codespeak.net:/home/hpk/usession-129
> > i am beginning to suspect my installation. Is there an easy way to
> > verify that my installation works?
Since simple1 is a very, well, simple function so it should be a good test
whether your installation works. This is all very strange. I checked your
simple1.bc file and it is identical to the file my LLVM produces so your
installation can't be a total loss. Maybe llvmc behaves strangely if the
frontend is missing, it's just some sort of wrapper for all the other llvm
tools. I'll change build_llvm_module to not use llvmc tonight.
> i manually redid the last steps above and at
> llvmc -f -O3 simple1.bc -o simple1_optimized.o
> llvmc: Unexpected unknown exception occurred.
> happens but doesn't return exitcode != 0 and so the cmd execution
> doesn't fail properly. So the original "Bytecode corruption"
> really means it can't find the file i think :-)
You could also try to do the translation again using
%~/pypy/translator/llvm> python -i genllvm.py
>>> t = Translator(test.my_gcd)
>>> a = t.annotate([int, int])
>>> f = llvmcompile(t, false)
which turns optimization off (llvmc is then not used at all). If that works
the important llvm tools work (namely the assembler llvm-as and the
Thanks for trying all this!
More information about the Pypy-dev