----------------------------------------------- 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 Generate code for the architecture specified. +DS 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) +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 +O3 optimizations. Also apply interprocedural optimizations across all files of the program. +Oaggressive Apply aggressive optimizations which include scheduling on procedure entry and exit code, replacing standard library calls with inlined code sequences, no auto-initialization of uninitialized local scalar non-static variables, and scheduling beyond basic block boundaries. +Oall Apply all optimizations that would be enabled by specifying +O4, +Oaggressive, and +Onolimit on the same command line. Detailed options countermanding components of +Oall override that component. +Ocachepadcommon Pad common blocks to avoid cache collisions. +Odataprefetch Generate data prefetch instructions for data structures referenced within innermost loops. +Oentrysched Perform instruction scheduling on a subprogram's entry and exit sequences. +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. +O[no]fltacc Disable [enable] optimizations that cause imprecise floating-point results. +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. +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. +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. +Ostaticprediction Enable static branch prediction. +O[no]vectorize Replace eligible loops with calls to the vector library. +Owhole_program_mode Hold global variables in registers longer and delete inlined or cloned global procedures. -Wl,+FPD Enable sudden underflow (flush to zero) of denormalized values. -Wl,-a,archive Link with archive format libraries rather than shared. ------------------------------- 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 vps_ceiling Maximum System-Selected Page Size (in Kbytes) vps_pagesize Default user page size (in Kbytes)