Subversion Repositories Open64

[/] [trunk/] [README] - Diff between revs 926 and 1540

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 926 Rev 1540
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