Subversion Repositories Open64

[/] [trunk/] [RELEASE-4.2] - Diff between revs 1540 and 1950

Show entire file | Details | Blame | View Log

Rev 1540 Rev 1950
Line 1... Line 1...
Open64 Compiler Version 4.2 Release Notes
Open64 Compiler Version 4.2 Release Notes
 
 
 
 
                May 20, 2008
                Sep 30, 2008
 
 
 
 
1. Overview
1. Overview
2. New Features
 
  2.1 Front End New Features
2. Features
  2.2 Back End New Features
  2.1 Front End Features
 
  2.2 Back End Features
 
 
3. The Packages of the Compiler Suite
3. The Packages of the Compiler Suite
 
 
4. Installing the Compiler Suite
4. Installing the Compiler Suite
  4.1 Install from bz2 Package
  4.1 Install from bz2 Package
  4.2 Install from RPM packages
  4.2 Install from RPM packages
 
 
5. Build the compiler Suite - directly from source
5. Build the compiler Suite - directly from source
  4.1 Prerequisites
  5.1 Prerequisites
  4.2 Build Steps
  5.2 Build Steps
  4.3 Build FORTRAN Front-End
  5.3 Build FORTRAN Front-End
  4.4 Some Notes on Build
  5.4 Build the archives
 
  5.5 Some Notes on Build
 
 
6. Bug Reporting
6. Bug Reporting
 
 
7. Known Problems, Limitation and Some Notes
7. Known Problems, Limitation and Some Notes
8. Credits
 
 
8. Acknowledgements
 
 
 
 
1. Overview
1. Overview
=============
=============
 
 
 
 Open64 is an open source, optimizing compiler for multiple architectures.
 
 Open64 supports Fortran 77/95/2003 and C/C++, as well as the shared memory
 
 programming model OpenMP. Open64 derives from the SGI compilers for the MIPS
 
 called MIPSPro. It was released under the GNU GPL in 2000. The initial release
 
 of Open64 only supports Intel IA-64(Itanium). Now it has been extended to
 
 generate code for CISC, RISC, VLIW architectures, including x86, MIPS, IA-64
 
 and others.
 
 
 The objective of the Osprey project is to bring the Open64 compiler
 The objective of the Osprey project is to bring the Open64 compiler
 to that of a production quality compiler and catch up with the GCC/G++
 to that of a production quality compiler and catch up with the GCC/G++
 features evolution. In this release, we enabled GCC 4.2 based FE and
 features evolution. This release was merged with PathScale 3.2 release.
 integrated many bug fixes by leveraging Pathscale's effort. Also we
 Thanks to this PathScale release, GCC 4.2 based FE is enabled and works
 enhanced the scalability, capability and correctness of IPA. The source
 for IA64 also. We improved the performance, integrated many bug fixes
 code of the latest release and all previous archives can be found in
 by leveraging efforts from PathScale, NVIDIA and SimpLight. We also
 the subversion tree and it is readily available for researchers and
 enhanced the scalability, capability and correctness of IPA.
 developers to join the development and incrementally check in changes.
 It is worth noting that several new code generators and programming
 The website for that is
 system are integrated into this release, including CUDA from NVIDIA,
 
 SL (a 32-bit multi-threaded architecture for embedded systems and DSP
 
 in telecommunications) from SimpLight, MIPS (prototype) from ICT with
 
 input from both PathScale and SimpLight.
 
 
 
 The source code of the latest release and all previous archives can be
 
 found in the subversion tree and it is readily available for researchers
 
 and developers to join the development and incrementally check in changes.
 
 
 
 The website for that is
 http://www.open64.net/
 http://www.open64.net/
 
 
 The release consists of two kinds of packages: a suite of pre-built
 The release consists of two kinds of packages: a suite of pre-built
 compiler binaries including C, C++, F95 and related archives, and
 compiler binaries including C, C++, F95 and related archives, and
 a suite of corresponding compiler source codes. The pre-built compilers
 a suite of corresponding compiler source codes. The pre-built compilers
 are built using a self-build bootstrap process. They are provided both in
 are built using a self-build bootstrap process. They are provided both in
 .bz2 and RPM packages.
 .bz2 and RPM packages. These files can be downloaded from sourceforge.net:
 
 http://sourceforge.net/project/showfiles.php?group_id=34861
 
 
 After this release, we will continue to update the GCC/G++ front end to
 After this release, we will continue to update the GCC/G++ front end to the
 the latest version, improve the quality and scalability. Another important
 latest version, improve the quality and scalability. Another important
 focus after this release is further performance improvement in the HPC area.
 focus after this release is further performance improvement to follow the
 Besides this, Open64 based static analyzer are highly expected.
 latest CPU and architecture evolution, especially for the multicore. Besides
 Open64 has joined Google Sumer of Code 2008. You can find more interesting
 this, Open64 based static analysis tool, runtime optimization framework,
 project based on Open64 at
 security checking tool are highly expected.
 
 
 http://www.open64.net/events/gsoc08.html
 
 
 
 We are looking forward for collaboration from the open source community
 We are looking forward for collaboration from the open source community
 for this effort. The SVN source control and Bugzilla system are built up
 for this effort. The SVN source control and Bugzilla system are built up
 to facilitate this. Our check-in testing will be continuously improved
 to facilitate this. Our check-in testing will be continuously improved
 to achieve the "check-in early and check-in fast with little to no impact
 to achieve the "check-in early and check-in fast with little to no impact
 to overall quality" development environment.
 to overall quality" development environment.
 
 
 For a more detailed description of our kernel boot workarounds and
 For a more detailed description of the quality and performance of the compiler,
 procedure, our performance comparison numbers, please send mail to
 please visit Open64 website:
 
 http://www.open64.net
 http://sourceforge.net/projects/open64.
 
 
 
 
 
