Sun Studio 12: C++ User's Guide

2.4.6 Understanding the Compiler Organization

The C++ compiler package consists of a front end, optimizer, code generator, assembler, template prelinker, and link editor. The CC command invokes each of these components automatically unless you use command-line options to specify otherwise.

Because any of these components may generate an error, and the components perform different tasks, it may be helpful to identify the component that generates an error. Use the -v and -dryrun options to help with this.

As shown in the following table, input files to the various compiler components have different file name suffixes. The suffix establishes the kind of compilation that is done. Refer to Table 2–1 for the meanings of the file suffixes.

Table 2–2 Components of the C++ Compilation System

Component 

Description  

Notes on Use  

ccfe

Front end (compiler preprocessor and compiler) 

 

iropt

SPARC: Code optimizer 

-xO[2-5], -fast

ir2hf

x86: Intermediate language translator 

-xO[2-5], -fast

inline

SPARC: Inline expansion of assembly language templates 

.il file specified

ube_ipa

x86: Interprocedural analyzer 

-xcrossfile=1 with -xO4, -xO5, or -fast

fbe

Assembler 

 

cg

SPARC: Code generator, inliner, assembler 

 

ube

x86: Code generator 

-xO[2-5], -fast

CClink

Template pre-linker 

 

ld

Nonincremental link editor