[LLVMdev] GCC3.5 tree-ssa
Chris Lattner
sabre at nondot.org
Tue Dec 23 22:59:02 PST 2003
On Wed, 24 Dec 2003, Yueqiang wrote:
> Does LLVM called the pthread directly?
LLVM does not insert any calls to pthreads libraries. If the source code
for the program being compiled calls a pthread function, then LLVM will
compile it to call the specified function. If you call 'pthread_create'
in your program, for example, the LLVM bytecode file will contain an
external function call to pthread_create, which will require you to link
to the system pthreads library (or libc if it includes pthreads support).
> and what time do you plan to release Java front end?
There are no firm plans at this point, it is still under fairly early
development.
-Chris
> I'll try this.
>
> ----- Original Message -----
> From: "Chris Lattner" <sabre at nondot.org>
> To: "yue" <qiangyue at ict.ac.cn>
> Cc: <llvmdev at cs.uiuc.edu>
> Sent: Wednesday, December 24, 2003 12:47 PM
> Subject: Re: [LLVMdev] GCC3.5 tree-ssa
>
>
> > On Wed, 24 Dec 2003, yue wrote:
> >
> > > we work on distribute software development, most programs are wroten in
> > > java.
> > > but the running speed of that is slowly, it requires thread library to
> > > support, you know.
> >
> > I'm not sure exactly what you mean here. LLVM does not currently have a
> > Java front-end, though there is one in development. Thread support should
> > not be a problem, you can make pthreads calls just like you can with any
> > other compiler.
> >
> > I'm probably missing your point, can you restate it?
> >
> > -Chris
> >
> > > >On Wed, 24 Dec 2003, yue wrote:
> > > >
> > > >
> > > >
> > > >>why doesn't llvm transfer bytecode to RTL form? I mean the
> > > >>cross-platform compile in GCC. Could LLVM do that?
> > > >>
> > > >>
> > > >
> > > >Sure, it would be a realtively straight-forward (but large and hard to get
> > > >right, if you're not a GCC expert), project to build an LLVM front-end for
> > > >GCC. This would allow you to effectively use LLVM as a mid-level
> > > >representation for GCC, and would allow you to use all of the GCC
> > > >back-ends with LLVM.
> > > >
> > > >However, note that LLVM already does have a C backend, which allows you to
> > > >interface the LLVM optimizer to GCC or any other platform compiler. This
> > > >effectively gives you most of the advantages of a real "RTL backend", with
> > > >the added advantage that we support the Intel, Sun, SGI, etc compilers as
> > > >well (at least in theory, we have only tried compiling the CBE output with
> > > >the GCC and Intel compilers). Also "C" is a very stable interface
> > > >language, where the RTL interfaces and APIs are constantly changing. The
> > > >one advantage an RTL backend would have over the C backend is speed of
> > > >compilation.
> > > >
> > > >
> > > >
> > > >>maybe tree-ssa also create the representation with a testual format if
> > > >>needed. is it very difficalt? I want to know.
> > > >>
> > > >>
> > > >
> > > >There are _very strong_ political reasons that will prevent this from
> > > >happening any time in the near future. I suggest that you ask on the GCC
> > > >list if you want more details. All tree-ssa supports are some debugging
> > > >dumps, which do not contain all of the information needed for compilation.
> > > >
> > > >
> > > >
> > > >>BWT: if we port pthread library to llvm, what do we consider at first?
> > > >>
> > > >>
> > > >
> > > >I'm not sure exactly what you mean. If it's written in C, you should be
> > > >able to just compile it with LLVM as you would any other program or
> > > >library. Have you run into a problem or bug?
> > > >
> > > >-Chris
> > > >
> > > >
> > > >
> > > >
> > > >>Chris Lattner wrote:
> > > >>
> > > >>
> > > >>
> > > >>>On Wed, 24 Dec 2003, yue wrote:
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>>>what difference is between gcc3.5 tree-ssa and llvm?
> > > >>>>
> > > >>>>
> > > >>>>
> > > >>>>
> > > >>>They are completely different projects. The short version is that LLVM is
> > > >>>more mature and stable than tree-ssa is, LLVM supports interprocedural and
> > > >>>runtime optimization, and LLVM has a well defined intermediate
> > > >>>representation with a textual format. On the other hand tree-ssa may be a
> > > >>>part of GCC 3.5 someday once it has stabilized and enough bugs have been
> > > >>>fixed. Oh, LLVM is written in C++ and tree-ssa is written in C.
> > > >>>
> > > >>>If there is something more specific you want to know, please ask. It's
> > > >>>very much the difference between apples and oranges.
> > > >>>
> > > >>>-Chris
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>
> > > >>
> > > >
> > > >-Chris
> > > >
> > > >
> > > >
> > >
> > >
> >
> > -Chris
> >
> > --
> > http://llvm.cs.uiuc.edu/
> > http://www.nondot.org/~sabre/Projects/
> >
> >
>
-Chris
--
http://llvm.cs.uiuc.edu/
http://www.nondot.org/~sabre/Projects/
More information about the llvm-dev
mailing list