Open64-5.0
From Open64 Wiki
Major Changes in the Open64 5.0 Release
Frontend/infrastructure/tool changes:
o Added configure options to allow disabling of IPA or shared library support.
o Added support for VCG graphs for procedure CFGs.
o Addressed various C standard compliant problems related to "volatile".
o Improved debugging by allowing the allocation of stack space for unused variables during -g
compilation.
o Added triaging support for field sensitive alias analysis.
o Implemented ZDL (Zero-Delay-Loop) feature for DSP.
o Extended intrinsic support for IA64.
New/improved optimizations:
o Enabled more if-conversion.
o Enabled CFLOW optimization within EH regions.
o Avoided creating unnecessary region exit blocks.
o Extended proactive loop optimizations.
o Added inlining support for field sensitive alias analysis.
o Implemented multi-target function pointer inlining.
o Improved -O3 floating point performance.
o Added frame-pointer optimization.
o Improved optimization for structures:
- avoided unnecessary structure copies;
- added copy-in/copy-out optimization.
o Improved vectorization:
- introduced an object-oriented framework for SIMD expressions;
- more vectoriable operators;
- loops with small trip count;
- reduced vectorization overhead;
- eliminated unnecessary remainder loops;
- if statement vectorization;
- code motion of vectorizable loop to innermost position.
o Improved optimization for C++ programs:
- multi-target icall promotion;
- devirtualization with overridden map.
Code generation/architecture support:
o Improved SIB (Scaled-Index-Base) addressing mode code generation. o Improved support and code generation for SSE 4.x, AVX, and FMA instructions. o Improved register pressure based scheduling. o Added interior pointer optimization. o Improve padding and code alignment of basic blocks. o Implemented best fit loop unrolling algorithm. o Added comprehensive support and tuning for the Bulldozer processor.
Special Note
The following two features are now officially deprecated:
1. gcc 3.x frontend support 2. IRIX support
They will no longer be supported after this release.