------- Comment #9 from malitzke at metronets dot com 2007-06-17 18:01 ------- Thank you for your very informative post.
What we have between us is really a philosophical difference. To me C is a portable assembler and my extensive review of Ritchie's writings and acceptance speech for the Turing award leads me to believe that the correct code generation under absolute control of the programmer was paramount. Even the portability issue came much later at Bell Labs. That was when to my reckoning Ritche handed over C to the PCC (portable C compiler) crowd using LEX YACC etc. Yes, to me there is profound truth in "Optimize, don't". Instead look for a better algorithm. And, as as an engineer a soldering iron and a screwdriver (a better CPU and support chips like the Cell processor) are among the best optimization tools. FORTRAN was actually my first high level language and my first significant FORTRAN (formula translation) ran on the day President Kennedy was murdered, and the computer center closed. I worked on systems with triple computer redundancy and and majority voting. Boy, would I have loved a Ritchie type C compiler. One of my best accomplishments was cutting the interrupt line and and making that central office telephone exchange into scanning system and handle the contractual specified 95000 calls per hour instead of 67000. It lso made me the best hated guy in that development lab and led to a very profitable job change. Yes, I consider JAVA an abomination, I still harbor a remnant of respect for SUN because of the NFS (network file system). When Dr. hc. William Gates admitted that C++ set back Microsoft two years; it my made not only my day but my whole month. His genius is in motivating nerds to work 12-16 hours a day producing lousy code and not as progamer (somebody else wrote a vital part of the BASIC interpreter). C with classes is fantastic to somebody whose thesis contained a discrete event simulation package written in FORTRAN and assembly. Microsoft and Academia reduced C++ to the recent quip "When your tool is C++, the world is reduced to thumbs" (half-assed quote). K&R second program "Fahrenheit-Celsius" uses integers and not floating point. Based on that and knowing that existed no decent FORTRAN compilers on the early UNIX machines I take it that floating point was more a political necessity than a technical requirement. I would love to eliminate floating point from C and use fortran-95 for my numerical solutions of stiff partial differential equations. Now your first four paragraphs and my previous comment realy express the same thing, but from different perspective. Let me quote "great because it makes GCC more transparent and comprehensible" What I meant with this is that GCC now has one more leg built on sound principle instead of a (perheaps jumble of ad-hoc stuff. This in creases my confidence the addresses generated point to the right object. This put you as the lead guy into the same league as Diego Novillo, Sebastian Pop, Palo Carlini, Zdenek Dvorak I had the priviledge of helping in a small way. In my book this a big step up from bug-man. To system houses, chip manufacturers, gcc collegues obsessed with optimization you had to stress the speed-up. I want assurance that the code generated produces the right result, even if it makes the compiled bigger and the code generated for small arrays a tad slower. To me POINTER_PLUS affects code throughout the compiler collection and not just some instruction on some architecture. I am quite willing to write you a glowing recommendations should you think it appropriate. That we rub each other at times the wrong way is unfortunate bu no really relevant. Proof that you are doing great, from my perspective, Is that when I checked the Changelog after svn I searched and found your technical write-up, understood that this good stuff and immediately did a a bootstrap. It certainly produced no discernable degradation which is great no a new fundamental step. Altivec and SSE really produce benefits in a relatively small corner of the overal picture, They are, again in my book, part of their architectures more for competive reason than producing fundamental improvements. However changes to the config tree and to code generation to me far outweigh the benefits overall. But it seems imppossible to quarantine them. I have to admit that DFA really rubs me the wrong way for C. Finally, there exists huge, to me bloated, file called cc1. This is the C compiler and not GCC. Again I admit that I really only care about cc2 and f951, I tolerate cc1plus, and the rest have no place on my machines, I own those machines and aunder the GNU and UNIX philosophy that is up to me. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32314