OpenAD Front Ends
F90 front end

The major portion for the Fortran90 front end come from the Open64 compiler in the version that is under development at Rice University. It creates an internal representation known as 'whirl' which is written into a file.  The following components are used by OpenAD:
  1. mfef90: the Fortran90 front end which produces output in 'whirl' format
  2. whirl2f: unparse code given in 'whirl' format back into Fortran90. This requires a module for whirl specific types called
 w2f__types.f

The translation from whirl to XAIF is done by OpenADFortTk (OpenAD Fortran Tookit). It provides several tools:
  1. 'whirl2xaif':
    • translation from whirl to XAIF
    • implements OpenAnalysis interfaces and passes analyses results on via XAIF
  2. 'xaif2whirl':
    • translation of the modified XAIF to whirl
  3. 'pp.pl': a Perl post processor which handles:
    • access to components of the active type
    • replacement of code fragments in subroutine template
    • inlining
C front end

For the C/C++ side the entire pipeline is encapsulated in single binary. While the C/C++ tool incarnation shares components with OpenAD its development is a separate effort and it was decided to retain for it the name "ADIC" which goes back to the previous generation of tools. Please visit the ADIC trac page or contact Boyana Norris and Krishna Narayanan for further information.