-----------------------------------------------
Descriptions of options used by HP for CPU2000:
-----------------------------------------------

+A		Cause the linker ld(1) to use only archive libraries
		for all occurrences of the -l option.  Also inform the
		C++ run-time environment that no shared libraries will
		be used by the program.

-Ae		Enable ANSI compatibility mode with UNIX extensions.

+cat		Concatenate input source files.

-D		Set definition for preprocessor.

+DA<arch>	Generate code for the architecture specified.

+DS<arch>	Schedule code for the architecture specified.

+ESfic		Replace millicode calls with in-line code for 
		for indirect calls.

+ESlit		Put literals in read-only text space.

fastmem.o	Replacement for malloc/free that assumes ANSI compliant code.

+I/+P		Optimize/Instrument for profile based optimization.

-K		Use static storage for locals instead of stack storage. Same
		functionality as the +save option.  The default is +nosave.

Kernel Tunables (Listed separately)

+noeh		Disable exception handling.  Note that mixing objects
		compiled both with and without +noeh can have undesired
		results.  Object destruction, for example, will not be
		done for objects local to functions compiled with the
		+noeh option.

+O1		Perform optimizations within basic blocks only.

+O2		Perform +O1 optimizations.  In addition perform global
		optimizations at the procedure level.  (Same as -O.)

+O3		Perform +O2 optimizations as well as interprocedural global
		optimizations within a file (including inlining).

+O4		Perform level 3 as well as doing link time
		optimizations.  Also sends +Oprocelim and
		+Ofastaccess to the linker (see ld(1)).

+O[no]aggressive
		Apply [do not apply] aggressive optimizations; that is, new
		optimizations and the optimizations invoked by the following
		option settings:

		    +Oentrysched
		    +Onofltacc
		    +Onoinitcheck
		    +Olibcalls
		    +Oregionsched
		    +Osignedpointers
		    +Ovectorize

		These optimizations can occur at levels 2, 3, and 4.  
		The default is +Onoaggressive.

+O[no]all	Apply [do not apply] all optimizations enabled by the
		+Oaggressive and +Onolimit options.  This option automatically
		invokes optimization level 4.  The default is +Onoall.

+Ocachepadcommon
		Pad common blocks to avoid cache collisions.

+O[no]cxlimitedrange
		Enable [disable] the use of floating point math in
		the compilation unit. The default is
		+Onocxlimitedrange.

+O[no]dataprefetch
		Generate data prefetch instructions for data structures
		referenced within innermost loops.

+Oentrysched	Perform instruction scheduling on a subprogram's entry and
		exit sequences.

+Ofast		Select a combination of compilation options for
		optimum execution speed at build times.
		Currently: +O2, +Olibcalls, +Onolimit,
		+Ofltacc=relaxed, +FPD.  In addition, the
		following options will be passed to the linker:
		+pi 4M +pd 4M +mergeseg

+O[no]fastaccess
		Enable [disable] fast access to global data items.

+fastallocatable
		Enables a different representation for allocatable
		arrays in the object code produced by the
		compiler.  This alternate representation avoids
		problems in optimizing code containing allocatable
		array references.  This alternate representation
		for allocatable arrays is binary compatible with
		the old representation.

+Ofaster        Selects the +Ofast option at optimization level +O3.

+O[no]fltacc	Disable [enable] floating-point optimizations that
		can result in numerical differences. +Ofltacc is
		the same as +Ofltacc=strict.  +Onofltacc is the
		same as +Ofltacc=relaxed.  +Onofltacc also
		generates Fused Multiply-Add (FMA) instructions,
		as does compiling your program at optimization
		level 2 or higher.  FMA instructions can improve
		performance of floating-point applications and are
		available only on PA-RISC 2.0 systems or later.

		If you do not specify either +Ofltacc or
		+Onofltacc at optimization level 2 or higher, the
		optimizer will generate FMA instructions but will
		not perform any expression-reordering
		optimizations.

+Ofltacc=[strict|default|limited|relaxed]
		Control the level of floating point optimizations
		that the compiler may perform.  The defined values
		for optlevel are:

		    default
		        Allow contractions, such as fused
		        multiply-add (FMA), but disallows any
		        other floating point optimization that
		        can result in numerical differences.

		    limited
		        Like default, but also allows floating
		        point optimizations which may affect the
		        generation and propagation of
		        infinities, NaNs, and the sign of zero.
		        Also implies +Ocxlimitedrange.

		    relaxed
		        In addition to the optimizations allowed
		        by limited, permits optimizations, such
		        as reordering of expressions, even if
		        parenthesized, that may affect a
		        rounding error. This is the same as
		        +Onofltacc.  Also implies
		        +Ocxlimitedrange.

		    strict
		        Disallow any floating point optimization
		        that can result in numerical
		        differences.  This is the same as
		        +Ofltacc.

		The default is +Ofltacc=default.

