Sun Studio 12: C User's Guide

A.1.1 Optimization and Performance Options

Table A–1 Optimization and Performance Options Table

Option  

Action  

-fast

Selects the optimum combination of compilation options for speed of executable code.

-fma

(SPARC) Enables automatic generation of floating-point, fused, multiply-add instructions. 

-p

Prepares the object code to collect data for profiling

-xalias_level

(SPARC) Enables the compiler to perform type-based alias analysis and optimizations.

-xbinopt

Prepares the binary for later optimizations, transformations and analysis.

-xbuiltin

Improve the optimization of code that calls standard library functions.

-xcrossfile

Enables optimization and inlining across source files.

-xdepend

(SPARC) Analyzes loops for inter-iteration data dependencies and does loop restructuring.

-xF

Enables reordering of data and functions by the linker.

-xhwcprof

(SPARC) Enables compiler support for hardware counter-based profiling.

-xinline

Tries to inline only those functions specified.

-xinstrument

Compiles and instruments your program for analysis by the Thread Analyzer. 

-xipo

(SPARC) Performs whole-program optimizations by invoking an interprocedural analysis component.

-xipo_archive

Allows crossfile optimization to include archive (.a) libraries.

-xjobs

Sets how many processes the compiler creates.

-xlibmil

Inlines some library routines for faster execution.

-xlic_lib=sunperf

Links in the Sun-supplied performance libraries.

-xlinkopt

Performs link-time optimizations on relocatable object files.

-xlibmopt

Enable library of optimized math routines.

-xmaxopt

This command limits the level of pragma opt to the level specified.

-xnolibmil

Does not inline math library routines.

-xnolibmopt

Do not enable library of optimized math routines.

-x0

Optimizes the object code.

-xnorunpath

Prevents inclusion of a run-time search-path for shared libraries in the executable. 

-xpagesize

Sets the preferred page size for the stack and the heap.

-xpagesize_stack

Sets the preferred page size for the stack.

-xpagesize_heap

Sets the preferred page size for the heap.

-xpch

Reduces compile time for applications whose source files share a common set of include files.

-xpchstop

Can be used in conjunction with -xpch to specify the last include file of the viable prefix.

-xpentium

(x86) Optimizes for the PentiumTM processor.

-xprefetch

(SPARC) Enable prefetch instructions.

-xprefetch_level

(SPARC) Control the aggressiveness of automatic insertion of prefetch instructions as set by -xprefetch=auto

-xprefetch_auto_type

(SPARC) Controls how indirect prefetches are generated.

-xprofile

Collects data for a profile or uses a profile to optimize.

-xprofile_ircache

Improves compilation time of -xprofile=use phase by reusing compilation data saved from the -xprofile=collect phase

-xprofile_pathmap

Support for multiple programs or shared libraries in a single profile directory.

-xrestrict

(SPARC) Treats pointer-valued function parameters as restricted pointers.

-xsafe

(SPARC) Allows the compiler to assume no memory-based traps occur.

-xspace

Does no optimizations or parallelization of loops that increase code size.

-xunroll

Suggests to the optimizer to unroll loops n times.