Next | Prev | Up | Top | Contents | Index
C
For C, the respective compiler systems are similar to their Fortran counterparts. The front ends, of course, are different in each system. Also, cpp functionality was included in the C front end (cfe).
C 32-Bit System
The 32-bit (ucode) C compiler systems contain the following components:
- cc
- C driver: Executes the appropriate components below.
- acpp
- ANSI C preprocessor: Handles #include statements and other cpp constructs such as #define, #ifdef, and so on, in the source file.
- cfe
- C front end: Preprocesses the C file, and then parses the source file into intermediate code (ucode).
- ccom_mp
- C front end for Power C: Interprets parallel directives (K & R version).
- accom_mp
- C front end for Power C: Interprets parallel directives (ANSI version).
- copt
- C scalar optimizer: Performs scalar optimization.
- pca
- Power C analyzer: Automatically parallelizes C source code and performs scalar optimizations. Available with the Power C product.
- uopt
- Optimizer: Performs optimizations on the intermediate file.
- ugen
- Code Generator: Generates binary assembly code from the intermediate file.
- as1
- Binary assembler: Assembles the binasm code into an object file.
- ld
- Linker: Links the object file(s) with any libraries.
When you run simple examples through the ucode C compiler, the following components are executed by the compiler driver:
%cc -32 foo.c
cfe --> ugen --> as1 --> ld
Note: cfe has a built-in C preprocessor.
The command
%cc -32 -O foo.c
cfe --> uopt --> ugen --> as1 --> ld
also invokes the ucode optimizer, uopt.
The command
%cc -32 -sopt foo.c
acpp --> copt --> cfe --> ugen --> as1 --> ld
invokes the scalar optimizer but does not invoke the ucode optimizer.
The C preprocessor has to be run before copt can do its source-to-source translation:
%cc -32 -mp foo.c
acpp --> accom_mp --> ugen --> as1 --> ld
-mp signals accom_mp to recognize inserted parallelization directives.
The command
%cc -32 -pca foo.c
acpp --> pca --> accom_mp --> ugen --> as1 --> ld
invokes the Power C accelerator to convert programs to parallel code automatically.
C 64-Bit and N32 System
The MIPSpro (64-bit) C compiler systems contain the following components:
- cc
- C driver: Executes the appropriate components below.
- acpp
- ANSI C preprocessor: Handles #include statements and other cpp constructs such as #define, #ifdef, and so on, in the source file.
- copt
- C scalar optimizer: Performs scalar optimization.
- pca
- Power C analyzer: Automatically parallelizes C source code and performs scalar optimizations. Available with the Power C product.
- mpc
- Interpreter: Interprets parallel directives.
- fec
- C front end: Preprocesses the C file, and then parses the source file into an intermediate representation.
- be
- Back end: Generates code and assembles it into an object file.
- ld
- Linker: Links the object file(s) with any libraries.
When you run simple examples through the 64-bit C compilers, the following components are executed by the compiler driver:
%cc -64 foo.c
%cc -64 -O foo.c
fec --> be --> ld64
%cc -64 -sopt foo.c
acpp --> copt --> fec --> be --> ld64
%cc -64 -mp foo.c
acpp --> mpc --> fec --> be --> ld64
%cc -64 -pca foo.f
acpp --> pca --> mpc --> fec --> be --> ld64
Next | Prev | Up | Top | Contents | Index