home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 22 gnu / 22-gnu.zip / pgccgcc.zip / emx / doc.new / NEWS.gcc < prev    next >
Text File  |  1999-03-06  |  4KB  |  82 lines

  1. Noteworthy changes in GCC for EGCS 1.1.
  2. ---------------------------------------
  3.  
  4. The compiler now implements global common subexpression elimination (gcse) as
  5. well as global constant/copy propagation.  (link to gcse page).
  6.  
  7. More major improvements have been made to the alias analysis code.  A new
  8. option to allow front-ends to provide alias information to the optimizers
  9. has also been added (-fstrict-aliasing).  -fstrict-aliasing is off by default
  10. now, but will be enabled by default in the future. (link to alias page)
  11.  
  12. Major changes continue in the exception handling support.  This release
  13. includes some changes to reduce static overhead for exception handling.  It
  14. also includes some major changes to the setjmp/longjmp based EH mechanism to
  15. make it less pessimistic.  And finally, major infrastructure improvements
  16. to the dwarf2 EH mechanism have been made to make our EH support extensible.
  17.  
  18. We have fixed the infamous security problems with temporary files. 
  19.  
  20. The "regmove" optimization pass has been nearly completely rewritten.  It now
  21. uses much more information about the target to determine profitability of
  22. transformations.
  23.  
  24. The compiler now recomputes register usage information immediately before
  25. register allocation.  Previously such information was only not kept up to
  26. date after instruction combination which led to poor register allocation
  27. choices by our priority based register allocator.
  28.  
  29. The register reloading phase of the compiler has been improved to better
  30. optimize spill code.  This primarily helps targets which generate lots of
  31. spills (like the x86 ports and many register poor embedded ports).
  32.  
  33. A few changes in the heuristics used by the register allocator and scheduler
  34. have been made which can significantly improve performance for certain
  35. applications.
  36.  
  37. The compiler's branch shortening algorithms have been significantly improved
  38. to work better on targets which align jump targets.
  39.  
  40. The compiler now supports the "ADDRESSOF" optimization which can significantly
  41. reduce the overhead for certain inline calls (and inline calls in general).
  42.  
  43. The compiler now supports a code size optimization switch (-Os).  When enabled
  44. the compiler will prefer optimizations which improve code size over those
  45. which improve code speed.
  46.  
  47. The compiler has been improved to completely eliminate library calls which
  48. compute constant values.  This is particularly useful on machines which
  49. do not have integer mul/div or floating point support on-chip.
  50.  
  51. GCC now supports a "--help" option to print detailed help information.
  52.  
  53. cpplib has been greatly improved.  It is probably useable for some sites now
  54. (major missing feature is trigraphs).
  55.  
  56. Memory footprint for the compiler has been significantly reduced for certain
  57. pathalogical cases.
  58.  
  59. Build time improvements for targets which support lots of sched parameters
  60. (alpha and mips primarily).
  61.  
  62. Compile time for certain programs using large constant initializers has been
  63. improved (effects glibc significantly).
  64.  
  65. Plus an incredible number of infrastructure changes, warning fixes, bugfixes
  66. and local optimizations.
  67.  
  68. Various improvements have been made to better support cross compilations.  They
  69. are still not easy, but they are improving.
  70.  
  71. Target specific NEWS
  72.  
  73.     x86: Data in the static store is aligned per Intel recommendations.  Jump
  74.          targets are aligned per Intel recommendations.  Improved epilogue
  75.          sequences for Pentium chips.  Backend improvements which should help
  76.          register allocation on all x86 variants.  Support for PPro conditional
  77.          move instructions has been fixed and enabled.  Random changes
  78.      throughout the port to make generated code more Pentium friendly.
  79.          Improved support for 64bit integer operations.
  80.  
  81. EGCS includes all gcc2 changes up to and including the June 9, 1998 snapshot.
  82.