Re: [LLVMdev] Re: LLVM and PyPy

Hi Chris, [Chris Lattner Fri, Oct 31, 2003 at 10:58:45AM -0600]
That's good because we might want to recode some LLVM functionalities in Python :-)
Yes, but we also would want to dynamically emit and execute LLVM code. But a static translation is indeed our first goal :-)
Thinking some more about it, we would probably try to translate our PyPy implementation into LLVM-code and also generate some glue-LLVM-code which allows us to programmatically drive LLVM from Python. Is LLVM able to "drive" itself? I mean can the LLVM-low-level object code generate LLVM-low-level object code and then execute it? This would fit nicely with PyPy because we are running ourselves (in 'abstract interpretation' mode) in order to generate a low-level representation of ourselves. This low-level representation is already close to LLVM's low-level view. So if the LLVM-code gets executed (beeing a python interpreter) it should be able to just-in-time-compile new LLVM code and execute it. With our architecture, for such a JIT we could reuse a good part of the code we already have for generating our low-level representation. It's a rather self-referential thing (also see our logo: http://codespeak.net/pypy/ :-).
then we may want to mirror your cvs repo to subversion :-) The reason is that we want to provide consistent versions of all the libraries/modules/projects we use. And subversion makes this rather easy (if the other project is svn-controled, too), e.g. you can say 'i want to follow the HEAD version of LLVM in this branch' or 'i want to use this stable version of LLVM for my own stable-release'. Then you can just issue 'svn up' and you will have the desired versions on your working-copy. However, i can understand that you don't want to consider subversion right now and will stop advertising now :-) cheers, holger

As long as it makes sense. Needless duplication of effort is never a good idea...
Of course. We can do both. In fact, we can even emit C code, which will be useful initially if you're work on PowerPC machines.
Yes, this should certainly be possible. Kindof like what the Jalapeno/Jikes JVM does with Java. The point about the C bindings is that they will allow a nice interface between the parts written in python, and the parts written in C++. It doesn't make sense for you to rewrite all of LLVM in python, especially since the interface to build the LLVM is pretty clean.
Makes a lot of sense.
That is obviously no problem. :)
The reason is that we want to provide consistent versions of all the libraries/modules/projects we use. And subversion makes
Makes sense. If it is publically accessible and stable, perhaps we can add information about it on the LLVM pages for others who would prefer to work with SVN... -Chris -- http://llvm.cs.uiuc.edu/ http://www.nondot.org/~sabre/Projects/

As long as it makes sense. Needless duplication of effort is never a good idea...
Of course. We can do both. In fact, we can even emit C code, which will be useful initially if you're work on PowerPC machines.
Yes, this should certainly be possible. Kindof like what the Jalapeno/Jikes JVM does with Java. The point about the C bindings is that they will allow a nice interface between the parts written in python, and the parts written in C++. It doesn't make sense for you to rewrite all of LLVM in python, especially since the interface to build the LLVM is pretty clean.
Makes a lot of sense.
That is obviously no problem. :)
The reason is that we want to provide consistent versions of all the libraries/modules/projects we use. And subversion makes
Makes sense. If it is publically accessible and stable, perhaps we can add information about it on the LLVM pages for others who would prefer to work with SVN... -Chris -- http://llvm.cs.uiuc.edu/ http://www.nondot.org/~sabre/Projects/
participants (2)
-
Chris Lattner
-
holger krekel