2. New Features
2. Features
 
=============
2.1 Front End New Features
 
 
 
 
2.1 Front End Features
-------------------
-------------------
 
 
 
 Open64 C/C++ Front End is based on GNU C/C++ Compiler (GCC). The C/C++ Front
 
 End provides the compatibility with GCC from 3.x to latest 4.x. Open64 FORTRAN
 
 Front End is based on CRAY-FORTRAN, which supports FORTRAN 77/95/2003 and CRAY
 
 extensions.
 
 
 In this release, we enabled the GCC 4.2.0 based FE to get better compatibility
 In this release, we enabled the GCC 4.2.0 based FE to get better compatibility
 with the latest GCC revision. Several bugs in previous GCC 3.3.1 and 4.0.2
 with the latest GCC revision. Several bugs in previous GCC 3.3.1 and 4.0.2
 based FE are also fixed.
 based FE are also fixed.
 
 
 Now the compiler contains three different GCC based front-ends:
 Now the compiler contains three different GCC based front-ends:
 
  o. GCC 3.3.1 based FE
 o: GCC 3.3.1 based FE
 
 
 
    Provides the compatibility with GCC 3.x
    Provides the compatibility with GCC 3.x
 
 
 o: GCC 4.0.2 based FE
  o. GCC 4.0.2 based FE
 
 
    Provides the compatibility with GCC 4.0.x
    Provides the compatibility with GCC 4.0.x
 
 
 o: GCC 4.2.0 based FE
  o. GCC 4.2.0 based FE
 
 
    Provides the compatibility with GCC 4.1.x and above
    Provides the compatibility with GCC 4.1.x and above
 
 
 The right FE will be chosen automatically based on the version of the GCC
 The right FE will be chosen automatically based on the version of the GCC
 on the host. The command line options: '-gnu3', '-gnu40' and '-gnu42', can
 on the host. The command line options: '-gnu3', '-gnu40' and '-gnu42', can
 be used to designate the FE explicitly.
 be used to designate the FE explicitly.
 
 
