46Chapter3 • Compilers and Assemblers
3.1.2New Features in GCC 3.x
There are many new features in GNU compiler starting with version 3.0. Some of these
are discussed below briefly. In addition to that, version 3.0.x also includes many fixes for bugs
present in 2.x versions.
3.1.2.1Optimization Improvements
A major improvement in this version is new optimization features. Some of these features
greatly improve compile and run-time performance. Important features are listed below.
•Basic block reordering pass is now optimized. In some cases, it improves performance
by eliminating a JMP instruction in assembly code. An explanation can be found at
http://www.gnu.org/software/gcc/news/reorder.html.
•A new register-renaming pass is included.
•Static Single Assignment or SSA is introduced in GCC. A dead code elimination pass
is included in new versions of GCC to improve optimization.
•A global Null pointer elimination test elimination pass is included. Information about
this enhancement can be found at http://www.gnu.org/software/gcc/news/null.html.
•New optimizations for
stdio
.h,
string.h
and old BSD functions are added.
3.1.2.2Support of new Languages
Support of Java is now added through GCJ compiler. It includes a run-time library having
non-GUI Java classes.
3.1.2.3Language Improvements
There are some improvements in the support of different languages and these are listed
below.
•New C++ support library is added. Details are available at http://www.gnu.org/
software/gcc/libstdc++/.
•A new inliner is added that significantly reduces both memory utilization as well as
compile time. Details are present at http://www.gnu.org/software/gcc/news/
inlining.html.
•The C preprocessor is rewritten with many improvements. Details are available at http:/
/www.gnu.org/software/gcc/news/dependencies.html.
•More warning messages and a new warning option are added.
•There are many improvements in Fortran language support area and these are listed on
http://gcc.gnu.org/onlinedocs/g77_news.html.
•There are other improvements that are not listed here. Go to the GCC home page at
http://gcc.gnu.org/ for a complete list.
Next Page >>
<< Previous Page
Back to the Table of Contents