why doesn't llvm transfer bytecode to RTL form? I mean the cross-platform compile in GCC. Could LLVM do that? maybe tree-ssa also create the representation with a testual format if needed. is it very difficalt? I want to know. BWT: if we port pthread library to llvm, what do we consider at first? yueqiang 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 > > >
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 -- http://llvm.cs.uiuc.edu/ http://www.nondot.org/~sabre/Projects/
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. Chris Lattner wrote:>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 > > >