[LLVMdev] [fwd] LLVA, TAO Intent, Morphun, DualCor

John Criswell criswell at cs.uiuc.edu
Fri Feb 3 09:36:05 PST 2006


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 at cs.uiuc.edu .

My apologies for the late reply.

> 
> ----- Forwarded message from N O S P A M <ti_dak at yahoo.com> -----
> 
> Date: Tue, 17 Jan 2006 09:47:32 -0800 (PST)
> From: N O S P A M <ti_dak at 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.
:)

> 
> 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 at cs.uiuc.edu if you have any further questions or 
anything here is unclear.

Regards,

-- John T.

-- 
John T. Criswell
Research Programmer
University of Illinois at Urbana-Champaign
"It's today!" said Piglet. "My favorite day," said Pooh.




More information about the llvm-dev mailing list