2.2 Back End New Features
 We also improve the conformance of the FORTRAN Front End for new FORTRAN
 
 2003 features:
 
  o. Using 'intent' and 'pointer' attributes together
 
  o. 'volatile' attribute and declaration
 
 
 
2.2 Back End Features
-------------------
-------------------
 
 
 
 Open64 Back End contains several optimizers and code generator.
 
  o. Interprocedural Analyzer and Optimizer (IPA)
 
  o. Loop Nest Optimizer (LNO)
 
  o. Global Optimizer (WOPT)
 
 
 
 The Code Generator (CG) can generate code for several targets, including
 
 IA-64, IA-32 and x86_64 and others.
 
 
  In this release, we reduced the memory footprint of IPA to get better
  In this release, we reduced the memory footprint of IPA to get better
  scalability to enable building large application with IPA. Also, we enhanced
 scalability to enable building large C++ application with IPA. Also, we enhanced
  the IPA to handle mixed archives which may contains both WHIRL IR files
  the IPA to handle mixed archives which may contains both WHIRL IR files
  and object files. Several bugs to build shared libraries (.so) with IPA are
  and object files. Several bugs to build shared libraries (.so) with IPA are
  also fixed.
 also fixed. Besides IPA, Some bugs in LNO, WOPT and CG are fixed.
  Besides IPA, Some bugs in LNO, WOPT and CG are fixed. For more information,
 
  please visit the Open64 Bugzilla:
 
 
 
  http://bugs.open64.net
 We also introduced several performance improvements in BE.
 
  o. Better loop vectorization and loop factorization from PathScale
 
  o. New dead store elimination (DSE) algorithm from SimpLight
 
  o. Improved prefetch efficiency for ix86 and x86_64 from PathScale
 
  o. Improved instruction scheduling for ix86 and x86_64 from PathScale
 
  o. Better tuning for both AMD and Intel new multicore CPU from PathScale
 
 
 
 Several new targets were also supported in this release besides IA-64, x86
 
 and x86_64:
 
  o. SL (an embedded DSP architecture) code generation from SimpLight
 
  o. CUDA code generation from NVIDIA
 
  o. A MIPS code generation prototype from ICT based on input from PathScale
 
     and SimpLight
 
 
3. The Packages of the Compiler Suite
 
 
 
======================================
3. The Packages of the Compiler Suite
 
