Slashdot Mirror


GCC 4.0.0 Released

busfahrer writes "Version 4.0.0 of the GNU Compiler Collection has been released. You can read the changelog or you can download the source tarball. The new version finally features SSA for trees, allowing for a completely new optimization framework." The changelog is pretty lengthy, and there's updates for every language supported from Ada to Java in addition to the usual flavors of C.

22 of 680 comments (clear)

  1. Re:Is anyone else curious what SSA trees are? by Anonymous Coward · · Score: 1, Insightful

    Yes, I was curious what SSA trees are, so I clicked the link. I realize this is slashdot, but do try and overcome your fears and RTFA or just google it to find this paper on SSA. :)

  2. src tarball link? by codergeek42 · · Score: 2, Insightful

    Why didn't the poster just link to a list of mirrors? I don't want my favorite compiler's source to be unavailable =(

  3. Misplaced blame by tepples · · Score: 4, Insightful

    Did you not get pleasure out of things being errors in 3.0 that weren't even warnings in 2.95?

    At least the maintainers of the ISO C++ standard did.

    GCC motto: "What code can we break today?

    Blame the standards committee, not the GCC maintainers.

    1. Re:Misplaced blame by IntergalacticWalrus · · Score: 4, Insightful

      Your analogy is thoughtful but flawed. Unlike compilers, automobiles aren't built PRIOR to the solidification of their standards of manufacturing (yeah, thank God for that).

    2. Re:Misplaced blame by Alioth · · Score: 3, Insightful

      So basically the GCC developers are damned if they do, damned if they don't - if they fix their bugs to make their compiler ISO C++ compliant, they are whined at for following the standard, if they preserve the bugs, they are whined at for not following the standard!

      Personally, I prefer GCC to be standards compliant.

  4. Re:Moving fast by Anonymous Coward · · Score: 3, Insightful

    There are a hell of a lot more users that depend on GCC then the paltry Apple userbase.

    GCC is pretty much the standard for the industry.. there are faster, and more specialized, but GCC is the standard.

    Linux/Unix/BSD/etc, IBM, servers, clients, embedded platforms, all hosts of different computers.

    Hell if you just look at the embedded computers there are more of those then all the different desktop computers (Windows + *nix + Apple) put together.

  5. Re:debian by dhakbar · · Score: 5, Insightful

    I am curious why this AC's comment was modded troll. Is Debian's release cycle truly so slow that what appears to be an honest curiosity is modded as a troll?

  6. vectorization very rarely works by vlad_petric · · Score: 4, Insightful
    The main problem is the C language. While vectorizing a loop is generally not that difficult, figuring out if it's the right thing to do is extremely tough. To do that, you have to "prove" that iterations of a loop are independent of each other. This, in turn, requires good pointer alias analysis, and gcc isn't doing it well enough yet. BTW ... a language like Fortran, that doesn't have pointers at all, is much easier to vectorize; that's one of the reasons a lot of scientific codes are still in Fortran.

    Without automatic vectorization, the performance benefit of compiling for 686 as opposed to 386 is simply minimal. A lot of people have done benchmarks on this, and found out that tuning for 686 with gcc only provides 1-2% improvements in the best case. Keep in mind that current X86 processors execute instructions out-of-order, so instruction scheduling for a specific pipeline is not going to do much (it's very important for in-order machines, though)

    --

    The Raven

  7. Any bechmarks by DesiVideoGamer · · Score: 2, Insightful

    Does anybody have some informal performance benchmarks between 4.0.0 and the last version? (particularly the runtime of the application)

  8. Benchmarks comparing 3 to 4 available? by ivaldes3 · · Score: 2, Insightful

    Are there benchmarks comparing 3 to 4 available? What benefitw would the average user eventually expect from this release? Thanks!

    -- IV

    --
    http://www.LinuxMedNews.com Revolutionizing Medical Education and Practice.
  9. Re:stupid dumb moronic question by Analog+Squirrel · · Score: 2, Insightful

    As I understand it - and I'm sure someone will correct me when I'm wrong - gcc is actually a suite of language-specific "front ends" which reduces a given language to a common intermediate form that is then compiled(and linked, etc) by the "back end" into the executable code. In a way you already have different compilers... they're just all grouped together in one package.

    --
    I'd rather be flying
  10. Re:"Paltry" is probably a poor choice of words by 1lus10n · · Score: 4, Insightful

    You have no concept of numbers. Both Linux and mac are minor on the desktop but close to 50% of the backend of the internet is handled by unix or unix like systems (not including apple). The vast majority of which use gcc or some derivative.

    Unix and its children and cousins on the back and front end probably double the total number of apple boxes out there. If not more so. Hell some numbers suggest that there actually are more linux desktops than mac desktops. Even if its close between apple and linux on the desktop (which is likely) the number of nix systems in use in general at least matches the number on either side (though they are not desktops).

    --
    "Two things are infinite: the universe and human stupidity; and I'm not sure about the the universe." --Albert Einstein
  11. Re:"Paltry" is probably a poor choice of words by AHumbleOpinion · · Score: 2, Insightful

    You have no concept of numbers. Both Linux and mac are minor on the desktop but close to 50% of the backend of the internet is handled by unix or unix like systems (not including apple). The vast majority of which use gcc or some derivative.

    My concept of numbers is probably fine. Try this, desktops dwarf servers and such. So your 50% of a small number is not all that meaningful. ;-)

  12. Re:Why? by Sivar · · Score: 5, Insightful

    I know you were just poking fun but--

    Standards are the reason that computers are tolerable to use for any purpose.
    If a programmer can't be bothered to follow an international standard of his own language, there is no guarantee that the code is future-proof. One can hardly blame the compiler vendor, as we can't expect a compiler to mindlessly maintain backwards compatibility with every weird use of a bug and every bizarre code construct that has ever been supported in the past.

    The ability to compile code written for GCC in another compiler is a *good* thing. If it requires informing the programmer that their code has always been broken, then so be it. A little inconvenience is a small price to pay for standards compliance, or should we expect that the GCC authors "embrace and extend" C and other languages until so much code relies on weird GCC nuggets that programmers (and users) are "locked in" to using just that compiler? (But Douglas Adams forbid if Microsoft does the same thing!)

    Maybe I am missing something. If so, please enlighten me (This is not a sarcastic remark--I haven't done much research on what 4.0 has broken so I may be way out of line).

    Sheesh, for as hard as the GCC authors work, and for as much GCC has improved in the last 10 years, the contributers sure get a lot of flak. Anyone who doesn't contribute code themselves should be greatful (or at least appreciative) of their efforts, even when they do make mistakes.

    --
    Computer Science is no more about computers than astronomy is about telescopes. --E. W. Dijkstra
  13. Re:Moving fast by paulymer5 · · Score: 4, Insightful

    Absolutely.

    However, I was referring to the underutilization of Altivec in G4/G5 environments. Whereas SSA will be excellent across platforms, autovectorization will be especially significant on chipsets with powerful vector processors.

    Being able to optimize for this hardware, which is not as common or powerful in the x86 world, without much effort is indeed significant.

    I do not disagree with your assessment in the relative worth of SSA and vectorization, but I would simply like to clarify my post.

  14. MINGW? by Spy+der+Mann · · Score: 2, Insightful

    From what I've read, GCC 4 is blazingly fast, _AND_ provides dead code elimination (VERY important for windows users).

    So, any ideas of how long till the MINGW port is done?

  15. Re:Moving fast by garbletext · · Score: 2, Insightful
    I do not disagree with your assessment in the relative worth of SSA and vectorization, but I would simply like to clarify my post.
    If more people took the time to do things like this, slashdot would be a happier place. I commend you.
  16. Re:GCC 4.0's biggest winner is probably KDE by multipart · · Score: 2, Insightful

    Well, it's a shame then, that GCC 4.0 cannot even compile KDE. It miscompiles it.

  17. Re:GCC 4.0's biggest winner is probably KDE by Anonymous Coward · · Score: 1, Insightful

    Yeah, it's really too bad that you can't compile stuff on other distros. How do people survive?

  18. Re:"Paltry" is probably a poor choice of words by A+nonymous+Coward · · Score: 2, Insightful

    No. Being the largest single vendor is not the same as being larger than all other vendors combined. Apple may be larger than RedHat, and larger than Mandrake, and larger than Slackware, and larger than Debian, but that doesn't make Apple bigger than all of them combined.

  19. Re:"Paltry" is probably a poor choice of words by Lars+T. · · Score: 2, Insightful
    You have no concept of numbers. Both Linux and mac are minor on the desktop but close to 50% of the backend of the internet is handled by unix or unix like systems (not including apple).

    The backend of the internet compared to the number of desktop machines? Talk about having no concept of numbers.

    --

    Lars T.

    To the guy who modded me down from perfect to terrible Karma - Apple haters still suck

  20. Re:"Paltry" is probably a poor choice of words by jusdisgi · · Score: 2, Insightful

    Mac OS X itself is compiled with GCC 4. That was the point. Hence, all Mac users depend on GCC 4. That's 40 million and counting according to the latest figures.

    No, no, and no, jackass! Max OS X Tiger was compiled with gcc 4. Hence all Mac users do not depend on gcc 4. That is not 40 million and counting...it is currently zero. Give it a rest!

    --
    Given a choice between free speech and free beer, most people will take the beer.