going from gcc 4.0.1 to gcc 4.2

Hello LLVM-people,

I realize most of you have other things on their head now, with the 1.9 release coming up, but I'd like to ask some questions regarding the llvm-gcc frontend.

The current llvm-gcc4 frontend is based on GCC 4.0.1, as far as I can tell from the docs. I also understand that GCC 4.1.x will probably be skipped, to go to the upcoming GCC 4.2 release directly (which is only a few weeks away I think).

Will this happen before the 2.0 release of LLVM, or are other things more needed for the next (i.e. after 1.9) release? Can anyone give me an idea of how much work it would take to go from a 4.0.1 to 4.2 llvm-gcc?
I'm wondering because an llvm-gcc frontend based on GCC 4.2 would be very usefull for my (and probably other peoples) purposes.

Related to that, are there any plans to create a llvm-gfortran frontend from the gfortran compiler included in the GCC 4.x releases? I've seen some mails passing on that topic, but I recall the guy working on that being frustrated because the gfortran release in GCC 4.0.1 wasn't very usefull.

I'm willing to help where I can, but I'm not very experienced with software development. I am very interested in a Fortran frontend for LLVM though, because it would greatly improve the use of LLVM for me.

greetings,

Kenneth

Hi Kenneth,

Hello LLVM-people,

I realize most of you have other things on their head now, with the
1.9 release coming up, but I'd like to ask some questions regarding
the llvm-gcc frontend.

Okay.

The current llvm-gcc4 frontend is based on GCC 4.0.1, as far as I can
tell from the docs. I also understand that GCC 4.1.x will probably be
skipped, to go to the upcoming GCC 4.2 release directly (which is
only a few weeks away I think).

I can't answer that, its up to Apple. Chris might know. I do know that
the 4.1.x release will be skipped entirely. I suppose whether Apple uses
4.2 is a matter of how good 4.2 is. Currently it looks pretty disastrous
on scalability.

Will this happen before the 2.0 release of LLVM, or are other things
more needed for the next (i.e. after 1.9) release?

The two aren't really coupled that much. The change to a new llvm-gcc
baseline could happen either before 2.0 or after. Again, its somewhat up
to Apple and Chris.

Can anyone give me
an idea of how much work it would take to go from a 4.0.1 to 4.2 llvm-
gcc?

A lot, you want to wait for it :slight_smile:

I'm wondering because an llvm-gcc frontend based on GCC 4.2 would be
very usefull for my (and probably other peoples) purposes.

Only thing I can suggest is taking a delta of GCC 4.0.1 and GCC 4.2 and
try merging it into the latest llvm-gcc4. That should roughly give you
an idea of the amount of work involved. I doubt it would compile
immediately after merge (conflicts)

Related to that, are there any plans to create a llvm-gfortran
frontend from the gfortran compiler included in the GCC 4.x releases?

I don't know.

I've seen some mails passing on that topic, but I recall the guy
working on that being frustrated because the gfortran release in GCC
4.0.1 wasn't very usefull.

Yes, I think he bailed. Again, might be easier just to wait for next rev
of llvm-gcc as the amount of work needed to get gfortran going would be
less with a later 4.x release.

I'm willing to help where I can, but I'm not very experienced with
software development.

Documentation? Publicity? :slight_smile:

I am very interested in a Fortran frontend for
LLVM though, because it would greatly improve the use of LLVM for me.

It will come eventually. That's one of the reasons for basing the front
end on GCC. I think the only issue is that someone who wants it bad
enough hasn't shown up. Many llvm-gcc users don't care about Java,
Fortran, Ada, ... and so nothing gets done. However, the amount of work
necessary to get those languages working with LLVM is probably "not that
much" (say, compared to writing LLVM from scratch). :slight_smile:

greetings,

Kenneth

Others will chime in on this topic, I'm sure. Sorry for the vagueness.

Reid.

The current llvm-gcc4 frontend is based on GCC 4.0.1, as far as I can
tell from the docs. I also understand that GCC 4.1.x will probably be
skipped, to go to the upcoming GCC 4.2 release directly (which is
only a few weeks away I think).

I can't answer that, its up to Apple. Chris might know. I do know that
the 4.1.x release will be skipped entirely. I suppose whether Apple uses
4.2 is a matter of how good 4.2 is. Currently it looks pretty disastrous
on scalability.

We plan to eventually support it with LLVM, but don't have a timeframe right now. Of course, you don't have to wait for Apple to do something, if you want it done, you can make it happen :slight_smile:

Will this happen before the 2.0 release of LLVM, or are other things
more needed for the next (i.e. after 1.9) release?

The two aren't really coupled that much. The change to a new llvm-gcc
baseline could happen either before 2.0 or after. Again, its somewhat up
to Apple and Chris.

I see 2.0 as being a normal release, perhaps with a longer development cycle (6mo instead of 3). Since it is a major version number, I think we should take the opportunity to drop support for:

1. backwards compatibility with some really old .bc file formats.
2. llvmgcc3.

Other than that, I think it will be a normal release, which means that whatever is ready in time will go in, something that isn't ready in time will be just fine in 2.1.

Related to that, are there any plans to create a llvm-gfortran
frontend from the gfortran compiler included in the GCC 4.x releases?

I don't know.

When we do 4.2, I'd like to have fortran. However, it's not personally a big priority, so it depends on whether others contribute. Work on llvm-gcc 4.2 won't be a big secret, so I hope the community will be involved.

-Chris