=============
 
 
 This compiler is available in both binary and source-code form for
 This compiler is available in both binary and source-code form for
 different target machines.
 different target machines.
 
 
 o: open64-4.2-0.src.tar.bz2
 o. open64-4.2-0.src.tar.bz2
 
 
   This package contains the compiler's source code. It's machine independent.
   This package contains the compiler's source code. It's machine independent.
 
 
 o:open64-4.2-0.ia64.tar.bz2
 o. open64-4.2-0.ia64.tar.bz2
 
 
   This package contains all the binary code for ia64 machine including
   This package contains all the binary code for ia64 machine including
   pre-built library. The compiler is built on an Itanium2 based system with
   pre-built library. The compiler is built on an Itanium2 based system with
   kernel 2.6.9 and glibc 2.3.4. The OS is RHEL4 on IA64. The GCC version
   kernel 2.6.18 and glibc 2.5. The OS is RHEL5 on IA64. The GCC version
   is 3.4.5. The compiler is built twice for releasing. The first stage
   is 4.1.1. The compiler is built twice for releasing. The first stage
   is built by open64 4.1 at '-O2', then we use the compiler built in the
   is built by open64 4.1 at '-O2', then we use the compiler built in the
   first stage to build the release compiler at '-O2'. The libraries are built
   first stage to build the release compiler at '-O2'. The libraries are built
   by the release compiler.
   by the release compiler.
 
 
 o:open64-4.2-0.i386.tar.bz2, open64-4.2-0.x86_64.tar.bz2
 o. open64-4.2-0.i386.tar.bz2, open64-4.2-0.x86_64.tar.bz2
 
 
   These two packages are the same; contain all the binary code for i386 and
   These two packages are the same; contain all the binary code for i386 and
   x86_64 machines. The compiler is built on an IA32 based system with
   x86_64 machines. The compiler is built on an IA32 based system with
   kernel 2.6.9 and glibc 2.3.4. The OS is RHEL4 on IA32. The compiler is
   kernel 2.6.18 and glibc 2.5. The OS is RHEL5 on IA32. The compiler is
   built twice for releasing. The first stage is built by Open64 4.1 at '-O2',
   built twice for releasing. The first stage is built by Open64 4.1 at '-O2',
   then we use the compiler built in the first stage to build the release
   then we use the compiler built in the first stage to build the release
   compiler at '-O2'. The 64-bit and 32-bit libraries are built on the same
   compiler at '-O2'. The 32-bit libraries are built on the same
   system by the Open64 compiler itself.
   system by this compiler.
 
   The 64-bit libraries are built on an RHEL5 x86_84 system by this compiler.
 o:open64-4.2-0.i386.rpm, open64-4.2-0.x86_64.rpm, open64-4.2-0.ia64.rpm
 
 
 
 
 o. open64-4.2-0.i386.rpm, open64-4.2-0.x86_64.rpm, open64-4.2-0.ia64.rpm
   These three packages are binaries rpm for different targets. The binaries
   These three packages are binaries rpm for different targets. The binaries
   are the same in both bz2 and rpm packages. It's easier to install the
   are the same in both bz2 and rpm packages. It's easier to install the
   compiler from the rpm.
   compiler from the rpm.
 
 
4. Installing the Compiler Suite
4. Installing the Compiler Suite
 
=============
=================================
 
 
 
4.1 Install from bz2 Package
4.1 Install from bz2 Package
 
 
-------------------
-------------------
 
 
 Before installing the compiler, the environment variable $TOOLROOT
 Before installing the compiler, the environment variable $TOOLROOT
 should be set properly. As the name suggests, this variable specifies
 should be set properly. As the name suggests, this variable specifies
 the root of the installation hierarchy. You can set it to anywhere
 the root of the installation hierarchy. You can set it to anywhere
Line 171... Line 211...
 
 
 The C, C++, FORTRAN compilers are now available in folder
 The C, C++, FORTRAN compilers are now available in folder
 $TOOLROOT/bin. They are opencc, openCC, openf90 respectively.
 $TOOLROOT/bin. They are opencc, openCC, openf90 respectively.
 
 
4.2 Install from RPM Package
4.2 Install from RPM Package
 
 
-------------------
-------------------
 
 
 To install the compiler from rpm:
 To install the compiler from rpm:
 
 
 $ rpm -ivh open64-4.2-0.ia64.rpm
 $ rpm -ivh open64-4.2-0.ia64.rpm
 
 
 This command will install the Open64 compiler to /opt/open64. The C, C++,
 This command will install the Open64 compiler to /opt/open64. The C, C++,
 FORTRAN compilers are in folder /opt/open64/bin.
 FORTRAN compilers are in folder /opt/open64/bin.
 
 
 To install the compiler to another location:
 To install the compiler to another location:
 
 
 $ rpm --prefix=/path/to/folder -ivh open64-4.2-0.ia64.rpm
 $ rpm --prefix=/path/to/folder -ivh open64-4.2-0.ia64.rpm
 
 
 Then the compiler will be installed to /path/to/folder
 Then the compiler will be installed to /path/to/folder
 
 
5. Build the compiler Suite - directly from source
5. Build the compiler Suite - directly from source
 
=============
====================================================
 
 
 
 If you choose to build the compiler suite from the source tar ball,
 If you choose to build the compiler suite from the source tar ball,
 follow the steps outlined below.
 follow the steps outlined below.
 
 
 
 
