| Line 1... |
Line 1... |
|
README
|
|
-----------------------------------------------------------------------
|
|
|
|
The Open64 compiler suite includes optimizing compilers and runtime
|
|
support for C, C++ and FORTRAN 77/90/95. These compilers produce code
|
|
that follows the corresponding ABI on IA-32/Linux, x86_64/Linux and
|
|
IA-64/Linux and be compatible with the latest GCC revesion. This means
|
|
that objects produced by the Open64 compilers can link with objects
|
|
produced by other ABI compliant compilers.
|
|
|
|
The latest information and updates for the Open64 compilers will
|
|
eventually be found at http://www.open64.net. The latest code in
|
|
development can be obtained via SVN at http://svn.open64.net.
|
|
The downloadable packages of sources or binaries can be found at
|
|
http://www.sf.net/projects/open64.
|
|
|
The SGI Pro64(TM) compiler suite includes optimizing compilers
|
Please send problem reports to the mailing list described to the
|
and runtime support for C, C++, and Fortran90. These compilers
|
BugZilla system at https://bugs.open64.net
|
produce code that follows the Linux/IA-64 ABI. This means that
|
|
objects produced by the SGI compilers can link with objects
|
|
produced by other Linux/IA-64 compliant compilers such
|
|
as RedHat/Cygnus gcc and g++.
|
|
|
|
The latest information and updates for the Pro64 compilers will
|
|
eventually be found at http://oss.sgi.com/projects/Pro64. The rpm
|
|
included in this distribution represents a work in progress.
|
|
|
|
Please send problem reports to the mailing list described on
|
|
the SGI OSS Pro64 web site.
|
|
|
|
Language highlights:
|
Language highlights:
|
|
|
C compatible with gcc
|
C compatible with gcc, with gcc extensions
|
C++ compatible g++
|
C++ compatible g++, with g++ extensions
|
Fortran90 with Fortran95 extensions
|
FORTRAN 77/90/95 support
|
|
|
Optimization highlights:
|
Optimization highlights:
|
|
|
Software pipelining:
|
Platform-independent optimizations:
|
|
Code Motion
|
At the -O2 and -O3 optimization levels the
|
|
compilers will use the IA-64 software pipelining instructions.
|
|
At the -O3 level a more powerful data dependence analysis will
|
|
be performed.
|
|
|
|
|
|
Interprocedural analysis and optimization
|
|
|
|
When -ipa is used on the command line, the compiler performs
|
|
interprocedural analysis and optimization.
|
|
|
|
|
|
Scalar Optimizations:
|
|
|
|
A partial list of optimizations performed include
|
|
|
|
Code motion
|
|
Constant propagation
|
Constant propagation
|
Dead code elimination
|
Dead code elimination
|
Expression simplification
|
Expression simplification
|
Common subexpression elimination
|
Common subexpression elimination
|
Strength reduction
|
Strength reduction
|
|
Partial redundency elimination
|
|
Loop optimizations, enabled at '-O3'
|
|
Interprocedural analysis and optimization, enabled with '-ipa'
|
|
|
|
Platform-dependent optimizations:
|
|
Software pipelining on IA-64
|
|
Control and Data speculation on IA-64
|
|
Integrated instruction scheduling with resource management
|
|
|
Upcoming features
|
Other features
|
|
|
Exception handling for C++
|
OpenMP support in C/C++/Fortran
|
OpenMP support in Fortran90
|
|
OpenMP support in C and C++
|
Upcoming features
|
|
Advanced data prefetch
|
|
New alias analysis framework
|
|
New interprocedural analysis and optimization framework
|
More optimizations
|
More optimizations
|
|
|
|
|
Installation Information
|
Installation Information
|
|
|
Untar the tar file that you downloaded from the ftp site:
|
The Open64 compiler is available in both binary and source-code form
|
|
on IA32/x86_64/IA-64. For more details about how to install compiler from
|
% cd installation_directory
|
binary package or source, please refer HOWTO-INSTALL-OPEN64 and the
|
% gunzip pro64-0.01.0-13-sources.tar.gz
|
RELEASE.
|
% tar xvf pro64-0.01.0-13-sources.tar
|
|
|
|
The pro64 compilers assume to be operating under an NUE
|
|
environment. Information about NUE can be found at:
|
|
|
|
http://www.software.hp.com/ia64linux
|
|
|
|
You need to install the pro64 rpm from the nue environment.
|
|
Note that the nue command will put you under your home
|
|
directory in NUE, which may not be your regular home
|
|
directory. You should move the pro64 rpm and osprey
|
|
source tree to a directory that is accessible under NUE.
|
|
|
|
To install the pro64 rpm do the following:
|
|
|
|
%su
|
|
#nue
|
|
#rpm -i --force --nodeps pro64-0.01.0-13.ia64.rpm
|
|
|
|
The --nodeps flag is needed because the installation
|
|
under NUE only sees files installed under NUE. It does
|
|
not see the files installed from the NUE rpm.
|
|
|
|
|
|
You can verify your installation by doing a simple
|
|
hello world test under NUE:
|
|
|
|
%cat hello.c
|
|
#include <stdio.h>
|
|
|
|
main()
|
|
{
|
|
printf("hello world\n");
|
|
}
|
|
|
|
|
|
%sgicc hello.c
|
|
%./a.out
|
|
hello world
|
|
%
|
|
|
|
The README.src file provides information about building the
|
|
pro64 compilers and libraries from the kpro64 source tree.
|
|
The sgicc(1), sgiCC(1) and sgif90(1) man pages provide information
|
|
about the SGI C, C++ and Fortran90 compiler commands.
|
|
|
|
|
Your Open64 Team
|