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