5.1 Prerequisites
5.1 Prerequisites
 
 
-------------------
-------------------
 
 
 In order to compile Open64 successfully, your system should meet the
 In order to compile Open64 successfully, your system should meet the
 following requirements:
 following requirements:
 
 
Line 212... Line 249...
   to make some minor changes to the source code.
   to make some minor changes to the source code.
 
 
 o. Miscellaneous Tools
 o. Miscellaneous Tools
 
 
   To build the open64 compiler from source, these tools are needed:
   To build the open64 compiler from source, these tools are needed:
 
 
   awk, csh, bash, gmake, flex and bison
   awk, csh, bash, gmake, flex and bison
   On some Ubuntu distributions, you need to change the symbol link '/bin/sh'
 
   to '/bin/bash' to make the shell scripts work.
   On some Ubuntu distributions, you need to set the environment variable
 
   'SHELL' to '/bin/bash' or change the symbol link '/bin/sh' to '/bin/bash'
 
   to make the shell scripts work.
 
 
 o. GNU Compiler Collection
 o. GNU Compiler Collection
 
 
   Currently, GCC 3.3.x through 4.1.x are supported. GCC 4.1.x is preferred.
   Currently, GCC 3.3.x through 4.1.x are supported. GCC 4.1.x is preferred.
 
 
 o. An open64 binary for building the FORTRAN Front End
 o. An open64 binary for building the FORTRAN Front End
 
 
   You can just download the Open64 binary for system and install it to
   You can just download the Open64 binary for system and install it to
   some place and make sure that openf90 is in your PATH before building
   some place and make sure that openf90 is in your PATH before building
   the FORTRAN front end.
   the FORTRAN Front End.
 
 
5.2 Build Steps
   Intel Fortran Compiler (on IA64/IA-32/x86_64) or PathScale Fortran Compiler
 
   (on IA-32/x86_64) can also be used to build the FORTRAN Front End.
 
 
 
5.2 Build Steps
-------------------
-------------------
 
 
  Follow these steps to build the compiler:
  Follow these steps to build the compiler:
 
 
 Step 1. Expand the source tarball
 Step 1. Expand the source tarball
Line 255... Line 297...
 
 
   The default FORTRAN compiler in source code is openf90. If the openf90 is
   The default FORTRAN compiler in source code is openf90. If the openf90 is
   not in the PATH, the FORTRAN front end will not be built. During the
   not in the PATH, the FORTRAN front end will not be built. During the
   installation, the pre-built version will be picked up. Then, we can use
   installation, the pre-built version will be picked up. Then, we can use
   it to build the FORTRAN front end again.
   it to build the FORTRAN front end again.
 
 
   Developers may find this command handy in building individual component,
   Developers may find this command handy in building individual component,
   say wopt.so:
   say wopt.so:
 
 
     make BUILD_OPTIMIZE=DEBUG wopt.so
     make BUILD_OPTIMIZE=DEBUG wopt.so
 
 
Line 268... Line 311...
 
 
 step 4. Call 'make install' or 'install_compiler.sh' to install
 step 4. Call 'make install' or 'install_compiler.sh' to install
  all compiler components and archives.
  all compiler components and archives.
  If $TOOLROOT is set, the compiler will be installed to that folder.
  If $TOOLROOT is set, the compiler will be installed to that folder.
  Otherwise, a path will be prompted.
  Otherwise, a path will be prompted.
 
 
  The C, C++, FORTRAN compilers are now available in folder
  The C, C++, FORTRAN compilers are now available in folder
 
 
  $TOOLROOT/bin/
  $TOOLROOT/bin/
 
 
  They are opencc, openCC, openf90 respectively.
  They are opencc, openCC, openf90 respectively.
 
 
5.3.Build FORTRAN Front-End
  People interested in building the compiler for CUDA or SL should contact
 
  NVIDIA or SimpLight directly.
 
 
