[fwd] LLVA, TAO Intent, Morphun, DualCor

I don't know the current status of the LLVA project, so I will let the
current developers chime in. Please send all LLVM and LLVA questions to
llvmdev@cs.uiuc.edu .

----- Forwarded message from N O S P A M <ti_dak@yahoo.com> -----

Misha Brukman wrote:

I don't know the current status of the LLVA project, so I will let the
current developers chime in. Please send all LLVM and LLVA questions to
llvmdev@cs.uiuc.edu .

My apologies for the late reply.

----- Forwarded message from N O S P A M <ti_dak@yahoo.com> -----

Date: Tue, 17 Jan 2006 09:47:32 -0800 (PST)
From: N O S P A M <ti_dak@yahoo.com>
Subject: LLVA, TAO Intent, Morphun, DualCor

Hello
I want to ask about LLVA project:
1. Is there any LLVA implementation for PowerPC, MIPS,
SPARC etc?

It depends on what aspect of LLVA you are refering to, and whether you mean LLVM or LLVA.

LLVM is the Low Level Virtual Machine (a compiler infastructure). The LLVM tools will run on most UNIX platforms (I believe there is some support for Windows as well). The LLVM JIT and static code generators support x86, Sparc, and PowerPC, and there is some support for Itanium and Alpha. There is also a C-Backend which allows LLVM to generate native code for platforms which do not have their own code generators. See http://llvm.cs.uiuc.edu/docs/GettingStarted.html for more information on supported platforms.

The LLVA project is a set of research projects that aims to make the LLVM instruction set the sole interface between the entire software stack (OS, libraries, applications) and the hardware.

One LLVA project is the LLVA-OS project, which adds extensions to the original LLVM instruction set to support operating system code. I'm the primary person working on this project. It currently works only on x86.

Another LLVA project (I think it's an LLVA project, anyway) is the vector instruction work being done by Rob Bocchino (which is different from LLVM's current vector support). I'll let Rob comment on what platforms his work currently supports.

2. What is the comparison with TAOS or TAO Intent,
Morphun etc?

http://www.tao-group.com

http://www.synergenix.se/

http://www.mascotcapsule.com/

I am not familiar with these projects; if you give me a brief description of what they're about, I might be able to give you some general comparisons between them and LLVA.

3. There is a strange handheld PDA/PC combo from
DualCor with 2 types of CPU in 1 system.

http://www.dualcor.com

If they can install Linux on both Xscale (ARM) and VIA
C7 (X86), is it possible to run LLVA on both CPU?

It should be possible to run the LLVM tools on both processors. However, LLVM currently does not have an XScale code generator, so you will need to use the C backend to generate code that runs on the XScale. JIT compilation would work on the x86, but would not work on the XScale.

Of course, you could write your own XScale backend. Contributions are welcome.
:slight_smile:

If LLVA is possible, is it possible to create
Cluster/Multi processor system with the 2 CPU and run
the same LLVM program on both CPU?

LLVA is not currently possible, but from the sounds of it, you don't need it. I think LLVM is what you want.

As far as whether LLVM can run the same bytecode on two different processors, the answer is: it depends.

If the original program is portable, then the same bytecode will work on both the XScale and the x86. This generally requires that the program not need to know pointer size or processor endianness.

If the original program is non-portable (e.g. it relies on the processor's endianness or pointer size), then the LLVM bytecode will not work on a machine with different characteristics.

For example, the echo command would be portable, but the telnet command would not be. The echo command does not use endianness or pointer size, but the telnet command does.

LLVM bytecode is not like Java bytecode: it does not give you automatic portability. Portability is up to the application and programming language.

Thank you
Best regards.

----- End forwarded message -----

Please email llvmdev@cs.uiuc.edu if you have any further questions or anything here is unclear.

Regards,

-- John T.

Is the source code for llva available esp the linux kernel port.
Is there a project page for llva ?

Mike

Mike Emmel wrote:

Is the source code for llva available esp the linux kernel port.
Is there a project page for llva ?

The source code for Rob's vector work is available as a CVS branch of the LLVM source code. Please see http://lists.cs.uiuc.edu/pipermail/llvmdev/2005-October/004890.html if you're interested in getting a copy.

The code for the LLVA-OS extensions (and the LLVA-OS Linux port) are not publicly available at this time. Some of the LLVA-OS extensions may find their way into LLVM in the future. As for the LLVA-OS Linux port, we may release that at some point, but I can't make any promises about it at the moment.

The LLVA work doesn't have its own web page, currently. However, if you're interested, there is a paper on LLVA on the LLVM publication page (http://llvm.cs.uiuc.edu/pubs/2003-10-01-LLVA.html).

Sorry to disappoint.
:frowning:

-- John T.