| 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
|
|