-------------------------------
 
 
5.3 Build FORTRAN Front-End
 
-------------------
 
 
 The FORTRAN front-end executable is provided in both binary and source
 The FORTRAN front-end executable is provided in both binary and source
 packages. Normally, you need *NOT* to build it by yourself. If you are
 packages. Normally, you need *NOT* to build it by yourself. If you are
 going to build one, make sure that an Openf90 is already in your $PATH
 going to build one, make sure that an Openf90 is already in your $PATH
 (you need to download a binary form and install it somewhere).
 (you need to download a binary form and install it somewhere).
 
 
 Then just type:
 Then just type:
 
 
   make mfef95.
   make mfef95.
 
 
 The Makefile will use a pre-hand openf90 to build the new mfef95 for you.
 The Makefile will use a pre-hand openf90 to build the new mfef95 for you.
 
 
5.4 Some Notes on Build
5.4 Build the archives
 
-------------------
 
 
 
  The archives required by Open64 are provided in both binary and source
 
  packages. Normally, you need *NOT* to build it by yourself. These libraries
 
  can be built by Open64. Add $TOOLROOT/bin into your $PATH and type:
 
 
 
   make BUILD_COMPILER=OSP lib
 
 
--------------------------
  Then, you can follow the step 3 and step 4 in section 5.2 to install these
 
  archives.
 
 
 
5.5 Some Notes on Build
 
-------------------
 
 
 o. The compiler is built with flag '-Werror' which treats warnings as error.
 o. The compiler is built with flag '-Werror' which treats warnings as error.
  If the build process terminates due to warnings, you can get around this
  If the build process terminates due to warnings, you can get around this
  with:
  with:
 
 
      make ... ERROR_ON_WARNINGS="" ...
      make ... ERROR_ON_WARNINGS="" ...
 
 
  i.e. simply repeat the make process with ERROR_ON_WARNINGS="".
  i.e. simply repeat the make process with ERROR_ON_WARNINGS="".
 
 
 o. GNU Make utility version 3.81 is shipped with many of the latest Linux
 
  distributions. Building the compiler suite with it may cause some weird
 
  complaints pertaining to dependent files don't exist (they are actually
 
  there). You can ignore those complaints, and repeat the make command to
 
  continue.
 
 
 
6. Bug Reporting
6. Bug Reporting
 
=============
==================
 
 
 
   You are WELCOME to report bugs. The bugs tracked at
   You are WELCOME to report bugs. The bugs tracked at
 
 
   http://bugs.open64.net
   http://bugs.open64.net/.
 
 
   Bug reports should include these items in order to be reproduced:
   Bug reports should include these items in order to be reproduced:
 
 
 o. The compiler release version;
 o. The compiler release version;
 
 
Line 328... Line 381...
   is minimized);
   is minimized);
 
 
 o. The correct output of the test file.
 o. The correct output of the test file.
 
 
7. Known Problems, Limitation and Some Notes
7. Known Problems, Limitation and Some Notes
 
