summaryrefslogtreecommitdiffstats
path: root/contrib/gcc/ONEWS
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/gcc/ONEWS')
-rw-r--r--contrib/gcc/ONEWS98
1 files changed, 7 insertions, 91 deletions
diff --git a/contrib/gcc/ONEWS b/contrib/gcc/ONEWS
index 4d4b54b..f4b3581 100644
--- a/contrib/gcc/ONEWS
+++ b/contrib/gcc/ONEWS
@@ -1,112 +1,28 @@
This file contains information about GCC releases up to GCC 2.8.1, and
-some information about EGCS releases. For more details of changes in
-EGCS releases, and details of changes in GCC 2.95 and more recent
-releases, see the release notes on the GCC web site and the file NEWS
-which contains the most relevant parts of those release notes in text
-form.
+a tiny bit of information on EGCS.
-Noteworthy changes in GCC for EGCS 1.1.
----------------------------------------
-
-The compiler now implements global common subexpression elimination (gcse) as
-well as global constant/copy propagation. (link to gcse page).
-
-More major improvements have been made to the alias analysis code. A new
-option to allow front-ends to provide alias information to the optimizers
-has also been added (-fstrict-aliasing). -fstrict-aliasing is off by default
-now, but will be enabled by default in the future. (link to alias page)
-
-Major changes continue in the exception handling support. This release
-includes some changes to reduce static overhead for exception handling. It
-also includes some major changes to the setjmp/longjmp based EH mechanism to
-make it less pessimistic. And finally, major infrastructure improvements
-to the dwarf2 EH mechanism have been made to make our EH support extensible.
-
-We have fixed the infamous security problems with temporary files.
-
-The "regmove" optimization pass has been nearly completely rewritten. It now
-uses much more information about the target to determine profitability of
-transformations.
+For details of changes in EGCS releases and GCC 2.95 and later releases,
+see the release notes on the GCC web site or the file NEWS which contains
+the most relevant parts of those release notes in text form.
-The compiler now recomputes register usage information immediately before
-register allocation. Previously such information was only not kept up to
-date after instruction combination which led to poor register allocation
-choices by our priority based register allocator.
-
-The register reloading phase of the compiler has been improved to better
-optimize spill code. This primarily helps targets which generate lots of
-spills (like the x86 ports and many register poor embedded ports).
-
-A few changes in the heuristics used by the register allocator and scheduler
-have been made which can significantly improve performance for certain
-applications.
-
-The compiler's branch shortening algorithms have been significantly improved
-to work better on targets which align jump targets.
+Changes in GCC for EGCS (that are not listed in the web release notes)
+---------------------------------------------------------------------
The compiler now supports the "ADDRESSOF" optimization which can significantly
reduce the overhead for certain inline calls (and inline calls in general).
-The compiler now supports a code size optimization switch (-Os). When enabled
-the compiler will prefer optimizations which improve code size over those
-which improve code speed.
-
-The compiler has been improved to completely eliminate library calls which
-compute constant values. This is particularly useful on machines which
-do not have integer mul/div or floating point support on-chip.
-
-GCC now supports a "--help" option to print detailed help information.
-
-cpplib has been greatly improved. It is probably usable for some sites now
-(major missing feature is trigraphs).
-
-Memory footprint for the compiler has been significantly reduced for certain
-pathalogical cases.
-
-Build time improvements for targets which support lots of sched parameters
-(alpha and mips primarily).
-
Compile time for certain programs using large constant initializers has been
improved (affects glibc significantly).
-Plus an incredible number of infrastructure changes, warning fixes, bugfixes
-and local optimizations.
-
Various improvements have been made to better support cross compilations. They
are still not easy, but they are improving.
-Target specific NEWS
-
- Sparc: Now includes V8 plus and V9 support, lots of tuning for Ultrasparcs
- and uses the Haifa scheduler by default.
-
- Alpha: EV6 tuned, optimized expansion of memcpy/bzero.
-
- x86: Data in the static store is aligned per Intel recommendations. Jump
- targets are aligned per Intel recommendations. Improved epilogue
- sequences for Pentium chips. Backend improvements which should help
- register allocation on all x86 variants. Support for PPro conditional
- move instructions has been fixed and enabled. Random changes
- throughout the port to make generated code more Pentium friendly.
- Improved support for 64bit integer operations.
- Unixware 7, a System V Release 5 target is now supported.
- SCO OpenServer targets can support GAS. See gcc/INSTALL for details.
-
- RS6000/PowerPC: Includes AIX4.3 support as well as PowerPC64 support.
- Haifa instruction scheduling is enabled by default now.
-
- MIPS: Multiply/Multiply-Add support has been largely rewritten to generate
- more efficient code. Includes mips16 support.
-
- M68K: Various micro-optimizations and Coldfire fixes.
+Target-specific changes:
M32r: Major improvements to this port.
Arm: Includes Thumb and super interworking support.
-EGCS includes all gcc2 changes up to and including the June 9, 1998 snapshot.
-
-
Noteworthy changes in GCC version 2.8.1
---------------------------------------
OpenPOWER on IntegriCloud