+O[no]inline    Request [disable] inlining.  This option can be
		used at optimization level 3 and higher.  The
		default is +Oinline.

+Oinline_budget=n
+Oinlinebudget=n
		The +Oinlinebudget option controls the
		aggressiveness of inlining.  n is an integer in
		the range 1 - 1000000 that specifies the level
		of aggressiveness as follows:
		                  n         Meaning
		                  = 100     Default level on inlining.
		                  > 100     More aggressive inlining.
		                  2 - 99    Less aggressive inlining.
		                  = 1       Only inline if it reduces code
		                            size.
		 This optimization can occur at optimization
		 levels 3, and 4.  The default is +Oinlinebudget=100.

+O[no]libcalls	Invoke [do not invoke] low call-overhead versions of
		select library routines.

+O[no]limit     Suppress [do not suppress] optimizations that
		significantly increase compile-time or consume
		enormous amounts of memory.  These optimizations
		can occur at levels 2, 3, and 4.  The default is +Olimit.

+O[no]loop_block
		Enable [disable] loopblocking for data cache optimizations.
		Available at optimization level 3 and above.

+O[no]loop_unroll
		Enable [disable] loop unrolling.

+Omultiprocessor
		Prevent instruction cache prefetching following subroutine 
		returns.  This can benefit some multithreaded applications.


+O[no]procelim  Remove [do not remove] any unreferenced procedures from
		the output executable file.

+O[no]promote_indirect_calls
		Enable [disable] the promotion of indirect calls
		to direct calls.  (Indirect calls occur with
		pointers to functions (and virtual calls for
		C++).) This option can be used at optimization
		levels 3 and 4.  The default is
		+Onopromote_indirect_calls.

+Optrs_strongly_typed 
		Assume that all pointers are type safe.

+O[no]ptrs_to_globals
		Optimize with assumption that global variables
		may [may not] be modified through pointers.

+Oregionsched	Perform scheduling across branches.


+O[no]signedpointers
		Enable [disable] the treating of pointers as signed
		quantities.  This optimization can occur at
		optimization levels 0, 1, 2, 3, and 4.  The default is
		+Onosignedpointers.

+Ostatic_prediction
		Enable static branch prediction.

+Ostaticprediction
		Alternate spelling of static_predicton.  (Preferred 
		spelling with underbar.)

+O[no]vectorize	Replace eligible loops with calls to the vector library.


+pd size        Request a particular virtual memory page size that
		should be used for data.  Sizes of 4K, 16K, 64K,
		256K, 1M, 4M, 16M, 64M, 256M, D, and L are
		supported.  A size of D allows the kernel to
		choose what page size should be used.  A size of L
		will result in using the largest page size
		available.  The actual page size may vary if the
		requested size cannot be fulfilled.

+pi size        Request a particular virtual memory page size that
		should be used for instructions.  See the +pd
		option for additional information.

+Owhole_program_mode
		Asserts [does not assert] that files compiled with this
		option directly reference only those global variables
		and procedures that are defined in these files. This
		optimization can occur at optimization level 4.  The
		default is +Onowhole_program_mode.

-Wl,+FPD	Enable sudden underflow (flush to zero) of denormalized 
		values.

-Wl,-a,archive	Link with archive format libraries rather than shared.

-Wl,-aarchive	Equivalent to -Wl,-a,archive.

-------------------------------
Descriptions of Kernel Tunables 
-------------------------------

dbc_max_pct     Maximum dynamic buffer cache size as a percent of system memory

dbc_min_pct     Minimum dynamic buffer cache size as a percent of system memory

maxdsiz         Maximum data size

maxdsiz_64bit   Maximum data size for 64 bit applications

maxssiz         Maximum stack size

maxssiz_64bit   Maximum stack size for 64 bit applications

tmplog          In tmplog mode, the intent log is almost always delayed.
		This improves performance, but recent changes may disappear
		if the system crashes.  This mode is only recommended for
		temporary file systems.

vps_ceiling     Maximum System-Selected Page Size (in Kbytes)

vps_pagesize    Default user page size (in Kbytes)