Source Layout

From Open64 Wiki

Jump to: navigation, search

Contents

Commonly Used Acronyms in Source

  • PU - Program Unit (function/procedure)
  • LNO - Loop Nest Optimiser
  • WOpt - Global Optimiser
  • IPA - Inter Procedural Analysis
  • DSO - Dynamic Shared Object
  • LRA - Local Register Allocation
  • GRA - Global Register Allocation
  • HB - Hyperblock
  • TN - Temporary Name
  • WN - WHIRL node descriptor
  • ST - Symbol Table
  • DRA - Distributed Reshape Array

libspin

Provides a number of wrapper functions as well as functionality for Linked lists, GCC Trees, memory management/pools and function/macro emulation to shadow that of GCC's.

  • gspin-alloc.c
  • gspin-io.c
  • gspin-mempool.h
  • gspin-tree.h
  • gspin-alloc.h
  • gspin-io.h
  • gspin-tel.c
  • gspin-assert.c
  • gspin-list.c
  • gspin-tel.h
  • gspin-assert.h
  • gspin-list.h
  • gspin-test-driver.c
  • gspin-base-types.h
  • gspin-mempool.c
  • gspin-tree.c


osprey

Osprey is a project to replace the Open64 frontend (based on GCC 2.95) with that of the current GCC.

  • arith - The Arithmetic Constant Expression Evaluator for the Cray Frontend
  • be
    • be - Makefile suggests this builds the 32 bit host/target version of the code generator (see driver.cxx)
    • cg - Code Generator (Well documented). Contains lots of target specific information especially expr_* files
      • gra_mon - Builds GRA structures from flow graph
      • whirl2ops.cxx - Driver to control WHIRL -> CG -> OPs
    • com - Backend Common Functions
      • fb_whirl - Read feedback file and annotate WHIRL tree with frequency information
      • weak - GCC Run time linker 'weak symbols' fix
      • Whirl2Src - Interface to whirl2c/whirl2f can print WHIRL in source form
    • lno - Target specific stuff for the Loop Nest Optimiser
    • opt - Whirl Optimiser (WOpt)
    • prompf_anl - ProMpf Analysis File Generation which is the map used be whirl2c/whirl2f and by the Loop Nest Optimiser
    • region - Binary Region Generation for the PUs
    • VHO - Very High Optimiser
    • Whirl2c - Translation between the (Very) High Level WHIRL into C)
    • Whirl2f - Translation between the (Very) High Level WHIRL into Fortran)
  • clibroot - Cray Specifics?
  • common - Essential files for porting
    • targ_info - Target specifics
      • isa - Fundamental to new ports
      • proc - Fundamental to new ports
      • abi - Fundamental to new ports
  • crayf90
  • cygnus
  • dipa - Open Runtime Interprocedural Analysis. Also dumps runtime annotation sections into intermediate ELF file
  • driver - GCC Based driver
  • fake_ld
  • gorc - A directory created for the Google's Open Research Compiler containing frays
  • include - Common header files
  • init
  • instrumentation
    • libinstr - Used to store frequency counts during run of an instrumented program unit (inserted into WHIRL code)
  • ipa - Interprocedural Analysis & Optimisiation
  • ir_tools - WHIRL file manipulators
  • kgccfe - Frontend (essentially a rip of GCC to convert to WHIRL files
  • kg++fe - Frontend (essentially a rip of G++ to convert to WHIRL files
  • libcif - a library of "Compiler Information File"
  • libcmplrs
  • libcsup
  • libdwarf
  • libelf
  • libelfutil
  • libf
  • libF77
  • libf90
  • libfi
  • libfortran
  • libI77
  • libiberty - a collection of subroutines used by various GNU programs.
  • libkapi
  • libm - a library of mathmatics functions, including following functions:
    • sin, asin
    • cos, acos
    • tan, atan
    • log, log10
    • sqrt
    • exp
    • cis
    • fmod
    • drem
    • cabs
    • intel/asm (mathmatics arithmetic implemented in x86 ASM)
      • ceil
      • abs
      • floor
      • log
      • sqrt
      • trunc
    • mpis
  • libopenmp
  • libu
  • libU77
  • libunwind
  • linux - Collection of files used when Open64's predecessor was ported to Linux.
  • Makefile
  • Makefile.cross
  • Makefile.gsetup
  • targcygnus_ia32_ia64
  • targcygnus_ia32_mips32
  • targcygnus_ia32_sl1
  • targcygnus_ia32_x8664
  • targcygnus_ia64_ia64
  • targcygnus_x8664_x8664
  • targia32_builtonia32
  • targia32_ia64_nodebug
  • targia32_mips32
  • targia32_nvisa
  • targia32_sl1
  • targia32_x8664
  • targia64
  • targia64_ia64_nodebug
  • targx8664_builtonia32
  • targx8664_x8664
  • tools
  • wgen - WHIRL generation/Frontend
    • wgen_stmt - Translate GNU STMT trees to WHIRL
    • wgen_spin_symbol - Translate GNU DECL trees to symtab references
    • wgen_misc
    • wgen_decl - Translate DECL trees to WHIRL
    • wgen_expr - GNU Expression trees to WHIRL
    • wgen_dst - Extracts from EDG Frontend Intermediate Representation, the information for the backend to generate DWARF sections
    • varasm - Ripped from GCC contains Output types, declarations for variables, consts and externals
    • main - Main Driver for wgen driver. Performs Spin to WHIRL via libspin
    • c_int_model - C Data type models/C integer model support

osprey-gcc

Seems to be a stock GCC with mentions of Pathscale's Ekopath compiler

osprey-gcc-4.2.0

As before, but with the addition of the decnumber library.

Personal tools