=============
 
 
==============================================
 o. Currently, we built the compiler *ONLY* on Linux/IA64, x86_64, i386.
 
 
 o. Due to limited resources, the archives shipped with this compiler may
 
  not be built successfully from the source.  'make library' may not work
 
  correctly.
 
 
 
 o. Currently, we build the compiler *ONLY* on Linux/IA64, x86_64, i386.
 
  'make cross' is supposed to be used to build the cross compiler on
  'make cross' is supposed to be used to build the cross compiler on
  Linux/IA32 systems targeting IA64. However, we have not tested this
  Linux/IA32 systems targeting IA64. However, we have not tested this
  thoroughly.
  thoroughly.
 
 
 o. On x86_64, Open64 can be built in either 32-bit or 64-bit. We find
 o. On x86_64, Open64 can be built in either 32-bit or 64-bit. We find
  several bugs in building 32-bit applications by 64-bit compiler. All
  several bugs in building 32-bit applications by 64-bit compiler. All
  executables in Open64 4.2 binary release on x86_64 are 32-bit. These bugs
  executables in Open64 4.2 binary release on x86_64 are 32-bit. These bugs
  will be fixed in the next release.
  will be fixed in the next release.
 
 
 
 o. Auto-Parallel Optimization (enabled by '-apo') has been implemented in the
 
  compiler. But now it does not work. We will fix this problem in the next
 
  release.
 
 
 o. The perlbench benchmark in CPU2006 suite may not run successfully without
 o. The perlbench benchmark in CPU2006 suite may not run successfully without
  some changes to its source code. It is *NOT* an Open64 bug. The problem is
  some changes to its source code on IA-64. It is *NOT* an Open64 bug.
  with the perlbench benchmark itself. Please check the bug-81
  The problem is with the perlbench benchmark itself. Please check the bug-81
  (https://bugs.open64.net/) for details. This problem can be solved by
  (https://bugs.open64.net/) for details. This problem can be solved by
  deleting following lines from file spec_config.h (of perlbench benchmark):
  deleting following lines from file spec_config.h (of perlbench benchmark):
 
 
     1172 #undef HASATTRIBUTE
     1172 #undef HASATTRIBUTE
     1173 #ifndef HASATTRIBUTE
     1173 #ifndef HASATTRIBUTE
     1174 #define __attribute__(_arg_)
     1174 #define __attribute__(_arg_)
     1175 #endif
     1175 #endif
 
 
 o. PBO option is not support very well in this release. See the Bugzilla
 
  or detail bug information about IPA and Feedback. Please feel free to
 
  report PBO related bugs to the Bugzilla.
 
 
 
 o. A full list of known bugs can be found in our bug database. You can visit
 o. A full list of known bugs can be found in our bug database. You can visit
 
 
  http://bugs.open64.net
  http://bugs.open64.net
 
 
  to view them.
  to view them.
 
 
 
 
8. Credits
8. Acknowledgements
 
=============
============
 
 
 
   This project is led by Shin-Ming Liu at HP Inc. It is the result of
   This project is led by Shin-Ming Liu at HP Inc. It is the result of
 partnership between Tsinghua University, Institute of Computing
 partnership between these academies and companies:
 Technology at the Chinese Academy of Science, CAPSL research laboratory
  o. Tsinghua University
 at the University of Delaware, Hewlett-Packard Inc, and Google Inc.
  o. CAPSL research laboratory at the University of Delaware
 
  o. NVIDIA Inc.
   We upgrade the GCC front end in Open64 by leveraging Pathscale's effort.
  o. SimpLight Nanoelectronics Inc.
 We also get a lot of suggestions, bug fixes and enhancements from Fred Chow
  o. Hewlett-Packard Inc.
 and others in Pathscale Inc. Their help is greatly appreciated. We'd also
  o. Institute of Computing Technology (ICT) at the Chinese Academy of Science
 like to acknowledge the contributions of Sun Chan at SimpLight Nanoelectronics.
 
 
 We upgraded the GCC front end in Open64 by leveraging PathScale's effort.
 
 We also got a lot of suggestions, bug fixes, especially the performance
 
 enhancements from Fred Chow and others in PathScale Inc. Their help is
 
 greatly appreciated.
 
 
   Thanks all of the Pro64 developers, the ORC developers and ORC/Open64 users.
   Thanks all of the Pro64 developers, the ORC developers and ORC/Open64 users.
 
 In this release, Cui Huimin at ICT did the prototype of MIPS retarget based on
 
 input from PathScale and SimpLight.
 
 
   The following individuals also contributed a lot to our previous releases:
   The following individuals also contributed a lot to our previous releases:
   o. Paul Yuan at Peking University
   o. Paul Yuan at Peking University
 
 
 
 
Your Open64 Team